104 if (params_.gasDissolutionFactorOutput_) {
107 if (params_.oilVaporizationFactorOutput_) {
110 if (params_.oilFormationVolumeFactorOutput_) {
113 if (params_.gasFormationVolumeFactorOutput_) {
116 if (params_.waterFormationVolumeFactorOutput_) {
119 if (params_.oilSaturationPressureOutput_) {
122 if (params_.gasSaturationPressureOutput_) {
125 if (params_.saturatedOilGasDissolutionFactorOutput_) {
128 if (params_.saturatedGasOilVaporizationFactorOutput_) {
131 if (params_.saturationRatiosOutput_) {
135 if (params_.primaryVarsMeaningOutput_) {
148 if (!Parameters::Get<Parameters::EnableVtkOutput>()) {
152 for (
unsigned dofIdx = 0; dofIdx < elemCtx.numPrimaryDof(0); ++dofIdx) {
153 const auto& fs = elemCtx.intensiveQuantities(dofIdx, 0).fluidState();
154 using FluidState = std::remove_const_t<std::remove_reference_t<
decltype(fs)>>;
155 const unsigned globalDofIdx = elemCtx.globalSpaceIndex(dofIdx, 0);
157 const auto& primaryVars = elemCtx.primaryVars(dofIdx, 0);
159 const unsigned pvtRegionIdx = elemCtx.primaryVars(dofIdx, 0).pvtRegionIndex();
161 FluidSystem::phaseIsActive(oilPhaseIdx)
162 ? std::max(
getValue(fs.saturation(oilPhaseIdx)),
163 elemCtx.problem().maxOilSaturation(globalDofIdx))
166 if (FluidSystem::phaseIsActive(gasPhaseIdx) && FluidSystem::phaseIsActive(oilPhaseIdx)) {
167 const Scalar
x_oG =
getValue(fs.moleFraction(oilPhaseIdx, gasCompIdx));
168 const Scalar
x_gO =
getValue(fs.moleFraction(gasPhaseIdx, oilCompIdx));
169 const Scalar
X_oG =
getValue(fs.massFraction(oilPhaseIdx, gasCompIdx));
170 const Scalar
X_gO =
getValue(fs.massFraction(gasPhaseIdx, oilCompIdx));
171 const Scalar Rs = FluidSystem::convertXoGToRs(
X_oG, pvtRegionIdx);
172 const Scalar Rv = FluidSystem::convertXgOToRv(
X_gO, pvtRegionIdx);
179 const Scalar
X_oG_sat = FluidSystem::convertRsToXoG(
RsSat, pvtRegionIdx);
180 const Scalar
x_oG_sat = FluidSystem::convertXoGToxoG(
X_oG_sat, pvtRegionIdx);
187 const Scalar
X_gO_sat = FluidSystem::convertRvToXgO(
RvSat, pvtRegionIdx);
188 const Scalar
x_gO_sat = FluidSystem::convertXgOToxgO(
X_gO_sat, pvtRegionIdx);
189 if (params_.gasDissolutionFactorOutput_) {
190 gasDissolutionFactor_[globalDofIdx] = Rs;
192 if (params_.oilVaporizationFactorOutput_) {
193 oilVaporizationFactor_[globalDofIdx] = Rv;
195 if (params_.oilSaturationPressureOutput_) {
196 oilSaturationPressure_[globalDofIdx] =
199 if (params_.gasSaturationPressureOutput_) {
200 gasSaturationPressure_[globalDofIdx] =
203 if (params_.saturatedOilGasDissolutionFactorOutput_) {
204 saturatedOilGasDissolutionFactor_[globalDofIdx] =
RsSat;
206 if (params_.saturatedGasOilVaporizationFactorOutput_) {
207 saturatedGasOilVaporizationFactor_[globalDofIdx] =
RvSat;
209 if (params_.saturationRatiosOutput_) {
211 oilSaturationRatio_[globalDofIdx] = 1.0;
218 gasSaturationRatio_[globalDofIdx] = 1.0;
225 if (params_.oilFormationVolumeFactorOutput_) {
226 oilFormationVolumeFactor_[globalDofIdx] =
229 if (params_.gasFormationVolumeFactorOutput_) {
230 gasFormationVolumeFactor_[globalDofIdx] =
233 if (params_.waterFormationVolumeFactorOutput_) {
234 waterFormationVolumeFactor_[globalDofIdx] =
238 if (params_.primaryVarsMeaningOutput_) {
239 primaryVarsMeaningWater_[globalDofIdx] =
240 static_cast<int>(primaryVars.primaryVarsMeaningWater());
241 primaryVarsMeaningGas_[globalDofIdx] =
242 static_cast<int>(primaryVars.primaryVarsMeaningGas());
243 primaryVarsMeaningPressure_[globalDofIdx] =
244 static_cast<int>(primaryVars.primaryVarsMeaningPressure());
258 if (params_.gasDissolutionFactorOutput_) {
260 gasDissolutionFactor_, BufferType::Dof);
262 if (params_.oilVaporizationFactorOutput_) {
264 oilVaporizationFactor_, BufferType::Dof);
266 if (params_.oilFormationVolumeFactorOutput_) {
268 oilFormationVolumeFactor_, BufferType::Dof);
270 if (params_.gasFormationVolumeFactorOutput_) {
272 gasFormationVolumeFactor_, BufferType::Dof);
274 if (params_.waterFormationVolumeFactorOutput_) {
276 waterFormationVolumeFactor_, BufferType::Dof);
278 if (params_.oilSaturationPressureOutput_) {
280 oilSaturationPressure_, BufferType::Dof);
282 if (params_.gasSaturationPressureOutput_) {
284 gasSaturationPressure_, BufferType::Dof);
286 if (params_.saturatedOilGasDissolutionFactorOutput_) {
288 saturatedOilGasDissolutionFactor_, BufferType::Dof);
290 if (params_.saturatedGasOilVaporizationFactorOutput_) {
292 saturatedGasOilVaporizationFactor_, BufferType::Dof);
294 if (params_.saturationRatiosOutput_) {
296 oilSaturationRatio_, BufferType::Dof);
298 gasSaturationRatio_, BufferType::Dof);
301 if (params_.primaryVarsMeaningOutput_) {
303 primaryVarsMeaningWater_, BufferType::Dof);
305 primaryVarsMeaningGas_, BufferType::Dof);
307 primaryVarsMeaningPressure_, BufferType::Dof);