Merge pull request #3007 from joakim-hove/oilvap

Oilvap
This commit is contained in:
Joakim Hove 2021-01-08 09:21:59 +01:00 committed by GitHub
commit 673be5c604
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1108,7 +1108,7 @@ public:
} }
// update explicit quantities between timesteps. // update explicit quantities between timesteps.
const auto& oilVaporizationControl = simulator.vanguard().schedule().getOilVaporizationProperties(episodeIdx); const auto& oilVaporizationControl = simulator.vanguard().schedule()[episodeIdx].oilvap();
if (drsdtActive_()) if (drsdtActive_())
// DRSDT is enabled // DRSDT is enabled
for (size_t pvtRegionIdx = 0; pvtRegionIdx < maxDRs_.size(); ++pvtRegionIdx) for (size_t pvtRegionIdx = 0; pvtRegionIdx < maxDRs_.size(); ++pvtRegionIdx)
@ -2019,8 +2019,8 @@ public:
bool vapparsActive() const bool vapparsActive() const
{ {
const auto& simulator = this->simulator(); const auto& simulator = this->simulator();
int epsiodeIdx = std::max(simulator.episodeIndex(), 0); int episodeIdx = std::max(simulator.episodeIndex(), 0);
const auto& oilVaporizationControl = simulator.vanguard().schedule().getOilVaporizationProperties(epsiodeIdx); const auto& oilVaporizationControl = simulator.vanguard().schedule()[episodeIdx].oilvap();
return (oilVaporizationControl.getType() == Opm::OilVaporizationProperties::OilVaporization::VAPPARS); return (oilVaporizationControl.getType() == Opm::OilVaporizationProperties::OilVaporization::VAPPARS);
} }
@ -2227,16 +2227,16 @@ private:
bool drsdtActive_() const bool drsdtActive_() const
{ {
const auto& simulator = this->simulator(); const auto& simulator = this->simulator();
int epsiodeIdx = std::max(simulator.episodeIndex(), 0); int episodeIdx = std::max(simulator.episodeIndex(), 0);
const auto& oilVaporizationControl = simulator.vanguard().schedule().getOilVaporizationProperties(epsiodeIdx); const auto& oilVaporizationControl = simulator.vanguard().schedule()[episodeIdx].oilvap();
return (oilVaporizationControl.drsdtActive()); return (oilVaporizationControl.drsdtActive());
} }
bool drvdtActive_() const bool drvdtActive_() const
{ {
const auto& simulator = this->simulator(); const auto& simulator = this->simulator();
int epsiodeIdx = std::max(simulator.episodeIndex(), 0); int episodeIdx = std::max(simulator.episodeIndex(), 0);
const auto& oilVaporizationControl = simulator.vanguard().schedule().getOilVaporizationProperties(epsiodeIdx); const auto& oilVaporizationControl = simulator.vanguard().schedule()[episodeIdx].oilvap();
return (oilVaporizationControl.drvdtActive()); return (oilVaporizationControl.drvdtActive());
} }
@ -2247,8 +2247,8 @@ private:
// update the "last Rs" values for all elements, including the ones in the ghost // update the "last Rs" values for all elements, including the ones in the ghost
// and overlap regions // and overlap regions
const auto& simulator = this->simulator(); const auto& simulator = this->simulator();
int epsiodeIdx = std::max(simulator.episodeIndex(), 0); int episodeIdx = std::max(simulator.episodeIndex(), 0);
const auto& oilVaporizationControl = simulator.vanguard().schedule().getOilVaporizationProperties(epsiodeIdx); const auto& oilVaporizationControl = simulator.vanguard().schedule()[episodeIdx].oilvap();
if (oilVaporizationControl.drsdtActive()) { if (oilVaporizationControl.drsdtActive()) {
ElementContext elemCtx(simulator); ElementContext elemCtx(simulator);
@ -2670,15 +2670,16 @@ private:
const auto& eclState = simulator.vanguard().eclState(); const auto& eclState = simulator.vanguard().eclState();
const auto& timeMap = schedule.getTimeMap(); const auto& timeMap = schedule.getTimeMap();
const auto& initconfig = eclState.getInitConfig(); const auto& initconfig = eclState.getInitConfig();
int episodeIdx = initconfig.getRestartStep(); {
int restart_step = initconfig.getRestartStep();
simulator.setStartTime(timeMap.getStartTime(/*timeStepIdx=*/0)); simulator.setStartTime(timeMap.getStartTime(/*timeStepIdx=*/0));
simulator.setTime(timeMap.getTimePassedUntil(episodeIdx)); simulator.setTime(timeMap.getTimePassedUntil(restart_step));
simulator.startNextEpisode(simulator.startTime() + simulator.time(), simulator.startNextEpisode(simulator.startTime() + simulator.time(),
timeMap.getTimeStepLength(episodeIdx)); timeMap.getTimeStepLength(restart_step));
simulator.setEpisodeIndex(episodeIdx); simulator.setEpisodeIndex(restart_step);
}
eclWriter_->beginRestart(); eclWriter_->beginRestart();
Scalar dt = std::min(eclWriter_->restartTimeStepSize(), simulator.episodeLength()); Scalar dt = std::min(eclWriter_->restartTimeStepSize(), simulator.episodeLength());
@ -2731,8 +2732,8 @@ private:
// if we need to restart for polymer molecular weight simulation, we need to add related here // if we need to restart for polymer molecular weight simulation, we need to add related here
} }
const int epsiodeIdx = simulator.episodeIndex(); const int episodeIdx = simulator.episodeIndex();
const auto& oilVaporizationControl = simulator.vanguard().schedule().getOilVaporizationProperties(epsiodeIdx); const auto& oilVaporizationControl = simulator.vanguard().schedule()[episodeIdx].oilvap();
if (drsdtActive_()) if (drsdtActive_())
// DRSDT is enabled // DRSDT is enabled
for (size_t pvtRegionIdx = 0; pvtRegionIdx < maxDRs_.size(); ++pvtRegionIdx) for (size_t pvtRegionIdx = 0; pvtRegionIdx < maxDRs_.size(); ++pvtRegionIdx)