4
Graph — force-directed layout · label = position in ordering (drag nodes; Shift-drag pins)
Adjacency A · PAPᵀ
Matrix · Reordering
The duality

Each member is an edge. The oriented incidence \(B\in\mathbb R^{m\times n}\) carries \(-1\) at a tail and \(+1\) at a head; then

\[ L=B^\top B=\mathrm{deg}-A,\qquad K=B^\top k\,B,\ \ k_e=\tfrac{EA}{L_e}. \]

Relabeling nodes is a similarity \(A\mapsto PAP^{\top}\): it leaves the graph invariant while reshuffling the matrix. Pick a reordering and watch the unknown numbers flow across the graph as the matrix permutes.

Structure — colored by nested-dissection order (dark = eliminated last)
Separator tree ≈ elimination tree ≈ your substructure tree
L reordered · fill-in ▪
Factorization cost (Cholesky fill)
George's idea

Find a small separator \(S\) whose removal splits the mesh into independent halves \(V_1,V_2\). Eliminate the halves first and \(S\) last:

\[ \text{order}=[\,\text{ND}(V_1),\ \text{ND}(V_2),\ S\,]. \]

Because \(V_1,V_2\) share no edges, their eliminations create no mutual fill — cost collapses. The split uses the Fiedler vector \(v_2\) of \(L\); the recursion is your piece → piece2 → piece4 tree read top-down.

Directed graph — nodes colored by SCC · label = position in Frobenius order
Adjacency → Frobenius normal form (block upper-triangular)
Orientation
Irreducible ⇔ strongly connected

Tarjan's algorithm finds the strongly connected components — the irreducible blocks. Ordering them topologically permutes \(A\) into

\[ P A P^{\top}=\begin{bmatrix}A_{11}&\ast&\cdots\\&A_{22}&\\&&\ddots\end{bmatrix}. \]

Bidirectional → one giant irreducible block. Ascending → acyclic, fully reducible (all \(1\times1\)). Circulation exposes the loops between.

Vibrational mode on the structure — ghost = rest shape · color = strain
Mode
supports are shared with the Statics tab
Eigenproblem

With a lumped mass \(M=mI\) the generalized eigenproblem reduces to

\[ K\varphi=\omega^2 m\,\varphi. \]

We drop the constrained DOFs, diagonalize the reduced \(K_{ff}\) by cyclic Jacobi rotations, and animate

\[ u(t)=\text{excursion}\cdot\varphi\,\sin(\text{speed}\cdot t) \]

over the faint rest shape. Zero-energy (rigid/mechanism) modes are filtered out.

Deformed structure — Ku = f · ghost = undeformed · click a node to edit
Node editor · click the structure
Selected: — click a node —
tension compression
Deformation
Ku=f solved on the free DOFs · member color = axial force
Direct stiffness

Assemble \(K=\sum_e B_e^\top k_e B_e\) with \(k_e=\dfrac{E A\,\mu_e}{L_e}\) (\(\mu_e\) the average of the two node material multipliers). Partition off the fixed DOFs and solve

\[ K_{ff}\,u_f=f_f, \]

then recover member axial forces \(N_e=k_e\,(u_b-u_a)\!\cdot\!\hat t_e\). Add supports until the system is non-singular, or it reports a mechanism.

Minimal / soap-film surface as a structure (drag to orbit)
Boundary value problem
System matrix (pentadiagonal Laplacian)
Closing the loop

The five-point operator

\[ (\nabla^2 f)_{ij}\approx f_{i-1,j}+f_{i+1,j}+f_{i,j-1}+f_{i,j+1}-4f_{ij} \]

is exactly the graph Laplacian of the grid. With Dirichlet data it gives the harmonic minimal surface; adding a constant source, \(\nabla^2 f=-p\), inflates a soap-film dome over a circular frame — the membrane cousin of the truss stiffness.