aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Dave Grote <grote1@llnl.gov> 2019-12-05 09:24:25 -0800
committerGravatar Dave Grote <grote1@llnl.gov> 2019-12-05 09:24:25 -0800
commit8a7cd073a469487d7c8e88a3c13c7ae0e2aed588 (patch)
tree2f614147ca64f88550dc69069bf1915fbae7d51c /Source/Particles/PhysicalParticleContainer.cpp
parent3448dc298eec5c356d8622567c73f95841ebebfd (diff)
downloadWarpX-8a7cd073a469487d7c8e88a3c13c7ae0e2aed588.tar.gz
WarpX-8a7cd073a469487d7c8e88a3c13c7ae0e2aed588.tar.zst
WarpX-8a7cd073a469487d7c8e88a3c13c7ae0e2aed588.zip
Updated field gather for generalized centering
Diffstat (limited to 'Source/Particles/PhysicalParticleContainer.cpp')
-rw-r--r--Source/Particles/PhysicalParticleContainer.cpp33
1 files changed, 12 insertions, 21 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.cpp b/Source/Particles/PhysicalParticleContainer.cpp
index 3128868e4..95e8ce4fe 100644
--- a/Source/Particles/PhysicalParticleContainer.cpp
+++ b/Source/Particles/PhysicalParticleContainer.cpp
@@ -2169,8 +2169,6 @@ PhysicalParticleContainer::FieldGather (WarpXParIter& pti,
if (np_to_gather == 0) return;
// Get cell size on gather_lev
const std::array<Real,3>& dx = WarpX::CellSize(std::max(gather_lev,0));
- // Set staggering shift depending on e_is_nodal
- const Real stagger_shift = e_is_nodal ? 0.0 : 0.5;
// Get box from which field is gathered.
// If not gathering from the finest level, the box is coarsened.
@@ -2185,13 +2183,6 @@ PhysicalParticleContainer::FieldGather (WarpXParIter& pti,
// Add guard cells to the box.
box.grow(ngE);
- const Array4<const Real>& ex_arr = exfab->array();
- const Array4<const Real>& ey_arr = eyfab->array();
- const Array4<const Real>& ez_arr = ezfab->array();
- const Array4<const Real>& bx_arr = bxfab->array();
- const Array4<const Real>& by_arr = byfab->array();
- const Array4<const Real>& bz_arr = bzfab->array();
-
const ParticleReal * const AMREX_RESTRICT xp = m_xp[thread_num].dataPtr() + offset;
const ParticleReal * const AMREX_RESTRICT zp = m_zp[thread_num].dataPtr() + offset;
const ParticleReal * const AMREX_RESTRICT yp = m_yp[thread_num].dataPtr() + offset;
@@ -2209,25 +2200,25 @@ PhysicalParticleContainer::FieldGather (WarpXParIter& pti,
Exp.dataPtr() + offset, Eyp.dataPtr() + offset,
Ezp.dataPtr() + offset, Bxp.dataPtr() + offset,
Byp.dataPtr() + offset, Bzp.dataPtr() + offset,
- ex_arr, ey_arr, ez_arr, bx_arr, by_arr, bz_arr,
+ exfab, eyfab, ezfab, bxfab, byfab, bzfab,
np_to_gather, dx,
- xyzmin, lo, stagger_shift, WarpX::n_rz_azimuthal_modes);
+ xyzmin, lo, WarpX::n_rz_azimuthal_modes);
} else if (WarpX::nox == 2){
doGatherShapeN<2,1>(xp, yp, zp,
Exp.dataPtr() + offset, Eyp.dataPtr() + offset,
Ezp.dataPtr() + offset, Bxp.dataPtr() + offset,
Byp.dataPtr() + offset, Bzp.dataPtr() + offset,
- ex_arr, ey_arr, ez_arr, bx_arr, by_arr, bz_arr,
+ exfab, eyfab, ezfab, bxfab, byfab, bzfab,
np_to_gather, dx,
- xyzmin, lo, stagger_shift, WarpX::n_rz_azimuthal_modes);
+ xyzmin, lo, WarpX::n_rz_azimuthal_modes);
} else if (WarpX::nox == 3){
doGatherShapeN<3,1>(xp, yp, zp,
Exp.dataPtr() + offset, Eyp.dataPtr() + offset,
Ezp.dataPtr() + offset, Bxp.dataPtr() + offset,
Byp.dataPtr() + offset, Bzp.dataPtr() + offset,
- ex_arr, ey_arr, ez_arr, bx_arr, by_arr, bz_arr,
+ exfab, eyfab, ezfab, bxfab, byfab, bzfab,
np_to_gather, dx,
- xyzmin, lo, stagger_shift, WarpX::n_rz_azimuthal_modes);
+ xyzmin, lo, WarpX::n_rz_azimuthal_modes);
}
} else {
if (WarpX::nox == 1){
@@ -2235,25 +2226,25 @@ PhysicalParticleContainer::FieldGather (WarpXParIter& pti,
Exp.dataPtr() + offset, Eyp.dataPtr() + offset,
Ezp.dataPtr() + offset, Bxp.dataPtr() + offset,
Byp.dataPtr() + offset, Bzp.dataPtr() + offset,
- ex_arr, ey_arr, ez_arr, bx_arr, by_arr, bz_arr,
+ exfab, eyfab, ezfab, bxfab, byfab, bzfab,
np_to_gather, dx,
- xyzmin, lo, stagger_shift, WarpX::n_rz_azimuthal_modes);
+ xyzmin, lo, WarpX::n_rz_azimuthal_modes);
} else if (WarpX::nox == 2){
doGatherShapeN<2,0>(xp, yp, zp,
Exp.dataPtr() + offset, Eyp.dataPtr() + offset,
Ezp.dataPtr() + offset, Bxp.dataPtr() + offset,
Byp.dataPtr() + offset, Bzp.dataPtr() + offset,
- ex_arr, ey_arr, ez_arr, bx_arr, by_arr, bz_arr,
+ exfab, eyfab, ezfab, bxfab, byfab, bzfab,
np_to_gather, dx,
- xyzmin, lo, stagger_shift, WarpX::n_rz_azimuthal_modes);
+ xyzmin, lo, WarpX::n_rz_azimuthal_modes);
} else if (WarpX::nox == 3){
doGatherShapeN<3,0>(xp, yp, zp,
Exp.dataPtr() + offset, Eyp.dataPtr() + offset,
Ezp.dataPtr() + offset, Bxp.dataPtr() + offset,
Byp.dataPtr() + offset, Bzp.dataPtr() + offset,
- ex_arr, ey_arr, ez_arr, bx_arr, by_arr, bz_arr,
+ exfab, eyfab, ezfab, bxfab, byfab, bzfab,
np_to_gather, dx,
- xyzmin, lo, stagger_shift, WarpX::n_rz_azimuthal_modes);
+ xyzmin, lo, WarpX::n_rz_azimuthal_modes);
}
}
}