From f9f3aa6e96e9c7827bef1f449fa2ce3d86505a23 Mon Sep 17 00:00:00 2001 From: Luca Fedeli Date: Mon, 21 Sep 2020 12:42:02 +0200 Subject: Coupling WarpX with an ✨improved✨ version of the QED library (#1198) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Initial work to couple improved QED module to WarpX * WIP to couple with WarpX the new QED library * Continuing work to couple the new version of the QED library with WarpX * progress towards completing coupling with new version of QED library * WarpX coupled with new version of QED library * default behavior is to display table generation progress * some host device functions are now device only * fixed bug * bugfixing * updating tests * updated test * updated test * added initial version of tests (not working) * added check and updated a comment * fixed bug * added inputfiles and analysis script for new BW tests * test for BW process are ready * modified test * make lgtm happy * removed TABs * initial work to add QS tests (not working) * removed old tests * fixed bug in script * changed position of evolution of optical depth * progress with QSR tests * improved test * very low energy photons are always eliminated * added tests to regression suite * improved test * improved tests * removed redundant parameter * removed trailing white space * updated documentation * fix lgtm warnings * fixed missing check on chi parameter * fixed missing check on chi parameter & bugfixing * improved comments * increased tolerance in tests * updated units in test * now test succeds if the error is extremely small * updated checksums * fixed bug * fixed some unused or uninitialized variables warnings * now using ignore_unused instead of commenting out some variables * fixed warnings * partial fix of a test * fixed test * fixed test * added checksums * fixed tests * fixed benchmark for qed_schwinger2 * removed checksums for tests which do no exist anymore * fixed checksums for several qed tests * fixed checksums for several qed tests * fixed checksums * removed unwanted checksum * fixed checksum * removed files which should have been deleted * add some const * [skip ci] added some docstrings and some const * Update Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.H Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * added some docstrings and some const * replaced ManagedVectors with DeviceVectors * Update Source/Particles/ElementaryProcess/QEDInternals/QedWrapperCommons.H Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * added some const * removed unwanted assert * updated comment * changed position of GPU synchronization directive * Update Docs/source/running_cpp/parameters.rst Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/quantum_synchrotron/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/quantum_synchrotron/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/breit_wheeler/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/breit_wheeler/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * add do_plot option to some analysis scripts * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * uncomment a line * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * simplified input scripts for BW tests * simplified input scripts for QS tests * removed unwanted files * simplified analysis script * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * reverted modification to schwinger analysis script * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * remove outdated comment * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * fix warnings * made test more robust * reset benchmark for qed_breit_wheeler_2d * fixed bug in test * make test more robust * made test more robust * Update Examples/Modules/qed/quantum_synchrotron/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/quantum_synchrotron/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update run_test.sh Co-authored-by: Axel Huebl Co-authored-by: Tools Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> Co-authored-by: Axel Huebl --- .../BreitWheelerEngineTableBuilder.cpp | 64 ---------------------- 1 file changed, 64 deletions(-) delete mode 100644 Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineTableBuilder.cpp (limited to 'Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineTableBuilder.cpp') diff --git a/Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineTableBuilder.cpp b/Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineTableBuilder.cpp deleted file mode 100644 index 5f3538079..000000000 --- a/Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineTableBuilder.cpp +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright 2019 Luca Fedeli - * - * This file is part of WarpX. - * - * License: BSD-3-Clause-LBNL - */ -#include "BreitWheelerEngineTableBuilder.H" - -//Include the full Breit Wheeler engine with table generation support -//(after some consistency tests). This requires to have a recent version -// of the Boost library. -#ifdef PXRMP_CORE_ONLY -# error The Table Builder is incompatible with PXRMP_CORE_ONLY -#endif - -#ifdef __PICSAR_MULTIPHYSICS_BREIT_WHEELER_ENGINE__ -# warning breit_wheeler_engine.hpp should not have been included before reaching this point. -#endif -#include -//_______________________________________________ - -//Some handy aliases -using PicsarBreitWheelerEngine = picsar::multi_physics:: - breit_wheeler_engine; - -using PicsarBreitWheelerCtrl = - picsar::multi_physics::breit_wheeler_engine_ctrl; -//_______________________________________________ - -void -BreitWheelerEngineTableBuilder::compute_table - (PicsarBreitWheelerCtrl ctrl, - BreitWheelerEngineInnards& innards) const -{ - PicsarBreitWheelerEngine bw_engine( - std::move(QedUtils::DummyStruct()), 1.0, ctrl); - - bw_engine.compute_dN_dt_lookup_table(); - bw_engine.compute_cumulative_pair_table(); - - auto bw_innards_picsar = bw_engine.export_innards(); - - //Copy data in a GPU-friendly data-structure - innards.ctrl = bw_innards_picsar.bw_ctrl; - innards.TTfunc_coords.assign(bw_innards_picsar.TTfunc_table_coords_ptr, - bw_innards_picsar.TTfunc_table_coords_ptr + - bw_innards_picsar.TTfunc_table_coords_how_many); - innards.TTfunc_data.assign(bw_innards_picsar.TTfunc_table_data_ptr, - bw_innards_picsar.TTfunc_table_data_ptr + - bw_innards_picsar.TTfunc_table_data_how_many); - innards.cum_distrib_coords_1.assign( - bw_innards_picsar.cum_distrib_table_coords_1_ptr, - bw_innards_picsar.cum_distrib_table_coords_1_ptr + - bw_innards_picsar.cum_distrib_table_coords_1_how_many); - innards.cum_distrib_coords_2.assign( - bw_innards_picsar.cum_distrib_table_coords_2_ptr, - bw_innards_picsar.cum_distrib_table_coords_2_ptr + - bw_innards_picsar.cum_distrib_table_coords_2_how_many); - innards.cum_distrib_data.assign( - bw_innards_picsar.cum_distrib_table_data_ptr, - bw_innards_picsar.cum_distrib_table_data_ptr + - bw_innards_picsar.cum_distrib_table_data_how_many); - //____ -} -- cgit v1.2.3