20 #ifndef _FRICTION_FORCE_LAW_H_
21 #define _FRICTION_FORCE_LAW_H_
23 #include "mbsim/functions/function.h"
39 frictionForceFunc->setParent(
this);
45 virtual ~FrictionForceLaw() {
if(frictionForceFunc)
delete frictionForceFunc; frictionForceFunc = NULL; };
50 frictionForceFunc->
init(stage);
57 virtual bool isFulfilled(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
double laN,
double tolla,
double tolgd) {
return true; }
59 THROW_MBSIMERROR(
"(FrictionForceLaw::dlaTdlaN): Not implemented.");
62 virtual int getFrictionDirections() = 0;
63 virtual bool isSticking(
const fmatvec::Vec& s,
double sTol) = 0;
64 virtual double getFrictionCoefficient(
double gd) {
return 0; }
65 virtual bool isSetValued()
const = 0;
66 virtual void initializeUsingXML(xercesc::DOMElement *element) {}
71 virtual std::string
getType()
const {
return "FrictionForceLaw"; }
74 fmatvec::Vec operator()(
const fmatvec::Vec &gd,
double laN) { assert(frictionForceFunc);
return (*frictionForceFunc)(gd,laN); }
82 frictionForceFunc=frictionForceFunc_;
83 frictionForceFunc->setParent(
this);
void setFrictionForceFunction(Function< fmatvec::Vec(fmatvec::Vec, double)> *frictionForceFunc_)
Set the friction force function for use in regularisized constitutive friction laws The first input p...
Definition: friction_force_law.h:81
virtual ~FrictionForceLaw()
destructor
Definition: friction_force_law.h:45
Vector< Ref, double > Vec
virtual std::string getType() const
Definition: friction_force_law.h:71
FrictionForceLaw(Function< fmatvec::Vec(fmatvec::Vec, double)> *frictionForceFunc_=NULL)
constructor
Definition: friction_force_law.h:37
basic class of MBSim mainly for plotting
Definition: element.h:58
Matrix< General, Ref, Ref, double > Mat
InitStage
The stages of the initialization.
Definition: element.h:97
basic friction force law on acceleration level for constraint description
Definition: friction_force_law.h:32
Definition: planar_contour.h:31
virtual void init(InitStage stage)
plots time series header
Definition: element.cc:70
void init(Element::InitStage stage)
plots time series header
Definition: friction_force_law.h:47