20#ifndef _SPATIAL_STRIBECK_FRICTION_H_
21#define _SPATIAL_STRIBECK_FRICTION_H_
23#include <mbsim/constitutive_laws/friction_force_law.h>
39 if(
fmu)
fmu->setParent(
this);
53 fmatvec::Vec project(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
double laN,
double r)
override;
54 fmatvec::Mat diff(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
double laN,
double r)
override;
55 fmatvec::Vec solve(
const fmatvec::SqrMat& G,
const fmatvec::Vec& gdn,
double laN)
override;
56 bool isFulfilled(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
double laN,
double laTol,
double gdTol)
override;
57 fmatvec::Vec dlaTdlaN(
const fmatvec::Vec& gd)
override;
58 int getFrictionDirections()
override {
return 2; }
59 bool isSticking(
const fmatvec::Vec& s,
double sTol)
override {
return nrm2(s) <= sTol; }
60 bool isSetValued()
const override {
return true; }
61 void initializeUsingXML(xercesc::DOMElement *element)
override;
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 acceleration level for constraint description
Definition: friction_force_law.h:34
Definition: function.h:53
spatial Stribeck friction force law on acceleration level for constraint description
Definition: spatial_stribeck_friction.h:33
SpatialStribeckFriction(Function< double(double)> *fmu_=nullptr)
constructor
Definition: spatial_stribeck_friction.h:38
void init(Element::InitStage stage, const InitConfigSet &config) override
plots time series header
Definition: spatial_stribeck_friction.h:47
Function< double(double)> * fmu
Definition: spatial_stribeck_friction.h:73
~SpatialStribeckFriction() override
destructor
Definition: spatial_stribeck_friction.h:45
namespace MBSim
Definition: bilateral_constraint.cc:30