ECL peaceman well: use total mobility for injectors instead of 1/mu

SPE is closer, but not close enough. Note that the using total
mobility is probably "more wrong" than the previous approach (i.e.,
lambda = 1/viscosity of the injected phase)
This commit is contained in:
Andreas Lauser 2014-12-16 19:24:45 +01:00
parent c1a7dd53f0
commit b84bcedb27

View File

@ -1155,7 +1155,14 @@ protected:
paramCache.updateAll(injectionFluidState_);
rho = FluidSystem::density(injectionFluidState_, paramCache, phaseIdx);
lambda = 1.0/FluidSystem::viscosity(injectionFluidState_, paramCache, phaseIdx);
// use the total mobility, i.e. the sum of all phase mobilities at the
// injector cell. this seems a bit weird: at the wall of the borehole,
// there should only be injected phase present, so its mobility should be
// 1/viscosity...
lambda = 0.0;
for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) {
lambda += dofVars.mobility[phaseIdx];
}
}
else
OPM_THROW(std::logic_error,