Skip to content

TET4 : derivation complete

Cette page derive la formulation effectivement utilisee par tet4.py. Les composantes de Voigt sont ordonnees $[xx,yy,zz,xy,yz,zx]$; les trois dernieres deformations sont des cisaillements d'ingenieur.

1. Domaine, approximation et degres de liberte

Sur un volume $\Omega_e$, le champ de deplacement est approche par

$$ \mathbf u_h(\mathbf x)=\mathbf N(\mathbf x)\mathbf q_e, \qquad \mathbf q_e=[u_1,v_1,w_1,\ldots,u_4,v_4,w_4]^T. $$

Les quatre fonctions barycentriques $N_i=L_i$ satisfont $\sum_iN_i=1$ et $\sum_iN_i\mathbf x_i=\mathbf x$. Ainsi, tout mouvement rigide et tout champ affine $\mathbf u=\mathbf a+\mathbf H\mathbf x$ sont reproduits exactement. La contrepartie est une deformation uniforme par element.

2. Mapping et gradients

Le tetraedre de reference $(r,s,t)$ est defini par

$$ L_1=1-r-s-t,\quad L_2=r,\quad L_3=s,\quad L_4=t. $$

Avec $\mathbf x=\sum_iL_i\mathbf x_i$, le Jacobien est constant. Dans le code, l'ecriture equivalente est la matrice nodale

$$ \mathbf A=\begin{bmatrix}1&x_1&y_1&z_1\1&x_2&y_2&z_2\ 1&x_3&y_3&z_3\1&x_4&y_4&z_4\end{bmatrix}, \qquad N_i=a_i+b_ix+c_iy+d_iz, $$

ou la ligne $i$ de $\mathbf A^{-1}$ fournit $(a_i,b_i,c_i,d_i)$. Le volume oriente vaut $V=\det(\mathbf A)/6$. Un volume non strictement positif est rejete avant toute matrice de rigidite.

3. Deformations et loi isotrope

La relation deformation-deplacement est

$$ \boldsymbol\varepsilon=\mathbf B\mathbf q_e, \qquad \mathbf B=[\mathbf B_1\ \mathbf B_2\ \mathbf B_3\ \mathbf B_4], $$

$$ \mathbf B_i=\begin{bmatrix} b_i&0&0\0&c_i&0\0&0&d_i\c_i&b_i&0\0&d_i&c_i\d_i&0&b_i \end{bmatrix}. $$

Pour l'elasticite isotrope 3D, avec $\mu=E/[2(1+\nu)]$ et $\lambda=E\nu/[(1+\nu)(1-2\nu)]$,

$$ \mathbf D=\begin{bmatrix} \lambda+2\mu&\lambda&\lambda&0&0&0\ \lambda&\lambda+2\mu&\lambda&0&0&0\ \lambda&\lambda&\lambda+2\mu&0&0&0\ 0&0&0&\mu&0&0\0&0&0&0&\mu&0\0&0&0&0&0&\mu \end{bmatrix}. $$

La convention de cisaillement d'ingenieur explique les coefficients $\mu$ sur les trois dernieres diagonales. Les controles materiau refusent notamment $E\le0$ et les valeurs de $\nu$ hors domaine physique code.

4. Travaux virtuels, rigidite et masse

Le principe des travaux virtuels discret donne

$$ \delta\mathbf q_e^T\left[\int_{\Omega_e}\mathbf B^T\boldsymbol\sigma\,d\Omega -\mathbf f_e\right]=0. $$

En elasticite lineaire homogene, $\mathbf B$ et $\mathbf D$ sont constants :

$$ \boxed{\mathbf K_e=V\mathbf B^T\mathbf D\mathbf B},\qquad \mathbf f_{int,e}=V\mathbf B^T\boldsymbol\sigma. $$

La masse coherente vient de $\int\rho\mathbf N^T\mathbf N\,d\Omega$ :

$$ \mathbf M_{ij}=\frac{\rho V}{20} \begin{cases}2\mathbf I_3&i=j,\\mathbf I_3&i\ne j.\end{cases} $$

Un TET4 libre a six modes rigides : trois translations et trois rotations infinitesimales. C'est un invariant de formulation, pas une instabilite.

5. Charges coherentes

Une force volumique uniforme $\mathbf b$ et une traction uniforme $\bar{\mathbf t}$ sur une face triangulaire de surface $A_f$ donnent

$$ \mathbf f_e^{vol}=\frac{V}{4}[\mathbf b,\mathbf b,\mathbf b,\mathbf b]^T, \qquad \mathbf f_{face}=\frac{A_f}{3}[\bar{\mathbf t},\bar{\mathbf t},\bar{\mathbf t}]^T. $$

Pour une pression, $\bar{\mathbf t}=-p\mathbf n$ selon la normale sortante. Le solveur verifie resultante et moment resultant dans son audit de charges.

6. Demonstration : traction d'un tetraedre contraint

Si seul le ddl $u_{1x}$ reste libre, une force $F$ appliquee a ce ddl conduit a $K_{ff}=V(\lambda+2\mu)$ et donc

$$ u_{1x}=\frac{F}{V(\lambda+2\mu)},\qquad \sigma_{xx}=(\lambda+2\mu)u_{1x}=\frac{F}{V}. $$

Le cas TET4 statique controle cette relation, la symetrie de $K$, le residu et l'equilibre global. Le patch TET4 maille etend la preuve a un champ affine sur un maillage non structure.

7. Limites de la demonstration

L'exactitude affine ne garantit ni la convergence en flexion ni la qualite des contraintes pres d'une singularite. Le TET4 peut verrouiller en volume quand $\nu\to0.5$ et sa contrainte est discontinue entre elements. Ces effets sont des limites de modele, non des erreurs de post-traitement.

Tracabilite

Objet Code Preuve Exigence
$B$, $K_e$, $M_e$, charges de face/volume solveur/elements/solid/tet4.py test_tet4_element.py, test_distributed_loads.py REQ-SOL-001, REQ-LOAD-001
Volume et orientation solveur/mesh/quality.py element inverse ou degenere refuse REQ-MESH-001
Patch et convergence campagne benchmark BM-SOL-TET4-PATCH-001 REQ-CMP-003

Reference principale : REF-FEM-BATHE.