hydrobricks
Loading...
Searching...
No Matches
SolverSequential.h
1#ifndef HYDROBRICKS_SOLVER_SEQUENTIAL_H
2#define HYDROBRICKS_SOLVER_SEQUENTIAL_H
3
4#include "Includes.h"
5#include "Solver.h"
6
7class Brick;
8
18class SolverSequential : public Solver {
19 public:
23 void InitializeContainers() override;
24
28 bool Solve(double timeStepInDays) final;
29
30 protected:
31 axd _rates;
32
44 virtual void ComputeBrickRates(Brick* brick, double content, double inflow, double timeStepInDays,
45 int iRateStart) = 0;
46
57 static double TotalRateAt(Brick* brick, double* contentDelta, double offset);
58
71 static double StoreRatesAndTotalAt(Brick* brick, double* contentDelta, double offset, vecDouble& rates);
72
88 static bool SumAffineResponse(Brick* brick, double& rate, double& offset);
89};
90
91#endif // HYDROBRICKS_SOLVER_SEQUENTIAL_H
Definition Brick.h:22
Definition SolverSequential.h:18
static double TotalRateAt(Brick *brick, double *contentDelta, double offset)
Definition SolverSequential.cpp:22
bool Solve(double timeStepInDays) final
Definition SolverSequential.cpp:68
static bool SumAffineResponse(Brick *brick, double &rate, double &offset)
Definition SolverSequential.cpp:48
void InitializeContainers() override
Definition SolverSequential.cpp:7
static double StoreRatesAndTotalAt(Brick *brick, double *contentDelta, double offset, vecDouble &rates)
Definition SolverSequential.cpp:34
virtual void ComputeBrickRates(Brick *brick, double content, double inflow, double timeStepInDays, int iRateStart)=0
Definition Solver.h:11