Merge remote-tracking branch 'upstream/master' into new_numerical_aquifer

This commit is contained in:
Kai Bao
2021-03-11 14:08:42 +01:00
30 changed files with 1204 additions and 828 deletions

View File

@@ -445,21 +445,20 @@ public:
parseContext_ = createParseContext();
}
std::optional<int> outputInterval;
int output_param = EWOMS_GET_PARAM(TypeTag, int, EclOutputInterval);
if (output_param >= 0)
outputInterval = output_param;
readDeck(myRank, fileName, deck_, eclState_, eclSchedule_,
eclSummaryConfig_, std::move(errorGuard), python,
std::move(parseContext_), /* initFromRestart = */ false,
/* checkDeck = */ enableExperiments);
/* checkDeck = */ enableExperiments, outputInterval);
this->summaryState_ = std::make_unique<Opm::SummaryState>( Opm::TimeService::from_time_t(this->eclSchedule_->getStartTime() ));
this->udqState_ = std::make_unique<Opm::UDQState>( this->eclSchedule_->getUDQConfig(0).params().undefinedValue() );
this->actionState_ = std::make_unique<Opm::Action::State>() ;
// Possibly override IOConfig setting for how often RESTART files should get
// written to disk (every N report step)
int outputInterval = EWOMS_GET_PARAM(TypeTag, int, EclOutputInterval);
if (outputInterval >= 0)
schedule().restart().overrideRestartWriteInterval(outputInterval);
// Initialize parallelWells with all local wells
const auto& schedule_wells = schedule().getWellsatEnd();
parallelWells_.reserve(schedule_wells.size());

View File

@@ -253,10 +253,10 @@ public:
// Summary output is for all steps
const Opm::SummaryConfig summaryConfig = simulator_.vanguard().summaryConfig();
const auto& schedule = simulator_.vanguard().schedule();
// Only output RESTART_AUXILIARY asked for by the user.
const Opm::RestartConfig& restartConfig = simulator_.vanguard().schedule().restart();
std::map<std::string, int> rstKeywords = restartConfig.getRestartKeywords(reportStepNum);
std::map<std::string, int> rstKeywords = schedule.rst_keywords(reportStepNum);
for (auto& [keyword, should_write] : rstKeywords) {
if (this->isOutputCreationDirective_(keyword)) {
// 'BASIC', 'FREQ' and similar. Don't attempt to create
@@ -264,9 +264,6 @@ public:
// not being able to create such cell-based result vectors.
should_write = 0;
}
else {
should_write = restartConfig.getKeyword(keyword, reportStepNum);
}
}
outputFipRestart_ = false;
@@ -300,7 +297,6 @@ public:
// Well RFT data
if (!substep) {
const auto& schedule = simulator_.vanguard().schedule();
const auto& rft_config = schedule[reportStepNum].rft_config();
for (const auto& well: schedule.getWells(reportStepNum)) {
@@ -334,7 +330,7 @@ public:
// 1) when we want to restart
// 2) when it is ask for by the user via restartConfig
// 3) when it is not a substep
if (!isRestart && (!restartConfig.getWriteRestartFile(reportStepNum, log) || substep))
if (!isRestart && (!schedule.write_rst_file(reportStepNum, log) || substep))
return;
// always output saturation of active phases

View File

@@ -1789,6 +1789,9 @@ public:
unsigned spaceIdx,
unsigned timeIdx) const
{
if(!context.intersection(spaceIdx).boundary())
return;
if (!enableEnergy || !enableThermalFluxBoundaries)
values.setNoFlow();
else {