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.
List of all members
Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D Class Reference

This law defines an hyperelastic material according to the NeoHookean formulation for 2D-plane strain cases. More...

#include <hyper_elastic_isotropic_neo_hookean_plane_strain_2d.h>

Inheritance diagram for Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D:
Collaboration diagram for Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D:

Public Member Functions

Lyfe Cycle
 HyperElasticIsotropicNeoHookeanPlaneStrain2D ()
 Default constructor. More...
 
 HyperElasticIsotropicNeoHookeanPlaneStrain2D (const HyperElasticIsotropicNeoHookeanPlaneStrain2D &rOther)
 Copy constructor. More...
 
 ~HyperElasticIsotropicNeoHookeanPlaneStrain2D () override
 Destructor. More...
 
Operations
ConstitutiveLaw::Pointer Clone () const override
 Clone operation. More...
 
void GetLawFeatures (Features &rFeatures) override
 This function is designed to be called once to check compatibility with element. More...
 
SizeType WorkingSpaceDimension () override
 Dimension of the law: More...
 
SizeType GetStrainSize () const override
 Voigt tensor size: More...
 
- Public Member Functions inherited from Kratos::HyperElasticIsotropicNeoHookean3D
 HyperElasticIsotropicNeoHookean3D ()
 Default constructor. More...
 
 HyperElasticIsotropicNeoHookean3D (const HyperElasticIsotropicNeoHookean3D &rOther)
 Copy constructor. More...
 
 ~HyperElasticIsotropicNeoHookean3D () override
 Destructor. 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 CalculateMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response: PK1 stresses and algorithmic ConstitutiveMatrix. More...
 
void CalculateMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response: PK2 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...
 
doubleCalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override
 It calculates the value of a specified variable (double) More...
 
VectorCalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override
 It calculates the value of a specified variable (Vector) More...
 
MatrixCalculateValue (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...
 
 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 ()
 
InitialStateGetInitialState ()
 
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 boolGetValue (const Variable< bool > &rThisVariable, bool &rValue)
 Returns the value of a specified variable (boolean) More...
 
virtual intGetValue (const Variable< int > &rThisVariable, int &rValue)
 
virtual doubleGetValue (const Variable< double > &rThisVariable, double &rValue)
 Returns the value of a specified variable (double) More...
 
virtual VectorGetValue (const Variable< Vector > &rThisVariable, Vector &rValue)
 Returns the value of a specified variable (Vector) More...
 
virtual MatrixGetValue (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 boolCalculateValue (Parameters &rParameterValues, const Variable< bool > &rThisVariable, bool &rValue)
 Calculates the value of a specified variable (bool) More...
 
virtual intCalculateValue (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 VectorTransformStrains (Vector &rStrainVector, const Matrix &rF, StrainMeasure rStrainInitial, StrainMeasure rStrainFinal)
 
virtual MatrixTransformStresses (Matrix &rStressMatrix, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal)
 
virtual VectorTransformStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal)
 
VectorTransformPK1Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
VectorTransformPK2Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
VectorTransformKirchhoffStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
VectorTransformCauchyStresses (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
Flagsoperator= (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 Flagsoperator|= (const Flags &Other)
 
const Flagsoperator&= (const Flags &Other)
 
 Flags ()
 Default constructor. More...
 
 Flags (Flags const &rOther)
 Copy constructor. More...
 
virtual ~Flags ()
 Destructor. More...
 

Protected Member Functions

Protected Operations
void CalculateConstitutiveMatrixPK2 (Matrix &rConstitutiveMatrix, const Matrix &InverseCTensor, const double DeterminantF, const double LameLambda, const double LameMu) override
 It calculates the constitutive matrix C (PK2) More...
 
void CalculateConstitutiveMatrixKirchhoff (Matrix &rConstitutiveMatrix, const double DeterminantF, const double LameLambda, const double LameMu) override
 It calculates the constitutive matrix C (Kirchoff) More...
 
void CalculateGreenLagrangianStrain (ConstitutiveLaw::Parameters &rValues, Vector &rStrainVector) override
 It calculates the strain vector. More...
 
void CalculateAlmansiStrain (ConstitutiveLaw::Parameters &rValues, Vector &rStrainVector) override
 Calculates the Almansi strains. 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)
 
doubleTransformConstitutiveComponent (double &rCabcd, const Matrix &rConstitutiveMatrix, const Matrix &rF, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
doubleGetConstitutiveComponent (double &rCabcd, const Matrix &rConstitutiveMatrix, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 

Type Definitions

typedef ProcessInfo ProcessInfoType
 The definition of the process info. More...
 
typedef ConstitutiveLaw CLBaseType
 The definition of the CL base class. More...
 
typedef HyperElasticIsotropicNeoHookean3D BaseType
 The definition of the 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 = 2
 Static definition of the dimension. More...
 
static constexpr SizeType VoigtSize = 3
 Static definition of the VoigtSize. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (HyperElasticIsotropicNeoHookeanPlaneStrain2D)
 Pointer definition of HyperElasticIsotropicNeoHookeanPlaneStrain2D. 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< NodeGeometryType
 
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...
 
- 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} }
 

Detailed Description

This law defines an hyperelastic material according to the NeoHookean formulation for 2D-plane strain cases.

A neo-Hookean solid is a hyperelastic material model, similar to Hooke's law, that can be used for predicting the nonlinear stress-strain behavior of materials undergoing large deformations. The model was proposed by Ronald Rivlin in 1948. In contrast to linear elastic materials, the stress-strain curve of a neo-Hookean material is not linear. Instead, the relationship between applied stress and strain is initially linear, but at a certain point the stress-strain curve will plateau. The neo-Hookean model does not account for the dissipative release of energy as heat while straining the material and perfect elasticity is assumed at all stages of deformation. he neo-Hookean model is based on the statistical thermodynamics of cross-linked polymer chains and is usable for plastics and rubber-like substances. More info https://en.wikipedia.org/wiki/Neo-Hookean_solid

Author
Vicente Mataix Ferrandiz

Member Typedef Documentation

◆ BaseType

The definition of the base class.

◆ CLBaseType

The definition of the CL base class.

◆ IndexType

The definition of the index type.

◆ ProcessInfoType

The definition of the process info.

◆ SizeType

The definition of the size type.

Constructor & Destructor Documentation

◆ HyperElasticIsotropicNeoHookeanPlaneStrain2D() [1/2]

Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::HyperElasticIsotropicNeoHookeanPlaneStrain2D ( )

Default constructor.

◆ HyperElasticIsotropicNeoHookeanPlaneStrain2D() [2/2]

Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::HyperElasticIsotropicNeoHookeanPlaneStrain2D ( const HyperElasticIsotropicNeoHookeanPlaneStrain2D rOther)

Copy constructor.

◆ ~HyperElasticIsotropicNeoHookeanPlaneStrain2D()

Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::~HyperElasticIsotropicNeoHookeanPlaneStrain2D ( )
override

Destructor.

Member Function Documentation

◆ CalculateAlmansiStrain()

void Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::CalculateAlmansiStrain ( ConstitutiveLaw::Parameters rValues,
Vector rStrainVector 
)
overrideprotectedvirtual

Calculates the Almansi strains.

Parameters

Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.

◆ CalculateConstitutiveMatrixKirchhoff()

void Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::CalculateConstitutiveMatrixKirchhoff ( Matrix rConstitutiveMatrix,
const double  DeterminantF,
const double  LameLambda,
const double  LameMu 
)
overrideprotectedvirtual

It calculates the constitutive matrix C (Kirchoff)

Parameters
rConstitutiveMatrixThe constitutive matrix
DeterminantFThe determinant of the deformation gradient
LameLambdaFirst Lame parameter
LameMuSecond Lame parameter

Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.

◆ CalculateConstitutiveMatrixPK2()

void Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::CalculateConstitutiveMatrixPK2 ( Matrix rConstitutiveMatrix,
const Matrix InverseCTensor,
const double  DeterminantF,
const double  LameLambda,
const double  LameMu 
)
overrideprotectedvirtual

It calculates the constitutive matrix C (PK2)

Parameters
rConstitutiveMatrixThe constitutive matrix
InverseCTensorThe inverse right Cauchy-Green tensor
DeterminantFThe determinant of the deformation gradient
LameLambdaFirst Lame parameter
LameMuSecond Lame parameter

Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.

◆ CalculateGreenLagrangianStrain()

void Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::CalculateGreenLagrangianStrain ( ConstitutiveLaw::Parameters rValues,
Vector rStrainVector 
)
overrideprotectedvirtual

It calculates the strain vector.

Parameters
rValuesThe Internalvalues of the law
rStrainVectorThe strain vector in Voigt notation

Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.

◆ Clone()

ConstitutiveLaw::Pointer Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::Clone ( ) const
overridevirtual

Clone operation.

Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.

◆ GetLawFeatures()

void Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::GetLawFeatures ( Features rFeatures)
overridevirtual

This function is designed to be called once to check compatibility with element.

Parameters
rFeaturesThe Features of the law

Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.

◆ GetStrainSize()

SizeType Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::GetStrainSize ( ) const
inlineoverridevirtual

Voigt tensor size:

Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::KRATOS_CLASS_POINTER_DEFINITION ( HyperElasticIsotropicNeoHookeanPlaneStrain2D  )

◆ WorkingSpaceDimension()

SizeType Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::WorkingSpaceDimension ( )
inlineoverridevirtual

Dimension of the law:

Reimplemented from Kratos::HyperElasticIsotropicNeoHookean3D.

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

Member Data Documentation

◆ Dimension

constexpr SizeType Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::Dimension = 2
staticconstexpr

Static definition of the dimension.

◆ VoigtSize

constexpr SizeType Kratos::HyperElasticIsotropicNeoHookeanPlaneStrain2D::VoigtSize = 3
staticconstexpr

Static definition of the VoigtSize.


The documentation for this class was generated from the following files: