Program listing for file kernel/src/modelingTools/NewtonImpactRollingFrictionNSL.hpp#
Return to documentation for this file
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