10 #if !defined(KRATOS_PLASTICITY_MODEL_H_INCLUDED )
11 #define KRATOS_PLASTICITY_MODEL_H_INCLUDED
48 template<
class TElasticityModel,
class TYieldSurface>
94 ConstitutiveModel::Pointer
Clone()
const override
96 return Kratos::make_shared<PlasticityModel>(*
this);
157 KRATOS_ERROR <<
"calling the PlasticityModel base class ... illegal operation" << std::endl;
166 KRATOS_ERROR <<
"calling the PlasticityModel base class ... illegal operation" << std::endl;
186 KRATOS_ERROR <<
"calling PlasticityModel base class " << std::endl;
191 KRATOS_ERROR <<
"calling PlasticityModel base class " << std::endl;
198 mElasticityModel.CalculateVolumetricConstitutiveTensor(rValues,rConstitutiveMatrix);
209 KRATOS_ERROR <<
"calling PlasticityModel base class " << std::endl;
214 KRATOS_ERROR <<
"calling PlasticityModel base class " << std::endl;
219 KRATOS_ERROR <<
"calling PlasticityModel base class " << std::endl;
240 if(DENSITY.Key() == 0 || rProperties[DENSITY]<0.00)
241 KRATOS_ERROR <<
"DENSITY has Key zero or invalid value" << std::endl;
264 mElasticityModel.GetDomainVariablesList(rScalarVariables, rComponentVariables);
279 const double& rValue,
280 const ProcessInfo& rCurrentProcessInfo)
override {}
300 std::string
Info()
const override
302 std::stringstream buffer;
303 buffer <<
"PlasticityModel" ;
310 rOStream <<
"PlasticityModel";
316 rOStream <<
"PlasticityModel Data";
408 void save(
Serializer& rSerializer)
const override
std::size_t SizeType
Definition: constitutive_model_data.hpp:60
const unsigned int(*)[2] VoigtIndexType
Definition: constitutive_model_data.hpp:59
Short class definition.
Definition: constitutive_model.hpp:52
ConstitutiveModel & operator=(ConstitutiveModel const &rOther)
Assignment operator.
Definition: constitutive_model.cpp:45
Definition: amatrix_interface.h:41
Short class definition.
Definition: plasticity_model.hpp:50
YieldSurfaceType mYieldSurface
Definition: plasticity_model.hpp:336
void CalculateIsochoricStressAndConstitutiveTensors(ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
Definition: plasticity_model.hpp:212
void GetDomainVariablesList(std::vector< Variable< double > > &rScalarVariables, std::vector< Variable< array_1d< double, 3 > > > &rComponentVariables) override
Definition: plasticity_model.hpp:259
ElasticityModelType mElasticityModel
Definition: plasticity_model.hpp:335
ElasticityModelType & GetElasticityModel()
Definition: plasticity_model.hpp:288
void FinalizeModel(ModelDataType &rValues) override
Definition: plasticity_model.hpp:139
ConstitutiveModelData::ModelData ModelDataType
Definition: plasticity_model.hpp:67
ConstitutiveModelData::VectorType VectorType
Definition: plasticity_model.hpp:66
void CalculateVolumetricStressAndConstitutiveTensors(ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
Definition: plasticity_model.hpp:217
KRATOS_CLASS_POINTER_DEFINITION(PlasticityModel)
Pointer definition of PlasticityModel.
PlasticityModel()
Default constructor.
Definition: plasticity_model.hpp:79
void CalculateIsochoricConstitutiveTensor(ModelDataType &rValues, Matrix &rConstitutiveMatrix) override
Definition: plasticity_model.hpp:189
TYieldSurface YieldSurfaceType
Definition: plasticity_model.hpp:60
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: plasticity_model.hpp:314
void SetValue(const Variable< double > &rVariable, const double &rValue, const ProcessInfo &rCurrentProcessInfo) override
Definition: plasticity_model.hpp:278
void CalculateConstitutiveTensor(ModelDataType &rValues, Matrix &rConstitutiveMatrix) override
Definition: plasticity_model.hpp:184
ConstitutiveModelData::MatrixType MatrixType
Definition: plasticity_model.hpp:65
TYieldSurface::InternalVariablesType InternalVariablesType
Definition: plasticity_model.hpp:69
ConstitutiveModelData::SizeType SizeType
Definition: plasticity_model.hpp:63
void CalculateVolumetricConstitutiveTensor(ModelDataType &rValues, Matrix &rConstitutiveMatrix) override
Definition: plasticity_model.hpp:194
void CalculateIsochoricStressTensor(ModelDataType &rValues, MatrixType &rStressMatrix) override
Definition: plasticity_model.hpp:162
ConstitutiveModelData::VoigtIndexType VoigtIndexType
Definition: plasticity_model.hpp:64
void CalculateStressTensor(ModelDataType &rValues, MatrixType &rStressMatrix) override
Definition: plasticity_model.hpp:153
ConstitutiveModel::Pointer Clone() const override
Clone.
Definition: plasticity_model.hpp:94
double & GetValue(const Variable< double > &rThisVariable, double &rValue) override
Definition: plasticity_model.hpp:284
bool Has(const Variable< double > &rThisVariable) override
Definition: plasticity_model.hpp:273
std::string Info() const override
Turn back information as a string.
Definition: plasticity_model.hpp:300
void InitializeMaterial(const Properties &rProperties) override
Definition: plasticity_model.hpp:115
TElasticityModel ElasticityModelType
Definition: plasticity_model.hpp:57
~PlasticityModel() override
Destructor.
Definition: plasticity_model.hpp:100
void InitializeModel(ModelDataType &rValues) override
Definition: plasticity_model.hpp:127
PlasticityModel & operator=(PlasticityModel const &rOther)
Assignment operator.
Definition: plasticity_model.hpp:85
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: plasticity_model.hpp:308
PlasticityModel(PlasticityModel const &rOther)
Copy constructor.
Definition: plasticity_model.hpp:82
void CalculateStressAndConstitutiveTensors(ModelDataType &rValues, MatrixType &rStressMatrix, Matrix &rConstitutiveMatrix) override
Definition: plasticity_model.hpp:207
int Check(const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo) override
Definition: plasticity_model.hpp:226
void CalculateVolumetricStressTensor(ModelDataType &rValues, MatrixType &rStressMatrix) override
Definition: plasticity_model.hpp:171
TYieldSurface::PlasticDataType PlasticDataType
Definition: plasticity_model.hpp:68
virtual void SetInternalVariables(ModelDataType &rValues, PlasticDataType &rVariables)
Definition: plasticity_model.hpp:349
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Properties encapsulates data shared by different Elements or Conditions. It can store any type of dat...
Definition: properties.h:69
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
void load(std::string const &rTag, TDataType &rObject)
Definition: serializer.h:207
void save(std::string const &rTag, std::array< TDataType, TDataSize > const &rObject)
Definition: serializer.h:545
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_CATCH(MoreInfo)
Definition: define.h:110
#define KRATOS_TRY
Definition: define.h:109
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
#define KRATOS_ERROR
Definition: exception.h:161
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def load(f)
Definition: ode_solve.py:307
Definition: constitutive_model_data.hpp:383