aboutsummaryrefslogtreecommitdiff
path: root/Source/Parallelization/InterpolateCurrentFineToCoarse.H
diff options
context:
space:
mode:
authorGravatar MaxThevenet <mthevenet@lbl.gov> 2019-10-29 13:28:54 -0700
committerGravatar MaxThevenet <mthevenet@lbl.gov> 2019-10-29 13:28:54 -0700
commit9854b9afb105825e41ac6fade98564425b0179f9 (patch)
tree9e6e14090ea705c6d58ecf0a2ebb140190799b3b /Source/Parallelization/InterpolateCurrentFineToCoarse.H
parentca4f2ce00e8cd3e687d803787bf24f9dd2f555e5 (diff)
parentbf752934c97c520a043705b4ae3e2e34b6026d56 (diff)
downloadWarpX-9854b9afb105825e41ac6fade98564425b0179f9.tar.gz
WarpX-9854b9afb105825e41ac6fade98564425b0179f9.tar.zst
WarpX-9854b9afb105825e41ac6fade98564425b0179f9.zip
Merge branch 'dev' into comm
Diffstat (limited to 'Source/Parallelization/InterpolateCurrentFineToCoarse.H')
-rw-r--r--Source/Parallelization/InterpolateCurrentFineToCoarse.H56
1 files changed, 29 insertions, 27 deletions
diff --git a/Source/Parallelization/InterpolateCurrentFineToCoarse.H b/Source/Parallelization/InterpolateCurrentFineToCoarse.H
index 148b725d0..cbbcdfab5 100644
--- a/Source/Parallelization/InterpolateCurrentFineToCoarse.H
+++ b/Source/Parallelization/InterpolateCurrentFineToCoarse.H
@@ -56,6 +56,8 @@ public:
int const k
) const noexcept
{
+ using namespace amrex;
+
auto const & fine_unsafe = m_fine; // out-of-bounds access not secured with zero-values yet
auto const & coarse = m_coarse; // out-of-bounds access not secured but will also not occur
@@ -71,29 +73,29 @@ public:
int const kk = k * m_refinement_ratio;
#if AMREX_SPACEDIM == 2
if (IDim == 0) {
- coarse(i, j, k) = 0.25 * (
+ coarse(i, j, k) = 0.25_rt * (
fine(ii, jj, kk) + fine(ii + 1, jj, kk) +
- 0.5 * (
+ 0.5_rt * (
fine(ii, jj - 1, kk) + fine(ii + 1, jj - 1, kk) +
fine(ii, jj + 1, kk) + fine(ii + 1, jj + 1, kk)
)
);
} else if (IDim == 2) {
- coarse(i, j, k) = 0.25 * (
+ coarse(i, j, k) = 0.25_rt * (
fine(ii, jj, kk) + fine(ii, jj + 1, kk) +
- 0.5 * (
+ 0.5_rt * (
fine(ii - 1, jj, kk) + fine(ii - 1, jj + 1, kk) +
fine(ii + 1, jj, kk) + fine(ii + 1, jj + 1, kk)
)
);
} else {
- coarse(i, j, k) = 0.25 * (
+ coarse(i, j, k) = 0.25_rt * (
fine(ii, jj, kk) +
- 0.5 * (
+ 0.5_rt * (
fine(ii - 1, jj , kk) + fine(ii + 1, jj , kk) +
fine(ii , jj - 1, kk) + fine(ii , jj + 1, kk)
) +
- 0.25 * (
+ 0.25_rt * (
fine(ii - 1, jj - 1, kk) + fine(ii + 1, jj - 1, kk) +
fine(ii - 1, jj + 1, kk) + fine(ii + 1, jj + 1, kk)
)
@@ -101,64 +103,64 @@ public:
}
#elif AMREX_SPACEDIM == 3
if (IDim == 0) {
- coarse(i,j,k) = 0.125 * (
+ coarse(i,j,k) = 0.125_rt * (
fine(ii , jj, kk) +
- 0.5 * (
+ 0.5_rt * (
fine(ii , jj-1, kk ) + fine(ii , jj+1, kk ) +
fine(ii , jj , kk-1) + fine(ii , jj , kk+1)
) +
- 0.25 * (
+ 0.25_rt * (
fine(ii , jj-1, kk-1) + fine(ii , jj+1, kk-1) +
fine(ii , jj-1, kk+1) + fine(ii , jj+1, kk+1)
) +
fine(ii+1, jj, kk) +
- 0.5 * (
+ 0.5_rt * (
fine(ii+1, jj-1, kk ) + fine(ii+1, jj+1, kk ) +
fine(ii+1, jj , kk-1) + fine(ii+1, jj , kk+1)
) +
- 0.25 * (
+ 0.25_rt * (
fine(ii+1, jj-1, kk-1) + fine(ii+1, jj+1, kk-1) +
fine(ii+1, jj-1, kk+1) + fine(ii+1, jj+1, kk+1)
)
);
} else if (IDim == 1) {
- coarse(i, j, k) = 0.125 * (
+ coarse(i, j, k) = 0.125_rt * (
fine(ii, jj , kk) +
- 0.5 * (
+ 0.5_rt * (
fine(ii-1, jj , kk ) + fine(ii+1, jj , kk ) +
fine(ii , jj , kk-1) + fine(ii , jj , kk+1)
- ) +
- 0.25 * (
+ ) +
+ 0.25_rt * (
fine(ii-1, jj , kk-1) + fine(ii+1, jj , kk-1) +
fine(ii-1, jj , kk+1) + fine(ii+1, jj , kk+1)
- ) +
- fine(ii, jj+1, kk) +
- 0.5 * (
+ ) +
+ fine(ii, jj+1, kk) +
+ 0.5_rt * (
fine(ii-1, jj+1, kk ) + fine(ii+1, jj+1, kk ) +
fine(ii , jj+1, kk-1) + fine(ii , jj+1, kk+1)
- ) +
- 0.25 * (
+ ) +
+ 0.25_rt * (
fine(ii-1, jj+1, kk-1) + fine(ii+1, jj+1, kk-1) +
fine(ii-1, jj+1, kk+1) + fine(ii+1, jj+1, kk+1)
- )
+ )
);
} else {
- coarse(i, j, k) = 0.125 * (
+ coarse(i, j, k) = 0.125_rt * (
fine(ii, jj, kk ) +
- 0.5 * (
+ 0.5_rt * (
fine(ii-1, jj , kk ) + fine(ii+1, jj , kk ) +
fine(ii , jj-1, kk ) + fine(ii , jj+1, kk )
) +
- 0.25 * (
+ 0.25_rt * (
fine(ii-1, jj-1, kk ) + fine(ii+1, jj-1, kk ) +
fine(ii-1, jj+1, kk ) + fine(ii+1, jj+1, kk )
) +
fine(ii, jj, kk+1) +
- 0.5 * (
+ 0.5_rt * (
fine(ii-1, jj , kk+1) + fine(ii+1, jj , kk+1) +
fine(ii , jj-1, kk+1) + fine(ii , jj+1, kk+1)
) +
- 0.25 * (
+ 0.25_rt * (
fine(ii-1, jj-1, kk+1) + fine(ii+1, jj-1, kk+1) +
fine(ii-1, jj+1, kk+1) + fine(ii+1, jj+1, kk+1)
)