🧪 Material Parameters¶
Per-object material parameters. Set via object.param.set(key, value) on a frontend.Object. The solver exposes three element types, each with its own defaults:
tri: triangle shells (cloth).tet: tetrahedral solids.rod: rod / edge elements.
(not applicable) in a default column means the given element type does not expose that parameter.
model¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Deformation Model |
Description |
Elastic constitutive model used to evaluate stretch energy. Valid choices are ‘arap’, ‘stvk’, ‘baraff-witkin’ (shells only), and ‘snhk’ (stable neo-Hookean). Rods are always solved with ARAP internally. |
density¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Density |
Description |
Rest-state mass density. Units depend on element type: kg/m^3 for ‘tet’ (volumetric), kg/m^2 for ‘tri’ (areal), and kg/m for ‘rod’ (linear). Must be positive. |
young-mod¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Young’s Modulus |
Description |
Stiffness coefficient fed into the constitutive model, pre-normalized by density (units of Pa/rho). This decouples mass from stiffness, so doubling density alone leaves the motion unchanged. Must be positive. |
poiss-rat¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Poisson’s Ratio |
Description |
Poisson’s ratio used together with Young’s modulus to derive the Lame parameters. Valid range is (0, 0.5); values near 0.5 produce near-incompressible behavior. Used by ‘tri’ and ‘tet’ elements only. |
bend¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Bending Stiffness |
Description |
Dimensionless bending stiffness for shell hinges (between adjacent ‘tri’ faces) and for rod-joint bending at interior rod vertices. Must be non-negative. Not used by ‘tet’ elements. |
shrink-x¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Shrink X |
Description |
Anisotropic rest-shape scale along the UV X (warp) direction for ‘tri’ shells. Values below 1.0 pre-shrink the cloth, above 1.0 pre-stretch it. Must be positive. Cannot be combined with a non-zero strain limit on the same face. |
shrink-y¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Shrink Y |
Description |
Anisotropic rest-shape scale along the UV Y (weft) direction for ‘tri’ shells. Values below 1.0 pre-shrink the cloth, above 1.0 pre-stretch it. Must be positive. Cannot be combined with a non-zero strain limit on the same face. |
shrink¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Shrink |
Description |
Isotropic rest-shape scale for ‘tet’ solids. Values below 1.0 pre-contract the solid so it pulls toward a smaller target, above 1.0 pre-inflate it. Must be positive. Ignored by ‘tri’ and ‘rod’ elements. |
contact-gap¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Contact Gap |
Description |
Barrier activation distance for contact detection, in scene units. At each pair the solver uses the mean of the two participants’ gaps as the threshold. Must be positive. |
contact-offset¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Contact Offset |
Description |
Extra per-element padding added on top of the contact gap (scene units). At each pair the two participants’ offsets are summed, acting like a skin thickness that guarantees minimum clearance. Must be non-negative. |
strain-limit¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Strain Limit |
Description |
Upper bound on per-element tensile strain (dimensionless, e.g. 0.05 = 5% stretch). 0.0 disables strain limiting. Supported on ‘tri’ and ‘rod’ elements only, and incompatible with non-unit shrink-x/shrink-y on the same face. |
friction¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Friction Coefficient |
Description |
Coulomb friction coefficient at contacts (dimensionless). When two elements touch, the solver uses the minimum of the two participants’ coefficients, so the more slippery side wins. Must be non-negative. |
length-factor¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Rod Rest-Length Factor |
Description |
Multiplier applied to each rod edge’s rest length (dimensionless). Values below 1.0 pre-tension the rod, above 1.0 pre-compress it. Must be positive. Used by ‘rod’ elements only. |
pressure¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Inflation Pressure |
Description |
Per-face inflation pressure pushing ‘tri’ shells outward along the face normal. Must be non-negative; 0.0 disables inflation. Ignored by ‘tet’ and ‘rod’ elements. |
plasticity¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
(not applicable) |
Label |
Plasticity Rate |
Description |
Rate constant (per second) for stretch plasticity, driving the rest shape toward the current deformation via alpha = 1 - exp(-rate * dt). 0.0 disables plasticity; higher values creep faster. Must be non-negative. |
plasticity-threshold¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
(not applicable) |
Label |
Plasticity Threshold |
Description |
Dead zone (dimensionless) around unit principal stretch S=1. Plasticity only activates on a singular value k when |S_k - 1| exceeds this threshold. 0.0 means any deviation triggers creep. |
bend-plasticity¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Bend Plasticity Rate |
Description |
Rate constant (per second) for bending plasticity that drifts the rest angle of shell hinges and interior rod joints toward the current angle. 0.0 disables. Applies to ‘tri’ and ‘rod’; kept on ‘tet’ only as a placeholder and ignored by the solver. |
bend-plasticity-threshold¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Bend Plasticity Threshold |
Description |
Angular dead zone (radians) around the rest angle. Bend plasticity only activates when |theta - theta_rest| exceeds this threshold. 0.0 means any angular deviation triggers creep. |
bend-rest-from-geometry¶
Key |
|
Default (tri) |
|
Default (tet) |
|
Default (rod) |
|
Label |
Bend Rest From Initial Geometry |
Description |
If non-zero, initialize each hinge or rod-joint rest angle from the initial pose instead of the default (flat for shells, straight for rods). Treated as a boolean flag. |