aboutsummaryrefslogtreecommitdiff
path: root/Source/WarpX.cpp
diff options
context:
space:
mode:
authorGravatar Remi Lehe <remi.lehe@normalesup.org> 2019-11-08 09:03:24 -0800
committerGravatar GitHub <noreply@github.com> 2019-11-08 09:03:24 -0800
commit73df3761e92029302a1044ef9ed6651a267e2dab (patch)
treeabe7a254f068c05820c11fd547fde81d52c02e06 /Source/WarpX.cpp
parent48d1753a0040877a8c8948cdf3addab6a20c0468 (diff)
parent647ab2871103d86c4d29888e1bbe19de8b127680 (diff)
downloadWarpX-73df3761e92029302a1044ef9ed6651a267e2dab.tar.gz
WarpX-73df3761e92029302a1044ef9ed6651a267e2dab.tar.zst
WarpX-73df3761e92029302a1044ef9ed6651a267e2dab.zip
Merge pull request #305 from ECP-WarpX/generalize_nodal_deposition
Allow more flexible centering with deposition
Diffstat (limited to 'Source/WarpX.cpp')
-rw-r--r--Source/WarpX.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/WarpX.cpp b/Source/WarpX.cpp
index eef033236..b04bbb380 100644
--- a/Source/WarpX.cpp
+++ b/Source/WarpX.cpp
@@ -1062,6 +1062,21 @@ WarpX::UpperCorner(const Box& bx, int lev)
#endif
}
+std::array<Real,3>
+WarpX::LowerCornerWithCentering(const Box& bx, int lev)
+{
+ std::array<Real,3> corner = LowerCorner(bx, lev);
+ std::array<Real,3> dx = CellSize(lev);
+ if (!bx.type(0)) corner[0] += 0.5*dx[0];
+#if (AMREX_SPACEDIM == 3)
+ if (!bx.type(1)) corner[1] += 0.5*dx[1];
+ if (!bx.type(2)) corner[2] += 0.5*dx[2];
+#else
+ if (!bx.type(1)) corner[2] += 0.5*dx[2];
+#endif
+ return corner;
+}
+
IntVect
WarpX::RefRatio (int lev)
{