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.
Public Types | Public Member Functions | List of all members
Kratos::HenckyElasticPlasticPlaneStrain2DLaw Class Reference

#include <hencky_plastic_plane_strain_2D_law.hpp>

Inheritance diagram for Kratos::HenckyElasticPlasticPlaneStrain2DLaw:
Collaboration diagram for Kratos::HenckyElasticPlasticPlaneStrain2DLaw:

Public Types

typedef ProcessInfo ProcessInfoType
 
typedef ConstitutiveLaw BaseType
 
typedef std::size_t SizeType
 
typedef ParticleFlowRule::Pointer FlowRulePointer
 
typedef ParticleYieldCriterion::Pointer YieldCriterionPointer
 
typedef ParticleHardeningLaw::Pointer HardeningLawPointer
 
typedef Properties::Pointer PropertiesPointer
 
- Public Types inherited from Kratos::HenckyElasticPlastic3DLaw
typedef ProcessInfo ProcessInfoType
 
typedef ConstitutiveLaw BaseType
 
typedef std::size_t SizeType
 
typedef ParticleFlowRule::Pointer MPMFlowRulePointer
 
typedef ParticleYieldCriterion::Pointer YieldCriterionPointer
 
typedef ParticleHardeningLaw::Pointer HardeningLawPointer
 
typedef Properties::Pointer PropertiesPointer
 
- Public Types inherited from Kratos::HyperElastic3DLaw
typedef ProcessInfo ProcessInfoType
 
typedef ConstitutiveLaw BaseType
 
typedef std::size_t SizeType
 
typedef ProcessInfo ProcessInfoType
 
typedef ConstitutiveLaw BaseType
 
typedef std::size_t SizeType
 
typedef ProcessInfo ProcessInfoType
 
typedef ConstitutiveLaw BaseType
 
typedef std::size_t SizeType
 
- 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
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (HenckyElasticPlasticPlaneStrain2DLaw)
 
 HenckyElasticPlasticPlaneStrain2DLaw ()
 
 HenckyElasticPlasticPlaneStrain2DLaw (FlowRulePointer pMPMFlowRule, YieldCriterionPointer pYieldCriterion, HardeningLawPointer pHardeningLaw)
 
 HenckyElasticPlasticPlaneStrain2DLaw (const HenckyElasticPlasticPlaneStrain2DLaw &rOther)
 
ConstitutiveLaw::Pointer Clone () const override
 
 ~HenckyElasticPlasticPlaneStrain2DLaw () override
 
SizeType WorkingSpaceDimension () override
 
SizeType GetStrainSize () const override
 
- Public Member Functions inherited from Kratos::HenckyElasticPlastic3DLaw
 KRATOS_CLASS_POINTER_DEFINITION (HenckyElasticPlastic3DLaw)
 
 HenckyElasticPlastic3DLaw ()
 
 HenckyElasticPlastic3DLaw (MPMFlowRulePointer pMPMFlowRule, YieldCriterionPointer pYieldCriterion, HardeningLawPointer pHardeningLaw)
 
 HenckyElasticPlastic3DLaw (const HenckyElasticPlastic3DLaw &rOther)
 
 ~HenckyElasticPlastic3DLaw () override
 
void GetLawFeatures (Features &rFeatures) override
 
bool Has (const Variable< double > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (double) More...
 
bool Has (const Variable< Vector > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (Vector) More...
 
bool Has (const Variable< Matrix > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (Matrix) More...
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 Returns the value of a specified variable (double) More...
 
VectorGetValue (const Variable< Vector > &rThisVariable, Vector &rValue) override
 Returns the value of a specified variable (Vector) More...
 
MatrixGetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue) override
 Returns the value of a specified variable (Matrix) More...
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (double) More...
 
void SetValue (const Variable< Vector > &rThisVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (Vector) More...
 
void SetValue (const Variable< Matrix > &rThisVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (Matrix) More...
 
void InitializeMaterial (const Properties &rProps, const GeometryType &rGeometry, const Vector &rShapeFunctionsValues) override
 
void CalculateMaterialResponseKirchhoff (Parameters &rValues) override
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 
- Public Member Functions inherited from Kratos::HyperElastic3DLaw
 KRATOS_CLASS_POINTER_DEFINITION (HyperElastic3DLaw)
 
 HyperElastic3DLaw ()
 
ConstitutiveLaw::Pointer Clone () const override
 
 HyperElastic3DLaw (const HyperElastic3DLaw &rOther)
 
 ~HyperElastic3DLaw () override
 
SizeType WorkingSpaceDimension () override
 
SizeType GetStrainSize () const override
 
bool Has (const Variable< double > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (double) More...
 
bool Has (const Variable< Vector > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (Vector) More...
 
bool Has (const Variable< Matrix > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (Matrix) More...
 
doubleCalculateValue (Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override
 Calculates the value of a specified variable (double) More...
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 Returns the value of a specified variable (double) More...
 
VectorGetValue (const Variable< Vector > &rThisVariable, Vector &rValue) override
 Returns the value of a specified variable (Vector) More...
 
MatrixGetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue) override
 Returns the value of a specified variable (Matrix) More...
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (double) More...
 
void SetValue (const Variable< Vector > &rThisVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (Vector) More...
 
void SetValue (const Variable< Matrix > &rThisVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (Matrix) More...
 
void InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override
 
void CalculateMaterialResponseKirchhoff (Parameters &rValues) override
 
void CalculateMaterialResponseCauchy (Parameters &rValues) override
 
void FinalizeMaterialResponseKirchhoff (Parameters &rValues) override
 
void FinalizeMaterialResponseCauchy (Parameters &rValues) override
 
void GetLawFeatures (Features &rFeatures) override
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 
 KRATOS_CLASS_POINTER_DEFINITION (HyperElastic3DLaw)
 
 HyperElastic3DLaw ()
 
ConstitutiveLaw::Pointer Clone () const override
 
 HyperElastic3DLaw (const HyperElastic3DLaw &rOther)
 
 ~HyperElastic3DLaw () override
 
SizeType WorkingSpaceDimension () override
 
SizeType GetStrainSize () const override
 
bool Has (const Variable< double > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (double) More...
 
bool Has (const Variable< Vector > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (Vector) More...
 
bool Has (const Variable< Matrix > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (Matrix) More...
 
doubleCalculateValue (Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override
 Calculates the value of a specified variable (double) More...
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 Returns the value of a specified variable (double) More...
 
VectorGetValue (const Variable< Vector > &rThisVariable, Vector &rValue) override
 Returns the value of a specified variable (Vector) More...
 
MatrixGetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue) override
 Returns the value of a specified variable (Matrix) More...
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (double) More...
 
void SetValue (const Variable< Vector > &rThisVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (Vector) More...
 
void SetValue (const Variable< Matrix > &rThisVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (Matrix) More...
 
void InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override
 
void CalculateMaterialResponsePK1 (Parameters &rValues) override
 
void CalculateMaterialResponsePK2 (Parameters &rValues) override
 
void CalculateMaterialResponseKirchhoff (Parameters &rValues) override
 
void CalculateMaterialResponseCauchy (Parameters &rValues) override
 
void FinalizeMaterialResponsePK1 (Parameters &rValues) override
 
void FinalizeMaterialResponsePK2 (Parameters &rValues) override
 
void FinalizeMaterialResponseKirchhoff (Parameters &rValues) override
 
void FinalizeMaterialResponseCauchy (Parameters &rValues) override
 
void GetLawFeatures (Features &rFeatures) override
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 
 KRATOS_CLASS_POINTER_DEFINITION (HyperElastic3DLaw)
 
 HyperElastic3DLaw ()
 
ConstitutiveLaw::Pointer Clone () const override
 
 HyperElastic3DLaw (const HyperElastic3DLaw &rOther)
 
 ~HyperElastic3DLaw () override
 
SizeType WorkingSpaceDimension () override
 
SizeType GetStrainSize () const override
 
bool Has (const Variable< double > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (double) More...
 
bool Has (const Variable< Vector > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (Vector) More...
 
bool Has (const Variable< Matrix > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (Matrix) More...
 
doubleCalculateValue (Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override
 Calculates the value of a specified variable (double) More...
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 Returns the value of a specified variable (double) More...
 
VectorGetValue (const Variable< Vector > &rThisVariable, Vector &rValue) override
 Returns the value of a specified variable (Vector) More...
 
MatrixGetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue) override
 Returns the value of a specified variable (Matrix) More...
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (double) More...
 
void SetValue (const Variable< Vector > &rThisVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (Vector) More...
 
void SetValue (const Variable< Matrix > &rThisVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (Matrix) More...
 
void InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override
 
void CalculateMaterialResponsePK1 (Parameters &rValues) override
 
void CalculateMaterialResponsePK2 (Parameters &rValues) override
 
void CalculateMaterialResponseKirchhoff (Parameters &rValues) override
 
void CalculateMaterialResponseCauchy (Parameters &rValues) override
 
void FinalizeMaterialResponsePK1 (Parameters &rValues) override
 
void FinalizeMaterialResponsePK2 (Parameters &rValues) override
 
void FinalizeMaterialResponseKirchhoff (Parameters &rValues) override
 
void FinalizeMaterialResponseCauchy (Parameters &rValues) override
 
void GetLawFeatures (Features &rFeatures) override
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 
- 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< 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 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< 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 VectorCalculateValue (Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue)
 Calculates the value of a specified variable (Vector) More...
 
virtual MatrixCalculateValue (Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue)
 Calculates the value of a specified variable (Matrix) 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 StrainMeasure GetStrainMeasure ()
 
virtual StressMeasure GetStressMeasure ()
 
virtual bool IsIncremental ()
 
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 bool RequiresInitializeMaterialResponse ()
 If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More...
 
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...
 
virtual void InitializeMaterialResponsePK1 (Parameters &rValues)
 Initialize the material response in terms of 1st Piola-Kirchhoff stresses. More...
 
virtual void InitializeMaterialResponsePK2 (Parameters &rValues)
 Initialize the material response in terms of 2nd Piola-Kirchhoff stresses. More...
 
virtual void InitializeMaterialResponseKirchhoff (Parameters &rValues)
 Initialize the material response in terms of Kirchhoff stresses. More...
 
virtual void InitializeMaterialResponseCauchy (Parameters &rValues)
 Initialize the material response in terms of Cauchy stresses. More...
 
virtual bool RequiresFinalizeMaterialResponse ()
 If the CL requires to finalize the material response, called by the element in FinalizeSolutionStep. 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 CalculateGreenLagrangeStrain (const Matrix &rRightCauchyGreen, Vector &rStrainVector) override
 
void CalculateAlmansiStrain (const Matrix &rLeftCauchyGreen, Vector &rStrainVector) override
 
Matrix SetConstitutiveMatrixToAppropiateDimension (Matrix &rConstitutiveMatrix, const Matrix &rElastoPlasticTangentMatrix) override
 
Vector SetStressMatrixToAppropiateVectorDimension (Vector &rStressVector, const Matrix &rStressMatrix) override
 
void CalculateHenckyMainStrain (const Matrix &rCauchyGreeMatrix, ParticleFlowRule::RadialReturnVariables &rReturnMappingVariables, Vector &rMainStrain) override
 
- Protected Member Functions inherited from Kratos::HenckyElasticPlastic3DLaw
void GetDomainPressure (double &rPressure, const MaterialResponseVariables &rElasticVariables)
 
virtual void CorrectDomainPressure (Matrix &rStressMatrix, const MaterialResponseVariables &rElasticVariables)
 
virtual void CalculateElastoPlasticTangentMatrix (const ParticleFlowRule::RadialReturnVariables &rReturnMappingVariables, const Matrix &rNewElasticLeftCauchyGreen, const double &rAlpha, Matrix &rElastoPlasticMatrix, const MaterialResponseVariables &rElasticVariables, const Properties &rProperties)
 
doubleTensorComponent (double &rCabcd, const Matrix &rMA, const Matrix &rMB, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void MyTensorProduct (const Matrix &rMA, const Matrix &rMB, Matrix &rEigenbasesProductMatrix)
 
doubleTensorComponent2 (double &rCabcd, const Matrix &rMA, const Matrix &rMB, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void MyTensorProduct2 (const Matrix &rMA, const Matrix &rMB, Matrix &rEigenbasesProductMatrix)
 
doubleTensorComponent3 (double &rCabcd, const Matrix &rMA, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void MyTensorProduct3 (const Matrix &rMA, Matrix &rEigenbasesProductMatrix)
 
doubleTensorComponent4 (double &rCabcd, const Matrix &rMA, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void MyTensorProduct4 (const Matrix &rMA, Matrix &rEigenbasesProductMatrix)
 
virtual Matrix CalculateEigenbases (const ParticleFlowRule::RadialReturnVariables &rReturnMappingVariables, Matrix &rEigenbasesMatrix)
 
VectorGetStressVectorFromMatrix (const Matrix &rStressMatrix, Vector &rMainStress, const Matrix &rEigenVectors)
 
virtual void CalculatePrincipalStressTrial (const MaterialResponseVariables &rElasticVariables, Parameters &rValues, const ParticleFlowRule::RadialReturnVariables &rReturnMappingVariables, Matrix &rNewElasticLeftCauchyGreen, Matrix &rStressMatrix)
 
- Protected Member Functions inherited from Kratos::HyperElastic3DLaw
virtual doubleCalculateDomainTemperature (const MaterialResponseVariables &rElasticVariables, double &rTemperature)
 
void CalculateStress (const MaterialResponseVariables &rElasticVariables, StressMeasure rStressMeasure, Vector &rStressVector)
 
virtual void CalculateVolumetricStress (const MaterialResponseVariables &rElasticVariables, Vector &rVolStressVector)
 
virtual void CalculateIsochoricStress (const MaterialResponseVariables &rElasticVariables, StressMeasure rStressMeasure, Vector &rIsoStressVector)
 
virtual void CalculateConstitutiveMatrix (const MaterialResponseVariables &rElasticVariables, Matrix &rConstitutiveMatrix)
 
doubleConstitutiveComponent (double &rCabcd, const MaterialResponseVariables &rElasticVariables, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void CalculateVolumetricConstitutiveMatrix (const MaterialResponseVariables &rElasticVariables, Matrix &rConstitutiveMatrix)
 
doubleVolumetricConstitutiveComponent (double &rCabcd, const MaterialResponseVariables &rElasticVariables, const Vector &rFactors, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void CalculateIsochoricConstitutiveMatrix (const MaterialResponseVariables &rElasticVariables, const Matrix &rIsoStressMatrix, Matrix &rConstitutiveMatrix)
 
doubleIsochoricConstitutiveComponent (double &rCabcd, const MaterialResponseVariables &rElasticVariables, const Matrix &rIsoStressMatrix, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual doubleCalculateVolumetricFactor (const MaterialResponseVariables &rElasticVariables, double &rFactor)
 
virtual doubleCalculateVolumetricPressure (const MaterialResponseVariables &rElasticVariables, double &rPressure)
 
virtual VectorCalculateVolumetricPressureFactors (const MaterialResponseVariables &rElasticVariables, Vector &rFactors)
 
MatrixTransform2DTo3D (Matrix &rMatrix)
 
virtual void UpdateInternalVariables (Parameters &rValues)
 
virtual bool CheckParameters (Parameters &rValues)
 
void CalculateStress (const MaterialResponseVariables &rElasticVariables, StressMeasure rStressMeasure, Vector &rStressVector)
 
virtual void CalculateIsochoricStress (const MaterialResponseVariables &rElasticVariables, StressMeasure rStressMeasure, Vector &rIsoStressVector)
 
virtual void CalculateVolumetricStress (const MaterialResponseVariables &rElasticVariables, Vector &rVolStressVector)
 
virtual void CalculateConstitutiveMatrix (const MaterialResponseVariables &rElasticVariables, Matrix &rConstitutiveMatrix)
 
doubleConstitutiveComponent (double &rCabcd, const MaterialResponseVariables &rElasticVariables, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void CalculateIsochoricConstitutiveMatrix (const MaterialResponseVariables &rElasticVariables, const Matrix &rIsoStressMatrix, Matrix &rConstitutiveMatrix)
 
doubleIsochoricConstitutiveComponent (double &rCabcd, const MaterialResponseVariables &rElasticVariables, const Matrix &rIsoStressMatrix, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void CalculateVolumetricConstitutiveMatrix (const MaterialResponseVariables &rElasticVariables, Matrix &rConstitutiveMatrix)
 
doubleVolumetricConstitutiveComponent (double &rCabcd, const MaterialResponseVariables &rElasticVariables, const Vector &rFactors, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual doubleCalculateVolumetricFactor (const MaterialResponseVariables &rElasticVariables, double &rFactor)
 
virtual doubleCalculateVolumetricPressure (const MaterialResponseVariables &rElasticVariables, double &rPressure)
 
virtual VectorCalculateVolumetricPressureFactors (const MaterialResponseVariables &rElasticVariables, Vector &rFactors)
 
virtual doubleCalculateDomainTemperature (const MaterialResponseVariables &rElasticVariables, double &rTemperature)
 
MatrixTransform2DTo3D (Matrix &rMatrix)
 
virtual void UpdateInternalVariables (Parameters &rValues)
 
virtual bool CheckParameters (Parameters &rValues)
 
void CalculateStress (const MaterialResponseVariables &rElasticVariables, StressMeasure rStressMeasure, Vector &rStressVector)
 
virtual void CalculateIsochoricStress (const MaterialResponseVariables &rElasticVariables, StressMeasure rStressMeasure, Vector &rIsoStressVector)
 
virtual void CalculateVolumetricStress (const MaterialResponseVariables &rElasticVariables, Vector &rVolStressVector)
 
virtual void CalculateConstitutiveMatrix (const MaterialResponseVariables &rElasticVariables, Matrix &rConstitutiveMatrix)
 
doubleConstitutiveComponent (double &rCabcd, const MaterialResponseVariables &rElasticVariables, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void CalculateIsochoricConstitutiveMatrix (const MaterialResponseVariables &rElasticVariables, const Matrix &rIsoStressMatrix, Matrix &rConstitutiveMatrix)
 
doubleIsochoricConstitutiveComponent (double &rCabcd, const MaterialResponseVariables &rElasticVariables, const Matrix &rIsoStressMatrix, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual void CalculateVolumetricConstitutiveMatrix (const MaterialResponseVariables &rElasticVariables, Matrix &rConstitutiveMatrix)
 
doubleVolumetricConstitutiveComponent (double &rCabcd, const MaterialResponseVariables &rElasticVariables, const Vector &rFactors, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
virtual doubleCalculateVolumetricFactor (const MaterialResponseVariables &rElasticVariables, double &rFactor)
 
virtual doubleCalculateVolumetricPressure (const MaterialResponseVariables &rElasticVariables, double &rPressure)
 
virtual VectorCalculateVolumetricPressureFactors (const MaterialResponseVariables &rElasticVariables, Vector &rFactors)
 
virtual doubleCalculateDomainTemperature (const MaterialResponseVariables &rElasticVariables, double &rTemperature)
 
MatrixTransform2DTo3D (Matrix &rMatrix)
 
virtual void UpdateInternalVariables (Parameters &rValues)
 
virtual bool CheckParameters (Parameters &rValues)
 
- 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)
 

Serialization

class Serializer
 

Additional Inherited Members

- 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)
 
- Protected Attributes inherited from Kratos::HenckyElasticPlastic3DLaw
unsigned int mPlasticRegion
 
Matrix mPlasticDeformationGradient
 
Matrix mElasticLeftCauchyGreen
 
MPMFlowRulePointer mpMPMFlowRule
 
YieldCriterionPointer mpYieldCriterion
 
HardeningLawPointer mpHardeningLaw
 
- Protected Attributes inherited from Kratos::HyperElastic3DLaw
Matrix mInverseDeformationGradientF0
 
double mDeterminantF0
 
double mStrainEnergy
 
- 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

Defines a hyperelastic-plastic isotropic constitutive law in plane strain 2D With stress split in an isochoric and volumetric parts This material law is defined by the parameters needed by the yield criterion:

The functionality is limited to large displacements

Member Typedef Documentation

◆ BaseType

◆ FlowRulePointer

◆ HardeningLawPointer

◆ ProcessInfoType

Type Definitions

◆ PropertiesPointer

◆ SizeType

◆ YieldCriterionPointer

Constructor & Destructor Documentation

◆ HenckyElasticPlasticPlaneStrain2DLaw() [1/3]

Kratos::HenckyElasticPlasticPlaneStrain2DLaw::HenckyElasticPlasticPlaneStrain2DLaw ( )

Life Cycle Default constructor.

◆ HenckyElasticPlasticPlaneStrain2DLaw() [2/3]

Kratos::HenckyElasticPlasticPlaneStrain2DLaw::HenckyElasticPlasticPlaneStrain2DLaw ( FlowRulePointer  pMPMFlowRule,
YieldCriterionPointer  pYieldCriterion,
HardeningLawPointer  pHardeningLaw 
)

◆ HenckyElasticPlasticPlaneStrain2DLaw() [3/3]

Kratos::HenckyElasticPlasticPlaneStrain2DLaw::HenckyElasticPlasticPlaneStrain2DLaw ( const HenckyElasticPlasticPlaneStrain2DLaw rOther)

Copy constructor.

◆ ~HenckyElasticPlasticPlaneStrain2DLaw()

Kratos::HenckyElasticPlasticPlaneStrain2DLaw::~HenckyElasticPlasticPlaneStrain2DLaw ( )
override

Destructor.

Member Function Documentation

◆ CalculateAlmansiStrain()

void Kratos::HenckyElasticPlasticPlaneStrain2DLaw::CalculateAlmansiStrain ( const Matrix rLeftCauchyGreen,
Vector rStrainVector 
)
overrideprotectedvirtual

Calculates the Almansi strains

Parameters
rRightCauchyGreen
rStrainVector

Reimplemented from Kratos::HyperElastic3DLaw.

◆ CalculateGreenLagrangeStrain()

void Kratos::HenckyElasticPlasticPlaneStrain2DLaw::CalculateGreenLagrangeStrain ( const Matrix rRightCauchyGreen,
Vector rStrainVector 
)
overrideprotectedvirtual

Calculates the GreenLagrange strains

Parameters
rRightCauchyGreen
rStrainVector

Reimplemented from Kratos::HyperElastic3DLaw.

◆ CalculateHenckyMainStrain()

void Kratos::HenckyElasticPlasticPlaneStrain2DLaw::CalculateHenckyMainStrain ( const Matrix rCauchyGreeMatrix,
ParticleFlowRule::RadialReturnVariables rReturnMappingVariables,
Vector rMainStrain 
)
overrideprotectedvirtual

Reimplemented from Kratos::HenckyElasticPlastic3DLaw.

◆ Clone()

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

Assignment operator. Clone function (has to be implemented by any derived class)

Returns
a pointer to a new instance of this constitutive law

Reimplemented from Kratos::HenckyElasticPlastic3DLaw.

◆ GetStrainSize()

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

Voigt tensor size:

Reimplemented from Kratos::HenckyElasticPlastic3DLaw.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::HenckyElasticPlasticPlaneStrain2DLaw::KRATOS_CLASS_POINTER_DEFINITION ( HenckyElasticPlasticPlaneStrain2DLaw  )

◆ SetConstitutiveMatrixToAppropiateDimension()

Matrix Kratos::HenckyElasticPlasticPlaneStrain2DLaw::SetConstitutiveMatrixToAppropiateDimension ( Matrix rConstitutiveMatrix,
const Matrix rElastoPlasticTangentMatrix 
)
overrideprotectedvirtual

Reimplemented from Kratos::HenckyElasticPlastic3DLaw.

◆ SetStressMatrixToAppropiateVectorDimension()

Vector Kratos::HenckyElasticPlasticPlaneStrain2DLaw::SetStressMatrixToAppropiateVectorDimension ( Vector rStressVector,
const Matrix rStressMatrix 
)
overrideprotectedvirtual

Reimplemented from Kratos::HenckyElasticPlastic3DLaw.

◆ WorkingSpaceDimension()

SizeType Kratos::HenckyElasticPlasticPlaneStrain2DLaw::WorkingSpaceDimension ( )
inlineoverridevirtual

Operators Operations needed by the base class: Dimension of the law:

Reimplemented from Kratos::HenckyElasticPlastic3DLaw.

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

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