aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.H
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/PhysicalParticleContainer.H
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/PhysicalParticleContainer.H')
-rw-r--r--Source/Particles/PhysicalParticleContainer.H29
1 files changed, 29 insertions, 0 deletions
diff --git a/Source/Particles/PhysicalParticleContainer.H b/Source/Particles/PhysicalParticleContainer.H
index b4081e959..c953aa2d7 100644
--- a/Source/Particles/PhysicalParticleContainer.H
+++ b/Source/Particles/PhysicalParticleContainer.H
@@ -7,6 +7,11 @@
#include <AMReX_IArrayBox.H>
+#ifdef WARPX_QED
+ #include <QuantumSyncEngineWrapper.H>
+ #include <BreitWheelerEngineWrapper.H>
+#endif
+
#include <map>
class PhysicalParticleContainer
@@ -180,6 +185,16 @@ public:
amrex::FArrayBox const * & ezfab, amrex::FArrayBox const * & bxfab,
amrex::FArrayBox const * & byfab, amrex::FArrayBox const * & bzfab);
+#ifdef WARPX_QED
+ bool has_quantum_sync() override;
+ bool has_breit_wheeler() override;
+
+ void set_breit_wheeler_engine_ptr
+ (std::shared_ptr<BreitWheelerEngine>) override;
+ void set_quantum_sync_engine_ptr
+ (std::shared_ptr<QuantumSynchrotronEngine>) override;
+#endif
+
protected:
std::string species_name;
@@ -194,6 +209,20 @@ protected:
// Inject particles during the whole simulation
void ContinuousInjection (const amrex::RealBox& injection_box) override;
+#ifdef WARPX_QED
+ // A flag to enable quantum_synchrotron process for leptons
+ bool do_qed_quantum_sync = false;
+
+ // A flag to enable breit_wheeler process [photons only!!]
+ bool do_qed_breit_wheeler = false;
+
+ // A smart pointer to an instance of a Quantum Synchrotron engine
+ std::shared_ptr<QuantumSynchrotronEngine> shr_ptr_qs_engine;
+
+ // A smart pointer to an instance of a Breit Wheeler engine [photons only!]
+ std::shared_ptr<BreitWheelerEngine> shr_ptr_bw_engine;
+#endif
+
};
#endif