CivilAxisCivilAxis
☕ Support🌐 Community
Tiếng Việt

2D Finite Element Method - Plane Stress & von Mises Explained

The theory behind this 2D FEM calculator: how the direct stiffness method solves K·u = F, how a thin plate is modelled in plane stress with constant-strain triangles, how the stress field - von Mises, principal and shear stresses - is recovered and shown as a contour, why stress concentrates around a hole, and how the same machinery gives member forces for 2D frames and trusses.

📐Open the interactive 2D FEM calculator

What the finite element method does in 2D

The finite element method (FEM) turns a structural problem that has no simple formula into a large but routine system of linear equations. The region - a frame, a truss, or a continuous plate - is divided into many small elements joined at nodes. For each element the relationship between the forces and displacements at its nodes is written as an element stiffness matrix. These are assembled into one global stiffness matrix K\mathbf{K}, and the equilibrium of the whole structure is expressed as a single matrix equation:

Ku=F\mathbf{K}\,\mathbf{u} = \mathbf{F}

where u\mathbf{u} collects the unknown nodal displacements and F\mathbf{F} the applied nodal forces. After imposing the supports (known-zero displacements), the reduced system is solved for u\mathbf{u}. Everything else - reactions, member forces, and the stress field - is recovered from those displacements. This tool covers two families of 2D element: plane-stress triangles for the stress field of a plate, and frame and truss line elements for member forces.

FEM workflow - discretise, solve, contour1 · Region2 · Mesh (triangles)3 · Stress contour
The plate is discretised into triangular elements; the global system K·u = F is solved; the stress field is recovered and plotted.

Plane stress - the stress field of a thin plate

A flat plate that is thin and loaded only in its own plane is in a state of plane stress: the stress through the thickness is taken as zero, and the material is free to contract out of plane. The stress at a point is then described by three components - two normal stresses and one shear stress:

σ={σxxσyyτxy},ε={εxxεyyγxy}\boldsymbol{\sigma} = \begin{Bmatrix} \sigma_{xx} \\ \sigma_{yy} \\ \tau_{xy} \end{Bmatrix}, \qquad \boldsymbol{\varepsilon} = \begin{Bmatrix} \varepsilon_{xx} \\ \varepsilon_{yy} \\ \gamma_{xy} \end{Bmatrix}
Plane-stress state σxx, σyy, τxyσxxσyyτxy
In plane stress, three components describe the state at a point: normal stresses σxx, σyy and shear τxy.

For an isotropic linear-elastic material with Young’s modulus EE and Poisson’s ratio ν\nu, stress and strain are linked by the plane-stress constitutive (elasticity) matrix D\mathbf{D}:

σ=Dε,D=E1ν2[1ν0ν10001ν2]\boldsymbol{\sigma} = \mathbf{D}\,\boldsymbol{\varepsilon}, \qquad \mathbf{D} = \dfrac{E}{1-\nu^{2}} \begin{bmatrix} 1 & \nu & 0 \\ \nu & 1 & 0 \\ 0 & 0 & \tfrac{1-\nu}{2} \end{bmatrix}

Plane stress suits thin panels, gusset and base plates, brackets, deep beams and plates with holes. For a thick body restrained in the third direction, plane strain is more appropriate (it uses a slightly different D\mathbf{D}).

The constant-strain triangle (CST) element

This tool meshes the plate into three-node triangles. With linear displacement interpolation across a triangle, the strain - and hence the stress - is constant within each element, which is why it is called a constant-strain triangle. Each node has two degrees of freedom, uu and vv, so an element has six.

Constant-strain triangle (CST) element123uv
Each triangle has three nodes; every node carries two degrees of freedom (u, v). Strain is constant over the element.

The element strains are obtained from the nodal displacements ue\mathbf{u}_e through the strain–displacement matrix B\mathbf{B} (constant, built from the node coordinates and the triangle area AA), and the element stiffness follows from the virtual-work integral, which for a constant B\mathbf{B} and thickness tt reduces to a simple product:

ε=Bue,ke=tABTDB\boldsymbol{\varepsilon} = \mathbf{B}\,\mathbf{u}_{e,} \qquad \mathbf{k}_e = t\,A\,\mathbf{B}^{\mathsf T}\mathbf{D}\,\mathbf{B}

After the global solve, the stress in each triangle is recovered directly:

σe=DBue\boldsymbol{\sigma}_e = \mathbf{D}\,\mathbf{B}\,\mathbf{u}_e

Because CST stresses are piecewise-constant, the tool averages the surrounding element stresses at each node (area-weighted) to produce a smooth, continuous contour. CSTs are robust and easy to verify but relatively stiff, so refining the mesh improves accuracy - particularly near corners and holes where the stress changes rapidly.

Von Mises and principal stresses

To judge how heavily the material is worked, the three stress components are combined into the von Mises stress - a single scalar that maps onto yielding of a ductile material. When it reaches the yield strength, yielding begins, which is why it is the natural quantity to plot as a contour:

σvM=σxx2σxxσyy+σyy2+3τxy2\sigma_{vM} = \sqrt{\sigma_{xx}^{2} - \sigma_{xx}\sigma_{yy} + \sigma_{yy}^{2} + 3\tau_{xy}^{2}}

The principal stresses - the extreme normal stresses, on the planes where shear vanishes - are also reported:

σ1,2=σxx+σyy2±(σxxσyy2)2+τxy2\sigma_{1,2} = \dfrac{\sigma_{xx}+\sigma_{yy}}{2} \pm \sqrt{\left(\dfrac{\sigma_{xx}-\sigma_{yy}}{2}\right)^{2} + \tau_{xy}^{2}}

Stress concentration around a hole

A hole or notch interrupts the flow of stress and forces it to divert, raising the local stress well above the average. For a small circular hole in a wide plate under uniaxial tension, classical elasticity gives a peak stress about three times the far-field value - a stress concentration factor Kt3K_t \approx 3. The plate-with-hole preset reproduces this: the von Mises contour peaks at the sides of the hole, and refining the mesh sharpens the peak.

Stress concentration at a holepeak stress ≈ 3 × far-field
Stress diverts around the hole and peaks at its sides - for a small circular hole in a wide plate, about three times the far-field tension.

Frame and truss elements (the member-force side)

The same Ku=F\mathbf{K}\mathbf{u}=\mathbf{F} machinery solves skeletal structures. A 2D frame element has three degrees of freedom per node - uu, vv and a rotation θ\theta - and combines axial stiffness with Euler–Bernoulli bending. Its local stiffness matrix, for axial rigidity EAEA, flexural rigidity EIEI and length LL, is the standard 6×6:

klocal=[EALEAL12EIL36EIL212EIL36EIL26EIL24EIL6EIL22EILEALEAL12EIL36EIL212EIL36EIL26EIL22EIL6EIL24EIL]\mathbf{k}_{\text{local}} = \begin{bmatrix} \frac{EA}{L} & & & -\frac{EA}{L} & & \\ & \frac{12EI}{L^{3}} & \frac{6EI}{L^{2}} & & -\frac{12EI}{L^{3}} & \frac{6EI}{L^{2}} \\ & \frac{6EI}{L^{2}} & \frac{4EI}{L} & & -\frac{6EI}{L^{2}} & \frac{2EI}{L} \\ -\frac{EA}{L} & & & \frac{EA}{L} & & \\ & -\frac{12EI}{L^{3}} & -\frac{6EI}{L^{2}} & & \frac{12EI}{L^{3}} & -\frac{6EI}{L^{2}} \\ & \frac{6EI}{L^{2}} & \frac{2EI}{L} & & -\frac{6EI}{L^{2}} & \frac{4EI}{L} \end{bmatrix}

Each element is rotated from local to global axes by a transformation kglobal=TTklocalT\mathbf{k}_{\text{global}} = \mathbf{T}^{\mathsf T}\mathbf{k}_{\text{local}}\mathbf{T} before assembly. A truss bar is the special case with the bending terms released, leaving only axial stiffness EA/LEA/L- pin-jointed members that carry axial force alone. Distributed loads are applied as equivalent nodal (fixed-end) forces, and the member’s internal axial force, shear and bending moment are recovered from the solved end displacements.

Quantities and units used by this tool

QuantitySymbolWorking unit
Young’s modulusEGPa
Poisson’s ratioν
Plate thicknesstm
Geometry (W, H, coords)x, ym
Applied forceFx, FykN
Normal / shear stressσ, τMPa
Von Mises / principalσ_vM, σ₁, σ₂MPa
Displacementu, vmm

Accuracy, verification and limits

The solver has been checked against problems with known answers. A uniform-tension patch test reproduces a perfectly uniform stress field, confirming the element and assembly are correct. A slender cantilever plate matches Euler–Bernoulli beam theory for tip deflection to within about one percent at a moderate mesh, and the bending stress converges toward the theoretical My/IMy/I value as the mesh is refined. The frame solver reproduces the textbook reactions and moments for simply supported, cantilever, propped-cantilever, portal-frame and truss problems.

As with any linear FEM, keep the assumptions in mind:

  • Linear elastic - no yielding or plasticity; the stress can exceed the yield strength in the model, which simply tells you yielding would occur.
  • First order (small displacements) - no large-deflection or P-delta effects, and no buckling.
  • Mesh dependence - coarse meshes underestimate peak stresses; refine near holes, notches and re-entrant corners and check that the result has stabilised.
  • Singularities - stress at a sharp re-entrant corner or a point load grows without bound as the mesh refines; treat such peaks with judgement.

Used within these limits, 2D FEM is an excellent way to see where a member is most stressed and how a structure deforms - a complement to the closed-form checks in the rest of the toolkit.

Frequently asked questions

The finite element method splits a structure into many small, simple pieces called elements, connected at nodes. For each element a stiffness relationship between nodal forces and nodal displacements is written, the element stiffnesses are assembled into one global stiffness matrix K, and the system K·u = F is solved for the unknown nodal displacements u. In 2D this is used both for line structures (frames and trusses, with beam/bar elements) and for continuous regions such as plates (with plane-stress triangle or quadrilateral elements that produce a full stress field).

Plane stress assumes the through-thickness stress is zero, which is accurate for a thin flat plate loaded only in its own plane - the out-of-plane direction is free to contract. It is the right assumption for thin panels, gusset plates, brackets, deep beams and plates with holes. Thick bodies that are constrained in the third direction are better modelled with plane strain instead. This tool uses plane stress with a constant-strain triangle (CST) mesh.

Von Mises stress is a single scalar value computed from the full stress state (σxx, σyy, τxy) that captures how close a ductile material is to yielding. When the von Mises stress reaches the material yield strength, yielding begins. Because it reduces a complex 2D stress state to one number that maps directly onto the yield check, it is the standard quantity to plot as a stress contour. The tool also reports the principal stresses σ1 and σ2.

A hole interrupts the flow of stress through a member, forcing it to divert around the opening. The stress near the edge of the hole rises well above the average (far-field) stress. For a small circular hole in a wide plate under uniaxial tension the peak stress is about three times the far-field value (a stress concentration factor of about 3). The plate-with-hole preset shows this clearly: the von Mises contour peaks at the sides of the hole.

A CST is the simplest 2D continuum element: a three-node triangle with linear displacement interpolation, so the strain - and therefore the stress - is constant within each triangle. CSTs are robust and easy to verify, but they are relatively stiff, so a finer mesh is needed for accurate stresses, especially near corners and holes. Refining the mesh (more divisions) makes the result converge toward the exact solution; the tool lets you change the mesh density to see this.

The solver has been verified against known answers: a uniform-tension patch test reproduces a uniform stress field exactly, and a slender cantilever plate matches Euler–Bernoulli beam theory for tip deflection within about one percent at a moderate mesh. As with any FEM, accuracy improves with mesh refinement. Results are linear-elastic and first-order (small displacements); they do not include yielding, large deflection, buckling or contact.

The frame and truss solver uses line elements (beams and bars) and reports member forces - axial, shear and bending moment - plus joint displacements and the deflected shape. It answers "what are the internal forces in my structure". The plane-stress solver meshes a 2D region into triangles and reports a continuous stress field as a colour contour. It answers "where is the material most stressed". Both share the same linear-algebra core that solves K·u = F.

Ready to see it? Mesh a plate and watch the von Mises stress field appear as a smooth colour contour - adjust the geometry, mesh and load live.

📐Open the interactive 2D FEM calculator
Rate this
No ratings yet
Sign in to join the discussion.
Loading…