Solid Mechanics¶
Seven worked solid-mechanics examples in examples/solid/, built
as a progressive ladder — each rung adds exactly one new concept on
top of the previous one:
Cantilever Beam — linear elasticity, one direct solve. The baseline.
Hyperelastic Beam — finite strain (Neo-Hookean); introduces the L-BFGS energy-minimization recipe.
Hertzian Contact — adds a constraint (contact penalty) and a closed-form verification, reusing the same L-BFGS recipe.
Plasticity (J2) — adds path-dependence: per-quadrature history variables and a variational constitutive update, in 2D and 3D.
Geomechanics (Drucker-Prager) — adds pressure-dependent yield, reusing the J2 history-variable pattern through the public
DruckerPragerPlasticityassembler for soils and weak rock.Geomechanics (elastic footing) — solves a small boundary-value problem for footing settlement using the direct linear-elasticity workflow.
Geomechanics (Drucker-Prager footing) — combines the footing boundary-value setup with pressure-dependent plasticity, load stepping, and committed per-quadrature history variables.
Together they cover the two solver patterns TensorMesh uses for solid problems:
Direct linear solve for small-strain linear elasticity (
cantilever_beam,elastic_footing).L-BFGS energy minimization for nonlinear problems where the potential energy is well-defined — hyperelasticity, contact, and plasticity (
hyperelastic_beam,hertzian_contact,plasticity_strip,drucker_prager_footing).
The order below mirrors solver complexity.
Linear elasticity, steel cantilever with a tip load — the simplest end-to-end recipe.
Rubber beam under torsion, compressible Neo-Hookean, L-BFGS load stepping.
Penalty contact between a circular indenter and an elastic block, checked against the Hertz solution.
Plane-strain J2 plasticity with isotropic hardening, load / unload cycle, plus a 3D cube.
Geomechanics (Drucker-Prager)
Three pressure-dependent examples for soils and weak rock, built on the
public DruckerPragerPlasticity assembler and
the table-backed FrictionalMaterial presets.
They progress from a single-element constitutive driver, through a
linear-elastic boundary-value problem, to the full nonlinear footing.
Pressure-dependent Drucker-Prager plasticity in a small triaxial-compression driver.
Linear-elastic soil block under a centered strip footing, with settlement contours and a reaction/load-balance sanity check.
Nonlinear strip-footing settlement with pressure-dependent plasticity, plastic-history contours, and a load-settlement sanity check.