Program listing for file kernel/src/modelingTools/NewtonImpactRollingFrictionNSL.hpp

Program listing for file kernel/src/modelingTools/NewtonImpactRollingFrictionNSL.hpp#

 1#ifndef NEWTONIMPACTROLLINGFRICTIONNSLAW_H
 2#define NEWTONIMPACTROLLINGFRICTIONNSLAW_H
 3
 4#include "NonSmoothLaw.hpp"
 5
 6
 7class NewtonImpactRollingFrictionNSL : public NonSmoothLaw {
 8
 9private:
10
11  ACCEPT_SERIALIZATION(NewtonImpactRollingFrictionNSL);
12
13
14  double _en;
15  double _et;
16
17  double _mu;
18
19
20  double _muR;
21
22
23  NewtonImpactRollingFrictionNSL();
24
25public:
26
27  explicit NewtonImpactRollingFrictionNSL(unsigned int size);
28
29
30  NewtonImpactRollingFrictionNSL(double en, double et, double mu, double muR,
31                                 unsigned int size);
32
33
34  ~NewtonImpactRollingFrictionNSL();
35
36
37  bool isVerified(void) const override;
38
39
40
41
42  inline double en() const { return _en; };
43
44
45  inline void setEn(double newVal) { _en = newVal; };
46
47
48  inline double et() const { return _et; };
49
50
51  inline void setEt(double newVal) { _et = newVal; };
52
53
54  inline double mu() const { return _mu; };
55
56
57  inline double muR() const { return _muR; };
58
59
60  inline void setMu(double newVal) { _mu = newVal; };
61
62
63  inline void setMuR(double newVal) { _muR = newVal; };
64
65
66
67
68  void display() const override;
69
70  ACCEPT_STD_VISITORS();
71};
72DEFINE_SPTR(NewtonImpactRollingFrictionNSL)
73#endif