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

#include <constitutive_3D_law.hpp>

Inheritance diagram for Kratos::Constitutive3DLaw:
Collaboration diagram for Kratos::Constitutive3DLaw:

Public Member Functions

Life Cycle
 Constitutive3DLaw ()
 Default constructor. More...
 
 Constitutive3DLaw (const Constitutive3DLaw &rOther)
 Copy constructor. More...
 
ConstitutiveLaw::Pointer Clone () const override
 Clone. More...
 
Constitutive3DLawoperator= (const Constitutive3DLaw &rOther)
 Assignment operator. More...
 
 ~Constitutive3DLaw () override
 Destructor. More...
 
Operations
void InitializeMaterial (const Properties &rProperties, 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 InitializeMaterialResponsePK1 (Parameters &rValues) override
 
void InitializeMaterialResponsePK2 (Parameters &rValues) override
 
void InitializeMaterialResponseKirchhoff (Parameters &rValues) override
 
void InitializeMaterialResponseCauchy (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 &rProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 
Access
bool Has (const Variable< double > &rThisVariable) override
 
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...
 
bool Has (const Variable< array_1d< double, 3 > > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (array of 3 components) More...
 
bool Has (const Variable< array_1d< double, 6 > > &rThisVariable) override
 Returns whether this constitutive Law has specified variable (array of 6 components) More...
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
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 SetValue (const Variable< array_1d< double, 3 > > &rThisVariable, const array_1d< double, 3 > &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (array of 3 components) More...
 
void SetValue (const Variable< array_1d< double, 6 > > &rThisVariable, const array_1d< double, 6 > &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (array of 6 components) More...
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 
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...
 
array_1d< double, 3 > & GetValue (const Variable< array_1d< double, 3 > > &rThisVariable, array_1d< double, 3 > &rValue) override
 Returns the value of a specified variable (array of 3 components) More...
 
array_1d< double, 6 > & GetValue (const Variable< array_1d< double, 6 > > &rThisVariable, array_1d< double, 6 > &rValue) override
 Returns the value of a specified variable (array of 6 components) More...
 
intCalculateValue (Parameters &rParameterValues, const Variable< int > &rThisVariable, int &rValue) override
 
doubleCalculateValue (Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override
 Calculates the value of a specified variable (double) More...
 
VectorCalculateValue (Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override
 Calculates the value of a specified variable (Vector) More...
 
MatrixCalculateValue (Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) override
 Calculates the value of a specified variable (Matrix) More...
 
array_1d< double, 3 > & CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rValue) override
 Calculates the value of a specified variable (array of 3 components) More...
 
array_1d< double, 6 > & CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 6 > > &rVariable, array_1d< double, 6 > &rValue) override
 
Inquiry
SizeType WorkingSpaceDimension () override
 
SizeType GetStrainSize () const override
 
Input and output
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::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 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 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 boolCalculateValue (Parameters &rParameterValues, const Variable< bool > &rThisVariable, bool &rValue)
 Calculates the value of a specified variable (bool) More...
 
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 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)
 
- 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 Types

using VoigtIndexType = const unsigned int(*)[2]
 

Protected Member Functions

Protected Operations
virtual void CalculateValue (Parameters &rValues, ModelDataType &rModelValues)
 
virtual void CalculateMaterialResponsePK1 (Parameters &rValues, ModelDataType &rModelValues)
 
virtual void CalculateMaterialResponsePK2 (Parameters &rValues, ModelDataType &rModelValues)
 
virtual void CalculateMaterialResponseKirchhoff (Parameters &rValues, ModelDataType &rModelValues)
 
virtual void CalculateMaterialResponseCauchy (Parameters &rValues, ModelDataType &rModelValues)
 
virtual VoigtIndexType GetVoigtIndexTensor ()
 
virtual void InitializeModelData (Parameters &rValues, ModelDataType &rModelValues)
 
virtual void FinalizeModelData (Parameters &rValues, ModelDataType &rModelValues)
 
virtual void CalculateDomainVariables (Parameters &rValues, ModelDataType &rModelValues)
 
virtual doubleCalculateDomainVariable (Parameters &rValues, const Variable< double > &rThisVariable, double &rVariable)
 
virtual doubleCalculateDomainTemperature (Parameters &rValues, double &rTemperature)
 
virtual doubleCalculateDomainPressure (Parameters &rValues, double &rPressure)
 
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)
 

Type Definitions

typedef ProcessInfo ProcessInfoType
 
typedef ConstitutiveLaw BaseType
 
typedef ConstitutiveModelData::SizeType SizeType
 
typedef ConstitutiveModelData::VectorType VectorType
 
typedef ConstitutiveModelData::MatrixType MatrixType
 
typedef ConstitutiveModelData::ModelData ModelDataType
 
typedef ConstitutiveModelData::ConstitutiveLawData LawDataType
 
 KRATOS_CLASS_POINTER_DEFINITION (Constitutive3DLaw)
 Pointer definition of Constitutive3DLaw. More...
 

Serialization

class Serializer
 

Additional Inherited Members

- 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 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 elastic constitutive law in 3D

Member Typedef Documentation

◆ BaseType

◆ LawDataType

◆ MatrixType

◆ ModelDataType

◆ ProcessInfoType

◆ SizeType

◆ VectorType

◆ VoigtIndexType

using Kratos::Constitutive3DLaw::VoigtIndexType = const unsigned int(*)[2]
protected

Constructor & Destructor Documentation

◆ Constitutive3DLaw() [1/2]

Kratos::Constitutive3DLaw::Constitutive3DLaw ( )

Default constructor.

◆ Constitutive3DLaw() [2/2]

Kratos::Constitutive3DLaw::Constitutive3DLaw ( const Constitutive3DLaw rOther)

Copy constructor.

◆ ~Constitutive3DLaw()

Kratos::Constitutive3DLaw::~Constitutive3DLaw ( )
override

Destructor.

Member Function Documentation

◆ CalculateDomainPressure()

double & Kratos::Constitutive3DLaw::CalculateDomainPressure ( Parameters rValues,
double rPressure 
)
protectedvirtual

Calculates the Pressure of the domain (element)

Parameters
rValues
See also
Parameters
Parameters
rPressurethe calculated pressure to be returned

◆ CalculateDomainTemperature()

double & Kratos::Constitutive3DLaw::CalculateDomainTemperature ( Parameters rValues,
double rTemperature 
)
protectedvirtual

Calculates the Temperature of the domain (element)

Parameters
rValues
See also
Parameters
Parameters
rTemperaturethe calculated temperature to be returned

◆ CalculateDomainVariable()

double & Kratos::Constitutive3DLaw::CalculateDomainVariable ( Parameters rValues,
const Variable< double > &  rThisVariable,
double rVariable 
)
protectedvirtual

Calculates the Pressure of the domain (element)

Parameters
rValues
See also
Parameters
Parameters
rPressurethe calculated pressure to be returned

◆ CalculateDomainVariables()

void Kratos::Constitutive3DLaw::CalculateDomainVariables ( Parameters rValues,
ModelDataType rModelValues 
)
protectedvirtual

Calculates the variables of the domain (element)

Parameters
rValues
See also
Parameters
Parameters
rDataValues
See also
ConstitutiveLawData

◆ CalculateMaterialResponseCauchy() [1/2]

void Kratos::Constitutive3DLaw::CalculateMaterialResponseCauchy ( Parameters rValues)
overridevirtual

Computes the material response: Cauchy stresses and algorithmic ConstitutiveMatrix

Parameters
rValues
See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateMaterialResponseCauchy() [2/2]

void Kratos::Constitutive3DLaw::CalculateMaterialResponseCauchy ( Parameters rValues,
ModelDataType rModelValues 
)
protectedvirtual

Computes the material response with model data: Cauchy stresses and algorithmic ConstitutiveMatrix

Parameters
rValues
See also
Parameters
Parameters
rModelValues

◆ CalculateMaterialResponseKirchhoff() [1/2]

void Kratos::Constitutive3DLaw::CalculateMaterialResponseKirchhoff ( Parameters rValues)
overridevirtual

Computes the material response: Kirchhoff stresses and algorithmic ConstitutiveMatrix

Parameters
rValues
See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::StrainRate3DLaw, Kratos::SmallStrainPlaneStress2DLaw, Kratos::SmallStrainOrthotropic3DLaw, Kratos::SmallStrain3DLaw, and Kratos::LargeStrain3DLaw.

◆ CalculateMaterialResponseKirchhoff() [2/2]

void Kratos::Constitutive3DLaw::CalculateMaterialResponseKirchhoff ( Parameters rValues,
ModelDataType rModelValues 
)
protectedvirtual

Computes the material response with model data: Kirchhoff stresses and algorithmic ConstitutiveMatrix

Parameters
rValues
See also
Parameters
Parameters
rModelValues

Reimplemented in Kratos::StrainRate3DLaw, Kratos::SmallStrain3DLaw, and Kratos::LargeStrain3DLaw.

◆ CalculateMaterialResponsePK1() [1/2]

void Kratos::Constitutive3DLaw::CalculateMaterialResponsePK1 ( Parameters rValues)
overridevirtual

Computes the material response: PK1 stresses and algorithmic ConstitutiveMatrix

Parameters
rValues
See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateMaterialResponsePK1() [2/2]

void Kratos::Constitutive3DLaw::CalculateMaterialResponsePK1 ( Parameters rValues,
ModelDataType rModelValues 
)
protectedvirtual

Computes the material response with model data: PK1 stresses and algorithmic ConstitutiveMatrix

Parameters
rValues
See also
Parameters
Parameters
rModelValues

◆ CalculateMaterialResponsePK2() [1/2]

void Kratos::Constitutive3DLaw::CalculateMaterialResponsePK2 ( Parameters rValues)
overridevirtual

Computes the material response: PK2 stresses and algorithmic ConstitutiveMatrix

Parameters
rValues
See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::LargeStrain3DLaw.

◆ CalculateMaterialResponsePK2() [2/2]

void Kratos::Constitutive3DLaw::CalculateMaterialResponsePK2 ( Parameters rValues,
ModelDataType rModelValues 
)
protectedvirtual

Computes the material response with model data: PK2 stresses and algorithmic ConstitutiveMatrix

Parameters
rValues
See also
Parameters
Parameters
rModelValues

Reimplemented in Kratos::LargeStrain3DLaw.

◆ CalculateValue() [1/7]

array_1d< double, 3 > & Kratos::Constitutive3DLaw::CalculateValue ( Parameters rParameterValues,
const Variable< array_1d< double, 3 > > &  rVariable,
array_1d< double, 3 > &  rValue 
)
overridevirtual

Calculates the value of a specified variable (array of 3 components)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

returns the value of a specified variable (array of 3 components)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [2/7]

array_1d< double, 6 > & Kratos::Constitutive3DLaw::CalculateValue ( Parameters rParameterValues,
const Variable< array_1d< double, 6 > > &  rVariable,
array_1d< double, 6 > &  rValue 
)
overridevirtual

returns the value of a specified variable (array of 6 components)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
the value of the specified variable

returns the value of a specified variable (array of 6 components)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [3/7]

double & Kratos::Constitutive3DLaw::CalculateValue ( Parameters rParameterValues,
const Variable< double > &  rThisVariable,
double rValue 
)
overridevirtual

Calculates the value of a specified variable (double)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

returns the value of a specified variable (double)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [4/7]

int & Kratos::Constitutive3DLaw::CalculateValue ( Parameters rParameterValues,
const Variable< int > &  rThisVariable,
int rValue 
)
overridevirtual

Calculate Values

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [5/7]

Matrix & Kratos::Constitutive3DLaw::CalculateValue ( Parameters rParameterValues,
const Variable< Matrix > &  rThisVariable,
Matrix rValue 
)
overridevirtual

Calculates the value of a specified variable (Matrix)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

returns the value of a specified variable (Matrix)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [6/7]

Vector & Kratos::Constitutive3DLaw::CalculateValue ( Parameters rParameterValues,
const Variable< Vector > &  rThisVariable,
Vector rValue 
)
overridevirtual

Calculates the value of a specified variable (Vector)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

returns the value of a specified variable (Vector)

Parameters
rParameterValuesthe needed parameters for the CL calculation
rThisVariablethe variable to be returned
rValuea reference to the returned value
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [7/7]

void Kratos::Constitutive3DLaw::CalculateValue ( Parameters rValues,
ModelDataType rModelValues 
)
protectedvirtual

Computes an internal value of the material response:

Parameters
rValues
See also
Parameters
Parameters
rModelValues

◆ Check()

int Kratos::Constitutive3DLaw::Check ( const Properties rProperties,
const GeometryType rElementGeometry,
const ProcessInfo rCurrentProcessInfo 
) const
overridevirtual

This function is designed to be called once to perform all the checks needed on the input provided. Checks can be "expensive" as the function is designed to catch user's errors.

Parameters
rProperties
rElementGeometry
rCurrentProcessInfo
Returns

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::StrainRate3DLaw, Kratos::SmallStrainOrthotropic3DLaw, and Kratos::LargeStrain3DLaw.

◆ CheckParameters()

bool Kratos::Constitutive3DLaw::CheckParameters ( Parameters rValues)
protectedvirtual

This function is designed to be called when before the material response to check if all needed parameters for the constitutive are initialized

Parameters
Parameters
Returns

◆ Clone()

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

◆ FinalizeMaterialResponseCauchy()

void Kratos::Constitutive3DLaw::FinalizeMaterialResponseCauchy ( Parameters rValues)
overridevirtual

Updates the material response: Cauchy stresses and Internal Variables

Parameters
rValues
See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponseKirchhoff()

void Kratos::Constitutive3DLaw::FinalizeMaterialResponseKirchhoff ( Parameters rValues)
overridevirtual

Updates the material response: Cauchy stresses and Internal Variables

Parameters
rValues
See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponsePK1()

void Kratos::Constitutive3DLaw::FinalizeMaterialResponsePK1 ( Parameters rValues)
overridevirtual

Updates the material response: Cauchy stresses and Internal Variables

Parameters
rValues
See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponsePK2()

void Kratos::Constitutive3DLaw::FinalizeMaterialResponsePK2 ( Parameters rValues)
overridevirtual

Updates the material response: Cauchy stresses and Internal Variables

Parameters
rValues
See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeModelData()

void Kratos::Constitutive3DLaw::FinalizeModelData ( Parameters rValues,
ModelDataType rModelValues 
)
protectedvirtual

Finalize ModelData type:

Reimplemented in Kratos::StrainRate3DLaw, Kratos::SmallStrain3DLaw, and Kratos::LargeStrain3DLaw.

◆ GetLawFeatures()

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

◆ GetStrainSize()

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

◆ GetValue() [1/5]

array_1d< double, 3 > & Kratos::Constitutive3DLaw::GetValue ( const Variable< array_1d< double, 3 > > &  rThisVariable,
array_1d< double, 3 > &  rValue 
)
overridevirtual

Returns the value of a specified variable (array of 3 components)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
rValue output: the value of the specified variable

returns the value of a specified variable

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [2/5]

array_1d< double, 6 > & Kratos::Constitutive3DLaw::GetValue ( const Variable< array_1d< double, 6 > > &  rThisVariable,
array_1d< double, 6 > &  rValue 
)
overridevirtual

Returns the value of a specified variable (array of 6 components)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
the value of the specified variable

returns the value of a specified variable

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [3/5]

double & Kratos::Constitutive3DLaw::GetValue ( const Variable< double > &  rThisVariable,
double rValue 
)
overridevirtual

Get Values

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::StrainRate3DLaw, and Kratos::LargeStrain3DLaw.

◆ GetValue() [4/5]

Matrix & Kratos::Constitutive3DLaw::GetValue ( const Variable< Matrix > &  rThisVariable,
Matrix rValue 
)
overridevirtual

Returns the value of a specified variable (Matrix)

Parameters
rThisVariablethe variable to be returned
Returns
rValue output: the value of the specified variable

returns the value of a specified variable

Parameters
rThisVariablethe variable to be returned
Returns
the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::LargeStrain3DLaw.

◆ GetValue() [5/5]

Vector & Kratos::Constitutive3DLaw::GetValue ( const Variable< Vector > &  rThisVariable,
Vector rValue 
)
overridevirtual

Returns the value of a specified variable (Vector)

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
rValue output: the value of the specified variable

returns the value of a specified variable

Parameters
rThisVariablethe variable to be returned
rValuea reference to the returned value
Returns
the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetVoigtIndexTensor()

virtual VoigtIndexType Kratos::Constitutive3DLaw::GetVoigtIndexTensor ( )
inlineprotectedvirtual

◆ Has() [1/5]

bool Kratos::Constitutive3DLaw::Has ( const Variable< array_1d< double, 3 > > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (array of 3 components)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law
Note
Fixed size array of 3 doubles (e.g. for 2D stresses, plastic strains, ...)

returns whether this constitutive Law has specified variable

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law NOTE: fixed size array of 3 doubles (e.g. for 2D stresses, plastic strains, ...)

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [2/5]

bool Kratos::Constitutive3DLaw::Has ( const Variable< array_1d< double, 6 > > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (array of 6 components)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law
Note
Fixed size array of 6 doubles (e.g. for stresses, plastic strains, ...)

returns whether this constitutive Law has specified variable

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law NOTE: fixed size array of 6 doubles (e.g. for stresses, plastic strains, ...)

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [3/5]

bool Kratos::Constitutive3DLaw::Has ( const Variable< double > &  rThisVariable)
overridevirtual

Has Values

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::StrainRate3DLaw, and Kratos::LargeStrain3DLaw.

◆ Has() [4/5]

bool Kratos::Constitutive3DLaw::Has ( const Variable< Matrix > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (Matrix)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law

returns whether this constitutive Law has specified variable

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [5/5]

bool Kratos::Constitutive3DLaw::Has ( const Variable< Vector > &  rThisVariable)
overridevirtual

Returns whether this constitutive Law has specified variable (Vector)

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law

returns whether this constitutive Law has specified variable

Parameters
rThisVariablethe variable to be checked for
Returns
true if the variable is defined in the constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

◆ Info()

std::string Kratos::Constitutive3DLaw::Info ( ) const
inlineoverridevirtual

◆ InitializeMaterial()

void Kratos::Constitutive3DLaw::InitializeMaterial ( const Properties rProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues 
)
overridevirtual

Material parameters are inizialized

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::StrainRate3DLaw, Kratos::SmallStrain3DLaw, and Kratos::LargeStrain3DLaw.

◆ InitializeMaterialResponseCauchy()

void Kratos::Constitutive3DLaw::InitializeMaterialResponseCauchy ( Parameters rValues)
overridevirtual

Initialize the material response in terms of Cauchy stresses

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ InitializeMaterialResponseKirchhoff()

void Kratos::Constitutive3DLaw::InitializeMaterialResponseKirchhoff ( Parameters rValues)
overridevirtual

Initialize the material response in terms of Kirchhoff stresses

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ InitializeMaterialResponsePK1()

void Kratos::Constitutive3DLaw::InitializeMaterialResponsePK1 ( Parameters rValues)
overridevirtual

Initialize the material response in terms of 1st Piola-Kirchhoff stresses

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ InitializeMaterialResponsePK2()

void Kratos::Constitutive3DLaw::InitializeMaterialResponsePK2 ( Parameters rValues)
overridevirtual

Initialize the material response in terms of 2nd Piola-Kirchhoff stresses

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ InitializeModelData()

void Kratos::Constitutive3DLaw::InitializeModelData ( Parameters rValues,
ModelDataType rModelValues 
)
protectedvirtual

Initialize ModelData type:

Reimplemented in Kratos::StrainRate3DLaw, Kratos::SmallStrain3DLaw, and Kratos::LargeStrain3DLaw.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::Constitutive3DLaw::KRATOS_CLASS_POINTER_DEFINITION ( Constitutive3DLaw  )

Pointer definition of Constitutive3DLaw.

◆ operator=()

Constitutive3DLaw & Kratos::Constitutive3DLaw::operator= ( const Constitutive3DLaw rOther)

Assignment operator.

◆ PrintData()

void Kratos::Constitutive3DLaw::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

◆ PrintInfo()

void Kratos::Constitutive3DLaw::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

◆ SetValue() [1/5]

void Kratos::Constitutive3DLaw::SetValue ( const Variable< array_1d< double, 3 > > &  rVariable,
const array_1d< double, 3 > &  rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (array of 3 components)

Parameters
rVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [2/5]

void Kratos::Constitutive3DLaw::SetValue ( const Variable< array_1d< double, 6 > > &  rVariable,
const array_1d< double, 6 > &  rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (array of 6 components)

Parameters
rVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [3/5]

void Kratos::Constitutive3DLaw::SetValue ( const Variable< double > &  rVariable,
const double rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Set Values

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::StrainRate3DLaw, and Kratos::LargeStrain3DLaw.

◆ SetValue() [4/5]

void Kratos::Constitutive3DLaw::SetValue ( const Variable< Matrix > &  rVariable,
const Matrix rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (Matrix)

Parameters
rVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::StrainRate3DLaw, and Kratos::LargeStrain3DLaw.

◆ SetValue() [5/5]

void Kratos::Constitutive3DLaw::SetValue ( const Variable< Vector > &  rVariable,
const Vector rValue,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Sets the value of a specified variable (Vector)

Parameters
rVariablethe variable to be returned
rValuenew value of the specified variable
rCurrentProcessInfothe process info

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::StrainRate3DLaw, Kratos::LargeStrain3DLaw, and Kratos::SmallStrain3DLaw.

◆ WorkingSpaceDimension()

SizeType Kratos::Constitutive3DLaw::WorkingSpaceDimension ( )
inlineoverridevirtual

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

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