SuperDex Physics C++ API
Loading...
Searching...
No Matches
superdex::PerElementSoftMaterialData Struct Reference

Per-element material parameters for a soft body in struct-of-arrays format. More...

#include <material_params.h>

Public Member Functions

int GetNumElements () const
 Number of elements described by this per-element material field.
bool operator!= (PerElementSoftMaterialData const &other) const =default
bool operator== (PerElementSoftMaterialData const &other) const =default
 PerElementSoftMaterialData ()=default
 PerElementSoftMaterialData (PerElementSoftMaterialDataView const &other)
 Copy from PerElementSoftMaterialDataView.

Public Attributes

DynamicArray< realanisoAlpha
 Anisotropic stiffness (α) [Pa]. 1 per element.
DynamicArray< realanisoLength
 Anisotropic reference length (dimensionless). 1 per element.
DynamicArray< realanisoPhi
 Fiber elevation angle (φ) [rad]. 1 per element.
DynamicArray< realanisoTheta
 Fiber azimuthal angle (θ) [rad]. 1 per element.
DynamicArray< realarapStiffness
 ARAP stiffness (μ) [Pa].
DynamicArray< realpoissonRatio
 Poisson's ratio (dimensionless). 1 per element.
MaterialPsdStrategy psdStrategy = MaterialPsdStrategy::MaterialDefault
 Strategy for ensuring positive semi-definite Hessian matrices.
DynamicArray< realshapeTargetTensor
 Shape target tensor offset in flat symmetric upper-triangle layout.
SoftMaterialType type = SoftMaterialType::NeoHookean
 Material constitutive model.
DynamicArray< realyoungsModulus
 Young's modulus [Pa]. 1 per element.

Detailed Description

Per-element material parameters for a soft body in struct-of-arrays format.

See also
SoftMaterialParams, PerElementSoftMaterialDataView

Definition at line 151 of file material_params.h.

Constructor & Destructor Documentation

◆ PerElementSoftMaterialData() [1/2]

superdex::PerElementSoftMaterialData::PerElementSoftMaterialData ( )
default

◆ PerElementSoftMaterialData() [2/2]

superdex::PerElementSoftMaterialData::PerElementSoftMaterialData ( PerElementSoftMaterialDataView const & other)
inline

Copy from PerElementSoftMaterialDataView.

Parameters
[in]otherSource data.

Definition at line 37 of file material_params_inl.h.

Member Function Documentation

◆ GetNumElements()

int superdex::PerElementSoftMaterialData::GetNumElements ( ) const
nodiscard

Number of elements described by this per-element material field.

Derived from the per-element array appropriate to type: arapStiffness for the ARAP-family materials (SoftMaterialType::Arap and SoftMaterialType::ActiveShapeTargetingArap), and poissonRatio for the Lame-based materials.

Returns
Number of elements.

◆ operator!=()

bool superdex::PerElementSoftMaterialData::operator!= ( PerElementSoftMaterialData const & other) const
default

◆ operator==()

bool superdex::PerElementSoftMaterialData::operator== ( PerElementSoftMaterialData const & other) const
default

Member Data Documentation

◆ anisoAlpha

DynamicArray<real> superdex::PerElementSoftMaterialData::anisoAlpha

Anisotropic stiffness (α) [Pa]. 1 per element.

Definition at line 168 of file material_params.h.

◆ anisoLength

DynamicArray<real> superdex::PerElementSoftMaterialData::anisoLength

Anisotropic reference length (dimensionless). 1 per element.

Definition at line 169 of file material_params.h.

◆ anisoPhi

DynamicArray<real> superdex::PerElementSoftMaterialData::anisoPhi

Fiber elevation angle (φ) [rad]. 1 per element.

Definition at line 171 of file material_params.h.

◆ anisoTheta

DynamicArray<real> superdex::PerElementSoftMaterialData::anisoTheta

Fiber azimuthal angle (θ) [rad]. 1 per element.

Definition at line 170 of file material_params.h.

◆ arapStiffness

DynamicArray<real> superdex::PerElementSoftMaterialData::arapStiffness

ARAP stiffness (μ) [Pa].

1 per element.

Definition at line 172 of file material_params.h.

◆ poissonRatio

DynamicArray<real> superdex::PerElementSoftMaterialData::poissonRatio

Poisson's ratio (dimensionless). 1 per element.

Definition at line 167 of file material_params.h.

◆ psdStrategy

MaterialPsdStrategy superdex::PerElementSoftMaterialData::psdStrategy = MaterialPsdStrategy::MaterialDefault

Strategy for ensuring positive semi-definite Hessian matrices.

Definition at line 165 of file material_params.h.

◆ shapeTargetTensor

DynamicArray<real> superdex::PerElementSoftMaterialData::shapeTargetTensor

Shape target tensor offset in flat symmetric upper-triangle layout.

6 values per element. Defines S_t = I + [[s0, s1, s2], [s1, s3, s4], [s2, s4, s5]].

Definition at line 175 of file material_params.h.

◆ type

SoftMaterialType superdex::PerElementSoftMaterialData::type = SoftMaterialType::NeoHookean

Material constitutive model.

Definition at line 162 of file material_params.h.

◆ youngsModulus

DynamicArray<real> superdex::PerElementSoftMaterialData::youngsModulus

Young's modulus [Pa]. 1 per element.

Definition at line 166 of file material_params.h.


The documentation for this struct was generated from the following files: