Program listing for file kernel/src/simulationTools/MoreauJeanCombinedProjectionOSI.hpp

Program listing for file kernel/src/simulationTools/MoreauJeanCombinedProjectionOSI.hpp#

 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