hydrobricks
Loading...
Searching...
No Matches
Processor.h
1#ifndef HYDROBRICKS_PROCESSOR_H
2#define HYDROBRICKS_PROCESSOR_H
3
4#include "Brick.h"
5#include "Includes.h"
6#include "Solver.h"
7
8class ModelHydro;
9
10class Processor : public wxObject {
11 public:
12 explicit Processor();
13
14 ~Processor() override;
15
21 void Initialize(const SolverSettings& solverSettings);
22
28 void SetModel(ModelHydro* model);
29
34
41
47 bool ProcessTimeStep();
48
55 return &_stateVariableChanges;
56 }
57
63 vector<Brick*>* GetIterableBricksVectorPt() {
64 return &_iterableBricks;
65 }
66
73 return _solvableConnectionsNb;
74 }
75
82 return _directConnectionsNb;
83 }
84
85 protected:
86 Solver* _solver;
87 ModelHydro* _model;
88 int _solvableConnectionsNb;
89 int _directConnectionsNb;
90 vecDoublePt _stateVariableChanges;
91 vector<Brick*> _iterableBricks;
92 axd _changeRatesNoSolver;
93
94 private:
100 void StoreStateVariableChanges(vecDoublePt& values);
101
108 void ApplyDirectChanges(Brick* brick, int& ptIndex);
109};
110
111#endif // HYDROBRICKS_PROCESSOR_H
Definition Brick.h:10
Definition ModelHydro.h:12
Definition Processor.h:10
void ConnectToElementsToSolve()
Definition Processor.cpp:28
int GetNbDirectConnections() const
Definition Processor.h:81
vector< Brick * > * GetIterableBricksVectorPt()
Definition Processor.h:63
void SetModel(ModelHydro *model)
Definition Processor.cpp:24
int GetNbSolvableConnections() const
Definition Processor.h:72
vecDoublePt * GetStateVariablesVectorPt()
Definition Processor.h:54
bool ProcessTimeStep()
Definition Processor.cpp:90
int GetNbStateVariables()
Definition Processor.cpp:86
void Initialize(const SolverSettings &solverSettings)
Definition Processor.cpp:16
Definition Solver.h:9
Definition SettingsModel.h:9