|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
Implements EB advection source terms for density and scalar state. More...
#include <ERF_EBAdvection.H>#include <ERF_EBAdvectionSrcForScalars.H>#include <ERF_IndexDefines.H>#include <ERF_TerrainMetrics.H>#include <ERF_Advection.H>#include <ERF_AdvectionSrcForScalars.H>
Functions | |
| void | EBAdvectionSrcForRho (const Box &bx, const Array4< Real > &advectionSrc, const Array4< const Real > &rho_u, const Array4< const Real > &rho_v, const Array4< const Real > &Omega, const Array4< Real > &avg_xmom, const Array4< Real > &avg_ymom, const Array4< Real > &avg_zmom, const Array4< const int > &mask_arr, const Array4< const EBCellFlag > &cfg_arr, const Array4< const Real > &ax_arr, const Array4< const Real > &ay_arr, const Array4< const Real > &az_arr, const Array4< const Real > &fcx_arr, const Array4< const Real > &fcy_arr, const Array4< const Real > &fcz_arr, const Array4< const Real > &detJ, const GpuArray< Real, AMREX_SPACEDIM > &cellSizeInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_my, const Array4< const Real > &mf_uy, const Array4< const Real > &mf_vx, const GpuArray< const Array4< Real >, AMREX_SPACEDIM > &flx_arr, const bool fixed_rho, bool already_on_centroids) |
| Compute the EB advective tendency for rho and rho theta. More... | |
| void | EBAdvectionSrcForScalars (const Box &bx, const int icomp, const int ncomp, const Array4< const Real > &avg_xmom, const Array4< const Real > &avg_ymom, const Array4< const Real > &avg_zmom, const Array4< const Real > &cell_prim, const Array4< Real > &advectionSrc, const Array4< const int > &mask_arr, const Array4< const EBCellFlag > &cfg_arr, const Array4< const Real > &ax_arr, const Array4< const Real > &ay_arr, const Array4< const Real > &az_arr, const Array4< const Real > &fcx_arr, const Array4< const Real > &fcy_arr, const Array4< const Real > &fcz_arr, const Array4< const Real > &detJ, const GpuArray< Real, AMREX_SPACEDIM > &cellSizeInv, const Array4< const Real > &mf_mx, const Array4< const Real > &mf_my, const AdvType horiz_adv_type, const AdvType vert_adv_type, const Real horiz_upw_frac, const Real vert_upw_frac, const GpuArray< const Array4< Real >, AMREX_SPACEDIM > &flx_arr, const Box &domain, const BCRec *bc_ptr_h, bool already_on_centroids) |
| Compute the EB advective tendency for scalars. More... | |
Implements EB advection source terms for density and scalar state.
| void EBAdvectionSrcForRho | ( | const Box & | bx, |
| const Array4< Real > & | advectionSrc, | ||
| const Array4< const Real > & | rho_u, | ||
| const Array4< const Real > & | rho_v, | ||
| const Array4< const Real > & | Omega, | ||
| const Array4< Real > & | avg_xmom, | ||
| const Array4< Real > & | avg_ymom, | ||
| const Array4< Real > & | avg_zmom, | ||
| const Array4< const int > & | mask_arr, | ||
| const Array4< const EBCellFlag > & | cfg_arr, | ||
| const Array4< const Real > & | ax_arr, | ||
| const Array4< const Real > & | ay_arr, | ||
| const Array4< const Real > & | az_arr, | ||
| const Array4< const Real > & | fcx_arr, | ||
| const Array4< const Real > & | fcy_arr, | ||
| const Array4< const Real > & | fcz_arr, | ||
| const Array4< const Real > & | detJ, | ||
| const GpuArray< Real, AMREX_SPACEDIM > & | cellSizeInv, | ||
| const Array4< const Real > & | mf_mx, | ||
| const Array4< const Real > & | mf_my, | ||
| const Array4< const Real > & | mf_uy, | ||
| const Array4< const Real > & | mf_vx, | ||
| const GpuArray< const Array4< Real >, AMREX_SPACEDIM > & | flx_arr, | ||
| const bool | fixed_rho, | ||
| bool | already_on_centroids | ||
| ) |
Compute the EB advective tendency for rho and rho theta.
This routine forms density fluxes, stores momentum averages for later scalar advection, and evaluates the EB-aware divergence at cell centers.
| [in] | bx | Box over which the state is updated. |
| [out] | advectionSrc | Tendency for the density update equation. |
| [in] | rho_u | x-component of momentum. |
| [in] | rho_v | y-component of momentum. |
| [in] | Omega | Momentum component normal to the z-coordinate surface. |
| [out] | avg_xmom | x-face momentum average defined by this routine. |
| [out] | avg_ymom | y-face momentum average defined by this routine. |
| [out] | avg_zmom | z-face momentum average defined by this routine. |
| [in] | mask_arr | Cell-centered mask used for EB face interpolation. |
| [in] | cfg_arr | Cell-centered EB flags. |
| [in] | ax_arr | Area fraction on x-faces. |
| [in] | ay_arr | Area fraction on y-faces. |
| [in] | az_arr | Area fraction on z-faces. |
| [in] | fcx_arr | Face centroid on x-faces. |
| [in] | fcy_arr | Face centroid on y-faces. |
| [in] | fcz_arr | Face centroid on z-faces. |
| [in] | detJ | Jacobian of the metric transformation. |
| [in] | cellSizeInv | Inverse grid spacing. |
| [in] | mf_mx | x-direction map factor at cell centers. |
| [in] | mf_my | y-direction map factor at cell centers. |
| [in] | mf_uy | Map factor used for x-momentum fluxes. |
| [in] | mf_vx | Map factor used for y-momentum fluxes. |
| [out] | flx_arr | Directional flux arrays. |
| [in] | fixed_rho | Whether density tendency is forced to zero. |
| [in] | already_on_centroids | Whether EB geometric data are already centroid-adjusted. |

| void EBAdvectionSrcForScalars | ( | const Box & | bx, |
| const int | icomp, | ||
| const int | ncomp, | ||
| const Array4< const Real > & | avg_xmom, | ||
| const Array4< const Real > & | avg_ymom, | ||
| const Array4< const Real > & | avg_zmom, | ||
| const Array4< const Real > & | cell_prim, | ||
| const Array4< Real > & | advectionSrc, | ||
| const Array4< const int > & | mask_arr, | ||
| const Array4< const EBCellFlag > & | cfg_arr, | ||
| const Array4< const Real > & | ax_arr, | ||
| const Array4< const Real > & | ay_arr, | ||
| const Array4< const Real > & | az_arr, | ||
| const Array4< const Real > & | fcx_arr, | ||
| const Array4< const Real > & | fcy_arr, | ||
| const Array4< const Real > & | fcz_arr, | ||
| const Array4< const Real > & | detJ, | ||
| const GpuArray< Real, AMREX_SPACEDIM > & | cellSizeInv, | ||
| const Array4< const Real > & | mf_mx, | ||
| const Array4< const Real > & | mf_my, | ||
| const AdvType | horiz_adv_type, | ||
| const AdvType | vert_adv_type, | ||
| const Real | horiz_upw_frac, | ||
| const Real | vert_upw_frac, | ||
| const GpuArray< const Array4< Real >, AMREX_SPACEDIM > & | flx_arr, | ||
| const Box & | domain, | ||
| const BCRec * | bc_ptr_h, | ||
| bool | already_on_centroids | ||
| ) |
Compute the EB advective tendency for scalars.
| [in] | bx | Box over which the scalars are updated. |
| [in] | icomp | Component of the first scalar to update. |
| [in] | ncomp | Number of scalar components to update. |
| [in] | avg_xmom | x-face momentum average from EBAdvectionSrcForRho. |
| [in] | avg_ymom | y-face momentum average from EBAdvectionSrcForRho. |
| [in] | avg_zmom | z-face momentum average from EBAdvectionSrcForRho. |
| [in] | cell_prim | Primitive scalar variables. |
| [out] | advectionSrc | Tendency for the scalar update equation. |
| [in] | mask_arr | Cell-centered mask used for EB face interpolation. |
| [in] | cfg_arr | Cell-centered EB flags. |
| [in] | ax_arr | Area fraction on x-faces. |
| [in] | ay_arr | Area fraction on y-faces. |
| [in] | az_arr | Area fraction on z-faces. |
| [in] | fcx_arr | Face centroid on x-faces. |
| [in] | fcy_arr | Face centroid on y-faces. |
| [in] | fcz_arr | Face centroid on z-faces. |
| [in] | detJ | Jacobian of the metric transformation. |
| [in] | cellSizeInv | Inverse grid spacing. |
| [in] | mf_mx | x-direction map factor at cell centers. |
| [in] | mf_my | y-direction map factor at cell centers. |
| [in] | horiz_adv_type | Horizontal advection scheme. |
| [in] | vert_adv_type | Vertical advection scheme. |
| [in] | horiz_upw_frac | Horizontal upwinding fraction for blended schemes. |
| [in] | vert_upw_frac | Vertical upwinding fraction for blended schemes. |
| [out] | flx_arr | Directional flux arrays. |
| [in] | domain | Problem-domain box used to detect open boundaries. |
| [in] | bc_ptr_h | Boundary conditions for conserved components. |
| [in] | already_on_centroids | Whether EB geometric data are already centroid-adjusted. |
