ebos: implement support for the VAPPARS keyword

This commit is contained in:
Andreas Lauser 2016-07-05 14:29:30 +02:00
parent 57372d5fab
commit 3f9970cc2a
2 changed files with 9 additions and 2 deletions

View File

@ -187,8 +187,9 @@ public:
}
}
if (gasDissolutionFactorOutput_()) {
Scalar SoMax = elemCtx.model().maxOilSaturation(globalDofIdx);
gasDissolutionFactor_[globalDofIdx] =
FluidSystem::template saturatedDissolutionFactor<FluidState, Scalar>(fs, gasPhaseIdx, pvtRegionIdx);
FluidSystem::template saturatedDissolutionFactor<FluidState, Scalar>(fs, gasPhaseIdx, pvtRegionIdx, SoMax);
Valgrind::CheckDefined(gasDissolutionFactor_[globalDofIdx]);
}
if (gasFormationVolumeFactorOutput_()) {

View File

@ -401,8 +401,12 @@ public:
if (nextEpisodeIdx < numReportSteps) {
simulator.startNextEpisode(episodeLength);
simulator.setTimeStepSize(dt);
}
if (this->simulator().episodeIndex() > 1) {
if (updateHysteresis_())
this->model().invalidateIntensiveQuantitiesCache(/*timeIdx=*/0);
this->model().updateMaxOilSaturations();
}
if (!GET_PROP_VALUE(TypeTag, DisableWells))
@ -726,7 +730,9 @@ public:
}
// update the data required for capillary pressure hysteresis
updateHysteresis_();
if (updateHysteresis_())
this->model().invalidateIntensiveQuantitiesCache(/*timeIdx=*/0);
this->model().updateMaxOilSaturations();
// let the object for threshold pressures initialize itself. this is done only at
// this point, because determining the threshold pressures may require to access