diff options
author | 2019-11-08 09:03:24 -0800 | |
---|---|---|
committer | 2019-11-08 09:03:24 -0800 | |
commit | 73df3761e92029302a1044ef9ed6651a267e2dab (patch) | |
tree | abe7a254f068c05820c11fd547fde81d52c02e06 /Source/WarpX.cpp | |
parent | 48d1753a0040877a8c8948cdf3addab6a20c0468 (diff) | |
parent | 647ab2871103d86c4d29888e1bbe19de8b127680 (diff) | |
download | WarpX-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.cpp | 15 |
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) { |