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::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType > Class Template Reference

This class is the base class which define all the constitutive laws for damage in small deformation. More...

#include <generic_small_strain_d_plus_d_minus_damage.h>

Inheritance diagram for Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >:
Collaboration diagram for Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >:

Classes

struct  DamageParameters
 

Public Member Functions

Life Cycle
 GenericSmallStrainDplusDminusDamage ()
 
ConstitutiveLaw::Pointer Clone () const override
 
 GenericSmallStrainDplusDminusDamage (const GenericSmallStrainDplusDminusDamage &rOther)
 
 ~GenericSmallStrainDplusDminusDamage () override
 
Operations
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, 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, 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...
 
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...
 
bool RequiresFinalizeMaterialResponse () override
 If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. More...
 
bool RequiresInitializeMaterialResponse () override
 If the CL requires to initialize the material response, called by the element in InitializeSolutionStep. 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...
 

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)
 

Type Definitions

typedef std::conditional< VoigtSize==6, ElasticIsotropic3D, LinearPlaneStrain >::type 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 = TConstLawIntegratorTensionType::Dimension
 The define the working dimension size, already defined in the integrator. More...
 
static constexpr SizeType VoigtSize = TConstLawIntegratorTensionType::VoigtSize
 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 (GenericSmallStrainDplusDminusDamage)
 Counted pointer of GenericYieldSurface. More...
 

Un accessible methods

class Serializer
 

Detailed Description

template<class TConstLawIntegratorTensionType, class TConstLawIntegratorCompressionType>
class Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >

This class is the base class which define all the constitutive laws for damage in small deformation.

This class considers a constitutive law integrator as an intermediate utility to compute the damage

Template Parameters
TConstLawIntegratorTypeThe constitutive law integrator considered
Author
Alejandro Cornejo

Member Typedef Documentation

◆ BaseType

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
typedef std::conditional<VoigtSize == 6, ElasticIsotropic3D, LinearPlaneStrain >::type Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::BaseType

Definition of the base class.

◆ GeometryType

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
typedef Geometry<NodeType> Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GeometryType

The geometry definition.

◆ NodeType

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
typedef Node Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::NodeType

The node definition.

Constructor & Destructor Documentation

◆ GenericSmallStrainDplusDminusDamage() [1/2]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GenericSmallStrainDplusDminusDamage ( )
inline

Default constructor.

◆ GenericSmallStrainDplusDminusDamage() [2/2]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GenericSmallStrainDplusDminusDamage ( const GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType > &  rOther)
inline

Copy constructor.

◆ ~GenericSmallStrainDplusDminusDamage()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::~GenericSmallStrainDplusDminusDamage ( )
inlineoverride

Destructor.

Member Function Documentation

◆ CalculateIntegratedStressVector()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::CalculateIntegratedStressVector ( Vector IntegratedStressVectorTension,
const DamageParameters Parameters,
ConstitutiveLaw::Parameters rValues 
)

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

◆ CalculateMaterialResponseCauchy()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::CalculateMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ CalculateMaterialResponseKirchhoff()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::CalculateMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ CalculateMaterialResponsePK1()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::CalculateMaterialResponsePK1 ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ CalculateMaterialResponsePK2()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::CalculateMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ CalculateValue() [1/3]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double & Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::CalculateValue ( ConstitutiveLaw::Parameters rParameterValues,
const Variable< double > &  rThisVariable,
double rValue 
)
override

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

◆ CalculateValue() [2/3]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
Matrix & Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::CalculateValue ( ConstitutiveLaw::Parameters rParameterValues,
const Variable< Matrix > &  rThisVariable,
Matrix rValue 
)
override

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

◆ CalculateValue() [3/3]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
Vector & Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::CalculateValue ( ConstitutiveLaw::Parameters rParameterValues,
const Variable< Vector > &  rThisVariable,
Vector rValue 
)
override

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

◆ Check()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
int Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::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.

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

◆ Clone()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
ConstitutiveLaw::Pointer Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::Clone ( ) const
inlineoverride

Clone.

◆ FinalizeMaterialResponseCauchy()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::FinalizeMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
override

Finalize the material response in terms of Cauchy stresses

See also
Parameters

◆ FinalizeMaterialResponseKirchhoff()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::FinalizeMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
override

Finalize the material response in terms of Kirchhoff stresses.

See also
Parameters

◆ FinalizeMaterialResponsePK1()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::FinalizeMaterialResponsePK1 ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ FinalizeMaterialResponsePK2()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::FinalizeMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ FinalizeSolutionStep()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::FinalizeSolutionStep ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues,
const ProcessInfo rCurrentProcessInfo 
)
override

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

◆ GetCompressionDamage()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double& Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetCompressionDamage ( )
inlineprotected

◆ GetCompressionThreshold()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double& Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetCompressionThreshold ( )
inlineprotected

◆ GetNonConvCompressionDamage()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double& Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetNonConvCompressionDamage ( )
inlineprotected

◆ GetNonConvCompressionThreshold()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double& Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetNonConvCompressionThreshold ( )
inlineprotected

◆ GetNonConvTensionDamage()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double& Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetNonConvTensionDamage ( )
inlineprotected

◆ GetNonConvTensionThreshold()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double& Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetNonConvTensionThreshold ( )
inlineprotected

◆ GetTensionDamage()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double& Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetTensionDamage ( )
inlineprotected

◆ GetTensionThreshold()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double& Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetTensionThreshold ( )
inlineprotected

◆ GetValue() [1/3]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
double & Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetValue ( const Variable< double > &  rThisVariable,
double rValue 
)
override

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

◆ GetValue() [2/3]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
Matrix & Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetValue ( const Variable< Matrix > &  rThisVariable,
Matrix rValue 
)
override

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

◆ GetValue() [3/3]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
Vector & Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::GetValue ( const Variable< Vector > &  rThisVariable,
Vector rValue 
)
override

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

◆ Has() [1/3]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
bool Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::Has ( const Variable< double > &  rThisVariable)
override

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

◆ Has() [2/3]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
bool Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::Has ( const Variable< Matrix > &  rThisVariable)
override

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

◆ Has() [3/3]

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
bool Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::Has ( const Variable< Vector > &  rThisVariable)
override

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

◆ InitializeMaterial()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::InitializeMaterial ( const Properties rMaterialProperties,
const GeometryType rElementGeometry,
const Vector rShapeFunctionsValues 
)
override

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

◆ IntegrateStressCompressionIfNecessary()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
bool Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::IntegrateStressCompressionIfNecessary ( const double  F_compression,
DamageParameters Parameters,
array_1d< double, VoigtSize > &  IntegratedStressVectorCompression,
ConstitutiveLaw::Parameters rValues 
)

Integrates the predictive tension stress vector if necessary.

Parameters
F_compression= uniaxial_stress_compression - threshold

◆ IntegrateStressTensionIfNecessary()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
bool Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::IntegrateStressTensionIfNecessary ( const double  F_tension,
DamageParameters Parameters,
array_1d< double, VoigtSize > &  IntegratedStressVectorTension,
ConstitutiveLaw::Parameters rValues 
)

Integrates the predictive tension stress vector if necessary.

Parameters
F_compression= uniaxial_stress_tension - threshold

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::KRATOS_CLASS_POINTER_DEFINITION ( GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >  )

Counted pointer of GenericYieldSurface.

◆ RequiresFinalizeMaterialResponse()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
bool Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::RequiresFinalizeMaterialResponse ( )
inlineoverride

If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.

◆ RequiresInitializeMaterialResponse()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
bool Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::RequiresInitializeMaterialResponse ( )
inlineoverride

If the CL requires to initialize the material response, called by the element in InitializeSolutionStep.

◆ SetCompressionDamage()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetCompressionDamage ( const double  toDamage)
inlineprotected

◆ SetCompressionStress()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetCompressionStress ( const double  toS)
inlineprotected

◆ SetCompressionThreshold()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetCompressionThreshold ( const double  toThreshold)
inlineprotected

◆ SetNonConvCompressionDamage()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetNonConvCompressionDamage ( const double  toDamage)
inlineprotected

◆ SetNonConvCompressionThreshold()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetNonConvCompressionThreshold ( const double  toThreshold)
inlineprotected

◆ SetNonConvTensionDamage()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetNonConvTensionDamage ( const double  toDamage)
inlineprotected

◆ SetNonConvTensionThreshold()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetNonConvTensionThreshold ( const double  toThreshold)
inlineprotected

◆ SetTensionDamage()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetTensionDamage ( const double  toDamage)
inlineprotected

◆ SetTensionStress()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetTensionStress ( const double  toS)
inlineprotected

◆ SetTensionThreshold()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetTensionThreshold ( const double  toThreshold)
inlineprotected

◆ SetValue()

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
void Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::SetValue ( const Variable< double > &  rThisVariable,
const double rValue,
const ProcessInfo rCurrentProcessInfo 
)
override

Sets the value of a specified variable (double)

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

Friends And Related Function Documentation

◆ Serializer

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
friend class Serializer
friend

Member Data Documentation

◆ Dimension

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
constexpr SizeType Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::Dimension = TConstLawIntegratorTensionType::Dimension
staticconstexpr

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

◆ tolerance

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
constexpr double Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::tolerance = std::numeric_limits<double>::epsilon()
staticconstexpr

Definition of the machine precision tolerance.

◆ VoigtSize

template<class TConstLawIntegratorTensionType , class TConstLawIntegratorCompressionType >
constexpr SizeType Kratos::GenericSmallStrainDplusDminusDamage< TConstLawIntegratorTensionType, TConstLawIntegratorCompressionType >::VoigtSize = TConstLawIntegratorTensionType::VoigtSize
staticconstexpr

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


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