This page assumes nothing. Before you can read the parent topic, you must be able to look at each symbol it uses and instantly see the picture behind it. So we build every one — from what a "displacement" is, up to what a whole matrix equation means.
Everything in FEM rests on one physical fact you already know from a rubber band: pull harder, it stretches more, and the two are proportional.
The relationship is the single most important equation on this page:
Why does FEM care? Because every element is treated as a spring, and the whole method is just this equation repeated and stacked up. Hold this picture — the rest is bookkeeping.
The picture: imagine a straight bar. We cannot record the motion of every atom (infinitely many). So we plant a few dots — nodes — and only ask "how far did this dot move?" Between dots we will guess later.
Why the topic needs it: nodes turn an infinite problem ("where did every point go?") into a finite list of numbers ("where did these 3 dots go?"). Forces get applied at nodes, supports are fixed at nodes, and the unknowns we solve for live at nodes.
The picture: in flat 2D, a dot can slide left–right (ux) and up–down (uy).
How many DOF a node has depends on the element type — this is a common trap, so we spell it out:
Why the topic needs it: the total size of the problem is (number of nodes) × (DOF per node). The simple 1D bar we derive later uses just 1 DOF per node (axial slide only). This is why the parent says the global matrix is N×N for a 1D bar model but 6N×6N for a 3D beam/shell model.
We need a way to say "how stretched is the material?" that does not depend on how long the bar is. A 1 mm stretch is huge for a 1 cm bar and trivial for a 1 m bar. So we divide.
The picture: two dots painted on a bar 1 metre apart. Pull, and they end up 1.01 m apart. The extra 0.01 m over the original 1 m gives ϵ=0.01.
Why the topic needs it: material behaviour depends on strain, not raw stretch. This is the quantity Hooke's law for materials is written in.
(For a deep dive on stress and strain themselves, see 3.6.1-Stress-and-strain-in-structural-members.)
The picture: press with your thumb versus press with a needle using the same force — the needle hurts because the force is squeezed through a tiny area. Small area, big stress.
F — force (newtons), the push/pull from §0.
A — cross-sectional area (square metres): the size of the face the force pushes on. For a bar, it's the area you'd see if you sliced straight across it.
Why the topic needs it: internal forces inside a real material are described by stress, and the final answer engineers want ("will it break?") is a stress compared to the material's limit.
The picture: steel and rubber. Stretch both by the same fraction (same ϵ); steel fights back with enormous stress (huge E), rubber barely resists (tiny E).
L — the length of one element (metres): how long that little piece is.
x — a position along the element (metres): a ruler reading from x=0 at node 1 to x=L at node 2.
Why the topic needs it: we want displacement to be a function of where you are, written u(x) — "the displacement at position x." That notation (u of x) means "feed in a location, get back how far that spot moved."
Before we can blend anything, we need names for the displacement of each node.
The picture: in the node picture (§1), each red dot ends up shifted; d1 is the arrow-length for the first dot, d2 for the second. These are the unknowns the whole FEM machine exists to find. Everything else — the field u(x), strain, stress — is computed fromd1 and d2 once we know them.
We know only the nodal displacements d1,d2. What about the points in between? We blend — and shape functions are the blending weights.
The displacement anywhere is the weighted blend of the two nodal values:
u(x)=N1(x)d1+N2(x)d2
For a 2-node bar of length L, the two straight-line weights that hit 1 at their own node and 0 at the other are:
N1(x)=1−Lx,N2(x)=Lx
Read the picture: at x=0 (node 1), N1=1 and N2=0 — node 1 gets full say. At x=L (node 2), it flips. Halfway along, each contributes half.
Why the topic needs it: shape functions are the "interpolation magic" that turns a handful of node numbers (d1,d2) into a continuous displacement field — the bridge from finite data back to the real, smooth structure.
Here a new mathematical tool enters, and we must say why this tool and not another.
We need strain, and strain is stretch per length (§3). For a field that varies with position, "stretch per length" at a point is exactly how fast u changes as you step along x — the slope of the displacement graph. The tool that measures slope of a function is the derivative.
Why this tool: no other operation gives "change per unit length." That is the literal definition of strain. So the moment we write displacement as a smooth function, the derivative is forced on us as the natural way to extract strain.
Because our u(x) is a straight line (linear shape functions), its slope is constant:
ϵ=dxdu=Ld2−d1
Read it: total stretch (d2−d1) divided by length L — exactly the strain definition of §3, now recovered automatically. Sign check: if d2>d1 the far node moved further out, the bar lengthened, so ϵ>0 (tension) — consistent with §0. Constant slope means constant strain inside each element, which is why FEM needs many small elements to follow a curving stress.
(Derivatives and how computers handle equations like these are the subject of 2.4.8-Numerical-methods-for-differential-equations.)
When there are many nodes we have many displacements and many forces. We stack them into lists and organise the stiffnesses into a grid.
Why the topic needs it: a spacecraft has thousands of nodes. Writing thousands of separate spring equations is hopeless; one matrix equation holds them all and a computer solves it in one go.
A load is a force or moment we apply, placed at a node (the orange arrow of §0, now on a real structure).
A boundary condition (BC) fixes a DOF: "this node cannot move." It sets that displacement to zero and removes it from the unknowns.
The picture: a bolt holding a bracket to the spacecraft wall — that node's displacement is nailed to zero. Without at least enough BCs to stop all rigid drifting, K stays singular (§10) and nothing can be solved.