← Documentation
ADS-IDAC Engine 5.0.0
RelapSolver.h
Go to the documentation of this file.
1
9
10#ifndef RELAPSOLVER_H
11#define RELAPSOLVER_H
12
14
23public:
26 void runSequence(SolverCallback& cb) override;
27
28 double currentTime() const override;
29 int stopFlag() const override;
30 bool isTerminateAll() const override;
31 void setTerminateAll(bool v) override;
32
33 void setBranchCount(int n) override;
34 void setGenNode(bool v) override;
35
36 void setNewRestart(bool v) override;
37
40 void setInputDeck(const std::string& path) override;
41
49 std::vector<char> checkpoint() override;
50
58 void restore(const std::vector<char>& data) override;
59
60 void setThermoCacheMode(int mode) override;
61 void setMembufMode(int mode) override;
62
63private:
66 std::vector<char> base_cache_;
67};
68
73
77
78#endif // RELAPSOLVER_H
SolverCallback * getActiveSolverCallback()
Get the currently active SolverCallback (set during runSequence). Used by extern "C" trampoline funct...
Definition: RelapSolver.cpp:32
ThermalHydraulicSolver * getActiveSolver()
Get the currently active ThermalHydraulicSolver (set during runSequence). Returns nullptr when no seq...
Definition: RelapSolver.cpp:33
Abstract interface for thermal-hydraulic solvers and solver callbacks.
Concrete ThermalHydraulicSolver that wraps RELAP5/MOD3.3.
Definition: RelapSolver.h:22
std::vector< char > base_cache_
Definition: RelapSolver.h:66
void setNewRestart(bool v) override
Sets r5pars_.cnewrst.
Definition: RelapSolver.cpp:59
std::vector< char > checkpoint() override
Copy the Fortran in-memory restart buffer.
Definition: RelapSolver.cpp:69
void restore(const std::vector< char > &data) override
Load data into the Fortran in-memory restart buffer.
void setMembufMode(int mode) override
Forwards to ads_set_membuf_mode_()
void setThermoCacheMode(int mode) override
Forwards to ads_set_cache_mode_()
void runSequence(SolverCallback &cb) override
Run one RELAP5 sequence: registers cb and this solver as the active pair, calls relap5_() (blocking),...
Definition: RelapSolver.cpp:37
void setTerminateAll(bool v) override
Sets r5pars_.terminateall.
Definition: RelapSolver.cpp:50
bool isTerminateAll() const override
r5pars_.terminateall
Definition: RelapSolver.cpp:49
double currentTime() const override
r5pars_.timesno [s]
Definition: RelapSolver.cpp:47
void setInputDeck(const std::string &path) override
Copy path into r5pars_.carg2 (truncated to the array size minus one) and set r5pars_....
Definition: RelapSolver.cpp:61
int stopFlag() const override
r5pars_.csnostop
Definition: RelapSolver.cpp:48
void setBranchCount(int n) override
Sets r5pars_.cnbranch.
Definition: RelapSolver.cpp:54
void setGenNode(bool v) override
Sets r5pars_.cgennode.
Definition: RelapSolver.cpp:55
Callback interface that the engine implements to receive notifications from the solver.
Abstract interface for thermal-hydraulic solvers.