|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
Classes | |
| struct | HorizFace |
| struct | VertFace |
| struct | HorizMasks |
| struct | VertMasks |
Functions | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | snapped (amrex::Real b, bool snap) noexcept |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | raw_face_blank (const amrex::Array4< const amrex::Real > &t, const amrex::Array4< const amrex::Real > &tf, int i, int j, int k, int io, int jo, int ko) noexcept |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | face_blank (const amrex::Array4< const amrex::Real > &t, const amrex::Array4< const amrex::Real > &tf, int i, int j, int k, int io, int jo, int ko, bool snap, amrex::Real small) noexcept |
| template<int dir> | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE HorizFace | horiz_face (const amrex::Array4< const amrex::Real > &t, const amrex::Array4< const amrex::Real > &tf, int i, int j, int k, int klo, bool snap, amrex::Real small) noexcept |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE VertFace | vert_face (const amrex::Array4< const amrex::Real > &t, const amrex::Array4< const amrex::Real > &tf, int i, int j, int k, bool snap, amrex::Real small) noexcept |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE HorizMasks | horiz_masks (amrex::Real t, amrex::Real below, amrex::Real above, amrex::Real lo, amrex::Real hi, bool normal_face, bool use_most, bool snap) noexcept |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE HorizMasks | horiz_masks (const HorizFace &f, bool use_most, bool snap) noexcept |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE VertMasks | vert_masks (amrex::Real t, amrex::Real above, amrex::Real south, amrex::Real north, amrex::Real west, amrex::Real east, bool above_floor, bool normal_face, bool use_most, bool snap) noexcept |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE VertMasks | vert_masks (const VertFace &f, bool above_floor, bool use_most, bool snap) noexcept |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | implicit_weight (amrex::Real linear, amrex::Real raw) noexcept |
|
noexcept |
The face blanking as the building kernels read it: with the snap, from the snapped cells (solid when either is), so both EB builds give the same staircase; otherwise raw_face_blank; then thresholded at small (eb2.small_volfrac), below which the face counts as fluid.
Referenced by horiz_face(), ERF::make_if_projection_sigma(), and vert_face().


|
noexcept |
| t | Cell blanking (with at least one ghost cell in each direction) |
| tf | Face-centred blanking of this direction, or an empty Array4 |
| klo | Lowest cell index of the domain (the face below the domain bottom counts as fluid) |
| snap | erf.if_snap_partial_cells |
| small | eb2.small_volfrac |

|
noexcept |
| t | Blanking of the face |
| below | Blanking of the face below (zero at the domain bottom) |
| above | Blanking of the face above |
| lo | Blanking of the neighbouring face on the low side across the other direction |
| hi | Blanking of the neighbouring face on the high side across the other direction |
| normal_face | With the snap, a face joining a solid and a fluid cell (wall-normal) |
| use_most | erf.if_use_most |
| snap | erf.if_snap_partial_cells |
Referenced by horiz_masks(), ImmersedForcingBuildings_Xmom(), ImmersedForcingBuildings_Ymom(), and ERF::make_if_projection_sigma().

|
noexcept |

|
noexcept |
Weight of the drag the implicit projection applies on a face (erf.if_implicit_projection): the linear-drag weight of the kernel, and the full rate on every face the explicit path zeroes after the projection (raw blanking 1, which the kernels leave without a wall law). The latter also caps the vertical roof face of an exact box without the snap, where the explicit kernel adds the roof and the interior drag together (weight 2 t), at one.
Referenced by ERF::make_if_projection_sigma().

|
noexcept |
The face blanking the explicit path zeroes on after the projection (ERF_SlowRhsPost.cpp): the face-centred fraction when the build has it, else the mean of the two cells the face joins. (io, jo, ko) is the unit vector of the face's direction.
Referenced by face_blank(), horiz_face(), and vert_face().

|
noexcept |
Cell blanking snapped to solid (1) or fluid (0) at half (erf.if_snap_partial_cells), else as is
Referenced by face_blank(), horiz_face(), and vert_face().

|
noexcept |
Referenced by ImmersedForcingBuildings_Zmom(), and ERF::make_if_projection_sigma().


|
noexcept |
| t | Blanking of the face |
| above | Blanking of the face above |
| south,north,west,east | Blanking of the neighbouring z-faces |
| above_floor | The face is not the domain bottom (k >= 1) |
| normal_face | With the snap, a face joining a solid and a fluid cell (wall-normal) |
| use_most | erf.if_use_most |
| snap | erf.if_snap_partial_cells |
Referenced by ImmersedForcingBuildings_Zmom(), ERF::make_if_projection_sigma(), and vert_masks().

|
noexcept |
