Program listing for file kernel/src/modelingTools/LinearComplementaritySystemsNSDS.hpp

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

 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