20#ifndef _PLANAR_COULOMB_FRICTION_H_
21#define _PLANAR_COULOMB_FRICTION_H_
23#include <mbsim/constitutive_laws/friction_force_law.h>
45 fmatvec::Vec project(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
double laN,
double r)
override;
46 fmatvec::Mat diff(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
double laN,
double r)
override;
47 fmatvec::Vec solve(
const fmatvec::SqrMat& G,
const fmatvec::Vec& gdn,
double laN)
override;
48 bool isFulfilled(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
double laN,
double laTol,
double gdTol)
override;
49 fmatvec::Vec dlaTdlaN(
const fmatvec::Vec& gd)
override;
50 int getFrictionDirections()
override {
return 1; }
51 bool isSticking(
const fmatvec::Vec& s,
double sTol)
override {
return fabs(s(0)) <= sTol; }
52 bool isSetValued()
const override {
return true; }
53 void initializeUsingXML(xercesc::DOMElement *element)
override;
54 FrictionImpactLaw* createFrictionImpactLaw()
const override;
57 void setFrictionCoefficient(
double mu_) { mu = mu_; }
basic friction force law on acceleration level for constraint description
Definition: friction_force_law.h:34
basic planar friction force law on acceleration level for constraint description
Definition: planar_coulomb_friction.h:32
PlanarCoulombFriction(double mu_=0)
constructor
Definition: planar_coulomb_friction.h:37
~PlanarCoulombFriction() override=default
destructor
namespace MBSim
Definition: bilateral_constraint.cc:30