Elasticity models
Overview
Currently, NEML only has small strain linear elasticity models. Such models implement the LinearElasticModel interface, defined as:

where
is the stiffness tensor,
is the compliance tensor,
is the Young’s modulus,
is the Poisson’s ratio,
is the shear modulus, and
is the bulk modulus.
The material model integration algorithms use the stiffness and compliance
directly.
The interface returns the scalar elastic properties for use in calculating
material properties, for example the shear modulus is used in
calculating normalized activation energy for the Regime switching model.
Implementations
- Isotropic linear elasticity
- Overview
- Parameters
- Class description
IsotropicLinearElasticModelIsotropicLinearElasticModel::IsotropicLinearElasticModel()IsotropicLinearElasticModel::C()IsotropicLinearElasticModel::S()IsotropicLinearElasticModel::E()IsotropicLinearElasticModel::nu()IsotropicLinearElasticModel::K()IsotropicLinearElasticModel::type()IsotropicLinearElasticModel::initialize()IsotropicLinearElasticModel::parameters()
Class description
-
class LinearElasticModel : public neml::NEMLObject
Interface of all linear elastic models.
Subclassed by neml::CubicLinearElasticModel, neml::IsotropicLinearElasticModel, neml::TransverseIsotropicLinearElasticModel
Public Functions
-
LinearElasticModel(ParameterSet ¶ms)
-
virtual void C(double T, double *const Cv) const = 0
The stiffness tensor, in Mandel notation.
-
virtual void S(double T, double *const Sv) const = 0
The compliance tensor, in Mandel notation.
-
SymSymR4 C(double T, const Orientation &Q) const
The rotated stiffness tensor in a tensor object.
-
SymSymR4 S(double T, const Orientation &Q) const
The rotated compliance tensor in a tensor object.
-
virtual double G(double T) const
An effective shear modulus.
-
virtual double G(double T, const Orientation &Q, const Vector &b, const Vector &n) const
-
LinearElasticModel(ParameterSet ¶ms)