Age | Commit message (Collapse) | Author | Files | Lines |
|
* Update inputs_3d
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
|
|
* apply style conventions to LaserParticleContainer
* fix bug
* apply style convention to another variable
|
|
(#1385)
* Add option to only resample cells with high enough number of macroparticles
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Checksum: Add laser-ion acc.
* Laser-Ion Acceleration Example
Add a new example for laser-ion acceleration.
* Load Balancing: Add Best Practices
Add newly found best practices for load balancing.
M. Rowan et al., submitted to SC20, 2020 :)
Co-authored-by: Michael E Rowan <38045958+mrowan137@users.noreply.github.com>
* Laser-Ion Acceleration Example Update
New blocking factor needs new reduced extends.
* Checksum: Update laser-ion acc.
* Finalize Reference Densities
Co-authored-by: Tools <warpx@lbl.gov>
Co-authored-by: Michael E Rowan <38045958+mrowan137@users.noreply.github.com>
|
|
* Add MaxField reduced diagnostic
* Add test of the MaxField reduced diag
* Minor modifications
* Fix test input file
* Use read_raw_data.py module in test
* Merge FieldEnergy and MaxField reduced diags
* Add specific error message if old syntax is used
* Fix column header numbers
* Update copyright
* Change name of diag in input file from Field to FieldReduced
* Add comment when allocating MultiFAB
* Add BackwardCompatibility () function
* Update Source/Diagnostics/ReducedDiags/MultiReducedDiags.cpp
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
* Add FieldReduced.cpp in CMakeLists.txt
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Remove magic numbers and update MFIter construct
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Fix typo
* Do a reduction on the fly instead of allocating a MultiFAB
* Interpolate fields to cell center before computing maximum value of |E| and |B|
* Reseparate FieldReduced into FieldEnergy and MaxField
* Fix few typos
* Replace MaxField with FieldMaximum
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Thread multiple support is not the default on Cori.
One needs to set this with an environment variable.
|
|
* Use amrex::ParallelForRNG for random number generation
In order to support RNG on non-Nvidia GPUs, we need to use
amrex::ParallelForRNG for kernels with calls to AMReX random number
generation functions.
* missing a RandomEngine argument
|
|
* First working version of tests
* Add comments to test
* Add test in WarpX-test.ini and initial checksum json file
* Add resampling to input parameters doc
* Uncomment lines about checksum in analysis script + Fix minor typos
* Add momentum in plotfiles (for checksum) + Fix minor typoes
* Remove particle_theta from checksum json file
* Remove rho from checksum json file
* Fix syntax error in checksum json file
* Add benchmark values
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Have one Resampling object per species
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Added stub for current correction in RZ spectral solver
* Fixed comments in RZ spectral for current correction stub
* Modified automated test for Galilean PSATD (#1033)
* Impemented current correction in RZ spectral
* Implementation Galilean version of RZ spectral solver
* For RZ spectral, do forward and backward transform with current correction
* Big fix in DivEFunctor.cpp for RZ spectral
* Added RZ rho diagnostic for saving the modes
* Implemented fft_periodic_single_box for RZ spectral
* Moved routines from SpectralSolverRZ.H to .cpp
* Added hook for VayDeposition in GalileanPsatdAlgorithmRZ
* Bug fix in DivEFunctor
* Fixes and cleanup for GalileanPsatdAlgorithmRZ
* Fix line spacing in SpectralSolverRZ.H
* Fix factor 1/2 in update of Ep_m
* Fix factor 1/2 in update of Em_m
* Fix sign error in current correction in GalileanPsatdAlgorithmRZ.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Add Langmuir RZ PSATD test with current correction
* Add Galilean tests with/without current correction
* For RZ psatd, simplified copy for forward transform
* Added GalileanPsatdAlgorithmRZ.cpp to CMakeLists
* Minor cleanup in RZ spectral solver
* In GalileanPsatdAlgorithmRZ.cpp use member initialization for m_v_galilean
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Added some _rt to GalileanPsatdAlgorithmRZ.cpp
Co-authored-by: Olga Shapoval <30510597+oshapoval@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
|
|
|
|
This provide another two user-managed software modules:
BlasPP and LapackPP.
This saves us and our users from manually installing them when
building WarpX with PSATD support in RZ geometry.
Tested with:
```
cmake .. -DWarpX_OPENPMD=ON -DWarpX_PSATD=ON -DWarpX_DIMS=RZ
make -j 16
```
|
|
* option to have absorbing BC for particles, regarless of field BC
* document input parameter particles.absorbing_bc
* minor, just add a small comment
* clarify doc and use better input parameter
* clarify documentation
|
|
Request C++17 in GNUmake for DPC++ builds. This is now required since
we use MKL headers that are in C++17 and since SYCL 2020 and later
rely on C++17 or newer.
(In fact, `dpcpp` beta07 and newer already defaulted to C++17.)
This updates the explicit GNUmake flag (request exactly one standard).
The CMake flags in WarpX are "request C++14 or newer" and AMReX
CMake files push those up to "request C++17 or newer" for DPC++.
|
|
* Add strings rho_<species_name> to m_varnames
* Initialize rho functor for each species
* Get charge density per species
* Correct selection of species to dump rho
* Clear vector of string used to parse input
* Add missing Doxygen parameter
* Update documentation
* Fix bug introduced in RZ geometry
* Add includes
* Rename variables as species_variables
* Replace 0 with 0u (unsigned)
* Simplify using range-based loops
* Use range-checked .at() to access vector elements
* Improve comments
|
|
* fixed non portable embedding of a directive within macro arguments
* removed unused variables
* Update Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H
Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H
Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com>
* Update Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H
Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com>
* fixed style
* Update Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* code cleaning
* fixed bug
Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* removed extra ;
* fixed unused variable
* changed variable name to avoid shadowing
* fixed bug
|
|
Add single precision build instructions for GNUmake as well.
|
|
We have a pilot project on Summit that allows us (me?) to
deploy user-managed software. We now deploy ZPF 0.5.5,
ADIOS 2.6.0 (both not yet on the official modules) as well
as openPMD-api 0.12.0 (yay!).
```
module load ums
module load ums-aph114
module load openpmd-api/0.12.0
```
Happy computing :rocket:
|
|
* Implemented fft_periodic_single_box for RZ spectral
For RZ psatd, simplified copy for forward transform
* Apply review's suggestions and clean up
* Add few comments, fix warnings, apply style conventions
Co-authored-by: Dave Grote <dpgrote@lbl.gov>
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
|
|
PICSAR table generation builds with Boost 1.66.0 or newer.
|
|
* Initial version of use_damp_in_z_guard option
* Fix typo in WarpX.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Changed use_damp_in_z_guard to use_damp_fields_in_z_guard
* Added documentatin for use_damp_fields_in_z_guard
* Clean up for use_damp_fields_in_z_guard
* Added use_damp_fields_in_z_guard to picmi interface, and moved it to the psatd input group
* For RZ spectral, damping of the fields is on by default when not periodic
* Updated documentation for use_damp_fields_in_z_guard
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
Adding a simple spack environment to install all dependencies to
build the documentation locally. This is just an alternative to the
already provided (pip) `requirements.txt` file (prequisite: have
doxygen installed).
Activating and installing this environment will provide *all*
dependencies (incl. Doxygen) that are needed to build the whole
documentation locally. Spack manual link:
https//spack.readthedocs.io/en/latest/environments.html#anonymous-environments
Inside WarpX' `Docs/` directory:
```
spack env activate -d .
spack install # only needed the first time
```
|
|
Update more docs with the new location of the QED routines in
PICSAR (mainline development branch).
|
|
Transition to Azure pipelines since they have:
- >50min time limit (up to 360min)
- more parallely running jobs (5->10)
We should still try to keep our build times low and potentially split
our build jobs even further.
|
|
|
|
Update the CMake flags to build BlasPP/LapackPP in Travis-CI for RZ
builds. They changed upstream.
|
|
Development package of MKL is now `intel-oneapi-mkl-devel`
|
|
MKL problem post-merge
|
|
Signal to the I/O backend that no further information will be written
to a step.
|
|
* Move the diagnostic coordinates during initialization to account for moving window at restart
* fix eol
|
|
|
|
Re-enable CI for Intel DPC++/SYCL in beta09.
The apt package name changed and we had to apply a new work-around
for the beta08+ treatment of C++ user literals in AMReX:
`-mlong-double-64 -Xclang -mlong-double-64`.
|
|
Document the HDF5 environment hint when building dependencies
manually.
Also fix some broken links.
|
|
* 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 <axel.huebl@plasma.ninja>
Co-authored-by: Tools <warpx@lbl.gov>
Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
|
|
Simplify MPI init options to be independent of PSATD selection. Our
use of FFTD only uses the non-threaded FFTW routines.
Thread multiple is currently only needed for async I/O with AMReX
plotfiles.
Some MPI implementations allow to set the requested thread level with
`mpiexec` and/or pre-compiled variants of the lib and/or through an
environment variable, according to the standard. For example,
`MPICH_THREADLEVEL_DEFAULT` in MPICH (and derivatives have similar
names). This is done through an intricate upgrade/downgrade logic for
the provided argument (sec. 12.4.3). We print a warning if the
requested support level is not provided and a note if a stricter
support level is provided.
|
|
Adding the location of switched-to directories to the
`run_test.sh` script, making it easier to follow its
individual steps when debugging something locally.
|
|
* picmi - convert True/False to 1/0
* picmi - update picmi input files to use True/False for booleans
|
|
|
|
|
|
* fix << declaration of galilean_shift shadows a member of WarpX >>
* fix << unused mu_stag >>
* fix << unused uxp, uyp, uzp >>
* renamed galilean_shift (member variable of WarpX class) into m_galilean_shift
* renamed v_galilean to m_v_galilean when appropriate
* fixed bug introduced in latest commit
* fix <<comparison of integer expressions of different signedness>>
* Update Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Disable until the beta09 roll-out is fixed by Intel.
Upstream AMReX already anticipates the new release, but this breaks
our CI that patched together working with oneAPI beta08.
|
|
Add a wonderful and concise new CMake intro.
|
|
* picmi - For 2D, changed arguments to expect length 2 lists
* picmi - For 2D, guard_cells should be length 2
|
|
Old syntax left over in RZ code
|
|
* Remove the base class of InjectorPoisition, InjectorDensity and
InjectorMomentum so that they no longer live in managed memory.
* Have both host and device copies of Injector*.
* Modify Parser classes so that they can work without unified memory. Add
HostDeviceParser that is non-owning and therefore suitable for being value
captured by device lambda.
|
|
* Initial commit (not working)
* First working version
* Cleaning and adding Doxygen comments
* Apply suggestions from code review
* Move findParticlesInEachCell to Utils/ParticleUtils
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|