Code verification

2D Frame & Beam FEA — verification record

Every benchmark on this page was solved when the page was rendered. The analytical value, the value the solver produced and the relative error between them are printed side by side — so this is a measurement, not a claim about one. Comparing a solver against closed-form analytical solutions is code verification in the vocabulary of ASME V&V 10: evidence that the equations are solved correctly. It is not validation against physical test data, and it is not a warranty on any particular model you build.

17

closed-form benchmarks

5

solver identities

5

pack validation cases

7

diagnostic cases

99

solver comparisons

35

pack assertions

2.8e-10

worst relative error

3.1e-11

worst equilibrium residual

Section 01

How to read this page

Four things are worth knowing before the tables, because each of them changes what the numbers mean.

The numbers are computed, not transcribed

Each benchmark is a model, an analytical solution derived by hand, and an accessor that reads the matching number back out of the solved result. Rendering this page solves all of them. The automated test suite asserts the same objects on every build, so a divergence fails the build rather than reaching this page — and a benchmark cannot be published here without being run there.

The analytical values are signed

Sign convention is the dominant defect class in structural finite element code, and a table that compared magnitudes would pass straight through a flipped convention. Every relative error below is formed against a signed analytical value, so a sign error reads as a 200 % discrepancy rather than as agreement. Where a peak has a position, that position is compared the same way: a peak moment at the wrong station is a wrong answer even when its magnitude is right.

Why the errors sit near 10⁻¹⁶

These are not convergence figures. Internal actions are recovered from exact statics along each member rather than differentiated from the element shape functions, and the deflected shape is integrated from the recovered moment field, so for a prismatic member under polynomial loading the answer is exact and one element gives the same result as fifty. What remains is double-precision round-off, which is what a machine-precision agreement looks like.

Where the largest numbers come from

The largest relative error published here is 2.8e-10, from B15 · k → ∞ (k = 10¹² N/mm) · Spring reaction — a case that deliberately approximates a rigid support with a very stiff but finite spring, so the residual is the approximation, not the solver. The largest equilibrium residual is 3.1e-11, from I1 · 50 elements, where a fifty-element solve accumulates more round-off than a one-element solve of the same beam.

Section 02

Closed-form benchmarks

17 problems whose exact solution can be derived by hand from public-domain mechanics — beam theory, statics, the direct stiffness method. Each one states the defect it exists to catch, because a benchmark that nothing could fail is decoration.

B1

Cantilever with a tip point load

The simplest statically determinate bending case. It fixes the sign of a downward load, of a hogging fixed-end moment and of the reaction moment, which are the three signs everything else inherits.

B1 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Tip deflection δ−PL³/3EI-20.8333-20.8333mm0Agrees
Tip rotation θ−PL²/2EI-0.00625000-0.00625000rad0Agrees
Fixed-end moment−PL (hogging)-50.0000-50.0000kN·m0Agrees
Position of the peak momentx = 0 (at the support)00mm0absAgrees
Reaction moment on the structure+PL50.000050.0000kN·m0Agrees
Vertical reactionP10.000010.0000kN0Agrees
Shear (constant)P10.000010.0000kN0Agrees
Shear at the far endP10.000010.0000kN0Agrees

Independent equilibrium residual for this model: 0

B2

Cantilever with a uniform load

The first case whose answer depends on the fixed-end force vector rather than on a nodal load, so it tests the shape-function integration of a distributed load.

B2 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Tip deflection δ−wL⁴/8EI-32.0000-32.0000mm0Agrees
Fixed-end moment−wL²/2 (hogging)-160.000-160.000kN·m0Agrees
Position of the peak momentx = 0 (at the support)00mm0absAgrees
Vertical reactionwL80.000080.0000kN0Agrees

Independent equilibrium residual for this model: 0

B3

Simply supported beam with a midspan point load

Two elements meeting at a loaded node — the case that catches an assembly or DOF-mapping error that a single-element model would hide.

B3 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Midspan deflection δ−PL³/48EI-5.40000-5.40000mm1.6e-16Agrees
Midspan momentPL/4 (sagging)36.000036.0000kN·m2.1e-16Agrees
Left reactionP/212.000012.0000kN0Agrees
Right reactionP/212.000012.0000kN0Agrees

Independent equilibrium residual for this model: 0

B4

Simply supported beam with a uniform load

A single element must reproduce the 5wL⁴/384EI midspan deflection exactly. It only can if the deflected shape is integrated from the recovered moment field — interpolating the two nodal values, which are both zero here, gives zero.

B4 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Midspan deflection δ−5wL⁴/384EI-40.0000-40.0000mm3.6e-16Agrees
Position of the peak deflectionx = L/24000.004000.00mm1.1e-13Agrees
Midspan momentwL²/8 (sagging)120.000120.000kN·m0Agrees
Position of the peak momentx = L/24000.004000.00mm0Agrees
Shear at the left endwL/260.000060.0000kN0Agrees
Shear at the right end−wL/2-60.0000-60.0000kN0Agrees

Independent equilibrium residual for this model: 0

B5

Fixed–fixed beam with a uniform load

Statically indeterminate to the third degree. The 2:1 ratio between the support and midspan moments is a stiff test of the rotational terms of the element matrix.

B5 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Support moment−wL²/12 (hogging)-73.5000-73.5000kN·m0Agrees
Midspan momentwL²/24 (sagging)36.750036.7500kN·m0Agrees
Position of the sagging peakx = L/23500.003500.00mm0Agrees
Midspan deflection δ−wL⁴/384EI-5.62734-5.62734mm9.5e-16Agrees

Independent equilibrium residual for this model: 0

B6

Propped cantilever with a uniform load

The peak sagging moment sits at 5L/8, not at midspan. Its position is found by solving V(x) = 0 in closed form, so this case fails immediately if peaks are picked off plot stations instead.

B6 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Prop reaction3wL/849.500049.5000kN0Agrees
Built-in end reaction5wL/882.500082.5000kN0Agrees
Built-in end moment−wL²/8 (hogging)-99.0000-99.0000kN·m0Agrees
Peak sagging moment9wL²/12855.687555.6875kN·m0Agrees
Position of the sagging peakx = 5L/83750.003750.00mm0Agrees

Independent equilibrium residual for this model: 0

B7

Two-span continuous beam with a uniform load

Load in one span must produce reactions in the other. This is the smallest model in which a sign error in the transfer between members changes the answer without changing global equilibrium.

B7 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Interior support moment−wL²/8 (hogging)-37.5000-37.5000kN·m2.0e-16Agrees
End reaction3wL/822.500022.5000kN1.6e-16Agrees
Interior reaction10wL/875.000075.0000kN0Agrees
Far end reaction3wL/822.500022.5000kN1.6e-16Agrees
Peak sagging moment9wL²/12821.093821.0938kN·m3.5e-16Agrees
Position of the sagging peakx = 3L/81875.001875.00mm1.2e-16Agrees

Independent equilibrium residual for this model: 0

B8

Axial bar

Isolates the axial terms. A pure axial case must also produce no transverse deflection and no shear, which is what catches bending terms leaking into the axial path.

B8 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Extension δPL/EA0.07500000.0750000mm1.9e-16Agrees
Axial force (tension positive)P50.000050.0000kN1.5e-16Agrees
Transverse deflection0 (no transverse load)00mm0absAgrees

Independent equilibrium residual for this model: 0

B9

Pinned-base portal frame under sway load

The first model with members in more than one direction. It verifies the direction-cosine transformation through global equilibrium and the overturning couple rather than through a memorised coefficient.

B9 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Sum of horizontal reactions−P-30.0000-30.0000kN7.9e-15Agrees
Sum of vertical reactions0 (no vertical load applied)00kN0absAgrees
Overturning couple |R_y|·BP·H120.000120.000kN·m7.8e-15Agrees

Independent equilibrium residual for this model: 0

B10

Pin-jointed triangular truss

Every member is released for moment at both ends, so this is the case that exercises static condensation. Pinned members must carry axial force only — any residual moment means the condensation is incomplete.

B10 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Left reactionP/210.000010.0000kN0Agrees
Right reactionP/210.000010.0000kN0Agrees
Left diagonal force−(P/2)/sin θ (compression)-12.0185-12.0185kN1.5e-16Agrees
Right diagonal force−(P/2)/sin θ (compression)-12.0185-12.0185kN1.5e-16Agrees
Bottom chord force(P/2)·cot θ (tension)6.666676.66667kN1.4e-16Agrees
Largest |M| in any member0 (pinned both ends)00kN·m0absAgrees

Independent equilibrium residual for this model: 0

B11

Inclined member — along-length versus projected intensity

On a 3-4-5 member the two readings of the same number differ by 20 %. Confusing intensity per unit of member length with intensity per unit of plan length is one of the most common ways a roof load ends up wrong, and it changes no other result, so nothing else would catch it.

Intensity along the member length

B11 Intensity along the member length — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Left reactionwL/225.000025.0000kN0Agrees
Right reactionwL/225.000025.0000kN0Agrees
Peak moment from the transverse componentq⊥L²/8, q⊥ = w·cos α25.000025.0000kN·m0Agrees
Position of the peak momentx = L/2 along the member2500.002500.00mm0Agrees

Independent equilibrium residual for this model: 0

Intensity projected on plan

B11 Intensity projected on plan — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Left reactionw·Δx/220.000020.0000kN0Agrees
Right reactionw·Δx/220.000020.0000kN3.6e-16Agrees

Independent equilibrium residual for this model: 0

B12

Support settlement of a fixed–fixed beam

Actions arise from an imposed displacement with no applied force anywhere. It verifies that prescribed displacements enter the solution as a load on the free DOFs rather than as a stiff spring.

B12 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
End moment (sagging end)6EIΔ/L²33.333333.3333kN·m1.1e-16Agrees
End moment (hogging end)6EIΔ/L²33.333333.3333kN·m1.1e-16Agrees
Shear12EIΔ/L³11.111111.1111kN0Agrees
Displacement of the settled nodeΔ, exactly as imposed-10.0000-10.0000mm0Agrees

Independent equilibrium residual for this model: 0

B13

Restrained bar under a uniform temperature rise

Thermal actions must be self-equilibrating: a fully restrained bar develops stress and no net reaction, and a free bar develops strain and no stress. Getting the sign wrong turns heating into cooling.

Both ends restrained

B13 Both ends restrained — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Axial stress N/A−EαΔT (compression on heating)-120.000-120.000MPa0Agrees
Sum of horizontal reactions0 (self-equilibrating)00kN0absAgrees

Independent equilibrium residual for this model: 0

Free to expand

B13 Free to expand — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Axial force0 (unrestrained)00kN0absAgrees
Free expansionαΔT·L2.400002.40000mm1.9e-16Agrees

Independent equilibrium residual for this model: 0

B14

Short beam — shear deformation

The same stubby cantilever solved under both theories. Euler–Bernoulli must return the bending-only answer exactly, and Timoshenko must add exactly the shear term — so the toggle is verified to change the answer by the right amount, not merely to change it.

Euler–Bernoulli (Φ = 0)

B14 Euler–Bernoulli (Φ = 0) — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Tip deflection δ−PL³/3EI-0.833333-0.833333mm0Agrees

Independent equilibrium residual for this model: 0

Timoshenko

B14 Timoshenko — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Tip deflection δ−(PL³/3EI + PL/GA_s)-0.958333-0.958333mm1.2e-16Agrees
Shear share of the total deflection(PL/GA_s) ÷ δ_total0.1304350.1304352.1e-16Agrees

Independent equilibrium residual for this model: 0

B15

Spring-supported beam

An elastic support must interpolate correctly between the two rigid limits and must satisfy its own force–displacement law. A spring that is merely 'stiff enough' passes the limits and fails the finite case.

k → ∞ (k = 10¹² N/mm)

B15 k → ∞ (k = 10¹² N/mm) — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Spring reaction3wL/8 (rigid prop limit)49.500049.5000kN2.8e-10Agrees

Independent equilibrium residual for this model: 0

k → 0 (k = 10⁻⁹ N/mm)

B15 k → 0 (k = 10⁻⁹ N/mm) — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Tip deflection δ−wL⁴/8EI (free cantilever limit)-178.200-178.200mm3.6e-12Agrees

Independent equilibrium residual for this model: 0

k = 500 N/mm

B15 k = 500 N/mm — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Spring reaction(wL⁴/8EI) ÷ (L³/3EI + 1/k)31.821431.8214kN4.6e-16Agrees
Tip deflection δ−R/k (the spring's own law)-63.6429-63.6429mm0Agrees

Independent equilibrium residual for this model: 0

B16

Inclined (skewed) roller support

A roller on a 30° incline must react perpendicular to its surface and slide along it. This is the property that distinguishes a genuine rotated restraint from a very stiff spring, which would satisfy neither exactly.

B16 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Reaction direction R_x/R_y−tan α (perpendicular to the surface)-0.577350-0.5773503.8e-16Agrees
Displacement across the surface0 (slides along it only)00mm0absAgrees

Independent equilibrium residual for this model: 0

B17

Self-weight of a cantilever

The only load the user does not enter as a number. Recovering the intensity ρAg back out of the support reaction verifies the density-and-gravity unit chain, where a factor of 10⁹ is easy to lose.

B17 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Tip deflection δ−wL⁴/8EI with w = ρAg-3.00712-3.00712mm1.5e-16Agrees
Support reactionwL3.849113.84911kN1.2e-16Agrees
Intensity implied by the reaction, R/LρAg0.7698220.769822N/mm1.4e-16Agrees

Independent equilibrium residual for this model: 0

Section 03

Solver identities

5 properties the solver must satisfy exactly. Most are still compared against a closed form; where the reference is the solver's own output the reference column says so, and those rows are internal consistency evidence rather than independent verification.

I1

Mesh independence — one element equals fifty

Internal actions are recovered from exact statics rather than differentiated from the shape functions, so refining the mesh must change nothing at all. Both meshes are compared against the same closed form, and the automatic refinement study is published alongside them.

1 element

I1 1 element — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Peak momentwL²/8120.000120.000kN·m0Agrees
Peak deflection−5wL⁴/384EI-40.0000-40.0000mm3.6e-16Agrees
Automatic refinement study delta0 — every member subdivided and re-solved03.55271e-163.6e-16absAgrees

Independent equilibrium residual for this model: 0

50 elements

I1 50 elements — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Peak momentwL²/8120.000120.000kN·m2.7e-11Agrees
Peak deflection−5wL⁴/384EI-40.0000-40.0000mm2.5e-11Agrees

Independent equilibrium residual for this model: 3.1e-11

I2

Release condensation carries the load vector

The classic half-done implementation condenses the stiffness matrix and forgets the fixed-end forces. Releasing the moment at one end of a loaded fixed–fixed beam turns it into a propped cantilever, so benchmark B6's closed form must reappear — it only does if both halves of the condensation are applied.

I2 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Released-end reaction3wL/849.500049.5000kN0Agrees
Built-in end reaction5wL/882.500082.5000kN0Agrees
Built-in end moment−wL²/8-99.0000-99.0000kN·m0Agrees
Moment at the released end0 (the hinge transmits none)00kN·m0absAgrees

Independent equilibrium residual for this model: 0

I3

Combinations superpose exactly

Under linear analysis a combination must equal the factored sum of its cases to machine precision. The reference here is the two case solutions of the same solve, so this is an internal consistency identity rather than a closed form.

I3 — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Midspan deflection, combination1.35 × case G + 1.50 × case Q-18.7313-18.7313mm1.9e-16Agrees
Left reaction, combination1.35 × case G + 1.50 × case Q59.850059.8500kN0Agrees

Independent equilibrium residual for this model: 0

I4

Trapezoidal and partial-span loads

A triangular load has an asymmetric resultant and its peak moment falls at L/√3, an irrational station no mesh lands on. A partial-span load must apply nothing outside its own extent.

Triangular, 0 → w

I4 Triangular, 0 → w — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Left reactionwL/630.000030.0000kN0Agrees
Right reactionwL/360.000060.0000kN1.2e-16Agrees
Peak momentwL²/(9√3)69.282069.2820kN·m2.2e-16Agrees
Position of the peak momentx = L/√33464.103464.10mm0Agrees

Independent equilibrium residual for this model: 0

Uniform over the middle third

I4 Uniform over the middle third — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Left reactionw(b−a)/230.000030.0000kN1.2e-16Agrees
Right reactionw(b−a)/230.000030.0000kN2.4e-16Agrees

Independent equilibrium residual for this model: 0

I5

Point load between the nodes

A concentrated load away from a node exercises the fixed-end force path at its hardest, and the deflection directly under the load is where an omitted particular solution shows up as a wrong number rather than a wrong shape.

Fixed–fixed

I5 Fixed–fixed — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Moment at the I end−Pab²/L²-21.3333-21.3333kN·m0Agrees
Moment at the J end−Pa²b/L²-10.6667-10.6667kN·m5.2e-16Agrees

Independent equilibrium residual for this model: 0

Simply supported

I5 Simply supported — analytical value against the value computed by the solver.
QuantityClosed formAnalyticalComputedUnitErrorAgreement
Left reactionPb/L16.000016.0000kN0Agrees
Right reactionPa/L8.000008.00000kN2.3e-16Agrees
Peak momentPab/L32.000032.0000kN·m0Agrees
Position of the peak momentx = a (under the load)2000.002000.00mm0Agrees
Deflection under the load−Pa²b²/3EIL-4.26667-4.26667mm2.1e-16Agrees

Independent equilibrium residual for this model: 0

Section 04

Pack validation cases

The sections above verify the solver. These 5 cases verify the layer that reads it: that each check picks up the right quantity, with the right sign and the right peak location, and compares it against the limit you supplied. A correct solver read wrongly still produces a wrong report, so both layers carry evidence.

Each case states a range derived by hand, and the platform's traceability gate asserts that the engine lands inside it on every build. The column below is the number the engine produced on this render.

VC_CANTILEVER_TIP_LOAD

Cantilever, 3 m, 10 kN point load at the tip

δ = PL³/3EI = 4.5 mm, M = PL = 30 kN·m

VC_CANTILEVER_TIP_LOAD — required range against the value the engine computed.
CheckQuantityRequired rangeComputedAgreement
fea.equilibriumEquilibrium residualDemand0 … 1.00000e-90Agrees
fea.mesh-independenceMesh independenceDemand0 … 1.00000e-97.89492e-16Agrees
fea.deflectionDeflection vs span limitDemand (mm)4.500004.50000Agrees
fea.deflectionDeflection vs span limitUtilisation0.3750000.375000Agrees
fea.normal-stressCombined normal stressDemand (MPa)30.000030.0000Agrees
fea.normal-stressCombined normal stressUtilisation0.1276600.127660Agrees
fea.shear-stressShear stressDemand (MPa)0.5000000.500000Agrees
fea.von-misesvon Mises equivalent stressDemand (MPa)30.000030.0000Agrees
VC_SS_UDL

Simply supported, 6 m, 10 kN/m UDL

δ = 5wL⁴/384EI = 8.4375 mm, M = wL²/8 = 45 kN·m

VC_SS_UDL — required range against the value the engine computed.
CheckQuantityRequired rangeComputedAgreement
fea.equilibriumEquilibrium residualDemand0 … 1.00000e-90Agrees
fea.mesh-independenceMesh independenceDemand0 … 1.00000e-91.47372e-15Agrees
fea.deflectionDeflection vs span limitDemand (mm)8.437508.43750Agrees
fea.deflectionDeflection vs span limitUtilisation0.3515630.351562Agrees
fea.normal-stressCombined normal stressDemand (MPa)45.000045.0000Agrees
fea.normal-stressCombined normal stressUtilisation0.1914890.191489Agrees
fea.shear-stressShear stressDemand (MPa)1.500001.50000Agrees
fea.von-misesvon Mises equivalent stressDemand (MPa)45.000045.0000Agrees
VC_PROPPED_CANTILEVER_UDL

Propped cantilever, 6 m, 10 kN/m UDL

M_fix = wL²/8 = 45 kN·m, δ_max = 0.0054161 wL⁴/EI

VC_PROPPED_CANTILEVER_UDL — required range against the value the engine computed.
CheckQuantityRequired rangeComputedAgreement
fea.equilibriumEquilibrium residualDemand0 … 1.00000e-90Agrees
fea.mesh-independenceMesh independenceDemand0 … 1.00000e-91.26534e-15Agrees
fea.normal-stressCombined normal stressDemand (MPa)45.000045.0000Agrees
fea.normal-stressCombined normal stressUtilisation0.1914890.191489Agrees
fea.deflectionDeflection vs span limitDemand (mm)3.50900 … 3.510303.50965Agrees
fea.shear-stressShear stressDemand (MPa)1.875001.87500Agrees
VC_TWO_SPAN_UDL

Two equal 6 m spans, 10 kN/m UDL

M over the interior support = wL²/8, each span behaves as a propped cantilever

VC_TWO_SPAN_UDL — required range against the value the engine computed.
CheckQuantityRequired rangeComputedAgreement
fea.equilibriumEquilibrium residualDemand0 … 1.00000e-90Agrees
fea.mesh-independenceMesh independenceDemand0 … 1.00000e-95.06136e-16Agrees
fea.normal-stressCombined normal stressDemand (MPa)45.000045.0000Agrees
fea.normal-stressCombined normal stressUtilisation0.1914890.191489Agrees
fea.deflectionDeflection vs span limitDemand (mm)3.50900 … 3.510303.50965Agrees
fea.shear-stressShear stressDemand (MPa)1.875001.87500Agrees
VC_AXIAL_BAR

Axial bar, 60 kN tension on A = 30 000 mm²

σ = P/A = 2 MPa, and no transverse deflection whatsoever

VC_AXIAL_BAR — required range against the value the engine computed.
CheckQuantityRequired rangeComputedAgreement
fea.equilibriumEquilibrium residualDemand0 … 1.00000e-90Agrees
fea.mesh-independenceMesh independenceDemand0 … 1.00000e-90Agrees
fea.normal-stressCombined normal stressDemand (MPa)2.000002.00000Agrees
fea.normal-stressCombined normal stressUtilisation0.008510640.00851064Agrees
fea.deflectionDeflection vs span limitDemand (mm)00Agrees
fea.shear-stressShear stressDemand (MPa)00Agrees
fea.von-misesvon Mises equivalent stressDemand (MPa)2.000002.00000Agrees

Section 05

Model diagnostics

7 models whose correct result is a diagnosis rather than a number. A tool that reports “singular matrix” has told the engineer nothing they can act on, so each of these is specified by the attribution it must produce, and the produced column is read back from the solve.

Model diagnostics: specified outcome against the outcome produced by solving the model.
CaseSpecified outcomeProducedAgreement
D1Mechanism — a free horizontal degree of freedomA beam held vertically at both ends but never horizontally. Axial stiffness exists, so this is a genuine zero pivot rather than an empty stiffness row, and the pivot must be attributed back to a direction the user can act on.unstable · free DOF uxunstable · free DOF uxAgrees
D2Load applied where nothing can resist itTwo collinear pin-ended bars carrying a transverse load at the shared node. The honest diagnosis is about the load, not about the matrix.error · FEA_LOAD_ON_FREE_DOF · n1error · FEA_LOAD_ON_FREE_DOF · n1Agrees
D3Pin-joint rotations carrying no stiffnessEvery member of a truss is pinned at both ends, so the joint rotations have no stiffness at all. Unloaded, they are constrained automatically and reported — without this a textbook truss would be unsolvable.info · FEA_AUTO_CONSTRAINED_DOFS · solvedinfo · FEA_AUTO_CONSTRAINED_DOFS · solvedAgrees
D4A group of members with no supportPart of the model floats free of every support. Reporting which members form the unsupported group is more use than reporting a singular matrix.error · FEA_UNSUPPORTED_GROUP · 1 membererror · FEA_UNSUPPORTED_GROUP · 1 memberAgrees
D5Members crossing without a shared nodeThe most common genuine modelling mistake: two members drawn across each other look connected and transmit nothing. The model still solves, so this is a warning rather than an error.warning · FEA_CROSSING · 2 memberswarning · FEA_CROSSING · 2 membersAgrees
D6A bounded check says when it did not runThe crossing scan is pairwise, so it is skipped above a member count. A check that stops running silently reads as a check that found nothing, which is worse than not having the check — so the model is told, and this case is the model that trips the bound.info · FEA_SCAN_SKIPPED_CROSSINGS · no crossings reportedinfo · FEA_SCAN_SKIPPED_CROSSINGS · no crossings reportedAgrees
D7Envelopes name the governing combinationAn envelope that reports a peak without naming where it came from cannot be checked. The envelope is formed over the combinations, not over the raw load cases, so the heavier combination must be the one named.Permanent + variable (coGQ)Permanent + variable (coGQ)Agrees

Section 06

What this evidence does not cover

The honest boundary of everything above, stated in the same place as the evidence itself.

Verification, not validation

Code verification asks whether the equations are solved correctly. Validation asks whether the equations describe the real structure, and is answered by physical testing, not by arithmetic. Nothing on this page is validation in that sense, and the distinction is ASME V&V 10's, not ours.

Your model is not verified by our benchmarks

These cases verify the solver. They say nothing about whether your geometry, restraints, sections or loads represent the structure you are designing. That judgement stays with the engineer, which is why every analysis also publishes its own equilibrium residual, mesh study and diagnostics rather than pointing at this page.

No compliance is claimed

The tool performs a linear analysis — LA in the terminology of EN 1993-1-14 — and reports the analysis-record content that part describes. That is a statement about which analysis type is run. It is not a claim of compliance with EN 1993-1-14, with any other Eurocode part, or with any standard, and no such claim is made anywhere on this site.

First-order linear elastic only

No second-order or P-Delta effects, no buckling, no plasticity, no dynamics. A benchmark suite for a linear solver cannot say anything about behaviour the solver does not model, and none of the cases above pretends otherwise.

Stated on the calculator, in the report, and here

Second-order and stability analysis
Equilibrium is formed on the undeformed geometry. and effects, notional loads, stiffness reduction and linear buckling (LBA) are not performed. Roadmap, not omitted silently.
Material and geometric non-linearity
The material model is linear elastic with no yield surface. Plastic hinges, plastic capacity, large displacements and contact are outside this analysis type.
Dynamics, modal analysis and fatigue
Static analysis only. Natural frequencies, mode shapes, response spectra, time history and fatigue life are not computed. For a fatigue assessment of a detail, use the Fatigue Spectrum Analyzer.
Element library
Two-node prismatic plane frame elements only. Plate, shell, solid, cable, spring-element and tension-only members are not available, and no through-thickness or local stress field is produced.
Out-of-plane behaviour
The model is planar: minor-axis bending, torsion, warping and lateral–torsional buckling are not represented. A member that is unrestrained out of plane needs a separate check.
Code member and connection checks
No design-code member check is performed — no cross-section classification, no buckling reduction factor, no partial factors, no connection or base-plate design. This tool produces analysis output and compares it against the limits you supply. Member and connection verification to EN 1993, AISC 360 or equivalent remains yours.
2D Frame & Beam FEA — verification record · Xarpis