10 #if !defined (KRATOS_PYTHON_OUTFITTED_CONSTITUTIVE_LAW_H_INCLUDED)
11 #define KRATOS_PYTHON_OUTFITTED_CONSTITUTIVE_LAW_H_INCLUDED
18 #include <boost/python.h>
66 ConstitutiveLaw::Pointer Clone()
const;
99 return boost::python::call_method<int>(mpPyConstitutiveLaw->ptr(),
"WorkingSpaceDimension");
107 return boost::python::call_method<int>(mpPyConstitutiveLaw->ptr(),
"GetStrainSize");
121 const double& rValue,
132 void InitializeMaterial(
const Properties& rProperties,
134 const Vector& rShapeFunctionsValues );
142 virtual void CalculateMaterialResponsePK1 (
Parameters & rValues);
150 virtual void CalculateMaterialResponsePK2 (
Parameters & rValues);
158 virtual void CalculateMaterialResponseKirchhoff (
Parameters & rValues);
167 virtual void CalculateMaterialResponseCauchy (
Parameters & rValues);
176 virtual void FinalizeMaterialResponsePK1 (
Parameters & rValues);
184 virtual void FinalizeMaterialResponsePK2 (
Parameters & rValues);
192 virtual void FinalizeMaterialResponseKirchhoff (
Parameters & rValues);
200 virtual void FinalizeMaterialResponseCauchy (
Parameters & rValues);
207 void GetLawFeatures(Features& rFeatures);
263 virtual void UpdateInternalVariables (
Parameters & rValues);
276 boost::shared_ptr<boost::python::object> mpPyConstitutiveLaw;
306 virtual void save(
Serializer& rSerializer)
const
309 rSerializer.
save(
"mInverseTotalDeformationMatrix",mInverseTotalDeformationMatrix);
310 rSerializer.
save(
"mTotalDeformationDet",mTotalDeformationDet);
311 rSerializer.
save(
"mStrainEnergy",mStrainEnergy);
317 rSerializer.
load(
"mInverseTotalDeformationMatrix",mInverseTotalDeformationMatrix);
318 rSerializer.
load(
"mTotalDeformationDet",mTotalDeformationDet);
319 rSerializer.
load(
"mStrainEnergy",mStrainEnergy);
Definition: constitutive_law.h:47
std::size_t SizeType
Definition: constitutive_law.h:82
Geometry base class.
Definition: geometry.h:71
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
Definition: python_outfitted_constitutive_law.hpp:32
double mTotalDeformationDet
Definition: python_outfitted_constitutive_law.hpp:246
KRATOS_CLASS_POINTER_DEFINITION(PythonOutfittedConstitutiveLaw)
ProcessInfo ProcessInfoType
Definition: python_outfitted_constitutive_law.hpp:37
Matrix mInverseTotalDeformationMatrix
Definition: python_outfitted_constitutive_law.hpp:244
std::size_t SizeType
Definition: python_outfitted_constitutive_law.hpp:39
SizeType GetStrainSize()
Definition: python_outfitted_constitutive_law.hpp:105
double mStrainEnergy
Definition: python_outfitted_constitutive_law.hpp:248
SizeType WorkingSpaceDimension()
Definition: python_outfitted_constitutive_law.hpp:97
ConstitutiveLaw BaseType
Definition: python_outfitted_constitutive_law.hpp:38
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
def load(f)
Definition: ode_solve.py:307
Definition: constitutive_law.h:189