69 virtual std::ostream&
Restart(std::ostream& out)
const {
96 silent_cerr(
"HydraulicDamperCL:\n"
97 " hydraulic damper , <sigma> , <dotz_L> , <d>\n"
98 "# according to the formula\n"
99 "# f = sigma*|dotz|*dotz for |dotz| <= dotz_L\n"
100 "# f = sign(dotz)*(d*(|dotz| - dotz_L) + sigma*dotz_L^2) for |dotz| > dotz_L\n"
112 silent_cerr(
"warning, null or negative parabolic slope "
118 silent_cerr(
"warning, null or negative limit velocity "
124 silent_cerr(
"warning, negative slope "
145 if (!
SetCL1D(
"hydraulic" "damper", rf1D)) {
148 silent_cerr(
"HydraulicDamperCL1D: "
149 "module_init(" << module_name <<
") "
150 "failed" << std::endl);
#define MBDYN_EXCEPT_ARGS
ConstLawType::Type GetConstLawType(void) const
virtual ConstitutiveLaw< doublereal, doublereal > * Read(const DataManager *pDM, MBDynParser &HP, ConstLawType::Type &CLType)
virtual void Update(const doublereal &, const doublereal &dotz)
int module_init(const char *module_name, void *pdm, void *php)
This function registers our user defined element for the math parser.
virtual bool IsKeyWord(const char *sKeyWord)
doublereal copysign(doublereal x, doublereal y)
virtual ~HydraulicDamperCL(void)
bool SetCL1D(const char *name, ConstitutiveLawRead< doublereal, doublereal > *rf)
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
virtual ConstitutiveLaw< doublereal, doublereal > * pCopy(void) const
HydraulicDamperCL(doublereal sigma, doublereal dotz_L, doublereal d)
virtual HighParser::ErrOut GetLineData(void) const
static std::stack< const HighParser * > pHP
virtual std::ostream & Restart(std::ostream &out) const
virtual doublereal GetReal(const doublereal &dDefval=0.0)