diff --git a/dumux/discretization/upwindscheme.hh b/dumux/discretization/upwindscheme.hh index a8265664b29cc8adacb69f57dd02963b334ab86d..821030f2412bae6e1dba66614f339fa9205dbf41 100644 --- a/dumux/discretization/upwindscheme.hh +++ b/dumux/discretization/upwindscheme.hh @@ -56,9 +56,10 @@ public: static const Scalar upwindWeight = getParam<Scalar>("Implicit.UpwindWeight"); const auto& scvf = fluxVars.scvFace(); - const auto& elemVolVars = fluxVars.elemVolVars(); - const auto& insideVolVars = elemVolVars[scvf.insideScvIdx()]; - const auto& outsideVolVars = elemVolVars[scvf.outsideScvIdx()]; + const auto& insideScv = fluxVars.fvGeometry().scv(scvf.insideScvIdx()); + const auto& outsideScv = fluxVars.fvGeometry().scv(scvf.outsideScvIdx()); + const auto& insideVolVars = fluxVars.elemVolVars()[insideScv]; + const auto& outsideVolVars = fluxVars.elemVolVars()[outsideScv]; if (std::signbit(flux)) // if sign of flux is negative return flux*(upwindWeight*upwindTerm(outsideVolVars)