20 #ifndef _UNILATERAL_CONSTRAINT_H_
21 #define _UNILATERAL_CONSTRAINT_H_
23 #include <mbsim/constitutive_laws/generalized_force_law.h>
45 virtual bool isClosed(
double g,
double gTol) {
return g<=gTol; }
46 virtual bool remainsClosed(
double gd,
double gdTol) {
return gd<=gdTol; }
47 virtual double project(
double la,
double gdn,
double r,
double laMin=0);
48 virtual fmatvec::Vec diff(
double la,
double gdn,
double r,
double laMin=0);
49 virtual double solve(
double G,
double gdn);
50 virtual bool isFulfilled(
double la,
double gdn,
double tolla,
double tolgd,
double laMin=0);
54 virtual std::string
getType()
const {
return "UnilateralConstraint"; }
basic force law on acceleration level for constraint description
Definition: generalized_force_law.h:32
virtual ~UnilateralConstraint()
destructor
Definition: unilateral_constraint.h:42
virtual bool isSetValued() const
Definition: unilateral_constraint.h:51
virtual double project(double la, double gdn, double r, double laMin=0)
prox function evaluation
Definition: unilateral_constraint.cc:34
virtual bool isClosed(double g, double gTol)
decides, if force law is active
Definition: unilateral_constraint.h:45
UnilateralConstraint()
constructor
Definition: unilateral_constraint.h:37
basic unilateral force law on acceleration level for constraint description
Definition: unilateral_constraint.h:32
virtual bool isFulfilled(double la, double gdn, double tolla, double tolgd, double laMin=0)
Definition: unilateral_constraint.cc:56
virtual std::string getType() const
Definition: unilateral_constraint.h:54