File kernel/src/modelingTools/NewtonImpactNSL.hpp#
Go to the source code of this file
-
class NewtonImpactNSL : public NonSmoothLaw
- #include <NewtonImpactNSL.hpp>
Newton impact Non Smooth Law.
This class formalizes the Newton Impact law together with a complementarity condition. i.e.
\[ \left\{\begin{array}{l} y \geq 0, \lambda \geq 0, y^{T} \lambda=0\ \ if y \leq 0 \quad \mbox{then} \quad \dot y(t^{+}) - e \dot y(t^{-}) \geq 0, \quad \lambda \geq 0, (\dot y(t^{+}) - e \dot y(t^{-}))^{T} \lambda=0 \end{array}\right. \]nsLawSize is equal to 1.
Public Functions
-
NewtonImpactNSL()
default constructor
-
NewtonImpactNSL(double e)
constructor with the value of the NewtonImpactNSL attributes
- Parameters:
e – the value of the coefficient of restitution
-
NewtonImpactNSL(unsigned int size, double e)
Apply multiple-axis impact.
-
~NewtonImpactNSL()
destructor
-
virtual bool isVerified() const override
check the ns law to see if it is verified
- Returns:
a boolean value whioch determines if the NS Law is verified
-
inline double e() const
- Returns:
the value of e
-
inline void setE(double newVal)
setter of e
- Parameters:
newVal – a double to set e
-
virtual void display() const override
print the data to the screen
-
ACCEPT_STD_VISITORS()#
Private Functions
-
ACCEPT_SERIALIZATION(NewtonImpactNSL)#
Private Members
-
double _e#
The Newton normal coefficient of restitution
-
NewtonImpactNSL()