Input.h file
Extensible input injection mechanism for constitutive evaluation.
An Input populates a ConstitutivePoint with auxiliary data at each quadrature point during integration. This is the injection site for material-specific fields (fiber directions, activation parameters, region-wise material properties, etc.) without hard-coding them into the integrator or the constitutive law.
Usage with CRTP
struct MyInput : Solid::Input<MyInput> { void populate(Solid::ConstitutivePoint& cp) const { // e.g., interpolate fiber direction from a GridFunction Math::SpatialVector<Real> fiber = ...; cp.set<Solid::Tags::FiberDirection>(fiber); } }; Solid::InternalForce force(law, v); force.setInput(MyInput{});
Usage with lambda / std::function
force.setInput([&](Solid::ConstitutivePoint& cp) { cp.set<Solid::Tags::Activation>(activationValue); });
Namespaces
- namespace Rodin
- The Rodin library for finite element methods and shape optimization.
- namespace Rodin::Solid
- Hyperelastic solid mechanics module for large-deformation problems.
Classes
-
template<class Derived>class Rodin::Solid::Input
- CRTP base class for inputs.