Class NewtonImpactNSL#

Defined in Program listing for file kernel/src/modelingTools/NewtonImpactNSL.hpp

class NewtonImpactNSL : public NonSmoothLaw#

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