Implementation of the ArrudaBoyce material model (also referred as Eight-Chain model). More...
#include <ikarus/finiteelements/mechanics/materials/hyperelastic/deviatoric/arrudaboyce.hh>
Public Types | |
using | ScalarType = ST_ |
template<typename ST = ScalarType> | |
using | PrincipalStretches = Eigen::Vector< ST, 3 > |
template<typename ST = ScalarType> | |
using | Invariants = PrincipalStretches< ST > |
template<typename ST = ScalarType> | |
using | FirstDerivative = Eigen::Vector< ST, dim > |
template<typename ST = ScalarType> | |
using | SecondDerivative = Eigen::Matrix< ST, dim, dim > |
using | MaterialParameters = ArrudaBoyceMatParameters |
Public Member Functions | |
ArrudaBoyceT (const MaterialParameters &matPar) | |
Constructor for ArrudaBoyceT. More... | |
MaterialParameters | materialParametersImpl () const |
Returns the material parameters stored in the material. More... | |
template<typename ST > | |
ST | storedEnergyImpl (const PrincipalStretches< ST > &lambda) const |
Computes the stored energy in the ArrudaBoyce material model. More... | |
template<typename ST > | |
FirstDerivative< ST > | firstDerivativeImpl (const PrincipalStretches< ST > &lambda) const |
Computes the first derivative of the stored energy function w.r.t. the total principal stretches. More... | |
template<typename ST > | |
SecondDerivative< ST > | secondDerivativeImpl (const PrincipalStretches< ST > &lambda) const |
Computes the second derivatives of the stored energy function w.r.t. the total principal stretches. More... | |
template<typename STO > | |
auto | rebind () const |
Rebinds the material to a different scalar type. More... | |
Static Public Member Functions | |
static constexpr std::string | name () noexcept |
Static Public Attributes | |
static constexpr int | dim = 3 |
static constexpr int | numTerms = 5 |
static constexpr auto | stretchTag = PrincipalStretchTags::deviatoric |
The energy is computed as
with
The first derivatives w.r.t the total principal stretches are
The second derivatives w.r.t the total principal stretches are
ST_ | The underlying scalar type. |
using Ikarus::Materials::ArrudaBoyceT< ST_ >::FirstDerivative = Eigen::Vector<ST, dim> |
using Ikarus::Materials::ArrudaBoyceT< ST_ >::Invariants = PrincipalStretches<ST> |
using Ikarus::Materials::ArrudaBoyceT< ST_ >::MaterialParameters = ArrudaBoyceMatParameters |
using Ikarus::Materials::ArrudaBoyceT< ST_ >::PrincipalStretches = Eigen::Vector<ST, 3> |
using Ikarus::Materials::ArrudaBoyceT< ST_ >::ScalarType = ST_ |
using Ikarus::Materials::ArrudaBoyceT< ST_ >::SecondDerivative = Eigen::Matrix<ST, dim, dim> |
|
inlineexplicit |
matPar | The material parameters for the Arruda-Boyce material model. |
|
inline |
lambda | principal stretches |
ST | the scalartype of the principal stretches |
|
inline |
|
inlinestaticconstexprnoexcept |
|
inline |
STO | The target scalar type. |
|
inline |
lambda | principal stretches |
ST | the scalartype of the principal stretches |
|
inline |
Using only the first five terms of the inverse Langevin function.
lambda | principal stretches |
ST | the scalartype of the principal stretches |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |