32 #ifndef CONSTLAW_ANN_H
33 #define CONSTLAW_ANN_H
39 template <
class T,
class Tder>
50 if (
typeid(T) ==
typeid(
Vec3)) {
53 }
else if (
typeid(T) ==
typeid(
Vec6)) {
73 virtual void Update(
const T& Eps,
const T& EpsPrime,
int feedback) {
82 for (
unsigned r = 0; r <
dim; r++) {
90 for (
unsigned r = 0; r <
dim; r++) {
92 for (
unsigned c = 0;
c <
dim;
c++) {
132 virtual std::ostream&
Restart(std::ostream& out)
const {
133 return out <<
" ann elastic, \"" <<
fname <<
"\",";
136 virtual void Update(
const T& Eps,
const T& EpsPrime = 0.) {
224 virtual std::ostream&
Restart(std::ostream& out)
const {
225 return out <<
" ann elastic, \"" <<
fname <<
"\",";
233 template <
class T,
class Tder>
245 virtual void Update(
const T& Eps,
const T& EpsPrime,
int feedback) {
257 for (
unsigned r = 0; r < AnnViscoElasticConstitutiveLaw<T, Tder>::dim; r++) {
263 silent_cout(
"AnnViscoElasticConstitutiveLaw: Network simulation error" << std::endl);
268 for (
unsigned r = 0; r < AnnViscoElasticConstitutiveLaw<T, Tder>::dim; r++) {
270 for (
unsigned c = 0; c < AnnViscoElasticConstitutiveLaw<T, Tder>::dim;
c++) {
330 silent_cout(
"AnnViscoElasticConstitutiveLaw: Network simulation error" << std::endl);
364 template <
class T,
class Tder>
379 silent_cerr(
"AnnElasticCLR: "
380 "unable to get ann file name "
392 template <
class T,
class Tder>
407 silent_cerr(
"AnnViscoElasticCLR: "
408 "unable to get ann file name "
420 #endif // CONSTLAW_ANN_H
AnnViscoElasticConstitutiveLaw(const std::string &f, bool b=false)
ann_res_t ANN_sim(ANN *net, vector *input, vector *output, unsigned flags)
virtual void Update(const T &Eps, const T &EpsPrime, int feedback)
AnnViscoElasticConstitutiveLaw(const std::string &f, bool b=false)
#define MBDYN_EXCEPT_ARGS
virtual void AnnSanity(void)
virtual ~AnnViscoElasticConstitutiveLaw(void)
virtual ConstitutiveLaw< T, Tder > * Read(const DataManager *pDM, MBDynParser &HP, ConstLawType::Type &CLType)
virtual const char * GetFileName(enum Delims Del=DEFAULTDELIM)
virtual void AnnSanity(void)
virtual std::ostream & Restart(std::ostream &out) const
ann_res_t ANN_init(ANN *net, const char *FileName)
virtual ConstitutiveLaw< T, Tder > * pCopy(void) const
virtual void Update(const T &Eps, const T &EpsPrime=0.)
#define ANN_FEEDBACK_NONE
virtual void Update(const T &Eps, const T &EpsPrime, int feedback)
virtual bool GetYesNoOrBool(bool bDefval=false)
ConstLawType::Type GetConstLawType(void) const
virtual ConstLawType::Type GetConstLawType(void) const
virtual void Update(const doublereal &Eps, const doublereal &EpsPrime=0.)
virtual ConstitutiveLaw< doublereal, doublereal > * pCopy(void) const
virtual ConstitutiveLaw< doublereal, doublereal > * pCopy(void) const
virtual ~AnnViscoElasticConstitutiveLaw(void)
virtual bool IsKeyWord(const char *sKeyWord)
virtual ConstitutiveLaw< T, Tder > * pCopy(void) const
virtual ConstitutiveLaw< T, Tder > * Read(const DataManager *pDM, MBDynParser &HP, ConstLawType::Type &CLType)
#define ANN_FEEDBACK_UPDATE
virtual void Update(const doublereal &Eps, const doublereal &EpsPrime, int feedback)
virtual void AnnSanity(void)
virtual ~AnnElasticConstitutiveLaw(void)
virtual void AnnSanity(void)
ConstLawType::Type GetConstLawType(void) const
AnnElasticConstitutiveLaw(const std::string &f, bool b=false)
virtual std::ostream & Restart(std::ostream &out) const
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
static std::stack< cleanup * > c
virtual void Update(const doublereal &Eps, const doublereal &EpsPrime, int feedback)
virtual ~AnnElasticConstitutiveLaw(void)
ann_res_t ANN_jacobian_matrix(ANN *net, matrix *jacobian)
virtual void AfterConvergence(const T &Eps, const T &EpsPrime=0.)
AnnElasticConstitutiveLaw(const std::string &f, bool b=false)
virtual HighParser::ErrOut GetLineData(void) const
virtual ConstLawType::Type GetConstLawType(void) const
virtual void AfterConvergence(const doublereal &Eps, const doublereal &EpsPrime=0.)
ann_res_t ANN_destroy(ANN *net)