Redistribution
This section first describes the “small cell problem” which motivates redistribution. We then discuss the redistribution methods AMReXHydro supports.
Small Volume Embedded Boundary Cells
First, we review finite volume discretizations with embedded boundaries as used by AMReXHydro. Then we illustrate the small cell problem.
Finite Volume Discretizations
Consider a system of PDEs to advance a conserved quantity \(U\) with fluxes \(F\):
A conservative, finite volume discretization starts with the divergence theorm
In an embedded boundary cell, the “conservative divergence” is discretized (as \(D^c(F)\)) as follows
Geometry is discretely represented by volumes (\(V = \kappa h^d\)) and apertures (\(A= \alpha h^{d1}\)), where \(h\) is the (uniform) mesh spacing at that AMR level, \(\kappa\) is the volume fraction and \(\alpha\) are the area fractions. Without multivalued cells the volume fractions, area fractions and cell and face centroids (see Table 1) are the only geometric information needed to compute secondorder fluxes centered at the face centroids, and to infer the connectivity of the cells. Cells are connected if adjacent on the Cartesian mesh, and only via coordinatealigned faces on the mesh. If an aperture, \(\alpha = 0\), between two cells, they are not directly connected to each other.
A typical twodimensional uniform cell that is
cut by the embedded boundary. The grey area
represents the region excluded from the
calculation. The portion of the cell faces
faces (labelled with A) through which fluxes
flow are the “uncovered” regions of the full
cell faces. The volume (labelled V) is the
uncovered region of the interior.

Fluxes in a cut cell.

Small Cells And Stability
In the context of timeexplicit advance methods for, say hyperbolic conservation laws, a naive discretization in time of (16) using (17),
would have a time step constraint \(\delta t \sim h \kappa^{1/D}/V_m\), which goes to zero as the size of the smallest volume fraction \(\kappa\) in the calculation. Since EB volume fractions can be arbitrarily small, this presents an unacceptable constraint. This is the socalled “small cell problem,” and AMReXHydro addresses it with redistribution methods.
Flux Redistribution
Consider a conservative update in the form:
For each valid cell in the domain, compute the conservative divergence, \((\nabla \cdot F)^c\) , of the convective fluxes, \(F\)
Here \(N_f\) is the number of faces of cell \(i\), \(\vec{n}_f\) and \(A_f\) are the unit normal and area of the \(f\) th face respectively, and \(\mathcal{V}_i\) is the volume of cell \(i\) given by
where \(\mathcal{K}_i\) is the volume fraction of cell \(i\) .
Now, a conservative update can be written as
For each cell cut by the EB geometry, compute the nonconservative update, \(\nabla \cdot {F}^{nc}\) ,
where \(N(i)\) is the index set of cell \(i\) and its neighbors.
For each cell cut by the EB geometry, compute the convective update \(\nabla \cdot{F}^{EB}\) follows:
For each cell cut by the EB geometry, redistribute its mass loss, \(\delta M_i\) , to its neighbors:
where the mass loss in cell \(i\) , \(\delta M_i\) , is given by
and the weights, \(w_{ij}\) , are
Note that \(\nabla \cdot{F}_i^{EB}\) gives an update for \(\rho \phi\) ; i.e.,
Typically, the redistribution neighborhood for each cell is one that can be reached via a monotonic path in each coordinate direction of unit length (see, e.g., Fig. 1)
State Redistribution
For state redistribution we implement the weighted state redistribution algorithm as described in Guiliani et al (2021), which is available on arxiv . This is an extension of the original state redistribution algorithm of Berger and Guiliani (2020).