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

#include <plane_stress_d_plus_d_minus_damage_masonry_2d.h>

Inheritance diagram for Kratos::DamageDPlusDMinusMasonry2DLaw:
Collaboration diagram for Kratos::DamageDPlusDMinusMasonry2DLaw:

Classes

struct  CalculationData
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (DamageDPlusDMinusMasonry2DLaw)
 
 DamageDPlusDMinusMasonry2DLaw ()
 
 ~DamageDPlusDMinusMasonry2DLaw () override
 
ConstitutiveLaw::Pointer Clone () const override
 
SizeType WorkingSpaceDimension () override
 returns the working space dimension of the current constitutive law More...
 
SizeType GetStrainSize () const override
 returns the size of the strain vector of the current constitutive law More...
 
bool Has (const Variable< double > &rThisVariable) override
 
bool Has (const Variable< Vector > &rThisVariable) override
 
bool Has (const Variable< Matrix > &rThisVariable) override
 
bool Has (const Variable< array_1d< double, 3 > > &rThisVariable) override
 
bool Has (const Variable< array_1d< double, 6 > > &rThisVariable) override
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 
VectorGetValue (const Variable< Vector > &rThisVariable, Vector &rValue) override
 
MatrixGetValue (const Variable< Matrix > &rThisVariable, Matrix &rValue) override
 
array_1d< double, 3 > & GetValue (const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rValue) override
 
array_1d< double, 6 > & GetValue (const Variable< array_1d< double, 6 > > &rVariable, array_1d< double, 6 > &rValue) override
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
void SetValue (const Variable< Vector > &rVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
void SetValue (const Variable< Matrix > &rVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
void SetValue (const Variable< array_1d< double, 3 > > &rVariable, const array_1d< double, 3 > &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
void SetValue (const Variable< array_1d< double, 6 > > &rVariable, const array_1d< double, 6 > &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
bool ValidateInput (const Properties &rMaterialProperties) override
 
StrainMeasure GetStrainMeasure () override
 
StressMeasure GetStressMeasure () override
 
bool IsIncremental () override
 
void InitializeMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override
 
void InitializeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 
void InitializeSolutionStep (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) override
 
void FinalizeSolutionStep (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo) override
 
void CalculateMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 
void CalculateMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 
void CalculateMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override
 
void CalculateMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override
 
void FinalizeMaterialResponsePK1 (ConstitutiveLaw::Parameters &rValues) override
 
void FinalizeMaterialResponsePK2 (ConstitutiveLaw::Parameters &rValues) override
 
void FinalizeMaterialResponseKirchhoff (ConstitutiveLaw::Parameters &rValues) override
 
void FinalizeMaterialResponseCauchy (ConstitutiveLaw::Parameters &rValues) override
 
void ResetMaterial (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues) override
 
void GetLawFeatures (Features &rFeatures) override
 
int Check (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const ProcessInfo &rCurrentProcessInfo) const override
 
void CalculateMaterialResponse (const Vector &StrainVector, const Matrix &DeformationGradient, Vector &StressVector, Matrix &AlgorithmicTangent, const ProcessInfo &rCurrentProcessInfo, const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, bool CalculateStresses=true, int CalculateTangent=true, bool SaveInternalVariables=true)
 
- 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 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 void InitializeNonLinearIteration (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo)
 
virtual void FinalizeNonLinearIteration (const Properties &rMaterialProperties, const GeometryType &rElementGeometry, const Vector &rShapeFunctionsValues, const ProcessInfo &rCurrentProcessInfo)
 
void CalculateMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure)
 
virtual bool RequiresInitializeMaterialResponse ()
 If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More...
 
virtual void CalculateStressResponse (Parameters &rValues, Vector &rInternalVariables)
 
void InitializeMaterialResponse (Parameters &rValues, const StressMeasure &rStressMeasure)
 Initialize the material response, called by the element in InitializeSolutionStep. More...
 
virtual void InitializeMaterialResponsePK1 (Parameters &rValues)
 Initialize the material response in terms of 1st Piola-Kirchhoff stresses. More...
 
virtual void 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 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...
 

Static Public Attributes

Type Definitions
static constexpr SizeType Dimension = 2
 We define the working dimension size, already defined in the integrator. More...
 
static constexpr SizeType VoigtSize = 3
 We 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...
 

Protected Member Functions

Protected Operators
void InitializeCalculationData (const Properties &props, const GeometryType &geom, const ProcessInfo &pinfo, CalculationData &data)
 Initializes the CalculationData at the beginning of each SolutionStep. More...
 
void CalculateElasticityMatrix (CalculationData &data)
 Constructs the Linear Elasticity Matrix and stores it in the CalculationData. More...
 
void TensionCompressionSplit (CalculationData &data)
 Splits the Effective Stress Vector into a positive (tension) and negative (compression) part. More...
 
void ConstructProjectionTensors (CalculationData &data)
 This method computes the positive (tension) and negative (compression) parts of the ProjectionMatrix. More...
 
void CalculateEquivalentStressTension (CalculationData &data, double &UniaxialStressTension)
 This method computes the equivalent stress in Tension. More...
 
void CalculateEquivalentStressCompression (CalculationData &data, double &UniaxialStressCompression)
 This method computes the equivalent stress in Compression. More...
 
void CalculateDamageTension (CalculationData &data, double internal_variable, double &rDamageTension)
 This method computes the damage variable d+ of the tension law by considering an exponential softening behavior. More...
 
void CalculateDamageCompression (CalculationData &data, double internal_variable, double &rDamage)
 This method computes the damage variable d- of the compression law by considering the above explained bezier curved uniaxial behavior. More...
 
void ComputeBezierEnergy (double &rBezierEnergy, double &rBezierEnergy1, double s_p, double s_k, double s_r, double e_p, double e_j, double e_k, double e_r, double e_u)
 This method computes the energy of the uniaxial damage law before regularization. More...
 
double EvaluateBezierArea (double x1, double x2, double x3, double y1, double y2, double y3)
 This method evaluates the area below the bezier curves. More...
 
void ApplyBezierStretcherToStrains (double stretcher, double e_p, double &e_j, double &e_k, double &e_r, double &e_u)
 This method applies the stretcher to the strains, to regularize the fracture energy. More...
 
void EvaluateBezierCurve (double &rDamageParameter, double xi, double x1, double x2, double x3, double y1, double y2, double y3)
 This method evaluates the damage parameter by considering the Bezier law explained above. More...
 
void ComputeCharacteristicLength (const GeometryType &geom, double &rCharacteristicLength)
 This method computes the Charcteristic element length. More...
 
void CalculateMaterialResponseInternal (const Vector &strain_vector, Vector &stress_vector, CalculationData &data, const Properties props)
 This method computes the internal material response strain to stress by applying cl. More...
 
void CheckDamageLoadingUnloading (bool &is_damaging_tension, bool &is_damaging_compression)
 This method checks whether we are in loading/unloading/damage state. More...
 
void CalculateTangentTensor (Parameters &rValues, Vector strain_vector, Vector stress_vector, CalculationData &data, const Properties &props)
 This method computes the tangent tensor. More...
 
void CalculateSecantTensor (Parameters &rValues, CalculationData &data)
 This method computes the secant tensor. 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)
 

Protected Attributes

Protected member Variables
bool InitializeDamageLaw = false
 
double PreviousThresholdTension = 0.0
 
double PreviousThresholdCompression = 0.0
 
double CurrentThresholdTension = 0.0
 
double CurrentThresholdCompression = 0.0
 
double ThresholdTension = 0.0
 
double ThresholdCompression = 0.0
 
double DamageParameterTension = 0.0
 
double DamageParameterCompression = 0.0
 
double UniaxialStressTension = 0.0
 
double UniaxialStressCompression = 0.0
 
double InitialCharacteristicLength = 0.0
 
double CurrentDeltaTime = 0.0
 
double PreviousDeltaTime = 0.0
 
double TemporaryImplicitThresholdTension = 0.0
 
double TemporaryImplicitThresholdTCompression = 0.0
 

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

Constructor & Destructor Documentation

◆ DamageDPlusDMinusMasonry2DLaw()

Kratos::DamageDPlusDMinusMasonry2DLaw::DamageDPlusDMinusMasonry2DLaw ( )

Default Constructor.

◆ ~DamageDPlusDMinusMasonry2DLaw()

Kratos::DamageDPlusDMinusMasonry2DLaw::~DamageDPlusDMinusMasonry2DLaw ( )
inlineoverride

Destructor.

Member Function Documentation

◆ ApplyBezierStretcherToStrains()

void Kratos::DamageDPlusDMinusMasonry2DLaw::ApplyBezierStretcherToStrains ( double  stretcher,
double  e_p,
double e_j,
double e_k,
double e_r,
double e_u 
)
protected

This method applies the stretcher to the strains, to regularize the fracture energy.

Parameters
stretcherThe stretch factor e_p The reference strain from which on the stretching is applied e_j, e_k, e_r, e_u The strains that have to be modified by the stretcher

◆ CalculateDamageCompression()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CalculateDamageCompression ( CalculationData data,
double  internal_variable,
double rDamage 
)
protected

This method computes the damage variable d- of the compression law by considering the above explained bezier curved uniaxial behavior.

BRIEF DOCUMENTATION OF THE USED UNIAXIAL SOFTENING BEHAVIOR IN COMPRESSION Entire documentation can be found in the the Phd Thesis of Massimo Petracca << Computational Multiscale Analysis of Masonry Structures>>

UNIAXIAL BEZIER COMPRESSION DAMAGE {I} Linear Elastic {II} Hardening Quadratic Bezier Curve Control nodes: 0=(e_0,s_0); I=(e_i,s_p); P=(e_p,s_p) {III} Softening Quadratic Bezier Curve Control nodes: P=(e_p,s_p); J=(e_j,s_j); K=(e_k,s_k) {IV} Softening Quadratic Bezier Curve Control nodes: K=(e_k,s_k); R=(e_r,s_r); U=(e_u,s_u) {V} Residual Strength

STRESS ^ /|\ | (P) s_p = |---------—(I)+-—#####–+(J) s_i = | ' ### ' #### s_j | ### ' ### | ###' ' ' ## s_k |--------—##–+---—+-—+–## (K) s_0 |------—##(0) ' ' ' ### | ## ' ' ' ' '### | ## ' ' ' ' ' #### | ## ' ' ' ' ' ##### | ## ' ' ' ' ' ##### | ## ' ' ' ' ' (R) ######## (U) s_r = |—##---—+—+---—'-—+-—+--—+--------------—###################### s_u | ## ' ' ' ' ' ' ' |_##________+___+______+____+____+_____+_________________+______________________________\ e_0 e_i e_p e_j e_k e_r e_u / STRAIN ' ' ' ' ' ' {I} ' {II} ' {III} ' {IV} ' {V} ' ' ' ' '

Parameters
CalculationDataCalculation Data for the CL internal_variable The internal variable that considers the considers the state of damage rDamage The final damage variable to be filled by this method

◆ CalculateDamageTension()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CalculateDamageTension ( CalculationData data,
double  internal_variable,
double rDamageTension 
)
protected

This method computes the damage variable d+ of the tension law by considering an exponential softening behavior.

Parameters
CalculationDatainternal_variable The internal variable that considers the considers the state of damage rDamage The final damage variable to be filled by this method

◆ CalculateElasticityMatrix()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CalculateElasticityMatrix ( CalculationData data)
protected

Constructs the Linear Elasticity Matrix and stores it in the CalculationData.

Parameters
CalculationData

◆ CalculateEquivalentStressCompression()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CalculateEquivalentStressCompression ( CalculationData data,
double UniaxialStressCompression 
)
protected

This method computes the equivalent stress in Compression.

Parameters
CalculationDataUniaxialStressCompression The variable to be filled with the resulting value

◆ CalculateEquivalentStressTension()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CalculateEquivalentStressTension ( CalculationData data,
double UniaxialStressTension 
)
protected

This method computes the equivalent stress in Tension.

Parameters
CalculationDataUniaxialStressTension The variable to be filled with the resulting value

◆ CalculateMaterialResponse()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CalculateMaterialResponse ( const Vector StrainVector,
const Matrix DeformationGradient,
Vector StressVector,
Matrix AlgorithmicTangent,
const ProcessInfo rCurrentProcessInfo,
const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues,
bool  CalculateStresses = true,
int  CalculateTangent = true,
bool  SaveInternalVariables = true 
)

◆ CalculateMaterialResponseCauchy()

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

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

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ CalculateMaterialResponseInternal()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CalculateMaterialResponseInternal ( const Vector strain_vector,
Vector stress_vector,
CalculationData data,
const Properties  props 
)
protected

This method computes the internal material response strain to stress by applying cl.

Parameters
strain_vectorThe strain vector stress_vector The stress vector CalculationData Calculation Data for the CL

◆ CalculateMaterialResponseKirchhoff()

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

◆ CalculateSecantTensor()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CalculateSecantTensor ( Parameters rValues,
CalculationData data 
)
protected

This method computes the secant tensor.

Parameters
rValuesThe constitutive law parameters and flags CalculationData Calculation Data for the CL

◆ CalculateTangentTensor()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CalculateTangentTensor ( Parameters rValues,
Vector  strain_vector,
Vector  stress_vector,
CalculationData data,
const Properties props 
)
protected

This method computes the tangent tensor.

Parameters
rValuesThe constitutive law parameters and flags strain_vector The strain vector stress_vector The stress vector CalculationData Calculation Data for the CL

◆ Check()

int Kratos::DamageDPlusDMinusMasonry2DLaw::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.

◆ CheckDamageLoadingUnloading()

void Kratos::DamageDPlusDMinusMasonry2DLaw::CheckDamageLoadingUnloading ( bool is_damaging_tension,
bool is_damaging_compression 
)
protected

This method checks whether we are in loading/unloading/damage state.

Parameters
is_damaging_tensionThe damage tension bool is_damaging_tension The damage compression bool

◆ Clone()

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

Clone.

Reimplemented from Kratos::ConstitutiveLaw.

◆ ComputeBezierEnergy()

void Kratos::DamageDPlusDMinusMasonry2DLaw::ComputeBezierEnergy ( double rBezierEnergy,
double rBezierEnergy1,
double  s_p,
double  s_k,
double  s_r,
double  e_p,
double  e_j,
double  e_k,
double  e_r,
double  e_u 
)
protected

This method computes the energy of the uniaxial damage law before regularization.

Parameters
rBezierEnergyrBezierEnergy1 double s_p, double s_k, double s_r, double e_p, double e_j, double e_k, double e_r, double e_u As inputs for the energy calculation

◆ ComputeCharacteristicLength()

void Kratos::DamageDPlusDMinusMasonry2DLaw::ComputeCharacteristicLength ( const GeometryType geom,
double rCharacteristicLength 
)
protected

This method computes the Charcteristic element length.

Parameters
GeometryType&geom The element geometry data from rValues rCharacteristicLength The characteristic Length

◆ ConstructProjectionTensors()

void Kratos::DamageDPlusDMinusMasonry2DLaw::ConstructProjectionTensors ( CalculationData data)
protected

This method computes the positive (tension) and negative (compression) parts of the ProjectionMatrix.

Parameters
CalculationData

◆ EvaluateBezierArea()

double Kratos::DamageDPlusDMinusMasonry2DLaw::EvaluateBezierArea ( double  x1,
double  x2,
double  x3,
double  y1,
double  y2,
double  y3 
)
protected

This method evaluates the area below the bezier curves.

Parameters
x1,x2,x3x-coordinates of the Bezier control points y1, y2, y3 y-coordinates of the Bezier control points

◆ EvaluateBezierCurve()

void Kratos::DamageDPlusDMinusMasonry2DLaw::EvaluateBezierCurve ( double rDamageParameter,
double  xi,
double  x1,
double  x2,
double  x3,
double  y1,
double  y2,
double  y3 
)
protected

This method evaluates the damage parameter by considering the Bezier law explained above.

Parameters
rDamageParameterThe parameter to obtain the damage d- xi The strain like counterpart x1, x2, x3 x-coordinates of the Bezier control points y1, y2, y3 y-coordinates of the Bezier control points

◆ FinalizeMaterialResponseCauchy()

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

Updates the material response in terms of Cauchy stresses

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponseKirchhoff()

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

Updates the material response in terms of Kirchhoff stresses

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponsePK1()

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

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

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeMaterialResponsePK2()

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

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

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ FinalizeSolutionStep()

void Kratos::DamageDPlusDMinusMasonry2DLaw::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
thecurrent ProcessInfo instance

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetLawFeatures()

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

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

Parameters
rFeatures

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetStrainMeasure()

DamageDPlusDMinusMasonry2DLaw::StrainMeasure Kratos::DamageDPlusDMinusMasonry2DLaw::GetStrainMeasure ( )
overridevirtual

returns the expected strain measure of this constitutive law (by default linear strains)

Returns
the expected strain measure

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetStrainSize()

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

returns the size of the strain vector of the current constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetStressMeasure()

DamageDPlusDMinusMasonry2DLaw::StressMeasure Kratos::DamageDPlusDMinusMasonry2DLaw::GetStressMeasure ( )
overridevirtual

returns the stress measure of this constitutive law (by default 1st Piola-Kirchhoff stress in voigt notation)

Returns
the expected stress measure

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [1/5]

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

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::DamageDPlusDMinusMasonry2DLaw::GetValue ( const Variable< array_1d< double, 6 > > &  rVariable,
array_1d< double, 6 > &  rValue 
)
overridevirtual

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::DamageDPlusDMinusMasonry2DLaw::GetValue ( const Variable< double > &  rThisVariable,
double rValue 
)
overridevirtual

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.

◆ GetValue() [4/5]

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

returns the value of a specified variable

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ GetValue() [5/5]

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

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.

◆ Has() [1/5]

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

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::DamageDPlusDMinusMasonry2DLaw::Has ( const Variable< array_1d< double, 6 > > &  rThisVariable)
overridevirtual

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::DamageDPlusDMinusMasonry2DLaw::Has ( const Variable< double > &  rThisVariable)
overridevirtual

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

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

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::DamageDPlusDMinusMasonry2DLaw::Has ( const Variable< Vector > &  rThisVariable)
overridevirtual

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.

◆ InitializeCalculationData()

void Kratos::DamageDPlusDMinusMasonry2DLaw::InitializeCalculationData ( const Properties props,
const GeometryType geom,
const ProcessInfo pinfo,
CalculationData data 
)
protected

Initializes the CalculationData at the beginning of each SolutionStep.

Parameters
Properties&props The Material Properties of the constitutive law from rValues GeometryType& geom The Element Geometry from rValues ProcessInfo& pinfo The ProcessInfo from rValues CalculationData

◆ InitializeMaterial()

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

◆ InitializeMaterialResponsePK2()

void Kratos::DamageDPlusDMinusMasonry2DLaw::InitializeMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
overridevirtual

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

See also
Parameters

Reimplemented from Kratos::ConstitutiveLaw.

◆ InitializeSolutionStep()

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

to be called at the beginning of each solution step (e.g. from Element::InitializeSolutionStep)

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ IsIncremental()

bool Kratos::DamageDPlusDMinusMasonry2DLaw::IsIncremental ( )
overridevirtual

returns whether this constitutive model is formulated in incremental strains/stresses NOTE: by default, all constitutive models should be formulated in total strains

Returns
true, if formulated in incremental strains/stresses, false otherwise

Reimplemented from Kratos::ConstitutiveLaw.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::DamageDPlusDMinusMasonry2DLaw::KRATOS_CLASS_POINTER_DEFINITION ( DamageDPlusDMinusMasonry2DLaw  )

◆ ResetMaterial()

void Kratos::DamageDPlusDMinusMasonry2DLaw::ResetMaterial ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues 
)
overridevirtual

This can be used in order to reset all internal variables of the constitutive law (e.g. if a model should be reset to its reference state)

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [1/5]

void Kratos::DamageDPlusDMinusMasonry2DLaw::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

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [2/5]

void Kratos::DamageDPlusDMinusMasonry2DLaw::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

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [3/5]

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

sets the value of a specified variable

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [4/5]

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

sets the value of a specified variable

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ SetValue() [5/5]

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

sets the value of a specified variable

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

Reimplemented from Kratos::ConstitutiveLaw.

◆ TensionCompressionSplit()

void Kratos::DamageDPlusDMinusMasonry2DLaw::TensionCompressionSplit ( CalculationData data)
protected

Splits the Effective Stress Vector into a positive (tension) and negative (compression) part.

Parameters
CalculationData

◆ ValidateInput()

bool Kratos::DamageDPlusDMinusMasonry2DLaw::ValidateInput ( const Properties rMaterialProperties)
overridevirtual

Is called to check whether the provided material parameters in the Properties match the requirements of current constitutive model.

Parameters
rMaterialPropertiesthe current Properties to be validated against.
Returns
true, if parameters are correct; false, if parameters are insufficient / faulty NOTE: this has to be implemented by each constitutive model. Returns false in base class since no valid implementation is contained here.

Reimplemented from Kratos::ConstitutiveLaw.

◆ WorkingSpaceDimension()

SizeType Kratos::DamageDPlusDMinusMasonry2DLaw::WorkingSpaceDimension ( )
inlineoverridevirtual

returns the working space dimension of the current constitutive law

Reimplemented from Kratos::ConstitutiveLaw.

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

Member Data Documentation

◆ CurrentDeltaTime

double Kratos::DamageDPlusDMinusMasonry2DLaw::CurrentDeltaTime = 0.0
protected

◆ CurrentThresholdCompression

double Kratos::DamageDPlusDMinusMasonry2DLaw::CurrentThresholdCompression = 0.0
protected

◆ CurrentThresholdTension

double Kratos::DamageDPlusDMinusMasonry2DLaw::CurrentThresholdTension = 0.0
protected

◆ DamageParameterCompression

double Kratos::DamageDPlusDMinusMasonry2DLaw::DamageParameterCompression = 0.0
protected

◆ DamageParameterTension

double Kratos::DamageDPlusDMinusMasonry2DLaw::DamageParameterTension = 0.0
protected

◆ Dimension

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

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

◆ InitialCharacteristicLength

double Kratos::DamageDPlusDMinusMasonry2DLaw::InitialCharacteristicLength = 0.0
protected

◆ InitializeDamageLaw

bool Kratos::DamageDPlusDMinusMasonry2DLaw::InitializeDamageLaw = false
protected

◆ PreviousDeltaTime

double Kratos::DamageDPlusDMinusMasonry2DLaw::PreviousDeltaTime = 0.0
protected

◆ PreviousThresholdCompression

double Kratos::DamageDPlusDMinusMasonry2DLaw::PreviousThresholdCompression = 0.0
protected

◆ PreviousThresholdTension

double Kratos::DamageDPlusDMinusMasonry2DLaw::PreviousThresholdTension = 0.0
protected

◆ TemporaryImplicitThresholdTCompression

double Kratos::DamageDPlusDMinusMasonry2DLaw::TemporaryImplicitThresholdTCompression = 0.0
protected

◆ TemporaryImplicitThresholdTension

double Kratos::DamageDPlusDMinusMasonry2DLaw::TemporaryImplicitThresholdTension = 0.0
protected

◆ ThresholdCompression

double Kratos::DamageDPlusDMinusMasonry2DLaw::ThresholdCompression = 0.0
protected

◆ ThresholdTension

double Kratos::DamageDPlusDMinusMasonry2DLaw::ThresholdTension = 0.0
protected

◆ tolerance

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

Definition of the machine precision tolerance.

◆ UniaxialStressCompression

double Kratos::DamageDPlusDMinusMasonry2DLaw::UniaxialStressCompression = 0.0
protected

◆ UniaxialStressTension

double Kratos::DamageDPlusDMinusMasonry2DLaw::UniaxialStressTension = 0.0
protected

◆ VoigtSize

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

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


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