55 static NumEqVector
flux(
const Problem& problem,
56 const typename FVElementGeometry::GridGeometry::GridView::template Codim<0>::Entity& element,
57 const FVElementGeometry& fvGeometry,
58 const ElementVolumeVariables& elemVolVars,
59 const typename FVElementGeometry::SubControlVolumeFace& scvf)
63 const auto& insideVolVars = elemVolVars[scvf.insideScvIdx()];
64 const auto& outsideVolVars = elemVolVars[scvf.outsideScvIdx()];
65 const auto& nxy = scvf.unitOuterNormal();
66 const auto gravity = problem.spatialParams().gravity(scvf.center());
69 outsideVolVars.waterDepth(),
70 insideVolVars.velocity(0),
71 outsideVolVars.velocity(0),
72 insideVolVars.velocity(1),
73 outsideVolVars.velocity(1),
74 insideVolVars.bedSurface(),
75 outsideVolVars.bedSurface(),
79 NumEqVector localFlux(0.0);
80 localFlux[0] = riemannFlux[0] * scvf.area();
81 localFlux[1] = riemannFlux[1] * scvf.area();
82 localFlux[2] = riemannFlux[2] * scvf.area();