From 86daf25aa69cd810729d52bbcd9370382d569223 Mon Sep 17 00:00:00 2001 From: Andreas Lauser Date: Wed, 2 Mar 2016 13:25:38 +0100 Subject: [PATCH] ebos: slightly improve the transmissibility calculation --- applications/ebos/ecltransmissibility.hh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/applications/ebos/ecltransmissibility.hh b/applications/ebos/ecltransmissibility.hh index aa34dca9b..14d8bf78a 100644 --- a/applications/ebos/ecltransmissibility.hh +++ b/applications/ebos/ecltransmissibility.hh @@ -279,18 +279,20 @@ private: const DimVector& distance, const DimMatrix& perm) const { + Scalar isArea = is.geometry().volume(); + DimVector n = is.centerUnitOuterNormal(); + unsigned dimIdx = faceIdx/2; assert(dimIdx < dimWorld); halfTrans = perm[dimIdx][dimIdx]; - halfTrans *= is.geometry().volume(); + halfTrans *= isArea; - const auto &normal = is.centerUnitOuterNormal(); Scalar val = 0; - for (unsigned i = 0; i < normal.size(); ++i) - val += is.centerUnitOuterNormal()[i]*distance[i]; + for (unsigned i = 0; i < n.size(); ++i) + val += n[i]*distance[i]; halfTrans *= std::abs(val); - halfTrans /= distance*distance; + halfTrans /= distance.two_norm2(); } DimVector distanceVector_(const Intersection& is,