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

#include <shockabsorber.h>

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

Public Member Functions

 ShockAbsorberConstitutiveLaw (const DataManager *pDM, TplDriveCaller< doublereal > *pDC, MBDynParser &HP)
 
virtual ~ShockAbsorberConstitutiveLaw (void)
 
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.)
 
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 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 void AfterConvergence (const doublereal &Eps, const doublereal &EpsPrime=mb_zero< doublereal >())
 
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 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
 

Private Member Functions

 ShockAbsorberConstitutiveLaw (const ShockAbsorberConstitutiveLaw *p)
 

Private Attributes

doublereal P0
 
doublereal A0
 
doublereal Cint
 
doublereal Gamma
 
doublereal EpsMax
 
doublereal EpsMin
 
doublereal Penalty
 
doublereal PenaltyPrime
 
bool bPenalty
 
DriveCallerpAreaPinPlus
 
DriveCallerpAreaPinMinus
 
DriveCallerpAreaOrifices
 
doublereal AreaFluid
 
doublereal RhoFluid
 
doublereal Cd
 
doublereal EpsPrimeRef
 
doublereal FrictionAmpl
 
doublereal dPressure
 
doublereal dArea
 
doublereal dFelastic
 
doublereal dFviscous
 

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
 
- 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
 

Detailed Description

template<>
class ShockAbsorberConstitutiveLaw< doublereal, doublereal >

Definition at line 92 of file shockabsorber.h.

Constructor & Destructor Documentation

Definition at line 171 of file shockabsorber.h.

References ShockAbsorberConstitutiveLaw< T, Tder >::pCopy().

174  p->pGetDriveCaller()->pCopy(),
175  0.
176  ) {
177  P0 = p->P0;
178  A0 = p->A0;
179  Cint = p->Cint;
180  Gamma = p->Gamma;
181 
182  EpsMax = p->EpsMax;
183  EpsMin = p->EpsMin;
184  Penalty = p->Penalty;
185  PenaltyPrime = p->PenaltyPrime;
186 #if 0
187  FMax = p->FMax;
188  FMin = p->FMin;
189 #endif
190 
191  pAreaPinPlus = p->pAreaPinPlus->pCopy();
192  pAreaPinMinus = p->pAreaPinMinus->pCopy();
193  pAreaOrifices = p->pAreaOrifices->pCopy();
194 
195  AreaFluid = p->AreaFluid;
196  RhoFluid = p->RhoFluid;
197  Cd = p->Cd;
198 
199  EpsPrimeRef = p->EpsPrimeRef;
200  FrictionAmpl = p->FrictionAmpl;
201  };
virtual ConstitutiveLaw< T, Tder > * pCopy(void) const
Definition: shockabsorber.h:73
TplDriveCaller< T > * pGetDriveCaller(void) const
Definition: tpldrive.h:105

Here is the call graph for this function:

Definition at line 204 of file shockabsorber.h.

References defaultEpsMax, defaultEpsMin, defaultPenalty, defaultPenaltyPrime, ConstitutiveLaw< T, Tder >::F, MBDynParser::GetDriveCaller(), IncludeParser::GetLineData(), HighParser::GetReal(), HighParser::IsArg(), HighParser::IsKeyWord(), MBDYN_EXCEPT_ARGS, DriveCaller::pCopy(), and ShockAbsorberConstitutiveLaw< T, Tder >::Update().

211  bPenalty(false),
212  pAreaPinPlus(NULL), pAreaPinMinus(NULL), pAreaOrifices(NULL),
213  EpsPrimeRef(1.), FrictionAmpl(0.), dPressure(0.) {
214  if (HP.IsKeyWord("help")) {
215 
216  silent_cout(
217 "\n"
218 "this help refers to the specific \"shock absorber\" constitutive\n"
219 "law input data. The prestrain value, if required, must be inserted\n"
220 "at the beginning of the data. The syntax is:\n"
221 "\n"
222 "\t[ prestrain , <value> , ]\n"
223 "\t<reference pressure> ,\n"
224 "\t<reference area for force computation> ,\n"
225 "\t<interaction coefficient (kinematic scale * ( L * A / V0 ) )> ,\n"
226 "\t<gamma (polytropic exponent)> ,\n"
227 "\t[ epsilon max , <upper strain bound, > prestrain; defaults to " << defaultEpsMax << ")> , ]\n"
228 "\t[ epsilon min , <lower strain bound, < prestrain; defaults to " << defaultEpsMin << ")> , ]\n"
229 "\t[ penalty , <penalty factor for strain bound enforcement, defaults to " << defaultPenalty << "> ,\n"
230 "\t\t<penalty factor for strain rate, active only when strain bounds are violated; defaults to " << defaultPenaltyPrime << "> ]\n"
231 "\t[ metering , <metering area (drive, strain dependent)> ,\n"
232 "\t\t[ negative , <metering area for negative strain rate (drive, strain dependent); same as above if not given> , ] ]\n"
233 "\t[ orifice , <orifice area (drive, strain rate dependent)> , ]\n"
234 "\t<fluid area> ,\n"
235 "\t<fluid density> ,\n"
236 "\t<drag coefficient / reference length (scales strain rate to velocity)>\n"
237 "\t[ , friction, <reference epsilon prime> ,\n"
238 "\t\t <friction amplitude coefficient> ] ;\n"
239 "\n"
240 "Note: at least one of \"metering\" and \"orifice\" must be defined.\n"
241 "Note: if 'friction' is enabled, the elastic force is multiplied\n"
242 " by the factor\n"
243 "\n"
244 "\t\t1. - <friction amplitude coefficient> * tanh( <epsilon prime> / <reference epsilon prime> )\n"
245 "\n"
246 "\toutput appended to output from element;\n"
247 "\t\trod joint:\n"
248 "\t\t\tcolumn 19: gas pressure\n"
249 "\t\t\tcolumn 20: metering area\n"
250 "\t\t\tcolumn 21: elastic force\n"
251 "\t\t\tcolumn 22: viscous force\n"
252 "\n"
253 "\toutput available as element private data; syntax:\n"
254 "\n"
255 "\t\t# in nodes data block\n"
256 "\t\tparameter: <parameter node label> , element ;\n"
257 "\t\t# in elements data block\n"
258 "\t\tbind: <rod label> , joint , <parameter node label> ,\n"
259 "\t\t\tstring , \"constitutiveLaw.<X>\" ;\n"
260 "\n"
261 "\twhere \"<X>\" can be:\n"
262 "\t\t\"p\": gas pressure\n"
263 "\t\t\"A\": metering area\n"
264 "\t\t\"Fe\": elastic force\n"
265 "\t\t\"Fv\": viscous force\n"
266 "\n"
267  << std::endl);
268 
269  if (!HP.IsArg()) {
270  /*
271  * Exit quietly if nothing else is provided
272  */
273  throw NoErr(MBDYN_EXCEPT_ARGS);
274  }
275 
276  }
277 
278  dPressure = P0 = HP.GetReal();
279  A0 = HP.GetReal();
280  Cint = HP.GetReal();
281  Gamma = HP.GetReal();
282 
283  if (HP.IsKeyWord("epsilon" "max")) {
285  }
286 
287  if (HP.IsKeyWord("epsilon" "min")) {
289  if (EpsMin >= EpsMax) {
290  silent_cerr("line " << HP.GetLineData()
291  << ": epsilon min must be less"
292  " than epsilon max" << std::endl);
294  }
295  }
296 
297  if (HP.IsKeyWord("penalty")) {
300  }
301 
302  if (HP.IsKeyWord("metering")) {
304  if (HP.IsKeyWord("negative")) {
306  } else {
308  }
309  }
310 
311  if (HP.IsKeyWord("orifice")) {
313  }
314 
315  if (pAreaPinPlus == NULL && pAreaOrifices == NULL) {
316  silent_cerr("line " << HP.GetLineData()
317  << ": at least one area (metering or orifice)"
318  " must be defined" << std::endl);
320  }
321 
322  AreaFluid = HP.GetReal();
323  RhoFluid = HP.GetReal();
324  Cd = HP.GetReal();
325 
326  if (HP.IsKeyWord("friction")) {
327  EpsPrimeRef = HP.GetReal();
328  if (EpsPrimeRef <= 0.) {
329  silent_cerr("Illegal Reference "
330  "Epsilon Prime " << EpsPrimeRef
331  << " at line " << HP.GetLineData()
332  << std::endl);
334  }
335 
336  FrictionAmpl = HP.GetReal();
337  if (FrictionAmpl < 0. || FrictionAmpl > 1.) {
338  silent_cerr("Illegal Friction "
339  "Amplitude Coefficient " << FrictionAmpl
340  << " at line " << HP.GetLineData()
341  << std::endl);
343  }
344  }
345 
346 #if 0
347  Update(EpsMax, 0.);
348  FMin = F;
349  Update(EpsMin, 0.);
350  FMax = F;
351 #endif
352  };
const doublereal defaultPenalty
Definition: shockabsorber.h:48
const doublereal defaultPenaltyPrime
Definition: shockabsorber.h:49
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
const doublereal defaultEpsMin
Definition: shockabsorber.h:46
virtual void Update(const doublereal &Eps, const doublereal &EpsPrime=0.)
virtual bool IsKeyWord(const char *sKeyWord)
Definition: parser.cc:910
const doublereal defaultEpsMax
Definition: shockabsorber.h:47
Definition: except.h:79
virtual DriveCaller * pCopy(void) const =0
virtual bool IsArg(void)
Definition: parser.cc:807
DriveCaller * GetDriveCaller(bool bDeferred=false)
Definition: mbpar.cc:2033
virtual HighParser::ErrOut GetLineData(void) const
Definition: parsinc.cc:697
virtual doublereal GetReal(const doublereal &dDefval=0.0)
Definition: parser.cc:1056

Here is the call graph for this function:

Definition at line 355 of file shockabsorber.h.

References NO_OP.

355  {
356  NO_OP;
357  };
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

virtual doublereal ShockAbsorberConstitutiveLaw< doublereal, doublereal >::dGetPrivData ( unsigned int  i) const
inlinevirtual

Reimplemented from SimulationEntity.

Definition at line 587 of file shockabsorber.h.

References ASSERT, SimulationEntity::iGetNumPrivData(), and MBDYN_EXCEPT_ARGS.

587  {
588  ASSERT(i > 0 && i <= iGetNumPrivData());
589 
590  switch (i) {
591  case 1:
592  return dPressure;
593 
594  case 2:
595  return dArea;
596 
597  case 3:
598  return dFelastic;
599 
600  case 4:
601  return dFviscous;
602 
603  /* aggiungere ulteriori case */
604  }
605 
607  };
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
#define ASSERT(expression)
Definition: colamd.c:977
virtual unsigned int iGetNumPrivData(void) const

Here is the call graph for this function:

virtual unsigned int ShockAbsorberConstitutiveLaw< doublereal, doublereal >::iGetNumPrivData ( void  ) const
inlinevirtual

Reimplemented from SimulationEntity.

Definition at line 543 of file shockabsorber.h.

543  {
544  /*
545  * deve essere pari al totale di dati che
546  * si intende esportare
547  */
548  return 4;
549  };
virtual unsigned int ShockAbsorberConstitutiveLaw< doublereal, doublereal >::iGetPrivDataIdx ( const char *  s) const
inlinevirtual

Reimplemented from SimulationEntity.

Definition at line 556 of file shockabsorber.h.

References ASSERT.

556  {
557  ASSERT(s != NULL);
558 
559  if (strcmp(s, "p") == 0) {
560  return 1;
561  }
562 
563  if (strcmp(s, "A") == 0) {
564  return 2;
565  }
566 
567  if (strcmp(s, "Fe") == 0) {
568  return 3;
569  }
570 
571  if (strcmp(s, "Fv") == 0) {
572  return 4;
573  }
574 
575  /*
576  * aggiungere i nomi dei dati che si intende esportare
577  */
578 
579  /* error; handle later */
580  return 0;
581  };
#define ASSERT(expression)
Definition: colamd.c:977
virtual std::ostream& ShockAbsorberConstitutiveLaw< doublereal, doublereal >::OutputAppend ( std::ostream &  out) const
inlinevirtual
virtual ConstitutiveLaw<doublereal, doublereal>* ShockAbsorberConstitutiveLaw< doublereal, doublereal >::pCopy ( void  ) const
inlinevirtual

Implements ConstitutiveLaw< doublereal, doublereal >.

Definition at line 360 of file shockabsorber.h.

References SAFENEWWITHCONSTRUCTOR.

360  {
362 
363  L* p = NULL;
364  SAFENEWWITHCONSTRUCTOR(p, L, L(this));
365  return p;
366  };
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
Definition: mynewmem.h:698
virtual std::ostream& ShockAbsorberConstitutiveLaw< doublereal, doublereal >::Restart ( std::ostream &  out) const
inlinevirtual

Reimplemented from ConstitutiveLaw< doublereal, doublereal >.

Definition at line 369 of file shockabsorber.h.

References ConstitutiveLaw< T, Tder >::Epsilon, TplDriveOwner< T >::pGetDriveCaller(), and Write().

369  {
370 
371  /*
372  * FIXME: devo trovare il modo di ripristinare
373  * le deformazioni iniziali senza grossi danni :)
374  */
375  if (pGetDriveCaller()) {
376  out
377  << ", prestrain, single, ",
378  Write(out, -Epsilon, ", ") << ", one /* ",
379  pGetDriveCaller()->Restart(out) << " */ , ";
380  }
381 
382  /*
383  * dati sempre presenti
384  */
385  out
386  << P0 << ", "
387  << A0 << ", "
388  << Cint << ", "
389  << Gamma << ", "
390  << "epsilon max, " << EpsMax << ", "
391  << "epsilon min, " << EpsMin << ", "
392  << "penalty, " << Penalty << ", " << PenaltyPrime;
393 
394  /*
395  * drive delle aree (solo quelli definiti)
396  */
397  if (pAreaPinPlus) {
398  out
399  << ", metering, ",
400  pAreaPinPlus->Restart(out)
401  << ", negative, ",
402  pAreaPinMinus->Restart(out);
403  }
404 
405  if (pAreaOrifices) {
406  out
407  << ", orifice, ",
408  pAreaOrifices->Restart(out);
409  }
410 
411  /*
412  * dati parte viscosa
413  */
414  out
415  << ", "
416  << AreaFluid << ", "
417  << RhoFluid << ", "
418  << Cd;
419 
420  return out;
421  };
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
TplDriveCaller< doublereal > * pGetDriveCaller(void) const
Definition: tpldrive.h:105
virtual std::ostream & Restart(std::ostream &out) const =0

Here is the call graph for this function:

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

Implements ConstitutiveLaw< doublereal, doublereal >.

Definition at line 424 of file shockabsorber.h.

References copysign(), ConstitutiveLaw< T, Tder >::Epsilon, ConstitutiveLaw< T, Tder >::EpsilonPrime, ConstitutiveLaw< T, Tder >::F, grad::fabs(), ConstitutiveLaw< T, Tder >::FDE, ConstitutiveLaw< T, Tder >::FDEPrime, TplDriveOwner< T >::Get(), MBDYN_EXCEPT_ARGS, grad::pow(), and grad::tanh().

424  {
425  Epsilon = Eps;
426  EpsilonPrime = EpsPrime;
427 
428  FDEPrime = 0.;
429 
430  /*
431  * Parte elastica
432  */
433 
434  doublereal CurrEpsilon = Epsilon-Get();
435  doublereal VRatio = 1./(1.+Cint*CurrEpsilon);
436  doublereal Adiab = pow(VRatio, Gamma);
437 
438  dPressure = P0*Adiab;
439 
440  /* FIXME */
441  F = -A0*dPressure;
442 
443  dFelastic = F;
444 
445  if (FrictionAmpl != 0.) {
446  F *= (1.-FrictionAmpl*tanh(EpsPrime/EpsPrimeRef));
447  }
448 
449  FDE = Gamma*Cint*VRatio*F;
450 
451  bool ChangeJac(false);
452 
453  if (CurrEpsilon > EpsMax) {
454  FDE += Penalty;
455 #if 0
456  doublereal dFP = Penalty*(CurrEpsilon-EpsMax)
457  + PenaltyPrime*EpsPrime;
459 #endif
460  doublereal dFP = Penalty*(CurrEpsilon-EpsMax);
461  if (EpsPrime > 0.) {
462  FDEPrime = PenaltyPrime;
463  dFP += PenaltyPrime*EpsPrime;
464  }
465 
466  dFelastic += dFP;
467  F += dFP;
468 
469  if (!bPenalty) {
470  bPenalty = true;
471  ChangeJac = true;
472  }
473 
474  } else if (CurrEpsilon < EpsMin) {
475  FDE += Penalty;
476 #if 0
477  doublereal dFP = Penalty*(CurrEpsilon-EpsMin)
478  + PenaltyPrime*EpsPrime;
479  FDEPrime = PenaltyPrime;
480 #endif
481  doublereal dFP = Penalty*(CurrEpsilon-EpsMin);
482  if (EpsPrime < 0.) {
483  FDEPrime = PenaltyPrime;
484  dFP += PenaltyPrime*EpsPrime;
485  }
486 
487  dFelastic += dFP;
488  F += dFP;
489 
490  if (!bPenalty) {
491  bPenalty = true;
492  ChangeJac = true;
493  }
494 
495  } else if (bPenalty) {
496  bPenalty = false;
497  ChangeJac = true;
498  }
499 
500 
501  /*
502  * Parte viscosa
503  *
504  * FIXME: manca L0 per scalare correttamente la velocita'
505  * (basta metterla in Cd!!!)
506  */
507  dArea = 0.;
508  if (pAreaPinPlus != NULL) {
509  if (copysign(1., EpsPrime) == 1.) {
510  dArea += pAreaPinPlus->dGet(CurrEpsilon);
511  } else {
512  dArea += pAreaPinMinus->dGet(CurrEpsilon);
513  }
514  }
515 
516  if (pAreaOrifices != NULL) {
517  dArea += pAreaOrifices->dGet(EpsPrime);
518  }
519 
520  if (dArea <= 0.) {
521  silent_cerr("ShockAbsorberConstitutiveLaw::Update:"
522  " null or negative area" << std::endl);
524  }
525 
527 
528  dFviscous = d*EpsPrime*fabs(EpsPrime);
529 
530  F += dFviscous;
531  FDEPrime += d*fabs(EpsPrime);
532 
533  if (ChangeJac) {
535  }
536  };
GradientExpression< UnaryExpr< FuncTanh, Expr > > tanh(const GradientExpression< Expr > &u)
Definition: gradient.h:2982
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
Definition: gradient.h:2961
#define MBDYN_EXCEPT_ARGS
Definition: except.h:63
GradientExpression< UnaryExpr< FuncFabs, Expr > > fabs(const GradientExpression< Expr > &u)
Definition: gradient.h:2973
doublereal copysign(doublereal x, doublereal y)
Definition: gradient.h:97
virtual doublereal dGet(const doublereal &dVar) const =0
double doublereal
Definition: colamd.c:52
doublereal Get(void) const
Definition: tpldrive.h:113

Here is the call graph for this function:

Member Data Documentation

Definition at line 133 of file shockabsorber.h.

Definition at line 153 of file shockabsorber.h.

Definition at line 144 of file shockabsorber.h.

Definition at line 155 of file shockabsorber.h.

Definition at line 134 of file shockabsorber.h.

Definition at line 164 of file shockabsorber.h.

Definition at line 165 of file shockabsorber.h.

Definition at line 166 of file shockabsorber.h.

Definition at line 163 of file shockabsorber.h.

Definition at line 140 of file shockabsorber.h.

Definition at line 141 of file shockabsorber.h.

Definition at line 157 of file shockabsorber.h.

Definition at line 158 of file shockabsorber.h.

Definition at line 135 of file shockabsorber.h.

Definition at line 132 of file shockabsorber.h.

Definition at line 151 of file shockabsorber.h.

Definition at line 150 of file shockabsorber.h.

Definition at line 149 of file shockabsorber.h.

Definition at line 142 of file shockabsorber.h.

Definition at line 143 of file shockabsorber.h.

Definition at line 154 of file shockabsorber.h.


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