109 virtual std::ostream&
Restart(std::ostream& out)
const {
110 out <<
"continuous contact"
112 <<
", formulation, ";
120 out <<
"hunt crossley";
124 out <<
"lankarani nikravesh";
129 <<
", restitution, " <<
m_dRest
130 <<
", kappa, " <<
m_dK
207 silent_cout(
" " << eps2show <<
" " << F2show << std::endl);
214 silent_cout(
">> ContContactCL::AfterConvergence() "
215 "m_bToggling=" << (
m_bToggling ?
"true" :
"false") <<
" "
216 "m_bActive=" << (
m_bActive ?
"true" :
"false") <<
" "
229 silent_cout(
"<< ContContactCL::AfterConvergence() "
230 "m_bToggling=" << (
m_bToggling ?
"true" :
"false") <<
" "
231 "m_bActive=" << (
m_bActive ?
"true" :
"false") <<
" "
247 silent_cerr(
"ContContactCLR:\n"
248 " continuous contact ,\n"
249 " [ , sign , { negative | positive | <sign> } , ]\n"
250 " [ , formulation, { flores | lankarani nikravesh | hunt crossley } , ]\n"
251 " restitution , <restitution_coefficient> , (0 -> 1)\n"
252 " kappa , <stiffness> , (> 0)\n"
253 " exp , <exponent> , (>= 1)\n"
254 " [ , EpsPrimeTol , <EpsPrimeTol> ]\n"
255 " [ , prestrain , (DriveCaller) <prestrain> ]\n"
272 silent_cerr(
"ContContactCLR: invalid sign " << d
285 }
else if (HP.
IsKeyWord(
"hunt" "crossley")) {
288 }
else if (HP.
IsKeyWord(
"lankarani" "nikravesh")) {
292 silent_cerr(
"ContContactCLR: invalid formulation"
299 silent_cerr(
"ContContactCLR: \"restitution\" expected at line "
305 silent_cerr(
"ContContactCLR: invalid \"restitution\" at line "
310 silent_cerr(
"ContContactCLR: null \"restitution\" incompatible with \"Flores\" at line "
316 silent_cerr(
"ContContactCLR: \"kappa\" expected at line " << HP.
GetLineData() << std::endl);
321 silent_cerr(
"ContContactCLR: invalid \"kappa\" at line " << HP.
GetLineData() << std::endl);
326 silent_cerr(
"ContContactCLR: \"exp\" expected at line " << HP.
GetLineData() << std::endl);
331 silent_cerr(
"ContContactCLR: invalid \"exp\" at line " << HP.
GetLineData() << std::endl);
337 dInitialEpsPrimeTol = HP.
GetReal();
338 if (dInitialEpsPrimeTol < 0.) {
339 silent_cerr(
"ContContactCLR: invalid \"EpsPrimeTol\" at line " << HP.
GetLineData() << std::endl);
348 ContContactCL(pTplDC, dSign, type, dRest, dK, dExp, dInitialEpsPrimeTol));
418 virtual std::ostream&
Restart(std::ostream& out)
const {
419 out <<
"continuous contact"
421 <<
", formulation, ";
429 out <<
"hunt crossley";
433 out <<
"lankarani nikravesh";
438 <<
", restitution, " <<
m_dRest
439 <<
", kappa, " <<
m_dK
515 silent_cout(
" " << eps2show <<
" " << F2show << std::endl);
522 silent_cout(
">> ContContact3DCL::AfterConvergence() "
523 "m_bToggling=" << (
m_bToggling ?
"true" :
"false") <<
" "
524 "m_bActive=" << (
m_bActive ?
"true" :
"false") <<
" "
538 silent_cout(
"<< ContContact3DCL::AfterConvergence() "
539 "m_bToggling=" << (
m_bToggling ?
"true" :
"false") <<
" "
540 "m_bActive=" << (
m_bActive ?
"true" :
"false") <<
" "
556 silent_cerr(
"ContContact3DCL:\n"
557 " continuous contact ,\n"
558 " [ , sign , { negative | positive | <sign> } , ]\n"
559 " [ , formulation , { flores | lankarani nikravesh | hunt crossley } , ]\n"
560 " restitution , <restitution_coefficient>, (0 -> 1)\n"
561 " kappa , <stiffness> , (> 0)\n"
562 " exp , <exponent> , (>= 1)\n"
563 " [ , EpsPrimeTol , <EpsPrimeTol> ]\n"
564 " [ , prestrain , (DriveCaller) <prestrain> ]\n"
581 silent_cerr(
"ContContact3DCLR: invalid sign " << d
594 }
else if (HP.
IsKeyWord(
"hunt" "crossley")) {
597 }
else if (HP.
IsKeyWord(
"lankarani" "nikravesh")) {
601 silent_cerr(
"ContContact3DCLR: invalid formulation"
608 silent_cerr(
"ContContact3DCLR: \"restitution\" expected at line "
614 silent_cerr(
"ContContact3DCLR: invalid \"restitution\" at line "
619 silent_cerr(
"ContContact3DCLR: null \"restitution\" incompatible with \"Flores\" at line "
625 silent_cerr(
"ContContact3DCLR: \"kappa\" expected at line " << HP.
GetLineData() << std::endl);
630 silent_cerr(
"ContContact3DCLR: invalid \"kappa\" at line " << HP.
GetLineData() << std::endl);
635 silent_cerr(
"ContContact3DCLR: \"exp\" expected at line " << HP.
GetLineData() << std::endl);
640 silent_cerr(
"ContContact3DCLR: invalid \"exp\" at line " << HP.
GetLineData() << std::endl);
646 dInitialEpsPrimeTol = HP.
GetReal();
647 if (dInitialEpsPrimeTol < 0.) {
648 silent_cerr(
"ContContact3DCLR: invalid \"EpsPrimeTol\" at line " << HP.
GetLineData() << std::endl);
657 ContContact3DCL(pTplDC, dSign, type, dRest, dK, dExp, dInitialEpsPrimeTol));
677 if (!
SetCL1D(
"continuous" "contact", rf1D)) {
680 silent_cerr(
"ContContactCL: "
681 "module_init(" << module_name <<
") "
682 "failed" << std::endl);
688 if (!
SetCL3D(
"continuous" "contact", rf3D)) {
691 silent_cerr(
"ContContact3DCL: "
692 "module_init(" << module_name <<
") "
693 "failed" << std::endl);
const Vec3 Zero3(0., 0., 0.)
GradientExpression< BinaryExpr< FuncPow, LhsExpr, RhsExpr > > pow(const GradientExpression< LhsExpr > &u, const GradientExpression< RhsExpr > &v)
#define MBDYN_EXCEPT_ARGS
virtual std::ostream & Restart_int(std::ostream &out) const
const Mat3x3 Zero3x3(0., 0., 0., 0., 0., 0., 0., 0., 0.)
TplDriveCaller< doublereal > * pGetDriveCaller(void) const
virtual bool IsKeyWord(const char *sKeyWord)
doublereal copysign(doublereal x, doublereal y)
bool SetCL3D(const char *name, ConstitutiveLawRead< Vec3, Mat3x3 > *rf)
bool SetCL1D(const char *name, ConstitutiveLawRead< doublereal, doublereal > *rf)
#define SAFENEWWITHCONSTRUCTOR(pnt, item, constructor)
virtual HighParser::ErrOut GetLineData(void) const
static std::stack< const HighParser * > pHP
virtual doublereal GetReal(const doublereal &dDefval=0.0)