20#ifndef _PLANAR_COULOMB_IMPACT_H_
21#define _PLANAR_COULOMB_IMPACT_H_
23#include <mbsim/constitutive_laws/friction_impact_law.h>
45 fmatvec::Vec project(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN,
double r)
override;
46 fmatvec::Mat diff(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN,
double r)
override;
47 fmatvec::Vec solve(
const fmatvec::SqrMat& G,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN)
override;
48 bool isFulfilled(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN,
double laTol,
double gdTol)
override;
49 int isSticking(
const fmatvec::Vec& la,
const fmatvec::Vec& gdn,
const fmatvec::Vec& gda,
double laN,
double laTol,
double gdTol)
override;
50 int getFrictionDirections()
override {
return 1; }
51 void initializeUsingXML(xercesc::DOMElement *element)
override;
54 void setFrictionCoefficient(
double mu_) { mu = mu_; }
55 double getFrictionCoefficient(
double gd) {
return mu; }
basic friction force law on velocity level for constraint description
Definition: friction_impact_law.h:32
basic planar friction force law on velocity level for constraint description
Definition: planar_coulomb_impact.h:32
~PlanarCoulombImpact() override=default
destructor
PlanarCoulombImpact(double mu_=0)
constructor
Definition: planar_coulomb_impact.h:37
namespace MBSim
Definition: bilateral_constraint.cc:30