aboutsummaryrefslogtreecommitdiff
path: root/Source/Utils/WarpXUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Utils/WarpXUtil.cpp')
-rw-r--r--Source/Utils/WarpXUtil.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/Source/Utils/WarpXUtil.cpp b/Source/Utils/WarpXUtil.cpp
index 06f0a7da5..d77a35b3a 100644
--- a/Source/Utils/WarpXUtil.cpp
+++ b/Source/Utils/WarpXUtil.cpp
@@ -170,8 +170,10 @@ void ConvertLabParamsToBoost()
#if (AMREX_SPACEDIM == 3)
Vector<int> dim_map {0, 1, 2};
-#else
+#elif (AMREX_SPACEDIM == 2)
Vector<int> dim_map {0, 2};
+#else
+ Vector<int> dim_map {2};
#endif
for (int idim = 0; idim < AMREX_SPACEDIM; ++idim)
@@ -219,6 +221,8 @@ void NullifyMF(amrex::MultiFab& mf, int lev, amrex::Real zmin, amrex::Real zmax)
amrex::Array<amrex::Real,3> galilean_shift = { 0., 0., 0., };
#elif (AMREX_SPACEDIM == 2)
amrex::Array<amrex::Real,3> galilean_shift = { 0., std::numeric_limits<Real>::quiet_NaN(), 0., } ;
+#elif (AMREX_SPACEDIM == 1)
+ amrex::Array<amrex::Real,3> galilean_shift = {std::numeric_limits<Real>::quiet_NaN(), std::numeric_limits<Real>::quiet_NaN(), 0., } ;
#endif
const amrex::Real zmin_box = WarpX::LowerCorner(bx, galilean_shift, lev)[2];
const amrex::Real zmax_box = WarpX::UpperCorner(bx, lev)[2];
@@ -226,8 +230,10 @@ void NullifyMF(amrex::MultiFab& mf, int lev, amrex::Real zmin, amrex::Real zmax)
// Get box lower index in the z direction
#if (AMREX_SPACEDIM==3)
const int lo_ind = bx.loVect()[2];
-#else
+#elif (AMREX_SPACEDIM==2)
const int lo_ind = bx.loVect()[1];
+#else
+ const int lo_ind = bx.loVect()[0];
#endif
// Check if box intersect with [zmin, zmax]
if ( (zmax>zmin_box && zmin<=zmax_box) ){
@@ -237,8 +243,10 @@ void NullifyMF(amrex::MultiFab& mf, int lev, amrex::Real zmin, amrex::Real zmax)
[=] AMREX_GPU_DEVICE(int i, int j, int k) noexcept{
#if (AMREX_SPACEDIM==3)
const Real z_gridpoint = zmin_box+(k-lo_ind)*dz;
-#else
+#elif (AMREX_SPACEDIM==2)
const Real z_gridpoint = zmin_box+(j-lo_ind)*dz;
+#else
+ const Real z_gridpoint = zmin_box+(i-lo_ind)*dz;
#endif
if ( (z_gridpoint >= zmin) && (z_gridpoint < zmax) ) {
arr(i,j,k) = 0.;