mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
use arithmetic averaged compaction transmissibility multipliers
This commit is contained in:
parent
7b7bb2ae44
commit
15c91d88c6
@ -356,7 +356,8 @@ public:
|
|||||||
|
|
||||||
const IntensiveQuantities& up = (upIdx == interiorDofIdx) ? intQuantsIn : intQuantsEx;
|
const IntensiveQuantities& up = (upIdx == interiorDofIdx) ? intQuantsIn : intQuantsEx;
|
||||||
unsigned globalUpIndex = (upIdx == interiorDofIdx) ? globalIndexIn : globalIndexEx;
|
unsigned globalUpIndex = (upIdx == interiorDofIdx) ? globalIndexIn : globalIndexEx;
|
||||||
const Evaluation& transMult = up.rockCompTransMultiplier();
|
// Use arithmetic average (more accurate with harmonic, but that requires recomputing the transmissbility)
|
||||||
|
const Evaluation transMult = (intQuantsIn.rockCompTransMultiplier() + Toolbox::value(intQuantsEx.rockCompTransMultiplier()))/2;
|
||||||
Evaluation darcyFlux;
|
Evaluation darcyFlux;
|
||||||
if (pressureDifference == 0) {
|
if (pressureDifference == 0) {
|
||||||
darcyFlux = 0.0; // NB maybe we could drop calculations
|
darcyFlux = 0.0; // NB maybe we could drop calculations
|
||||||
@ -365,7 +366,7 @@ public:
|
|||||||
darcyFlux = pressureDifference * up.mobility(phaseIdx, facedir) * transMult * (-trans / faceArea);
|
darcyFlux = pressureDifference * up.mobility(phaseIdx, facedir) * transMult * (-trans / faceArea);
|
||||||
else
|
else
|
||||||
darcyFlux = pressureDifference *
|
darcyFlux = pressureDifference *
|
||||||
(Toolbox::value(up.mobility(phaseIdx, facedir)) * Toolbox::value(transMult) * (-trans / faceArea));
|
(Toolbox::value(up.mobility(phaseIdx, facedir)) * transMult * (-trans / faceArea));
|
||||||
}
|
}
|
||||||
unsigned activeCompIdx = Indices::canonicalToActiveComponentIndex(FluidSystem::solventComponentIndex(phaseIdx));
|
unsigned activeCompIdx = Indices::canonicalToActiveComponentIndex(FluidSystem::solventComponentIndex(phaseIdx));
|
||||||
darcy[conti0EqIdx + activeCompIdx] = darcyFlux.value() * faceArea; // NB! For the FLORES fluxes without derivatives
|
darcy[conti0EqIdx + activeCompIdx] = darcyFlux.value() * faceArea; // NB! For the FLORES fluxes without derivatives
|
||||||
|
Loading…
Reference in New Issue
Block a user