3.6.19 · D4Spacecraft Structures & Systems Engineering

Exercises — FEM for structures — assembling global stiffness

2,810 words13 min readBack to topic

This page is your self-test range. Every problem below rebuilds the assembly machinery from FEM for structures — assembling global stiffness with a full solution hidden inside a collapsible callout. Read the problem, try it on paper, then reveal.

Before we start, two reminders in plain words so no symbol arrives naked.

We use one running picture for the 1D chain problems:

Figure — FEM for structures — assembling global stiffness

Level 1 — Recognition

L1.1 — Read the bar stiffness

Problem. A single 1D bar element connects DOF and DOF (i.e. the two nodal displacements and ). Write its stiffness matrix, and say in words what the entry in row 1, column 2 means physically.

Recall Solution

The bar element stiffness is Where this comes from: the bar force is . The force on node is , the force on node is . Writing those two equations as a matrix gives the pattern above.

Row 1, column 2 = . Meaning: the force appearing at DOF when we move DOF by one unit and hold DOF fixed. It is negative because pulling node away pulls node in the same direction — the bar drags it. That is the whole meaning of a stiffness entry : force at per unit displacement at .

L1.2 — Spot the overlap

Problem. Two bar elements sit in a line. Element 1 uses global DOFs , element 2 uses global DOFs . Without computing, which single global entry receives a contribution from both elements?

Recall Solution

Only . Look at the shared DOF: both elements list DOF 2. An entry gets a contribution from an element only if both and are DOFs of that element. Element 1 owns DOFs , element 2 owns . The only pair living inside both sets is . So is summed twice; every other entry comes from at most one element. (This is exactly why appears in the parent's two-bar truss.)


Level 2 — Application

L2.1 — Assemble a three-bar chain

Problem. Four nodes in a row (see figure), three identical bars, each with the same . Node has one DOF (numbered ). Assemble the full global stiffness .

Recall Solution

Let . Each bar contributes into its two DOF rows/columns.

  • Bar 1 → DOFs
  • Bar 2 → DOFs
  • Bar 3 → DOFs

Scatter-add. Interior nodes 2 and 3 are each shared by two bars, so their diagonals become : Check the pattern: every row sums to zero. That is the rigid-body signature — slide the whole chain equally and no bar stretches, so no force. Good sign the assembly is correct.

L2.2 — Solve with a fixed end

Problem. Take the L2.1 chain. Fix node 1 (). Apply force at node 4 only. Find in units of .

Recall Solution

Delete row/column 1 (fixed DOF). The reduced system, with : Row 1: . Row 2: . Row 3: . So Physical check: three bars in series each carry the full force , each stretches , so displacements grow times down the chain. ✓


Level 3 — Analysis

L3.1 — A shared-node "Y" junction

Problem. Three bars all meet at a central node C (DOF numbered so C is DOF 1), with the other ends being nodes A, B, D (DOFs 2, 3, 4). Bars: A–C, B–C, D–C, each with the same , all treated as 1-DOF axial springs along their own line but sharing the single scalar DOF at C. Assemble and read off .

Recall Solution

Every bar is on its two DOFs:

  • A–C → DOFs
  • B–C → DOFs
  • D–C → DOFs

C (DOF 1) sits in all three elements, so its diagonal collects . Each outer node sits in one bar (diagonal 1) and couples only to C (): Insight: the diagonal entry at a node equals the count of stiffness contributions meeting there. A hub node connected to many elements gets a large diagonal — the more springs pull on you, the harder you are to move. Note : outer nodes are not in the same element, so they never talk directly, only through C.

L3.2 — Symmetry and sparsity claim

Problem. Explain why the assembled from L3.1 is symmetric and why specifically. Then state the general rule for when .

Recall Solution

Symmetry: each element matrix is symmetric (, the Maxwell–Betti reciprocity). Scatter-add of symmetric blocks into the same and slots preserves symmetry, so .

Why : DOF 2 (node A) and DOF 3 (node B) never appear together in any single element. No element = no coupling = zero entry. See Sparse Matrix Storage — this is why is mostly zeros.

General rule: iff DOFs and belong to at least one common element. Otherwise .


Level 4 — Synthesis

L4.1 — Bar at an angle: transformation then assembly

Problem. A single 2D bar runs from node 1 at to node 2 at (a 45° diagonal, see figure). Each node has 2 DOFs . Using the transformation of the axial stiffness into global , write the global-frame element stiffness .

Figure — FEM for structures — assembling global stiffness
Recall Solution

DOF ordering (state it before reading entries): the four rows/columns of the element matrix are, in order, i.e. node 1's -displacement, node 1's -displacement, then node 2's and . Every entry below is "force in DOF per unit displacement of DOF " using exactly this list.

Let , where is the bar's angle from the -axis. For a 45° bar, , so .

Why we need and : the bar only resists stretching along its own axis. A global displacement contributes to axial stretch only through its projection onto the bar direction, and that projection uses and (this is Coordinate Transformations in FEM). The standard result, with rows/columns ordered : Plug in : Sanity check: each row still sums to zero (rigid translation → no force), and the entries are now coupled () precisely because the bar is tilted.

L4.2 — Two diagonal bars, assemble global

Problem. Add a second bar from node 2 to node 3 (a −45° diagonal). Node DOF map: node has DOFs () and (), each block ordered . Both bars have identical . Assemble the full global stiffness. Give the four entries of the node-2 diagonal block .

Recall Solution

Let .

Bar A (45°, node 1→2), DOFs ordered : the last block (the node-2 self-block, rows/cols ) is .

Bar B (−45°, node 2→3): here , , so but . Its element matrix, rows/cols ordered → DOFs : Its node-2 self-block (first , rows/cols ) is .

Node 2 is shared → add the two self-blocks: So the four entries are and . Beautiful check: the cross-coupling cancels ( from bar A, from bar B), leaving node 2 equally stiff in and . The two symmetric diagonals brace it evenly — physically obvious once you see the figure.


Level 5 — Mastery

L5.1 — Predict positive-definiteness

Problem. For the L2.1 four-bar chain, the full (un-reduced) is and singular. (a) State its rank and the dimension of its null space, and describe the null-space vector physically. (b) After fixing node 1, is the reduced matrix positive definite? Justify via an energy argument, and confirm with its determinant (in units of ).

Recall Solution

(a) The un-reduced has a 1-dimensional null space, so rank 3 (out of 4). The null vector is : sliding every node the same amount stretches no bar, gives zero strain energy, hence . This is the single rigid-body translation mode of a 1D chain — see Finite Element Method Overview.

(b) Energy: always. Once node 1 is fixed, the only way to get zero strain in every bar is (each bar's stretch depends on a fixed neighbor chain back to the wall). So for every nonzero positive definite → invertible → unique displacement solution. This is why solvers (Direct vs Iterative Solvers) only work after boundary conditions.

Determinant check: with , the reduced matrix is . Its determinant is , and all leading minors (, , ) are positive → positive definite by Sylvester's criterion. ✓

L5.2 — Bandwidth from numbering

Problem. A chain of 5 nodes (1 DOF each), consecutively numbered along the physical line. (a) What is the half-bandwidth of the assembled ? (b) If instead you numbered the physical nodes (in physical order along the chain) with the global labels , what half-bandwidth results, and what does this teach about Mesh Refinement and Convergence / storage cost?

Recall Solution

Half-bandwidth = the largest over all nonzero . A bar couples the two DOFs at its ends, so is the largest label-gap between two physically-adjacent nodes.

(a) Consecutive numbering . Each bar joins physically-adjacent nodes, whose global labels differ by exactly 1. So the worst nonzero off-diagonal has (a tridiagonal matrix). Minimal storage.

(b) Scrambled labelling (physical node label 1, node label 3, node label 5, node label 4, node label 2). Now check each bar (physical neighbours) by its two labels:

  • bar 1–2: labels → gap
  • bar 2–3: labels → gap
  • bar 3–4: labels → gap
  • bar 4–5: labels → gap

The maximum gap is , so : the band is twice as wide as the consecutive case, even though the physics (the same 4 bars, same nonzero count) is unchanged.

Lesson: the same structure gives a wider band purely from worse numbering, and a wider band costs more memory and more solve time (direct factorization fills in within the band). Good node ordering — bandwidth-minimizing schemes like Cuthill–McKee — is therefore free performance, a real concern once meshes are refined (Mesh Refinement and Convergence, Sparse Matrix Storage, Direct vs Iterative Solvers).


[!recall]- Quick self-quiz (cloze)

The diagonal entry equals the number of ==element contributions meeting at DOF == (for identical unit-stiffness bars).

unless DOFs and
share at least one common element.
The un-reduced is singular because
rigid-body modes give zero strain energy (zero eigenvalues).
You must apply boundary conditions
before solving, to make the reduced positive definite and invertible.
In 2D you transform each element matrix to the global frame
before scatter-adding, so all matrices share one coordinate system.