diff options
author | 2019-08-22 18:23:01 -0700 | |
---|---|---|
committer | 2019-08-22 18:23:01 -0700 | |
commit | 0db327debd4a4f704ac5059a9038ef183e22eee4 (patch) | |
tree | 0ae0cd53d27b5353cb8595c8330e3296f0b0e03b /Source/Particles/WarpXParticleContainer.cpp | |
parent | 97068578dc4b526ddbe6ea861013cdc82b5c77d1 (diff) | |
download | WarpX-0db327debd4a4f704ac5059a9038ef183e22eee4.tar.gz WarpX-0db327debd4a4f704ac5059a9038ef183e22eee4.tar.zst WarpX-0db327debd4a4f704ac5059a9038ef183e22eee4.zip |
Bug fixes for RZ multimode
Diffstat (limited to 'Source/Particles/WarpXParticleContainer.cpp')
-rw-r--r-- | Source/Particles/WarpXParticleContainer.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/Source/Particles/WarpXParticleContainer.cpp b/Source/Particles/WarpXParticleContainer.cpp index d7d0ffc73..04746a895 100644 --- a/Source/Particles/WarpXParticleContainer.cpp +++ b/Source/Particles/WarpXParticleContainer.cpp @@ -469,7 +469,6 @@ WarpXParticleContainer::DepositCurrent(WarpXParIter& pti, Box tbx = convert(tilebox, WarpX::jx_nodal_flag); Box tby = convert(tilebox, WarpX::jy_nodal_flag); Box tbz = convert(tilebox, WarpX::jz_nodal_flag); - tilebox.grow(ngJ); #ifdef AMREX_USE_GPU // No tiling on GPU: jx_ptr points to the full @@ -484,9 +483,9 @@ WarpXParticleContainer::DepositCurrent(WarpXParIter& pti, tby.grow(ngJ); tbz.grow(ngJ); - local_jx[thread_num].resize(tbx); - local_jy[thread_num].resize(tby); - local_jz[thread_num].resize(tbz); + local_jx[thread_num].resize(tbx, jx->nComp()); + local_jy[thread_num].resize(tby, jy->nComp()); + local_jz[thread_num].resize(tbz, jz->nComp()); // local_jx[thread_num] is set to zero local_jx[thread_num].setVal(0.0); @@ -561,9 +560,9 @@ WarpXParticleContainer::DepositCurrent(WarpXParIter& pti, BL_PROFILE_VAR_START(blp_accumulate); // CPU, tiling: atomicAdd local_jx into jx // (same for jx and jz) - (*jx)[pti].atomicAdd(local_jx[thread_num], tbx, tbx, 0, 0, 1); - (*jy)[pti].atomicAdd(local_jy[thread_num], tby, tby, 0, 0, 1); - (*jz)[pti].atomicAdd(local_jz[thread_num], tbz, tbz, 0, 0, 1); + (*jx)[pti].atomicAdd(local_jx[thread_num], tbx, tbx, 0, 0, jx->nComp()); + (*jy)[pti].atomicAdd(local_jy[thread_num], tby, tby, 0, 0, jy->nComp()); + (*jz)[pti].atomicAdd(local_jz[thread_num], tbz, tbz, 0, 0, jz->nComp()); BL_PROFILE_VAR_STOP(blp_accumulate); #endif } |