Merge pull request #2735 from hakonhagland/python_step2

Implements a Python step() method.
This commit is contained in:
Atgeirr Flø Rasmussen 2020-09-22 15:47:48 +02:00 committed by GitHub
commit 68add695fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 0 deletions

View File

@ -326,6 +326,13 @@ namespace Opm
return execute_(&FlowMainEbos::runSimulatorInit, /*cleanup=*/false);
}
// Returns true unless "EXIT" was encountered in the schedule
// section of the input datafile.
int executeStep()
{
return simulator_->runStep(*simtimer_);
}
// Print an ASCII-art header to the PRT and DEBUG files.
// \return Whether unkown keywords were seen during parsing.
static void printPRTHeader(bool output_cout)

View File

@ -34,6 +34,7 @@ private:
public:
BlackOilSimulator( const std::string &deckFilename);
int run();
int step();
int step_init();
private:

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);
}