21 #include "custom_constitutive/elastic_isotropic_3d.h"
60 template<
class TElasticBehaviourLaw>
62 :
public TElasticBehaviourLaw
81 static constexpr
SizeType Dimension = TElasticBehaviourLaw::Dimension;
84 static constexpr
SizeType VoigtSize = TElasticBehaviourLaw::VoigtSize;
96 static constexpr
double tolerance = std::numeric_limits<double>::epsilon();
110 ConstitutiveLaw::Pointer Clone()
const override;
161 void FinalizeSolutionStep(
164 const Vector& rShapeFunctionsValues,
316 Vector& GetPreviousStressVector() {
return mPrevStressVector; }
317 void SetPreviousStressVector(
const Vector& PrevStressVector) { mPrevStressVector = PrevStressVector; }
319 Vector& GetPreviousInelasticStrainVector() {
return mPrevInelasticStrainVector; }
320 void SetPreviousInelasticStrainVector(
const Vector& PrevInelasticStrainVector) { mPrevInelasticStrainVector = PrevInelasticStrainVector; }
325 void ComputeViscoElasticity(ConstitutiveLaw::Parameters& rValues);
343 void save(
Serializer& rSerializer)
const override
346 rSerializer.
save(
"PrevStressVector", mPrevStressVector);
347 rSerializer.
save(
"PrevInelasticStrainVector", mPrevInelasticStrainVector);
353 rSerializer.
load(
"PrevStressVector", mPrevStressVector);
354 rSerializer.
load(
"PrevInelasticStrainVector", mPrevInelasticStrainVector);
Definition: constitutive_law.h:47
Geometry base class.
Definition: geometry.h:71
This class defines the node.
Definition: node.h:65
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
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
This is a constitutive law that reproduces the behaviour of viscous Kelvin material.
Definition: viscous_generalized_kelvin.h:63
bool RequiresFinalizeMaterialResponse() override
If the CL requires to initialize the material response, called by the element in InitializeSolutionSt...
Definition: viscous_generalized_kelvin.h:244
Geometry< NodeType > GeometryType
The geometry definition.
Definition: viscous_generalized_kelvin.h:93
Node NodeType
The node definition.
Definition: viscous_generalized_kelvin.h:90
bool RequiresInitializeMaterialResponse() override
If the CL requires to initialize the material response, called by the element in InitializeSolutionSt...
Definition: viscous_generalized_kelvin.h:236
TElasticBehaviourLaw BaseType
Definition of the base class.
Definition: viscous_generalized_kelvin.h:72
KRATOS_CLASS_POINTER_DEFINITION(ViscousGeneralizedKelvin)
Counted pointer of GenericYieldSurface.
std::size_t IndexType
The index definition.
Definition: viscous_generalized_kelvin.h:75
ConstitutiveLaw CLBaseType
Definition of the base CL class.
Definition: viscous_generalized_kelvin.h:69
std::size_t SizeType
The size definition.
Definition: viscous_generalized_kelvin.h:78
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
KratosZeroVector< double > ZeroVector
Definition: amatrix_interface.h:561
Internals::Matrix< double, AMatrix::dynamic, 1 > Vector
Definition: amatrix_interface.h:472
def load(f)
Definition: ode_solve.py:307
Definition: constitutive_law.h:189