QUAD4_PLANE — 4-node bilinear plane quad#

The 2D bilinear quadrilateral, used for plane-stress and plane-strain analysis. Four corner nodes × 2 in-plane translations = 8 DOFs per element.

  • Spec: ELEMENTS.QUAD4_PLANE

Shape functions#

Bilinear Lagrange on the reference square \(\hat\Omega = [-1, +1]^{2}\) with corner-node sign vector \((\xi_i, \eta_i) \in \{-1, +1\}^{2}\):

\[N_i(\xi, \eta) = \tfrac{1}{4}(1 + \xi_i\, \xi)(1 + \eta_i\, \eta).\]

These satisfy Kronecker-delta interpolation at the four corners and partition-of-unity on \(\hat\Omega\). See QUAD4 bilinear shape functions on the reference square for contour plots and a verified basis-matrix identity at every corner.

Integration#

  • 2 × 2 Gauss-Legendre for both stiffness and mass. Exact for the bilinear strain-displacement product on a regular quad — see Numerical quadrature.

Constitutive#

Plane-stress vs plane-strain selected by ELEMENTS.QUAD4_PLANE(mode=...):

  • "stress" (default) — out-of-plane normal stress \(\sigma_{zz} = 0\). 3 × 3 elastic matrix:

    \[\begin{split}\mathbf{C}^{(\sigma)} = \frac{E}{1 - \nu^{2}} \begin{bmatrix} 1 & \nu & 0 \\ \nu & 1 & 0 \\ 0 & 0 & (1 - \nu)/2 \end{bmatrix}.\end{split}\]
  • "strain" — out-of-plane strain \(\varepsilon_{zz} = 0\). 3 × 3 elastic matrix:

    \[\begin{split}\mathbf{C}^{(\varepsilon)} = \frac{E}{(1 + \nu)(1 - 2\nu)} \begin{bmatrix} 1 - \nu & \nu & 0 \\ \nu & 1 - \nu & 0 \\ 0 & 0 & (1 - 2\nu)/2 \end{bmatrix}.\end{split}\]

Real constants#

  • REAL[0]\(t\), out-of-plane thickness (used to scale the plane-stress integral; ignored under plane strain).

Stress recovery#

The strain-displacement matrix evaluated at each Gauss / node point gives 3-component Voigt strain \((\varepsilon_{xx}, \varepsilon_{yy}, \gamma_{xy})\); compute_nodal_stress applies the 3 × 3 \(\mathbf{C}\) matrix above to recover in-plane stress. Issue #262 wired the plane-element strain extraction into the canonical recovery path (eel_batch returns 3-component strain, padded to 6-Voigt for the global stress-averaging machinery).

Verification cross-references#

Implementation: femorph_solver.elements.quad4_plane.

References#

  • Hughes, T. J. R. (2000) The Finite Element Method — Linear Static and Dynamic Finite Element Analysis, Dover, §3.5 + §3.6 (bilinear quad).

  • Zienkiewicz, O. C. and Taylor, R. L. (2013) The Finite Element Method: Its Basis and Fundamentals, 7th ed., §6.3.2 + §6.4.

  • Cook, R. D., Malkus, D. S., Plesha, M. E., Witt, R. J. (2002) Concepts and Applications of Finite Element Analysis, 4th ed., Wiley, §3.5 (plane stress), §3.6 (plane strain).