MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
HuntCrossleyCL Class Reference
Inheritance diagram for HuntCrossleyCL:
Collaboration diagram for HuntCrossleyCL:

Public Member Functions

 HuntCrossleyCL (const TplDriveCaller< doublereal > *pTplDC, doublereal dSign, doublereal dAlpha, doublereal dK, doublereal dExp)
 
virtual ~HuntCrossleyCL (void)
 
virtual ConstLawType::Type GetConstLawType (void) const
 
virtual ConstitutiveLaw
< doublereal, doublereal > * 
pCopy (void) const
 
virtual std::ostream & Restart (std::ostream &out) const
 
virtual void Update (const doublereal &Eps, const doublereal &EpsPrime)
 
virtual void AfterConvergence (const doublereal &Eps, const doublereal &EpsPrime=0.)
 
- Public Member Functions inherited from ElasticConstitutiveLaw< doublereal, doublereal >
 ElasticConstitutiveLaw (const TplDriveCaller< doublereal > *pDC, const doublereal &PStress)
 
virtual ~ElasticConstitutiveLaw (void)
 
ConstLawType::Type GetConstLawType (void) const
 
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< 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 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< doublereal >
 TplDriveOwner (const TplDriveCaller< doublereal > *pDC=0)
 
virtual ~TplDriveOwner (void)
 
void Set (const TplDriveCaller< doublereal > *pDC)
 
TplDriveCaller< doublereal > * pGetDriveCaller (void) const
 
doublereal Get (const doublereal &dVar) const
 
doublereal Get (void) const
 
virtual bool bIsDifferentiable (void) const
 
virtual doublereal GetP (void) const
 

Protected Attributes

doublereal m_dSign
 
doublereal m_dAlpha
 
doublereal m_dK
 
doublereal m_dExp
 
bool m_bActive
 
bool m_bToggling
 
doublereal m_InitialEpsPrime
 
- Protected Attributes inherited from ElasticConstitutiveLaw< doublereal, doublereal >
doublereal PreStress
 
- 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
 
- Protected Attributes inherited from TplDriveOwner< doublereal >
TplDriveCaller< doublereal > * pTplDriveCaller
 

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
 
- Protected Member Functions inherited from ElasticConstitutiveLaw< doublereal, doublereal >
virtual std::ostream & Restart_int (std::ostream &out) const
 

Detailed Description

Definition at line 43 of file module-hunt-crossley.cc.

Constructor & Destructor Documentation

HuntCrossleyCL::HuntCrossleyCL ( const TplDriveCaller< doublereal > *  pTplDC,
doublereal  dSign,
doublereal  dAlpha,
doublereal  dK,
doublereal  dExp 
)
inline

Definition at line 55 of file module-hunt-crossley.cc.

References NO_OP.

Referenced by pCopy().

virtual HuntCrossleyCL::~HuntCrossleyCL ( void  )
inlinevirtual

Definition at line 64 of file module-hunt-crossley.cc.

References NO_OP.

64  {
65  NO_OP;
66  };
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

virtual void HuntCrossleyCL::AfterConvergence ( const doublereal Eps,
const doublereal EpsPrime = 0. 
)
inlinevirtual

Reimplemented from ConstitutiveLaw< doublereal, doublereal >.

Definition at line 127 of file module-hunt-crossley.cc.

References m_bActive, m_bToggling, and m_InitialEpsPrime.

127  {
128  if (m_bToggling) {
129 #if 0
130  silent_cout(">> HuntCrossleyCL::AfterConvergence() "
131  "m_bToggling=" << (m_bToggling ? "true" : "false") << " "
132  "m_bActive=" << (m_bActive ? "true" : "false") << " "
133  "m_InitialEpsPrime=" << m_InitialEpsPrime << std::endl);
134 #endif
135  if (m_bActive) {
136  m_bActive = false;
137  m_InitialEpsPrime = 0.;
138 
139  } else {
140  m_bActive = true;
141  }
142  m_bToggling = false;
143 #if 0
144  silent_cout("<< HuntCrossleyCL::AfterConvergence() "
145  "m_bToggling=" << (m_bToggling ? "true" : "false") << " "
146  "m_bActive=" << (m_bActive ? "true" : "false") << " "
147  "m_InitialEpsPrime=" << m_InitialEpsPrime << std::endl);
148 #endif
149  }
150  };
doublereal m_InitialEpsPrime
virtual ConstLawType::Type HuntCrossleyCL::GetConstLawType ( void  ) const
inlinevirtual
virtual ConstitutiveLaw<doublereal, doublereal>* HuntCrossleyCL::pCopy ( void  ) const
inlinevirtual

Implements ConstitutiveLaw< doublereal, doublereal >.

Definition at line 72 of file module-hunt-crossley.cc.

References HuntCrossleyCL(), m_dAlpha, m_dExp, m_dK, m_dSign, TplDriveOwner< doublereal >::pGetDriveCaller(), and SAFENEWWITHCONSTRUCTOR.

72  {
74 
75  // pass parameters to copy constructor
79  return pCL;
80  };
HuntCrossleyCL(const TplDriveCaller< doublereal > *pTplDC, doublereal dSign, doublereal dAlpha, doublereal dK, doublereal dExp)
virtual ConstitutiveLaw< doublereal, doublereal > * pCopy(void) const
TplDriveCaller< doublereal > * pGetDriveCaller(void) const
Definition: tpldrive.h:105
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
Definition: mynewmem.h:698

Here is the call graph for this function:

virtual std::ostream& HuntCrossleyCL::Restart ( std::ostream &  out) const
inlinevirtual

Reimplemented from ConstitutiveLaw< doublereal, doublereal >.

Definition at line 82 of file module-hunt-crossley.cc.

References m_dAlpha, m_dExp, m_dK, m_dSign, and ElasticConstitutiveLaw< T, Tder >::Restart_int().

82  {
83  out << "hunt crossley"
84  << ", sign, " << m_dSign
85  << ", alpha, " << m_dAlpha
86  << ", kappa, " << m_dK
87  << ", exp, " << m_dExp
89  return out;
90  };
virtual std::ostream & Restart_int(std::ostream &out) const

Here is the call graph for this function:

virtual void HuntCrossleyCL::Update ( const doublereal Eps,
const doublereal EpsPrime 
)
inlinevirtual

Implements ConstitutiveLaw< doublereal, doublereal >.

Definition at line 92 of file module-hunt-crossley.cc.

References TplDriveOwner< T >::Get(), m_bActive, m_bToggling, m_dAlpha, m_dExp, m_dK, m_dSign, m_InitialEpsPrime, and grad::pow().

92  {
95 
97  if (x < 0.) {
98  if (m_bActive) {
99  if (!m_bToggling) {
100  m_bToggling = true;
101  }
102  }
103 
107 
108  } else {
110 
111  if (!m_bActive) {
112  if (!m_bToggling) {
113  m_bToggling = true;
114  m_InitialEpsPrime = xp;
115  }
116  }
117 
118  doublereal xn = std::pow(x, m_dExp);
119  doublereal xnm1 = std::pow(x, m_dExp - 1.);
120 
124  }
125  };
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
Definition: gradient.h:2961
doublereal m_InitialEpsPrime
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

bool HuntCrossleyCL::m_bActive
protected

Definition at line 50 of file module-hunt-crossley.cc.

Referenced by AfterConvergence(), and Update().

bool HuntCrossleyCL::m_bToggling
protected

Definition at line 51 of file module-hunt-crossley.cc.

Referenced by AfterConvergence(), and Update().

doublereal HuntCrossleyCL::m_dAlpha
protected

Definition at line 47 of file module-hunt-crossley.cc.

Referenced by pCopy(), Restart(), and Update().

doublereal HuntCrossleyCL::m_dExp
protected

Definition at line 49 of file module-hunt-crossley.cc.

Referenced by pCopy(), Restart(), and Update().

doublereal HuntCrossleyCL::m_dK
protected

Definition at line 48 of file module-hunt-crossley.cc.

Referenced by pCopy(), Restart(), and Update().

doublereal HuntCrossleyCL::m_dSign
protected

Definition at line 46 of file module-hunt-crossley.cc.

Referenced by pCopy(), Restart(), and Update().

doublereal HuntCrossleyCL::m_InitialEpsPrime
protected

Definition at line 52 of file module-hunt-crossley.cc.

Referenced by AfterConvergence(), and Update().


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