Program listing for file kernel/src/simulationTools/MatrixIntegrator.hpp#
Return to documentation for this file
1#ifndef MatrixIntegrator_H
2#define MatrixIntegrator_H
3
4
5
6#include "SiconosSerialization.hpp"
7#include "SiconosAlgebraTypeDef.hpp"
8#include "SiconosPointers.hpp"
9
10#include "SiconosFwd.hpp"
11
12class MatrixIntegrator
13{
14private:
15
16 ACCEPT_SERIALIZATION(MatrixIntegrator);
17
18protected:
19
20
21 SP::SiconosMatrix _mat;
22
23
24 SP::SiconosMatrix _E;
25
26
27 SP::PluggedObject _plugin;
28
29
30 SP::SubPluggedObject _spo;
31
32
33 bool _isConst;
34
35
36 SP::DynamicalSystem _DS;
37
38
39 SP::NonSmoothDynamicalSystem _nsds;
40
41
42 SP::TimeDiscretisation _TD;
43
44
45 SP::EventDriven _sim;
46
47
48 SP::LsodarOSI _OSI;
49
50
51 void commonInit(const DynamicalSystem& ds, const NonSmoothDynamicalSystem& nsds, const TimeDiscretisation & td);
52
53
54 MatrixIntegrator() {};
55
56public:
57
58
59 MatrixIntegrator(const DynamicalSystem& ds, const NonSmoothDynamicalSystem& nsds, const TimeDiscretisation &td, const SP::SiconosMatrix E);
60
61
62 MatrixIntegrator(const DynamicalSystem& ds, const NonSmoothDynamicalSystem& nsds, const TimeDiscretisation &td, SP::PluggedObject plugin, const unsigned int p);
63
64
65 MatrixIntegrator(const DynamicalSystem& ds,const NonSmoothDynamicalSystem& nsds, const TimeDiscretisation &td);
66
67
68 void integrate();
69
70
71 inline const SiconosMatrix& mat() const { return *_mat; }
72
73
74 inline bool isConst() { return _isConst; }
75
76};
77
78#endif