KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
This law defines a Neo-Hookean hyperelastic material with monotonic behavior for 3D problems. More...
#include <hyper_elastic_simo_taylor_neo_hookean_3d.h>
Public Member Functions | |
Lyfe Cycle | |
HyperElasticSimoTaylorNeoHookean3D () | |
Default constructor. More... | |
HyperElasticSimoTaylorNeoHookean3D (const HyperElasticSimoTaylorNeoHookean3D &rOther) | |
Copy constructor. More... | |
~HyperElasticSimoTaylorNeoHookean3D () override | |
Destructor. More... | |
Operations | |
ConstitutiveLaw::Pointer | Clone () const override |
Clone operation. More... | |
SizeType | WorkingSpaceDimension () override |
Dimension of the law: More... | |
SizeType | GetStrainSize () const override |
Voigt tensor size: More... | |
StrainMeasure | GetStrainMeasure () override |
Returns the expected strain measure of this constitutive law (by default Green-Lagrange) More... | |
StressMeasure | GetStressMeasure () override |
Returns the stress measure of this constitutive law (by default 2st Piola-Kirchhoff stress in voigt notation) More... | |
void | CalculateMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response: PK2 stresses and algorithmic ConstitutiveMatrix. More... | |
double & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override |
It calculates the value of a specified variable (double) More... | |
Public Member Functions inherited from Kratos::HyperElasticIsotropicNeoHookean3D | |
HyperElasticIsotropicNeoHookean3D () | |
Default constructor. More... | |
HyperElasticIsotropicNeoHookean3D (const HyperElasticIsotropicNeoHookean3D &rOther) | |
Copy constructor. More... | |
~HyperElasticIsotropicNeoHookean3D () override | |
Destructor. More... | |
void | GetLawFeatures (Features &rFeatures) override |
This function is designed to be called once to check compatibility with element. More... | |
void | CalculateMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response: PK1 stresses and algorithmic ConstitutiveMatrix. More... | |
void | CalculateMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response: Kirchhoff stresses and algorithmic ConstitutiveMatrix. More... | |
void | CalculateMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override |
Computes the material response: Cauchy stresses and algorithmic ConstitutiveMatrix. More... | |
void | InitializeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override |
Initialize the material response in terms of 1st Piola-Kirchhoff stresses. More... | |
void | InitializeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override |
Initialize the material response in terms of 2nd Piola-Kirchhoff stresses. More... | |
void | InitializeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override |
Initialize the material response in terms of Kirchhoff stresses. More... | |
void | InitializeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override |
Initialize the material response in terms of Cauchy stresses. More... | |
void | FinalizeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override |
Updates the material response: Cauchy stresses and Internal Variables. More... | |
void | FinalizeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override |
Updates the material response: Cauchy stresses and Internal Variables. More... | |
void | FinalizeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override |
Updates the material response: Cauchy stresses and Internal Variables. More... | |
void | FinalizeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override |
Updates the material response: Cauchy stresses and Internal Variables. More... | |
bool | RequiresInitializeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
bool | RequiresFinalizeMaterialResponse () override |
If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More... | |
Vector & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override |
It calculates the value of a specified variable (Vector) More... | |
Matrix & | CalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) override |
It calculates the value of a specified variable (Matrix) More... | |
int | Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override |
This function provides the place to perform checks on the completeness of the input. More... | |
virtual void | CalculateGreenLagrangianStrain (ConstitutiveLaw::Parameters &rValues, Vector &rStrainVector) |
It calculates the strain vector. More... | |
virtual void | CalculateAlmansiStrain (ConstitutiveLaw::Parameters &rValues, Vector &rStrainVector) |
Calculates the Almansi strains. More... | |
KRATOS_CLASS_POINTER_DEFINITION (HyperElasticIsotropicNeoHookean3D) | |
Pointer definition of HyperElasticIsotropicNeoHookean3D. More... | |
Public Member Functions inherited from Kratos::ConstitutiveLaw | |
KRATOS_CLASS_POINTER_DEFINITION (ConstitutiveLaw) | |
KRATOS_DEFINE_LOCAL_FLAG (USE_ELEMENT_PROVIDED_STRAIN) | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_STRESS) | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_CONSTITUTIVE_TENSOR) | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_STRAIN_ENERGY) | |
KRATOS_DEFINE_LOCAL_FLAG (ISOCHORIC_TENSOR_ONLY) | |
KRATOS_DEFINE_LOCAL_FLAG (VOLUMETRIC_TENSOR_ONLY) | |
KRATOS_DEFINE_LOCAL_FLAG (MECHANICAL_RESPONSE_ONLY) | |
KRATOS_DEFINE_LOCAL_FLAG (THERMAL_RESPONSE_ONLY) | |
KRATOS_DEFINE_LOCAL_FLAG (INCREMENTAL_STRAIN_MEASURE) | |
KRATOS_DEFINE_LOCAL_FLAG (INITIALIZE_MATERIAL_RESPONSE) | |
KRATOS_DEFINE_LOCAL_FLAG (FINALIZE_MATERIAL_RESPONSE) | |
KRATOS_DEFINE_LOCAL_FLAG (FINITE_STRAINS) | |
KRATOS_DEFINE_LOCAL_FLAG (INFINITESIMAL_STRAINS) | |
KRATOS_DEFINE_LOCAL_FLAG (THREE_DIMENSIONAL_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (PLANE_STRAIN_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (PLANE_STRESS_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (AXISYMMETRIC_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (U_P_LAW) | |
KRATOS_DEFINE_LOCAL_FLAG (ISOTROPIC) | |
KRATOS_DEFINE_LOCAL_FLAG (ANISOTROPIC) | |
ConstitutiveLaw () | |
~ConstitutiveLaw () override | |
virtual Pointer | Create (Kratos::Parameters NewParameters) const |
It creates a new constitutive law pointer. More... | |
virtual Pointer | Create (Kratos::Parameters NewParameters, const Properties &rProperties) const |
It creates a new constitutive law pointer (version with properties) More... | |
void | SetInitialState (InitialState::Pointer pInitialState) |
InitialState::Pointer | pGetInitialState () |
InitialState & | GetInitialState () |
bool | HasInitialState () const |
template<typename TVectorType > | |
void | AddInitialStressVectorContribution (TVectorType &rStressVector) |
Adds the initial stress vector if it is defined in the InitialState. More... | |
template<typename TVectorType > | |
void | AddInitialStrainVectorContribution (TVectorType &rStrainVector) |
Adds the initial strain vector if it is defined in the InitialState. More... | |
template<typename TMatrixType > | |
void | AddInitialDeformationGradientMatrixContribution (TMatrixType &rF) |
Adds the initial strain vector if it is defined in the InitialState. More... | |
virtual bool | Has (const Variable< bool > &rThisVariable) |
Returns whether this constitutive Law has specified variable (boolean) More... | |
virtual bool | Has (const Variable< int > &rThisVariable) |
Returns whether this constitutive Law has specified variable (integer) More... | |
virtual bool | Has (const Variable< double > &rThisVariable) |
Returns whether this constitutive Law has specified variable (double) More... | |
virtual bool | Has (const Variable< Vector > &rThisVariable) |
Returns whether this constitutive Law has specified variable (Vector) More... | |
virtual bool | Has (const Variable< Matrix > &rThisVariable) |
Returns whether this constitutive Law has specified variable (Matrix) More... | |
virtual bool | Has (const Variable< array_1d< double, 3 > > &rThisVariable) |
Returns whether this constitutive Law has specified variable (array of 3 components) More... | |
virtual bool | Has (const Variable< array_1d< double, 6 > > &rThisVariable) |
Returns whether this constitutive Law has specified variable (array of 6 components) More... | |
virtual bool & | GetValue (const Variable< bool > &rThisVariable, bool &rValue) |
Returns the value of a specified variable (boolean) More... | |
virtual int & | GetValue (const Variable< int > &rThisVariable, int &rValue) |
virtual double & | GetValue (const Variable< double > &rThisVariable, double &rValue) |
Returns the value of a specified variable (double) More... | |
virtual Vector & | GetValue (const Variable< Vector > &rThisVariable, Vector &rValue) |
Returns the value of a specified variable (Vector) More... | |
virtual Matrix & | GetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue) |
Returns the value of a specified variable (Matrix) More... | |
virtual array_1d< double, 3 > & | GetValue (const Variable< array_1d< double, 3 > > &rThisVariable, array_1d< double, 3 > &rValue) |
Returns the value of a specified variable (array of 3 components) More... | |
virtual array_1d< double, 6 > & | GetValue (const Variable< array_1d< double, 6 > > &rThisVariable, array_1d< double, 6 > &rValue) |
Returns the value of a specified variable (array of 6 components) More... | |
virtual void | SetValue (const Variable< bool > &rVariable, const bool &Value, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (boolean) More... | |
virtual void | SetValue (const Variable< int > &rVariable, const int &Value, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (integer) More... | |
virtual void | SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (double) More... | |
virtual void | SetValue (const Variable< Vector > &rVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (Vector) More... | |
virtual void | SetValue (const Variable< Matrix > &rVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (Matrix) More... | |
virtual void | SetValue (const Variable< array_1d< double, 3 > > &rVariable, const array_1d< double, 3 > &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (array of 3 components) More... | |
virtual void | SetValue (const Variable< array_1d< double, 6 > > &rVariable, const array_1d< double, 6 > &rValue, const ProcessInfo &rCurrentProcessInfo) |
Sets the value of a specified variable (array of 6 components) More... | |
virtual bool & | CalculateValue (Parameters &rParameterValues, const Variable< bool > &rThisVariable, bool &rValue) |
Calculates the value of a specified variable (bool) More... | |
virtual int & | CalculateValue (Parameters &rParameterValues, const Variable< int > &rThisVariable, int &rValue) |
Calculates the value of a specified variable (int) More... | |
virtual array_1d< double, 3 > & | CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rValue) |
Calculates the value of a specified variable (array of 3 components) More... | |
virtual array_1d< double, 6 > & | CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 6 > > &rVariable, array_1d< double, 6 > &rValue) |
virtual void | CalculateDerivative (Parameters &rParameterValues, const Variable< double > &rFunctionVariable, const Variable< double > &rDerivativeVariable, double &rOutput) |
Calculates derivatives of a given function. More... | |
virtual void | CalculateDerivative (Parameters &rParameterValues, const Variable< Vector > &rFunctionVariable, const Variable< double > &rDerivativeVariable, Vector &rOutput) |
Calculates derivatives of a given function. More... | |
virtual void | CalculateDerivative (Parameters &rParameterValues, const Variable< Matrix > &rFunctionVariable, const Variable< double > &rDerivativeVariable, Matrix &rOutput) |
Calculates derivatives of a given function. More... | |
virtual void | CalculateDerivative (Parameters &rParameterValues, const Variable< array_1d< double, 3 >> &rFunctionVariable, const Variable< double > &rDerivativeVariable, array_1d< double, 3 > &rOutput) |
Calculates derivatives of a given function. More... | |
virtual bool | ValidateInput (const Properties &rMaterialProperties) |
virtual bool | IsIncremental () |
virtual void | InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) |
virtual void | InitializeSolutionStep (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | FinalizeSolutionStep (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | InitializeNonLinearIteration (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | FinalizeNonLinearIteration (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) |
void | CalculateMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure) |
virtual void | CalculateStressResponse (Parameters &rValues, Vector &rInternalVariables) |
void | InitializeMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure) |
Initialize the material response, called by the element in InitializeSolutionStep. More... | |
void | FinalizeMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure) |
Finalize the material response, called by the element in FinalizeSolutionStep. More... | |
virtual void | ResetMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) |
virtual Vector & | TransformStrains (Vector &rStrainVector, const Matrix &rF, StrainMeasure rStrainInitial, StrainMeasure rStrainFinal) |
virtual Matrix & | TransformStresses (Matrix &rStressMatrix, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal) |
virtual Vector & | TransformStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal) |
Vector & | TransformPK1Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal) |
Vector & | TransformPK2Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal) |
Vector & | TransformKirchhoffStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal) |
Vector & | TransformCauchyStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal) |
void | PullBackConstitutiveMatrix (Matrix &rConstitutiveMatrix, const Matrix &rF) |
void | PushForwardConstitutiveMatrix (Matrix &rConstitutiveMatrix, const Matrix &rF) |
virtual void | CalculateCauchyStresses (Vector &Cauchy_StressVector, const Matrix &F, const Vector &PK2_StressVector, const Vector &GreenLagrangeStrainVector) |
std::string | Info () const override |
Turn back information as a string. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
Print information about this object. More... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
Public Member Functions inherited from Kratos::Flags | |
Flags & | operator= (Flags const &rOther) |
Assignment operator. More... | |
operator bool () const | |
Flags | operator~ () const |
bool | operator! () const |
void | AssignFlags (Flags const &rOther) |
void | Set (const Flags ThisFlag) |
void | Set (const Flags ThisFlag, bool Value) |
void | Reset (const Flags ThisFlag) |
void | Flip (const Flags ThisFlag) |
void | SetPosition (IndexType Position, bool Value=true) |
bool | GetPosition (IndexType Position) const |
void | FlipPosition (IndexType Position) |
void | ClearPosition (IndexType Position) |
void | Clear () |
Flags | AsFalse () const |
bool | Is (Flags const &rOther) const |
bool | IsDefined (Flags const &rOther) const |
bool | IsNot (Flags const &rOther) const |
bool | IsNotDefined (Flags const &rOther) const |
KRATOS_CLASS_POINTER_DEFINITION (Flags) | |
Pointer definition of Flags. More... | |
const Flags & | operator|= (const Flags &Other) |
const Flags & | operator&= (const Flags &Other) |
Flags () | |
Default constructor. More... | |
Flags (Flags const &rOther) | |
Copy constructor. More... | |
virtual | ~Flags () |
Destructor. More... | |
Type Definitions | |
typedef ProcessInfo | ProcessInfoType |
The definition of the process info. More... | |
typedef HyperElasticIsotropicNeoHookean3D | BaseType |
The definition of the CL base class. More... | |
typedef std::size_t | SizeType |
The definition of the size type. More... | |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
static constexpr SizeType | Dimension = 3 |
Static definition of the dimension. More... | |
static constexpr SizeType | VoigtSize = 6 |
Static definition of the VoigtSize. More... | |
KRATOS_CLASS_POINTER_DEFINITION (HyperElasticSimoTaylorNeoHookean3D) | |
Pointer definition of HyperElasticSimoTaylorNeoHookean3D. More... | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
Public Types inherited from Kratos::HyperElasticIsotropicNeoHookean3D | |
typedef ProcessInfo | ProcessInfoType |
The definition of the process info. More... | |
typedef ConstitutiveLaw | BaseType |
The definition of the CL base class. More... | |
typedef std::size_t | SizeType |
The definition of the size type. More... | |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
Public Types inherited from Kratos::ConstitutiveLaw | |
enum | StrainMeasure { StrainMeasure_Infinitesimal , StrainMeasure_GreenLagrange , StrainMeasure_Almansi , StrainMeasure_Hencky_Material , StrainMeasure_Hencky_Spatial , StrainMeasure_Deformation_Gradient , StrainMeasure_Right_CauchyGreen , StrainMeasure_Left_CauchyGreen , StrainMeasure_Velocity_Gradient } |
enum | StressMeasure { StressMeasure_PK1 , StressMeasure_PK2 , StressMeasure_Kirchhoff , StressMeasure_Cauchy } |
typedef ProcessInfo | ProcessInfoType |
typedef std::size_t | SizeType |
typedef Geometry< Node > | GeometryType |
typedef Vector | StrainVectorType |
typedef Vector | StressVectorType |
typedef Matrix | VoigtSizeMatrixType |
typedef Matrix | DeformationGradientMatrixType |
Public Types inherited from Kratos::Flags | |
enum | FlagsList { Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 , Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 , Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 , Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 , Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 , Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 , Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 , Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30 } |
typedef int64_t | BlockType |
typedef int64_t | FlagType |
typedef std::size_t | IndexType |
Static Public Member Functions inherited from Kratos::ConstitutiveLaw | |
static bool | HasSameType (const ConstitutiveLaw &rLHS, const ConstitutiveLaw &rRHS) |
This method is used to check that two Constitutive Laws are the same type (references) More... | |
static bool | HasSameType (const ConstitutiveLaw *rLHS, const ConstitutiveLaw *rRHS) |
This method is used to check that two Constitutive Laws are the same type (pointers) More... | |
Static Public Member Functions inherited from Kratos::Flags | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
Static Public Attributes inherited from Kratos::HyperElasticIsotropicNeoHookean3D | |
static constexpr SizeType | Dimension = 3 |
Static definition of the dimension. More... | |
static constexpr SizeType | VoigtSize = 6 |
Static definition of the VoigtSize. More... | |
Protected Member Functions inherited from Kratos::ConstitutiveLaw | |
void | ContraVariantPushForward (Matrix &rMatrix, const Matrix &rF) |
void | ContraVariantPullBack (Matrix &rMatrix, const Matrix &rF) |
void | CoVariantPushForward (Matrix &rMatrix, const Matrix &rF) |
void | CoVariantPullBack (Matrix &rMatrix, const Matrix &rF) |
void | ConstitutiveMatrixTransformation (Matrix &rConstitutiveMatrix, const Matrix &rOriginalConstitutiveMatrix, const Matrix &rF) |
double & | TransformConstitutiveComponent (double &rCabcd, const Matrix &rConstitutiveMatrix, const Matrix &rF, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d) |
double & | GetConstitutiveComponent (double &rCabcd, const Matrix &rConstitutiveMatrix, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d) |
Static Protected Attributes inherited from Kratos::ConstitutiveLaw | |
static const unsigned int | msIndexVoigt3D6C [6][2] = { {0, 0}, {1, 1}, {2, 2}, {0, 1}, {1, 2}, {0, 2} } |
static const unsigned int | msIndexVoigt2D4C [4][2] = { {0, 0}, {1, 1}, {2, 2}, {0, 1} } |
static const unsigned int | msIndexVoigt2D3C [3][2] = { {0, 0}, {1, 1}, {0, 1} } |
This law defines a Neo-Hookean hyperelastic material with monotonic behavior for 3D problems.
This law implements a Neo-Hookean material model with monotonic behavior, suitable for the modelling of nearly incompressible materials. The model is well-posed as it satisfies the following fundamental conditions: zero stress for zero strain, infinite strain energy for both vanishing and infinite volume cases. It is based in a volumetric/deviatoric decomposition of the Helmholtz energy functional such that a monotonic isocoric response is obtained. More information can be found in Simo et al. (DOI: 10.1016/0045-7825(85)90033-7) and Simo et al. (DOI: 10.1016/0045-7825(91)90100-K) or in Scovazzi et al. 2015 (DOI: 10.1002/nme.5138).
The definition of the CL base class.
typedef std::size_t Kratos::HyperElasticSimoTaylorNeoHookean3D::IndexType |
The definition of the index type.
The definition of the process info.
typedef std::size_t Kratos::HyperElasticSimoTaylorNeoHookean3D::SizeType |
The definition of the size type.
Kratos::HyperElasticSimoTaylorNeoHookean3D::HyperElasticSimoTaylorNeoHookean3D | ( | ) |
Default constructor.
Kratos::HyperElasticSimoTaylorNeoHookean3D::HyperElasticSimoTaylorNeoHookean3D | ( | const HyperElasticSimoTaylorNeoHookean3D & | rOther | ) |
Copy constructor.
|
override |
Destructor.
|
overridevirtual |
Computes the material response: PK2 stresses and algorithmic ConstitutiveMatrix.
rValues | The Internalvalues of the law |
Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.
|
overridevirtual |
It calculates the value of a specified variable (double)
rParameterValues | the needed parameters for the CL calculation |
rThisVariable | the variable to be returned |
rValue | a reference to the returned value |
rValue | output: the value of the specified variable |
Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.
|
overridevirtual |
Clone operation.
Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.
Reimplemented in Kratos::HyperElasticSimoTaylorNeoHookeanPlaneStrain2D.
|
inlineoverridevirtual |
Returns the expected strain measure of this constitutive law (by default Green-Lagrange)
Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.
|
inlineoverridevirtual |
Voigt tensor size:
Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.
Reimplemented in Kratos::HyperElasticSimoTaylorNeoHookeanPlaneStrain2D.
|
inlineoverridevirtual |
Returns the stress measure of this constitutive law (by default 2st Piola-Kirchhoff stress in voigt notation)
Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.
Kratos::HyperElasticSimoTaylorNeoHookean3D::KRATOS_CLASS_POINTER_DEFINITION | ( | HyperElasticSimoTaylorNeoHookean3D | ) |
Pointer definition of HyperElasticSimoTaylorNeoHookean3D.
|
inlineoverridevirtual |
Dimension of the law:
Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.
Reimplemented in Kratos::HyperElasticSimoTaylorNeoHookeanPlaneStrain2D.
|
friend |
|
staticconstexpr |
Static definition of the dimension.
|
staticconstexpr |
Static definition of the VoigtSize.