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::StructuredSoilModel< TElasticityModel, TYieldSurface > Class Template Reference

Short class definition. More...

#include <structured_soil_model.hpp>

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

Public Member Functions

Life Cycle
 StructuredSoilModel ()
 Default constructor. More...
 
 StructuredSoilModel (StructuredSoilModel const &rOther)
 Copy constructor. More...
 
StructuredSoilModeloperator= (StructuredSoilModel const &rOther)
 Assignment operator. More...
 
ConstitutiveModel::Pointer Clone () const override
 Clone. More...
 
virtual ~StructuredSoilModel ()
 Destructor. More...
 
Operations
void InitializeModel (ModelDataType &rValues) override
 
virtual int Check (const Properties &rMaterialProperties, const ProcessInfo &rCurrentProcessInfo) override
 
Access
virtual bool Has (const Variable< double > &rThisVariable) override
 
void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
virtual doubleGetValue (const Variable< double > &rThisVariable, double &rValue) override
 
Input and output
virtual std::string Info () const override
 Turn back information as a string. More...
 
virtual void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
virtual void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::NonAssociativePlasticityModel< TElasticityModel, TYieldSurface >
 NonAssociativePlasticityModel ()
 Default constructor. More...
 
 NonAssociativePlasticityModel (NonAssociativePlasticityModel const &rOther)
 Copy constructor. More...
 
NonAssociativePlasticityModeloperator= (NonAssociativePlasticityModel const &rOther)
 Assignment operator. More...
 
 ~NonAssociativePlasticityModel () override
 Destructor. More...
 
void SetValue (const Variable< Vector > &rVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
void CalculateStressTensor (ModelDataType &rValues, MatrixType &rStressMatrix) override
 
void CalculateConstitutiveTensor (ModelDataType &rValues, Matrix &rConstitutiveMatrix) override
 
void CalculateStressAndConstitutiveTensors (ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
 
 KRATOS_CLASS_POINTER_DEFINITION (NonAssociativePlasticityModel)
 Pointer definition of NonAssociativePlasticityModel. 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...
 
 ~PlasticityModel () override
 Destructor. More...
 
void InitializeMaterial (const Properties &rProperties) 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
 
void GetDomainVariablesList (std::vector< Variable< double > > &rScalarVariables, std::vector< Variable< array_1d< double, 3 > > > &rComponentVariables) override
 
ElasticityModelTypeGetElasticityModel ()
 
 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< Matrix > &rThisVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo)
 
 KRATOS_CLASS_POINTER_DEFINITION (ConstitutiveModel)
 Pointer definition of ConstitutiveModel. More...
 

Protected Member Functions

Protected Operations
void ComputeElastoPlasticTangentMatrix (ModelDataType &rValues, PlasticDataType &rVariables, Matrix &rEPMatrix) override
 
void ComputeOneStepElastoPlasticProblem (ModelDataType &rValues, PlasticDataType &rVariables, const MatrixType &rDeltaDeformationMatrix) override
 
virtual void UpdateInternalVariables (ModelDataType &rValues, PlasticDataType &rVariables, const MatrixType &rStressMatrix) override
 
virtual void ReturnStressToYieldSurface (ModelDataType &rValues, PlasticDataType &rVariables) override
 
- Protected Member Functions inherited from Kratos::NonAssociativePlasticityModel< TElasticityModel, TYieldSurface >
int AuxiliarCompressTensor (const unsigned int &rI, const unsigned int &rJ, double &rVoigtNumber)
 
MatrixSetConstitutiveMatrixToTheApropiateSize (Matrix &rConstitutiveMatrix, Matrix &rConstMatrixBig, const MatrixType &rStressMatrix)
 
void ComputeSolutionWithChange (ModelDataType &rValues, PlasticDataType &rVariables, const MatrixType &rDeltaDeformationMatrix)
 
bool EvaluateUnloadingCondition (ModelDataType &rValues, PlasticDataType &rVariables, const MatrixType &rDeltaDeformationMatrix)
 
void ComputeSubsteppingElastoPlasticProblem (ModelDataType &rValues, PlasticDataType &rVariables, const MatrixType &rDeltaDeformationMatrix)
 
double ComputeElastoPlasticProblem (ModelDataType &rValues, PlasticDataType &rVariables, const MatrixType &rSubstepDeformationGradient)
 
void ConvertHenckyVectorToCauchyGreenTensor (const VectorType &rHenckyVector, MatrixType &rStrainMatrix)
 
void ConvertHenckyTensorToCauchyGreenTensor (const MatrixType &rHenckyTensor, MatrixType &rStrainMatrix)
 
void ConvertCauchyGreenTensorToHenckyTensor (const MatrixType &rStrainMatrix, MatrixType &rHenckyStrain)
 
void ConvertCauchyGreenTensorToHenckyVector (const MatrixType &rStrainMatrix, VectorType &rStrainVector)
 
void ComputeSubstepIncrementalDeformationGradient (const MatrixType &rDeltaDeformationMatrix, const double &rReferenceConfiguration, const double &rFinalConfiguration, MatrixType &rSubstepDeformationGradient)
 
void RecoverPreviousElasticLeftCauchyGreen (const MatrixType &rDeltaDeformationMatrix, MatrixType &rInitialLeftCauchyGreen)
 
virtual void SetWorkingMeasures (PlasticDataType &rVariables, MatrixType &rStressMatrix)
 
virtual void InitializeVariables (ModelDataType &rValues, PlasticDataType &rVariables)
 
void CalculateImplexPlasticStep (ModelDataType &rValues, PlasticDataType &rVariables, MatrixType &rStressMatrix, const MatrixType &rDeltaDeformationMatrix)
 
- Protected Member Functions inherited from Kratos::PlasticityModel< TElasticityModel, TYieldSurface >
virtual void SetInternalVariables (ModelDataType &rValues, PlasticDataType &rVariables)
 

Protected Attributes

Protected member Variables
bool mInitialized
 
- Protected Attributes inherited from Kratos::NonAssociativePlasticityModel< TElasticityModel, TYieldSurface >
InternalVariablesType mInternal
 
InternalVariablesType mPreviousInternal
 
MatrixType mStressMatrix
 
- 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 NonAssociativePlasticityModel< ElasticityModelType, YieldSurfaceTypeDerivedType
 
typedef PlasticityModel< ElasticityModelType, YieldSurfaceTypeBaseType
 
typedef BaseType::Pointer BaseTypePointer
 
typedef BaseType::SizeType SizeType
 
typedef BaseType::VoigtIndexType VoigtIndexType
 
typedef BaseType::MatrixType MatrixType
 
typedef BaseType::VectorType VectorType
 
typedef BaseType::ModelDataType ModelDataType
 
typedef BaseType::MaterialDataType MaterialDataType
 
typedef BaseType::PlasticDataType PlasticDataType
 
typedef BaseType::InternalVariablesType InternalVariablesType
 
 KRATOS_CLASS_POINTER_DEFINITION (StructuredSoilModel)
 Pointer definition of StructuredSoilModel. More...
 

Serialization


class Serializer
 

Additional Inherited Members

- Public Types inherited from Kratos::NonAssociativePlasticityModel< TElasticityModel, TYieldSurface >
typedef TElasticityModel ElasticityModelType
 
typedef TYieldSurface YieldSurfaceType
 
typedef PlasticityModel< ElasticityModelType, YieldSurfaceTypeBaseType
 
typedef BaseType::Pointer BaseTypePointer
 
typedef BaseType::SizeType SizeType
 
typedef BaseType::VoigtIndexType VoigtIndexType
 
typedef BaseType::MatrixType MatrixType
 
typedef BaseType::VectorType VectorType
 
typedef BaseType::ModelDataType ModelDataType
 
typedef BaseType::MaterialDataType MaterialDataType
 
typedef BaseType::PlasticDataType PlasticDataType
 
typedef BaseType::InternalVariablesType InternalVariablesType
 
typedef ConstitutiveModelData::StrainMeasureType StrainMeasureType
 
typedef ConstitutiveModelData::StressMeasureType StressMeasureType
 
- 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::StructuredSoilModel< TElasticityModel, TYieldSurface >

Short class definition.

Detail class definition.

Member Typedef Documentation

◆ BaseType

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

◆ BaseTypePointer

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

◆ DerivedType

template<class TElasticityModel , class TYieldSurface >
typedef NonAssociativePlasticityModel<ElasticityModelType,YieldSurfaceType> Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >::DerivedType

◆ ElasticityModelType

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

◆ InternalVariablesType

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

◆ MaterialDataType

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

◆ MatrixType

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

◆ ModelDataType

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

◆ PlasticDataType

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

◆ SizeType

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

◆ VectorType

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

◆ VoigtIndexType

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

◆ YieldSurfaceType

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

Constructor & Destructor Documentation

◆ StructuredSoilModel() [1/2]

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

Default constructor.

◆ StructuredSoilModel() [2/2]

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

Copy constructor.

◆ ~StructuredSoilModel()

template<class TElasticityModel , class TYieldSurface >
virtual Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >::~StructuredSoilModel ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ Check()

template<class TElasticityModel , class TYieldSurface >
virtual int Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >::Check ( const Properties rMaterialProperties,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

◆ Clone()

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

◆ ComputeElastoPlasticTangentMatrix()

template<class TElasticityModel , class TYieldSurface >
void Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >::ComputeElastoPlasticTangentMatrix ( ModelDataType rValues,
PlasticDataType rVariables,
Matrix rEPMatrix 
)
inlineoverrideprotectedvirtual

◆ ComputeOneStepElastoPlasticProblem()

template<class TElasticityModel , class TYieldSurface >
void Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >::ComputeOneStepElastoPlasticProblem ( ModelDataType rValues,
PlasticDataType rVariables,
const MatrixType rDeltaDeformationMatrix 
)
inlineoverrideprotectedvirtual

◆ GetValue()

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

◆ Has()

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

◆ Info()

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

◆ InitializeModel()

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

Initialize member data

Reimplemented from Kratos::PlasticityModel< TElasticityModel, TYieldSurface >.

◆ KRATOS_CLASS_POINTER_DEFINITION()

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

Pointer definition of StructuredSoilModel.

◆ operator=()

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

Assignment operator.

◆ PrintData()

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

◆ PrintInfo()

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

◆ ReturnStressToYieldSurface()

template<class TElasticityModel , class TYieldSurface >
virtual void Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >::ReturnStressToYieldSurface ( ModelDataType rValues,
PlasticDataType rVariables 
)
inlineoverrideprotectedvirtual

◆ SetValue()

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

◆ UpdateInternalVariables()

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

Friends And Related Function Documentation

◆ Serializer

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

Member Data Documentation

◆ mInitialized

template<class TElasticityModel , class TYieldSurface >
bool Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >::mInitialized
protected

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