33    static Scalar 
apply(
const FluxVariables& fluxVars,
 
   34                        const UpwindTermFunction& upwindTerm,
 
   35                        Scalar flux, 
int phaseIdx)
 
   40        const auto& elemVolVars = fluxVars.elemVolVars();
 
   41        const auto& scvf = fluxVars.scvFace();
 
   42        const auto& insideScv = fluxVars.fvGeometry().scv(scvf.insideScvIdx());
 
   43        const auto& insideVolVars = elemVolVars[insideScv];
 
   46        if (scvf.interiorBoundary())
 
   48            const auto& cm = fluxVars.problem().couplingManager();
 
   49            const auto& outsideVolVars = cm.getLowDimVolVars(fluxVars.element(), scvf);
 
   50            if (std::signbit(flux)) 
 
   51                return flux*(upwindWeight*upwindTerm(outsideVolVars)
 
   52                             + (1.0 - upwindWeight)*upwindTerm(insideVolVars));
 
   54                return flux*(upwindWeight*upwindTerm(insideVolVars)
 
   55                             + (1.0 - upwindWeight)*upwindTerm(outsideVolVars));
 
   59            const auto& outsideScv = fluxVars.fvGeometry().scv(scvf.outsideScvIdx());
 
   60            const auto& outsideVolVars = elemVolVars[outsideScv];
 
   61            if (std::signbit(flux)) 
 
   62                return flux*(upwindWeight*upwindTerm(outsideVolVars)
 
   63                             + (1.0 - upwindWeight)*upwindTerm(insideVolVars));
 
   65                return flux*(upwindWeight*upwindTerm(insideVolVars)
 
   66                             + (1.0 - upwindWeight)*upwindTerm(outsideVolVars));