18 template<
typename InterpType_H,
typename InterpType_V,
typename WallInterpType>
21 const amrex::Vector<amrex::Box>& bxy_grown,
22 const amrex::Vector<amrex::Box>& bxz_grown,
23 const amrex::Array4<const amrex::Real>& rho_u,
24 const amrex::Array4<const amrex::Real>& rho_v,
25 const amrex::Array4<const amrex::Real>& rho_w,
26 const amrex::Array4<const amrex::Real>& u,
27 const amrex::Array4<const amrex::Real>& v,
28 const amrex::Array4<const amrex::Real>&
w,
29 const amrex::FabType u_type,
30 const amrex::FabType v_type,
31 const amrex::FabType w_type,
32 const amrex::Array4<const amrex::EBCellFlag>& u_cflag,
33 const amrex::Array4<const amrex::Real>& u_afrac_x,
34 const amrex::Array4<const amrex::Real>& u_afrac_y,
35 const amrex::Array4<const amrex::Real>& u_afrac_z,
36 const amrex::Array4<const amrex::EBCellFlag>& v_cflag,
37 const amrex::Array4<const amrex::Real>& v_afrac_x,
38 const amrex::Array4<const amrex::Real>& v_afrac_y,
39 const amrex::Array4<const amrex::Real>& v_afrac_z,
40 const amrex::Array4<const amrex::EBCellFlag>& w_cflag,
41 const amrex::Array4<const amrex::Real>& w_afrac_x,
42 const amrex::Array4<const amrex::Real>& w_afrac_y,
43 const amrex::Array4<const amrex::Real>& w_afrac_z,
44 const amrex::Array4<const amrex::Real>& mf_ux_inv,
45 const amrex::Array4<const amrex::Real>& mf_vx_inv,
46 const amrex::Array4<const amrex::Real>& mf_uy_inv,
47 const amrex::Array4<const amrex::Real>& mf_vy_inv,
51 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_u_arr,
52 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_v_arr,
53 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_w_arr,
54 const int lo_z_face,
const int hi_z_face)
57 InterpType_H interp_u_horz(u, upw_frac_h); InterpType_V interp_u_vert(u, upw_frac_v);
58 InterpType_H interp_v_horz(v, upw_frac_h); InterpType_V interp_v_vert(v, upw_frac_v);
59 InterpType_H interp_w_horz(
w, upw_frac_h); InterpType_V interp_w_vert(
w, upw_frac_v);
62 const int ncells_u_horz = interp_u_horz.GetUpwindCellNumber();
63 const int ncells_u_vert = interp_u_vert.GetUpwindCellNumber();
64 const int ncells_v_horz = interp_v_horz.GetUpwindCellNumber();
65 const int ncells_v_vert = interp_v_vert.GetUpwindCellNumber();
66 const int ncells_w_horz = interp_w_horz.GetUpwindCellNumber();
67 const int ncells_w_vert = interp_w_vert.GetUpwindCellNumber();
74 UPWIND3 interp_u_UPW3(u, upw_frac_h);
75 UPWIND3 interp_v_UPW3(v, upw_frac_h);
76 UPWIND3 interp_w_UPW3(
w, upw_frac_h);
78 bool u_is_regular = (u_type == amrex::FabType::regular);
79 bool v_is_regular = (v_type == amrex::FabType::regular);
80 bool w_is_regular = (w_type == amrex::FabType::regular);
82 bool u_is_singlevalued = (u_type == amrex::FabType::singlevalued);
83 bool v_is_singlevalued = (v_type == amrex::FabType::singlevalued);
84 bool w_is_singlevalued = (w_type == amrex::FabType::singlevalued);
92 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
94 bool not_covered = u_is_regular || (u_is_singlevalued && u_afrac_x(i,j,k) >
zero);
98 amrex::Real rho_u_avg =
myhalf * (rho_u(i-1,j,k) * mf_ux_inv(i-1,j,0) + rho_u(i,j,k) * mf_ux_inv(i,j,0));
104 for (
int ii=0; ii<ncells_u_horz; ++ii) {
105 if (u_cflag(i-ii-1,j,k).isCovered()) {
111 else if (rho_u_avg<
zero)
113 for (
int ii=0; ii<ncells_u_horz; ++ii) {
114 if (u_cflag(i+ii,j,k).isCovered()) {
124 if (icell==ncells_u_horz) {
125 interp_u_horz.InterpolateInX(i,j,k,0,interpx,rho_u_avg);
129 }
else if (icell==2) {
133 flx_u_arr[0](i,j,k) = rho_u_avg * interpx;
137 flx_u_arr[0](i,j,k) =
zero;
141 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
143 bool not_covered = u_is_regular || (u_is_singlevalued && u_afrac_y(i,j,k) >
zero);
147 amrex::Real rho_v_avg =
myhalf * (rho_v(i,j,k) * mf_vx_inv(i,j,0) + rho_v(i-1,j,k) * mf_vx_inv(i-1,j,0));
153 for (
int jj=0; jj<ncells_u_horz; ++jj) {
154 if (u_cflag(i,j-jj-1,k).isCovered()) {
160 else if (rho_v_avg<
zero)
162 for (
int jj=0; jj<ncells_u_horz; ++jj) {
163 if (u_cflag(i,j+jj,k).isCovered()) {
173 if (jcell==ncells_u_horz) {
174 interp_u_horz.InterpolateInY(i,j,k,0,interpy,rho_v_avg);
178 }
else if (jcell==2) {
182 flx_u_arr[1](i,j,k) = rho_v_avg * interpy;
186 flx_u_arr[1](i,j,k) =
zero;
190 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
192 bool not_covered = u_is_regular || (u_is_singlevalued && u_afrac_z(i,j,k) >
zero);
202 for (
int kk=0; kk<ncells_u_vert; ++kk) {
203 if (u_cflag(i,j,k-kk-1).isCovered()) {
209 else if (rho_w_avg<
zero)
211 for (
int kk=0; kk<ncells_u_vert; ++kk) {
212 if (u_cflag(i,j,k+kk).isCovered()) {
222 if (kcell==ncells_u_vert) {
223 interp_u_vert.InterpolateInZ(i,j,k,0,interpz,rho_w_avg);
227 }
else if (kcell==2) {
231 flx_u_arr[2](i,j,k) = rho_w_avg * interpz;
235 flx_u_arr[2](i,j,k) =
zero;
245 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
247 bool not_covered = v_is_regular || (v_is_singlevalued && v_afrac_x(i,j,k) >
zero);
251 amrex::Real rho_u_avg =
myhalf * (rho_u(i,j,k) * mf_uy_inv(i,j,0) + rho_u(i,j-1,k) * mf_uy_inv(i,j-1,0));
257 for (
int ii=0; ii<ncells_v_horz; ++ii) {
258 if (v_cflag(i-ii-1,j,k).isCovered()) {
264 else if (rho_u_avg<
zero)
266 for (
int ii=0; ii<ncells_v_horz; ++ii) {
267 if (v_cflag(i+ii,j,k).isCovered()) {
277 if (icell==ncells_v_horz) {
278 interp_v_horz.InterpolateInX(i,j,k,0,interpx,rho_u_avg);
282 }
else if (icell==2) {
286 flx_v_arr[0](i,j,k) = rho_u_avg * interpx;
290 flx_v_arr[0](i,j,k) =
zero;
294 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
296 bool not_covered = v_is_regular || (v_is_singlevalued && v_afrac_y(i,j,k) >
zero);
300 amrex::Real rho_v_avg =
myhalf * (rho_v(i,j,k) * mf_vy_inv(i,j,0) + rho_v(i,j-1,k) * mf_vy_inv(i,j-1,0));
306 for (
int jj=0; jj<ncells_v_horz; ++jj) {
307 if (v_cflag(i,j-jj-1,k).isCovered()) {
313 else if (rho_v_avg<
zero)
315 for (
int jj=0; jj<ncells_v_horz; ++jj) {
316 if (v_cflag(i,j+jj,k).isCovered()) {
326 if (jcell==ncells_v_horz) {
327 interp_v_horz.InterpolateInY(i,j,k,0,interpy,rho_v_avg);
331 }
else if (jcell==2) {
335 flx_v_arr[1](i,j,k) = rho_v_avg * interpy;
339 flx_v_arr[1](i,j,k) =
zero;
343 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
345 bool not_covered = v_is_regular || (v_is_singlevalued && v_afrac_z(i,j,k) >
zero);
355 for (
int kk=0; kk<ncells_v_vert; ++kk) {
356 if (v_cflag(i,j,k-kk-1).isCovered()) {
362 else if (rho_w_avg<
zero)
364 for (
int kk=0; kk<ncells_v_vert; ++kk) {
365 if (v_cflag(i,j,k+kk).isCovered()) {
375 if (kcell==ncells_v_vert) {
376 interp_v_vert.InterpolateInZ(i,j,k,0,interpz,rho_w_avg);
380 }
else if (kcell==2) {
384 flx_v_arr[2](i,j,k) = rho_w_avg * interpz;
388 flx_v_arr[2](i,j,k) =
zero;
398 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
400 bool not_covered = w_is_regular || (w_is_singlevalued && w_afrac_x(i,j,k) >
zero);
404 amrex::Real rho_u_avg =
myhalf * (rho_u(i,j,k) + rho_u(i,j,k-1)) * mf_ux_inv(i,j,0);
410 for (
int ii=0; ii<ncells_w_horz; ++ii) {
411 if (w_cflag(i-ii-1,j,k).isCovered()) {
417 else if (rho_u_avg<
zero)
419 for (
int ii=0; ii<ncells_w_horz; ++ii) {
420 if (w_cflag(i+ii,j,k).isCovered()) {
430 if (icell==ncells_w_horz) {
431 interp_w_horz.InterpolateInX(i,j,k,0,interpx,rho_u_avg);
435 }
else if (icell==2) {
439 flx_w_arr[0](i,j,k) = rho_u_avg * interpx;
443 flx_w_arr[0](i,j,k) =
zero;
447 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
449 bool not_covered = w_is_regular || (w_is_singlevalued && w_afrac_y(i,j,k) >
zero);
453 amrex::Real rho_v_avg =
myhalf * (rho_v(i,j,k) + rho_v(i,j,k-1)) * mf_vy_inv(i,j,0);
459 for (
int jj=0; jj<ncells_w_horz; ++jj) {
460 if (w_cflag(i,j-jj-1,k).isCovered()) {
466 else if (rho_v_avg<
zero)
468 for (
int jj=0; jj<ncells_w_horz; ++jj) {
469 if (w_cflag(i,j+jj,k).isCovered()) {
479 if (jcell==ncells_w_horz) {
480 interp_w_horz.InterpolateInY(i,j,k,0,interpy,rho_v_avg);
484 }
else if (jcell==2) {
488 flx_w_arr[1](i,j,k) = rho_v_avg * interpy;
492 flx_w_arr[1](i,j,k) =
zero;
496 [=] AMREX_GPU_DEVICE (
int i,
int j,
int k) noexcept
498 bool not_covered = w_is_regular || (w_is_singlevalued && w_afrac_z(i,j,k) >
zero);
502 if (k==lo_z_face || k==hi_z_face+1) {
504 flx_w_arr[2](i,j,k) = rho_w(i,j,k) *
w(i,j,k);
513 for (
int kk=0; kk<ncells_w_vert; ++kk) {
514 if (w_cflag(i,j,k-kk-1).isCovered()) {
520 else if (rho_w_avg<
zero)
522 for (
int kk=0; kk<ncells_w_vert; ++kk) {
523 if (w_cflag(i,j,k+kk).isCovered()) {
532 if (k == hi_z_face || k == lo_z_face+1) {
533 kcell=std::min(kcell,1);
534 }
else if (k == hi_z_face-1 || k == lo_z_face+2 ) {
535 kcell=std::min(kcell,2);
541 if (kcell==ncells_w_vert) {
542 interp_w_vert.InterpolateInZ(i,j,k,0,interpz,rho_w_avg);
546 }
else if (kcell==2) {
550 flx_w_arr[2](i,j,k) = rho_w_avg * interpz;
555 flx_w_arr[2](i,j,k) =
zero;
565 template<
typename InterpType_H>
568 const amrex::Vector<amrex::Box>& bxy_grown,
569 const amrex::Vector<amrex::Box>& bxz_grown,
570 const amrex::Array4<const amrex::Real>& rho_u,
571 const amrex::Array4<const amrex::Real>& rho_v,
572 const amrex::Array4<const amrex::Real>& rho_w,
573 const amrex::Array4<const amrex::Real>& u,
574 const amrex::Array4<const amrex::Real>& v,
575 const amrex::Array4<const amrex::Real>&
w,
576 const amrex::FabType u_type,
577 const amrex::FabType v_type,
578 const amrex::FabType w_type,
579 const amrex::Array4<const amrex::EBCellFlag>& u_cflag,
580 const amrex::Array4<const amrex::Real>& u_afrac_x,
581 const amrex::Array4<const amrex::Real>& u_afrac_y,
582 const amrex::Array4<const amrex::Real>& u_afrac_z,
583 const amrex::Array4<const amrex::EBCellFlag>& v_cflag,
584 const amrex::Array4<const amrex::Real>& v_afrac_x,
585 const amrex::Array4<const amrex::Real>& v_afrac_y,
586 const amrex::Array4<const amrex::Real>& v_afrac_z,
587 const amrex::Array4<const amrex::EBCellFlag>& w_cflag,
588 const amrex::Array4<const amrex::Real>& w_afrac_x,
589 const amrex::Array4<const amrex::Real>& w_afrac_y,
590 const amrex::Array4<const amrex::Real>& w_afrac_z,
591 const amrex::Array4<const amrex::Real>& mf_ux_inv,
592 const amrex::Array4<const amrex::Real>& mf_vx_inv,
593 const amrex::Array4<const amrex::Real>& mf_uy_inv,
594 const amrex::Array4<const amrex::Real>& mf_vy_inv,
598 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_u_arr,
599 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_v_arr,
600 amrex::GpuArray<amrex::Array4<amrex::Real>, AMREX_SPACEDIM>& flx_w_arr,
601 const int lo_z_face,
const int hi_z_face)
604 EBAdvectionSrcForMomWrapper<InterpType_H,CENTERED2,UPWINDALL>(
605 bxx_grown, bxy_grown, bxz_grown,
606 rho_u, rho_v, rho_w, u, v,
w,
607 u_type, v_type, w_type,
608 u_cflag, u_afrac_x, u_afrac_y, u_afrac_z,
609 v_cflag, v_afrac_x, v_afrac_y, v_afrac_z,
610 w_cflag, w_afrac_x, w_afrac_y, w_afrac_z,
611 mf_ux_inv, mf_vx_inv,
612 mf_uy_inv, mf_vy_inv,
613 upw_frac_h, upw_frac_v, vert_adv_type,
614 flx_u_arr, flx_v_arr, flx_w_arr,
615 lo_z_face, hi_z_face);
617 EBAdvectionSrcForMomWrapper<InterpType_H,UPWIND3,UPWINDALL>(
618 bxx_grown, bxy_grown, bxz_grown,
619 rho_u, rho_v, rho_w, u, v,
w,
620 u_type, v_type, w_type,
621 u_cflag, u_afrac_x, u_afrac_y, u_afrac_z,
622 v_cflag, v_afrac_x, v_afrac_y, v_afrac_z,
623 w_cflag, w_afrac_x, w_afrac_y, w_afrac_z,
624 mf_ux_inv, mf_vx_inv,
625 mf_uy_inv, mf_vy_inv,
626 upw_frac_h, upw_frac_v, vert_adv_type,
627 flx_u_arr, flx_v_arr, flx_w_arr,
628 lo_z_face, hi_z_face);
630 EBAdvectionSrcForMomWrapper<InterpType_H,CENTERED4,UPWINDALL>(
631 bxx_grown, bxy_grown, bxz_grown,
632 rho_u, rho_v, rho_w, u, v,
w,
633 u_type, v_type, w_type,
634 u_cflag, u_afrac_x, u_afrac_y, u_afrac_z,
635 v_cflag, v_afrac_x, v_afrac_y, v_afrac_z,
636 w_cflag, w_afrac_x, w_afrac_y, w_afrac_z,
637 mf_ux_inv, mf_vx_inv,
638 mf_uy_inv, mf_vy_inv,
639 upw_frac_h, upw_frac_v, vert_adv_type,
640 flx_u_arr, flx_v_arr, flx_w_arr,
641 lo_z_face, hi_z_face);
643 EBAdvectionSrcForMomWrapper<InterpType_H,UPWIND5,UPWINDALL>(
644 bxx_grown, bxy_grown, bxz_grown,
645 rho_u, rho_v, rho_w, u, v,
w,
646 u_type, v_type, w_type,
647 u_cflag, u_afrac_x, u_afrac_y, u_afrac_z,
648 v_cflag, v_afrac_x, v_afrac_y, v_afrac_z,
649 w_cflag, w_afrac_x, w_afrac_y, w_afrac_z,
650 mf_ux_inv, mf_vx_inv,
651 mf_uy_inv, mf_vy_inv,
652 upw_frac_h, upw_frac_v, vert_adv_type,
653 flx_u_arr, flx_v_arr, flx_w_arr,
654 lo_z_face, hi_z_face);
656 EBAdvectionSrcForMomWrapper<InterpType_H,CENTERED6,UPWINDALL>(
657 bxx_grown, bxy_grown, bxz_grown,
658 rho_u, rho_v, rho_w, u, v,
w,
659 u_type, v_type, w_type,
660 u_cflag, u_afrac_x, u_afrac_y, u_afrac_z,
661 v_cflag, v_afrac_x, v_afrac_y, v_afrac_z,
662 w_cflag, w_afrac_x, w_afrac_y, w_afrac_z,
663 mf_ux_inv, mf_vx_inv,
664 mf_uy_inv, mf_vy_inv,
665 upw_frac_h, upw_frac_v, vert_adv_type,
666 flx_u_arr, flx_v_arr, flx_w_arr,
667 lo_z_face, hi_z_face);
constexpr amrex::Real zero
Definition: ERF_Constants.H:8
constexpr amrex::Real myhalf
Definition: ERF_Constants.H:13
void EBAdvectionSrcForMomVert(const amrex::Vector< amrex::Box > &bxx_grown, const amrex::Vector< amrex::Box > &bxy_grown, const amrex::Vector< amrex::Box > &bxz_grown, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &rho_w, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::FabType u_type, const amrex::FabType v_type, const amrex::FabType w_type, const amrex::Array4< const amrex::EBCellFlag > &u_cflag, const amrex::Array4< const amrex::Real > &u_afrac_x, const amrex::Array4< const amrex::Real > &u_afrac_y, const amrex::Array4< const amrex::Real > &u_afrac_z, const amrex::Array4< const amrex::EBCellFlag > &v_cflag, const amrex::Array4< const amrex::Real > &v_afrac_x, const amrex::Array4< const amrex::Real > &v_afrac_y, const amrex::Array4< const amrex::Real > &v_afrac_z, const amrex::Array4< const amrex::EBCellFlag > &w_cflag, const amrex::Array4< const amrex::Real > &w_afrac_x, const amrex::Array4< const amrex::Real > &w_afrac_y, const amrex::Array4< const amrex::Real > &w_afrac_z, 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_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, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_u_arr, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_v_arr, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_w_arr, const int lo_z_face, const int hi_z_face)
Dispatch EB momentum flux construction on the vertical advection scheme.
Definition: ERF_EBAdvectionSrcForMom.H:567
void EBAdvectionSrcForMomWrapper(const amrex::Vector< amrex::Box > &bxx_grown, const amrex::Vector< amrex::Box > &bxy_grown, const amrex::Vector< amrex::Box > &bxz_grown, const amrex::Array4< const amrex::Real > &rho_u, const amrex::Array4< const amrex::Real > &rho_v, const amrex::Array4< const amrex::Real > &rho_w, const amrex::Array4< const amrex::Real > &u, const amrex::Array4< const amrex::Real > &v, const amrex::Array4< const amrex::Real > &w, const amrex::FabType u_type, const amrex::FabType v_type, const amrex::FabType w_type, const amrex::Array4< const amrex::EBCellFlag > &u_cflag, const amrex::Array4< const amrex::Real > &u_afrac_x, const amrex::Array4< const amrex::Real > &u_afrac_y, const amrex::Array4< const amrex::Real > &u_afrac_z, const amrex::Array4< const amrex::EBCellFlag > &v_cflag, const amrex::Array4< const amrex::Real > &v_afrac_x, const amrex::Array4< const amrex::Real > &v_afrac_y, const amrex::Array4< const amrex::Real > &v_afrac_z, const amrex::Array4< const amrex::EBCellFlag > &w_cflag, const amrex::Array4< const amrex::Real > &w_afrac_x, const amrex::Array4< const amrex::Real > &w_afrac_y, const amrex::Array4< const amrex::Real > &w_afrac_z, 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_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, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_u_arr, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_v_arr, amrex::GpuArray< amrex::Array4< amrex::Real >, AMREX_SPACEDIM > &flx_w_arr, const int lo_z_face, const int hi_z_face)
Build EB momentum fluxes with selected horizontal and vertical interpolation.
Definition: ERF_EBAdvectionSrcForMom.H:20
AdvType
Definition: ERF_IndexDefines.H:261
ParallelFor(fab_box, [=] AMREX_GPU_DEVICE(int i, int j, int k) { qrcuten_arr(i, j, k)=Real(0);qscuten_arr(i, j, k)=Real(0);qicuten_arr(i, j, k)=Real(0);})
Real w
Definition: ERF_Plotfile2DInterpolator.cpp:22
amrex::Real Real
Definition: ERF_ShocInterface.H:19
AMREX_ASSERT_WITH_MESSAGE(wbar_cutoff_min > wbar_cutoff_max, "ERROR: wbar_cutoff_min < wbar_cutoff_max")
Definition: ERF_Interpolation_UPW.H:10
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInY(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:38
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInZ(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:56
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInX(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real) const
Definition: ERF_Interpolation_UPW.H:20
Definition: ERF_Interpolation_UPW.H:95
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInZ(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:159
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInY(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:133
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void InterpolateInX(const int &i, const int &j, const int &k, const int &qty_index, amrex::Real &val_lo, amrex::Real upw_lo) const
Definition: ERF_Interpolation_UPW.H:107