Merge pull request #5088 from totto82/avgTransMult

use arithmetic averaged compaction transmissibility multipliers
This commit is contained in:
Tor Harald Sandve
2024-01-12 10:01:14 +01:00
committed by GitHub

View File

@@ -285,9 +285,8 @@ public:
const bool upwindIsInterior = (static_cast<unsigned>(upIdx[phaseIdx]) == interiorDofIdx);
const IntensiveQuantities& up = upwindIsInterior ? intQuantsIn : intQuantsEx;
// TODO: should the rock compaction transmissibility multiplier be upstreamed
// or averaged? all fluids should see the same compaction?!
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;
const auto& materialLawManager = problem.materialLawManager();
FaceDir::DirEnum facedir = FaceDir::DirEnum::Unknown;
@@ -300,7 +299,7 @@ public:
else
volumeFlux[phaseIdx] =
pressureDifferences[phaseIdx]*
(Toolbox::value(up.mobility(phaseIdx, facedir))*Toolbox::value(transMult)*(-trans/faceArea));
(Toolbox::value(up.mobility(phaseIdx, facedir))*transMult*(-trans/faceArea));
}
}