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

#include <constltp_impl.h>

Inheritance diagram for LTVViscoElasticGenericConstitutiveLaw< T, Tder >:
Collaboration diagram for LTVViscoElasticGenericConstitutiveLaw< T, Tder >:

Public Member Functions

 LTVViscoElasticGenericConstitutiveLaw (const TplDriveCaller< T > *pDC, const T &PStress, const Tder &Stiff, const DriveCaller *pdc, const Tder &StiffPrime, const DriveCaller *pdcp)
 
virtual ~LTVViscoElasticGenericConstitutiveLaw (void)
 
ConstLawType::Type GetConstLawType (void) const
 
virtual ConstitutiveLaw< T,
Tder > * 
pCopy (void) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual void Update (const T &Eps, const T &EpsPrime=mb_zero< T >())
 
- Public Member Functions inherited from ElasticConstitutiveLaw< T, Tder >
 ElasticConstitutiveLaw (const TplDriveCaller< T > *pDC, const T &PStress)
 
virtual ~ElasticConstitutiveLaw (void)
 
void SetValue (DataManager *pDM, VectorHandler &X, VectorHandler &XP, SimulationEntity::Hints *ph=0)
 
virtual HintParseHint (DataManager *pDM, const char *s) const
 
- Public Member Functions inherited from ConstitutiveLaw< T, Tder >
 ConstitutiveLaw (void)
 
virtual ~ConstitutiveLaw (void)
 
virtual void AfterConvergence (const T &Eps, const T &EpsPrime=mb_zero< T >())
 
virtual const T & GetEpsilon (void) const
 
virtual const T & GetEpsilonPrime (void) const
 
virtual const T & GetF (void) const
 
virtual const Tder & GetFDE (void) const
 
virtual const Tder & GetFDEPrime (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 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)
 
- Public Member Functions inherited from TplDriveOwner< T >
 TplDriveOwner (const TplDriveCaller< T > *pDC=0)
 
virtual ~TplDriveOwner (void)
 
void Set (const TplDriveCaller< T > *pDC)
 
TplDriveCaller< T > * pGetDriveCaller (void) const
 
Get (const doublereal &dVar) const
 
Get (void) const
 
virtual bool bIsDifferentiable (void) const
 
virtual T GetP (void) const
 

Protected Attributes

DriveOwner FDECoef
 
Tder FDERef
 
doublereal dPrevScaleFactor
 
DriveOwner FDEPrimeCoef
 
Tder FDEPrimeRef
 
doublereal dPrevScaleFactorPrime
 
- Protected Attributes inherited from ElasticConstitutiveLaw< T, Tder >
PreStress
 
- Protected Attributes inherited from ConstitutiveLaw< T, Tder >
Epsilon
 
EpsilonPrime
 
F
 
Tder FDE
 
Tder FDEPrime
 
- Protected Attributes inherited from WithLabel
unsigned int uLabel
 
std::string sName
 
- Protected Attributes inherited from TplDriveOwner< T >
TplDriveCaller< T > * pTplDriveCaller
 

Additional Inherited Members

- Public Types inherited from ConstitutiveLaw< T, Tder >
typedef ConstitutiveLaw< T,
Tder >::ErrNotAvailable 
Err
 
- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 
- Protected Member Functions inherited from ElasticConstitutiveLaw< T, Tder >
virtual std::ostream & Restart_int (std::ostream &out) const
 

Detailed Description

template<class T, class Tder>
class LTVViscoElasticGenericConstitutiveLaw< T, Tder >

Definition at line 1425 of file constltp_impl.h.

Constructor & Destructor Documentation

template<class T , class Tder >
LTVViscoElasticGenericConstitutiveLaw< T, Tder >::LTVViscoElasticGenericConstitutiveLaw ( const TplDriveCaller< T > *  pDC,
const T &  PStress,
const Tder &  Stiff,
const DriveCaller pdc,
const Tder &  StiffPrime,
const DriveCaller pdcp 
)
inline
template<class T , class Tder >
virtual LTVViscoElasticGenericConstitutiveLaw< T, Tder >::~LTVViscoElasticGenericConstitutiveLaw ( void  )
inlinevirtual

Definition at line 1450 of file constltp_impl.h.

References NO_OP.

1450  {
1451  NO_OP;
1452  };
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

template<class T , class Tder >
ConstLawType::Type LTVViscoElasticGenericConstitutiveLaw< T, Tder >::GetConstLawType ( void  ) const
inlinevirtual

Reimplemented from ElasticConstitutiveLaw< T, Tder >.

Definition at line 1454 of file constltp_impl.h.

References ConstLawType::VISCOELASTIC.

1454  {
1456  };
template<class T , class Tder >
virtual ConstitutiveLaw<T, Tder>* LTVViscoElasticGenericConstitutiveLaw< T, Tder >::pCopy ( void  ) const
inlinevirtual

Implements ConstitutiveLaw< T, Tder >.

Definition at line 1458 of file constltp_impl.h.

References LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDECoef, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDEPrimeCoef, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDEPrimeRef, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDERef, DriveCaller::pCopy(), DriveOwner::pGetDriveCaller(), and SAFENEWWITHCONSTRUCTOR.

1458  {
1459  ConstitutiveLaw<T, Tder>* pCL = 0;
1460 
1463  cl,
1466  FDERef,
1468  FDEPrimeRef,
1470 
1471  return pCL;
1472  };
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
Definition: mynewmem.h:698
DriveCaller * pGetDriveCaller(void) const
Definition: drive.cc:658
virtual DriveCaller * pCopy(void) const =0
virtual ConstitutiveLaw< T, Tder > * pCopy(void) const

Here is the call graph for this function:

template<class T , class Tder >
virtual std::ostream& LTVViscoElasticGenericConstitutiveLaw< T, Tder >::Restart ( std::ostream &  out) const
inlinevirtual

Reimplemented from ConstitutiveLaw< T, Tder >.

Definition at line 1474 of file constltp_impl.h.

References LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDECoef, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDEPrimeCoef, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDEPrimeRef, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDERef, DriveOwner::pGetDriveCaller(), DriveCaller::Restart(), ElasticConstitutiveLaw< T, Tder >::Restart_int(), and Write().

1474  {
1475  out << "linear time variant viscoelastic generic, ",
1476  Write(out, FDERef, ", ") << ", ",
1477  FDECoef.pGetDriveCaller()->Restart(out) << ", ",
1478  Write(out, FDEPrimeRef, ", ") << ", ",
1481  };
std::ostream & Write(std::ostream &out, const FullMatrixHandler &m, const char *s, const char *s2)
Definition: fullmh.cc:376
virtual std::ostream & Restart(std::ostream &out) const =0
virtual std::ostream & Restart_int(std::ostream &out) const
DriveCaller * pGetDriveCaller(void) const
Definition: drive.cc:658

Here is the call graph for this function:

template<class T , class Tder >
virtual void LTVViscoElasticGenericConstitutiveLaw< T, Tder >::Update ( const T &  Eps,
const T &  EpsPrime = mb_zero<T>() 
)
inlinevirtual

Implements ConstitutiveLaw< T, Tder >.

Definition at line 1483 of file constltp_impl.h.

References DriveOwner::dGet(), LTVViscoElasticGenericConstitutiveLaw< T, Tder >::dPrevScaleFactor, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::dPrevScaleFactorPrime, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDECoef, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDEPrimeCoef, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDEPrimeRef, LTVViscoElasticGenericConstitutiveLaw< T, Tder >::FDERef, and TplDriveOwner< T >::Get().

1483  {
1486  doublereal dCurrScaleFactor = FDECoef.dGet();
1487  if (dCurrScaleFactor != dPrevScaleFactor) {
1488  dPrevScaleFactor = dCurrScaleFactor;
1489  ConstitutiveLaw<T, Tder>::FDE = FDERef*dCurrScaleFactor;
1490  }
1491  doublereal dCurrScaleFactorPrime = FDEPrimeCoef.dGet();
1492  if (dCurrScaleFactorPrime != dPrevScaleFactorPrime) {
1493  dPrevScaleFactorPrime = dCurrScaleFactorPrime;
1494  ConstitutiveLaw<T, Tder>::FDEPrime = FDEPrimeRef*dCurrScaleFactorPrime;
1495  }
1499  };
doublereal dGet(const doublereal &dVar) const
Definition: drive.cc:664
double doublereal
Definition: colamd.c:52
T Get(void) const
Definition: tpldrive.h:113

Here is the call graph for this function:

Member Data Documentation


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