1 #ifndef OPM_VERTEQ_SIMULATOR_HPP_INCLUDED
2 #define OPM_VERTEQ_SIMULATOR_HPP_INCLUDED
10 #ifndef OPM_VERTEQ_VISIBILITY_HPP_INCLUDED
14 #ifndef OPM_SIMULATORREPORT_HEADER_INCLUDED
15 #include <opm/core/simulator/SimulatorReport.hpp>
18 #ifndef OPM_VERTEQ_OPMFWD_HPP_INCLUDED
46 const parameter::ParameterGroup& param,
47 const UnstructuredGrid& grid,
48 const IncompPropertiesInterface& props,
49 const RockCompressibility* rock_comp_props,
50 WellsManager& wells_manager,
51 const std::vector<double>& src,
52 const FlowBoundaryConditions* bcs,
53 LinearSolverInterface& linsolver,
54 const double* gravity) = 0;
72 virtual SimulatorReport run(
73 SimulatorTimer& timer,
75 WellState& well_state) = 0;
85 virtual Event& timestep_completed () = 0;
95 virtual void sync () = 0;
106 template <
typename T>
114 const parameter::ParameterGroup& param,
115 const UnstructuredGrid& grid,
116 const IncompPropertiesInterface& props,
117 const RockCompressibility* rock_comp_props,
118 WellsManager& wells_manager,
119 const std::vector<double>& src,
120 const FlowBoundaryConditions* bcs,
121 LinearSolverInterface& linsolver,
122 const double* gravity) {
123 t_ = std::unique_ptr <T> (
new T (param, grid, props, rock_comp_props,
124 wells_manager, src, bcs, linsolver,
129 virtual SimulatorReport
run(
130 SimulatorTimer& timer,
131 TwophaseState& state,
132 WellState& well_state) {
133 return t_->run (timer, state, well_state);
136 return t_->timestep_completed ();
143 std::unique_ptr <T> t_;
virtual void sync()
Definition: simulator.hpp:138
Definition: simulator.hpp:107
Definition: opmfwd.hpp:15
Definition: simulator.hpp:31
virtual SimulatorReport run(SimulatorTimer &timer, TwophaseState &state, WellState &well_state)
Definition: simulator.hpp:129
#define OPM_VERTEQ_PUBLIC
Definition: exc.hpp:19
virtual Event & timestep_completed()
Definition: simulator.hpp:135
virtual ~Simulator()
Definition: simulator.hpp:59
virtual void init(const parameter::ParameterGroup ¶m, const UnstructuredGrid &grid, const IncompPropertiesInterface &props, const RockCompressibility *rock_comp_props, WellsManager &wells_manager, const std::vector< double > &src, const FlowBoundaryConditions *bcs, LinearSolverInterface &linsolver, const double *gravity)
Definition: simulator.hpp:113