Implementace cloudového výpočtu prutových systémů metodou konečných prvků na JavaScriptovém stacku
Cloudová SPA aplikace na Node.js, Express.js, React.js, MobX a Three.js implementuje modelování prostorových prutových systémů podle Euler-Bernoulliho modelu. Řešení SLAÚ s řídkou maticí tuhosti se provádí iterační metodou sdružených gradientů. Diagramy sil v prutech jsou vizualizovány na GPU pomocí GLSL shaderů vertexShader a fragmentShader, což zajišťuje okamžité zobrazení polynomů 5. stupně v 3D prostoru.
Klientská část je adaptivní jednostránková aplikace s registrací, profilem pro soukromé modely, katalogem veřejných projektů a 3D oknem. Navigační panel a scéna na Three.js podporují práci na desktopech, tabletech a mobilních zařízeních.
Matematický základ: Euler-Bernoulliho model
Pro prut délky L s ohybovou tuhostí EJ_3 pod účinkem soustředěných sil F, momentů M, rozloženého zatížení q(x) = kx + q_0 a m(x) = rx + m_0 je rovnice ohybu v lokální souřadnicové soustavě (x1 — podélná osa, x2 — vertikální, x3 — příčná):
$$EJ_3 \dfrac{d^4v}{dx^4} = q(x) - \dfrac{dm}{dx}, \quad x\in[0,L]$$
Obecné řešení:
$$v(x)=\dfrac{kx^5}{120EJ_3}+\dfrac{(q_0-r)x^4}{24EJ_3}+a_4x^3+a_3x^2+a_2x+a_1$$
Okrajové podmínky v(0)=v^1, v'(0)=φ^1, v(L)=v^2, v'(L)=φ^2 určují koeficienty přes Hermitovy polynomy N_p^i:
$$v(x) = \dfrac{k}{EJ_3}(\dfrac{x^5}{120}-\dfrac{x^3L^2}{40}+\dfrac{x^2L^2}{60})+\dfrac{q_0-r}{EJ_3}(\dfrac{x^4}{24}-\dfrac{x^3L}{12}+\dfrac{x^2L^2}{24})+N_p^i\alpha_i^p$$
$$N_p^1\alpha_1^p=(2\dfrac{x^3}{L^3}-3\dfrac{x^2}{L^2}+1)v^1 + (-2\dfrac{x^3}{L^3}+3\dfrac{x^2}{L^2})v^2$$
$$N_p^2\alpha_2^p=(x^3/L^2-2x^2/L+x)φ^1 + (x^3/L^2-x^2/L)φ^2$$
Z variačních principů Lagrange vyplývá lokální SLAÚ:
$$K_{pq}^{ij}\alpha_j^q=F_p^i,\quad K_{pq}^{ij}=EJ_3 \int_0^L N_{p,11}^i N_{q,11}^j dx$$
$$F_p^i = \int_0^L [q(x) N_p^i + m(x) N_{p,1}^i] dx + f_p^i$$
Pro ohyb v rovině 0xy matice tuhosti:
$$\dfrac{EJ_3}{L^3}\begin{bmatrix} 12&6L&-12&6L\\ 6L&4L^2&-6L&2L^2\\-12&-6L&12&-6L\\6L&2L^2&-6L&4L^2\end{bmatrix} \left\lbrace \begin{matrix}v^1\\ \varphi^1\\v^2\\ \varphi^2 \end{matrix}\right\rbrace=\left\lbrace \begin{matrix} F_1\\M_1\\F_2\\M_2 \end{matrix}\right\rbrace$$
Přechod k globální souřadnicové soustavě
Lokální posuny jsou spojeny s globálními maticí ortogonálních transformací a_ij (souřadnice lokální báze i,j,k v globální soustavě):
$$\alpha_i^p = a_{im} \beta_m^p \Rightarrow \mathbb{K}_{pq}^{mn} = a_{im}^T K_{pq}^{ij} a_{jn}$$
$$a_{ij}=\begin{bmatrix}ix&iy&iz\\jx&jy&jz\\kx&ky&kz\end{bmatrix}$$
Globální SLAÚ se řeší pro uzlové posuny β. Obrácený přechod: lokální průhyby a natočení, obnova diagramů:
$$M_3(x)=-EJ_3\dfrac{d^2v}{dx^2}, \quad Q(x) = -\dfrac{dM}{dx} - m(x)$$
Pro zahrnutí podélného tahu-stlačení (i,j,m,n={1,2,3}) matice transformací 6x6:
$$\begin{bmatrix} ix & iy & iz & 0 & 0 & 0 \\ jx & jy &jz & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & ix & iy & iz \\ 0&0&0&jx&jy&jz\\0&0&0&0&0&1\end{bmatrix}$$
Lokální matice tuhosti 6x6 s členy EA/L pro podélné posuny u a ohyb EJ:
$$K_{pq}^{ij} = \begin{bmatrix} \frac{EA}{L} & 0 & 0 & -\frac{EA}{L} & 0 & 0 \\ 0 & \frac{12EJ}{L^3} &\frac{6EJ}{L^2} & 0 & -\frac{12EJ}{L^3} &\frac{6EJ}{L^2}\\ 0 & \frac{6EJ}{L^2} & \frac{4EJ}{L} & 0 & -\frac{6EJ}{L^2} & \frac{2EJ}{L} \\ -\frac{EA}{L} & 0 & 0 &\frac{EA}{L} & 0 & 0 \\ 0 & -\frac{12EJ}{L^3} &-\frac{6EJ}{L^2} & 0 & \frac{12EJ}{L^3} &-\frac{6EJ}{L^2}\\ 0 & \frac{6EJ}{L^2} & \frac{2EJ}{L} & 0 & -\frac{6EJ}{L^2} & \frac{4EJ}{L}\end{bmatrix}$$
Příklady diagramů a vizualizace
- Diagramy průhybů Uy pro prostorový rám pod kroutícím momentem M3: polynom 5. stupně při lineárním zatížení q(x).
- Diagramy momentů v 3-prvkovém rámu: polynom 3. stupně podél prutu.
Diagramy jsou vypočítány analyticky na základě uzlových posunů, renderovány v reálném čase na shaderech pro každý prut.
Co je důležité
- Numericko-analytické řešení kombinuje přesné polynomy s iterační metodou sdružených gradientů pro velké řídké SLAÚ.
- GLSL shadery zajišťují GPU-akceleraci vizualizace diagramů sil v 3D.
- Úplný 6-DOF model: ohyb + tah-stlačení s ortogonálními transformacemi.
- Adaptivní SPA rozhraní na React/MobX/Three.js pro inženýry.
- Veřejné a soukromé modely v cloudu na Node.js/Express.js.
— Editorial Team
Zatím žádné komentáře.