Solid Mechanics Model¶
Introduction¶
The solid-mechanics model describes the mechanical response of solid bodies under applied loads in the small-strain, quasi-static regime. It solves for the displacement field \(\mathbf{u}(\mathbf{x})\) in static equilibrium
with the infinitesimal strain tensor
and the isotropic linear-elastic stress–strain relation
where the Lamé parameters are derived from Young's modulus \(E\) and Poisson's ratio \(\nu\):
Typical industrial applications include cantilever and pressure-vessel analysis, support-bracket sizing, mechanical-strength verification of electronics enclosures, and as the structural arm of magnet–mechanical coupling (motor housings, MRI gradient coils, magnet brackets).
Model¶
The model is created and added to the simulation with
structural_model = StructuralModel(
marker=structural_domain,
order=2,
)
sim.get_model_manager().add_model(structural_model)
where
markerspecifies the domain on which the model is solved (defaults to the whole volume),orderis the polynomial order of the displacement discretisation (default1); \(p = 2\) is a common choice for bending-dominated problems where linear elements suffer from shear locking.
Materials¶
The model currently supports a single constitutive law — the Linear Elastic Material — characterised by Young's modulus \(E\) and Poisson's ratio \(\nu\):
from mufem.structural import LinearElasticMaterial
steel = LinearElasticMaterial(
name="Steel",
marker="Beam" @ Vol,
youngs_modulus=210.0e9,
poissons_ratio=0.30,
)
structural_model.add_material(steel)
Conditions¶
| Name | Supported Entities | Description |
|---|---|---|
| Fixed Displacement | Boundary | Clamps the displacement to zero on the boundary (homogeneous Dirichlet, $\mathbf{u} = \mathbf{0}$). |
| Traction | Boundary | Prescribes a surface traction $\boldsymbol{\sigma}\,\mathbf{n} = \bar{\mathbf{t}}$ (inhomogeneous Neumann). |
Coefficients¶
| Name | Field Type | Description |
|---|---|---|
| Displacement | Vector | The displacement field $\mathbf{u}$ [m]. |
| Von Mises Stress | Scalar | The von Mises equivalent stress $$ \sigma_\mathrm{vM} = \sqrt{\tfrac{3}{2}\, \boldsymbol{s} : \boldsymbol{s}}, $$ where $\boldsymbol{s} = \boldsymbol{\sigma} - \tfrac{1}{3}\mathrm{tr}(\boldsymbol{\sigma})\,\mathbf{I}$ is the deviatoric stress. Standard yield criterion for ductile metals. |