mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
ebos: slightly improve the transmissibility calculation
This commit is contained in:
parent
567adcab6f
commit
86daf25aa6
@ -279,18 +279,20 @@ private:
|
|||||||
const DimVector& distance,
|
const DimVector& distance,
|
||||||
const DimMatrix& perm) const
|
const DimMatrix& perm) const
|
||||||
{
|
{
|
||||||
|
Scalar isArea = is.geometry().volume();
|
||||||
|
DimVector n = is.centerUnitOuterNormal();
|
||||||
|
|
||||||
unsigned dimIdx = faceIdx/2;
|
unsigned dimIdx = faceIdx/2;
|
||||||
assert(dimIdx < dimWorld);
|
assert(dimIdx < dimWorld);
|
||||||
halfTrans = perm[dimIdx][dimIdx];
|
halfTrans = perm[dimIdx][dimIdx];
|
||||||
halfTrans *= is.geometry().volume();
|
halfTrans *= isArea;
|
||||||
|
|
||||||
const auto &normal = is.centerUnitOuterNormal();
|
|
||||||
Scalar val = 0;
|
Scalar val = 0;
|
||||||
for (unsigned i = 0; i < normal.size(); ++i)
|
for (unsigned i = 0; i < n.size(); ++i)
|
||||||
val += is.centerUnitOuterNormal()[i]*distance[i];
|
val += n[i]*distance[i];
|
||||||
|
|
||||||
halfTrans *= std::abs<Scalar>(val);
|
halfTrans *= std::abs<Scalar>(val);
|
||||||
halfTrans /= distance*distance;
|
halfTrans /= distance.two_norm2();
|
||||||
}
|
}
|
||||||
|
|
||||||
DimVector distanceVector_(const Intersection& is,
|
DimVector distanceVector_(const Intersection& is,
|
||||||
|
Loading…
Reference in New Issue
Block a user