remove BlackoilOutputEbos

after the actual output writing code has been moved to core ebos, this
was just a unnecessary glue layer for API compatibility.
This commit is contained in:
Andreas Lauser
2018-06-06 10:59:41 +02:00
parent dfbc24b35f
commit 37b6a540af
8 changed files with 44 additions and 183 deletions

View File

@@ -97,11 +97,10 @@ namespace Opm {
/** \brief step method that acts like the solver::step method
in a sub cycle of time steps
*/
template <class Solver, class Output>
template <class Solver>
SimulatorReport step(const SimulatorTimer& simulatorTimer,
Solver& solver,
const bool isEvent,
Output& outputWriter,
const std::vector<int>* fipnum = nullptr)
{
SimulatorReport report;
@@ -121,6 +120,10 @@ namespace Opm {
suggestedNextTimestep_ = timestepAfterEvent_;
}
auto& ebosSimulator = solver.model().ebosSimulator();
auto& ebosProblem = ebosSimulator.problem();
auto phaseUsage = Opm::phaseUsageFromDeck(ebosSimulator.vanguard().eclState());
// create adaptive step timer with previously used sub step size
AdaptiveSimulatorTimer substepTimer(simulatorTimer, suggestedNextTimestep_, maxTimeStep_);
@@ -231,9 +234,15 @@ namespace Opm {
}
Opm::time::StopWatch perfTimer;
perfTimer.start();
bool substep = true;
const auto& physicalModel = solver.model();
outputWriter.writeTimeStep(substepTimer, physicalModel, substep, -1.0, substepReport);
// The writeOutput expects a local data::solution vector and a local data::well vector.
auto localWellData = solver.model().wellModel().wellState().report(phaseUsage, Opm::UgGridHelpers::globalCell(ebosSimulator.vanguard().grid()));
ebosProblem.writeOutput(localWellData,
substepTimer.simulationTimeElapsed(),
/*isSubstep=*/true,
substepReport.total_time,
/*nextStepSize=*/-1.0);
report.output_write_time += perfTimer.secsSinceStart();
}