|
| constexpr const MaterialImpl & | impl () const |
| | Const accessor to the underlying material (CRTP). More...
|
| |
| constexpr MaterialImpl & | impl () |
| | Accessor to the underlying material (CRTP). More...
|
| |
| constexpr std::string | name () const |
| | Get the name of the implemented material. More...
|
| |
template<StrainTags tag, typename Derived >
requires CorrectStrainSize<MaterialImpl, Derived> |
| auto | storedEnergy (const Eigen::MatrixBase< Derived > &Eraw) const |
| | Return the stored potential energy of the material. More...
|
| |
template<StrainTags tag, bool voigt = true, typename Derived >
requires CorrectStrainSize<MaterialImpl, Derived> |
| auto | stresses (const Eigen::MatrixBase< Derived > &Eraw) const |
| | Get the stresses of the material. More...
|
| |
template<StrainTags tag, bool voigt = true, typename Derived >
requires CorrectStrainSize<MaterialImpl, Derived> |
| auto | tangentModuli (const Eigen::MatrixBase< Derived > &Eraw) const |
| | Get the tangentModuli of the material. More...
|
| |
| template<typename STO > |
| auto | rebind () const |
| | Rebind material to a different scalar type. More...
|
| |
template<class MI>
struct Ikarus::Material< MI >
Consider a hyper elastic material with the free Helmholtz energy
\[\require{cases}\psi: \begin{cases}\mathbb{R}^{3\times 3} &\rightarrow \mathbb{R} \\ \BC
&\mapsto \psi(\BC) \end{cases}.\]
Then, the value of this potential energy is return by storedEnergy and its first derivative (the stresses) by stresses and the second derivatives (the tangent moduli) by tangentModuli .
The passed strains can be in several formats, i.e., \(\BC\) can be the right Cauchy-Green tensor, the deformation gradient \(\mathbf{F}\) or linear strains. The current supported tags are given by Ikarus::StrainTags.
- Template Parameters
-
| MI | Type of the underlying material implementation. |