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

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