1#ifndef AMREX_ML_NODE_LINOP_K_H_
2#define AMREX_ML_NODE_LINOP_K_H_
3#include <AMReX_Config.H>
8namespace amrex::nodelap_detail {
17 int icell =
offset / nsten;
18 node.z = icell / (len.x*len.y);
19 node.y = (icell - node.z*(len.x*len.y)) / len.x;
20 node.x = (icell - node.z*(len.x*len.y)) - node.y*len.x;
36 constexpr int nstenhalf = AMREX_SPACEDIM == 2 ? 4 : 13;
43 node2.y = (
offset - node2.z*9) / 3;
44 node2.x = (
offset - node2.z*9) - node2.y*3;
55 constexpr int crse_cell = 0;
56 constexpr int fine_cell = 1;
57 constexpr int crse_node = 0;
58 constexpr int crse_fine_node = 1;
59 constexpr int fine_node = 2;
101#if (AMREX_SPACEDIM == 1)
103#elif (AMREX_SPACEDIM == 2)
#define AMREX_GPU_DEVICE
Definition AMReX_GpuQualifiers.H:18
Array4< int const > offset
Definition AMReX_HypreMLABecLap.cpp:1089
#define AMREX_D_TERM(a, b, c)
Definition AMReX_SPACE.H:172
#define AMREX_D_DECL(a, b, c)
Definition AMReX_SPACE.H:171
Definition AMReX_Amr.cpp:49
void mlndlap_bc_doit(Box const &vbx, Array4< T > const &a, Box const &domain, GpuArray< bool, 3 > const &bflo, GpuArray< bool, 3 > const &bfhi) noexcept
Definition AMReX_MLNodeLinOp_1D_K.H:8
void mlndlap_fillbc_cc(Box const &vbx, Array4< T > const &sigma, Box const &domain, GpuArray< LinOpBCType, 3 > bclo, GpuArray< LinOpBCType, 3 > bchi) noexcept
Definition AMReX_MLNodeLinOp_K.H:66
void mlndlap_applybc(Box const &vbx, Array4< T > const &phi, Box const &domain, GpuArray< LinOpBCType, 3 > bclo, GpuArray< LinOpBCType, 3 > bchi) noexcept
Definition AMReX_MLNodeLinOp_K.H:80
Definition AMReX_Array4.H:61
Fixed-size array that can be used on GPU.
Definition AMReX_Array.H:40