ebos: implement support for the VAPPARS keyword

This commit is contained in:
Andreas Lauser
2016-07-06 14:56:25 +02:00
parent 57372d5fab
commit 3f9970cc2a
2 changed files with 9 additions and 2 deletions
+2 -1
View File
@@ -187,8 +187,9 @@ public:
} }
} }
if (gasDissolutionFactorOutput_()) { if (gasDissolutionFactorOutput_()) {
Scalar SoMax = elemCtx.model().maxOilSaturation(globalDofIdx);
gasDissolutionFactor_[globalDofIdx] = gasDissolutionFactor_[globalDofIdx] =
FluidSystem::template saturatedDissolutionFactor<FluidState, Scalar>(fs, gasPhaseIdx, pvtRegionIdx); FluidSystem::template saturatedDissolutionFactor<FluidState, Scalar>(fs, gasPhaseIdx, pvtRegionIdx, SoMax);
Valgrind::CheckDefined(gasDissolutionFactor_[globalDofIdx]); Valgrind::CheckDefined(gasDissolutionFactor_[globalDofIdx]);
} }
if (gasFormationVolumeFactorOutput_()) { if (gasFormationVolumeFactorOutput_()) {
+7 -1
View File
@@ -401,8 +401,12 @@ public:
if (nextEpisodeIdx < numReportSteps) { if (nextEpisodeIdx < numReportSteps) {
simulator.startNextEpisode(episodeLength); simulator.startNextEpisode(episodeLength);
simulator.setTimeStepSize(dt); simulator.setTimeStepSize(dt);
}
if (this->simulator().episodeIndex() > 1) {
if (updateHysteresis_()) if (updateHysteresis_())
this->model().invalidateIntensiveQuantitiesCache(/*timeIdx=*/0); this->model().invalidateIntensiveQuantitiesCache(/*timeIdx=*/0);
this->model().updateMaxOilSaturations();
} }
if (!GET_PROP_VALUE(TypeTag, DisableWells)) if (!GET_PROP_VALUE(TypeTag, DisableWells))
@@ -726,7 +730,9 @@ public:
} }
// update the data required for capillary pressure hysteresis // 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 // let the object for threshold pressures initialize itself. this is done only at
// this point, because determining the threshold pressures may require to access // this point, because determining the threshold pressures may require to access