Embedded Boundaries
incflo follows AMReX’s approach to embedded boundaries (EB), which is described in the
AMReX EB documentation.
By default, incflo uses AMReX’s constructive solid geometry framework defined in the namespace amrex::EB2
.
Alternatively, the constructive solid geometry can also be created using OpenSCAD’s CSG file format by installing
the csg-eb
library. To use this option, incflo must be built with the flag
USE_CSG=TRUE
and CSGEB_HOME
must be set to where the library was installed.
See MFIX’s CSG-EB repository for more details about this format.
incflo provides several options of embedded boundary geometries. The inputs parameter incflo.geometry = XXX
determines which geometry is selected by incflo::MakeEBGeometry()
within incflo/src/embedded_boundaries
.
The procedure to create your own EB geometry is described in the AMReX documentation on Initializing the Geometric Database.
As discussed in the AMReX documentation, note that when constructing the EB, we must specify a
maximum coarsening level (max_crse_level
):
EB2::Build(gshop, geom[lev], required_crse_lev, max_crse_level);
This specifies to which level of coarseness the EB is still defined. It might not be
immediately obvious, but the multigrid solver (used in the fluid solve) also
depends indirectly on this parameters. Choosing a value of max_crse_level
that is too small might restrict
how many levels the MLMG solver can use, and therefore give slightly different answers in the fluid solve.