Implements the Python step() method.

A resubmission of commit 8e4f748 in PR #2403 and PR #2444 and continues
the work in #2690 implementing Python bindings to the flow simulator.

The Python step() method advances the simulator one report step. Before
calling step() for the first time, step_init() must have been called.
This commit is contained in:
Håkon Hægland
2020-08-25 13:42:48 +02:00
parent 3749dcab7d
commit 81319a7923
3 changed files with 17 additions and 0 deletions
+9
View File
@@ -28,6 +28,14 @@ int BlackOilSimulator::run()
return mainObject.runDynamic();
}
int BlackOilSimulator::step()
{
if (!hasRunInit_) {
throw std::logic_error("step() called before step_init()");
}
return mainEbos_->executeStep();
}
int BlackOilSimulator::step_init()
{
@@ -56,5 +64,6 @@ PYBIND11_MODULE(simulators, m)
py::class_<Opm::Pybind::BlackOilSimulator>(m, "BlackOilSimulator")
.def(py::init< const std::string& >())
.def("run", &Opm::Pybind::BlackOilSimulator::run)
.def("step", &Opm::Pybind::BlackOilSimulator::step)
.def("step_init", &Opm::Pybind::BlackOilSimulator::step_init);
}