Program listing for file kernel/src/modelingTools/LinearComplementaritySystemsNSDS.hpp#
Return to documentation for this file
1#ifndef LinearComplementaritySystemsNSDS_H
2#define LinearComplementaritySystemsNSDS_H
3
4#include "SiconosPointers.hpp"
5#include "Topology.hpp"
6#include "DynamicalSystem.hpp"
7#include "NonSmoothDynamicalSystem.hpp"
8#include "ComplementarityConditionNSL.hpp"
9#include "SiconosFwd.hpp"
10#include "FirstOrderLinearTIR.hpp"
11
12
13
14class LinearComplementaritySystemsNSDS: public NonSmoothDynamicalSystem
15{
16
17
18private:
19
20 ACCEPT_SERIALIZATION(LinearComplementaritySystemsNSDS);
21
22
23
24 SP::FirstOrderLinearTIDS _ds;
25
26 SP::FirstOrderLinearTIR _relation;
27
28 SP::ComplementarityConditionNSL _nslaw;
29
30 SP::Interaction _interaction;
31
32protected:
33
34 LinearComplementaritySystemsNSDS(){};
35
36public:
37
38
39 LinearComplementaritySystemsNSDS(double t0, double T, SP::SiconosVector x0,
40 SP::SimpleMatrix A, SP::SimpleMatrix B,
41 SP::SimpleMatrix C, SP::SimpleMatrix D,
42 SP::SiconosVector a, SP::SiconosVector b);
43
44
45 ~LinearComplementaritySystemsNSDS(){};
46
47
48
49 SP::FirstOrderLinearTIDS ds()
50 {
51 return _ds;
52 };
53
54 SP::FirstOrderLinearTIR relation()
55 {
56 return _relation;
57 };
58
59 SP::ComplementarityConditionNSL nslaw()
60 {
61 return _nslaw;
62 };
63 SP::Interaction interaction()
64 {
65 return _interaction;
66 };
67
68
69};
70
71
72#endif