Program listing for file kernel/src/simulationTools/MoreauJeanCombinedProjectionOSI.hpp#
Return to documentation for this file
1#ifndef MOREAUCOMBINEDPROJECTIONOSI_H
2#define MOREAUCOMBINEDPROJECTIONOSI_H
3
4#include "MoreauJeanOSI.hpp"
5#include "OneStepIntegrator.hpp"
6#include "SimpleMatrix.hpp"
7
8const unsigned int MOREAUCOMBINEDPROJECTIONOSISTEPSINMEMORY = 1;
9
10
11class MoreauJeanCombinedProjectionOSI : public MoreauJeanOSI {
12protected:
13 ACCEPT_SERIALIZATION(MoreauJeanCombinedProjectionOSI);
14
15
16 MoreauJeanCombinedProjectionOSI(){};
17
18public:
19
20 explicit MoreauJeanCombinedProjectionOSI(double theta);
21
22
23 virtual ~MoreauJeanCombinedProjectionOSI(){};
24
25
26
27
28 void initializeWorkVectorsForDS(double t, SP::DynamicalSystem ds) override;
29
30
31 void initializeWorkVectorsForInteraction(Interaction &inter,
32 InteractionProperties &interProp,
33 DynamicalSystemsGraph &DSG) override;
34
35
36 unsigned int numberOfIndexSets() const override { return 3; };
37
38
39 bool addInteractionInIndexSet(SP::Interaction inter, unsigned int i) override;
40
41
42 bool removeInteractionFromIndexSet(SP::Interaction inter, unsigned int i) override;
43
44 ACCEPT_STD_VISITORS();
45};
46
47#endif