Examples¶
Recognizable structural problems, built end to end through the typed
apeSees bridge and checked against a known answer. They are the rungs
of a ladder — the learning path is the
ordered staircase they sit on.
-
Portal frame (2D) — two columns + a beam under gravity and lateral load; multiple element groups, drift, and a base shear that checks to exactly the applied load.
-
Modal analysis (cantilever) —
g.masses+ops.eigen, the first three natural frequencies read back throughResultsand matched to the Euler–Bernoulli closed form. -
Fiber sections & moment–curvature — a
W14×90fibre section (dimensions from apeSteel) driven through yield withZeroLengthSection; the M–κ curve passes through $M_y=F_yS_x$ and plateaus at $M_p=F_yZ_x$, shape factor 1.10. -
Multi-part assembly — build a column once as a reusable
Part, stamp it three times withg.parts.add, and read each copy's deflection back by its own label (each exactly $PL^3/3EI$). -
Tie non-matching meshes — two solid blocks meshed at different sizes, joined by a
g.constraints.tiethe bridge auto-emits; the load transmits exactly and the column matches the monolithic bar to ~3%. -
STEP import: plate with a hole — import a CAD part, heal it, name edges by geometric query, refine at the hole, and recover the classic stress concentration $K_t\approx3$.
-
Choosing a results strategy — the same portal solved and read back via
from_nativeandfrom_mpco(STKO); the read code is identical and both agree on the 8.39 mm drift to zero. -
Compose modules — build the portal once, save it, and
g.composeit into two bays; PGs come back label-prefixed (bay2.Columns) and each uncoupled bay drifts the exact E1 8.39 mm. -
Pushover of a steel moment frame — a
W14×90fibre section (from apeSteel) in aforceBeamColumnpushed to a column-sway mechanism; the $V!-!\Delta$ capacity curve matches $K=2\cdot12EI_c/H^3$ to 2.7 % and $V_p=4M_p/H$ to 1.9 % at mechanism. -
Plane-wave SSI: absorbing soil column — a soil column wrapped by an
ASDAbsorbingBoundary3Dskin (g.parts.add_plane_wave_box), shaken by a base shear pulse and flipped to absorbing withs.activate_absorbing; the wave arrives at the surface at $H/V_s$ and then radiates out (late motion < 1 % of peak) instead of reflecting. -
Staged SSI: gravity then the absorbing flip — the canonical sequence: a gravity stage settles the column (5.6 cm) while the skin holds,
loadConstfreezes it, thens.activate_absorbingflips and the base wavelet shakes the equilibrated state. Shows why continuumbody_force(always-on) is the wrong gravity route for a staged model and theg.loads.gravity+from_modelroute is right.
More rungs (shell-on-solid, transient) are landing wave by wave.
Beyond the curated set¶
The repo's examples/
directory holds many more models — buckling, contact springs, tunnel
meshes, embedded rebars, soil–structure interaction. They are working
material rather than teaching material; start with the worked examples
above, then browse the repo when you need a starting point closer to
your own problem.
Next: E1 — A 2D portal frame.