Verifying the solver
Closed-form cases you can build in ten minutes to test the solver — beams, frames, columns, plates, frequencies — with the expected error of each.
Analysis types 10 min read
Do not take our word for it. Every element type in Elementarium is exercised against closed-form solutions before anything merges, but that is our floor, not your evidence. The only solver test that means anything to you is one you ran yourself, on a case whose answer you already know.
Each case below is small enough to build in a few minutes, with the formula to compare against and the size of disagreement to expect from discretisation. Every beam, frame, column and frequency case fits the free plan's 500 degrees of freedom; of the plate meshes, 4 × 4 fits, 8 × 8 sits just under the cap once the edges are supported, and 16 × 16 needs a student or Pro account. The page doubles as a guide to what each element assumes; see Element formulations for the formal version.
How to run a benchmark
- Build the case with round numbers: , , . Round numbers make a wrong factor of a thousand obvious.
- Solve, and read the quantity from the table, not the diagram, so that you get all the figures.
- Compute the closed form by hand and compare. Record the percentage difference.
- If the difference is larger than this page says to expect, refine and repeat before concluding anything. The tables below say which cases are exact and which converge.
Keep the project. A benchmark set you can re-run after every release is worth more than any release note.
For the record, the solver's own test suite runs the beam cases below on every change — , , , , , and , each to nine decimal places — and drives the WebAssembly stability solver to Euler's load and the second-order amplifier . That is the floor mentioned above; the cases on this page are how you raise it on your own machine.
Beams: exact in linear static
The beam element uses cubic interpolation, which is the exact solution for a prismatic member under end loads and uniform load. These cases should agree to rounding with one element per member and no refinement:
| Case | Quantity | Closed form |
|---|---|---|
| Simply supported, UDL | Mid-span moment | |
| Mid-span deflection | ||
| End shear | ||
| Cantilever, tip load | Root moment | |
| Tip deflection | ||
| Cantilever, UDL | Root moment | |
| Tip deflection | ||
| Fixed both ends, UDL | Support moment | |
| Mid-span moment | ||
| Mid-span deflection | ||
| Propped cantilever, UDL | Fixed-end moment | |
| Prop reaction | ||
| Axial member, load | Extension | |
| Simply supported, point load at mid-span | Mid-span moment | |
| Mid-span deflection |
Worked: , , IPE 400 (), S355. Simply supported:
A point load at mid-span sits at a node if the member is split there, and the result is exact. Try it both ways, split and unsplit, and expect to rounding from each. If the unsplit member disagrees, that is worth reporting.
Shear deformation
The beam includes shear deformation through its shear areas. On a slender beam the effect is small; on a stocky one it is not. Under a uniform load the shear term adds to the bending deflection : for an IPE 400 that is about 1.4% at a 10 m span and about 34% at 2 m. That is the element being right. To compare with the pure bending formula, set the shear areas very large.
Frames: exact, and a check on connectivity
A pinned-base portal with a uniform rafter load is the standard frame test. For a rectangular portal of height , span , column and rafter under rafter UDL :
The mid-span moment must come out below and the eaves moment must be the difference. If the rafter shows exactly, the eaves are not connected — see Your first model.
The quickstart builds this frame.
Columns: buckling converges with subdivision
Linear buckling uses a geometric stiffness matrix derived from the same cubic shape functions, and for that problem the cubic is an approximation. The Euler load
with for a pin-ended column, for a cantilever, fixed–fixed and fixed–pinned, is reproduced to a precision set by the number of elements:
| Elements per member | Error in , pin-ended |
|---|---|
| 1 | about +22% — the single element gives |
| 2 | under 1% |
| 4 | under 0.1% |
The stability setup carries its own minimum subdivision for this reason, so the default run is already on the right side of the table. Compare a run at the setup's minimum with one at twice that; the difference should be inside the figures above. If the first mode is not the one you expect (a cantilever's first mode has no inflection point and a fixed–fixed column's has two), leave the Sturm-sequence completeness check on and it will tell you whether a mode was skipped.
Worked: pin-ended, , HEA 300 (, weak axis):
Apply a 1 000 kN axial load as the reference case and expect .
Frequencies: converge from above
Modal analysis has the same character. With a consistent mass matrix the frequencies converge to the exact values from above; with a lumped matrix, from below.
The closed form for a uniform beam is
with the mass per unit length and :
| Support | |||
|---|---|---|---|
| Simply supported | |||
| Cantilever | 1.875 | 4.694 | 7.855 |
| Fixed–fixed | 4.730 | 7.853 | 10.996 |
Worked: simply supported, , IPE 300 (, 42.2 kg/m):
Four elements give the first mode within a fraction of a percent and the second within a few percent; the third needs more. Run the case with consistent and with lumped mass and watch the two bracket the exact value — the cheapest sanity check on a frequency there is. See Modal analysis.
Plates: converge from below
A surface result depends on the mesh, and the test is convergence rather than agreement on the first run. The classical case is a simply supported square plate, side , thickness , under uniform pressure , with
For :
For a clamped square plate, at the centre and the moment at the mid-side of an edge is .
Expected behaviour on the shell element:
| Mesh | Centre deflection | Centre moment |
|---|---|---|
| 4 × 4 | Within a few percent, low | Several percent low |
| 8 × 8 | Within about 1% | Within 1–2% |
| 16 × 16 | Converged | Converged |
Deflection converges from below (the coarse mesh is stiff) and the moment follows. Two refinements agreeing within a percent is the convergence argument; a result that changes by more than that between the last two meshes is not yet a number to quote. See Choosing element size.
A thin plate, or more, is the test that exposes shear locking in a displacement-based Reissner–Mindlin element. The shell element does not lock. A plate that comes out far too stiff as it gets thin is what a locking element does, and it is what this test is for.
Walls: bending in their own plane
The same element carries a wall's in-plane action, and the test that exposes a weak membrane is a deep cantilever bent in its own plane. Take a wall long and deep, , , , clamped along one short edge, with of shear spread over the other. With shear deformation included ():
A fine plane-stress mesh converges to 14.67 mm; the 0.15 % between the two is the clamped root, which beam theory does not see. Read the in-plane deflection at the free end as the average over its nodes.
| Mesh | Tip deflection |
|---|---|
| 6 × 1, one element deep | About 1 % low |
| Finer meshes | Converge to 14.67 mm |
A plain four-node membrane reaches about 68 % on the 6 × 1 mesh. If a wall comes out that stiff, the membrane is locking, and this is the case that shows it. Lean the interior element edges and the result drops — to about 80 % when they lean by 40 % of the element width — because no four-node membrane that passes the patch test is exact on a trapezoid. See Element formulations.
Reactions: the universal check
Cross-checking in another solver
Beyond closed-form cases, the real test of a real model is to run it somewhere else. On Pro, Elementarium exports a SAF workbook that SCIA Engineer, RFEM and others read (and an OOFEM input deck, if OOFEM is what you have). Put the displacements side by side. Two independent implementations agreeing is the evidence a sceptical reviewer accepts.
When they disagree
Work through, in order:
- Units — the factor is 1 000 or 10⁶. Units.
- Supports — the closed form assumes a support condition; the model has the one you gave it. Pinned is translations only.
- Discretisation — buckling, modal and plate cases converge; check the tables above before concluding.
- Shear deformation — a stocky beam is more flexible than pure bending says, correctly: about a third more for an IPE 400 over 2 m.
- Sign convention — a negative where you expected a positive is usually the local axis direction. Sign conventions.
If none of those explains it, that is a bug or a limitation worth reporting. Send the project and the hand calculation to [email protected]; during the beta it reaches the person who wrote the solver, and either the solver or this page gets corrected.
Something wrong or unclear on this page? Tell us, and it gets corrected.