Materials
SuperDex Physics supports several material models for soft body simulation. Each model is defined by a strain energy density , where is the deformation gradient. The first Piola–Kirchhoff stress and material tangent follow from this energy.
Common Parameters
Most isotropic material models use the following constitutive parameters:
| Parameter | Symbol | Units | Description |
|---|---|---|---|
| Young's modulus | Pa | Overall stiffness. Higher values produce stiffer objects. Must be finite and positive. | |
| Poisson's ratio | -- | Compressibility. Must be finite and satisfy . |
SoftMaterialParams::density is an actor-wide parameter shared by every material model, rather than a field of a model-specific *MaterialParams struct. It specifies mass per unit reference volume in kg/m and defaults to 1000.
Young's modulus and Poisson's ratio define the Lamé parameters
which are used in the definitions of several different material formulations.
Notice that the first Lamé parameter, , diverges when approaches the ends of its allowed range. The limit of is of little practical interest, but the limit of corresponds to near-incompressibility, and is common in soft materials like rubber and biological tissues. The deformation of these materials occurs almost entirely in shearing modes, whose stiffness is controlled by , also known as the shear modulus. The stiffness of volume changes is controlled by the bulk modulus, , which diverges alongside . Approximating non-trivial shearing deformations on a discrete mesh often still requires some small volume changes of elements, which are penalized by . This causes artificial stiffening known as volumetric locking in the finite element literature. For general simulations of human-scale manipulation problems, it is recommended to avoid this limit and regularize handbook bulk modulus values of soft materials to keep .
Available Models
| Model | Use Case | Large Deformation | Inversion-Safe | Cost |
|---|---|---|---|---|
| Linear Elastic | Small displacement gradients only | No | N/A | Lowest |
| Neo-Hookean | General-purpose (recommended) | Yes | Yes | Medium |
| Saint Venant–Kirchhoff | Large rotation, moderate strain | Yes | No | Medium |
| ARAP | Shape-preserving deformation | Yes | Yes | Medium |
| Active Neo-Hookean | Muscle tissue with fiber actuation | Yes | Yes | High |
| Active Shape Targeting ARAP | Programmable local shape targets | Yes | Yes | High |
For most simulations, Neo-Hookean is the recommended default.
PSD Enforcement
The default choices of algebraic Solvers used to solve implicit stages during time integration assume that energy contributions from soft materials have positive-semidefinite (PSD) Hessians. The exact nonlinear material tangents can become indefinite and break this assumption. The default behavior is therefore to replace them with PSD approximations, to improve solver performance.
A full-eigensystem MaterialPsdStrategy::Projection writes a symmetric material tangent as
where the columns of are orthonormal eigenvectors and is the diagonal matrix of eigenvalues, then replaces it with
Here is a small eigenvalue floor, and each diagonal entry is replaced by . Some materials use equivalent analytic projections of only their indefinite modes and may preserve structural zero modes.
PSD projection is controlled by two parameters:
NonLinearSolverParams::psdProjModedecides when the nonlinear solve requests PSD projection. Its default isPsdProjectionMode::Always; retry modes request projection only after an iteration of Newton's method fails, whilePsdProjectionMode::Nevernever requests it.- Each material's
MaterialPsdStrategydecides how that material responds to a request.MaterialPsdStrategy::Noneignores the request and leaves the material tangent unmodified.
The available material-level PSD strategies are summarized in the following table:
| Strategy | Description | Availability |
|---|---|---|
MaterialDefault | Resolve to the selected material's concrete default strategy. | All nonlinear models |
Projection | Project the tangent to be PSD, commonly by replacing with . | All nonlinear models |
Fast | Drop or filter problematic terms. Faster, but may degrade nonlinear convergence. | StVK, Neo-Hookean |
AbsEigenProjection | Use absolute eigenvalue filtering, commonly replacing with . | All nonlinear models |
PerTermProjection | Project tangent summands independently. | Active Shape Targeting ARAP only |
None | Do not modify the material tangent. | All nonlinear models |
The Linear Elastic model has no material-level psdStrategy field because its tangent is unconditionally PSD.