Commit 2093804a authored by Kilian Weishaupt's avatar Kilian Weishaupt
Browse files

[staggered][freeflow] Fix handling of Neumann BCs

* fluxes over all faces (except the one on the boundary)
  need to be considerd
parent 905ab559
......@@ -248,7 +248,7 @@ public:
// Handle inflow or outflow conditions.
// Treat the staggered half-volume adjacent to the boundary as if it was on the opposite side of the boundary.
// The respective face's outer normal vector will point in the same direction as the scvf's one.
if(scvf.boundary())
if(scvf.boundary() && problem.boundaryTypes(element, scvf).isDirichlet(Indices::pressureIdx))
frontalFlux += inflowOutflowBoundaryFlux_(problem, element, scvf, elemVolVars, elemFaceVars);
// Account for the staggered face's area. For rectangular elements, this equals the area of the scvf
......
......@@ -299,7 +299,7 @@ protected:
residual = problem.neumann(element, fvGeometry, elemVolVars, elemFaceVars, scvf)[Indices::velocity(scvf.directionIndex())]
* extrusionFactor * scvf.area();
// treat the remaining (normal) faces of the staggered control volume
// treat the remaining (frontal and lateral) faces of the staggered control volume
residual += computeFluxForFace(problem, element, scvf, fvGeometry, elemVolVars, elemFaceVars, elemFluxVarsCache);
}
else if(bcTypes.isSymmetry())
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment