74                                               const Element &element,
 
   75                                               const FVElementGeometry& fvGeometry,
 
   76                                               const ElementVolumeVariables& elemVolVars,
 
   77                                               const ElementFaceVariables& elemFaceVars,
 
   78                                               const SubControlVolumeFace &scvf,
 
   79                                               const FluxVariablesCache& fluxVarsCache)
 
   81        CellCenterPrimaryVariables flux = ParentType::computeMassFlux(problem, element, fvGeometry,
 
   82                                                                      elemVolVars, elemFaceVars, scvf, fluxVarsCache);
 
   85        auto upwindTermK = [](
const auto& volVars)
 
   87            return volVars.viscosityTilde() * volVars.density();
 
   90        flux[viscosityTildeEqIdx]
 
   91            = ParentType::advectiveFluxForCellCenter(problem, fvGeometry, elemVolVars, elemFaceVars, scvf, upwindTermK);
 
   94        const auto& insideScv = fvGeometry.scv(scvf.insideScvIdx());
 
   95        const auto& outsideScv = fvGeometry.scv(scvf.outsideScvIdx());
 
   96        const auto& insideVolVars = elemVolVars[scvf.insideScvIdx()];
 
   97        const auto& outsideVolVars = elemVolVars[scvf.outsideScvIdx()];
 
  100        Scalar insideCoeff = (insideVolVars.viscosity() + insideVolVars.viscosityTilde() * insideVolVars.density())
 
  101                             / insideVolVars.sigma();
 
  102        Scalar outsideCoeff = (outsideVolVars.viscosity() + outsideVolVars.viscosityTilde() * outsideVolVars.density())
 
  103                              / outsideVolVars.sigma();
 
  106        insideCoeff *= insideVolVars.extrusionFactor();
 
  107        outsideCoeff *= outsideVolVars.extrusionFactor();
 
  115            distance = (insideScv.dofPosition() - scvf.ipGlobal()).two_norm();
 
  121                                  (outsideScv.dofPosition() - scvf.ipGlobal()).two_norm(),
 
  122                                  (insideScv.dofPosition() - scvf.ipGlobal()).two_norm());
 
  123            distance = (outsideScv.dofPosition() - insideScv.dofPosition()).two_norm();
 
  126        const auto bcTypes = problem.boundaryTypes(element, scvf);
 
  127        if (!(scvf.boundary() && (bcTypes.isOutflow(Indices::viscosityTildeEqIdx)
 
  128                                  || bcTypes.isSymmetry())))
 
  130            flux[viscosityTildeEqIdx]
 
  132                   * (insideVolVars.viscosityTilde() - outsideVolVars.viscosityTilde())
 
  133                   * Extrusion::area(fvGeometry, scvf);