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 |