1 #ifndef AMREX_YAFLUXREGISTER_2D_K_H_
2 #define AMREX_YAFLUXREGISTER_2D_K_H_
3 #include <AMReX_Config.H>
13 T dtdx, T dtdy,
int nc) noexcept
18 for (
int j = lo.y; j <= hi.y; ++j) {
19 for (
int i = lo.x; i <= hi.x; ++i) {
23 for (
int n = 0; n < nc; ++n) {
24 d(i,j,0,n) -= dtdx*fx(i,j,0,n);
28 for (
int n = 0; n < nc; ++n) {
29 d(i,j,0,n) += dtdx*fx(i+1,j,0,n);
34 for (
int n = 0; n < nc; ++n) {
35 d(i,j,0,n) -= dtdy*fy(i,j,0,n);
39 for (
int n = 0; n < nc; ++n) {
40 d(i,j,0,n) += dtdy*fy(i,j+1,0,n);
50 T dtdx,
int nc,
int dirside, Dim3
const& rr) noexcept
58 for (
int n = 0; n < nc; ++n) {
59 for (
int j = lo.y; j <= hi.y; ++j) {
61 const int ii = (i+1)*rr.x;
63 for (
int joff = 0; joff < rr.y; ++joff) {
64 const int jj = j*rr.y + joff;
65 T tmp = -dtdx*
f(ii,jj,0,n);
74 for (
int n = 0; n < nc; ++n) {
75 for (
int j = lo.y; j <= hi.y; ++j) {
77 const int ii = i*rr.x;
79 for (
int joff = 0; joff < rr.y; ++joff) {
80 const int jj = j*rr.y + joff;
81 T tmp = dtdx*
f(ii,jj,0,n);
90 for (
int n = 0; n < nc; ++n) {
91 for (
int i = lo.x; i <= hi.x; ++i) {
93 const int jj = (j+1)*rr.y;
95 for (
int ioff = 0; ioff < rr.x; ++ioff) {
96 const int ii = i*rr.x + ioff;
97 T tmp = -dtdx*
f(ii,jj,0,n);
106 for (
int n = 0; n < nc; ++n) {
107 for (
int i = lo.x; i <= hi.x; ++i) {
109 const int jj = j*rr.y;
111 for (
int ioff = 0; ioff < rr.x; ++ioff) {
112 const int ii = i*rr.x + ioff;
113 T tmp = dtdx*
f(ii,jj,0,n);
#define AMREX_FORCE_INLINE
Definition: AMReX_Extension.H:119
#define AMREX_RESTRICT
Definition: AMReX_Extension.H:37
#define AMREX_GPU_HOST_DEVICE
Definition: AMReX_GpuQualifiers.H:20
constexpr int amrex_yafluxreg_fine_cell
Definition: AMReX_YAFluxRegister_K.H:8
constexpr int amrex_yafluxreg_crse_fine_boundary_cell
Definition: AMReX_YAFluxRegister_K.H:7
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void Add(T *const sum, T const value) noexcept
Definition: AMReX_GpuAtomic.H:619
static int f(amrex::Real t, N_Vector y_data, N_Vector y_rhs, void *user_data)
Definition: AMReX_SundialsIntegrator.H:44
Definition: AMReX_Amr.cpp:49
BoxND< AMREX_SPACEDIM > Box
Definition: AMReX_BaseFwd.H:27
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Dim3 ubound(Array4< T > const &a) noexcept
Definition: AMReX_Array4.H:315
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE Dim3 lbound(Array4< T > const &a) noexcept
Definition: AMReX_Array4.H:308
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void yafluxreg_fineadd(Box const &bx, Array4< T > const &d, Array4< T const > const &f, T dtdx, int nc, int dirside, Dim3 const &rr) noexcept
Definition: AMReX_YAFluxRegister_1D_K.H:36
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void yafluxreg_crseadd(Box const &bx, Array4< T > const &d, Array4< int const > const &flag, Array4< T const > const &fx, T dtdx, int nc) noexcept
Definition: AMReX_YAFluxRegister_1D_K.H:11
integer, parameter dp
Definition: AMReX_SDCquadrature.F90:8
Definition: AMReX_Array4.H:61