Enforces solvablity by scaling outflow to match with inflow.
Only boundaries with BCType::direction_dependent take part. The inflow and outflow are integrated over the tagged boundary faces, and the outflow is then scaled by influx/outflux. Each face is weighted by its own area, so 2D RZ is handled (an r-face carries 2*pi*r*dz and a z-face 2*pi*r*dr); spherical coordinates are not supported and are asserted against. The test for "no flow at all" compares the mean normal speed over the tagged faces against small_vel, so it does not depend on the length scale of the problem.
- Parameters
-
| [in,out] | vels_vec | Per level, the normal velocity in each direction. Each MultiFab is read and written in its boundary ghost cells, so it needs (filled) ghost cells: one in the normal direction if it is cell-centered, and one in each tangential direction if include_bndry_corners is true. This is asserted. |
| [in] | bc_type | Boundary conditions for the normal velocity. |
| [in] | geom | Per level geometry. |
| [in] | include_bndry_corners | Also tag and correct the cells in the corners of the domain boundary. |