Namespace ae108::elements::materialmodels
Namespace List > ae108 > elements > materialmodels
Compute energy, stress, strain, and tangent matrix of material models. More...
Classes
Type | Name |
---|---|
struct | AutomaticStressTrait <class MaterialModel_> Computes the stress by differentiation of the energy. |
struct | AutomaticTangentMatrixTrait <class MaterialModel_> Computes the forces by differentiation of the stresses. |
struct | ComputeEnergyTrait <class MaterialModel> |
struct | ComputeEnergyTrait< Hookean< Dimension_, ValueType_, RealType_ > > <Dimension_, class ValueType_, class RealType_> |
struct | ComputeEnergyTrait< Minimal< Dimension_ > > <Dimension_> Always returns 0. |
struct | ComputeStrainTrait <class MaterialModel> |
struct | ComputeStrainTrait< Hookean< Dimension_, ValueType_, RealType_ > > <Dimension_, class ValueType_, class RealType_> |
struct | ComputeStressTrait <class MaterialModel> |
struct | ComputeStressTrait< Hookean< Dimension_, ValueType_, RealType_ > > <Dimension_, class ValueType_, class RealType_> |
struct | ComputeStressTrait< Minimal< Dimension_ > > <Dimension_> Computes the stress by differentiating the energy. |
struct | ComputeTangentMatrixTrait <class MaterialModel> |
struct | ComputeTangentMatrixTrait< Hookean< Dimension_, ValueType_, RealType_ > > <Dimension_, class ValueType_, class RealType_> |
struct | ComputeTangentMatrixTrait< Minimal< Dimension_ > > <Dimension_> Computes the tangent matrix by differentiating the stress. |
struct | Hookean <Dimension_, class ValueType_, class RealType_> A material model for linear elastic isotropic materials. |
struct | MaterialModelBase <class SizeType_, class ValueType_, class RealType_, Dimension_, DegreesOfFreedom_> |
struct | Minimal <Dimension_> A minimal example of a material model. Note that only the energy is defined. |
Public Functions
Type | Name |
---|---|
MaterialModel_::Stress | automatic_stress (const MaterialModel_ & model, const typename MaterialModel_::size_type id, const typename MaterialModel_::DisplacementGradient & gradient, const typename MaterialModel_::Time time) |
MaterialModel_::TangentMatrix | automatic_tangent_matrix (const MaterialModel_ & model, const typename MaterialModel_::size_type id, const typename MaterialModel_::DisplacementGradient & gradient, const typename MaterialModel_::Time time) |
MaterialModel_::Energy | compute_energy (const MaterialModel_ & model, const typename MaterialModel_::size_type id, const typename MaterialModel_::DisplacementGradient & gradient, const typename MaterialModel_::Time time) noexcept |
MaterialModel_::Strain | compute_strain (const MaterialModel_ & model, const typename MaterialModel_::size_type id, const typename MaterialModel_::DisplacementGradient & gradient, const typename MaterialModel_::Time time) noexcept |
MaterialModel_::Stress | compute_stress (const MaterialModel_ & model, const typename MaterialModel_::size_type id, const typename MaterialModel_::DisplacementGradient & gradient, const typename MaterialModel_::Time time) |
MaterialModel_::TangentMatrix | compute_tangent_matrix (const MaterialModel_ & model, const typename MaterialModel_::size_type id, const typename MaterialModel_::DisplacementGradient & gradient, const typename MaterialModel_::Time time) |
Detailed Description
Contains the traits to compute energy, stress, strain, and tangent matrix of a material model. There are also traits to compute the stress and the tangent matrix numerically.
These traits are implemented for the Hookean material model and the Minimal material model (which shows how to implement a valid material model with minimal effort).
Public Functions Documentation
function automatic_stress
template<class MaterialModel_>
MaterialModel_::Stress ae108::elements::materialmodels::automatic_stress (
const MaterialModel_ & model,
const typename MaterialModel_::size_type id,
const typename MaterialModel_::DisplacementGradient & gradient,
const typename MaterialModel_::Time time
)
function automatic_tangent_matrix
template<class MaterialModel_>
MaterialModel_::TangentMatrix ae108::elements::materialmodels::automatic_tangent_matrix (
const MaterialModel_ & model,
const typename MaterialModel_::size_type id,
const typename MaterialModel_::DisplacementGradient & gradient,
const typename MaterialModel_::Time time
)
function compute_energy
template<class MaterialModel_>
MaterialModel_::Energy ae108::elements::materialmodels::compute_energy (
const MaterialModel_ & model,
const typename MaterialModel_::size_type id,
const typename MaterialModel_::DisplacementGradient & gradient,
const typename MaterialModel_::Time time
) noexcept
function compute_strain
template<class MaterialModel_>
MaterialModel_::Strain ae108::elements::materialmodels::compute_strain (
const MaterialModel_ & model,
const typename MaterialModel_::size_type id,
const typename MaterialModel_::DisplacementGradient & gradient,
const typename MaterialModel_::Time time
) noexcept
function compute_stress
template<class MaterialModel_>
MaterialModel_::Stress ae108::elements::materialmodels::compute_stress (
const MaterialModel_ & model,
const typename MaterialModel_::size_type id,
const typename MaterialModel_::DisplacementGradient & gradient,
const typename MaterialModel_::Time time
)
function compute_tangent_matrix
template<class MaterialModel_>
MaterialModel_::TangentMatrix ae108::elements::materialmodels::compute_tangent_matrix (
const MaterialModel_ & model,
const typename MaterialModel_::size_type id,
const typename MaterialModel_::DisplacementGradient & gradient,
const typename MaterialModel_::Time time
)
The documentation for this class was generated from the following file elements/src/include/ae108/elements/materialmodels/automatic_stress.h