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

#include <constltp.h>

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

Public Member Functions

 ConstitutiveLawOwner (const ConstitutiveLaw< T, Tder > *pCL)
 
virtual ~ConstitutiveLawOwner (void)
 
ConstitutiveLaw< T, Tder > * pGetConstLaw (void) const
 
void Update (const T &Eps, const T &EpsPrime=mb_zero< T >())
 
void AfterConvergence (const T &Eps, const T &EpsPrime=mb_zero< T >())
 
const T & GetF (void) const
 
const Tder & GetFDE (void) const
 
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
 
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
 
- 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 void ReadInitialState (MBDynParser &HP)
 

Protected Attributes

ConstitutiveLaw< T, Tder > * pConstLaw
 

Additional Inherited Members

- Public Types inherited from SimulationEntity
typedef std::vector< Hint * > Hints
 

Detailed Description

template<class T, class Tder>
class ConstitutiveLawOwner< T, Tder >

Definition at line 261 of file constltp.h.

Constructor & Destructor Documentation

template<class T , class Tder >
ConstitutiveLawOwner< T, Tder >::ConstitutiveLawOwner ( const ConstitutiveLaw< T, Tder > *  pCL)
inline

Definition at line 266 of file constltp.h.

References ASSERT.

267  : pConstLaw(const_cast<ConstitutiveLaw<T, Tder> *>(pCL)) {
268  ASSERT(pCL != NULL);
269  };
ConstitutiveLaw< T, Tder > * pConstLaw
Definition: constltp.h:263
#define ASSERT(expression)
Definition: colamd.c:977
template<class T , class Tder >
virtual ConstitutiveLawOwner< T, Tder >::~ConstitutiveLawOwner ( void  )
inlinevirtual

Definition at line 271 of file constltp.h.

References ASSERT, and SAFEDELETE.

271  {
272  ASSERT(pConstLaw != NULL);
273  if (pConstLaw != NULL) {
275  }
276  };
ConstitutiveLaw< T, Tder > * pConstLaw
Definition: constltp.h:263
#define ASSERT(expression)
Definition: colamd.c:977
#define SAFEDELETE(pnt)
Definition: mynewmem.h:710

Member Function Documentation

template<class T , class Tder >
void ConstitutiveLawOwner< T, Tder >::AfterConvergence ( const T &  Eps,
const T &  EpsPrime = mb_zero<T>() 
)
inline
template<class T , class Tder >
virtual std::ostream& ConstitutiveLawOwner< T, Tder >::DescribeDof ( std::ostream &  out,
const char *  prefix = "",
bool  bInitial = false 
) const
inlinevirtual

Implements SimulationEntity.

Definition at line 314 of file constltp.h.

317  {
318  return out;
319  };
template<class T , class Tder >
virtual void ConstitutiveLawOwner< T, Tder >::DescribeDof ( std::vector< std::string > &  desc,
bool  bInitial = false,
int  i = -1 
) const
inlinevirtual

Implements SimulationEntity.

Definition at line 321 of file constltp.h.

References ASSERT.

323  {
324  ASSERT(i <= 0);
325  desc.resize(0);
326  };
#define ASSERT(expression)
Definition: colamd.c:977
template<class T , class Tder >
virtual std::ostream& ConstitutiveLawOwner< T, Tder >::DescribeEq ( std::ostream &  out,
const char *  prefix = "",
bool  bInitial = false 
) const
inlinevirtual

Implements SimulationEntity.

Definition at line 328 of file constltp.h.

331  {
332  return out;
333  };
template<class T , class Tder >
virtual void ConstitutiveLawOwner< T, Tder >::DescribeEq ( std::vector< std::string > &  desc,
bool  bInitial = false,
int  i = -1 
) const
inlinevirtual

Implements SimulationEntity.

Definition at line 335 of file constltp.h.

References ASSERT.

337  {
338  ASSERT(i <= 0);
339  desc.resize(0);
340  };
#define ASSERT(expression)
Definition: colamd.c:977
template<class T , class Tder >
virtual DofOrder::Order ConstitutiveLawOwner< T, Tder >::GetDofType ( unsigned int  i) const
inlinevirtual

Implements SimulationEntity.

Reimplemented in DeformableJoint, DeformableDispJoint, and ViscousBody.

Definition at line 342 of file constltp.h.

References ASSERT.

342  {
343  ASSERT(pConstLaw != NULL);
344  return pConstLaw->GetDofType(i);
345  };
ConstitutiveLaw< T, Tder > * pConstLaw
Definition: constltp.h:263
#define ASSERT(expression)
Definition: colamd.c:977
template<class T , class Tder >
const T& ConstitutiveLawOwner< T, Tder >::GetF ( void  ) const
inline

Definition at line 293 of file constltp.h.

References ASSERT.

Referenced by HBeam::AfterPredict(), Beam2::AfterPredict(), Beam::AfterPredict(), ViscoElasticBeam2::AfterPredict(), ViscoElasticBeam::AfterPredict(), RodBezier::AssJac(), ViscoElasticRod::AssJac(), RodWithOffset::AssJac(), Rod::AssMat(), GenelSpring::AssRes(), ViscoElasticRod::AssRes(), GenelSpringSupport::AssRes(), GenelCrossSpringSupport::AssRes(), GenelCrossSpringDamperSupport::AssRes(), GenelSpringDamperSupport::AssRes(), Beam2::AssStiffnessVec(), HBeam::AssStiffnessVec(), Beam::AssStiffnessVec(), ViscoElasticBeam2::AssStiffnessVec(), ViscoElasticBeam::AssStiffnessVec(), ViscousBody::AssVec(), Rod::AssVec(), RodBezier::AssVec(), ElasticAxialJoint::AssVec(), ElasticHingeJoint::AssVec(), ElasticDispJoint::AssVec(), ElasticJoint::AssVec(), ViscousAxialJoint::AssVec(), ElasticDispJointInv::AssVec(), RodWithOffset::AssVec(), ElasticHingeJointInv::AssVec(), ElasticJointInv::AssVec(), ViscousHingeJoint::AssVec(), ViscousDispJoint::AssVec(), ViscoElasticAxialJoint::AssVec(), ViscousJoint::AssVec(), ViscousHingeJointInv::AssVec(), ViscoElasticJoint::AssVec(), ViscoElasticDispJoint::AssVec(), ViscoElasticHingeJoint::AssVec(), ViscoElasticHingeJointInv::AssVec(), ViscousBody::dGetPrivData(), DeformableAxialJoint::dGetPrivData(), DeformableDispJoint::dGetPrivData(), DeformableJoint::dGetPrivData(), DeformableHingeJoint::dGetPrivData(), RodBezier::dGetPrivData(), Rod::dGetPrivData(), GenelSpringSupport::dGetPrivData(), RodBezier::InitialAssJac(), ViscoElasticRod::InitialAssJac(), RodWithOffset::InitialAssJac(), ViscousAxialJoint::InitialAssJac(), ViscousHingeJoint::InitialAssJac(), ViscousDispJoint::InitialAssJac(), ViscoElasticAxialJoint::InitialAssJac(), ViscoElasticDispJoint::InitialAssJac(), ViscoElasticHingeJoint::InitialAssJac(), ViscoElasticRod::InitialAssRes(), ViscousAxialJoint::InitialAssRes(), ViscousHingeJoint::InitialAssRes(), ViscousDispJoint::InitialAssRes(), ViscoElasticAxialJoint::InitialAssRes(), ViscoElasticDispJoint::InitialAssRes(), ViscoElasticHingeJoint::InitialAssRes(), ViscousBody::Output(), DeformableAxialJoint::Output(), DeformableDispJoint::Output(), RodBezier::Output(), DeformableHingeJoint::Output(), DeformableJoint::Output(), Rod::Output(), and DeformableHingeJoint::OutputInv().

293  {
294  ASSERT(pConstLaw != NULL);
295  return pConstLaw->GetF();
296  };
ConstitutiveLaw< T, Tder > * pConstLaw
Definition: constltp.h:263
#define ASSERT(expression)
Definition: colamd.c:977
template<class T , class Tder >
const Tder& ConstitutiveLawOwner< T, Tder >::GetFDE ( void  ) const
inline

Definition at line 298 of file constltp.h.

References ASSERT.

Referenced by ElasticAxialJoint::AfterPredict(), ElasticHingeJoint::AfterPredict(), ElasticDispJoint::AfterPredict(), HBeam::AfterPredict(), Beam2::AfterPredict(), ElasticJoint::AfterPredict(), ElasticHingeJointInv::AfterPredict(), ElasticDispJointInv::AfterPredict(), ElasticJointInv::AfterPredict(), ViscoElasticAxialJoint::AfterPredict(), ViscoElasticBeam2::AfterPredict(), ViscoElasticJoint::AfterPredict(), ViscoElasticDispJoint::AfterPredict(), ViscoElasticHingeJoint::AfterPredict(), ViscoElasticHingeJointInv::AfterPredict(), RodBezier::AssJac(), GenelSpring::AssJac(), ViscoElasticRod::AssJac(), GenelSpringSupport::AssJac(), RodWithOffset::AssJac(), GenelCrossSpringSupport::AssJac(), GenelCrossSpringDamperSupport::AssJac(), GenelSpringDamperSupport::AssJac(), Rod::AssMat(), ElasticAxialJoint::AssMat(), ElasticHingeJoint::AssMat(), HBeam::AssStiffnessMat(), Beam2::DsDxi(), ElasticDispJoint::ElasticDispJoint(), ElasticDispJointInv::ElasticDispJointInv(), ElasticJoint::ElasticJoint(), ElasticJointInv::ElasticJointInv(), RodBezier::InitialAssJac(), ViscoElasticRod::InitialAssJac(), RodWithOffset::InitialAssJac(), ViscoElasticAxialJoint::InitialAssJac(), ViscoElasticDispJoint::InitialAssJac(), ViscoElasticHingeJoint::InitialAssJac(), HBeam::SetValue(), Beam2::SetValue(), ViscoElasticDispJoint::ViscoElasticDispJoint(), and ViscoElasticJoint::ViscoElasticJoint().

298  {
299  ASSERT(pConstLaw != NULL);
300  return pConstLaw->GetFDE();
301  };
ConstitutiveLaw< T, Tder > * pConstLaw
Definition: constltp.h:263
#define ASSERT(expression)
Definition: colamd.c:977
template<class T , class Tder >
const Tder& ConstitutiveLawOwner< T, Tder >::GetFDEPrime ( void  ) const
inline
template<class T , class Tder >
virtual unsigned int ConstitutiveLawOwner< T, Tder >::iGetNumDof ( void  ) const
inlinevirtual

Implements SimulationEntity.

Reimplemented in DeformableJoint, DeformableHingeJoint, DeformableDispJoint, DeformableAxialJoint, Rod, ViscousBody, and RodBezier.

Definition at line 309 of file constltp.h.

References ASSERT.

309  {
310  ASSERT(pConstLaw != NULL);
311  return pConstLaw->iGetNumDof();
312  };
ConstitutiveLaw< T, Tder > * pConstLaw
Definition: constltp.h:263
#define ASSERT(expression)
Definition: colamd.c:977
template<class T , class Tder >
virtual unsigned int ConstitutiveLawOwner< T, Tder >::iGetNumPrivData ( void  ) const
inlinevirtual
template<class T , class Tder >
virtual unsigned int ConstitutiveLawOwner< T, Tder >::iGetPrivDataIdx ( const char *  s) const
inlinevirtual
template<class T , class Tder >
virtual std::ostream& ConstitutiveLawOwner< T, Tder >::OutputAppend ( std::ostream &  out) const
inlinevirtual

Reimplemented from SimulationEntity.

Definition at line 373 of file constltp.h.

Referenced by RodBezier::Output(), and Rod::Output().

373  {
374  return pConstLaw->OutputAppend(out);
375  };
ConstitutiveLaw< T, Tder > * pConstLaw
Definition: constltp.h:263
template<class T , class Tder >
ConstitutiveLaw<T, Tder>* ConstitutiveLawOwner< T, Tder >::pGetConstLaw ( void  ) const
inline
template<class T , class Tder >
void ConstitutiveLawOwner< T, Tder >::Update ( const T &  Eps,
const T &  EpsPrime = mb_zero<T>() 
)
inline

Definition at line 283 of file constltp.h.

References ASSERT.

Referenced by ElasticAxialJoint::AfterPredict(), ViscousBody::AfterPredict(), ElasticHingeJoint::AfterPredict(), ElasticDispJoint::AfterPredict(), HBeam::AfterPredict(), Beam2::AfterPredict(), ElasticJoint::AfterPredict(), ViscousAxialJoint::AfterPredict(), ElasticHingeJointInv::AfterPredict(), ElasticDispJointInv::AfterPredict(), Beam::AfterPredict(), ElasticJointInv::AfterPredict(), ViscousHingeJoint::AfterPredict(), ViscoElasticAxialJoint::AfterPredict(), ViscoElasticBeam2::AfterPredict(), ViscousDispJoint::AfterPredict(), ViscousJoint::AfterPredict(), ViscousHingeJointInv::AfterPredict(), ViscoElasticDispJoint::AfterPredict(), ViscoElasticJoint::AfterPredict(), ViscoElasticBeam::AfterPredict(), ViscoElasticHingeJoint::AfterPredict(), ViscoElasticHingeJointInv::AfterPredict(), GenelSpring::AssRes(), ViscoElasticRod::AssRes(), GenelSpringSupport::AssRes(), GenelCrossSpringSupport::AssRes(), GenelCrossSpringDamperSupport::AssRes(), GenelSpringDamperSupport::AssRes(), Beam2::AssStiffnessVec(), HBeam::AssStiffnessVec(), Beam::AssStiffnessVec(), ViscoElasticBeam2::AssStiffnessVec(), ViscoElasticBeam::AssStiffnessVec(), ViscousBody::AssVec(), Rod::AssVec(), RodBezier::AssVec(), ElasticAxialJoint::AssVec(), ElasticDispJoint::AssVec(), ElasticHingeJoint::AssVec(), ElasticJoint::AssVec(), ViscousAxialJoint::AssVec(), ElasticDispJointInv::AssVec(), RodWithOffset::AssVec(), ElasticHingeJointInv::AssVec(), ElasticJointInv::AssVec(), ViscousHingeJoint::AssVec(), ViscousDispJoint::AssVec(), ViscoElasticAxialJoint::AssVec(), ViscousJoint::AssVec(), ViscousHingeJointInv::AssVec(), ViscoElasticJoint::AssVec(), ViscoElasticDispJoint::AssVec(), ViscoElasticHingeJoint::AssVec(), ViscoElasticHingeJointInv::AssVec(), Beam2::DsDxi(), Beam::DsDxi(), ViscoElasticRod::InitialAssRes(), ViscousAxialJoint::InitialAssRes(), ViscousHingeJoint::InitialAssRes(), ViscousDispJoint::InitialAssRes(), ViscoElasticAxialJoint::InitialAssRes(), ViscoElasticDispJoint::InitialAssRes(), and ViscoElasticHingeJoint::InitialAssRes().

283  {
284  ASSERT(pConstLaw != NULL);
285  pConstLaw->Update(Eps, EpsPrime);
286  };
ConstitutiveLaw< T, Tder > * pConstLaw
Definition: constltp.h:263
#define ASSERT(expression)
Definition: colamd.c:977

Member Data Documentation

template<class T , class Tder >
ConstitutiveLaw<T, Tder>* ConstitutiveLawOwner< T, Tder >::pConstLaw
mutableprotected

Definition at line 263 of file constltp.h.


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