![]() |
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.