20#ifndef _UNILATERAL_CONSTRAINT_H_
21#define _UNILATERAL_CONSTRAINT_H_
23#include <mbsim/constitutive_laws/generalized_force_law.h>
45 bool isClosed(
double g,
double gTol)
override {
return g<=gTol; }
46 double project(
double la,
double gdn,
double r,
double laMin=0)
override;
47 fmatvec::Vec diff(
double la,
double gdn,
double r,
double laMin=0)
override;
48 double solve(
double G,
double gdn)
override;
49 bool isFulfilled(
double la,
double gdn,
double laTol,
double gdTol,
double laMin=0)
override;
basic force law on acceleration level for constraint description
Definition: generalized_force_law.h:34
basic force law on velocity level for constraint description
Definition: generalized_impact_law.h:32
basic unilateral force law on acceleration level for constraint description
Definition: unilateral_constraint.h:32
double project(double la, double gdn, double r, double laMin=0) override
prox function evaluation
Definition: unilateral_constraint.cc:35
bool isClosed(double g, double gTol) override
decides, if force law is active
Definition: unilateral_constraint.h:45
~UnilateralConstraint() override=default
destructor
bool isFulfilled(double la, double gdn, double laTol, double gdTol, double laMin=0) override
Definition: unilateral_constraint.cc:57
UnilateralConstraint()=default
constructor
bool isSetValued() const override
Definition: unilateral_constraint.h:50
namespace MBSim
Definition: bilateral_constraint.cc:30