Implementation of a AutoDiff-based material model. More...
#include <ikarus/experimental/autodiffmat.hh>
Public Types | |
using | ScalarType = typename RealMAT::ScalarType |
using | StrainMatrix = typename RealMAT::StrainMatrix |
using | StressMatrix = typename RealMAT::StressMatrix |
using | MaterialTensor = typename RealMAT::MaterialTensor |
using | MaterialParameters = typename RealMAT::MaterialParameters |
Public Member Functions | |
template<typename... Args> | |
AutoDiffMAT (Args &&... args) | |
Constructor for the AutoDiffMAT class. Forward the construction to the underlying element. More... | |
MaterialParameters | materialParametersImpl () const |
Returns the material parameters stored in the material. More... | |
template<StrainTags tag, typename Derived > | |
auto | storedEnergy (const Eigen::MatrixBase< Derived > &E) const |
Computes the stored energy in the underlying material model. More... | |
template<StrainTags tag, bool voigt = true, typename Derived > | |
auto | stresses (const Eigen::MatrixBase< Derived > &E) const |
Computes the stresses in the underlying material model. More... | |
template<StrainTags tag, bool voigt = true, typename Derived > | |
auto | tangentModuli (const Eigen::MatrixBase< Derived > &E) const |
Computes the tangent moduli in the underlying material model. More... | |
const RealMAT & | realMAT () const |
Get the reference to the base material. More... | |
Static Public Member Functions | |
static constexpr std::string | nameImpl () noexcept |
Static Public Attributes | |
static constexpr int | dim = RealMAT::dim |
static constexpr int | nVoigtIndices = dim * (dim + 1) / 2 |
static constexpr auto | strainTag = RealMAT::strainTag |
static constexpr auto | stressTag = RealMAT::stressTag |
static constexpr auto | tangentModuliTag = RealMAT::tangentModuliTag |
static constexpr bool | energyAcceptsVoigt = RealMAT::energyAcceptsVoigt |
static constexpr bool | stressToVoigt = RealMAT::stressToVoigt |
static constexpr bool | stressAcceptsVoigt = RealMAT::stressAcceptsVoigt |
static constexpr bool | moduliToVoigt = RealMAT::moduliToVoigt |
static constexpr bool | moduliAcceptsVoigt = RealMAT::moduliAcceptsVoigt |
static constexpr double | derivativeFactorImpl = RealMAT::derivativeFactorImpl |
As of now using autodiff on the implemented materials doesn't always yield the expected result. Therefore this is labelled as an experimental feature for now. Please validate your results independently.
RealMAT | Type of the original material model. |
forceAutoDiffV | Force automatic differentiation to compute tangentModuli via stresses and stresses via energy. |
forceAutoDiffS | Force automatic differentiation to compute tangentModuli and stresses via energy. |
using Ikarus::Experimental::AutoDiffMAT< RealMAT, forceAutoDiffV, forceAutoDiffS >::MaterialParameters = typename RealMAT::MaterialParameters |
using Ikarus::Experimental::AutoDiffMAT< RealMAT, forceAutoDiffV, forceAutoDiffS >::MaterialTensor = typename RealMAT::MaterialTensor |
using Ikarus::Experimental::AutoDiffMAT< RealMAT, forceAutoDiffV, forceAutoDiffS >::ScalarType = typename RealMAT::ScalarType |
using Ikarus::Experimental::AutoDiffMAT< RealMAT, forceAutoDiffV, forceAutoDiffS >::StrainMatrix = typename RealMAT::StrainMatrix |
using Ikarus::Experimental::AutoDiffMAT< RealMAT, forceAutoDiffV, forceAutoDiffS >::StressMatrix = typename RealMAT::StressMatrix |
|
inlineexplicit |
Args | Variadic template for constructor arguments. |
args | Constructor arguments. |
|
inline |
|
inlinestaticconstexprnoexcept |
|
inline |
|
inline |
Derived | The derived type of the input matrix. |
E | The strain mesasure. |
|
inline |
voigt | A boolean indicating whether to return stresses in Voigt notation. |
Derived | The derived type of the input matrix. |
E | The strain mesasure. |
|
inline |
voigt | A boolean indicating whether to return tangent moduli in Voigt notation. |
Derived | The derived type of the input matrix. |
E | The strain mesasure. |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |