|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|


Go to the source code of this file.
Functions | |
| template<typename InterpType_H , typename InterpType_V > | |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | AdvectionSrcForXMom (int i, int j, int k, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &ax, const amrex::Array4< const amrex::Real > &, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, InterpType_H interp_u_h, InterpType_V interp_u_v, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_ux_inv, const amrex::Array4< const amrex::Real > &mf_uy_inv, const amrex::Array4< const amrex::Real > &mf_vx_inv) |
| template<typename InterpType_H , typename InterpType_V > | |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | AdvectionSrcForYMom (int i, int j, int k, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &, const amrex::Array4< const amrex::Real > &ay, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, InterpType_H interp_v_h, InterpType_V interp_v_v, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_uy_inv, const amrex::Array4< const amrex::Real > &mf_vx_inv, const amrex::Array4< const amrex::Real > &mf_vy_inv) |
| template<typename InterpType_H , typename InterpType_V , typename WallInterpType > | |
| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | AdvectionSrcForZMom (int i, int j, int k, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &, const amrex::Array4< const amrex::Real > &, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, InterpType_H interp_omega_h, InterpType_V interp_omega_v, WallInterpType interp_omega_wall, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy_inv, const amrex::Array4< const amrex::Real > &mf_vx_inv, const AdvType vert_adv_type, const int lo_z_face, const int hi_z_face) |
| template<typename InterpType_H , typename InterpType_V , typename WallInterpType > | |
| void | AdvectionSrcForMomWrapper (const amrex::Box &bxx, const amrex::Box &bxy, const amrex::Box &bxz, const amrex::Array4< amrex::Real > &rho_u_rhs, const amrex::Array4< amrex::Real > &rho_v_rhs, const amrex::Array4< amrex::Real > &rho_w_rhs, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &ax, const amrex::Array4< const amrex::Real > &ay, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_ux_inv, const amrex::Array4< const amrex::Real > &mf_vx_inv, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy_inv, const amrex::Array4< const amrex::Real > &mf_vy_inv, const amrex::Real upw_frac_h, const amrex::Real upw_frac_v, const AdvType vert_adv_type, const int lo_z_face, const int hi_z_face) |
| template<typename InterpType_H > | |
| void | AdvectionSrcForMomVert (const amrex::Box &bxx, const amrex::Box &bxy, const amrex::Box &bxz, const amrex::Array4< amrex::Real > &rho_u_rhs, const amrex::Array4< amrex::Real > &rho_v_rhs, const amrex::Array4< amrex::Real > &rho_w_rhs, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &Omega, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::Array4< const amrex::Real > &z_nd, const amrex::Array4< const amrex::Real > &ax, const amrex::Array4< const amrex::Real > &ay, const amrex::Array4< const amrex::Real > &az, const amrex::Array4< const amrex::Real > &detJ, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Array4< const amrex::Real > &mf_mx, const amrex::Array4< const amrex::Real > &mf_ux_inv, const amrex::Array4< const amrex::Real > &mf_vx_inv, const amrex::Array4< const amrex::Real > &mf_my, const amrex::Array4< const amrex::Real > &mf_uy_inv, const amrex::Array4< const amrex::Real > &mf_vy_inv, const amrex::Real upw_frac_h, const amrex::Real upw_frac_v, const AdvType vert_adv_type, const int lo_z_face, const int hi_z_face) |
| void AdvectionSrcForMomVert | ( | const amrex::Box & | bxx, |
| const amrex::Box & | bxy, | ||
| const amrex::Box & | bxz, | ||
| const amrex::Array4< amrex::Real > & | rho_u_rhs, | ||
| const amrex::Array4< amrex::Real > & | rho_v_rhs, | ||
| const amrex::Array4< amrex::Real > & | rho_w_rhs, | ||
| const amrex::Array4< const amrex::Real > & | rho_u, | ||
| const amrex::Array4< const amrex::Real > & | rho_v, | ||
| const amrex::Array4< const amrex::Real > & | Omega, | ||
| const amrex::Array4< const amrex::Real > & | u, | ||
| const amrex::Array4< const amrex::Real > & | v, | ||
| const amrex::Array4< const amrex::Real > & | w, | ||
| const amrex::Array4< const amrex::Real > & | z_nd, | ||
| const amrex::Array4< const amrex::Real > & | ax, | ||
| const amrex::Array4< const amrex::Real > & | ay, | ||
| const amrex::Array4< const amrex::Real > & | az, | ||
| const amrex::Array4< const amrex::Real > & | detJ, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | cellSizeInv, | ||
| const amrex::Array4< const amrex::Real > & | mf_mx, | ||
| const amrex::Array4< const amrex::Real > & | mf_ux_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_vx_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_my, | ||
| const amrex::Array4< const amrex::Real > & | mf_uy_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_vy_inv, | ||
| const amrex::Real | upw_frac_h, | ||
| const amrex::Real | upw_frac_v, | ||
| const AdvType | vert_adv_type, | ||
| const int | lo_z_face, | ||
| const int | hi_z_face | ||
| ) |
Wrapper function for computing the advective tendency w/ spatial order > two
| InterpType_H | horizontal interpolation type |
| [in] | bxx | box over which x-momentum is updated |
| [in] | bxy | box over which y-momentum is updated |
| [in] | bxz | box over which z-momentum is updated |
| [out] | rho_u_rhs | tendency for the x-momentum equation |
| [out] | rho_v_rhs | tendency for the y-momentum equation |
| [out] | rho_w_rhs | tendency for the z-momentum equation |
| [in] | rho_u | x-component of momentum |
| [in] | rho_v | y-component of momentum |
| [in] | Omega | component of the momentum normal to the z-coordinate surface |
| [in] | u | x-component of velocity |
| [in] | v | y-component of velocity |
| [in] | w | z-component of velocity |
| [in] | z_nd | height coordinate at nodes |
| [in] | ax | area fractions on x-faces |
| [in] | ay | area fractions on y-faces |
| [in] | az | area fractions on z-faces |
| [in] | detJ | Jacobian of the metric transformation |
| [in] | cellSizeInv | inverse grid spacing |
| [in] | mf_mx | x map factor on cell centers |
| [in] | mf_ux_inv | inverse x map factor on x-faces |
| [in] | mf_vx_inv | inverse x map factor on y-faces |
| [in] | mf_my | y map factor on cell centers |
| [in] | mf_uy_inv | inverse y map factor on x-faces |
| [in] | mf_vy_inv | inverse y map factor on y-faces |
| [in] | upw_frac_h | horizontal upwind blending fraction |
| [in] | upw_frac_v | vertical upwind blending fraction |
| [in] | vert_adv_type | vertical advection stencil |
| [in] | lo_z_face | minimum z-face k-index at this level |
| [in] | hi_z_face | maximum z-face k-index at this level |

| void AdvectionSrcForMomWrapper | ( | const amrex::Box & | bxx, |
| const amrex::Box & | bxy, | ||
| const amrex::Box & | bxz, | ||
| const amrex::Array4< amrex::Real > & | rho_u_rhs, | ||
| const amrex::Array4< amrex::Real > & | rho_v_rhs, | ||
| const amrex::Array4< amrex::Real > & | rho_w_rhs, | ||
| const amrex::Array4< const amrex::Real > & | rho_u, | ||
| const amrex::Array4< const amrex::Real > & | rho_v, | ||
| const amrex::Array4< const amrex::Real > & | Omega, | ||
| const amrex::Array4< const amrex::Real > & | u, | ||
| const amrex::Array4< const amrex::Real > & | v, | ||
| const amrex::Array4< const amrex::Real > & | w, | ||
| const amrex::Array4< const amrex::Real > & | z_nd, | ||
| const amrex::Array4< const amrex::Real > & | ax, | ||
| const amrex::Array4< const amrex::Real > & | ay, | ||
| const amrex::Array4< const amrex::Real > & | az, | ||
| const amrex::Array4< const amrex::Real > & | detJ, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | cellSizeInv, | ||
| const amrex::Array4< const amrex::Real > & | mf_mx, | ||
| const amrex::Array4< const amrex::Real > & | mf_ux_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_vx_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_my, | ||
| const amrex::Array4< const amrex::Real > & | mf_uy_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_vy_inv, | ||
| const amrex::Real | upw_frac_h, | ||
| const amrex::Real | upw_frac_v, | ||
| const AdvType | vert_adv_type, | ||
| const int | lo_z_face, | ||
| const int | hi_z_face | ||
| ) |
Wrapper function for computing the advective tendency w/ spatial order > two
| InterpType_H | horizontal interpolation type |
| InterpType_V | vertical interpolation type |
| WallInterpType | wall-aware vertical interpolation type |
| [in] | bxx | box over which x-momentum is updated |
| [in] | bxy | box over which y-momentum is updated |
| [in] | bxz | box over which z-momentum is updated |
| [out] | rho_u_rhs | tendency for the x-momentum equation |
| [out] | rho_v_rhs | tendency for the y-momentum equation |
| [out] | rho_w_rhs | tendency for the z-momentum equation |
| [in] | rho_u | x-component of momentum |
| [in] | rho_v | y-component of momentum |
| [in] | Omega | component of the momentum normal to the z-coordinate surface |
| [in] | u | x-component of velocity |
| [in] | v | y-component of velocity |
| [in] | w | z-component of velocity |
| [in] | z_nd | height coordinate at nodes |
| [in] | ax | area fractions on x-faces |
| [in] | ay | area fractions on y-faces |
| [in] | az | area fractions on z-faces |
| [in] | detJ | Jacobian of the metric transformation |
| [in] | cellSizeInv | inverse grid spacing |
| [in] | mf_mx | x map factor on cell centers |
| [in] | mf_ux_inv | inverse x map factor on x-faces |
| [in] | mf_vx_inv | inverse x map factor on y-faces |
| [in] | mf_my | y map factor on cell centers |
| [in] | mf_uy_inv | inverse y map factor on x-faces |
| [in] | mf_vy_inv | inverse y map factor on y-faces |
| [in] | upw_frac_h | horizontal upwind blending fraction |
| [in] | upw_frac_v | vertical upwind blending fraction |
| [in] | vert_adv_type | vertical advection stencil |
| [in] | lo_z_face | minimum z-face k-index at this level |
| [in] | hi_z_face | maximum z-face k-index at this level |

| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real AdvectionSrcForXMom | ( | int | i, |
| int | j, | ||
| int | k, | ||
| const amrex::Array4< const amrex::Real > & | rho_u, | ||
| const amrex::Array4< const amrex::Real > & | rho_v, | ||
| const amrex::Array4< const amrex::Real > & | Omega, | ||
| const amrex::Array4< const amrex::Real > & | z_nd, | ||
| const amrex::Array4< const amrex::Real > & | ax, | ||
| const amrex::Array4< const amrex::Real > & | , | ||
| const amrex::Array4< const amrex::Real > & | az, | ||
| const amrex::Array4< const amrex::Real > & | detJ, | ||
| InterpType_H | interp_u_h, | ||
| InterpType_V | interp_u_v, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | cellSizeInv, | ||
| const amrex::Array4< const amrex::Real > & | mf_ux_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_uy_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_vx_inv | ||
| ) |
Function for computing the advective tendency for the x-component of momentum with metric terms and for spatial order > 2
| InterpType_H | horizontal interpolation type |
| InterpType_V | vertical interpolation type |
| [in] | i | i-index of x-face at which to create tendency |
| [in] | j | j-index of x-face at which to create tendency |
| [in] | k | k-index of x-face at which to create tendency |
| [in] | rho_u | x-component of momentum |
| [in] | rho_v | y-component of momentum |
| [in] | Omega | component of the momentum normal to the z-coordinate surface |
| [in] | z_nd | height coordinate at nodes |
| [in] | ax | Area fractions on x-faces |
| [in] | az | Area fractions on z-faces |
| [in] | detJ | Jacobian of the metric transformation (= 1 if use_terrain is false) |
| [in] | interp_u_h | horizontal interpolator for x-component velocity |
| [in] | interp_u_v | vertical interpolator for x-component velocity |
| [in] | cellSizeInv | inverse of the grid spacing |
| [in] | mf_ux_inv | inverse x map factor on x-faces |
| [in] | mf_uy_inv | inverse y map factor on x-faces |
| [in] | mf_vx_inv | inverse x map factor on y-faces |
Referenced by AdvectionSrcForMomWrapper().


| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real AdvectionSrcForYMom | ( | int | i, |
| int | j, | ||
| int | k, | ||
| const amrex::Array4< const amrex::Real > & | rho_u, | ||
| const amrex::Array4< const amrex::Real > & | rho_v, | ||
| const amrex::Array4< const amrex::Real > & | Omega, | ||
| const amrex::Array4< const amrex::Real > & | z_nd, | ||
| const amrex::Array4< const amrex::Real > & | , | ||
| const amrex::Array4< const amrex::Real > & | ay, | ||
| const amrex::Array4< const amrex::Real > & | az, | ||
| const amrex::Array4< const amrex::Real > & | detJ, | ||
| InterpType_H | interp_v_h, | ||
| InterpType_V | interp_v_v, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | cellSizeInv, | ||
| const amrex::Array4< const amrex::Real > & | mf_uy_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_vx_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_vy_inv | ||
| ) |
Function for computing the advective tendency for the y-component of momentum with metric terms and for spatial order > 2
| InterpType_H | horizontal interpolation type |
| InterpType_V | vertical interpolation type |
| [in] | i | i-index of y-face at which to create tendency |
| [in] | j | j-index of y-face at which to create tendency |
| [in] | k | k-index of y-face at which to create tendency |
| [in] | rho_u | x-component of momentum |
| [in] | rho_v | y-component of momentum |
| [in] | Omega | component of the momentum normal to the z-coordinate surface |
| [in] | z_nd | height coordinate at nodes |
| [in] | ay | Area fractions on y-faces |
| [in] | az | Area fractions on z-faces |
| [in] | detJ | Jacobian of the metric transformation (= 1 if use_terrain is false) |
| [in] | interp_v_h | horizontal interpolator for y-component velocity |
| [in] | interp_v_v | vertical interpolator for y-component velocity |
| [in] | cellSizeInv | inverse of the grid spacing |
| [in] | mf_uy_inv | inverse y map factor on x-faces |
| [in] | mf_vx_inv | inverse x map factor on y-faces |
| [in] | mf_vy_inv | inverse y map factor on y-faces |
Referenced by AdvectionSrcForMomWrapper().


| AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real AdvectionSrcForZMom | ( | int | i, |
| int | j, | ||
| int | k, | ||
| const amrex::Array4< const amrex::Real > & | rho_u, | ||
| const amrex::Array4< const amrex::Real > & | rho_v, | ||
| const amrex::Array4< const amrex::Real > & | Omega, | ||
| const amrex::Array4< const amrex::Real > & | w, | ||
| const amrex::Array4< const amrex::Real > & | z_nd, | ||
| const amrex::Array4< const amrex::Real > & | , | ||
| const amrex::Array4< const amrex::Real > & | , | ||
| const amrex::Array4< const amrex::Real > & | az, | ||
| const amrex::Array4< const amrex::Real > & | detJ, | ||
| InterpType_H | interp_omega_h, | ||
| InterpType_V | interp_omega_v, | ||
| WallInterpType | interp_omega_wall, | ||
| const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | cellSizeInv, | ||
| const amrex::Array4< const amrex::Real > & | mf_mx, | ||
| const amrex::Array4< const amrex::Real > & | mf_my, | ||
| const amrex::Array4< const amrex::Real > & | mf_uy_inv, | ||
| const amrex::Array4< const amrex::Real > & | mf_vx_inv, | ||
| const AdvType | vert_adv_type, | ||
| const int | lo_z_face, | ||
| const int | hi_z_face | ||
| ) |
Function for computing the advective tendency for the z-component of momentum with metric terms and for spatial order > 2
| InterpType_H | horizontal interpolation type |
| InterpType_V | vertical interpolation type |
| WallInterpType | wall-aware vertical interpolation type |
| [in] | i | i-index of z-face at which to create tendency |
| [in] | j | j-index of z-face at which to create tendency |
| [in] | k | k-index of z-face at which to create tendency |
| [in] | rho_u | x-component of momentum |
| [in] | rho_v | y-component of momentum |
| [in] | Omega | component of the momentum normal to the z-coordinate surface |
| [in] | w | z-component of velocity |
| [in] | z_nd | height coordinate at nodes |
| [in] | az | Area fractions on z-faces |
| [in] | detJ | Jacobian of the metric transformation (= 1 if use_terrain is false) |
| [in] | interp_omega_h | horizontal interpolator for z-coordinate-normal momentum |
| [in] | interp_omega_v | vertical interpolator for z-coordinate-normal momentum |
| [in] | interp_omega_wall | wall-aware vertical interpolator for z-coordinate-normal momentum |
| [in] | cellSizeInv | inverse of the grid spacing |
| [in] | mf_mx | x map factor on cell centers |
| [in] | mf_my | y map factor on cell centers |
| [in] | mf_uy_inv | inverse y map factor on x-faces |
| [in] | mf_vx_inv | inverse x map factor on y-faces |
| [in] | vert_adv_type | vertical advection stencil |
| [in] | lo_z_face | minimum z-face k-index at this level |
| [in] | hi_z_face | maximum z-face k-index at this level |
Referenced by AdvectionSrcForMomWrapper().

