1 #ifndef AMREX_MLLINOP_K_H_
2 #define AMREX_MLLINOP_K_H_
3 #include <AMReX_Config.H>
19 int maxorder, T dxinv,
int inhomog,
int icomp) noexcept
24 const int s = 1-2*side;
28 for (
int k = lo.z; k <= hi.z; ++k) {
29 for (
int j = lo.y; j <= hi.y; ++j) {
30 if (
mask(i,j,k) > 0) {
31 phi(i,j,k,icomp) = phi(i+s,j,k,icomp);
39 for (
int k = lo.z; k <= hi.z; ++k) {
40 for (
int j = lo.y; j <= hi.y; ++j) {
41 if (
mask(i,j,k) > 0) {
42 phi(i,j,k,icomp) = -phi(i+s,j,k,icomp);
54 for (
int k = lo.z; k <= hi.z; ++k) {
55 for (
int j = lo.y; j <= hi.y; ++j) {
56 if (
mask(i,j,k) > 0) {
58 for (
int m = 1; m < NX; ++m) {
59 tmp += phi(i+m*s,j,k,icomp) * coef[m];
61 phi(i,j,k,icomp) = tmp;
63 phi(i,j,k,icomp) += bcval(i,j,k,icomp)*coef[0];
81 int maxorder, T dxinv,
int inhomog,
int icomp) noexcept
83 if (
mask(i,j,k) > 0) {
84 const int s = 1-2*side;
88 phi(i,j,k,icomp) = phi(i+s,j,k,icomp);
93 phi(i,j,k,icomp) = -phi(i+s,j,k,icomp);
103 for (
int m = 1; m < NX; ++m) {
104 tmp += phi(i+m*s,j,k,icomp) * coef[m];
106 phi(i,j,k,icomp) = tmp;
108 phi(i,j,k,icomp) += bcval(i,j,k,icomp)*coef[0];
117 template <
typename T>
124 int maxorder, T dyinv,
int inhomog,
int icomp) noexcept
129 const int s = 1-2*side;
133 for (
int k = lo.z; k <= hi.z; ++k) {
134 for (
int i = lo.x; i <= hi.x; ++i) {
135 if (
mask(i,j,k) > 0) {
136 phi(i,j,k,icomp) = phi(i,j+s,k,icomp);
144 for (
int k = lo.z; k <= hi.z; ++k) {
145 for (
int i = lo.x; i <= hi.x; ++i) {
146 if (
mask(i,j,k) > 0) {
147 phi(i,j,k,icomp) = -phi(i,j+s,k,icomp);
159 for (
int k = lo.z; k <= hi.z; ++k) {
160 for (
int i = lo.x; i <= hi.x; ++i) {
161 if (
mask(i,j,k) > 0) {
163 for (
int m = 1; m < NX; ++m) {
164 tmp += phi(i,j+m*s,k,icomp) * coef[m];
166 phi(i,j,k,icomp) = tmp;
168 phi(i,j,k,icomp) += bcval(i,j,k,icomp)*coef[0];
179 template <
typename T>
186 int maxorder, T dyinv,
int inhomog,
int icomp) noexcept
188 if (
mask(i,j,k) > 0) {
189 const int s = 1-2*side;
193 phi(i,j,k,icomp) = phi(i,j+s,k,icomp);
198 phi(i,j,k,icomp) = -phi(i,j+s,k,icomp);
208 for (
int m = 1; m < NX; ++m) {
209 tmp += phi(i,j+m*s,k,icomp) * coef[m];
211 phi(i,j,k,icomp) = tmp;
213 phi(i,j,k,icomp) += bcval(i,j,k,icomp)*coef[0];
222 template <
typename T>
229 int maxorder, T dzinv,
int inhomog,
int icomp) noexcept
234 const int s = 1-2*side;
238 for (
int j = lo.y; j <= hi.y; ++j) {
239 for (
int i = lo.x; i <= hi.x; ++i) {
240 if (
mask(i,j,k) > 0) {
241 phi(i,j,k,icomp) = phi(i,j,k+s,icomp);
249 for (
int j = lo.y; j <= hi.y; ++j) {
250 for (
int i = lo.x; i <= hi.x; ++i) {
251 if (
mask(i,j,k) > 0) {
252 phi(i,j,k,icomp) = -phi(i,j,k+s,icomp);
264 for (
int j = lo.y; j <= hi.y; ++j) {
265 for (
int i = lo.x; i <= hi.x; ++i) {
266 if (
mask(i,j,k) > 0) {
268 for (
int m = 1; m < NX; ++m) {
269 tmp += phi(i,j,k+m*s,icomp) * coef[m];
271 phi(i,j,k,icomp) = tmp;
273 phi(i,j,k,icomp) += bcval(i,j,k,icomp)*coef[0];
284 template <
typename T>
291 int maxorder, T dzinv,
int inhomog,
int icomp) noexcept
293 if (
mask(i,j,k) > 0) {
294 const int s = 1-2*side;
298 phi(i,j,k,icomp) = phi(i,j,k+s,icomp);
303 phi(i,j,k,icomp) = -phi(i,j,k+s,icomp);
313 for (
int m = 1; m < NX; ++m) {
314 tmp += phi(i,j,k+m*s,icomp) * coef[m];
316 phi(i,j,k,icomp) = tmp;
318 phi(i,j,k,icomp) += bcval(i,j,k,icomp)*coef[0];
327 template <
typename T>
333 int maxorder, T dxinv,
int icomp) noexcept
338 const int ii = lo.x + (1-2*side);
342 for (
int k = lo.z; k <= hi.z; ++k) {
343 for (
int j = lo.y; j <= hi.y; ++j) {
344 f(ii,j,k,icomp) = T(1.0);
351 for (
int k = lo.z; k <= hi.z; ++k) {
352 for (
int j = lo.y; j <= hi.y; ++j) {
353 f(ii,j,k,icomp) = (
mask(ib,j,k) > 0) ? T(1.0) : T(0.0);
364 for (
int k = lo.z; k <= hi.z; ++k) {
365 for (
int j = lo.y; j <= hi.y; ++j) {
366 f(ii,j,k,icomp) = (
mask(ib,j,k) > 0) ? coef[1] : T(0.0);
375 template <
typename T>
381 int maxorder, T dxinv,
int icomp) noexcept
383 const int ii = i + (1-2*side);
387 f(ii,j,k,icomp) = T(1.0);
392 f(ii,j,k,icomp) = (
mask(i,j,k) > 0) ? T(1.0) : T(0.0);
401 f(ii,j,k,icomp) = (
mask(i,j,k) > 0) ? coef[1] : T(0.0);
408 template <
typename T>
414 int maxorder, T dyinv,
int icomp) noexcept
419 const int ji = lo.y + (1-2*side);
423 for (
int k = lo.z; k <= hi.z; ++k) {
424 for (
int i = lo.x; i <= hi.x; ++i) {
425 f(i,ji,k,icomp) = T(1.0);
432 for (
int k = lo.z; k <= hi.z; ++k) {
433 for (
int i = lo.x; i <= hi.x; ++i) {
434 f(i,ji,k,icomp) = (
mask(i,jb,k) > 0) ? T(1.0) : T(0.0);
445 for (
int k = lo.z; k <= hi.z; ++k) {
446 for (
int i = lo.x; i <= hi.x; ++i) {
447 f(i,ji,k,icomp) = (
mask(i,jb,k) > 0) ? coef[1] : T(0.0);
456 template <
typename T>
462 int maxorder, T dyinv,
int icomp) noexcept
464 const int ji = j + (1-2*side);
468 f(i,ji,k,icomp) = T(1.0);
473 f(i,ji,k,icomp) = (
mask(i,j,k) > 0) ? T(1.0) : T(0.0);
482 f(i,ji,k,icomp) = (
mask(i,j,k) > 0) ? coef[1] : T(0.0);
489 template <
typename T>
495 int maxorder, T dzinv,
int icomp) noexcept
500 const int ki = lo.z + (1-2*side);
504 for (
int j = lo.y; j <= hi.y; ++j) {
505 for (
int i = lo.x; i <= hi.x; ++i) {
506 f(i,j,ki,icomp) = T(1.0);
513 for (
int j = lo.y; j <= hi.y; ++j) {
514 for (
int i = lo.x; i <= hi.x; ++i) {
515 f(i,j,ki,icomp) = (
mask(i,j,kb) > 0) ? T(1.0) : T(0.0);
526 for (
int j = lo.y; j <= hi.y; ++j) {
527 for (
int i = lo.x; i <= hi.x; ++i) {
528 f(i,j,ki,icomp) = (
mask(i,j,kb) > 0) ? coef[1] : T(0.0);
537 template <
typename T>
543 int maxorder, T dzinv,
int icomp) noexcept
545 const int ki = k + (1-2*side);
549 f(i,j,ki,icomp) = T(1.0);
554 f(i,j,ki,icomp) = (
mask(i,j,k) > 0) ? T(1.0) : T(0.0);
563 f(i,j,ki,icomp) = (
mask(i,j,k) > 0) ? coef[1] : T(0.0);
573 void mllinop_comp_interp_coef0_x_eb (
int side,
Box const& box,
int blen,
574 Array4<Real>
const&
f,
575 Array4<int const>
const&
mask,
576 Array4<Real const>
const& area,
577 BoundCond bct, Real bcl,
578 int maxorder, Real dxinv,
int icomp) noexcept
583 const int s = 1-2*side;
584 const int ii = lo.x + s;
588 for (
int k = lo.z; k <= hi.z; ++k) {
589 for (
int j = lo.y; j <= hi.y; ++j) {
590 f(ii,j,k,icomp) = Real(1.0);
597 for (
int k = lo.z; k <= hi.z; ++k) {
598 for (
int j = lo.y; j <= hi.y; ++j) {
599 f(ii,j,k,icomp) = (
mask(ib,j,k) > 0) ? Real(1.0) : Real(0.0);
607 GpuArray<Real,4>
x{{-bcl * dxinv, Real(0.5), Real(1.5), Real(2.5)}};
608 Array2D<Real, 0, 3, 0, 2> coef{};
609 for (
int r = 0;
r <= maxorder-2; ++
r) {
612 for (
int k = lo.z; k <= hi.z; ++k) {
613 for (
int j = lo.y; j <= hi.y; ++j) {
615 if (
mask(ib,j,k) > 0) {
616 bool has_cutfaces =
false;
617 for (
int r = 0;
r <= NX-2; ++
r) {
618 Real a = area(ii+side+s*r,j,k);
628 if (has_cutfaces) { order =
amrex::min(2,order); }
630 f(ii,j,k,icomp) = (order==1) ? Real(0.0) : coef(1,order-2);
640 void mllinop_comp_interp_coef0_x_eb (
int side,
int i,
int j,
int k,
int blen,
641 Array4<Real>
const&
f,
642 Array4<int const>
const&
mask,
643 Array4<Real const>
const& area,
644 BoundCond bct, Real bcl,
645 int maxorder, Real dxinv,
int icomp) noexcept
647 const int s = 1-2*side;
648 const int ii = i + s;
652 f(ii,j,k,icomp) = Real(1.0);
657 f(ii,j,k,icomp) = (
mask(i,j,k) > 0) ? Real(1.0) : Real(0.0);
663 GpuArray<Real,4>
x{{-bcl * dxinv, Real(0.5), Real(1.5), Real(2.5)}};
664 Array2D<Real, 0, 3, 0, 2> coef{};
665 for (
int r = 0;
r <= maxorder-2; ++
r) {
669 if (
mask(i,j,k) > 0) {
670 bool has_cutfaces =
false;
671 for (
int r = 0;
r <= NX-2; ++
r) {
672 Real a = area(ii+side+s*r,j,k);
682 if (has_cutfaces) { order =
amrex::min(2,order); }
684 f(ii,j,k,icomp) = (order==1) ? Real(0.0) : coef(1,order-2);
692 void mllinop_comp_interp_coef0_y_eb (
int side,
Box const& box,
int blen,
693 Array4<Real>
const&
f,
694 Array4<int const>
const&
mask,
695 Array4<Real const>
const& area,
696 BoundCond bct, Real bcl,
697 int maxorder, Real dyinv,
int icomp) noexcept
702 const int s = 1-2*side;
703 const int ji = lo.y + s;
707 for (
int k = lo.z; k <= hi.z; ++k) {
708 for (
int i = lo.x; i <= hi.x; ++i) {
709 f(i,ji,k,icomp) = Real(1.0);
716 for (
int k = lo.z; k <= hi.z; ++k) {
717 for (
int i = lo.x; i <= hi.x; ++i) {
718 f(i,ji,k,icomp) = (
mask(i,jb,k) > 0) ? Real(1.0) : Real(0.0);
726 GpuArray<Real,4>
x{{-bcl * dyinv, Real(0.5), Real(1.5), Real(2.5)}};
727 Array2D<Real, 0, 3, 0, 2> coef{};
728 for (
int r = 0;
r <= maxorder-2; ++
r) {
731 for (
int k = lo.z; k <= hi.z; ++k) {
732 for (
int i = lo.x; i <= hi.x; ++i) {
734 if (
mask(i,jb,k) > 0) {
735 bool has_cutfaces =
false;
736 for (
int r = 0;
r <= NX-2; ++
r) {
737 Real a = area(i,ji+side+s*r,k);
747 if (has_cutfaces) { order =
amrex::min(2,order); }
749 f(i,ji,k,icomp) = (order==1) ? Real(0.0) : coef(1,order-2);
759 void mllinop_comp_interp_coef0_y_eb (
int side,
int i,
int j,
int k,
int blen,
760 Array4<Real>
const&
f,
761 Array4<int const>
const&
mask,
762 Array4<Real const>
const& area,
763 BoundCond bct, Real bcl,
764 int maxorder, Real dyinv,
int icomp) noexcept
766 const int s = 1-2*side;
767 const int ji = j + s;
771 f(i,ji,k,icomp) = Real(1.0);
776 f(i,ji,k,icomp) = (
mask(i,j,k) > 0) ? Real(1.0) : Real(0.0);
782 GpuArray<Real,4>
x{{-bcl * dyinv, Real(0.5), Real(1.5), Real(2.5)}};
783 Array2D<Real, 0, 3, 0, 2> coef{};
784 for (
int r = 0;
r <= maxorder-2; ++
r) {
788 if (
mask(i,j,k) > 0) {
789 bool has_cutfaces =
false;
790 for (
int r = 0;
r <= NX-2; ++
r) {
791 Real a = area(i,ji+side+s*r,k);
801 if (has_cutfaces) { order =
amrex::min(2,order); }
803 f(i,ji,k,icomp) = (order==1) ? Real(0.0) : coef(1,order-2);
811 void mllinop_comp_interp_coef0_z_eb (
int side,
Box const& box,
int blen,
812 Array4<Real>
const&
f,
813 Array4<int const>
const&
mask,
814 Array4<Real const>
const& area,
815 BoundCond bct, Real bcl,
816 int maxorder, Real dzinv,
int icomp) noexcept
821 const int s = 1-2*side;
822 const int ki = lo.z + s;
826 for (
int j = lo.y; j <= hi.y; ++j) {
827 for (
int i = lo.x; i <= hi.x; ++i) {
828 f(i,j,ki,icomp) = Real(1.0);
835 for (
int j = lo.y; j <= hi.y; ++j) {
836 for (
int i = lo.x; i <= hi.x; ++i) {
837 f(i,j,ki,icomp) = (
mask(i,j,kb) > 0) ? Real(1.0) : Real(0.0);
845 GpuArray<Real,4>
x{{-bcl * dzinv, Real(0.5), Real(1.5), Real(2.5)}};
846 Array2D<Real, 0, 3, 0, 2> coef{};
847 for (
int r = 0;
r <= maxorder-2; ++
r) {
850 for (
int j = lo.y; j <= hi.y; ++j) {
851 for (
int i = lo.x; i <= hi.x; ++i) {
853 if (
mask(i,j,kb) > 0) {
854 bool has_cutfaces =
false;
855 for (
int r = 0;
r <= NX-2; ++
r) {
856 Real a = area(i,j,ki+side+s*r);
866 if (has_cutfaces) { order =
amrex::min(2,order); }
868 f(i,j,ki,icomp) = (order==1) ? Real(0.0) : coef(1,order-2);
878 void mllinop_comp_interp_coef0_z_eb (
int side,
int i,
int j,
int k,
int blen,
879 Array4<Real>
const&
f,
880 Array4<int const>
const&
mask,
881 Array4<Real const>
const& area,
882 BoundCond bct, Real bcl,
883 int maxorder, Real dzinv,
int icomp) noexcept
885 const int s = 1-2*side;
886 const int ki = k + s;
890 f(i,j,ki,icomp) = Real(1.0);
895 f(i,j,ki,icomp) = (
mask(i,j,k) > 0) ? Real(1.0) : Real(0.0);
901 GpuArray<Real,4>
x{{-bcl * dzinv, Real(0.5), Real(1.5), Real(2.5)}};
902 Array2D<Real, 0, 3, 0, 2> coef{};
903 for (
int r = 0;
r <= maxorder-2; ++
r) {
907 if (
mask(i,j,k) > 0) {
908 bool has_cutfaces =
false;
909 for (
int r = 0;
r <= NX-2; ++
r) {
910 Real a = area(i,j,ki+side+s*r);
920 if (has_cutfaces) { order =
amrex::min(2,order); }
922 f(i,j,ki,icomp) = (order==1) ? Real(0.0) : coef(1,order-2);
930 template <
typename T>
938 T fac,
bool has_bcoef,
int icomp) noexcept
941 T
b = (has_bcoef) ? bcoef(i+1,j,k,icomp) : T(1.0);
942 rhs(i+1,j,k,icomp) -= fac*
b*bcval(i,j,k,icomp);
946 template <
typename T>
954 T fac,
bool has_bcoef,
int icomp) noexcept
957 T
b = (has_bcoef) ? bcoef(i,j,k,icomp) : T(1.0);
958 rhs(i-1,j,k,icomp) += fac*
b*bcval(i,j,k,icomp);
962 template <
typename T>
970 T fac,
bool has_bcoef,
int icomp) noexcept
973 T
b = (has_bcoef) ? bcoef(i,j+1,k,icomp) : T(1.0);
974 rhs(i,j+1,k,icomp) -= fac*
b*bcval(i,j,k,icomp);
978 template <
typename T>
985 T fac, T xlo, T dx,
int icomp) noexcept
988 T
b = xlo + (i+T(0.5))*dx;
989 rhs(i,j+1,k,icomp) -= fac*
b*bcval(i,j,k,icomp);
993 template <
typename T>
1001 T fac,
bool has_bcoef,
int icomp) noexcept
1004 T
b = (has_bcoef) ? bcoef(i,j,k,icomp) : T(1.0);
1005 rhs(i,j-1,k,icomp) += fac*
b*bcval(i,j,k,icomp);
1009 template <
typename T>
1016 T fac, T xlo, T dx,
int icomp) noexcept
1019 T
b = xlo + (i+T(0.5))*dx;
1020 rhs(i,j-1,k,icomp) += fac*
b*bcval(i,j,k,icomp);
1024 template <
typename T>
1032 T fac,
bool has_bcoef,
int icomp) noexcept
1035 T
b = (has_bcoef) ? bcoef(i,j,k+1,icomp) : T(1.0);
1036 rhs(i,j,k+1,icomp) -= fac*
b*bcval(i,j,k,icomp);
1040 template <
typename T>
1048 T fac,
bool has_bcoef,
int icomp) noexcept
1051 T
b = (has_bcoef) ? bcoef(i,j,k,icomp) : T(1.0);
1052 rhs(i,j,k-1,icomp) += fac*
b*bcval(i,j,k,icomp);
1059 Real get_dx_eb (Real kappa) noexcept {
1060 return amrex::max(Real(0.3),(kappa*kappa-Real(0.25))/(Real(2.0)*kappa));
#define AMREX_FORCE_INLINE
Definition: AMReX_Extension.H:119
#define AMREX_GPU_HOST_DEVICE
Definition: AMReX_GpuQualifiers.H:20
Array4< int const > mask
Definition: AMReX_InterpFaceRegister.cpp:93
#define AMREX_LO_NEUMANN
Definition: AMReX_LO_BCTYPES.H:6
#define AMREX_LO_DIRICHLET
Definition: AMReX_LO_BCTYPES.H:5
#define AMREX_LO_REFLECT_ODD
Definition: AMReX_LO_BCTYPES.H:7
Maintain an identifier for boundary condition types.
Definition: AMReX_BoundCond.H:20
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 void mllinop_apply_innu_zlo(int i, int j, int k, Array4< T > const &rhs, Array4< int const > const &mask, Array4< T const > const &bcoef, BoundCond bct, T, Array4< T const > const &bcval, T fac, bool has_bcoef, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:1026
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_apply_innu_xhi(int i, int j, int k, Array4< T > const &rhs, Array4< int const > const &mask, Array4< T const > const &bcoef, BoundCond bct, T, Array4< T const > const &bcval, T fac, bool has_bcoef, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:948
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_apply_innu_ylo(int i, int j, int k, Array4< T > const &rhs, Array4< int const > const &mask, Array4< T const > const &bcoef, BoundCond bct, T, Array4< T const > const &bcval, T fac, bool has_bcoef, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:964
AMREX_GPU_HOST_DEVICE constexpr AMREX_FORCE_INLINE const T & max(const T &a, const T &b) noexcept
Definition: AMReX_Algorithm.H:35
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_apply_innu_zhi(int i, int j, int k, Array4< T > const &rhs, Array4< int const > const &mask, Array4< T const > const &bcoef, BoundCond bct, T, Array4< T const > const &bcval, T fac, bool has_bcoef, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:1042
AMREX_GPU_HOST_DEVICE constexpr AMREX_FORCE_INLINE const T & min(const T &a, const T &b) noexcept
Definition: AMReX_Algorithm.H:21
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void poly_interp_coeff(T xInt, T const *AMREX_RESTRICT x, int N, T *AMREX_RESTRICT c) noexcept
Definition: AMReX_LOUtil_K.H:24
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 void mllinop_apply_innu_xlo(int i, int j, int k, Array4< T > const &rhs, Array4< int const > const &mask, Array4< T const > const &bcoef, BoundCond bct, T, Array4< T const > const &bcval, T fac, bool has_bcoef, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:932
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 mllinop_apply_innu_ylo_m(int i, int j, int k, Array4< T > const &rhs, Array4< int const > const &mask, BoundCond bct, T, Array4< T const > const &bcval, T fac, T xlo, T dx, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:980
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_apply_innu_yhi(int i, int j, int k, Array4< T > const &rhs, Array4< int const > const &mask, Array4< T const > const &bcoef, BoundCond bct, T, Array4< T const > const &bcval, T fac, bool has_bcoef, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:995
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_apply_innu_yhi_m(int i, int j, int k, Array4< T > const &rhs, Array4< int const > const &mask, BoundCond bct, T, Array4< T const > const &bcval, T fac, T xlo, T dx, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:1011
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_apply_bc_x(int side, Box const &box, int blen, Array4< T > const &phi, Array4< int const > const &mask, BoundCond bct, T bcl, Array4< T const > const &bcval, int maxorder, T dxinv, int inhomog, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:14
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_comp_interp_coef0_x(int side, Box const &box, int blen, Array4< T > const &f, Array4< int const > const &mask, BoundCond bct, T bcl, int maxorder, T dxinv, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:329
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_apply_bc_z(int side, Box const &box, int blen, Array4< T > const &phi, Array4< int const > const &mask, BoundCond bct, T bcl, Array4< T const > const &bcval, int maxorder, T dzinv, int inhomog, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:224
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_comp_interp_coef0_y(int side, Box const &box, int blen, Array4< T > const &f, Array4< int const > const &mask, BoundCond bct, T bcl, int maxorder, T dyinv, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:410
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_comp_interp_coef0_z(int side, Box const &box, int blen, Array4< T > const &f, Array4< int const > const &mask, BoundCond bct, T bcl, int maxorder, T dzinv, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:491
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void mllinop_apply_bc_y(int side, Box const &box, int blen, Array4< T > const &phi, Array4< int const > const &mask, BoundCond bct, T bcl, Array4< T const > const &bcval, int maxorder, T dyinv, int inhomog, int icomp) noexcept
Definition: AMReX_MLLinOp_K.H:119
Definition: AMReX_Array4.H:61
Definition: AMReX_Array.H:34