Finite Element Method
This part is being written for the basic FEM course in spring 2027. The chapters below are outlines.
This part starts where Systematic truss analysis ends. There every node of a truss was in balance, and one equation per free node gave the displacements. The finite element method is the same idea applied to a body that deforms continuously: we cut it into elements, ask each node to be in balance, and solve one equation per free degree of freedom.
We read the weak form as the principle of virtual work. Give the body a small virtual displacement \(\delta\bm u\) that the supports allow; the internal forces work through the virtual strain and the loads work through \(\delta\bm u\), and the two works are equal. The supports cannot move, so \(\delta\bm u = \bm 0\) there and their reactions do no work. Choosing \(\delta\bm u\) as the shape function of node \(i\), “move node \(i\) only”, gives the force balance of node \(i\). The principle comes from Virtual work in Kinetics and Energy methods in Solid Mechanics, and it carries over unchanged to nonlinear materials and to dynamics.
The code is written in Python with plain element and material loops, which read like the equations. The part on FEA with Gridap.jl solves larger models with a research code in Julia, and the part on industrial FEA runs the same problems through ANSA, LS-DYNA and META.