aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/MultiParticleContainer.cpp
diff options
context:
space:
mode:
authorGravatar RevathiJambunathan <revanathan@gmail.com> 2019-10-21 10:24:26 -0700
committerGravatar RevathiJambunathan <revanathan@gmail.com> 2019-10-21 10:24:26 -0700
commitee34b3e8cd231e5fa42cb841ec6ac16555e3a692 (patch)
treeff3d0cf3d9decf92890c131ad022a12caa60a4aa /Source/Particles/MultiParticleContainer.cpp
parentd9daf257e26d503ac5d1c7c1bf8aaff4877ff7aa (diff)
parent80f2d85117bf99c256d416a3a21fb4618e82fe8b (diff)
downloadWarpX-ee34b3e8cd231e5fa42cb841ec6ac16555e3a692.tar.gz
WarpX-ee34b3e8cd231e5fa42cb841ec6ac16555e3a692.tar.zst
WarpX-ee34b3e8cd231e5fa42cb841ec6ac16555e3a692.zip
Merge branch 'dev' of https://github.com/ECP-WarpX/WarpX into SliceInLabFrameForBoostedSim
Diffstat (limited to 'Source/Particles/MultiParticleContainer.cpp')
-rw-r--r--Source/Particles/MultiParticleContainer.cpp30
1 files changed, 26 insertions, 4 deletions
diff --git a/Source/Particles/MultiParticleContainer.cpp b/Source/Particles/MultiParticleContainer.cpp
index 715c97b99..c860d21f5 100644
--- a/Source/Particles/MultiParticleContainer.cpp
+++ b/Source/Particles/MultiParticleContainer.cpp
@@ -1,11 +1,12 @@
-#include <limits>
-#include <algorithm>
-#include <string>
-
#include <MultiParticleContainer.H>
#include <WarpX_f.H>
#include <WarpX.H>
+#include <limits>
+#include <algorithm>
+#include <string>
+#include <memory>
+
using namespace amrex;
MultiParticleContainer::MultiParticleContainer (AmrCore* amr_core)
@@ -149,6 +150,11 @@ MultiParticleContainer::InitData ()
// For each species, get the ID of its product species.
// This is used for ionization and pair creation processes.
mapSpeciesProduct();
+
+#ifdef WARPX_QED
+ InitQED();
+#endif
+
}
@@ -726,3 +732,19 @@ MultiParticleContainer::doFieldIonization ()
} // lev
} // pc_source
}
+
+#ifdef WARPX_QED
+void MultiParticleContainer::InitQED ()
+{
+ for (auto& pc : allcontainers) {
+ if(pc->has_quantum_sync()){
+ pc->set_quantum_sync_engine_ptr
+ (std::make_shared<QuantumSynchrotronEngine>(qs_engine));
+ }
+ if(pc->has_breit_wheeler()){
+ pc->set_breit_wheeler_engine_ptr
+ (std::make_shared<BreitWheelerEngine>(bw_engine));
+ }
+ }
+}
+#endif