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

#include <d_plus_d_minus_damage_masonry_3d.h>

Inheritance diagram for Kratos::DamageDPlusDMinusMasonry3DLaw:
Collaboration diagram for Kratos::DamageDPlusDMinusMasonry3DLaw:

Classes

struct  DamageParameters
 

Public Member Functions

Life Cycle
 DamageDPlusDMinusMasonry3DLaw ()
 
ConstitutiveLaw::Pointer Clone () const override
 
SizeType WorkingSpaceDimension () override
 Dimension of the law: More...
 
SizeType GetStrainSize () const override
 Voigt tensor size: More...
 
 DamageDPlusDMinusMasonry3DLaw (const DamageDPlusDMinusMasonry3DLaw &rOther)
 
 ~DamageDPlusDMinusMasonry3DLaw () override
 
void CalculateMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor. More...
 
void CalculateMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor. More...
 
void CalculateMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response in terms of Kirchhoff stresses and constitutive tensor. More...
 
void CalculateMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response in terms of Cauchy stresses and constitutive tensor. More...
 
bool IntegrateStressTensionIfNecessary (const double F_tension, DamageParameters &Parameters, array_1d< double, VoigtSize > &IntegratedStressVectorTension, const array_1d< double, VoigtSize > rIntegratedStressVector, ConstitutiveLaw::Parameters &rValues)
 Integrates the predictive tension stress vector if necessary. More...
 
bool IntegrateStressCompressionIfNecessary (const double F_compression, DamageParameters &Parameters, array_1d< double, VoigtSize > &IntegratedStressVectorCompression, array_1d< double, VoigtSize > rIntegratedStressVector, ConstitutiveLaw::Parameters &rValues)
 Integrates the predictive tension stress vector if necessary. More...
 
void CalculateIntegratedStressVector (Vector &IntegratedStressVectorTension, const DamageParameters &Parameters, ConstitutiveLaw::Parameters &rValues)
 Computes the inetgarted stress vector S = A:D0:A:E. More...
 
void InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override
 This is to be called at the very beginning of the calculation. More...
 
void FinalizeSolutionStep (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) override
 To be called at the end of each solution step. More...
 
void FinalizeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 Finalize the material response in terms of 1st Piola-Kirchhoff stresses. More...
 
void FinalizeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 Finalize the material response in terms of 2nd Piola-Kirchhoff stresses. More...
 
void FinalizeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override
 Finalize the material response in terms of Kirchhoff stresses. More...
 
void FinalizeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) 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...
 
void SetValue (const Variable< double > &rThisVariable, 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...
 
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...
 
doubleCalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override
 Returns the value of a specified variable (double) More...
 
VectorCalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override
 Returns the value of a specified variable (vector) More...
 
MatrixCalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) override
 Returns the value of a specified variable (matrix) More...
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 This function provides the place to perform checks on the completeness of the input. More...
 
- Public Member Functions inherited from Kratos::ElasticIsotropic3D
 ElasticIsotropic3D ()
 Default constructor. More...
 
ConstitutiveLaw::Pointer Clone () const override
 Clone method. More...
 
 ElasticIsotropic3D (const ElasticIsotropic3D &rOther)
 
 ~ElasticIsotropic3D () override
 Destructor. More...
 
void GetLawFeatures (Features &rFeatures) override
 This function is designed to be called once to check compatibility with element. More...
 
SizeType WorkingSpaceDimension () override
 Dimension of the law: More...
 
SizeType GetStrainSize () const override
 Voigt tensor size: More...
 
StrainMeasure GetStrainMeasure () override
 Returns the expected strain measure of this constitutive law (by default Green-Lagrange) More...
 
StressMeasure GetStressMeasure () override
 Returns the stress measure of this constitutive law (by default 2st Piola-Kirchhoff stress in voigt notation) More...
 
void CalculateMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response: More...
 
void CalculateMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response: More...
 
void CalculateMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response: More...
 
void CalculateMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override
 Computes the material response: More...
 
void InitializeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 Initialize the material response in terms of 1st Piola-Kirchhoff stresses. More...
 
void InitializeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 Initialize the material response in terms of 2nd Piola-Kirchhoff stresses. More...
 
void InitializeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override
 Initialize the material response in terms of Kirchhoff stresses. More...
 
void InitializeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override
 Initialize the material response in terms of Cauchy stresses. More...
 
void FinalizeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 Updates the material response: More...
 
void FinalizeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 Updates the material response: Cauchy stresses and Internal Variables. More...
 
void FinalizeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override
 Updates the material response: More...
 
void FinalizeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override
 Updates the material response: More...
 
bool RequiresInitializeMaterialResponse () override
 If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More...
 
bool RequiresFinalizeMaterialResponse () override
 If the CL requires to finalize the material response, called by the element in FinalizeSolutionStep. More...
 
doubleCalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< double > &rThisVariable, double &rValue) override
 It calculates the value of a specified variable (double case) More...
 
VectorCalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Vector > &rThisVariable, Vector &rValue) override
 It calculates the value of a specified variable (Vector case) More...
 
MatrixCalculateValue (ConstitutiveLaw::Parameters &rParameterValues, const Variable< Matrix > &rThisVariable, Matrix &rValue) override
 It calculates the value of a specified variable (Matrix case) More...
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 This function provides the place to perform checks on the completeness of the input. More...
 
std::string Info () const override
 General information identifying this instance. More...
 
void PrintInfo (std::ostream &rOStream) const override
 General information identifying this instance. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (ElasticIsotropic3D)
 Counted pointer of ElasticIsotropic3D. More...
 
virtual bool Has (const Variable< bool > &rThisVariable)
 Returns whether this constitutive Law has specified variable (boolean) More...
 
virtual bool Has (const Variable< int > &rThisVariable)
 Returns whether this constitutive Law has specified variable (integer) More...
 
virtual bool Has (const Variable< double > &rThisVariable)
 Returns whether this constitutive Law has specified variable (double) More...
 
virtual bool Has (const Variable< Vector > &rThisVariable)
 Returns whether this constitutive Law has specified variable (Vector) More...
 
virtual bool Has (const Variable< Matrix > &rThisVariable)
 Returns whether this constitutive Law has specified variable (Matrix) More...
 
virtual bool Has (const Variable< array_1d< double, 3 > > &rThisVariable)
 Returns whether this constitutive Law has specified variable (array of 3 components) More...
 
virtual bool Has (const Variable< array_1d< double, 6 > > &rThisVariable)
 Returns whether this constitutive Law has specified variable (array of 6 components) More...
 
virtual boolGetValue (const Variable< bool > &rThisVariable, bool &rValue)
 Returns the value of a specified variable (boolean) More...
 
virtual intGetValue (const Variable< int > &rThisVariable, int &rValue)
 
virtual doubleGetValue (const Variable< double > &rThisVariable, double &rValue)
 Returns the value of a specified variable (double) More...
 
virtual VectorGetValue (const Variable< Vector > &rThisVariable, Vector &rValue)
 Returns the value of a specified variable (Vector) More...
 
virtual MatrixGetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue)
 Returns the value of a specified variable (Matrix) More...
 
virtual array_1d< double, 3 > & GetValue (const Variable< array_1d< double, 3 > > &rThisVariable, array_1d< double, 3 > &rValue)
 Returns the value of a specified variable (array of 3 components) More...
 
virtual array_1d< double, 6 > & GetValue (const Variable< array_1d< double, 6 > > &rThisVariable, array_1d< double, 6 > &rValue)
 Returns the value of a specified variable (array of 6 components) More...
 
- 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< Matrix > &rVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo)
 Sets the value of a specified variable (Matrix) More...
 
virtual void SetValue (const Variable< array_1d< double, 3 > > &rVariable, const array_1d< double, 3 > &rValue, const ProcessInfo &rCurrentProcessInfo)
 Sets the value of a specified variable (array of 3 components) More...
 
virtual void SetValue (const Variable< array_1d< double, 6 > > &rVariable, const array_1d< double, 6 > &rValue, const ProcessInfo &rCurrentProcessInfo)
 Sets the value of a specified variable (array of 6 components) More...
 
virtual boolCalculateValue (Parameters &rParameterValues, const Variable< bool > &rThisVariable, bool &rValue)
 Calculates the value of a specified variable (bool) More...
 
virtual intCalculateValue (Parameters &rParameterValues, const Variable< int > &rThisVariable, int &rValue)
 Calculates the value of a specified variable (int) More...
 
virtual array_1d< double, 3 > & CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rValue)
 Calculates the value of a specified variable (array of 3 components) More...
 
virtual array_1d< double, 6 > & CalculateValue (Parameters &rParameterValues, const Variable< array_1d< double, 6 > > &rVariable, array_1d< double, 6 > &rValue)
 
virtual void CalculateDerivative (Parameters &rParameterValues, const Variable< double > &rFunctionVariable, const Variable< double > &rDerivativeVariable, double &rOutput)
 Calculates derivatives of a given function. More...
 
virtual void CalculateDerivative (Parameters &rParameterValues, const Variable< Vector > &rFunctionVariable, const Variable< double > &rDerivativeVariable, Vector &rOutput)
 Calculates derivatives of a given function. More...
 
virtual void CalculateDerivative (Parameters &rParameterValues, const Variable< Matrix > &rFunctionVariable, const Variable< double > &rDerivativeVariable, Matrix &rOutput)
 Calculates derivatives of a given function. More...
 
virtual void CalculateDerivative (Parameters &rParameterValues, const Variable< array_1d< double, 3 >> &rFunctionVariable, const Variable< double > &rDerivativeVariable, array_1d< double, 3 > &rOutput)
 Calculates derivatives of a given function. More...
 
virtual bool ValidateInput (const Properties &rMaterialProperties)
 
virtual bool IsIncremental ()
 
virtual void InitializeSolutionStep (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void InitializeNonLinearIteration (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void FinalizeNonLinearIteration (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure)
 
virtual void CalculateStressResponse (Parameters &rValues, Vector &rInternalVariables)
 
void InitializeMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure)
 Initialize the material response, called by the element in InitializeSolutionStep. More...
 
void FinalizeMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure)
 Finalize the material response, called by the element in FinalizeSolutionStep. More...
 
virtual void ResetMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues)
 
virtual VectorTransformStrains (Vector &rStrainVector, const Matrix &rF, StrainMeasure rStrainInitial, StrainMeasure rStrainFinal)
 
virtual MatrixTransformStresses (Matrix &rStressMatrix, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal)
 
virtual VectorTransformStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressInitial, StressMeasure rStressFinal)
 
VectorTransformPK1Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
VectorTransformPK2Stresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
VectorTransformKirchhoffStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
VectorTransformCauchyStresses (Vector &rStressVector, const Matrix &rF, const double &rdetF, StressMeasure rStressFinal)
 
void PullBackConstitutiveMatrix (Matrix &rConstitutiveMatrix, const Matrix &rF)
 
void PushForwardConstitutiveMatrix (Matrix &rConstitutiveMatrix, const Matrix &rF)
 
virtual void CalculateCauchyStresses (Vector &Cauchy_StressVector, const Matrix &F, const Vector &PK2_StressVector, const Vector &GreenLagrangeStrainVector)
 
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
doubleGetTensionThreshold ()
 
doubleGetTensionDamage ()
 
doubleGetNonConvTensionThreshold ()
 
doubleGetNonConvTensionDamage ()
 
void SetTensionThreshold (const double toThreshold)
 
void SetTensionDamage (const double toDamage)
 
void SetNonConvTensionThreshold (const double toThreshold)
 
void SetNonConvTensionDamage (const double toDamage)
 
doubleGetCompressionThreshold ()
 
doubleGetCompressionDamage ()
 
doubleGetNonConvCompressionThreshold ()
 
doubleGetNonConvCompressionDamage ()
 
void SetCompressionThreshold (const double toThreshold)
 
void SetCompressionDamage (const double toDamage)
 
void SetNonConvCompressionThreshold (const double toThreshold)
 
void SetNonConvCompressionDamage (const double toDamage)
 
void SetTensionStress (const double toS)
 
void SetCompressionStress (const double toS)
 
- Protected Member Functions inherited from Kratos::ElasticIsotropic3D
void CheckClearElasticMatrix (VoigtSizeMatrixType &rConstitutiveMatrix)
 It checks the size of the constitutive matrix rConstitutiveMatrix and resize it if neccessary. More...
 
virtual void CalculateElasticMatrix (ConstitutiveLaw::VoigtSizeMatrixType &rConstitutiveMatrix, ConstitutiveLaw::Parameters &rValues)
 It calculates the constitutive matrix rConstitutiveMatrix. More...
 
virtual void CalculatePK2Stress (const ConstitutiveLaw::StrainVectorType &rStrainVector, ConstitutiveLaw::StressVectorType &rStressVector, ConstitutiveLaw::Parameters &rValues)
 It calculates the stress vector. More...
 
virtual void CalculateCauchyGreenStrain (ConstitutiveLaw::Parameters &rValues, ConstitutiveLaw::StrainVectorType &rStrainVector)
 It calculates the strain vector. More...
 
- Protected Member Functions inherited from Kratos::ConstitutiveLaw
void ContraVariantPushForward (Matrix &rMatrix, const Matrix &rF)
 
void ContraVariantPullBack (Matrix &rMatrix, const Matrix &rF)
 
void CoVariantPushForward (Matrix &rMatrix, const Matrix &rF)
 
void CoVariantPullBack (Matrix &rMatrix, const Matrix &rF)
 
void ConstitutiveMatrixTransformation (Matrix &rConstitutiveMatrix, const Matrix &rOriginalConstitutiveMatrix, const Matrix &rF)
 
doubleTransformConstitutiveComponent (double &rCabcd, const Matrix &rConstitutiveMatrix, const Matrix &rF, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 
doubleGetConstitutiveComponent (double &rCabcd, const Matrix &rConstitutiveMatrix, const unsigned int &a, const unsigned int &b, const unsigned int &c, const unsigned int &d)
 

Type Definitions

typedef ElasticIsotropic3D BaseType
 Definition of the base class. More...
 
typedef Node NodeType
 The node definition. More...
 
typedef Geometry< NodeTypeGeometryType
 The geometry definition. More...
 
static constexpr SizeType Dimension = 3
 The define the working dimension size, already defined in the integrator. More...
 
static constexpr SizeType VoigtSize = 6
 The define the Voigt size, already defined in the integrator. More...
 
static constexpr double tolerance = std::numeric_limits<double>::epsilon()
 Definition of the machine precision tolerance. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (DamageDPlusDMinusMasonry3DLaw)
 Counted pointer of GenericYieldSurface. More...
 

Private Operations

class Serializer
 

Additional Inherited Members

- Public Types inherited from Kratos::ElasticIsotropic3D
typedef ProcessInfo ProcessInfoType
 The process info type definition. More...
 
typedef ConstitutiveLaw BaseType
 The base class ConstitutiveLaw type definition. More...
 
typedef std::size_t SizeType
 The size type definition. More...
 
- Public Types inherited from Kratos::ConstitutiveLaw
enum  StrainMeasure {
  StrainMeasure_Infinitesimal , StrainMeasure_GreenLagrange , StrainMeasure_Almansi , StrainMeasure_Hencky_Material ,
  StrainMeasure_Hencky_Spatial , StrainMeasure_Deformation_Gradient , StrainMeasure_Right_CauchyGreen , StrainMeasure_Left_CauchyGreen ,
  StrainMeasure_Velocity_Gradient
}
 
enum  StressMeasure { StressMeasure_PK1 , StressMeasure_PK2 , StressMeasure_Kirchhoff , StressMeasure_Cauchy }
 
typedef ProcessInfo ProcessInfoType
 
typedef std::size_t SizeType
 
typedef Geometry< NodeGeometryType
 
typedef Vector StrainVectorType
 
typedef Vector StressVectorType
 
typedef Matrix VoigtSizeMatrixType
 
typedef Matrix DeformationGradientMatrixType
 
- Public Types inherited from Kratos::Flags
enum  FlagsList {
  Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 ,
  Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 ,
  Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 ,
  Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 ,
  Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 ,
  Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 ,
  Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 ,
  Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30
}
 
typedef int64_t BlockType
 
typedef int64_t FlagType
 
typedef std::size_t IndexType
 
- Static Public Member Functions inherited from Kratos::ConstitutiveLaw
static bool HasSameType (const ConstitutiveLaw &rLHS, const ConstitutiveLaw &rRHS)
 This method is used to check that two Constitutive Laws are the same type (references) More...
 
static bool HasSameType (const ConstitutiveLaw *rLHS, const ConstitutiveLaw *rRHS)
 This method is used to check that two Constitutive Laws are the same type (pointers) More...
 
- Static Public Member Functions inherited from Kratos::Flags
static const Flags AllDefined ()
 
static const Flags AllTrue ()
 
static Flags Create (IndexType ThisPosition, bool Value=true)
 
- Static Public Attributes inherited from Kratos::ElasticIsotropic3D
static constexpr SizeType Dimension = 3
 Static definition of the dimension. More...
 
static constexpr SizeType VoigtSize = 6
 Static definition of the VoigtSize. More...
 
- Static Protected Attributes inherited from Kratos::ConstitutiveLaw
static const unsigned int msIndexVoigt3D6C [6][2] = { {0, 0}, {1, 1}, {2, 2}, {0, 1}, {1, 2}, {0, 2} }
 
static const unsigned int msIndexVoigt2D4C [4][2] = { {0, 0}, {1, 1}, {2, 2}, {0, 1} }
 
static const unsigned int msIndexVoigt2D3C [3][2] = { {0, 0}, {1, 1}, {0, 1} }
 

Member Typedef Documentation

◆ BaseType

Definition of the base class.

◆ GeometryType

The geometry definition.

◆ NodeType

The node definition.

Constructor & Destructor Documentation

◆ DamageDPlusDMinusMasonry3DLaw() [1/2]

Kratos::DamageDPlusDMinusMasonry3DLaw::DamageDPlusDMinusMasonry3DLaw ( )

Default constructor.

◆ DamageDPlusDMinusMasonry3DLaw() [2/2]

Kratos::DamageDPlusDMinusMasonry3DLaw::DamageDPlusDMinusMasonry3DLaw ( const DamageDPlusDMinusMasonry3DLaw rOther)
inline

Copy constructor.

◆ ~DamageDPlusDMinusMasonry3DLaw()

Kratos::DamageDPlusDMinusMasonry3DLaw::~DamageDPlusDMinusMasonry3DLaw ( )
inlineoverride

Destructor.

Member Function Documentation

◆ CalculateIntegratedStressVector()

void Kratos::DamageDPlusDMinusMasonry3DLaw::CalculateIntegratedStressVector ( Vector IntegratedStressVectorTension,
const DamageParameters Parameters,
ConstitutiveLaw::Parameters rValues 
)

Computes the inetgarted stress vector S = A:D0:A:E.

◆ CalculateMaterialResponseCauchy()

void Kratos::DamageDPlusDMinusMasonry3DLaw::CalculateMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
overridevirtual

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

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateMaterialResponseKirchhoff()

void Kratos::DamageDPlusDMinusMasonry3DLaw::CalculateMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
overridevirtual

Computes the material response in terms of Kirchhoff stresses and constitutive tensor.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateMaterialResponsePK1()

void Kratos::DamageDPlusDMinusMasonry3DLaw::CalculateMaterialResponsePK1 ( ConstitutiveLaw::Parameters rValues)
overridevirtual

Computes the material response in terms of 1st Piola-Kirchhoff stresses and constitutive tensor.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateMaterialResponsePK2()

void Kratos::DamageDPlusDMinusMasonry3DLaw::CalculateMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
overridevirtual

Computes the material response in terms of 2nd Piola-Kirchhoff stresses and constitutive tensor.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateValue() [1/3]

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

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() [2/3]

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

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() [3/3]

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

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.

◆ Check()

int Kratos::DamageDPlusDMinusMasonry3DLaw::Check ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const ProcessInfo rCurrentProcessInfo 
) const
overridevirtual

This function provides the place to perform checks on the completeness of the input.

It is designed to be called only once (or anyway, not often) typically at the beginning of the calculations, so to verify that nothing is missing from the input or that no common error is found.

Parameters
rMaterialPropertiesThe properties of the material
rElementGeometryThe geometry of the element
rCurrentProcessInfoThe current process info instance
Returns
0 if OK, 1 otherwise

Reimplemented from Kratos::ConstitutiveLaw.

◆ Clone()

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

Clone.

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponseCauchy()

void Kratos::DamageDPlusDMinusMasonry3DLaw::FinalizeMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
overridevirtual

Finalize the material response in terms of Cauchy stresses

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponseKirchhoff()

void Kratos::DamageDPlusDMinusMasonry3DLaw::FinalizeMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
overridevirtual

Finalize the material response in terms of Kirchhoff stresses.

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponsePK1()

void Kratos::DamageDPlusDMinusMasonry3DLaw::FinalizeMaterialResponsePK1 ( ConstitutiveLaw::Parameters rValues)
overridevirtual

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

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponsePK2()

void Kratos::DamageDPlusDMinusMasonry3DLaw::FinalizeMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
overridevirtual

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

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeSolutionStep()

void Kratos::DamageDPlusDMinusMasonry3DLaw::FinalizeSolutionStep ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

To be called at the end of each solution step.

(e.g. from Element::FinalizeSolutionStep)

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetCompressionDamage()

double& Kratos::DamageDPlusDMinusMasonry3DLaw::GetCompressionDamage ( )
inlineprotected

◆ GetCompressionThreshold()

double& Kratos::DamageDPlusDMinusMasonry3DLaw::GetCompressionThreshold ( )
inlineprotected

◆ GetNonConvCompressionDamage()

double& Kratos::DamageDPlusDMinusMasonry3DLaw::GetNonConvCompressionDamage ( )
inlineprotected

◆ GetNonConvCompressionThreshold()

double& Kratos::DamageDPlusDMinusMasonry3DLaw::GetNonConvCompressionThreshold ( )
inlineprotected

◆ GetNonConvTensionDamage()

double& Kratos::DamageDPlusDMinusMasonry3DLaw::GetNonConvTensionDamage ( )
inlineprotected

◆ GetNonConvTensionThreshold()

double& Kratos::DamageDPlusDMinusMasonry3DLaw::GetNonConvTensionThreshold ( )
inlineprotected

◆ GetStrainSize()

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

Voigt tensor size:

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetTensionDamage()

double& Kratos::DamageDPlusDMinusMasonry3DLaw::GetTensionDamage ( )
inlineprotected

◆ GetTensionThreshold()

double& Kratos::DamageDPlusDMinusMasonry3DLaw::GetTensionThreshold ( )
inlineprotected

◆ GetValue() [1/3]

double & Kratos::DamageDPlusDMinusMasonry3DLaw::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

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [2/3]

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

Returns the value of a specified variable (matrix)

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [3/3]

Vector & Kratos::DamageDPlusDMinusMasonry3DLaw::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

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [1/3]

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

Returns whether this constitutive Law has specified variable (double)

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [2/3]

bool Kratos::DamageDPlusDMinusMasonry3DLaw::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

Reimplemented from Kratos::ConstitutiveLaw.

◆ Has() [3/3]

bool Kratos::DamageDPlusDMinusMasonry3DLaw::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

Reimplemented from Kratos::ConstitutiveLaw.

◆ InitializeMaterial()

void Kratos::DamageDPlusDMinusMasonry3DLaw::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.

◆ IntegrateStressCompressionIfNecessary()

bool Kratos::DamageDPlusDMinusMasonry3DLaw::IntegrateStressCompressionIfNecessary ( const double  F_compression,
DamageParameters Parameters,
array_1d< double, VoigtSize > &  IntegratedStressVectorCompression,
array_1d< double, VoigtSize rIntegratedStressVector,
ConstitutiveLaw::Parameters rValues 
)

Integrates the predictive tension stress vector if necessary.

Parameters
F_compression= uniaxial_stress_compression - threshold

◆ IntegrateStressTensionIfNecessary()

bool Kratos::DamageDPlusDMinusMasonry3DLaw::IntegrateStressTensionIfNecessary ( const double  F_tension,
DamageParameters Parameters,
array_1d< double, VoigtSize > &  IntegratedStressVectorTension,
const array_1d< double, VoigtSize rIntegratedStressVector,
ConstitutiveLaw::Parameters rValues 
)

Integrates the predictive tension stress vector if necessary.

Parameters
F_compression= uniaxial_stress_tension - threshold

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::DamageDPlusDMinusMasonry3DLaw::KRATOS_CLASS_POINTER_DEFINITION ( DamageDPlusDMinusMasonry3DLaw  )

Counted pointer of GenericYieldSurface.

◆ SetCompressionDamage()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetCompressionDamage ( const double  toDamage)
inlineprotected

◆ SetCompressionStress()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetCompressionStress ( const double  toS)
inlineprotected

◆ SetCompressionThreshold()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetCompressionThreshold ( const double  toThreshold)
inlineprotected

◆ SetNonConvCompressionDamage()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetNonConvCompressionDamage ( const double  toDamage)
inlineprotected

◆ SetNonConvCompressionThreshold()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetNonConvCompressionThreshold ( const double  toThreshold)
inlineprotected

◆ SetNonConvTensionDamage()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetNonConvTensionDamage ( const double  toDamage)
inlineprotected

◆ SetNonConvTensionThreshold()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetNonConvTensionThreshold ( const double  toThreshold)
inlineprotected

◆ SetTensionDamage()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetTensionDamage ( const double  toDamage)
inlineprotected

◆ SetTensionStress()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetTensionStress ( const double  toS)
inlineprotected

◆ SetTensionThreshold()

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetTensionThreshold ( const double  toThreshold)
inlineprotected

◆ SetValue() [1/2]

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetValue ( const Variable< double > &  rThisVariable,
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() [2/2]

void Kratos::DamageDPlusDMinusMasonry3DLaw::SetValue ( const Variable< Vector > &  rThisVariable,
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.

◆ WorkingSpaceDimension()

SizeType Kratos::DamageDPlusDMinusMasonry3DLaw::WorkingSpaceDimension ( )
inlineoverridevirtual

Dimension of the law:

Reimplemented from Kratos::ConstitutiveLaw.

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

Member Data Documentation

◆ Dimension

constexpr SizeType Kratos::DamageDPlusDMinusMasonry3DLaw::Dimension = 3
staticconstexpr

The define the working dimension size, already defined in the integrator.

◆ tolerance

constexpr double Kratos::DamageDPlusDMinusMasonry3DLaw::tolerance = std::numeric_limits<double>::epsilon()
staticconstexpr

Definition of the machine precision tolerance.

◆ VoigtSize

constexpr SizeType Kratos::DamageDPlusDMinusMasonry3DLaw::VoigtSize = 6
staticconstexpr

The define the Voigt size, already defined in the integrator.


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