VanishingStress material model that enforces stress components to be zero. More...
#include <ikarus/finiteelements/mechanics/materials/vanishingstress.hh>
Public Types | |
using | Underlying = MaterialImpl |
The underlying material type. More... | |
using | ScalarType = typename MaterialImpl::ScalarType |
Scalar type. More... | |
using | MaterialImplType = VanishingStress< stressIndexPair, MaterialImpl > |
Type of material implementation. More... | |
Public Member Functions | |
VanishingStress (MaterialImpl mat, typename MaterialImpl::ScalarType p_tol=1e-12) | |
Constructor for VanishingStress. More... | |
constexpr std::string | nameImpl () const noexcept |
template<typename Derived > | |
ScalarType | storedEnergyImpl (const Eigen::MatrixBase< Derived > &E) const |
Computes the stored energy for the VanishingStress material. More... | |
template<bool voigt, typename Derived > | |
auto | stressesImpl (const Eigen::MatrixBase< Derived > &E) const |
Computes the stresses for the VanishingStress material. More... | |
template<bool voigt, typename Derived > | |
auto | tangentModuliImpl (const Eigen::MatrixBase< Derived > &E) const |
Computes the tangent moduli for the VanishingStress material. More... | |
template<typename ScalarTypeOther > | |
auto | rebind () const |
Rebinds the material to a different scalar type. More... | |
constexpr const VanishingStress< stressIndexPair, MaterialImpl > & | impl () const |
Const accessor to the underlying material (CRTP). More... | |
constexpr VanishingStress< stressIndexPair, MaterialImpl > & | impl () |
Accessor to the underlying material (CRTP). More... | |
constexpr std::string | name () const |
Get the name of the implemented material. More... | |
auto | storedEnergy (const Eigen::MatrixBase< Derived > &Eraw) const |
Return the stored potential energy of the material. More... | |
auto | stresses (const Eigen::MatrixBase< Derived > &Eraw) const |
Get the stresses of the material. More... | |
auto | tangentModuli (const Eigen::MatrixBase< Derived > &Eraw) const |
Get the tangentModuli of the material. More... | |
Static Public Attributes | |
static constexpr auto | fixedPairs = stressIndexPair |
Array of fixed stress components. More... | |
static constexpr auto | freeVoigtIndices = createfreeVoigtIndices(fixedPairs) |
Free Voigt indices. More... | |
static constexpr auto | fixedVoigtIndices = createFixedVoigtIndices(fixedPairs) |
Fixed Voigt indices. More... | |
static constexpr auto | fixedDiagonalVoigtIndicesSize = countDiagonalIndices(fixedPairs) |
Number of fixed diagonal indices. More... | |
static constexpr auto | freeStrains = freeVoigtIndices.size() |
Number of free strains. More... | |
static constexpr auto | strainTag = MaterialImpl::strainTag |
Strain tag. More... | |
static constexpr auto | stressTag = MaterialImpl::stressTag |
Stress tag. More... | |
static constexpr auto | tangentModuliTag = MaterialImpl::tangentModuliTag |
Tangent moduli tag. More... | |
static constexpr bool | energyAcceptsVoigt = MaterialImpl::energyAcceptsVoigt |
Energy accepts Voigt notation. More... | |
static constexpr bool | stressToVoigt = true |
Stress to Voigt notation. More... | |
static constexpr bool | stressAcceptsVoigt = true |
Stress accepts Voigt notation. More... | |
static constexpr bool | moduliToVoigt = true |
Moduli to Voigt notation. More... | |
static constexpr bool | moduliAcceptsVoigt = true |
Moduli accepts Voigt notation. More... | |
static constexpr double | derivativeFactor = 1 |
Derivative factor. More... | |
static constexpr bool | isReduced |
Static constant for determining if the material has vanishing stress components (is reduced). More... | |
stressIndexPair | An array of StressIndexPair representing fixed stress components. |
MaterialImpl | The underlying material model. |
|
inherited |
using Ikarus::VanishingStress< stressIndexPair, MaterialImpl >::ScalarType = typename MaterialImpl::ScalarType |
using Ikarus::VanishingStress< stressIndexPair, MaterialImpl >::Underlying = MaterialImpl |
|
inlineexplicit |
mat | The underlying material model. |
p_tol | Tolerance for stress reduction. |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineconstexprinherited |
|
inlineconstexprnoexcept |
|
inline |
ScalarTypeOther | The target scalar type. |
|
inlineinherited |
This function return the free Helmholtz energy of the material
tag | Strain tag indicating which strain tensor components are passed. |
Derived | The underlying Eigen type. |
Eraw | The strain tensor components passed in Voigt notation or matrix notation. |
|
inline |
Derived | The derived type of the input matrix. |
E | The Green-Lagrangian strain. |
|
inlineinherited |
tag | Strain tag indicating which strain tensor components are passed. |
voigt | Boolean indicating whether to return Voigt-shaped result. |
Derived | The underlying Eigen type. |
Eraw | The strain tensor components passed in Voigt notation or matrix notation. |
|
inline |
voigt | A boolean indicating whether to return stresses in Voigt notation. |
Derived | The derived type of the input matrix. |
E | The Green-Lagrangian strain. |
|
inlineinherited |
tag | Strain tag indicating which strain tensor components are passed. |
voigt | Boolean indicating whether to return Voigt-shaped result. |
Derived | The underlying Eigen type. |
Eraw | The strain tensor components passed in Voigt notation or matrix notation. |
|
inline |
voigt | A boolean indicating whether to return tangent moduli in Voigt notation. |
Derived | The derived type of the input matrix. |
E | The Green-Lagrangian strain. |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexprinherited |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |