41                                 const UpwindFunction& upwind)
 
   44        static constexpr bool useMoles = ModelTraits::useMoles();
 
   45        static constexpr auto numComponents = ModelTraits::numFluidComponents();
 
   46        static constexpr auto replaceCompEqIdx = ModelTraits::replaceCompEqIdx();
 
   47        static constexpr bool useTotalMassBalance = replaceCompEqIdx < numComponents;
 
   49        for (
int compIdx = 0; compIdx < numComponents; ++compIdx)
 
   52            const auto eqIdx = ModelTraits::Indices::conti0EqIdx + compIdx;
 
   54            if (eqIdx == replaceCompEqIdx)
 
   57            auto upwindTerm = [&]()
 
   59                if constexpr (useMoles)
 
   60                    return [compIdx](
const auto& volVars) { 
return volVars.molarDensity()*volVars.moleFraction(compIdx); };
 
   62                    return [compIdx](
const auto& volVars) { 
return volVars.density()*volVars.massFraction(compIdx); };
 
   65            flux[eqIdx] += upwind(upwindTerm);
 
   69        if constexpr(useTotalMassBalance)
 
   71            auto upwindTerm = [&]()
 
   73                return [](
const auto& volVars) { 
return volVars.density(); };
 
   76            flux[replaceCompEqIdx] += upwind(upwindTerm);