MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
AnnElasticConstitutiveLaw< doublereal, doublereal > Class Template Reference

#include <constltp_ann.h>

Inheritance diagram for AnnElasticConstitutiveLaw< doublereal, doublereal >:
Collaboration diagram for AnnElasticConstitutiveLaw< doublereal, doublereal >:

Public Member Functions

 AnnElasticConstitutiveLaw (const std::string &f, bool b=false)
 
virtual ~AnnElasticConstitutiveLaw (void)
 
virtual ConstLawType::Type GetConstLawType (void) const
 
virtual void AfterConvergence (const doublereal &Eps, const doublereal &EpsPrime=0.)
 
virtual ConstitutiveLaw
< doublereal, doublereal > * 
pCopy (void) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual void Update (const doublereal &Eps, const doublereal &EpsPrime=0.)
 
- Public Member Functions inherited from ConstitutiveLaw< doublereal, doublereal >
 ConstitutiveLaw (void)
 
virtual ~ConstitutiveLaw (void)
 
virtual const doublerealGetEpsilon (void) const
 
virtual const doublerealGetEpsilonPrime (void) const
 
virtual const doublerealGetF (void) const
 
virtual const doublerealGetFDE (void) const
 
virtual const doublerealGetFDEPrime (void) const
 
virtual unsigned int iGetNumDof (void) const
 
virtual std::ostream & DescribeDof (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeDof (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual std::ostream & DescribeEq (std::ostream &out, const char *prefix="", bool bInitial=false) const
 
virtual void DescribeEq (std::vector< std::string > &desc, bool bInitial=false, int i=-1) const
 
virtual DofOrder::Order GetDofType (unsigned int i) const
 
- Public Member Functions inherited from WithLabel
 WithLabel (unsigned int uL=0, const std::string &sN="")
 
virtual ~WithLabel (void)
 
void PutLabel (unsigned int uL)
 
void PutName (const std::string &sN)
 
unsigned int GetLabel (void) const
 
const std::string & GetName (void) const
 
- Public Member Functions inherited from SimulationEntity
 SimulationEntity (void)
 
virtual ~SimulationEntity (void)
 
virtual bool bIsValidIndex (unsigned int i) const
 
virtual DofOrder::Order GetEqType (unsigned int i) const
 
virtual void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *h=0)
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
virtual void BeforePredict (VectorHandler &, VectorHandler &, VectorHandler &, VectorHandler &) const
 
virtual void AfterPredict (VectorHandler &X, VectorHandler &XP)
 
virtual void Update (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void DerivativesUpdate (const VectorHandler &XCurr, const VectorHandler &XPrimeCurr)
 
virtual void Update (const VectorHandler &XCurr, InverseDynamics::Order iOrder)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP)
 
virtual void AfterConvergence (const VectorHandler &X, const VectorHandler &XP, const VectorHandler &XPP)
 
virtual unsigned int iGetNumPrivData (void) const
 
virtual unsigned int iGetPrivDataIdx (const char *s) const
 
virtual doublereal dGetPrivData (unsigned int i) const
 
virtual std::ostream & OutputAppend (std::ostream &out) const
 
virtual void ReadInitialState (MBDynParser &HP)
 

Protected Member Functions

void AnnInit (void)
 
virtual void AnnSanity (void)
 
virtual void Update (const doublereal &Eps, const doublereal &EpsPrime, int feedback)
 

Protected Attributes

bool bUnit
 
ANNnet
 
std::string fname
 
- Protected Attributes inherited from ConstitutiveLaw< doublereal, doublereal >
doublereal Epsilon
 
doublereal EpsilonPrime
 
doublereal F
 
doublereal FDE
 
doublereal FDEPrime
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 

Additional Inherited Members

- Public Types inherited from ConstitutiveLaw< doublereal, doublereal >
typedef ConstitutiveLaw
< doublereal, doublereal >
::ErrNotAvailable 
Err
 
- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 

Detailed Description

template<>
class AnnElasticConstitutiveLaw< doublereal, doublereal >

Definition at line 142 of file constltp_ann.h.

Constructor & Destructor Documentation

Definition at line 199 of file constltp_ann.h.

References ANN_destroy(), and AnnElasticConstitutiveLaw< T, Tder >::net.

199  {
200  if (net != 0) {
201  (void)ANN_destroy(net);
202  delete net;
203  }
204  };
ann_res_t ANN_destroy(ANN *net)
Definition: ann.c:218

Here is the call graph for this function:

Member Function Documentation

virtual void AnnElasticConstitutiveLaw< doublereal, doublereal >::AfterConvergence ( const doublereal Eps,
const doublereal EpsPrime = 0. 
)
inlinevirtual

Reimplemented from ConstitutiveLaw< doublereal, doublereal >.

Definition at line 211 of file constltp_ann.h.

References ANN_FEEDBACK_UPDATE, and AnnElasticConstitutiveLaw< T, Tder >::Update().

212  {
213  Update(Eps, EpsPrime, ANN_FEEDBACK_UPDATE);
214  };
#define ANN_FEEDBACK_UPDATE
Definition: ann.h:52
virtual void Update(const doublereal &Eps, const doublereal &EpsPrime, int feedback)
Definition: constltp_ann.h:164

Here is the call graph for this function:

void AnnElasticConstitutiveLaw< doublereal, doublereal >::AnnInit ( void  )
inlineprotected

Definition at line 149 of file constltp_ann.h.

References ANN_init(), AnnElasticConstitutiveLaw< T, Tder >::fname, MBDYN_EXCEPT_ARGS, and AnnElasticConstitutiveLaw< T, Tder >::net.

150  {
151  net = new ANN;
152  if (ANN_init(net, fname.c_str()) != 0) {
154  }
155  }
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
ann_res_t ANN_init(ANN *net, const char *FileName)
Definition: ann.c:48
struct ANN ANN

Here is the call graph for this function:

virtual void AnnElasticConstitutiveLaw< doublereal, doublereal >::AnnSanity ( void  )
inlineprotectedvirtual

Reimplemented in AnnViscoElasticConstitutiveLaw< doublereal, doublereal >.

Definition at line 158 of file constltp_ann.h.

References NO_OP.

159  {
160  /* add sanity checks */
161  NO_OP;
162  }
#define NO_OP
Definition: myassert.h:74
virtual ConstLawType::Type AnnElasticConstitutiveLaw< doublereal, doublereal >::GetConstLawType ( void  ) const
inlinevirtual
virtual std::ostream& AnnElasticConstitutiveLaw< doublereal, doublereal >::Restart ( std::ostream &  out) const
inlinevirtual

Reimplemented from ConstitutiveLaw< doublereal, doublereal >.

Definition at line 224 of file constltp_ann.h.

References AnnElasticConstitutiveLaw< T, Tder >::fname.

224  {
225  return out << " ann elastic, \"" << fname << "\",";
226  };
virtual void AnnElasticConstitutiveLaw< doublereal, doublereal >::Update ( const doublereal Eps,
const doublereal EpsPrime,
int  feedback 
)
inlineprotectedvirtual

Reimplemented in AnnViscoElasticConstitutiveLaw< doublereal, doublereal >.

Definition at line 164 of file constltp_ann.h.

References ANN_jacobian_matrix(), ANN_sim(), AnnElasticConstitutiveLaw< T, Tder >::bUnit, ANN::input, ANN::jacobian, matrix::mat, MBDYN_EXCEPT_ARGS, ANN::N_input, AnnElasticConstitutiveLaw< T, Tder >::net, ANN::output, and vector::vec.

164  {
165 
167 
169 
172 
173  net->input.vec[0] = E;
174  if (net->N_input == 2) {
175  if (bUnit) {
176  net->input.vec[1] = 1.;
177  } else {
178  net->input.vec[1] = 0.;
179  }
180  }
181 
182  if (ANN_sim(net, &net->input, &net->output, feedback)) {
184  }
186 
189  };
ann_res_t ANN_sim(ANN *net, vector *input, vector *output, unsigned flags)
Definition: ann.c:425
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
vector input
Definition: ann.h:116
vector output
Definition: ann.h:116
int N_input
Definition: ann.h:84
matrix jacobian
Definition: ann.h:98
double ** mat
Definition: matrix.h:62
double * vec
Definition: matrix.h:69
ann_res_t ANN_jacobian_matrix(ANN *net, matrix *jacobian)
Definition: ann.c:921
double doublereal
Definition: colamd.c:52

Here is the call graph for this function:

virtual void AnnElasticConstitutiveLaw< doublereal, doublereal >::Update ( const doublereal Eps,
const doublereal EpsPrime = 0. 
)
inlinevirtual

Implements ConstitutiveLaw< doublereal, doublereal >.

Definition at line 228 of file constltp_ann.h.

References ANN_FEEDBACK_NONE, and AnnElasticConstitutiveLaw< T, Tder >::Update().

228  {
229  Update(Eps, EpsPrime, ANN_FEEDBACK_NONE);
230  };
#define ANN_FEEDBACK_NONE
Definition: ann.h:51
virtual void Update(const doublereal &Eps, const doublereal &EpsPrime, int feedback)
Definition: constltp_ann.h:164

Here is the call graph for this function:

Member Data Documentation

Definition at line 145 of file constltp_ann.h.

std::string AnnElasticConstitutiveLaw< doublereal, doublereal >::fname
protected

Definition at line 147 of file constltp_ann.h.

Definition at line 146 of file constltp_ann.h.


The documentation for this class was generated from the following file: