90 void update(
const ElementContext& elemCtx,
unsigned dofIdx,
unsigned timeIdx)
92 ParentType::update(elemCtx, dofIdx,
timeIdx);
94 const auto& T = elemCtx.problem().temperature(elemCtx, dofIdx,
timeIdx);
95 fluidState_.setTemperature(T);
98 const auto& problem = elemCtx.problem();
100 problem.materialLawParams(elemCtx, dofIdx,
timeIdx);
101 const auto& priVars = elemCtx.primaryVars(dofIdx,
timeIdx);
108 fluidState_.setSaturation(liquidPhaseIdx, 1.0);
109 fluidState_.setSaturation(gasPhaseIdx, 0.0);
110 ScalarPhaseVector
pC;
116 const Evaluation&
pW = priVars.makeEvaluation(pressureWIdx,
timeIdx);
117 const Evaluation
pN =
118 Toolbox::max(elemCtx.problem().referencePressure(elemCtx, dofIdx, 0),
119 pW + (
pC[gasPhaseIdx] -
pC[liquidPhaseIdx]));
124 fluidState_.setPressure(liquidPhaseIdx,
pW);
125 fluidState_.setPressure(gasPhaseIdx,
pN);
129 fluidState_.setSaturation(liquidPhaseIdx, sat[liquidPhaseIdx]);
130 fluidState_.setSaturation(gasPhaseIdx, sat[gasPhaseIdx]);
136 const Evaluation&
mu = FluidSystem::viscosity(fluidState_,
paramCache, liquidPhaseIdx);
137 fluidState_.setViscosity(liquidPhaseIdx,
mu);
138 fluidState_.setViscosity(gasPhaseIdx, 1
e-20);
141 const Evaluation& rho = FluidSystem::density(fluidState_,
paramCache, liquidPhaseIdx);
142 fluidState_.setDensity(liquidPhaseIdx, rho);
143 fluidState_.setDensity(gasPhaseIdx, 1
e-20);
146 MaterialLaw::relativePermeabilities(relativePermeability_,
materialParams, fluidState_);
154 porosity_ = problem.porosity(elemCtx, dofIdx,
timeIdx);
157 intrinsicPerm_ = problem.intrinsicPermeability(elemCtx, dofIdx,
timeIdx);
160 FluxIntensiveQuantities::update_(elemCtx, dofIdx,
timeIdx);