White box / Physical formulations / Shell elements

MITC3+ · three-node triangular shell

Physical formulation · assumptions, essential equations, full derivation, algorithm, code and verification references.

Browse another sheet Physical formulations / Shell elements
Physical formulationsShell elementsSheet 2 / 2
Physical formulationROUTE-DEPENDENT · inspect exact analysis and material row

Flat-facet Reissner–Mindlin triangle with linear translations, assumed covariant shear, and two bubble rotations condensed at element level.

01 Model and scope

The flat-facet Reissner–Mindlin triangle combines membrane strain, curvature and assumed transverse shear. Two internal bubble rotations are eliminated by static condensation, leaving only the nodal degrees of freedom; this does not make the route equivalent to a four-node shell.

Route assumptions and calculation checks

  1. The public matrix retains 18 nodal DOFs after static condensation of two internal bubble rotations.
  2. MITC tying changes the shear operator; membrane and bending operators follow the P1/enriched interpolation.
  3. Evidence is analysis- and material-specific; a shell family name is not blanket maturity.

02 Essential equations and symbols

εm=[u0,x,v0,y,u0,y+v0,x]T\boldsymbol\varepsilon_m=[u_{0,x},v_{0,y},u_{0,y}+v_{0,x}]^Tκ=[θy,x,−θx,y,θy,y−θx,x]T\boldsymbol\kappa=[\theta_{y,x},-\theta_{x,y},\theta_{y,y}-\theta_{x,x}]^Tγs=[w0,x+θy,w0,y−θx]T\boldsymbol\gamma_s=[w_{0,x}+\theta_y,w_{0,y}-\theta_x]^TKe=Kqq−KqαKαα−1Kαq\mathbf K_e=\mathbf K_{qq}-\mathbf K_{q\alpha}\mathbf K_{\alpha\alpha}^{-1}\mathbf K_{\alpha q}

Definitions and conventions

εm\varepsilon{}m
In-plane membrane strain vector.
κ\kappa{}
Curvature vector from rotation gradients.
γs\gamma{}s
Assumed transverse-shear strain.
Kbb, Kbn
Internal-bubble and bubble-to-nodal stiffness blocks.
123αx, αy20 expanded DOFs → 18 retained nodal DOFs3 nodes × 6 shell DOFs = 18 retained2 bubble rotations αx, αySeven-point degree-five triangle rule
MITC3+: two internal rotations, then condensationThe two bubble rotations are element-internal unknowns. Local equilibrium eliminates them through a small Schur-complement solve before assembly into the global shell system.
5 detailed steps

03 Step by step derivation

Follow the assumptions, equations and discrete operations in order. The full explanation stays visible.

1 · Reissner–Mindlin triangle kinematics

The triangular facet carries three translations and three rotations at each of its three nodes (18 retained DOFs). In the local frame, the mid-surface displacement and two rotations define in-plane membrane strain, curvature, and transverse shear. The interpolation is flat-facet; it is not interchangeable with the four-node MITC4 shell.

u(x,y,z)=[u0+zθy,  v0−zθx,  w0]T\mathbf u(x,y,z)=[u_0+z\theta_y,\;v_0-z\theta_x,\;w_0]^Tεm=[u0,x,v0,y,u0,y+v0,x]T\boldsymbol\varepsilon_m=[u_{0,x},v_{0,y},u_{0,y}+v_{0,x}]^Tκ=[θy,x,−θx,y,θy,y−θx,x]T\boldsymbol\kappa=[\theta_{y,x},-\theta_{x,y},\theta_{y,y}-\theta_{x,x}]^Tγs=[w0,x+θy,  w0,y−θx]T\boldsymbol\gamma_s=[w_{0,x}+\theta_y,\;w_{0,y}-\theta_x]^T

2 · Virtual work and constitutive resultants

The weak form balances membrane-force, bending-moment, and transverse-shear work against external loads. An isotropic section uses A, D, and As; a laminate introduces extension–bending coupling B. The assumed MITC interpolation modifies the shear operator, while membrane and bending follow the declared linear/enriched fields.

δWint=∫A(δεmTN+δκTM+δγsTQ) dA\delta W_{int}=\int_A(\delta\boldsymbol\varepsilon_m^T\mathbf N+\delta\boldsymbol\kappa^T\mathbf M+\delta\boldsymbol\gamma_s^T\mathbf Q)\,dAN=Aεm,M=Dκ,Q=Asγs\mathbf N=\mathbf A\boldsymbol\varepsilon_m,\quad \mathbf M=\mathbf D\boldsymbol\kappa,\quad \mathbf Q=\mathbf A_s\boldsymbol\gamma_s[NM]=[ABBD][εmκ]\begin{bmatrix}\mathbf N\\\mathbf M\end{bmatrix}=\begin{bmatrix}\mathbf A&\mathbf B\\\mathbf B&\mathbf D\end{bmatrix}\begin{bmatrix}\boldsymbol\varepsilon_m\\\boldsymbol\kappa\end{bmatrix}

3 · Two internal bubble rotations and MITC shear

The formulation enriches the triangle with two internal rotations α=(αx,αy), giving an expanded 20-DOF system before condensation. Assumed covariant shear is reconstructed from tying data. A seven-point degree-five Dunavant rule integrates the expanded stiffness. The bubble variables improve the local interpolation but are not global mesh DOFs.

q^=[qT,αx,αy]T∈R20\widehat{\mathbf q}=[\mathbf q^T,\alpha_x,\alpha_y]^T\in\mathbb R^{20}K^e=∫A^(BmTABm+BbTDBb+BsTAsBs+BdTkdBd)det⁡J dr ds\widehat{\mathbf K}_e=\int_{\widehat A}(\mathbf B_m^T\mathbf A\mathbf B_m+\mathbf B_b^T\mathbf D\mathbf B_b+\mathbf B_s^T\mathbf A_s\mathbf B_s+\mathbf B_d^Tk_d\mathbf B_d)\det\mathbf J\,dr\,dsα=−Kαα−1Kαqq\boldsymbol\alpha=-\mathbf K_{\alpha\alpha}^{-1}\mathbf K_{\alpha q}\mathbf q

The implementation solves the small internal system; it checks conditioning and the condensation residual rather than forming an unchecked inverse.

4 · Static condensation and dynamic mass

Partition the expanded matrix into nodal and internal blocks. Eliminating α gives the Schur complement on the 18 retained nodal DOFs. The same Guyan transformation projects mass so the eliminated rotations remain dynamically consistent. Loads on edges and surfaces are integrated consistently on the triangle.

Ke=Kqq−KqαKαα−1Kαq∈R18×18\mathbf K_e=\mathbf K_{qq}-\mathbf K_{q\alpha}\mathbf K_{\alpha\alpha}^{-1}\mathbf K_{\alpha q}\in\mathbb R^{18\times18}TG=[I−Kαα−1Kαq],Me=TGTM^eTG\mathbf T_G=\begin{bmatrix}\mathbf I\\-\mathbf K_{\alpha\alpha}^{-1}\mathbf K_{\alpha q}\end{bmatrix},\qquad \mathbf M_e=\mathbf T_G^T\widehat{\mathbf M}_e\mathbf T_Gfa=A3pfor constant surface traction on a linear triangle\mathbf f_a=\frac{A}{3}\mathbf p\quad\text{for constant surface traction on a linear triangle}

5 · Evidence and release boundary

Tests and correlations must cover triangle patches, condensed stiffness, mass consistency, curved laminate examples, dynamics, and the exact material/analysis route. A critical version boundary is visible in the linked technical docs: their front matter says applicable_version ≥0.3.0. The implementation file is present at the v0.2.11 source tag, but those later-scope derivation notes must not be presented as proof that every 0.2.11 route is qualified. Keep the status label and registry route visible.

04 Algorithm and implementation

Source excerpt · v0.2.11

The expanded 20-DOF matrix is condensed locally. Only the 18 retained nodal DOFs are returned to the global assembler; the same transformation is reused for matrix components and mass.

Code
expanded = self._expanded_stiffness_components(coords_2d, material)
total = sum(
    expanded.values(),
    start=np.zeros((EXPANDED_DOF_COUNT, EXPANDED_DOF_COUNT)),
)
transform = condensation_transform(total, RETAINED_DOF_COUNT)
return {
        key: condense_matrix(value, transform)
        for key, value in expanded.items()
    }, transform
Read the complete versioned implementation →

05 Verification and limitations

ROUTE-DEPENDENT · inspect exact analysis and material row

Triangle patches, curved laminates, dynamic comparisons, and Code_Aster correlations have separate records.

Each reference supports its own model, observable and analysis route. Read the original contract and limitations before transferring a conclusion.

06 Sources and related sheets

Continue the reasoning

Back to sheet contents ↑