aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/WarpXParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar Andrew Myers <atmyers@lbl.gov> 2020-06-22 09:28:16 -0700
committerGravatar GitHub <noreply@github.com> 2020-06-22 09:28:16 -0700
commitf4978e1001494e2b148128380fb37f3c2450209f (patch)
tree237a671ca194338411f16f52797e70114b220384 /Source/Particles/WarpXParticleContainer.cpp
parent97755d1c2e04e5b8c3295182eaff472c73cf8a53 (diff)
downloadWarpX-f4978e1001494e2b148128380fb37f3c2450209f.tar.gz
WarpX-f4978e1001494e2b148128380fb37f3c2450209f.tar.zst
WarpX-f4978e1001494e2b148128380fb37f3c2450209f.zip
Remove persistent E+B (#1050)
* add functor for doing the tmp particles copy for the back-transformed diagnosti * merge the particle push options into one kernel * EOL * fix assertion * add a FieldGatherandPushPX method to PhysicalParticleContainer * handle offset in copyAttribs * allow this functor to be constructed even it we aren't doing the back transformed diagnostics * EOL * update the overloads of PushPX for the Photon and RigidInjected ParticleContainers * function for dispatching the right field gather * init this val to 0.0 * fix some typos * handle scaling the fields for rigid injection * EOL * don't need to get pointers to E and B arrays in PushPX any more. * actually I can't remove these yet * EOL * variable order bug * move the QED stuff to the proper place * EOL * make sure we don't build these functors unless the runtime options are toggled * EOL * perform the field gather prior to the photon particle push * remove E and B components and FieldGather methods. Reimplement PushP for rigid injected and physical particles * update ionization to do field gather inline * remove E and B from the particle diagnostics * don't write E or B in these tests for particles * add missing files * remove EB from the Regtest ini file too * no need to do this twice * important typo * also do the gather inline for the QED processes that need to * move these sources inside ifdef for QED * fix bug in RZ * remove some fields from the Python tests. * remove all particle E and B comps from json benchmarks * don't assert that Ey is the langmuir output * remove uy from this output * update test * restore the mesh fields I turned off by mistake * turn off field IO for a few python tests I missed * fix typo * reset Langmuir_multi benchmark * update Langmuir_multi_nodal benchmark * update single precision langmuir bench * update psatd single precision languir one too * also do ionization_lab * finally, ionizaiton_boost * update benchmarks_json/Langmuir_multi_psatd.json * update benchmarks_json/Langmuir_multi_psatd_current_correction.json * update benchmarks_json/Langmuir_multi_psatd_momentum_conserving.json * update benchmarks_json/Langmuir_multi_psatd_nodal.json * remove the particle E and B from the choices in the docs * fix offset bug * also add the Gather subdirectory * Update Source/WarpX.H Co-authored-by: MaxThevenet <mthevenet@lbl.gov> * add docstring for LowerCornerWithGalilean * add new source files to CMakeLists.txt * also need to update the GPU regression tests * update the name of the output file for this python test * remove field gather call from FieldDiagnostics * fix typo in docstring * init fields to 0 * add docstring to the CopyParticleAttribs constructor * some explicit amrex::namepace Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
Diffstat (limited to 'Source/Particles/WarpXParticleContainer.cpp')
-rw-r--r--Source/Particles/WarpXParticleContainer.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/Source/Particles/WarpXParticleContainer.cpp b/Source/Particles/WarpXParticleContainer.cpp
index 27d042f74..95e656a4f 100644
--- a/Source/Particles/WarpXParticleContainer.cpp
+++ b/Source/Particles/WarpXParticleContainer.cpp
@@ -26,7 +26,14 @@
using namespace amrex;
WarpXParIter::WarpXParIter (ContainerType& pc, int level)
- : ParIter(pc, level, MFItInfo().SetDynamic(WarpX::do_dynamic_scheduling))
+ : amrex::ParIter<0,0,PIdx::nattribs>(pc, level,
+ MFItInfo().SetDynamic(WarpX::do_dynamic_scheduling))
+{
+}
+
+WarpXParIter::WarpXParIter (ContainerType& pc, int level, MFItInfo& info)
+ : amrex::ParIter<0,0,PIdx::nattribs>(pc, level,
+ info.SetDynamic(WarpX::do_dynamic_scheduling))
{
}
@@ -34,9 +41,6 @@ WarpXParticleContainer::WarpXParticleContainer (AmrCore* amr_core, int ispecies)
: ParticleContainer<0,0,PIdx::nattribs>(amr_core->GetParGDB())
, species_id(ispecies)
{
- for (unsigned int i = PIdx::Ex; i <= PIdx::Bz; ++i) {
- communicate_real_comp[i] = false; // Don't need to communicate E and B.
- }
SetParticleSize();
ReadParameters();
@@ -45,12 +49,6 @@ WarpXParticleContainer::WarpXParticleContainer (AmrCore* amr_core, int ispecies)
particle_comps["ux"] = PIdx::ux;
particle_comps["uy"] = PIdx::uy;
particle_comps["uz"] = PIdx::uz;
- particle_comps["Ex"] = PIdx::Ex;
- particle_comps["Ey"] = PIdx::Ey;
- particle_comps["Ez"] = PIdx::Ez;
- particle_comps["Bx"] = PIdx::Bx;
- particle_comps["By"] = PIdx::By;
- particle_comps["Bz"] = PIdx::Bz;
#ifdef WARPX_DIM_RZ
particle_comps["theta"] = PIdx::theta;
#endif