67 static constexpr
double machine_tolerance = std::numeric_limits<double>::epsilon();
101 ConstitutiveLaw::Pointer
Clone()
const override
103 return Kratos::make_shared<GenericAnisotropic3DLaw>(*
this);
109 mpIsotropicCL(rOther.mpIsotropicCL)
257 double& CalculateValue(
260 double& rValue)
override;
294 void InitializeMaterial(
297 const Vector& rShapeFunctionsValues)
override;
308 void CalculateAnisotropicStressMapperMatrix(
310 BoundedMatrixVoigtType &rAs,
311 BoundedMatrixVoigtType& rAsInv
322 void CalculateAnisotropicStrainMapperMatrix(
323 const BoundedMatrixVoigtType& rAnisotropicElasticMatrix,
324 const BoundedMatrixVoigtType& rIsotropicElasticMatrix,
325 const BoundedMatrixVoigtType &rAs,
326 BoundedMatrixVoigtType& rAe
333 void InitializeMaterialResponsePK2(
Parameters& rValues)
override;
340 return mpIsotropicCL->RequiresInitializeMaterialResponse();
348 return mpIsotropicCL->RequiresFinalizeMaterialResponse();
351 void CalculateOrthotropicElasticMatrix(
352 BoundedMatrixVoigtType &rElasticityTensor,
355 int Check(
const Properties &rMaterialProperties,
357 const ProcessInfo &rCurrentProcessInfo)
const override;
395 return mpIsotropicCL;
403 mpIsotropicCL = pIsotropicConstitutiveLaw;
432 ConstitutiveLaw::Pointer mpIsotropicCL;
442 void CalculateCauchyGreenStrain(
462 void save(
Serializer& rSerializer)
const override
465 rSerializer.
save(
"IsotropicCL", mpIsotropicCL);
471 rSerializer.
load(
"IsotropicCL", mpIsotropicCL);
Definition: constitutive_law.h:47
This CL takes into account the material anisotropy in terms of young modulus, poisson ratio,...
Definition: generic_anisotropic_3d_law.h:55
bool RequiresFinalizeMaterialResponse() override
If the CL requires to initialize the material response, called by the element in InitializeSolutionSt...
Definition: generic_anisotropic_3d_law.h:346
KRATOS_CLASS_POINTER_DEFINITION(GenericAnisotropic3DLaw)
Counted pointer of GenericAnisotropic3DLaw.
~GenericAnisotropic3DLaw() override
Definition: generic_anisotropic_3d_law.h:116
ConstitutiveLaw::Pointer GetIsotropicConstitutiveLaw()
This method sets the constitutive law of the isotropic space.
Definition: generic_anisotropic_3d_law.h:393
Node NodeType
The node definition.
Definition: generic_anisotropic_3d_law.h:61
SizeType WorkingSpaceDimension() override
Dimension of the law:
Definition: generic_anisotropic_3d_law.h:138
BoundedMatrix< double, VoigtSize, VoigtSize > BoundedMatrixVoigtType
The definition of the bounded matrix type.
Definition: generic_anisotropic_3d_law.h:82
GenericAnisotropic3DLaw(GenericAnisotropic3DLaw const &rOther)
Definition: generic_anisotropic_3d_law.h:107
SizeType GetStrainSize() const override
Voigt tensor size:
Definition: generic_anisotropic_3d_law.h:146
ConstitutiveLaw::Pointer Clone() const override
Definition: generic_anisotropic_3d_law.h:101
GenericAnisotropic3DLaw()
Definition: generic_anisotropic_3d_law.h:94
std::size_t SizeType
The size type definition.
Definition: generic_anisotropic_3d_law.h:70
BoundedMatrix< double, 3, 3 > BoundedMatrixType
The definition of the bounded matrix type.
Definition: generic_anisotropic_3d_law.h:79
void SetIsotropicConstitutiveLaw(ConstitutiveLaw::Pointer pIsotropicConstitutiveLaw)
This method sets the constitutive law of the isotropic space.
Definition: generic_anisotropic_3d_law.h:401
Geometry< NodeType > GeometryType
The geometry definition.
Definition: generic_anisotropic_3d_law.h:64
bool RequiresInitializeMaterialResponse() override
If the CL requires to initialize the material response, called by the element in InitializeSolutionSt...
Definition: generic_anisotropic_3d_law.h:338
Geometry base class.
Definition: geometry.h:71
Definition: amatrix_interface.h:41
This class defines the node.
Definition: node.h:65
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
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
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 load(f)
Definition: ode_solve.py:307
Definition: constitutive_law.h:189