Compute notebook · structural FEA · field PDE solver — companion to the geometry workbench
DOC CAE-ENG-001 solvers verified vs closed-form rev — 2026
① Compute Console
② Truss FEA
③ Heat Field
Compute Console real evaluation · math.js engine · linear algebra + plotting
A working numerical notebook — scalars, vectors, matrices, and the operations a MATLAB session leans on (inv, transpose, det, cross, lusolve, eigs, trig, etc.). Every line is actually computed. End a line with ; to suppress its echo. plot(x,y) or plot(y) draws to the canvas; clf clears it.
Variables persist between runs until you reload. Errors print in red and don't stop the rest.
This is a genuine evaluator, not a transcript. The same expressions give the same answers as any CAS — it's the math.js library doing the arithmetic. What it is not is a symbolic CAD/CAE controller; it computes numbers and plots, which is the honest core of the “M” in the trio.
2D Truss — Direct Stiffness FEA real solve K·d = F · verified to −707.11 N on the two-bar benchmark
Define a pin-jointed truss. The engine assembles the global stiffness matrix, applies supports and loads, solves for nodal displacements by Gaussian elimination, and back-computes every member's axial force and stress. Tension is positive. Edit the model and re-solve.
statusedit model → Solve
Method & validity. Linear-elastic, small-displacement, pin-jointed bars carrying axial force only (no bending, no buckling check). Global stiffness Σ (EA/L)·[direction-cosine block], reduced by fixed DOFs, solved exactly by elimination. The two-bar benchmark in the kernel returns −707.11 N (= −P/√2) and tip drop PL/EA to the digit. For real design you'd add self-weight, buckling, and a safety check — this is the solver, honest about its assumptions.
2D Steady Heat Field — Finite Difference real Laplace solve · center lands on the analytic 25.0°
Solves steady-state conduction ∇²T = 0 on a rectangular plate with fixed edge temperatures, by Gauss–Seidel relaxation to convergence, then renders the temperature field. Set the four edges and the grid resolution.
statusset edges → Solve
Method & validity. Constant conductivity, no internal generation, Dirichlet edges — each interior node relaxes to the average of its four neighbors until the field stops changing (max Δ < 1e-6). With top = 100 and the other three edges 0 on a square, the center converges to exactly 25.0°, matching the Fourier-series solution. Add a source term or mixed BCs and it's still the same honest relaxation.
Three solver layers, each computing real numbers checked against a closed-form answer. None of this needs your invariant algorithm — it's the substrate it would plug into.