Program listing for file kernel/src/modelingTools/MultipleImpactNSL.hpp#
Return to documentation for this file
1#ifndef _MULTIPLEIMPACTNSL_
2#define _MULTIPLEIMPACTNSL_
3
4#include "NonSmoothLaw.hpp"
5#include "SiconosPointers.hpp"
6#include "SiconosSerialization.hpp"
7#include "SiconosVisitor.hpp"
8
9
10class MultipleImpactNSL : public NonSmoothLaw {
11private:
12
13 ACCEPT_SERIALIZATION(MultipleImpactNSL);
14
15
16 double _ResCof;
17
18 double _Stiff;
19
20 double _ElasCof;
21
22public:
23
24 MultipleImpactNSL();
25
26 MultipleImpactNSL(double, double, double, unsigned int _dim = 1);
27
28 ~MultipleImpactNSL();
29
30 inline double ResCof() const { return _ResCof; };
31
32 inline double Stiff() const { return _Stiff; };
33
34 inline double ElasCof() const { return _ElasCof; }
35
36 void setResCof(double newResCof);
37
38 void setStiff(double newStiff);
39
40 void setElasCoeff(double _newElasCoef);
41
42 bool isVerified() const override;
43
44 void display() const override;
45
46 ACCEPT_STD_VISITORS();
47};
48DEFINE_SPTR(MultipleImpactNSL)
49#endif