ConstitutivePoint.h file
Central constitutive input abstraction for hyperelastic formulations.
The ConstitutivePoint bundles all data available at a quadrature point for constitutive evaluation. It is built by composition over Geometry::Point, which provides the geometric evaluation context (reference/physical coordinates, polytope, Jacobian), while ConstitutivePoint extends it with:
- KinematicState (deformation gradient and derived quantities)
- Extensible typed auxiliary data (fiber directions, activation, etc.)
Auxiliary data tags define their associated value type via a nested Type alias, so set<Tag>(value) and get<Tag>() do not require the caller to repeat the value type.
This abstraction decouples constitutive laws from the integration scheme and finite element space, enabling:
- Arbitrary quadrature rules (not just centroid)
- Arbitrary FE spaces (not just P1)
- Heterogeneous materials (region-dependent parameters)
- Anisotropic materials (fiber direction fields)
- Active materials (activation parameters)
Namespaces
- namespace Rodin
- The Rodin library for finite element methods and shape optimization.
- namespace Rodin::Solid
- Hyperelastic solid mechanics module for large-deformation problems.
- namespace Rodin::Solid::Tags
- Standard tag types for auxiliary constitutive data.
Classes
- struct Rodin::Solid::Tags::FiberDirection
- Tag for the fiber direction vector.
- struct Rodin::Solid::Tags::SheetDirection
- Tag for the sheet direction vector.
- struct Rodin::Solid::Tags::SheetNormalDirection
- Tag for the sheet-normal direction vector.
- struct Rodin::Solid::Tags::Activation
- Tag for the activation parameter.
- class Rodin::Solid::ConstitutivePoint
- Central data bundle for constitutive evaluation at a quadrature point.