20#ifndef _REGULARIZED_FRICTION_H_
21#define _REGULARIZED_FRICTION_H_
23#include <mbsim/constitutive_laws/friction_force_law.h>
33 RegularizedFriction(
Function<fmatvec::Vec(fmatvec::Vec,
double)> *frictionForceFunc_=
nullptr) : frictionForceFunc(frictionForceFunc_) {
35 frictionForceFunc->setParent(
this);
39 bool isSetValued()
const override {
return false; }
40 void initializeUsingXML(xercesc::DOMElement *element)
override;
42 fmatvec::Vec operator()(
const fmatvec::Vec &gd,
double laN)
override {
return (*frictionForceFunc)(gd,laN); }
43 fmatvec::Vec dlaTdlaN(
const fmatvec::Vec& gd)
override {
return frictionForceFunc->parDer2(gd,1); }
51 frictionForceFunc=frictionForceFunc_;
52 frictionForceFunc->setParent(
this);
56 Function<fmatvec::Vec(fmatvec::Vec,
double)> *frictionForceFunc{
nullptr};
InitStage
The stages of the initialization.
Definition: element.h:62
basic friction force law on acceleration level for constraint description
Definition: friction_force_law.h:34
Definition: function.h:53
basic regularized friction force law on acceleration level for constraint description
Definition: regularized_friction.h:31
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: regularized_friction.h:50
void init(Element::InitStage stage, const InitConfigSet &config) override
plots time series header
Definition: regularized_friction.cc:31
namespace MBSim
Definition: bilateral_constraint.cc:30