8. Worked examples

Every example here is a shipped verification model: import its JSON from
web/projects/verification/ with Import from File, then run the analysis.
Each example gives the model definition, the hand calculation, the app
read-out, and the checks to perform; the published expected values let you
score the solved model by hand.

All models use SI units, the
Verification load case (no self weight), and EC2 defaults (C32, 25 mm cover,
N12) unless stated.


8.1 Model index

Model Geometry Load Expected
S1 Line-supported two-way plate 8 × 4 m, t 0.2, pinned line supports all edges q = 10 kPa δ 1.245 mm · My 15.99 kN·m/m · ΣR 320 kN
S2 Mat on Winkler soil 8 × 8 m, t 0.25, k = 30 000 kN/m³ q = 10 kPa w 0.333 mm · bearing ≈ 10 kPa · ΣR 640 kN
S3 Punching check 6 × 6 m, t 0.2, interior 0.3 m column P = 100 kN u₁ 3.324 m · vEd 0.178 MPa
C1 Four corner columns, UDL 8 × 8 m, t 0.2, 4 columns at (±3,±3) q = 10 kPa 160 kN per column · ΣR 640 kN
C2 Four columns, central point same grid P = 200 kN centre 50 kN per column · ΣR 200 kN
C3 Single column, concentric load 6 × 6 m, t 0.2, central column P = 100 kN at top stub = base = 100 kN
W1 Perimeter walls, UDL 12 × 6 m, t 0.2, two below walls 3 m q = 10 kPa 360 kN per wall · ΣR 720 kN
W2 Wall with top line load 12 × 6 m, one below wall 3 m top line 50 kN/m base 600 kN · q = 50 kN/m
W3 Tall wall, axial stress 12 × 6 m, centre wall 12 m below q = 10 kPa base 720 kN · q = 60 kN/m · Ny 60 kN/m
P1 Four-pile cap 8 × 8 m cap, t 0.3, piles at (±3,±3) q = 10 kPa 160 kN per pile · ΣR 640 kN
P2 Single pile settlement 4 × 4 m, one pile k = 50 MN/m P = 100 kN w 2.00 mm · tip 100 kN
P3 Shaft pile tip and bearing d 0.6 m × 8 m, tip k 50 MN/m P = 100 kN tip 100 kN · q_b 353.68 kPa
P4 Layered pile equilibrium d 0.6 × 8 m, two layers + tip P = 100 kN ΣKz 59 200 kN/m · ΣKx 48 000 kN/m

8.2 S1 - Line-supported two-way plate

Purpose: the fundamental plate benchmark; verifies bending stiffness,
support idealisation and reaction equilibrium against the Navier solution.

Model

Item Value
Slab 8 × 4 m rectangle, t = 0.2 m, E = 30 GPa, ν = 0.2, mesh 0.5 m
Supports four line supports pinned (base: pinned) along the edges
Load area load 10 kPa over the whole slab, no self weight

Hand calculation. For a rectangular plate a × b = 8 × 4 (a/b = 2) simply
supported on all edges under uniform q, the Navier series gives centre
deflection

w_max = α · q b⁴ / (E t³ / (12(1−ν²)))

With b = 4 m, t = 0.2 m, q = 10 kN/m², D = E t³/(12(1−ν²)) =
30e6 × 0.008/(12 × 0.96) = 208 333 kN·m, the tabulated coefficient for a/b = 2
gives w ≈ 1.245 mm at the centre and a short-span moment coefficient
β = 0.09994: My = β q b² = 0.09994 × 10 × 16 = 15.99 kN·m/m.

App read-out

  • Deflection view at the centre: 1.245 mm (hover at (4, 2)).
  • My contour at (4, 2): 15.99 kN·m/m.
  • Reactions table: Applied ΣFz = −320 kN; Σ ground = 320 kN
    (q·A = 10 × 32 = 320 kN).

Checks - change the mesh to 0.25 m and confirm the values move by < 2 %;
compare the corner reaction intensities against the classic edge-lift pattern.


8.3 S2 - Mat on Winkler soil

Purpose: verifies distributed-subsgrade springs, the bearing result and
settlement under a uniform load.

Model: 8 × 8 m mat, t = 0.25 m; one soil zone over the whole footprint with
k = 30 000 kN/m³; q = 10 kPa; no self weight.

Hand calculation. For a uniform load on a uniform Winkler bed the
settlement is load-independent of size:

w = q/k = 10/30 000 m = 0.333 mm;   ΣR = qA = 10 × 64 = 640 kN

Edge effects extend about one characteristic length
lc = (D/k)^(1/4) ≈ 0.61 m, so the deflected shape is flat across most of the
mat.

App read-out: deflection ≈ 0.333 mm centre; ⏚ bearing ≈ 10 kPa;
Σ ground = 640 kN, Applied ΣFz = −640 kN.

Checks: a k of 3 000 kN/m³ (soft clay) gives 3.33 mm - confirmed by
editing the zone; if the deflection drops much below q/k, check that the zone
covers the whole slab.


8.4 S3 - Punching check

Purpose: verifies the EC2 control perimeter and punching stress for an
interior column.

Model: 6 × 6 m slab, t = 0.2 m; interior 0.3 × 0.3 m column with fixed
base; point load 100 kN applied at the column top (transferred through the
stub).

Hand calculation. Effective depth with 25 mm cover and N12:
d = 200 − 25 − 6 = 169 mm. EC2 perimeter with radius 2d:

u1 = 2(c1 + c2) + 4πd = 2(0.3 + 0.3) + 4π(0.169)
   = 1.200 + 2.124 = 3.324 m
vEd = VEd/(u1 d) = 100/(3.324 × 0.169) = 178 kPa = 0.178 MPa

App read-out: open ◉, click Σ; the C1 row shows u₁ = 3.324 m,
vEd = 0.178 MPa. Utilisation compares against EC2 vRd,c for the same ρl, d and
C32 - about 0.35 for the default minimum steel, so a PASS.

Checks: move the column toward an edge and watch the perimeter clip (the
computed u₁ falls below the full value); the summary shows the corner/edge
classification.


8.5 C1 - Four corner columns, UDL

Purpose: load takedown and symmetry; the most common sanity check on a
flat plate.

Model: 8 × 8 m plate, t = 0.2 m, four 0.3 m columns at (±3, ±3), fixed
bases; q = 10 kPa.

Hand calculation. The layout is symmetric under quarter turns, so each
column takes one quarter:

ΣF = qA = 10 × 64 = 640 kN → R = 640/4 = 160 kN per column

App read-out: R↓ shows 160 kN at every column; Applied ΣFz = −640 kN.

Checks: the four column reactions must be equal to < 1 %. If not, a column
is misplaced or a load extends past the slab. This model is also the base for
the design example in §6.11.


8.6 C2 - Four columns, central point load

Purpose: point-load transfer through the slab into a symmetric support
set; verifies point-load placement at the mid-plane.

Model: same as C1 with a 200 kN central point load instead of the UDL.

Hand calculation: by symmetry R = P/4 = 50 kN per column; ΣR = 200 kN.

App read-out: 50 kN at each column. Checks: local moments peak directly
under the load; compare the slab deflection at the centre against a
plate-with-central-load table for confidence.


8.7 C3 - Single column, concentric load

Purpose: the simplest load path - verifies the column stub axial result
and that the applied load reaches the base unchanged.

Model: 6 × 6 m slab, t = 0.2 m; central 0.3 m column; 100 kN at the column
top (z = 3 m).

Hand calculation: statics - stub axial = base reaction = 100 kN.

App read-out: R↓ table: stub axial 100 kN, base reaction 100 kN; column
N diagram constant 100 kN (compression). Checks: the slab only
stabilises the stub; there is no long-term lateral load here.


8.8 W1 - Perimeter walls, UDL

Purpose: two-line support distribution; verifies wall plate generation and
wall reactions.

Model: 12 × 6 m slab, t = 0.2 m; two below-slab walls (0.2 m thick, 3 m
deep, pinned base) along the long edges; q = 10 kPa.

Hand calculation: the walls are the only support and the loading is
symmetric, so each carries half:

ΣF = 10 × 72 = 720 kN → R per wall = 360 kN  (q = 30 kN/m along 12 m)

App read-out: W↓ rows read total 360 kN and q = 30 kN/m per wall;
Applied ΣFz = −720 kN. Checks: the interior strip spans the short direction
(6 m), so check the sagging moment contour is dominated by My.


8.9 W2 - Wall with top line load

Purpose: verifies wall top line loads and their path down the wall, with
no slab load at all.

Model: 12 × 6 m slab, wall 3 m below with a 50 kN/m top line load.

Hand calculation: every load is carried directly by the wall:

R = wL = 50 × 12 = 600 kN;   q = R/L = 50 kN/m

App read-out: W↓ total 600 kN, q = 50 kN/m. Checks: the slab shows no
bending; wall axial stress is uniform down the height (neglect self weight -
none is applied in this model).


8.10 W3 - Tall wall, axial stress

Purpose: checks that distributed slab load correctly feeds a wall and
produces the expected membrane stress field.

Model: 12 × 6 m slab, t = 0.2 m, q = 10 kPa; centre wall 12 m deep,
pinned base. The wall carries the entire slab.

Hand calculation:

ΣR = qA = 10 × 72 = 720 kN → q = 720/12 = 60 kN/m along the wall
Mid-height membrane force Ny ≈ q = 60 kN/m

App read-out: W↓ total 720 kN, q = 60 kN/m; σy fringe at mid-height
(Ny = 60 kN over 0.2 m) ≈ 300 kPa. Checks: σy should be nearly uniform
over the interior band, with peaks only near the wall ends.


8.11 P1 - Four-pile cap

Purpose: pile head springs and symmetric load sharing.

Model: 8 × 8 m, t = 0.3 m cap; four piles at (±3, ±3) with
axial k = 50 000 kN/m, no diameter (spring piles); q = 10 kPa.

Hand calculation: symmetric support → R = qA/4 = 160 kN per pile; the
shared settlement is w = P/k = 160/50 000 = 3.2 mm for every pile.

App read-out: R↓ shows 160 kN per pile; deflection is uniform 3.2 mm at
the heads. Checks: compare with C1 - the cap moments differ from the
column case because the support stiffness is finite, but the reaction pattern
is identical.


8.12 P2 - Single pile settlement

Purpose: the calibration model for the axial head spring.

Model: 4 × 4 m slab, t = 0.3 m; one pile (spring only) at the centre,
k = 50 000 kN/m; 100 kN point load at the head.

Hand calculation:

w = P/k = 100/50 000 m = 0.002 m = 2.00 mm;  tip force = 100 kN

App read-out: deflection at the pile head 2.00 mm; pile reaction 100 kN.
Checks: halve k and confirm 4.00 mm - the model is deliberately chosen so
w = P/k is exact.


8.13 P3 - Shaft pile tip and bearing

Purpose: verifies the meshed shaft load path and tip bearing pressure.

Model: 4 × 4 m slab, t = 0.3 m; pile d = 0.6 m, L = 8 m
(tip at −8), tip spring k = 50 000 kN/m, no soil layers; 100 kN at the head.

Hand calculation: the tip spring is the only support, so it carries the
whole load. The tip bearing pressure is

A = πd²/4 = π × 0.6²/4 = 0.28274 m²
q_b = N_tip/A = 100/0.28274 = 353.68 kPa

App read-out: P⌀ summary: tip force 100 kN, tip bearing 353.68 kPa;
the N diagram is constant 100 kN down the shaft. Checks: the head
settlement includes the axial shortening of the shaft plus the tip spring.


8.14 P4 - Layered pile equilibrium

Purpose: verifies distributed shaft springs (lateral and skin) and the
generated stiffness sums.

Model: as P3 with two layers:

Layer Top Bottom Lateral k Skin
Upper 0 −4 8 000 kN/m/m 1 500 kN/m/m
Lower −4 −8 4 000 kN/m/m 800 kN/m/m

Hand calculation. The shaft is meshed at 1 m segments; each layer spans 4 m
of shaft and contributes over its full length (boundary node shared):

Skin:   1500×4 + 800×4 = 6000 + 3200 = 9 200 kN/m
Tip spring: 50 000 kN/m
ΣKz = 59 200 kN/m
Lateral: 8000×4 + 4000×4 = 48 000 kN/m  (Kx = Ky)

App read-out: P⌀ summary and layer flags match ΣKz = 59 200,
ΣKx = 48 000 exactly; head axial 100 kN is shared between skin (mobilised
kz·uz per node) and tip. The skin diagram shows the upper layer taking more
load - stiffer skin, higher friction.

Checks: raise the upper skin to 3 000 kN/m/m and confirm more load sheds
in the upper layer and the head settles less.


8.15 Extended example - EC2 flat-plate design

This example chains analysis to design on the C1 model. Numbers are rounded
for hand checking; read the app's own values from the design views.

Given: 8 × 8 m plate, t = 200 mm, C32, B500, cover 25 mm, N12, EC2;
columns 300 mm; service load 10 kPa (as C1); ULS combination
1.35 G + 1.5 Q with the same SDL/LL split as §3.8.

1 - Solve. Create a ULS combination (e.g. 1.35/1.5) and solve it; select
the result set for design.

2 - Flexure. Read the peak banded Mx in the column strip, say
M* = 24 kN·m/m (ULS). With d = 169 mm:

z ≈ 0.95d = 161 mm
As ≈ M*/(φ fy z) = 24e6/(1 × 500 × 161) = 298 mm²/m

3 - Minimum steel. EC2: As,min = 266 mm²/m (see
§6.3) → flexure governs here.

4 - Choose bars. Max spacing cap: min(3h, 400) = 400 mm and the user cap
200 mm. N12 @ 150 = 754 mm²/m is conservative; N12 @ 250 = 452 mm²/m meets
298 mm²/m but violates the 200 mm cap. Choose N12 @ 200 = 565 mm²/m (or
let Size to limits propose it).

5 - Punching. From the C1-type run, V* per column ≈ 160 kN (SLS) scaled to
ULS ≈ 1.4 × 160 ≈ 224 kN. With the S3 anchor (100 kN → 0.178 MPa), vEd scales
roughly linearly: ≈ 0.40 MPa. Against vRd,c ≈ 0.52 MPa (C32, minimum steel,
d = 169 mm) utilisation ≈ 0.77 - PASS. Re-check with the actual run.

6 - Crack width. Service moment M_s = M*/1.4 ≈ 17 kN·m/m. With
N12 @ 200 (565 mm²/m), the cracked-section model gives wk below 0.3 mm for
interior exposure; verify in the wk view.

7 - Deflection. The instantaneous SLS deflection should be around L/300;
the long-term check follows in §8.16.


8.16 Extended example - AS 3600 long-term deflection

Given: the same plate, sustained load deflection δ_inst = 4.0 mm
(computed by a sustained-only SLS run), t_h = 200 mm, f′c = 32 MPa,
τ = 28 days, interior exposure (k4 = 0.65), k5 = 1.0, Ast = Asc = 500 mm²/m,
10-year horizon (3650 days).

Hand calculation using the implementation formulas
(§4.4):

k2 = 3650^0.8 / (3650^0.8 + 0.15×200) = 706.6/(706.6+30) = 0.9593
k3 = 1.28 × 28^(−0.118) = 1.28 × 0.6749 = 0.8639
φcc.b (f'c 32) = 3.4
φcc = 0.9593 × 0.8639 × 0.65 × 1.0 × 3.4 = 1.83
kcs = max(0.8, 2 − 1.2×1) = 0.8
growth = 1 + φcc + kcs·k2 = 1 + 1.83 + 0.77 = 3.60
δ_long = 3.60 × 4.0 = 14.4 mm

App procedure: in the Run analysis modal, Method Long-term, code
AS 3600 - φcc + kcs, Duration 3650, Ast/Asc 500, thickness 200, k4
Interior, k5 1.0; solve the sustained/self-weight case. The run summary shows
Growth 3.60 (hover the row), the deflection view's time slider at 3650 d
shows ≈ 14.4 mm, and Charts → Deflection vs time plots the curve with the
t→∞ asymptote ≈ 3.7–3.8×. Compare against the code deflection limit for the
span.

Check: the Σ Calculate φcc creep calculator reproduces φcc = 1.83 for
the same inputs.


8.17 Reproducing from the terminal

The same files that the modal creates are shipped in
web/projects/verification/ (one <key>.geomodel.json per model). From the
repository:

go test ./internal/verification -run TestVerificationFixturesSolve -v

decodes and solves all thirteen and asserts the applied load and ground
reaction balance of each. go run ./cmd/verify prints the full benchmark
table (19 examples, 32 comparisons) including the design checks. See
Verification for the published errors (worst 2.86 %, most
below 0.1 %).

→ Next: Chapter 9 - Reports & files