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.
|
Short class definition. More...
#include <plasticity_model.hpp>
Public Member Functions | |
Life Cycle | |
PlasticityModel () | |
Default constructor. More... | |
PlasticityModel (PlasticityModel const &rOther) | |
Copy constructor. More... | |
PlasticityModel & | operator= (PlasticityModel const &rOther) |
Assignment operator. More... | |
ConstitutiveModel::Pointer | Clone () const override |
Clone. More... | |
~PlasticityModel () override | |
Destructor. More... | |
Operations | |
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 |
Access | |
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 |
double & | GetValue (const Variable< double > &rThisVariable, double &rValue) override |
ElasticityModelType & | GetElasticityModel () |
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::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... | |
ConstitutiveModel & | operator= (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 | SetInternalVariables (ModelDataType &rValues, PlasticDataType &rVariables) |
Protected Attributes | |
Protected member Variables | |
ElasticityModelType | mElasticityModel |
YieldSurfaceType | mYieldSurface |
Protected Attributes inherited from Kratos::ConstitutiveModel | |
Flags | mOptions |
VectorType | mHistoryVector |
Type Definitions | |
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 |
KRATOS_CLASS_POINTER_DEFINITION (PlasticityModel) | |
Pointer definition of PlasticityModel. More... | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
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] |
Short class definition.
Detail class definition.
typedef TElasticityModel Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::ElasticityModelType |
typedef TYieldSurface::InternalVariablesType Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::InternalVariablesType |
typedef ConstitutiveModelData::MatrixType Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::MatrixType |
typedef ConstitutiveModelData::ModelData Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::ModelDataType |
typedef TYieldSurface::PlasticDataType Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::PlasticDataType |
typedef ConstitutiveModelData::SizeType Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::SizeType |
typedef ConstitutiveModelData::VectorType Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::VectorType |
typedef ConstitutiveModelData::VoigtIndexType Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::VoigtIndexType |
typedef TYieldSurface Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::YieldSurfaceType |
|
inline |
Default constructor.
|
inline |
Copy constructor.
|
inlineoverride |
Destructor.
|
inlineoverridevirtual |
Calculate Constitutive Tensor
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::NonAssociativePlasticityModel< BorjaModel, ModifiedCamClayYieldSurface< CamClayHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineoverridevirtual |
Reimplemented from Kratos::ConstitutiveModel.
|
inlineoverridevirtual |
Reimplemented from Kratos::ConstitutiveModel.
|
inlineoverridevirtual |
Reimplemented from Kratos::ConstitutiveModel.
|
inlineoverridevirtual |
Calculate Stress and Constitutive Tensor
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::V2GensNovaModel, Kratos::NonAssociativePlasticityModel< BorjaModel, ModifiedCamClayYieldSurface< CamClayHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineoverridevirtual |
Calculate Stresses
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::NonAssociativePlasticityModel< BorjaModel, ModifiedCamClayYieldSurface< CamClayHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineoverridevirtual |
Reimplemented from Kratos::ConstitutiveModel.
|
inlineoverridevirtual |
Reimplemented from Kratos::ConstitutiveModel.
|
inlineoverridevirtual |
Reimplemented from Kratos::ConstitutiveModel.
|
inlineoverridevirtual |
Check
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >, and Kratos::StructuredSoilModel< TamagniniModel, GensNovaYieldSurface< GensNovaHardeningRule > >.
|
inlineoverridevirtual |
Clone.
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::V2GensNovaModel, Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >, Kratos::StructuredSoilModel< TamagniniModel, GensNovaYieldSurface< GensNovaHardeningRule > >, Kratos::SimoJuModifiedExponentialDamageModel, Kratos::SimoJuExponentialDamageModel, Kratos::NonLinearRateDependentPlasticityModel< IncompressibleNeoHookeanModel, MisesHuberThermalYieldSurface< JohnsonCookThermalHardeningRule > >, Kratos::NonLinearRateDependentPlasticityModel< IncompressibleNeoHookeanModel, MisesHuberThermalYieldSurface< BakerJohnsonCookThermalHardeningRule > >, Kratos::NonAssociativePlasticityModel< BorjaModel, ModifiedCamClayYieldSurface< CamClayHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineoverridevirtual |
Finalize member data
Reimplemented from Kratos::ConstitutiveModel.
|
inlineoverridevirtual |
method to ask the plasticity model the list of variables (dofs) needed from the domain
rScalarVariables | : list of scalar dofs |
rComponentVariables | : list of vector dofs |
Reimplemented from Kratos::ConstitutiveModel.
|
inline |
|
inlineoverridevirtual |
Get Values
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >, Kratos::StructuredSoilModel< TamagniniModel, GensNovaYieldSurface< GensNovaHardeningRule > >, Kratos::SimoJuModifiedExponentialDamageModel, Kratos::SimoJuExponentialDamageModel, Kratos::NonAssociativePlasticityModel< BorjaModel, ModifiedCamClayYieldSurface< CamClayHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineoverridevirtual |
Has Values
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >, Kratos::StructuredSoilModel< TamagniniModel, GensNovaYieldSurface< GensNovaHardeningRule > >, Kratos::SimoJuModifiedExponentialDamageModel, Kratos::SimoJuExponentialDamageModel, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::V2GensNovaModel, Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >, Kratos::StructuredSoilModel< TamagniniModel, GensNovaYieldSurface< GensNovaHardeningRule > >, Kratos::SimoJuModifiedExponentialDamageModel, Kratos::SimoJuExponentialDamageModel, Kratos::NonLinearRateDependentPlasticityModel< IncompressibleNeoHookeanModel, MisesHuberThermalYieldSurface< JohnsonCookThermalHardeningRule > >, Kratos::NonLinearRateDependentPlasticityModel< IncompressibleNeoHookeanModel, MisesHuberThermalYieldSurface< BakerJohnsonCookThermalHardeningRule > >, Kratos::NonAssociativePlasticityModel< BorjaModel, ModifiedCamClayYieldSurface< CamClayHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineoverridevirtual |
Initialize member data
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineoverridevirtual |
Initialize member data
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >, Kratos::StructuredSoilModel< TamagniniModel, GensNovaYieldSurface< GensNovaHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
Kratos::PlasticityModel< TElasticityModel, TYieldSurface >::KRATOS_CLASS_POINTER_DEFINITION | ( | PlasticityModel< TElasticityModel, TYieldSurface > | ) |
Pointer definition of PlasticityModel.
|
inline |
Assignment operator.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::V2GensNovaModel, Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >, Kratos::StructuredSoilModel< TamagniniModel, GensNovaYieldSurface< GensNovaHardeningRule > >, Kratos::SimoJuModifiedExponentialDamageModel, Kratos::SimoJuExponentialDamageModel, Kratos::NonLinearRateDependentPlasticityModel< IncompressibleNeoHookeanModel, MisesHuberThermalYieldSurface< JohnsonCookThermalHardeningRule > >, Kratos::NonLinearRateDependentPlasticityModel< IncompressibleNeoHookeanModel, MisesHuberThermalYieldSurface< BakerJohnsonCookThermalHardeningRule > >, Kratos::NonAssociativePlasticityModel< BorjaModel, ModifiedCamClayYieldSurface< CamClayHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::V2GensNovaModel, Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >, Kratos::StructuredSoilModel< TamagniniModel, GensNovaYieldSurface< GensNovaHardeningRule > >, Kratos::SimoJuModifiedExponentialDamageModel, Kratos::SimoJuExponentialDamageModel, Kratos::NonLinearRateDependentPlasticityModel< IncompressibleNeoHookeanModel, MisesHuberThermalYieldSurface< JohnsonCookThermalHardeningRule > >, Kratos::NonLinearRateDependentPlasticityModel< IncompressibleNeoHookeanModel, MisesHuberThermalYieldSurface< BakerJohnsonCookThermalHardeningRule > >, Kratos::NonAssociativePlasticityModel< BorjaModel, ModifiedCamClayYieldSurface< CamClayHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
inlineprotectedvirtual |
|
inlineoverridevirtual |
Set Values
Reimplemented from Kratos::ConstitutiveModel.
Reimplemented in Kratos::StructuredSoilModel< TElasticityModel, TYieldSurface >, Kratos::StructuredSoilModel< TamagniniModel, GensNovaYieldSurface< GensNovaHardeningRule > >, Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ModifiedExponentialDamageHardeningRule > >, and Kratos::DamageModel< LinearElasticModel, SimoJuYieldSurface< ExponentialDamageHardeningRule > >.
|
friend |
|
protected |
|
protected |