42 template <
class T,
class Tder>
63 virtual std::ostream&
Restart(std::ostream& out)
const {
67 virtual void Update(
const T& Eps,
const T& EpsPrime = mb_zero<T>()) {
82 std::vector<doublereal>
m_v;
86 : size(v.size()), err(0), m_v(v)
110 virtual std::ostream&
Restart(std::ostream& out)
const {
112 for (std::vector<doublereal>::const_iterator i = m_v.begin();
125 us1updt_(&size, &m_v[0], &Eps, &EpsPrime, &dF, &dFDE, &dFDEP,
136 us1aftc_(&size, &m_v[0], &Eps, &EpsPrime, &err);
148 std::vector<doublereal>
m_v;
152 : size(v.size()), err(0), m_v(v)
176 virtual std::ostream&
Restart(std::ostream& out)
const {
178 for (std::vector<doublereal>::const_iterator i = m_v.begin();
192 dF, dFDE, dFDEP, &err);
215 std::vector<doublereal>
m_v;
219 : size(v.size()), err(0), m_v(v)
243 virtual std::ostream&
Restart(std::ostream& out)
const {
245 for (std::vector<doublereal>::const_iterator i = m_v.begin();
257 doublereal dE[6], dEP[6], dF[6], dFDE[6*6], dFDEP[6*6];
260 us6updt_(&size, &m_v[0], dE, dEP, dF, dFDE, dFDEP, &err);
273 us6aftc_(&size, &m_v[0], dE, dEP, &err);
281 template <
class T,
class Tder>
289 std::vector<doublereal> v;
292 for (
int i = 0; i < size; i++) {
313 if (!
SetCL1D(
"dummyf90", rf1D)) {
316 silent_cerr(
"DummyConstitutiveLaw1D: "
317 "module_init(" << module_name <<
") "
318 "failed" << std::endl);
324 if (!
SetCL3D(
"dummyf90", rf3D)) {
327 silent_cerr(
"DummyConstitutiveLaw3D: "
328 "module_init(" << module_name <<
") "
329 "failed" << std::endl);
335 if (!
SetCL6D(
"dummyf90", rf6D)) {
338 silent_cerr(
"DummyConstitutiveLaw6D: "
339 "module_init(" << module_name <<
") "
340 "failed" << std::endl);
void PutTo(doublereal *pd) const
std::vector< doublereal > m_v
const Vec6 & mb_zero< Vec6 >(void)
virtual void Update(const Vec6 &Eps, const Vec6 &EpsPrime=mb_zero< Vec6 >())
integer us3init_(integer *size, doublereal *vec, integer *err)
#define MBDYN_EXCEPT_ARGS
integer us1aftc_(integer *size, doublereal *vec, const doublereal *const eps, const doublereal *const epsp, integer *err)
virtual integer GetInt(integer iDefval=0)
virtual ConstitutiveLaw< T, Tder > * pCopy(void) const
virtual std::ostream & Restart(std::ostream &out) const
integer us1dstr_(integer *size, doublereal *vec, integer *err)
integer us6dstr_(integer *size, doublereal *vec, integer *err)
virtual std::ostream & Restart(std::ostream &out) const
virtual std::ostream & Restart(std::ostream &out) const
const Vec3 & mb_zero< Vec3 >(void)
int module_init(const char *module_name, void *pdm, void *php)
This function registers our user defined element for the math parser.
virtual void AfterConvergence(const T &Eps, const T &EpsPrime=mb_zero< T >())
virtual ~DummyConstitutiveLaw(void)
integer us6init_(integer *size, doublereal *vec, integer *err)
integer us6aftc_(integer *size, doublereal *vec, const doublereal *const eps, const doublereal *const epsp, integer *err)
ConstLawType::Type GetConstLawType(void) const
virtual ConstitutiveLaw< doublereal, doublereal > * pCopy(void) const
virtual ConstitutiveLaw< T, Tder > * Read(const DataManager *pDM, MBDynParser &HP, ConstLawType::Type &CLType)
integer us6updt_(integer *size, doublereal *vec, const doublereal *const eps, const doublereal *const epsp, const doublereal *const f, const doublereal *const fde, const doublereal *const fdep, integer *err)
integer us1updt_(integer *size, doublereal *vec, const doublereal *const eps, const doublereal *const epsp, const doublereal *const f, const doublereal *const fde, const doublereal *const fdep, integer *err)
std::vector< doublereal > m_v
ConstLawType::Type GetConstLawType(void) const
virtual void AfterConvergence(const Vec3 &Eps, const Vec3 &EpsPrime=mb_zero< Vec3 >())
ConstLawType::Type GetConstLawType(void) const
ConstLawType::Type GetConstLawType(void) const
integer us3aftc_(integer *size, doublereal *vec, const doublereal *const eps, const doublereal *const epsp, integer *err)
DummyConstitutiveLaw(const std::vector< doublereal > &v)
integer us3dstr_(integer *size, doublereal *vec, integer *err)
virtual void AfterConvergence(const Vec6 &Eps, const Vec6 &EpsPrime=mb_zero< Vec6 >())
bool SetCL3D(const char *name, ConstitutiveLawRead< Vec3, Mat3x3 > *rf)
virtual ~DummyConstitutiveLaw(void)
virtual void Update(const doublereal &Eps, const doublereal &EpsPrime=0.)
std::vector< doublereal > m_v
integer us3updt_(integer *size, doublereal *vec, const doublereal *const eps, const doublereal *const epsp, const doublereal *const f, const doublereal *const fde, const doublereal *const fdep, integer *err)
DummyConstitutiveLaw(std::vector< doublereal > &v)
bool SetCL1D(const char *name, ConstitutiveLawRead< doublereal, doublereal > *rf)
DummyConstitutiveLaw(const std::vector< doublereal > &v)
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
virtual ~DummyConstitutiveLaw(void)
virtual ConstitutiveLaw< Vec3, Mat3x3 > * pCopy(void) const
DummyConstitutiveLaw(const std::vector< doublereal > &v)
virtual void AfterConvergence(const doublereal &Eps, const doublereal &EpsPrime=0.)
virtual std::ostream & Restart(std::ostream &out) const
bool SetCL6D(const char *name, ConstitutiveLawRead< Vec6, Mat6x6 > *rf)
virtual void Update(const Vec3 &Eps, const Vec3 &EpsPrime=mb_zero< Vec3 >())
virtual ConstitutiveLaw< Vec6, Mat6x6 > * pCopy(void) const
const doublereal * pGetVec(void) const
integer us1init_(integer *size, doublereal *vec, integer *err)
static std::stack< const HighParser * > pHP
virtual void Update(const T &Eps, const T &EpsPrime=mb_zero< T >())
virtual ~DummyConstitutiveLaw(void)
virtual doublereal GetReal(const doublereal &dDefval=0.0)