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.
List of all members
Kratos::DamageModel< TElasticityModel, TYieldSurface > Class Template Reference

Short class definition. More...

#include <damage_model.hpp>

Inheritance diagram for Kratos::DamageModel< TElasticityModel, TYieldSurface >:
Collaboration diagram for Kratos::DamageModel< TElasticityModel, TYieldSurface >:

Public Member Functions

Life Cycle
 DamageModel ()
 Default constructor. More...
 
 DamageModel (DamageModel const &rOther)
 Copy constructor. More...
 
DamageModeloperator= (DamageModel const &rOther)
 Assignment operator. More...
 
ConstitutiveModel::Pointer Clone () const override
 Clone. More...
 
 ~DamageModel () override
 Destructor. More...
 
Operations
void InitializeMaterial (const Properties &rProperties) override
 
void InitializeModel (ModelDataType &rValues) override
 
void CalculateStressTensor (ModelDataType &rValues, MatrixType &rStressMatrix) override
 
void CalculateConstitutiveTensor (ModelDataType &rValues, Matrix &rConstitutiveMatrix) override
 
void CalculateStressAndConstitutiveTensors (ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
 
Access
bool Has (const Variable< double > &rThisVariable) override
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 
Input and output
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::PlasticityModel< TElasticityModel, TYieldSurface >
 PlasticityModel ()
 Default constructor. More...
 
 PlasticityModel (PlasticityModel const &rOther)
 Copy constructor. More...
 
PlasticityModeloperator= (PlasticityModel const &rOther)
 Assignment operator. More...
 
ConstitutiveModel::Pointer Clone () const override
 Clone. More...
 
 ~PlasticityModel () override
 Destructor. More...
 
void InitializeMaterial (const Properties &rProperties) override
 
void InitializeModel (ModelDataType &rValues) override
 
void FinalizeModel (ModelDataType &rValues) override
 
void CalculateStressTensor (ModelDataType &rValues, MatrixType &rStressMatrix) override
 
void CalculateIsochoricStressTensor (ModelDataType &rValues, MatrixType &rStressMatrix) override
 
void CalculateVolumetricStressTensor (ModelDataType &rValues, MatrixType &rStressMatrix) override
 
void CalculateConstitutiveTensor (ModelDataType &rValues, Matrix &rConstitutiveMatrix) override
 
void CalculateIsochoricConstitutiveTensor (ModelDataType &rValues, Matrix &rConstitutiveMatrix) override
 
void CalculateVolumetricConstitutiveTensor (ModelDataType &rValues, Matrix &rConstitutiveMatrix) override
 
void CalculateStressAndConstitutiveTensors (ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
 
void CalculateIsochoricStressAndConstitutiveTensors (ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
 
void CalculateVolumetricStressAndConstitutiveTensors (ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
 
int Check (const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo) override
 
void GetDomainVariablesList (std::vector< Variable< double > > &rScalarVariables, std::vector< Variable< array_1d< double, 3 > > > &rComponentVariables) override
 
bool Has (const Variable< double > &rThisVariable) override
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 
ElasticityModelTypeGetElasticityModel ()
 
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...
 
 KRATOS_CLASS_POINTER_DEFINITION (PlasticityModel)
 Pointer definition of PlasticityModel. More...
 
- Public Member Functions inherited from Kratos::ConstitutiveModel
 KRATOS_DEFINE_LOCAL_FLAG (ADD_HISTORY_VECTOR)
 
 KRATOS_DEFINE_LOCAL_FLAG (HISTORY_STRAIN_MEASURE)
 
 KRATOS_DEFINE_LOCAL_FLAG (HISTORY_STRESS_MEASURE)
 
 ConstitutiveModel ()
 Default constructor. More...
 
 ConstitutiveModel (ConstitutiveModel const &rOther)
 Copy constructor. More...
 
ConstitutiveModeloperator= (ConstitutiveModel const &rOther)
 Assignment operator. More...
 
virtual ~ConstitutiveModel ()
 Destructor. More...
 
virtual void CalculateStrainEnergy (ModelDataType &rValues, double &rDensityFunction)
 
virtual void SetValue (const Variable< Vector > &rThisVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo)
 
virtual void SetValue (const Variable< Matrix > &rThisVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo)
 
 KRATOS_CLASS_POINTER_DEFINITION (ConstitutiveModel)
 Pointer definition of ConstitutiveModel. More...
 

Protected Member Functions

Protected Operations
virtual void CalculateAndAddStressTensor (PlasticDataType &rVariables, MatrixType &rStressMatrix)
 
virtual void CalculateAndAddPlasticConstitutiveTensor (PlasticDataType &rVariables, Matrix &rConstitutiveMatrix)
 
virtual bool CalculateReturnMapping (PlasticDataType &rVariables, MatrixType &rStressMatrix)
 
virtual void InitializeVariables (ModelDataType &rValues, PlasticDataType &rVariables)
 
virtual void UpdateStressConfiguration (PlasticDataType &rVariables, MatrixType &rStressMatrix)
 
virtual void UpdateInternalVariables (ModelDataType &rValues, PlasticDataType &rVariables, const MatrixType &rStressMatrix)
 
void CalculateStressNorm (PlasticDataType &rVariables, MatrixType &rStressMatrix)
 
VectorCalculateEquivalentStrainDerivative (PlasticDataType &rVariables, const Matrix &rConstitutiveMatrix, Vector &rEquivalentStrainDerivative)
 
void SetInternalVariables (ModelDataType &rValues, PlasticDataType &rVariables) override
 
Protected Operations

Protected Attributes

Protected member Variables
InternalVariablesType mInternal
 
- Protected Attributes inherited from Kratos::PlasticityModel< TElasticityModel, TYieldSurface >
ElasticityModelType mElasticityModel
 
YieldSurfaceType mYieldSurface
 
- Protected Attributes inherited from Kratos::ConstitutiveModel
Flags mOptions
 
VectorType mHistoryVector
 

Type Definitions

typedef TElasticityModel ElasticityModelType
 
typedef TYieldSurface YieldSurfaceType
 
typedef PlasticityModel< ElasticityModelType, YieldSurfaceTypeBaseType
 
typedef BaseType::Pointer BaseTypePointer
 
typedef BaseType::SizeType SizeType
 
typedef BaseType::VoigtIndexType VoigtIndexType
 
typedef BaseType::VectorType VectorType
 
typedef BaseType::MatrixType MatrixType
 
typedef BaseType::ModelDataType ModelDataType
 
typedef BaseType::MaterialDataType MaterialDataType
 
typedef BaseType::PlasticDataType PlasticDataType
 
typedef BaseType::InternalVariablesType InternalVariablesType
 
typedef ConstitutiveModelData::StrainMeasureType StrainMeasureType
 
typedef ConstitutiveModelData::StressMeasureType StressMeasureType
 
 KRATOS_CLASS_POINTER_DEFINITION (DamageModel)
 Pointer definition of DamageModel. More...
 

Serialization

class Serializer
 

Additional Inherited Members

- Public Types inherited from Kratos::PlasticityModel< TElasticityModel, TYieldSurface >
typedef TElasticityModel ElasticityModelType
 
typedef TYieldSurface YieldSurfaceType
 
typedef ConstitutiveModelData::SizeType SizeType
 
typedef ConstitutiveModelData::VoigtIndexType VoigtIndexType
 
typedef ConstitutiveModelData::MatrixType MatrixType
 
typedef ConstitutiveModelData::VectorType VectorType
 
typedef ConstitutiveModelData::ModelData ModelDataType
 
typedef TYieldSurface::PlasticDataType PlasticDataType
 
typedef TYieldSurface::InternalVariablesType InternalVariablesType
 
- Public Types inherited from Kratos::ConstitutiveModel
typedef ConstitutiveModelData::SizeType SizeType
 
typedef ConstitutiveModelData::VectorType VectorType
 
typedef ConstitutiveModelData::MatrixType MatrixType
 
typedef ConstitutiveModelData::ModelData ModelDataType
 
typedef ConstitutiveModelData::MaterialData MaterialDataType
 
typedef ConstitutiveModelData::StrainMeasureType StrainMeasureType
 
typedef ConstitutiveModelData::StressMeasureType StressMeasureType
 
- Protected Types inherited from Kratos::ConstitutiveModel
using VoigtIndexType = const unsigned int(*)[2]
 

Detailed Description

template<class TElasticityModel, class TYieldSurface>
class Kratos::DamageModel< TElasticityModel, TYieldSurface >

Short class definition.

Detail class definition.

Member Typedef Documentation

◆ BaseType

template<class TElasticityModel , class TYieldSurface >
typedef PlasticityModel<ElasticityModelType,YieldSurfaceType> Kratos::DamageModel< TElasticityModel, TYieldSurface >::BaseType

◆ BaseTypePointer

template<class TElasticityModel , class TYieldSurface >
typedef BaseType::Pointer Kratos::DamageModel< TElasticityModel, TYieldSurface >::BaseTypePointer

◆ ElasticityModelType

template<class TElasticityModel , class TYieldSurface >
typedef TElasticityModel Kratos::DamageModel< TElasticityModel, TYieldSurface >::ElasticityModelType

◆ InternalVariablesType

template<class TElasticityModel , class TYieldSurface >
typedef BaseType::InternalVariablesType Kratos::DamageModel< TElasticityModel, TYieldSurface >::InternalVariablesType

◆ MaterialDataType

template<class TElasticityModel , class TYieldSurface >
typedef BaseType::MaterialDataType Kratos::DamageModel< TElasticityModel, TYieldSurface >::MaterialDataType

◆ MatrixType

template<class TElasticityModel , class TYieldSurface >
typedef BaseType::MatrixType Kratos::DamageModel< TElasticityModel, TYieldSurface >::MatrixType

◆ ModelDataType

template<class TElasticityModel , class TYieldSurface >
typedef BaseType::ModelDataType Kratos::DamageModel< TElasticityModel, TYieldSurface >::ModelDataType

◆ PlasticDataType

template<class TElasticityModel , class TYieldSurface >
typedef BaseType::PlasticDataType Kratos::DamageModel< TElasticityModel, TYieldSurface >::PlasticDataType

◆ SizeType

template<class TElasticityModel , class TYieldSurface >
typedef BaseType::SizeType Kratos::DamageModel< TElasticityModel, TYieldSurface >::SizeType

◆ StrainMeasureType

template<class TElasticityModel , class TYieldSurface >
typedef ConstitutiveModelData::StrainMeasureType Kratos::DamageModel< TElasticityModel, TYieldSurface >::StrainMeasureType

◆ StressMeasureType

template<class TElasticityModel , class TYieldSurface >
typedef ConstitutiveModelData::StressMeasureType Kratos::DamageModel< TElasticityModel, TYieldSurface >::StressMeasureType

◆ VectorType

template<class TElasticityModel , class TYieldSurface >
typedef BaseType::VectorType Kratos::DamageModel< TElasticityModel, TYieldSurface >::VectorType

◆ VoigtIndexType

template<class TElasticityModel , class TYieldSurface >
typedef BaseType::VoigtIndexType Kratos::DamageModel< TElasticityModel, TYieldSurface >::VoigtIndexType

◆ YieldSurfaceType

template<class TElasticityModel , class TYieldSurface >
typedef TYieldSurface Kratos::DamageModel< TElasticityModel, TYieldSurface >::YieldSurfaceType

Constructor & Destructor Documentation

◆ DamageModel() [1/2]

template<class TElasticityModel , class TYieldSurface >
Kratos::DamageModel< TElasticityModel, TYieldSurface >::DamageModel ( )
inline

Default constructor.

◆ DamageModel() [2/2]

template<class TElasticityModel , class TYieldSurface >
Kratos::DamageModel< TElasticityModel, TYieldSurface >::DamageModel ( DamageModel< TElasticityModel, TYieldSurface > const &  rOther)
inline

Copy constructor.

◆ ~DamageModel()

template<class TElasticityModel , class TYieldSurface >
Kratos::DamageModel< TElasticityModel, TYieldSurface >::~DamageModel ( )
inlineoverride

Destructor.

Member Function Documentation

◆ CalculateAndAddPlasticConstitutiveTensor()

template<class TElasticityModel , class TYieldSurface >
virtual void Kratos::DamageModel< TElasticityModel, TYieldSurface >::CalculateAndAddPlasticConstitutiveTensor ( PlasticDataType rVariables,
Matrix rConstitutiveMatrix 
)
inlineprotectedvirtual

Calculate Constitutive Tensor

◆ CalculateAndAddStressTensor()

template<class TElasticityModel , class TYieldSurface >
virtual void Kratos::DamageModel< TElasticityModel, TYieldSurface >::CalculateAndAddStressTensor ( PlasticDataType rVariables,
MatrixType rStressMatrix 
)
inlineprotectedvirtual

Calculate Stresses

◆ CalculateConstitutiveTensor()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::CalculateConstitutiveTensor ( ModelDataType rValues,
Matrix rConstitutiveMatrix 
)
inlineoverridevirtual

Calculate Constitutive Tensor

Reimplemented from Kratos::ConstitutiveModel.

◆ CalculateEquivalentStrainDerivative()

template<class TElasticityModel , class TYieldSurface >
Vector& Kratos::DamageModel< TElasticityModel, TYieldSurface >::CalculateEquivalentStrainDerivative ( PlasticDataType rVariables,
const Matrix rConstitutiveMatrix,
Vector rEquivalentStrainDerivative 
)
inlineprotected

◆ CalculateReturnMapping()

template<class TElasticityModel , class TYieldSurface >
virtual bool Kratos::DamageModel< TElasticityModel, TYieldSurface >::CalculateReturnMapping ( PlasticDataType rVariables,
MatrixType rStressMatrix 
)
inlineprotectedvirtual

◆ CalculateStressAndConstitutiveTensors()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::CalculateStressAndConstitutiveTensors ( ModelDataType rValues,
MatrixType rStressMatrix,
Matrix rConstitutiveMatrix 
)
inlineoverridevirtual

Calculate Stress and Constitutive Tensor

Reimplemented from Kratos::ConstitutiveModel.

◆ CalculateStressNorm()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::CalculateStressNorm ( PlasticDataType rVariables,
MatrixType rStressMatrix 
)
inlineprotected

◆ CalculateStressTensor()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::CalculateStressTensor ( ModelDataType rValues,
MatrixType rStressMatrix 
)
inlineoverridevirtual

Calculate Stresses

Reimplemented from Kratos::ConstitutiveModel.

◆ Clone()

template<class TElasticityModel , class TYieldSurface >
ConstitutiveModel::Pointer Kratos::DamageModel< TElasticityModel, TYieldSurface >::Clone ( ) const
inlineoverridevirtual

Clone.

Reimplemented from Kratos::ConstitutiveModel.

◆ GetValue()

template<class TElasticityModel , class TYieldSurface >
double& Kratos::DamageModel< TElasticityModel, TYieldSurface >::GetValue ( const Variable< double > &  rThisVariable,
double rValue 
)
inlineoverridevirtual

Get Values

Reimplemented from Kratos::ConstitutiveModel.

◆ Has()

template<class TElasticityModel , class TYieldSurface >
bool Kratos::DamageModel< TElasticityModel, TYieldSurface >::Has ( const Variable< double > &  rThisVariable)
inlineoverridevirtual

Has Values

Reimplemented from Kratos::ConstitutiveModel.

◆ Info()

template<class TElasticityModel , class TYieldSurface >
std::string Kratos::DamageModel< TElasticityModel, TYieldSurface >::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::ConstitutiveModel.

◆ InitializeMaterial()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::InitializeMaterial ( const Properties rProperties)
inlineoverridevirtual

Initialize member data

Reimplemented from Kratos::ConstitutiveModel.

◆ InitializeModel()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::InitializeModel ( ModelDataType rValues)
inlineoverridevirtual

Initialize member data

Reimplemented from Kratos::ConstitutiveModel.

◆ InitializeVariables()

template<class TElasticityModel , class TYieldSurface >
virtual void Kratos::DamageModel< TElasticityModel, TYieldSurface >::InitializeVariables ( ModelDataType rValues,
PlasticDataType rVariables 
)
inlineprotectedvirtual

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TElasticityModel , class TYieldSurface >
Kratos::DamageModel< TElasticityModel, TYieldSurface >::KRATOS_CLASS_POINTER_DEFINITION ( DamageModel< TElasticityModel, TYieldSurface >  )

Pointer definition of DamageModel.

◆ operator=()

template<class TElasticityModel , class TYieldSurface >
DamageModel& Kratos::DamageModel< TElasticityModel, TYieldSurface >::operator= ( DamageModel< TElasticityModel, TYieldSurface > const &  rOther)
inline

Assignment operator.

◆ PrintData()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::ConstitutiveModel.

◆ PrintInfo()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::ConstitutiveModel.

◆ SetInternalVariables()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::SetInternalVariables ( ModelDataType rValues,
PlasticDataType rVariables 
)
inlineoverrideprotectedvirtual

◆ SetValue()

template<class TElasticityModel , class TYieldSurface >
void Kratos::DamageModel< TElasticityModel, TYieldSurface >::SetValue ( const Variable< double > &  rVariable,
const double rValue,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Set Values

Reimplemented from Kratos::ConstitutiveModel.

◆ UpdateInternalVariables()

template<class TElasticityModel , class TYieldSurface >
virtual void Kratos::DamageModel< TElasticityModel, TYieldSurface >::UpdateInternalVariables ( ModelDataType rValues,
PlasticDataType rVariables,
const MatrixType rStressMatrix 
)
inlineprotectedvirtual

◆ UpdateStressConfiguration()

template<class TElasticityModel , class TYieldSurface >
virtual void Kratos::DamageModel< TElasticityModel, TYieldSurface >::UpdateStressConfiguration ( PlasticDataType rVariables,
MatrixType rStressMatrix 
)
inlineprotectedvirtual

Friends And Related Function Documentation

◆ Serializer

template<class TElasticityModel , class TYieldSurface >
friend class Serializer
friend

Member Data Documentation

◆ mInternal

template<class TElasticityModel , class TYieldSurface >
InternalVariablesType Kratos::DamageModel< TElasticityModel, TYieldSurface >::mInternal
protected

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