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.
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Kratos::BilinearCohesive3DLaw Class Reference

#include <bilinear_cohesive_3D_law.hpp>

Inheritance diagram for Kratos::BilinearCohesive3DLaw:
Collaboration diagram for Kratos::BilinearCohesive3DLaw:

Classes

struct  ConstitutiveLawVariables
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (BilinearCohesive3DLaw)
 
 BilinearCohesive3DLaw ()
 
void GetLawFeatures (Features &rFeatures) override
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 
ConstitutiveLaw::Pointer Clone () const override
 Clone function (has to be implemented by any derived class) More...
 
void InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override
 
SizeType GetStrainSize () const override
 
SizeType WorkingSpaceDimension () override
 
void CalculateMaterialResponseCauchy (Parameters &rValues) override
 
void FinalizeMaterialResponseCauchy (Parameters &rValues) override
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 Returns the value of a specified variable (double) More...
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (double) More...
 
 KRATOS_CLASS_POINTER_DEFINITION (BilinearCohesive3DLaw)
 
 BilinearCohesive3DLaw ()
 
ConstitutiveLaw::Pointer Clone () const override
 Clone function (has to be implemented by any derived class) More...
 
 BilinearCohesive3DLaw (const BilinearCohesive3DLaw &rOther)
 
 ~BilinearCohesive3DLaw () override
 
void GetLawFeatures (Features &rFeatures) override
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 
void InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override
 
void CalculateMaterialResponseCauchy (Parameters &rValues) override
 
void FinalizeMaterialResponseCauchy (Parameters &rValues) override
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 Returns the value of a specified variable (double) More...
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 Sets the value of a specified variable (double) 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...
 
- 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 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< 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 doubleCalculateValue (Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue)
 Calculates the value of a specified variable (double) 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 void CalculateMaterialResponsePK1 (Parameters &rValues)
 
virtual void CalculateMaterialResponsePK2 (Parameters &rValues)
 
virtual void CalculateMaterialResponseKirchhoff (Parameters &rValues)
 
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 FinalizeMaterialResponsePK1 (Parameters &rValues)
 
virtual void FinalizeMaterialResponsePK2 (Parameters &rValues)
 
virtual void FinalizeMaterialResponseKirchhoff (Parameters &rValues)
 
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

virtual void ComputeEquivalentStrain (double &rEquivalentStrain, const Vector &StrainVector, const double &CriticalDisplacement)
 
virtual void ComputeEquivalentStrainContact (double &rEquivalentStrain, const Vector &StrainVector, const double &CriticalDisplacement)
 
virtual void ComputeConstitutiveMatrixLoading (Matrix &rConstitutiveMatrix, const Vector &StrainVector, const double &JointStrength, const double &DamageThreshold, const double &CriticalDisplacement)
 
virtual void ComputeConstitutiveMatrixContactLoading (Matrix &rConstitutiveMatrix, const Vector &StrainVector, const double &YoungModulus, const double &FrictionCoefficient, const double &JointStrength, const double &DamageThreshold, const double &CriticalDisplacement)
 
virtual void ComputeConstitutiveMatrixUnloading (Matrix &rConstitutiveMatrix, const double &JointStrength, const double &DamageThreshold, const double &CriticalDisplacement)
 
virtual void ComputeConstitutiveMatrixContactUnloading (Matrix &rConstitutiveMatrix, const Vector &StrainVector, const double &YoungModulus, const double &FrictionCoefficient, const double &JointStrength, const double &DamageThreshold, const double &CriticalDisplacement)
 
virtual void ComputeStressVector (Vector &rStressVector, const Vector &StrainVector, const double &JointStrength, const double &DamageThreshold, const double &CriticalDisplacement)
 
virtual void ComputeStressVectorContact (Vector &rStressVector, const Vector &StrainVector, const double &YoungModulus, const double &FrictionCoefficient, const double &JointStrength, const double &DamageThreshold, const double &CriticalDisplacement)
 
virtual void InitializeConstitutiveLawVariables (ConstitutiveLawVariables &rVariables, Parameters &rValues)
 
virtual void ComputeEquivalentStrain (ConstitutiveLawVariables &rVariables, Parameters &rValues)
 
virtual void CheckLoadingFunction (ConstitutiveLawVariables &rVariables, Parameters &rValues)
 
virtual void ComputeConstitutiveMatrix (Matrix &rConstitutiveMatrix, ConstitutiveLawVariables &rVariables, Parameters &rValues)
 
virtual void ComputeStressVector (Vector &rStressVector, ConstitutiveLawVariables &rVariables, 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)
 

Protected Attributes

double mStateVariable
 

Friends

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} }
 

Constructor & Destructor Documentation

◆ BilinearCohesive3DLaw() [1/3]

Kratos::BilinearCohesive3DLaw::BilinearCohesive3DLaw ( )
default

◆ BilinearCohesive3DLaw() [2/3]

Kratos::BilinearCohesive3DLaw::BilinearCohesive3DLaw ( )
inline

◆ BilinearCohesive3DLaw() [3/3]

Kratos::BilinearCohesive3DLaw::BilinearCohesive3DLaw ( const BilinearCohesive3DLaw rOther)
inline

◆ ~BilinearCohesive3DLaw()

Kratos::BilinearCohesive3DLaw::~BilinearCohesive3DLaw ( )
inlineoverride

Member Function Documentation

◆ CalculateMaterialResponseCauchy() [1/2]

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

Computes the material response in terms of Cauchy stresses and constitutive tensor

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateMaterialResponseCauchy() [2/2]

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

Computes the material response in terms of Cauchy stresses and constitutive tensor

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ Check() [1/2]

int Kratos::BilinearCohesive3DLaw::Check ( const Properties rMaterialProperties,
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
rMaterialProperties
rElementGeometry
rCurrentProcessInfo
Returns

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw.

◆ Check() [2/2]

int Kratos::BilinearCohesive3DLaw::Check ( const Properties rMaterialProperties,
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
rMaterialProperties
rElementGeometry
rCurrentProcessInfo
Returns

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw.

◆ CheckLoadingFunction()

void Kratos::BilinearCohesive3DLaw::CheckLoadingFunction ( ConstitutiveLawVariables rVariables,
Parameters rValues 
)
protectedvirtual

◆ Clone() [1/2]

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

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

Returns
a pointer to a new instance of this constitutive law
Note
implementation scheme: ConstitutiveLaw::Pointer p_clone(new ConstitutiveLaw()); return p_clone;

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

Returns
a pointer to a new instance of this constitutive law NOTE: implementation scheme: ConstitutiveLaw::Pointer p_clone(new ConstitutiveLaw()); return p_clone;

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw, Kratos::ExponentialCohesive2DLaw, and Kratos::BilinearCohesive2DLaw.

◆ Clone() [2/2]

ConstitutiveLaw::Pointer Kratos::BilinearCohesive3DLaw::Clone ( ) const
inlineoverridevirtual

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

Returns
a pointer to a new instance of this constitutive law
Note
implementation scheme: ConstitutiveLaw::Pointer p_clone(new ConstitutiveLaw()); return p_clone;

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

Returns
a pointer to a new instance of this constitutive law NOTE: implementation scheme: ConstitutiveLaw::Pointer p_clone(new ConstitutiveLaw()); return p_clone;

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw, and Kratos::ExponentialCohesive2DLaw.

◆ ComputeConstitutiveMatrix()

void Kratos::BilinearCohesive3DLaw::ComputeConstitutiveMatrix ( Matrix rConstitutiveMatrix,
ConstitutiveLawVariables rVariables,
Parameters rValues 
)
protectedvirtual

◆ ComputeConstitutiveMatrixContactLoading()

void Kratos::BilinearCohesive3DLaw::ComputeConstitutiveMatrixContactLoading ( Matrix rConstitutiveMatrix,
const Vector StrainVector,
const double YoungModulus,
const double FrictionCoefficient,
const double JointStrength,
const double DamageThreshold,
const double CriticalDisplacement 
)
protectedvirtual

Reimplemented in Kratos::BilinearCohesive2DLaw.

◆ ComputeConstitutiveMatrixContactUnloading()

void Kratos::BilinearCohesive3DLaw::ComputeConstitutiveMatrixContactUnloading ( Matrix rConstitutiveMatrix,
const Vector StrainVector,
const double YoungModulus,
const double FrictionCoefficient,
const double JointStrength,
const double DamageThreshold,
const double CriticalDisplacement 
)
protectedvirtual

Reimplemented in Kratos::BilinearCohesive2DLaw.

◆ ComputeConstitutiveMatrixLoading()

void Kratos::BilinearCohesive3DLaw::ComputeConstitutiveMatrixLoading ( Matrix rConstitutiveMatrix,
const Vector StrainVector,
const double JointStrength,
const double DamageThreshold,
const double CriticalDisplacement 
)
protectedvirtual

Reimplemented in Kratos::BilinearCohesive2DLaw.

◆ ComputeConstitutiveMatrixUnloading()

void Kratos::BilinearCohesive3DLaw::ComputeConstitutiveMatrixUnloading ( Matrix rConstitutiveMatrix,
const double JointStrength,
const double DamageThreshold,
const double CriticalDisplacement 
)
protectedvirtual

Reimplemented in Kratos::BilinearCohesive2DLaw.

◆ ComputeEquivalentStrain() [1/2]

void Kratos::BilinearCohesive3DLaw::ComputeEquivalentStrain ( ConstitutiveLawVariables rVariables,
Parameters rValues 
)
protectedvirtual

◆ ComputeEquivalentStrain() [2/2]

void Kratos::BilinearCohesive3DLaw::ComputeEquivalentStrain ( double rEquivalentStrain,
const Vector StrainVector,
const double CriticalDisplacement 
)
protectedvirtual

Reimplemented in Kratos::BilinearCohesive2DLaw.

◆ ComputeEquivalentStrainContact()

void Kratos::BilinearCohesive3DLaw::ComputeEquivalentStrainContact ( double rEquivalentStrain,
const Vector StrainVector,
const double CriticalDisplacement 
)
protectedvirtual

Reimplemented in Kratos::BilinearCohesive2DLaw.

◆ ComputeStressVector() [1/2]

void Kratos::BilinearCohesive3DLaw::ComputeStressVector ( Vector rStressVector,
const Vector StrainVector,
const double JointStrength,
const double DamageThreshold,
const double CriticalDisplacement 
)
protectedvirtual

Reimplemented in Kratos::BilinearCohesive2DLaw.

◆ ComputeStressVector() [2/2]

void Kratos::BilinearCohesive3DLaw::ComputeStressVector ( Vector rStressVector,
ConstitutiveLawVariables rVariables,
Parameters rValues 
)
protectedvirtual

◆ ComputeStressVectorContact()

void Kratos::BilinearCohesive3DLaw::ComputeStressVectorContact ( Vector rStressVector,
const Vector StrainVector,
const double YoungModulus,
const double FrictionCoefficient,
const double JointStrength,
const double DamageThreshold,
const double CriticalDisplacement 
)
protectedvirtual

Reimplemented in Kratos::BilinearCohesive2DLaw.

◆ FinalizeMaterialResponseCauchy() [1/2]

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

Finalize the material response in terms of Cauchy stresses

See also
Parameters

Updates the material response in terms of Cauchy stresses

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw.

◆ FinalizeMaterialResponseCauchy() [2/2]

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

Finalize the material response in terms of Cauchy stresses

See also
Parameters

Updates the material response in terms of Cauchy stresses

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw.

◆ GetLawFeatures() [1/2]

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

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

Parameters
rFeatures

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::BilinearCohesive2DLaw.

◆ GetLawFeatures() [2/2]

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

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

Parameters
rFeatures

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetStrainSize()

SizeType Kratos::BilinearCohesive3DLaw::GetStrainSize ( ) const
inlineoverridevirtual
Returns
The size of the strain vector of the current constitutive law
Note
This function HAS TO BE IMPLEMENTED by any derived class

returns the size of the strain vector of the current constitutive law NOTE: this function HAS TO BE IMPLEMENTED by any derived class

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [1/9]

array_1d< double, 3 > & Kratos::ConstitutiveLaw::GetValue

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

◆ GetValue() [2/9]

array_1d< double, 6 > & Kratos::ConstitutiveLaw::GetValue

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

◆ GetValue() [3/9]

bool & Kratos::ConstitutiveLaw::GetValue

Returns the value of a specified variable (boolean)

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
rValueoutput: the value of the specified variable

◆ GetValue() [4/9]

double & Kratos::ConstitutiveLaw::GetValue

Returns the value of a specified variable (double)

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
rValueoutput: the value of the specified variable

◆ GetValue() [5/9]

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

Returns the value of a specified variable (double)

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
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw.

◆ GetValue() [6/9]

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

Returns the value of a specified variable (double)

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
rValueoutput: the value of the specified variable

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw.

◆ GetValue() [7/9]

int & Kratos::ConstitutiveLaw::GetValue

Returns the value of a specified variable (integer)

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
rValueoutput: the value of the specified variable

◆ GetValue() [8/9]

Matrix & Kratos::ConstitutiveLaw::GetValue

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

◆ GetValue() [9/9]

Vector & Kratos::ConstitutiveLaw::GetValue

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

◆ InitializeConstitutiveLawVariables()

void Kratos::BilinearCohesive3DLaw::InitializeConstitutiveLawVariables ( ConstitutiveLawVariables rVariables,
Parameters rValues 
)
protectedvirtual

◆ InitializeMaterial() [1/2]

void Kratos::BilinearCohesive3DLaw::InitializeMaterial ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues 
)
overridevirtual

This is to be called at the very beginning of the calculation (e.g. from InitializeElement) in order to initialize all relevant attributes of the constitutive law

Parameters
rMaterialPropertiesthe Properties instance of the current element
rElementGeometrythe geometry of the current element
rShapeFunctionsValuesthe shape functions values in the current integration point

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw.

◆ InitializeMaterial() [2/2]

void Kratos::BilinearCohesive3DLaw::InitializeMaterial ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues 
)
overridevirtual

This is to be called at the very beginning of the calculation (e.g. from InitializeElement) in order to initialize all relevant attributes of the constitutive law

Parameters
rMaterialPropertiesthe Properties instance of the current element
rElementGeometrythe geometry of the current element
rShapeFunctionsValuesthe shape functions values in the current integration point

Reimplemented from Kratos::ConstitutiveLaw.

Reimplemented in Kratos::ExponentialCohesive3DLaw.

◆ KRATOS_CLASS_POINTER_DEFINITION() [1/2]

Kratos::BilinearCohesive3DLaw::KRATOS_CLASS_POINTER_DEFINITION ( BilinearCohesive3DLaw  )

◆ KRATOS_CLASS_POINTER_DEFINITION() [2/2]

Kratos::BilinearCohesive3DLaw::KRATOS_CLASS_POINTER_DEFINITION ( BilinearCohesive3DLaw  )

◆ SetValue() [1/9]

void Kratos::ConstitutiveLaw::SetValue

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

◆ SetValue() [2/9]

void Kratos::ConstitutiveLaw::SetValue

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

◆ SetValue() [3/9]

void Kratos::ConstitutiveLaw::SetValue

Sets the value of a specified variable (boolean)

Sets the value of a specified variable (bool)

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

◆ SetValue() [4/9]

void Kratos::ConstitutiveLaw::SetValue

Sets the value of a specified variable (double)

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

◆ SetValue() [5/9]

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

Sets the value of a specified variable (double)

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [6/9]

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

Sets the value of a specified variable (double)

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [7/9]

void Kratos::ConstitutiveLaw::SetValue

Sets the value of a specified variable (integer)

Sets the value of a specified variable (int)

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

◆ SetValue() [8/9]

void Kratos::ConstitutiveLaw::SetValue

Sets the value of a specified variable (Matrix)

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

◆ SetValue() [9/9]

void Kratos::ConstitutiveLaw::SetValue

Sets the value of a specified variable (Vector)

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

◆ WorkingSpaceDimension()

SizeType Kratos::BilinearCohesive3DLaw::WorkingSpaceDimension ( )
inlineoverridevirtual
Returns
The working space dimension of the current constitutive law
Note
This function HAS TO BE IMPLEMENTED by any derived class
Returns
the working space dimension of the current constitutive law NOTE: this function HAS TO BE IMPLEMENTED by any derived class

Reimplemented from Kratos::ConstitutiveLaw.

Friends And Related Function Documentation

◆ Serializer

Serializer
friend

Member Data Documentation

◆ mStateVariable

double Kratos::BilinearCohesive3DLaw::mStateVariable
protected

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