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::HypoElasticModel Class Reference

Short class definition. More...

#include <hypo_elastic_model.hpp>

Inheritance diagram for Kratos::HypoElasticModel:
Collaboration diagram for Kratos::HypoElasticModel:

Classes

struct  ElasticModelData
 

Public Member Functions

Life Cycle
 HypoElasticModel ()
 Default constructor. More...
 
 HypoElasticModel (HypoElasticModel const &rOther)
 Copy constructor. More...
 
ConstitutiveModel::Pointer Clone () const override
 Clone. More...
 
HypoElasticModeloperator= (HypoElasticModel const &rOther)
 Assignment operator. More...
 
 ~HypoElasticModel () override
 Destructor. More...
 
Operations
void InitializeModel (ModelDataType &rValues) override
 
void FinalizeModel (ModelDataType &rValues) override
 
void CalculateStrainEnergy (ModelDataType &rValues, double &rDensityFunction) 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 SetValue (const Variable< Vector > &rThisVariable, const Vector &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
void SetValue (const Variable< Matrix > &rThisVariable, const Matrix &rValue, const ProcessInfo &rCurrentProcessInfo) override
 
void GetDomainVariablesList (std::vector< Variable< double > > &rScalarVariables, std::vector< Variable< array_1d< double, 3 > > > &rComponentVariables) 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::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 InitializeMaterial (const Properties &rProperties)
 
virtual bool Has (const Variable< double > &rThisVariable)
 
virtual void SetValue (const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo)
 
virtual doubleGetValue (const Variable< double > &rThisVariable, double &rValue)
 
 KRATOS_CLASS_POINTER_DEFINITION (ConstitutiveModel)
 Pointer definition of ConstitutiveModel. More...
 

Protected Member Functions

Protected Operations
void AddHistoricalStress (ModelDataType &rValues, MatrixType &rStressMatrix)
 
virtual void CalculateAndAddStressTensor (ElasticDataType &rVariables, VectorType &rStrainVector, VectorType &rStressVector)
 
virtual void CalculateAndAddIsochoricStressTensor (ElasticDataType &rVariables, VectorType &rStrainVector, VectorType &rStressVector)
 
virtual void CalculateAndAddVolumetricStressTensor (ElasticDataType &rVariables, VectorType &rStrainVector, VectorType &rStressVector)
 
virtual void CalculateAndAddConstitutiveTensor (ElasticDataType &rVariables, Matrix &rConstitutiveMatrix)
 
virtual void CalculateAndAddConstitutiveTensor (ElasticDataType &rVariables)
 
virtual void CalculateAndAddIsochoricConstitutiveTensor (ElasticDataType &rVariables, Matrix &rConstitutiveMatrix)
 
virtual void CalculateAndAddIsochoricConstitutiveTensor (ElasticDataType &rVariables)
 
virtual void CalculateAndAddVolumetricConstitutiveTensor (ElasticDataType &rVariables, Matrix &rConstitutiveMatrix)
 
virtual void CalculateAndAddVolumetricConstitutiveTensor (ElasticDataType &rVariables)
 
void InitializeElasticData (ModelDataType &rValues, ElasticDataType &rVariables)
 
virtual void CalculateAndAddIsochoricStrainEnergy (ElasticDataType &rVariables, double &rIsochoricDensityFunction)
 
virtual void CalculateAndAddVolumetricStrainEnergy (ElasticDataType &rVariables, double &rIsochoricDensityFunction)
 

Type Definitions

typedef ElasticModelData ElasticDataType
 
 KRATOS_CLASS_POINTER_DEFINITION (HypoElasticModel)
 Pointer definition of HypoElasticModel. 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]
 
- Protected Attributes inherited from Kratos::ConstitutiveModel
Flags mOptions
 
VectorType mHistoryVector
 

Detailed Description

Short class definition.

Detail class definition.

Member Typedef Documentation

◆ ElasticDataType

Constructor & Destructor Documentation

◆ HypoElasticModel() [1/2]

Kratos::HypoElasticModel::HypoElasticModel ( )

Default constructor.

◆ HypoElasticModel() [2/2]

Kratos::HypoElasticModel::HypoElasticModel ( HypoElasticModel const &  rOther)

Copy constructor.

◆ ~HypoElasticModel()

Kratos::HypoElasticModel::~HypoElasticModel ( )
override

Destructor.

Member Function Documentation

◆ AddHistoricalStress()

void Kratos::HypoElasticModel::AddHistoricalStress ( ModelDataType rValues,
MatrixType rStressMatrix 
)
protected

Stress update for a hypoelastic model

◆ CalculateAndAddConstitutiveTensor() [1/2]

void Kratos::HypoElasticModel::CalculateAndAddConstitutiveTensor ( ElasticDataType rVariables)
protectedvirtual

◆ CalculateAndAddConstitutiveTensor() [2/2]

void Kratos::HypoElasticModel::CalculateAndAddConstitutiveTensor ( ElasticDataType rVariables,
Matrix rConstitutiveMatrix 
)
protectedvirtual

Calculate Constitutive Tensor

◆ CalculateAndAddIsochoricConstitutiveTensor() [1/2]

void Kratos::HypoElasticModel::CalculateAndAddIsochoricConstitutiveTensor ( ElasticDataType rVariables)
protectedvirtual

◆ CalculateAndAddIsochoricConstitutiveTensor() [2/2]

void Kratos::HypoElasticModel::CalculateAndAddIsochoricConstitutiveTensor ( ElasticDataType rVariables,
Matrix rConstitutiveMatrix 
)
protectedvirtual

◆ CalculateAndAddIsochoricStrainEnergy()

void Kratos::HypoElasticModel::CalculateAndAddIsochoricStrainEnergy ( ElasticDataType rVariables,
double rIsochoricDensityFunction 
)
protectedvirtual

◆ CalculateAndAddIsochoricStressTensor()

void Kratos::HypoElasticModel::CalculateAndAddIsochoricStressTensor ( ElasticDataType rVariables,
VectorType rStrainVector,
VectorType rStressVector 
)
protectedvirtual

◆ CalculateAndAddStressTensor()

void Kratos::HypoElasticModel::CalculateAndAddStressTensor ( ElasticDataType rVariables,
VectorType rStrainVector,
VectorType rStressVector 
)
protectedvirtual

Calculate Stresses

◆ CalculateAndAddVolumetricConstitutiveTensor() [1/2]

void Kratos::HypoElasticModel::CalculateAndAddVolumetricConstitutiveTensor ( ElasticDataType rVariables)
protectedvirtual

◆ CalculateAndAddVolumetricConstitutiveTensor() [2/2]

void Kratos::HypoElasticModel::CalculateAndAddVolumetricConstitutiveTensor ( ElasticDataType rVariables,
Matrix rConstitutiveMatrix 
)
protectedvirtual

◆ CalculateAndAddVolumetricStrainEnergy()

void Kratos::HypoElasticModel::CalculateAndAddVolumetricStrainEnergy ( ElasticDataType rVariables,
double rIsochoricDensityFunction 
)
protectedvirtual

◆ CalculateAndAddVolumetricStressTensor()

void Kratos::HypoElasticModel::CalculateAndAddVolumetricStressTensor ( ElasticDataType rVariables,
VectorType rStrainVector,
VectorType rStressVector 
)
protectedvirtual

◆ CalculateConstitutiveTensor()

void Kratos::HypoElasticModel::CalculateConstitutiveTensor ( ModelDataType rValues,
Matrix rConstitutiveMatrix 
)
overridevirtual

Calculate Constitutive Tensor

Reimplemented from Kratos::ConstitutiveModel.

◆ CalculateIsochoricConstitutiveTensor()

void Kratos::HypoElasticModel::CalculateIsochoricConstitutiveTensor ( ModelDataType rValues,
Matrix rConstitutiveMatrix 
)
overridevirtual

Reimplemented from Kratos::ConstitutiveModel.

◆ CalculateIsochoricStressAndConstitutiveTensors()

void Kratos::HypoElasticModel::CalculateIsochoricStressAndConstitutiveTensors ( ModelDataType rValues,
MatrixType rStressMatrix,
Matrix rConstitutiveMatrix 
)
overridevirtual

Reimplemented from Kratos::ConstitutiveModel.

◆ CalculateIsochoricStressTensor()

void Kratos::HypoElasticModel::CalculateIsochoricStressTensor ( ModelDataType rValues,
MatrixType rStressMatrix 
)
overridevirtual

Reimplemented from Kratos::ConstitutiveModel.

◆ CalculateStrainEnergy()

void Kratos::HypoElasticModel::CalculateStrainEnergy ( ModelDataType rValues,
double rDensityFunction 
)
overridevirtual

Calculate Strain Energy Density Functions

Reimplemented from Kratos::ConstitutiveModel.

Reimplemented in Kratos::IsochoricHypoElasticModel.

◆ CalculateStressAndConstitutiveTensors()

void Kratos::HypoElasticModel::CalculateStressAndConstitutiveTensors ( ModelDataType rValues,
MatrixType rStressMatrix,
Matrix rConstitutiveMatrix 
)
overridevirtual

Calculate Stress and Constitutive Tensor

Reimplemented from Kratos::ConstitutiveModel.

Reimplemented in Kratos::IsochoricHypoElasticModel.

◆ CalculateStressTensor()

void Kratos::HypoElasticModel::CalculateStressTensor ( ModelDataType rValues,
MatrixType rStressMatrix 
)
overridevirtual

Calculate Stresses

Reimplemented from Kratos::ConstitutiveModel.

Reimplemented in Kratos::IsochoricHypoElasticModel.

◆ CalculateVolumetricConstitutiveTensor()

void Kratos::HypoElasticModel::CalculateVolumetricConstitutiveTensor ( ModelDataType rValues,
Matrix rConstitutiveMatrix 
)
overridevirtual

Reimplemented from Kratos::ConstitutiveModel.

◆ CalculateVolumetricStressAndConstitutiveTensors()

void Kratos::HypoElasticModel::CalculateVolumetricStressAndConstitutiveTensors ( ModelDataType rValues,
MatrixType rStressMatrix,
Matrix rConstitutiveMatrix 
)
overridevirtual

Reimplemented from Kratos::ConstitutiveModel.

◆ CalculateVolumetricStressTensor()

void Kratos::HypoElasticModel::CalculateVolumetricStressTensor ( ModelDataType rValues,
MatrixType rStressMatrix 
)
overridevirtual

Reimplemented from Kratos::ConstitutiveModel.

◆ Check()

int Kratos::HypoElasticModel::Check ( const Properties rProperties,
const ProcessInfo rCurrentProcessInfo 
)
overridevirtual

Check

Reimplemented from Kratos::ConstitutiveModel.

Reimplemented in Kratos::IncompressibleHypoElasticModel.

◆ Clone()

ConstitutiveModel::Pointer Kratos::HypoElasticModel::Clone ( ) const
overridevirtual

◆ FinalizeModel()

void Kratos::HypoElasticModel::FinalizeModel ( ModelDataType rValues)
overridevirtual

Finalize member data

Reimplemented from Kratos::ConstitutiveModel.

◆ GetDomainVariablesList()

void Kratos::HypoElasticModel::GetDomainVariablesList ( std::vector< Variable< double > > &  rScalarVariables,
std::vector< Variable< array_1d< double, 3 > > > &  rComponentVariables 
)
inlineoverridevirtual

method to ask the plasticity model the list of variables (dofs) needed from the domain

Parameters
rScalarVariables: list of scalar dofs
rComponentVariables: list of vector dofs

Reimplemented from Kratos::ConstitutiveModel.

Reimplemented in Kratos::IncompressibleHypoElasticModel.

◆ Info()

std::string Kratos::HypoElasticModel::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::ConstitutiveModel.

Reimplemented in Kratos::IsochoricHypoElasticModel, and Kratos::IncompressibleHypoElasticModel.

◆ InitializeElasticData()

void Kratos::HypoElasticModel::InitializeElasticData ( ModelDataType rValues,
ElasticDataType rVariables 
)
protected

◆ InitializeModel()

void Kratos::HypoElasticModel::InitializeModel ( ModelDataType rValues)
overridevirtual

Initialize member data

Reimplemented from Kratos::ConstitutiveModel.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::HypoElasticModel::KRATOS_CLASS_POINTER_DEFINITION ( HypoElasticModel  )

Pointer definition of HypoElasticModel.

◆ operator=()

HypoElasticModel & Kratos::HypoElasticModel::operator= ( HypoElasticModel const &  rOther)

Assignment operator.

◆ PrintData()

void Kratos::HypoElasticModel::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::ConstitutiveModel.

Reimplemented in Kratos::IsochoricHypoElasticModel, and Kratos::IncompressibleHypoElasticModel.

◆ PrintInfo()

void Kratos::HypoElasticModel::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::ConstitutiveModel.

Reimplemented in Kratos::IsochoricHypoElasticModel, and Kratos::IncompressibleHypoElasticModel.

◆ SetValue() [1/2]

void Kratos::HypoElasticModel::SetValue ( const Variable< Matrix > &  rThisVariable,
const Matrix rValue,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Reimplemented from Kratos::ConstitutiveModel.

◆ SetValue() [2/2]

void Kratos::HypoElasticModel::SetValue ( const Variable< Vector > &  rThisVariable,
const Vector rValue,
const ProcessInfo rCurrentProcessInfo 
)
inlineoverridevirtual

Reimplemented from Kratos::ConstitutiveModel.

Friends And Related Function Documentation

◆ Serializer

friend class Serializer
friend

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