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::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType > Class Template Reference

This class is the base class which define the Plastic Damage model developed by Luccioni B. and Oller S. More...

#include <generic_small_strain_plastic_damage_model.h>

Inheritance diagram for Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >:
Collaboration diagram for Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >:

Classes

struct  PlasticDamageParameters
 

Public Member Functions

Life Cycle
 GenericSmallStrainPlasticDamageModel ()
 
ConstitutiveLaw::Pointer Clone () const override
 
 GenericSmallStrainPlasticDamageModel (const GenericSmallStrainPlasticDamageModel &rOther)
 
 ~GenericSmallStrainPlasticDamageModel () 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...
 
void 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. 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
 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...
 
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 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...
 
double CalculateDamageParameters (PlasticDamageParameters &rParameters, const Matrix &rElasticMatrix, ConstitutiveLaw::Parameters &rValues)
 This method works as the damage integrator im the isotropic damage CL and computes the associated parameters. More...
 
void CalculateIndicatorsFactors (const array_1d< double, 6 > &rPredictiveStressVector, double &rTensileIndicatorFactor, double &rCompressionIndicatorFactor, double &rSumPrincipalStresses, array_1d< double, 3 > &rPrincipalStresses)
 This method computes the tensile/compressive indicators. More...
 
void CheckInternalVariable (double &rInternalVariable)
 This method checks the value of some of the variables used in the CL and guarantees that their value is between 0 and 1. More...
 
void CalculateIncrementsPlasticDamageCase (PlasticDamageParameters &rParameters, const Matrix &rElasticMatrix)
 This method computes the increments for the damage internal variable and for the plastic consistency parameter. More...
 
double CalculatePlasticParameters (PlasticDamageParameters &rParameters, const Matrix &rConstitutiveMatrix, ConstitutiveLaw::Parameters &rValues)
 This method works as the damage integrator im the isotropic damage CL and computes the associated parameters. More...
 
void CalculatePlasticDenominator (const array_1d< double, VoigtSize > &rFFlux, const array_1d< double, VoigtSize > &rGFlux, const Matrix &rConstitutiveMatrix, double &rHardeningParameter, const double Damage, double &rPlasticDenominator)
 This method computes the plastic denominator needed to obtain the plastic consistency factor to compute the plastic consistency factor. More...
 

Protected Member Functions

Protected Operators
doubleGetThresholdPlasticity ()
 
doubleGetPlasticDissipation ()
 
VectorGetPlasticStrain ()
 
void SetThresholdPlasticity (const double ThresholdPlasticity)
 
void SetPlasticDissipation (const double PlasticDissipation)
 
void SetPlasticStrain (const array_1d< double, VoigtSize > &rPlasticStrain)
 

Type Definitions

typedef std::size_t IndexType
 
typedef std::conditional< VoigtSize==6, ElasticIsotropic3D, LinearPlaneStrain >::type BaseType
 Definition of the base class. More...
 
typedef array_1d< double, VoigtSizeBoundedArrayType
 The definition of the Voigt array type. More...
 
typedef BoundedMatrix< double, Dimension, DimensionBoundedMatrixType
 The definition of the bounded matrix type. More...
 
typedef Node NodeType
 The node definition. More...
 
typedef Geometry< NodeTypeGeometryType
 The geometry definition. More...
 
static constexpr SizeType Dimension = TPlasticityIntegratorType::Dimension
 The define the working dimension size, already defined in the integrator. More...
 
static constexpr SizeType VoigtSize = TPlasticityIntegratorType::VoigtSize
 The define the Voigt size, already defined in the integrator. More...
 
static constexpr double tolerance = std::numeric_limits<double>::epsilon()
 The machine precision tolerance. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (GenericSmallStrainPlasticDamageModel)
 Counted pointer of GenericSmallStrainPlasticDamageModel. More...
 

Un accessible methods

class Serializer
 

Detailed Description

template<class TPlasticityIntegratorType, class TDamageIntegratorType>
class Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >

This class is the base class which define the Plastic Damage model developed by Luccioni B. and Oller S.

This class considers a constitutive law integrator for the damage and another one for the plasticity process

Template Parameters
TPlasticityIntegratorTypeand TDamageIntegratorType The constitutive law integrators considered
Author
Alejandro Cornejo & Sergio Jimenez

Member Typedef Documentation

◆ BaseType

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
typedef std::conditional<VoigtSize == 6, ElasticIsotropic3D, LinearPlaneStrain >::type Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::BaseType

Definition of the base class.

◆ BoundedArrayType

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
typedef array_1d<double, VoigtSize> Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::BoundedArrayType

The definition of the Voigt array type.

◆ BoundedMatrixType

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
typedef BoundedMatrix<double, Dimension, Dimension> Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::BoundedMatrixType

The definition of the bounded matrix type.

◆ GeometryType

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
typedef Geometry<NodeType> Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::GeometryType

The geometry definition.

◆ IndexType

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
typedef std::size_t Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::IndexType

◆ NodeType

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
typedef Node Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::NodeType

The node definition.

Constructor & Destructor Documentation

◆ GenericSmallStrainPlasticDamageModel() [1/2]

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::GenericSmallStrainPlasticDamageModel ( )
inline

Default constructor.

◆ GenericSmallStrainPlasticDamageModel() [2/2]

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::GenericSmallStrainPlasticDamageModel ( const GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType > &  rOther)
inline

Copy constructor.

◆ ~GenericSmallStrainPlasticDamageModel()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::~GenericSmallStrainPlasticDamageModel ( )
inlineoverride

Destructor.

Member Function Documentation

◆ CalculateDamageParameters()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
double Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::CalculateDamageParameters ( PlasticDamageParameters rParameters,
const Matrix rElasticMatrix,
ConstitutiveLaw::Parameters rValues 
)

This method works as the damage integrator im the isotropic damage CL and computes the associated parameters.

It is used to call the damage integrator and apply the particularities of this CL.

Parameters
rPredictiveStressVectorThe predictive stress vector S = C:(E-Ep)
rStrainVectorThe strain vector
rUniaxialStressThe uniaxial stress of the damage model
rDamageThresholdThe maximum uniaxial stress achieved previously
rDamageDissipationThe internal variable of energy dissipation due to damage
rConstitutiveMatrixThe elastic constitutive matrix
rValuesParameters of the constitutive law
CharacteristicLengthThe equivalent length of the FE
rDamageFluxThe derivative of the yield surface used for damage
rPlasticStrainThe plastic component of the strain
DamageThe internal variable of the damage model
DamageIncrementThe increment of the internal variable of the damage model at this time step
UndamagedFreeEnergyThe undamaged free energy
rHarddHardening parameter for the damage model
rDamageDissipationIncrementIncrement of the internal variable of energy dissipation due to damage

◆ CalculateIncrementsPlasticDamageCase()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::CalculateIncrementsPlasticDamageCase ( PlasticDamageParameters rParameters,
const Matrix rElasticMatrix 
)

This method computes the increments for the damage internal variable and for the plastic consistency parameter.

Parameters
rFluxDamageYieldThe derivative of the yield surface used for damage
rStrainVectorThe strain vector
DamageThe internal variable of the damage model
rPlasticityFluxThe derivative of the yield surface used for plasticity
rPlasticityGFluxThe derivative of the potential used for plasticity
rElasticMatrixThe elastic constitutive matrix
DamageIndicatorThe difference between the uniaxial stress and the damage threshold
PlasticityIndicatorThe difference between the uniaxial stress and the plasticity threshold
rPlasticStrainThe plastic component of the strain
rDamageIncrementThe increment of the internal variable of the damage model at this time step
rPlasticConsistencyIncrementThe increment of the internal plastic consistency variable of the plasticity model at this time step
PlasticDenominatorThe plasticity numerical value to obtain the pastic consistency factor
UniaxialStressPlastThe uniaxial stress of the plasticity model
HarddHardening parameter for the damage model
rDamageDissipationIncrementIncrement of the internal variable of energy dissipation due to damage

◆ CalculateIndicatorsFactors()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::CalculateIndicatorsFactors ( const array_1d< double, 6 > &  rPredictiveStressVector,
double rTensileIndicatorFactor,
double rCompressionIndicatorFactor,
double rSumPrincipalStresses,
array_1d< double, 3 > &  rPrincipalStresses 
)

This method computes the tensile/compressive indicators.

Parameters
rPredictiveStressVectorThe predictive stress vector S = C:(E-Ep)
rTensileIndicatorFactorThe tensile indicator
rCompressionIndicatorFactorThe compressive indicator
rSumPrincipalStressesThe sum of the principal stresses
rPrincipalStressesThe principal stresses

◆ CalculateMaterialResponseCauchy()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::CalculateMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ CalculateMaterialResponseKirchhoff()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::CalculateMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ CalculateMaterialResponsePK1()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::CalculateMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ CalculatePlasticDenominator()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::CalculatePlasticDenominator ( const array_1d< double, VoigtSize > &  rFFlux,
const array_1d< double, VoigtSize > &  rGFlux,
const Matrix rConstitutiveMatrix,
double rHardeningParameter,
const double  Damage,
double rPlasticDenominator 
)

This method computes the plastic denominator needed to obtain the plastic consistency factor to compute the plastic consistency factor.

Parameters
rFfluxThe derivative of the yield surface
rGfluxThe derivative of the plastic potential
rConstitutiveMatrixThe elastic constitutive matrix
rHardeningParameterThe hardening parameter needed for the plasticity algorithm
rPlasticDenominatorThe plasticity numerical value to obtain the plastic consistency factor

◆ CalculatePlasticParameters()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
double Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::CalculatePlasticParameters ( PlasticDamageParameters rParameters,
const Matrix rConstitutiveMatrix,
ConstitutiveLaw::Parameters rValues 
)

This method works as the damage integrator im the isotropic damage CL and computes the associated parameters.

Parameters
rPredictiveStressVectorThe predictive stress vector S = C:(E-Ep)
rStrainVectorThe strain vector
rUniaxialStressThe uniaxial stress of the plasticity model
rThresholdThe maximum uniaxial stress achieved previously
rPlasticDenominatorThe plasticity numerical value to obtain the plastic consistency factor
rFfluxThe derivative of the yield surface used for plasticity
rGfluxThe derivative of the potential used for plasticity
rPlasticDissipationThe internal variable of energy dissipation due to plasticity
rPlasticStrainIncrementThe increment of the plastic strain
rConstitutiveMatrixThe elastic constitutive matrix
rValuesParameters of the constitutive law
CharacteristicLengthThe equivalent length of the FE
rPlasticStrainThe plastic component of the strain
DamageThe internal variable of the damage model

◆ CalculateValue() [1/3]

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
double & Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
Matrix & Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
Vector & Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
int Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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

◆ CheckInternalVariable()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::CheckInternalVariable ( double rInternalVariable)

This method checks the value of some of the variables used in the CL and guarantees that their value is between 0 and 1.

Parameters
rInternalVariableInternal variable of the CL (damage, rDamageDissipationIncrement and rDamageDissipation)

◆ Clone()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
ConstitutiveLaw::Pointer Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::Clone ( ) const
inlineoverride

Clone.

◆ FinalizeMaterialResponseCauchy()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::FinalizeMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
override

Finalize the material response in terms of Cauchy stresses

See also
Parameters

◆ FinalizeMaterialResponseKirchhoff()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::FinalizeMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
override

Finalize the material response in terms of Kirchhoff stresses.

See also
Parameters

◆ FinalizeMaterialResponsePK1()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::FinalizeMaterialResponsePK1 ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ FinalizeMaterialResponsePK2()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::FinalizeMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ GetPlasticDissipation()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
double& Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::GetPlasticDissipation ( )
inlineprotected

◆ GetPlasticStrain()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
Vector& Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::GetPlasticStrain ( )
inlineprotected

◆ GetThresholdPlasticity()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
double& Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::GetThresholdPlasticity ( )
inlineprotected

◆ GetValue() [1/3]

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
double & Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
Matrix & Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
Vector & Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
bool Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
bool Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
bool Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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 TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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

◆ InitializeMaterialResponseCauchy()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::InitializeMaterialResponseCauchy ( ConstitutiveLaw::Parameters rValues)
override

Initialize the material response in terms of Cauchy stresses.

See also
Parameters

◆ InitializeMaterialResponseKirchhoff()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::InitializeMaterialResponseKirchhoff ( ConstitutiveLaw::Parameters rValues)
override

Initialize the material response in terms of Kirchhoff stresses.

See also
Parameters

◆ InitializeMaterialResponsePK1()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::InitializeMaterialResponsePK1 ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ InitializeMaterialResponsePK2()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::InitializeMaterialResponsePK2 ( ConstitutiveLaw::Parameters rValues)
override

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

See also
Parameters

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::KRATOS_CLASS_POINTER_DEFINITION ( GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >  )

◆ RequiresFinalizeMaterialResponse()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
bool Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::RequiresFinalizeMaterialResponse ( )
inlineoverride

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

◆ RequiresInitializeMaterialResponse()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
bool Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::RequiresInitializeMaterialResponse ( )
inlineoverride

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

◆ SetPlasticDissipation()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::SetPlasticDissipation ( const double  PlasticDissipation)
inlineprotected

◆ SetPlasticStrain()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::SetPlasticStrain ( const array_1d< double, VoigtSize > &  rPlasticStrain)
inlineprotected

◆ SetThresholdPlasticity()

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::SetThresholdPlasticity ( const double  ThresholdPlasticity)
inlineprotected

◆ SetValue() [1/2]

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::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

◆ SetValue() [2/2]

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
void Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::SetValue ( const Variable< Vector > &  rThisVariable,
const Vector rValue,
const ProcessInfo rCurrentProcessInfo 
)
override

Sets the value of a specified variable (Vector)

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

Friends And Related Function Documentation

◆ Serializer

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
friend class Serializer
friend

Member Data Documentation

◆ Dimension

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
constexpr SizeType Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::Dimension = TPlasticityIntegratorType::Dimension
staticconstexpr

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

◆ tolerance

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
constexpr double Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::tolerance = std::numeric_limits<double>::epsilon()
staticconstexpr

The machine precision tolerance.

◆ VoigtSize

template<class TPlasticityIntegratorType , class TDamageIntegratorType >
constexpr SizeType Kratos::GenericSmallStrainPlasticDamageModel< TPlasticityIntegratorType, TDamageIntegratorType >::VoigtSize = TPlasticityIntegratorType::VoigtSize
staticconstexpr

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


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