35#ifndef structuralpythonmaterial_h
36#define structuralpythonmaterial_h
38#include<boost/python.hpp>
39namespace bp=boost::python;
47#define _IFT_StructuralPythonMaterial_Name "structuralpythonmaterial"
48#define _IFT_StructuralPythonMaterial_moduleName "module"
112 const char *
giveClassName()
const override {
return "StructuralPythonMaterial"; }
133 const char *
giveClassName()
const override {
return "StructuralPythonMaterialStatus"; }
GaussPoint * gp
Associated integration point.
StructuralMaterialStatus(GaussPoint *g)
Constructor. Creates new StructuralMaterialStatus with IntegrationPoint g.
StructuralMaterial(int n, Domain *d)
bp::dict stateDict
Internal state variables.
StructuralPythonMaterialStatus(GaussPoint *gp)
Constructor.
void updateYourself(TimeStep *tStep) override
bp::object giveStateDictionary()
const char * giveClassName() const override
bp::object giveTempStateDictionary()
void reinitTempStateDictionary()
void initTempStatus() override
MaterialStatus * CreateStatus(GaussPoint *gp) const override
bp::object module
module containing functions (created from moduleName)
FloatMatrixF< 9, 9 > give3dMaterialStiffnessMatrix_dPdF(MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) const override
void initializeFrom(InputRecord &ir) override
FloatArrayF< 9 > giveFirstPKStressVector_3d(const FloatArrayF< 9 > &vF, GaussPoint *gp, TimeStep *tStep) const override
Default implementation relies on giveRealStressVector for second Piola-Kirchoff stress.
void give3dMaterialStiffnessMatrix(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
const char * giveInputRecordName() const override
const char * giveClassName() const override
std::string moduleName
Name of the file that contains the python function.
FloatMatrix callTangentFunction(bp::object func, const FloatArray &oldStrain, const FloatArray &oldStress, bp::object stateDict, bp::object tempStateDict, TimeStep *tStep) const
double pert
Numerical pertubation for numerical tangents.
StructuralPythonMaterial(int n, Domain *d)
Constructor.
bp::object smallDefTangent
void giveRealStressVector_3d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)
bp::object smallDef
callable for small deformations
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
bp::object largeDefTangent
FloatArray callStressFunction(bp::object func, const FloatArray &oldStrain, const FloatArray &oldStress, const FloatArray &strain, bp::object stateDict, bp::object tempStateDict, TimeStep *tStep) const
void giveInputRecord(DynamicInputRecord &input) override
#define _IFT_StructuralPythonMaterial_Name