hydrobricks
Loading...
Searching...
No Matches
Solver.h
1#ifndef HYDROBRICKS_SOLVER_H
2#define HYDROBRICKS_SOLVER_H
3
4#include <memory>
5
6#include "Includes.h"
7#include "SettingsModel.h"
8
9class Processor;
10
11class Solver {
12 public:
13 explicit Solver();
14
15 virtual ~Solver() = default;
16
23 virtual bool Solve(double timeStepInDays) = 0;
24
31 static std::unique_ptr<Solver> Factory(const SolverSettings& solverSettings);
32
38 void Connect(Processor* processor) {
39 assert(processor);
40 _processor = processor;
41 }
42
47 virtual void InitializeContainers() = 0;
48
49 protected:
50 Processor* _processor;
51};
52
53#endif // HYDROBRICKS_SOLVER_H
Definition Processor.h:12
Definition Solver.h:11
virtual void InitializeContainers()=0
void Connect(Processor *processor)
Definition Solver.h:38
virtual bool Solve(double timeStepInDays)=0
static std::unique_ptr< Solver > Factory(const SolverSettings &solverSettings)
Definition Solver.cpp:42
Definition SettingsModel.h:11