49 int *,
int *,
int *,
int *,
50 double *,
double *,
double *,
52 const double *,
double *,
double *,
double *,
53 double *,
double **,
double *,
54 double *,
double *,
double *,
int *,
55 int *,
int *,
int *,
int *,
int *,
115 ConstitutiveLaw::Pointer Clone()
const override;
134 void GetLawFeatures(
Features& rFeatures)
override;
158 return StrainMeasure_Infinitesimal;
167 return StressMeasure_Cauchy;
222 double& rValue)
override;
252 int Check(
const Properties& rMaterialProperties,
254 const ProcessInfo& rCurrentProcessInfo)
const override;
264 void InitializeMaterial(
const Properties& rMaterialProperties,
266 const Vector& rShapeFunctionsValues)
override;
293 void ResetMaterial(
const Properties& rMaterialProperties,
295 const Vector& rShapeFunctionsValues)
override;
302 const double& rValue,
317 std::string
Info()
const override
319 return "SmallStrainUDSM3DLaw";
331 rOStream <<
"SmallStrainUDSM3DLaw Data";
383 virtual void SetExternalStressVector(
Vector& rStressVector);
384 virtual void SetInternalStressVector(
const Vector& rStressVector);
385 virtual void SetInternalStrainVector(
const Vector& rStrainVector);
424 bool mIsModelInitialized =
false;
425 bool mIsUDSMLoaded =
false;
430 std::vector<int> mProjectDirectory;
433 Vector mStateVariablesFinalized;
448 bool loadUDSM(
const Properties& rMaterialProperties);
449 bool loadUDSMWindows(
const Properties& rMaterialProperties);
450 bool loadUDSMLinux(
const Properties& rMaterialProperties);
456 void ResetStateVariables(
const Properties& rMaterialProperties);
459 void SetAttributes(
const Properties& rMaterialProperties);
462 int GetNumberOfStateVariablesFromUDSM(
const Properties& rMaterialProperties);
465 SizeType GetNumberOfMaterialParametersFromUDSM(
const Properties& rMaterialProperties);
473 void save(
Serializer& rSerializer)
const override
476 rSerializer.
save(
"InitializedModel", mIsModelInitialized);
477 rSerializer.
save(
"Attributes", mAttributes);
478 rSerializer.
save(
"StressVectorFinalized", mStressVectorFinalized);
479 rSerializer.
save(
"StrainVectorFinalized", mStrainVectorFinalized);
480 rSerializer.
save(
"StateVariablesFinalized", mStateVariablesFinalized);
486 rSerializer.
load(
"InitializedModel", mIsModelInitialized);
487 rSerializer.
load(
"Attributes", mAttributes);
488 rSerializer.
load(
"StressVectorFinalized", mStressVectorFinalized);
489 rSerializer.
load(
"StrainVectorFinalized", mStrainVectorFinalized);
490 rSerializer.
load(
"StateVariablesFinalized", mStateVariablesFinalized);
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::string Info() const override
Turn back information as a string.
Definition: periodic_interface_process.hpp:93
Definition: constitutive_law.h:47
StrainMeasure
Definition: constitutive_law.h:52
StressMeasure
Definition: constitutive_law.h:69
virtual bool & CalculateValue(Parameters &rParameterValues, const Variable< bool > &rThisVariable, bool &rValue)
Calculates the value of a specified variable (bool)
Definition: constitutive_law.cpp:370
std::size_t SizeType
Definition: constitutive_law.h:82
Geometry base class.
Definition: geometry.h:71
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
Short class definition.
Definition: small_strain_udsm_3D_law.hpp:85
StrainMeasure GetStrainMeasure() override
Returns the expected strain measure of this constitutive law (by default Green-Lagrange)
Definition: small_strain_udsm_3D_law.hpp:156
int getIsStressDependent()
Definition: small_strain_udsm_3D_law.hpp:395
int getIsTimeDependent()
Definition: small_strain_udsm_3D_law.hpp:398
~SmallStrainUDSM3DLaw() override=default
Destructor.
ATTRIBUTE
Definition: small_strain_udsm_3D_law.hpp:352
@ IS_TIME_DEPENDENT
Definition: small_strain_udsm_3D_law.hpp:355
@ IS_STRESS_DEPENDENT
Definition: small_strain_udsm_3D_law.hpp:354
@ IS_NON_SYMMETRIC
Definition: small_strain_udsm_3D_law.hpp:353
IDTASK
Definition: small_strain_udsm_3D_law.hpp:343
@ MATRIX_ELASTO_PLASTIC
Definition: small_strain_udsm_3D_law.hpp:346
@ STRESS_CALCULATION
Definition: small_strain_udsm_3D_law.hpp:345
@ ATTRIBUTES
Definition: small_strain_udsm_3D_law.hpp:348
@ NUMBER_OF_STATE_VARIABLES
Definition: small_strain_udsm_3D_law.hpp:347
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: small_strain_udsm_3D_law.hpp:323
int getUseTangentMatrix()
Definition: small_strain_udsm_3D_law.hpp:401
SmallStrainUDSM3DLaw()=default
Default constructor.
array_1d< double, VOIGT_SIZE_3D > mStressVectorFinalized
Definition: small_strain_udsm_3D_law.hpp:363
SizeType WorkingSpaceDimension() override
Dimension of the law:
Definition: small_strain_udsm_3D_law.hpp:139
array_1d< double, VOIGT_SIZE_3D > mDeltaStrainVector
Definition: small_strain_udsm_3D_law.hpp:365
std::size_t SizeType
The size type definition.
Definition: small_strain_udsm_3D_law.hpp:91
std::string Info() const override
Turn back information as a string.
Definition: small_strain_udsm_3D_law.hpp:317
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: small_strain_udsm_3D_law.hpp:329
StressMeasure GetStressMeasure() override
Definition: small_strain_udsm_3D_law.hpp:165
int getIsNonSymmetric()
Definition: small_strain_udsm_3D_law.hpp:392
array_1d< double, VOIGT_SIZE_3D > mStrainVectorFinalized
Definition: small_strain_udsm_3D_law.hpp:366
KRATOS_CLASS_POINTER_DEFINITION(SmallStrainUDSM3DLaw)
Pointer definition of SmallStrainUDSM3DLaw.
ConstitutiveLaw BaseType
Definition: small_strain_udsm_3D_law.hpp:88
array_1d< double, VOIGT_SIZE_3D > mStressVector
Definition: small_strain_udsm_3D_law.hpp:362
SizeType GetStrainSize() const override
Voigt tensor size:
Definition: small_strain_udsm_3D_law.hpp:147
#define KRATOS_SERIALIZE_SAVE_BASE_CLASS(Serializer, BaseType)
Definition: define.h:812
#define KRATOS_SERIALIZE_LOAD_BASE_CLASS(Serializer, BaseType)
Definition: define.h:815
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
void(* pF_GetStateVarCount)(int *, int *)
Definition: small_strain_udsm_3D_law.hpp:47
constexpr SizeType N_DIM_3D
Definition: geo_mechanics_application_constants.h:25
std::size_t SizeType
The definition of the size type.
Definition: mortar_classes.h:43
void(* pF_UserMod)(int *, int *, int *, int *, int *, int *, int *, double *, double *, double *, double *, double *, const double *, double *, double *, double *, double *, double **, double *, double *, double *, double *, int *, int *, int *, int *, int *, int *, int *, int *, int *)
Definition: small_strain_udsm_3D_law.hpp:48
constexpr SizeType VOIGT_SIZE_3D
Definition: geo_mechanics_application_constants.h:41
void(* pF_GetParamCount)(int *, int *)
Definition: small_strain_udsm_3D_law.hpp:46
def SetValue(entity, variable, value)
Definition: coupling_interface_data.py:256
def load(f)
Definition: ode_solve.py:307
Definition: constitutive_law.h:137
Definition: constitutive_law.h:189