Program listing for file control/src/Controller/LinearSMCOT2.hpp#
Return to documentation for this file
1#ifndef LinearSMCOT2_H
2#define LinearSMCOT2_H
3
4#include "CommonSMC.hpp"
5#include "OneStepIntegratorTypes.hpp"
6
7class LinearSMCOT2 : public CommonSMC
8{
9private:
10
11 LinearSMCOT2() {};
12
13 SP::SiconosVector _X;
14
15 SP::SiconosVector _Xhat;
16
17 SP::SiconosVector _XPhi;
18
19 SP::NonSmoothDynamicalSystem _nsdsPhi;
20
21 SP::FirstOrderLinearDS _DSPhi;
22
23 SP::TimeDiscretisation _tdPhi;
24
25 SP::LsodarOSI _PhiOSI;
26
27 SP::EventDriven _simulPhi;
28
29 SP::NonSmoothDynamicalSystem _nsdsPred;
30
31 SP::TimeDiscretisation _tdPred;
32
33 SP::LsodarOSI _PredOSI;
34
35 SP::EventDriven _simulPred;
36
37 SP::FirstOrderLinearDS _DSPred;
38
39 double _coeff;
40
41 ACCEPT_SERIALIZATION(LinearSMCOT2);
42
43public:
44
45
46 LinearSMCOT2(SP::ControlSensor sensor);
47
48
49 virtual ~LinearSMCOT2();
50
51
52 void initialize(const NonSmoothDynamicalSystem& nsds, const Simulation & s);
53
54
55 void actuate();
56
57
58 virtual void setTimeDiscretisation(const TimeDiscretisation& td);
59
60};
61#endif