35 #ifndef structuralpythonmaterial_h 36 #define structuralpythonmaterial_h 38 #include<boost/python.hpp> 39 namespace bp=boost::python;
41 #include "../sm/Materials/structuralmaterial.h" 42 #include "../sm/Materials/structuralms.h" 53 #define _IFT_StructuralPythonMaterial_Name "structuralpythonmaterial" 54 #define _IFT_StructuralPythonMaterial_moduleName "module" 129 virtual const char *
giveClassName()
const {
return "StructuralPythonMaterial"; }
150 virtual void updateYourself(
TimeStep *tStep);
151 void reinitTempStateDictionary();
156 virtual const char *
giveClassName()
const {
return "StructuralPythonMaterialStatus"; }
159 #endif // structuralpythonmaterial_h InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
virtual void giveFirstPKStressVector_3d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedF, TimeStep *tStep)
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
virtual void giveInputRecord(DynamicInputRecord &input)
Setups the input record string of receiver.
#define _IFT_StructuralPythonMaterial_Name
This class implements a structural material status information.
bp::object smallDefTangent
bp::object module
module containing functions (created from moduleName)
virtual const char * giveInputRecordName() const
Custom user supplied python scripts for material models.
virtual const char * giveClassName() const
bp::object smallDef
callable for small deformations
MatResponseMode
Describes the character of characteristic material matrix.
StructuralPythonMaterial(int n, Domain *d)
Constructor.
void callTangentFunction(FloatMatrix &answer, bp::object func, const FloatArray &strain, const FloatArray &stress, bp::object stateDict, bp::object tempStateDict, TimeStep *tStep) const
bp::object giveTempStateDictionary()
virtual ~StructuralPythonMaterial()
Destructor.
virtual void give3dMaterialStiffnessMatrix_dPdF(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Abstract base class representing a material status information.
virtual MaterialStatus * CreateStatus(GaussPoint *gp) const
Creates new copy of associated status and inserts it into given integration point.
void callStressFunction(bp::object func, const FloatArray &oldStrain, const FloatArray &oldStress, const FloatArray &strain, FloatArray &stress, bp::object stateDict, bp::object tempStateDict, TimeStep *tStep) const
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual void giveRealStressVector_3d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
virtual const char * giveClassName() const
Abstract base class for all "structural" constitutive models.
bp::object giveStateDictionary()
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
std::string moduleName
Name of the file that contains the python function.
virtual void initTempStatus(GaussPoint *gp)
Initializes temporary variables stored in integration point status at the beginning of new time step...
virtual int hasNonLinearBehaviour()
Returns nonzero if receiver is non linear.
Class representing integration point in finite element program.
bp::object largeDefTangent
Class representing solution step.
double pert
Numerical pertubation for numerical tangents.
virtual void give3dMaterialStiffnessMatrix(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Computes full 3d material stiffness matrix at given integration point, time, respecting load history ...
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.