15 #if !defined (KRATOS_HYPERELASTIC_3D_LAW_H_INCLUDED)
16 #define KRATOS_HYPERELASTIC_3D_LAW_H_INCLUDED
98 ConstitutiveLaw::Pointer Clone()
const override;
155 const double& rValue,
166 void InitializeMaterial(
const Properties& rMaterialProperties,
168 const Vector& rShapeFunctionsValues )
override;
176 void CalculateMaterialResponseKirchhoff (
Parameters & rValues)
override;
185 void CalculateMaterialResponseCauchy (
Parameters & rValues)
override;
194 void FinalizeMaterialResponseKirchhoff (
Parameters & rValues)
override;
202 void FinalizeMaterialResponseCauchy (
Parameters & rValues)
override;
209 void GetLawFeatures(Features& rFeatures)
override;
265 virtual void CalculateGreenLagrangeStrain(
const Matrix & rRightCauchyGreen,
274 virtual void CalculateAlmansiStrain(
const Matrix & rLeftCauchyGreen,
284 double & rTemperature);
303 Vector& rVolStressVector );
314 Vector& rIsoStressVector);
324 Matrix& rConstitutiveMatrix);
330 double& ConstitutiveComponent(
double & rCabcd,
332 const unsigned int&
a,
const unsigned int&
b,
333 const unsigned int&
c,
const unsigned int&
d);
343 Matrix& rConstitutiveMatrix);
350 double& VolumetricConstitutiveComponent(
double & rCabcd,
353 const unsigned int&
a,
const unsigned int&
b,
354 const unsigned int&
c,
const unsigned int&
d);
365 const Matrix & rIsoStressMatrix,
366 Matrix& rConstitutiveMatrix);
372 double& IsochoricConstitutiveComponent(
double & rCabcd,
374 const Matrix & rIsoStressMatrix,
375 const unsigned int&
a,
const unsigned int&
b,
376 const unsigned int&
c,
const unsigned int&
d);
421 virtual void UpdateInternalVariables (
Parameters & rValues);
429 virtual bool CheckParameters(
Parameters& rValues);
464 void save(
Serializer& rSerializer)
const override
467 rSerializer.
save(
"mInverseDeformationGradientF0",mInverseDeformationGradientF0);
468 rSerializer.
save(
"mDeterminantF0",mDeterminantF0);
469 rSerializer.
save(
"mStrainEnergy",mStrainEnergy);
475 rSerializer.
load(
"mInverseDeformationGradientF0",mInverseDeformationGradientF0);
476 rSerializer.
load(
"mDeterminantF0",mDeterminantF0);
477 rSerializer.
load(
"mStrainEnergy",mStrainEnergy);
Definition: constitutive_law.h:47
StressMeasure
Definition: constitutive_law.h:69
std::size_t SizeType
Definition: constitutive_law.h:82
Geometry base class.
Definition: geometry.h:71
Definition: hyperelastic_3D_law.hpp:38
std::size_t SizeType
Definition: hyperelastic_3D_law.hpp:77
Matrix mInverseDeformationGradientF0
Definition: hyperelastic_3D_law.hpp:246
KRATOS_CLASS_POINTER_DEFINITION(HyperElastic3DLaw)
double mStrainEnergy
Definition: hyperelastic_3D_law.hpp:250
ProcessInfo ProcessInfoType
Definition: hyperelastic_3D_law.hpp:75
ConstitutiveLaw BaseType
Definition: hyperelastic_3D_law.hpp:76
SizeType GetStrainSize() const override
Definition: hyperelastic_3D_law.hpp:137
SizeType WorkingSpaceDimension() override
Definition: hyperelastic_3D_law.hpp:129
double mDeterminantF0
Definition: hyperelastic_3D_law.hpp:248
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
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_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
bool Has(const std::string &ModelerName)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:24
Parameters GetValue(Parameters &rParameters, const std::string &rEntry)
Definition: add_kratos_parameters_to_python.cpp:53
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
def SetValue(entity, variable, value)
Definition: coupling_interface_data.py:256
a
Definition: generate_stokes_twofluid_element.py:77
b
Definition: generate_total_lagrangian_mixed_volumetric_strain_element.py:31
c
Definition: generate_weakly_compressible_navier_stokes_element.py:108
def load(f)
Definition: ode_solve.py:307
int d
Definition: ode_solve.py:397
Definition: constitutive_law.h:189
Definition: hyperelastic_3D_law.hpp:43
const Vector * mpShapeFunctionsValues
Definition: hyperelastic_3D_law.hpp:60
Matrix CauchyGreenMatrix
Definition: hyperelastic_3D_law.hpp:55
double LameLambda
Definition: hyperelastic_3D_law.hpp:46
const GeometryType & GetElementGeometry() const
Definition: hyperelastic_3D_law.hpp:67
Matrix Identity
Definition: hyperelastic_3D_law.hpp:57
void SetShapeFunctionsValues(const Vector &rShapeFunctionsValues)
Definition: hyperelastic_3D_law.hpp:64
Matrix DeformationGradientF
Definition: hyperelastic_3D_law.hpp:56
double DeterminantF
Definition: hyperelastic_3D_law.hpp:53
double LameMu
Definition: hyperelastic_3D_law.hpp:45
const GeometryType * mpElementGeometry
Definition: hyperelastic_3D_law.hpp:61
void SetElementGeometry(const GeometryType &rElementGeometry)
Definition: hyperelastic_3D_law.hpp:65
double traceCG
Definition: hyperelastic_3D_law.hpp:54
double ThermalExpansionCoefficient
Definition: hyperelastic_3D_law.hpp:49
const Vector & GetShapeFunctionsValues() const
Definition: hyperelastic_3D_law.hpp:66
double ReferenceTemperature
Definition: hyperelastic_3D_law.hpp:50