20#ifndef _PLANAR_STRIBECK_IMPACT_H_
21#define _PLANAR_STRIBECK_IMPACT_H_
23#include <mbsim/constitutive_laws/friction_impact_law.h>
39 if(
fmu)
fmu->setParent(
this);
53 fmatvec::Vec project(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN,
double r)
override;
54 fmatvec::Mat diff(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN,
double r)
override;
55 fmatvec::Vec solve(
const fmatvec::SqrMat& G,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN)
override;
56 bool isFulfilled(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN,
double laTol,
double gdTol)
override;
57 int isSticking(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN,
double laTol,
double gdTol)
override;
58 int getFrictionDirections()
override {
return 1; }
59 void initializeUsingXML(xercesc::DOMElement *element)
override;
62 double getFrictionCoefficient(
double gd) {
return (*
fmu)(gd); }
64 void setFrictionFunction(Function<
double(
double)> *fmu_) {
66 if(
fmu)
fmu->setParent(
this);
virtual void init(InitStage stage, const InitConfigSet &config=InitConfigSet())
plots time series header
Definition: element.cc:85
InitStage
The stages of the initialization.
Definition: element.h:62
basic friction force law on velocity level for constraint description
Definition: friction_impact_law.h:32
Definition: function.h:53
planar Stribeck friction force law on velocity level for constraint description
Definition: planar_stribeck_impact.h:33
Function< double(double)> * fmu
Definition: planar_stribeck_impact.h:73
void init(Element::InitStage stage, const InitConfigSet &config) override
plots time series header
Definition: planar_stribeck_impact.h:47
~PlanarStribeckImpact() override
destructor
Definition: planar_stribeck_impact.h:45
PlanarStribeckImpact(Function< double(double)> *fmu_=nullptr)
constructor
Definition: planar_stribeck_impact.h:38
namespace MBSim
Definition: bilateral_constraint.cc:30