From 314acff8ddd7ca7af3af9a65c43908acc266533f Mon Sep 17 00:00:00 2001 From: Luca Fedeli Date: Tue, 17 Mar 2020 15:25:42 +0100 Subject: Add QED particle creaction routines (#698) * Initial work to add back QED particle generation * Work in progress: port old QED routines * Add two distinct CopyFuncs * modified getMFItInfo and CopyFunc (not working) * bugfixing & work to add back QED particle creation routines * bugfixing * added back quantum photon emission * bugfixing * bugfixing * added back pair generation (still some bugs in photon emission) * removed unwanted check * bugfixing * bugfixing * bugfixing * Moved QED folder * added comments + some refactoring * added comments * remove some virtual functions to make lgtm happy * updated tests * added PhysicalParticleType * bugfixing * added copyright * improved comments * improved comments * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * moved inclusion of QEDInternals folder * moved some inclusion directives between Make files * moved some inclusion directives between Make files (forgot to add a file) * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * Update Source/Particles/MultiParticleContainer.H Co-Authored-By: Axel Huebl * corrected alignment * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl * removed some unnecessary amrex:: * add missing comment * Replaced BL_PROFILE with WARPX_PROFILE * bugfixing and making some variables const * removed some moves * removed some moves * started to change tau into optical_depth_BW or optical_depth_QSR * Using initialization policy to initialize optical depth * bugfixing * forgot to add a file * fixed bug * Revert "fixed bug" This reverts commit a3fb98d10cc30327635aeaa71451a05ca2229ff4. * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: MaxThevenet * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * Added doQEDEvents to OneStep_sub1 * add a bunch of const * add _rt suffix * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * added path to included files * Introduced a templated AmIA function using physical_species * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: MaxThevenet * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: MaxThevenet * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: MaxThevenet * added paths to included headers * updated documentation * updated examples * bugfixing * bugfixing * fixing examples * fixed example * fixed example * correct a misprint in error message * fixed issue related to 1./mass for photons * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: MaxThevenet * make the use of energy_threshold more transparent * remove unnecessary checks * bigfixing * added comment * separate checks for QED processes * added a CheckIonizationProductSpecies for consistency * bugfixing * now using a new variable for photon energy creation threshold * removed unwanted comment * added option to set a user-defined threshold for photon creation * bugfixing * updated documentation * updated example to include new option * updated doc * fixed merge conflict * correct bug in example * reorganized function Co-authored-by: Axel Huebl Co-authored-by: MaxThevenet --- Source/Particles/PhotonParticleContainer.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'Source/Particles/PhotonParticleContainer.cpp') diff --git a/Source/Particles/PhotonParticleContainer.cpp b/Source/Particles/PhotonParticleContainer.cpp index 39a5cd5d2..aba769ea3 100644 --- a/Source/Particles/PhotonParticleContainer.cpp +++ b/Source/Particles/PhotonParticleContainer.cpp @@ -28,7 +28,6 @@ PhotonParticleContainer::PhotonParticleContainer (AmrCore* amr_core, int ispecie const std::string& name) : PhysicalParticleContainer(amr_core, ispecies, name) { - ParmParse pp(species_name); #ifdef WARPX_QED @@ -36,6 +35,13 @@ PhotonParticleContainer::PhotonParticleContainer (AmrCore* amr_core, int ispecie if(m_do_qed) pp.query("do_qed_breit_wheeler", m_do_qed_breit_wheeler); + //If Breit Wheeler process is enabled, look for the target electron and positron + //species + if(m_do_qed_breit_wheeler){ + pp.get("qed_breit_wheeler_ele_product_species", m_qed_breit_wheeler_ele_product_name); + pp.get("qed_breit_wheeler_pos_product_species", m_qed_breit_wheeler_pos_product_name); + } + //Check for processes which do not make sense for photons bool test_quantum_sync = false; pp.query("do_qed_quantum_sync", test_quantum_sync); @@ -161,4 +167,5 @@ PhotonParticleContainer::EvolveOpticalDepth( } ); } + #endif -- cgit v1.2.3