Block-Structured AMR Software Framework
AMReX_MLNodeLap_3D_K.H File Reference
#include <AMReX_Config.H>

Go to the source code of this file.

Namespaces

 amrex
 
 amrex::nodelap_detail
 

Functions

AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_set_nodal_mask (int i, int, int, Array4< int > const &nmsk, Array4< int const > const &cmsk) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_set_dirichlet_mask (Box const &bx, Array4< int > const &dmsk, Array4< int const > const &omsk, Box const &dom, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bclo, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bchi) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_set_dot_mask (Box const &bx, Array4< Real > const &dmsk, Array4< int const > const &omsk, Box const &dom, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bclo, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bchi) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_zero_fine (int i, int, int, Array4< Real > const &phi, Array4< int const > const &msk, int fine_flag) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_avgdown_coeff_x (int i, int, int, Array4< Real > const &crse, Array4< Real const > const &fine) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_avgdown_coeff_y (int i, int j, int k, Array4< Real > const &crse, Array4< Real const > const &fine) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_avgdown_coeff_z (int i, int j, int k, Array4< Real > const &crse, Array4< Real const > const &fine) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_semi_avgdown_coeff (int i, int j, int k, Array4< Real > const &crse, Array4< Real const > const &fine, int) noexcept
 
template<typename T >
void amrex::mlndlap_bc_doit (Box const &vbx, Array4< T > const &a, Box const &domain, GpuArray< bool, AMREX_SPACEDIM > const &bflo, GpuArray< bool, AMREX_SPACEDIM > const &bfhi) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::mlndlap_adotx_ha (int i, int j, int k, Array4< Real const > const &x, Array4< Real const > const &sx, Array4< Real const > const &sy, Array4< Real const > const &sz, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::mlndlap_adotx_aa (int i, int j, int k, Array4< Real const > const &x, Array4< Real const > const &sx, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::mlndlap_adotx_c (int i, int, int, Array4< Real const > const &x, Real sigma, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_normalize_ha (int i, int j, int k, Array4< Real > const &x, Array4< Real const > const &sx, Array4< Real const > const &sy, Array4< Real const > const &sz, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_normalize_aa (int i, int j, int k, Array4< Real > const &x, Array4< Real const > const &sx, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_jacobi_ha (int i, int j, int k, Array4< Real > const &sol, Real Ax, Array4< Real const > const &rhs, Array4< Real const > const &sx, Array4< Real const > const &sy, Array4< Real const > const &sz, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
void amrex::mlndlap_jacobi_ha (Box const &bx, Array4< Real > const &sol, Array4< Real const > const &Ax, Array4< Real const > const &rhs, Array4< Real const > const &sx, Array4< Real const > const &sy, Array4< Real const > const &sz, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_jacobi_aa (int i, int j, int k, Array4< Real > const &sol, Real Ax, Array4< Real const > const &rhs, Array4< Real const > const &sig, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_jacobi_c (int i, int, int, Array4< Real > const &sol, Real Ax, Array4< Real const > const &rhs, Real sig, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
void amrex::mlndlap_jacobi_aa (Box const &bx, Array4< Real > const &sol, Array4< Real const > const &Ax, Array4< Real const > const &rhs, Array4< Real const > const &sig, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
void amrex::mlndlap_jacobi_c (Box const &bx, Array4< Real > const &sol, Array4< Real const > const &Ax, Array4< Real const > const &rhs, Real sig, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
void amrex::mlndlap_gauss_seidel_ha (Box const &bx, Array4< Real > const &sol, Array4< Real const > const &rhs, Array4< Real const > const &sx, Array4< Real const > const &sy, Array4< Real const > const &sz, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
void amrex::mlndlap_gauss_seidel_aa (Box const &bx, Array4< Real > const &sol, Array4< Real const > const &rhs, Array4< Real const > const &sx, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
void amrex::mlndlap_gauss_seidel_c (Box const &bx, Array4< Real > const &sol, Array4< Real const > const &rhs, Real sig, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_FORCE_INLINE void amrex::tridiagonal_solve (Array1D< Real, 0, 31 > &a_ls, Array1D< Real, 0, 31 > &b_ls, Array1D< Real, 0, 31 > &c_ls, Array1D< Real, 0, 31 > &r_ls, Array1D< Real, 0, 31 > &u_ls, Array1D< Real, 0, 31 > &gam, int ilen) noexcept
 
void amrex::mlndlap_gauss_seidel_with_line_solve_aa (Box const &, Array4< Real > const &, Array4< Real const > const &, Array4< Real const > const &, Array4< int const > const &, GpuArray< Real, AMREX_SPACEDIM > const &) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_restriction (int i, int, int, Array4< Real > const &crse, Array4< Real const > const &fine, Array4< int const > const &msk) noexcept
 
template<int rr>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_restriction (int i, int, int, Array4< Real > const &crse, Array4< Real const > const &fine, Array4< int const > const &msk, Box const &fdom, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bclo, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bchi) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_semi_restriction (int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< int const > const &, int) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::aa_interp_line_x (Array4< Real const > const &crse, Array4< Real const > const &sig, int i, int j, int k, int ic, int jc, int kc) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::aa_interp_line_y (Array4< Real const > const &crse, Array4< Real const > const &sig, int i, int j, int k, int ic, int jc, int kc) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::aa_interp_line_z (Array4< Real const > const &crse, Array4< Real const > const &sig, int i, int j, int k, int ic, int jc, int kc) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::aa_interp_face_xy (Array4< Real const > const &crse, Array4< Real const > const &sig, int i, int j, int k, int ic, int jc, int kc) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::aa_interp_face_xz (Array4< Real const > const &crse, Array4< Real const > const &sig, int i, int j, int k, int ic, int jc, int kc) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::aa_interp_face_yz (Array4< Real const > const &crse, Array4< Real const > const &sig, int i, int j, int k, int ic, int jc, int kc) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_interpadd_c (int i, int, int, Array4< Real > const &fine, Array4< Real const > const &crse, Array4< int const > const &msk) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_interpadd_aa (int i, int, int, Array4< Real > const &fine, Array4< Real const > const &crse, Array4< Real const > const &sig, Array4< int const > const &msk) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_semi_interpadd_aa (int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< Real const > const &, Array4< int const > const &, int) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::ha_interp_face_xy (Array4< Real const > const &crse, Array4< Real const > const &sigx, Array4< Real const > const &sigy, int i, int j, int k, int ic, int jc, int kc) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::ha_interp_face_xz (Array4< Real const > const &crse, Array4< Real const > const &sigx, Array4< Real const > const &sigz, int i, int j, int k, int ic, int jc, int kc) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::ha_interp_face_yz (Array4< Real const > const &crse, Array4< Real const > const &sigy, Array4< Real const > const &sigz, int i, int j, int k, int ic, int jc, int kc) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_interpadd_ha (int i, int j, int k, Array4< Real > const &fine, Array4< Real const > const &crse, Array4< Real const > const &sigx, Array4< Real const > const &sigy, Array4< Real const > const &sigz, Array4< int const > const &msk) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_divu (int i, int, int, Array4< Real > const &rhs, Array4< Real const > const &vel, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv, Box const &, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::mlndlap_rhcc (int i, int, int, Array4< Real const > const &rhcc, Array4< int const > const &msk) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_mknewu (int i, int, int, Array4< Real > const &u, Array4< Real const > const &p, Array4< Real const > const &sig, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_mknewu_c (int i, int, int, Array4< Real > const &u, Array4< Real const > const &p, Real sig, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::mlndlap_sum_Df (int ii, int jj, int kk, Real facx, Real facy, Real facz, Array4< Real const > const &vel, Box const &velbx) noexcept
 
template<int rr>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_divu_fine_contrib (int i, int j, int k, Box const &fvbx, Box const &velbx, Array4< Real > const &rhs, Array4< Real const > const &vel, Array4< Real const > const &frhs, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
template<int rr>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_rhcc_fine_contrib (int, int, int, Box const &, Array4< Real > const &, Array4< Real const > const &, Array4< int const > const &) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::neumann_scale (int i, int j, int k, Box const &nddom, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bclo, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bchi) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_divu_cf_contrib (int i, int j, int k, Array4< Real > const &rhs, Array4< Real const > const &vel, Array4< Real const > const &fc, Array4< Real const > const &rhcc, Array4< int const > const &dmsk, Array4< int const > const &ndmsk, Array4< int const > const &ccmsk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv, Box const &ccdom_p, Box const &veldom, Box const &nddom, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bclo, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bchi) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_crse_resid (int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< int const > const &, Box const &, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &, bool) noexcept
 
template<typename P , typename S >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::mlndlap_sum_Ax (P const &pred, S const &sig, int i, int j, int k, Real facx, Real facy, Real facz, Array4< Real const > const &phi) noexcept
 
template<int rr, typename S >
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_Ax_fine_contrib_doit (S const &sig, int i, int j, int k, Box const &ndbx, Box const &ccbx, Array4< Real > const &f, Array4< Real const > const &res, Array4< Real const > const &rhs, Array4< Real const > const &phi, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
template<int rr>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_Ax_fine_contrib (int i, int j, int k, Box const &ndbx, Box const &ccbx, Array4< Real > const &f, Array4< Real const > const &res, Array4< Real const > const &rhs, Array4< Real const > const &phi, Array4< Real const > const &sig, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
template<int rr>
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_Ax_fine_contrib_cs (int i, int j, int k, Box const &ndbx, Box const &ccbx, Array4< Real > const &f, Array4< Real const > const &res, Array4< Real const > const &rhs, Array4< Real const > const &phi, Real const sig, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_res_cf_contrib (int i, int j, int k, Array4< Real > const &res, Array4< Real const > const &phi, Array4< Real const > const &rhs, Array4< Real const > const &sig, Array4< int const > const &dmsk, Array4< int const > const &ndmsk, Array4< int const > const &ccmsk, Array4< Real const > const &fc, GpuArray< Real, AMREX_SPACEDIM > const &dxinv, Box const &ccdom_p, Box const &nddom, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bclo, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bchi, bool neumann_doubling) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_res_cf_contrib_cs (int i, int j, int k, Array4< Real > const &res, Array4< Real const > const &phi, Array4< Real const > const &rhs, Real const sig, Array4< int const > const &dmsk, Array4< int const > const &ndmsk, Array4< int const > const &ccmsk, Array4< Real const > const &fc, GpuArray< Real, AMREX_SPACEDIM > const &dxinv, Box const &ccdom_p, Box const &nddom, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bclo, GpuArray< LinOpBCType, AMREX_SPACEDIM > const &bchi, bool neumann_doubling) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_set_stencil (Box const &, Array4< Real > const &, Array4< Real const > const &, GpuArray< Real, AMREX_SPACEDIM > const &) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_set_stencil_s0 (int, int, int, Array4< Real > const &) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_stencil_rap (int, int, int, Array4< Real > const &, Array4< Real const > const &) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::mlndlap_adotx_sten_doit (int i, int j, int k, Array4< Real const > const &x, Array4< Real const > const &sten) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Real amrex::mlndlap_adotx_sten (int, int, int, Array4< Real const > const &, Array4< Real const > const &, Array4< int const > const &) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_gauss_seidel_sten (int i, int j, int k, Array4< Real > const &sol, Array4< Real const > const &rhs, Array4< Real const > const &sten, Array4< int const > const &msk) noexcept
 
void amrex::mlndlap_gauss_seidel_sten (Box const &, Array4< Real > const &, Array4< Real const > const &, Array4< Real const > const &, Array4< int const > const &) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_interpadd_rap (int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< Real const > const &, Array4< int const > const &) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_restriction_rap (int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< Real const > const &, Array4< int const > const &) noexcept
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE int amrex::mlndlap_color (int i, int, int)
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_gscolor_ha (int i, int j, int k, Array4< Real > const &sol, Array4< Real const > const &rhs, Array4< Real const > const &sx, Array4< Real const > const &sy, Array4< Real const > const &sz, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv, int color) noexcept
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_gscolor_aa (int i, int j, int k, Array4< Real > const &sol, Array4< Real const > const &rhs, Array4< Real const > const &sx, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv, int color) noexcept
 
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_gscolor_c (int i, int j, int k, Array4< Real > const &sol, Array4< Real const > const &rhs, Real sig, Array4< int const > const &msk, GpuArray< Real, AMREX_SPACEDIM > const &dxinv, int color) noexcept
 
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void amrex::mlndlap_gscolor_sten (int, int, int, Array4< Real > const &, Array4< Real const > const &, Array4< Real const > const &, Array4< int const > const &, int) noexcept
 

Variables

constexpr int amrex::nodelap_detail::ist_000 = 0
 
constexpr int amrex::nodelap_detail::ist_p00 = 1
 
constexpr int amrex::nodelap_detail::ist_0p0 = 2
 
constexpr int amrex::nodelap_detail::ist_00p = 3
 
constexpr int amrex::nodelap_detail::ist_pp0 = 4
 
constexpr int amrex::nodelap_detail::ist_p0p = 5
 
constexpr int amrex::nodelap_detail::ist_0pp = 6
 
constexpr int amrex::nodelap_detail::ist_ppp = 7
 
constexpr int amrex::nodelap_detail::ist_inv = 8
 
constexpr int amrex::nodelap_detail::n_sten = 9