The plate is cut into a grid of nodes, and every quad cell is split into two constant-strain triangles (CST) — the simplest real finite element. Each triangle gets a strain–displacement matrix B built from its own node coordinates, and a plane-stress constitutive matrix D built from E and ν. Every element's 6×6 stiffness matrix is scattered into the right rows/columns of one big global matrix K by its nodes' degree-of-freedom indices — that's assembly. Clamping the left edge zeroes those rows/columns of K; the load is added to F at the free edge. The system K·d = F is too large to invert directly for a real mesh, so it is solved iteratively with Conjugate Gradient, which needs no matrix inversion and provably reaches the exact answer within as many steps as there are degrees of freedom.
D = E/(1−ν²)·[[1,ν,0],[ν,1,0],[0,0,(1−ν)/2]] plane-stress
Ke = t · A · Bᵀ · D · B element stiffness
K · d = F, r = F − K·d CG residual (per iteration)
σvm = √(σx² − σxσy + σy² + 3τxy²) von Mises stress
- Nodes across — mesh resolution. More elements track the real stress gradient near the clamp more accurately, at the cost of a bigger K to assemble and solve.
- E and ν — the real material stiffness (Young's modulus) and lateral-contraction ratio (Poisson's ratio) feeding D, computed fresh every time either slider moves.
- Tip force — the downward load distributed across the free right edge's nodes.
- CG iterations — each one is a real matrix–vector product against the actual K; watch the residual chart fall in real time as displacement converges.