aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2020-09-24remove unused functions from MultiParticleContainer (#1382)Gravatar Andrew Myers 2-12/+0
2020-09-24Summit: Doc Modules for RZ+PSATD (#1377)Gravatar Axel Huebl 1-0/+5
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 ```
2020-09-23Option to have absorbing BC for particles, regardless of field BC (#1334)Gravatar MaxThevenet 6-0/+82
* 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
2020-09-23SYCL 2020/DPC++: C++17 (#1375)Gravatar Axel Huebl 1-1/+5
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++.
2020-09-23Dump rho per species (#1294)Gravatar Edoardo Zoni 8-20/+117
* 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
2020-09-24[mini-PR] Fix a couple of new warnings (#1356)Gravatar Luca Fedeli 2-12/+14
* 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>
2020-09-23[mini-PR] Fix a couple of warnings (#1372)Gravatar Luca Fedeli 4-49/+50
* removed extra ; * fixed unused variable * changed variable name to avoid shadowing * fixed bug
2020-09-23Docs: GNUmake single precision (#1374)Gravatar Axel Huebl 1-0/+1
Add single precision build instructions for GNUmake as well.
2020-09-23Summit: Doc I/O Module(s) (#1369)Gravatar Axel Huebl 1-6/+5
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:
2020-09-23Implemented fft_periodic_single_box for RZ spectral (#1301)Gravatar Remi Lehe 7-100/+111
* 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>
2020-09-22Docs: Boost 1.66.0+ (#1370)Gravatar Axel Huebl 1-2/+2
PICSAR table generation builds with Boost 1.66.0 or newer.
2020-09-22Initial version of use_damp_fields_in_z_guard option (#1304)Gravatar David Grote 5-0/+123
* 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>
2020-09-22Docs: Spack Env (#1348)Gravatar Axel Huebl 2-0/+35
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 ```
2020-09-22Docs: QED in PICSAR development (#1359)Gravatar Axel Huebl 4-7/+7
Update more docs with the new location of the QED routines in PICSAR (mainline development branch).
2020-09-22CI: Travis CI -> Azure Pipelines (#1364)Gravatar Axel Huebl 2-61/+60
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.
2020-09-22Create reduced diag ouput file only with IO process (#1365)Gravatar NeilZaim 1-9/+12
2020-09-22CI BlasPP/LapackPP: New CMake Flags (#1363)Gravatar Axel Huebl 1-2/+2
Update the CMake flags to build BlasPP/LapackPP in Travis-CI for RZ builds. They changed upstream.
2020-09-21CI: New MKL Package for DPC++ (#1362)Gravatar Axel Huebl 1-3/+1
Development package of MKL is now `intel-oneapi-mkl-devel`
2020-09-21DPC++ DisableGravatar Axel Huebl 1-0/+2
MKL problem post-merge
2020-09-21openPMD-api 0.12.0: Iteration::close() (#1353)Gravatar Axel Huebl 3-5/+20
Signal to the I/O backend that no further information will be written to a step.
2020-09-21DiagnosticsToAccountForMovingWindowRestart (#1354)Gravatar Revathi Jambunathan 1-0/+8
* Move the diagnostic coordinates during initialization to account for moving window at restart * fix eol
2020-09-21Disable laser when e_max = 0 (#1355)Gravatar NeilZaim 1-0/+17
2020-09-21Intel DPC++: Beta09 (#1357)Gravatar Axel Huebl 1-4/+2
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`.
2020-09-21openPMD build: HDF5 Env Hint (#1342)Gravatar Axel Huebl 1-2/+10
Document the HDF5 environment hint when building dependencies manually. Also fix some broken links.
2020-09-21Coupling WarpX with an ✨improved✨ version of the QED library (#1198)Gravatar Luca Fedeli 55-2314/+5003
* 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>
2020-09-18fix warnings in RZ (#1349)Gravatar Luca Fedeli 12-19/+44
2020-09-18fix unused variable warning (#1350)Gravatar Luca Fedeli 1-1/+1
2020-09-17MPI: Init or Thread Multiple (#1298)Gravatar Axel Huebl 10-37/+136
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.
2020-09-17run_tests.sh: cd locations (#1336)Gravatar Axel Huebl 1-0/+3
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.
2020-09-17[Mini]picmi - convert True/False to 1/0 (#1341)Gravatar David Grote 3-2/+4
* picmi - convert True/False to 1/0 * picmi - update picmi input files to use True/False for booleans
2020-09-17picmi - implemented rigid advance species option (#1338)Gravatar David Grote 2-3/+17
2020-09-17Increment minimum PICMI version required (#1343)Gravatar Remi Lehe 1-1/+1
2020-09-17Fix few compilation warnings (shift) (#1310)Gravatar Luca Fedeli 12-44/+61
* 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>
2020-09-17CI: Disable DPC++ oneAPI beta08 (#1344)Gravatar Axel Huebl 1-4/+2
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.
2020-09-17Docs: Add CMake Intro (#1337)Gravatar Axel Huebl 1-0/+7
Add a wonderful and concise new CMake intro.
2020-09-15For PICMI, expect length 2 args for 2D solver (#1326)Gravatar David Grote 1-4/+8
* picmi - For 2D, changed arguments to expect length 2 lists * picmi - For 2D, guard_cells should be length 2
2020-09-15Use new AMReX AoS syntax (#1329)Gravatar Edoardo Zoni 1-2/+2
Old syntax left over in RZ code
2020-09-14Remove The_Managed_Arena (#1313)Gravatar WeiqunZhang 22-153/+393
* 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.
2020-09-14Implement leveling thinning algorithm (#1283)Gravatar NeilZaim 12-47/+217
* 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>
2020-09-14[mini] Add Warning/Assert for segfault in laser injection (#1315)Gravatar NeilZaim 1-0/+13
* Add Warning/Assert for segfault in laser injection * DPCPP Beta09: Package Broken (#1314) The Ubuntu packages seem to forget the `env/var.sh` activation scripts for the compiler packages for beta09. * Add Warning/Assert for segfault in laser injection Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-09-14picmi: replaced warpx_n[xyz]_guard with grid.guard_cells (#1317)Gravatar David Grote 1-6/+4
2020-09-14Fix: new AMReX AoS Syntax (#1324)Gravatar Axel Huebl 1-2/+2
Update the AMReX Particle syntax to access AoS data with the new, non-type-prunning getters.
2020-09-14PICMI analytic applied fields (#1306)Gravatar David Grote 3-2/+61
* PICMI Added applied fields * PICMI fixed typo in Constants * Change picmistandard version requirement to 0.0.9 * Increment required picmi version Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2020-09-14Add comments about resample virtual method (#1309)Gravatar NeilZaim 2-1/+5
2020-09-14Read intervals inputs as vector of strings (#1307)Gravatar NeilZaim 5-21/+25
2020-09-14picmi: use kspace filter automatically for RZ PSATD (#1318)Gravatar David Grote 1-5/+4
2020-09-14Clean up profiling labels (#1320)Gravatar Edoardo Zoni 13-42/+38
2020-09-11DPCPP Beta09: Package Broken (#1314)Gravatar Axel Huebl 1-0/+4
The Ubuntu packages seem to forget the `env/var.sh` activation scripts for the compiler packages for beta09.
2020-09-10SpectralSolverRZ.H: Move Implementations to Source File (#1290)Gravatar Remi Lehe 2-38/+74
* Moved routines from SpectralSolverRZ.H to .cpp * Correct missing Vay deposition routine * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Apply suggestions from code review * Apply suggestions from code review Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Dave Grote <dpgrote@lbl.gov> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2020-09-09Variation of macroscopic properties for E-update (#1016)Gravatar Revathi Jambunathan 10-89/+475
* Adding macro-E Push and new file * Add macroEvolveE, call it, and include algo selection in utils * fix eol * Fixing bug in macroE for sigma method 1 * changing MacroEvolveE to MacroscopicEvolveE * add class for macroscopicproperties and an object in WarpX class * fix eol * adding templated ckc call with comment that EvolveE is same for yee and ckc * add header file pointing to ckc algorithm * adding obejct m_macroscopic_properties to access sigma,eps,mu * some cleaning * Adding comments * adding documentation * spelling wandroff to wendroff * fixing eol * eol * const in the right place. Thanks bot! * profiler for macroscopic evolveE * MultiFab macroproperties with constant init, templated macroEvolveE, * call macroparameter init * eol fix * add parser for macroscopic properties * fix eol * adding input file * __device__ lambda cannot be private in class * fix grown tilebox declaration for init data * [skip ci] some more merge conflicts * some comments * removing redundant calls to Macroscopic EvolveE * [skip ci] fix growntilebox for initializing macro mf * clean and fix BackwardEuler call for ckc * commenting out old alpha and beta implementations * temporarily commiting local changes with calls in Interp. * fixing a typo * clean and add documentation * remove the test input file * fix typo * eol fix * Update Docs/source/running_cpp/parameters.rst Co-authored-by: Andy Nonaka <AJNonaka@lbl.gov> * PR suggestions * Update Source/FieldSolver/WarpXPushFieldsEM.cpp Co-authored-by: Andy Nonaka <AJNonaka@lbl.gov> * removing unnecessary includes * adding 2D initialization for stag arrays * removing init_style input parameter for material properties * eol fix * Adding dE/dt eq curl of (B/mu) * PhysConst ep0 and mu0 * Add functor for field access for macro and vacuum (B/mu) * fix eol * Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/FieldAccessorFunctors.H Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Apply suggestions from code review Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Apply suggestions from code review Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * fixing compilation errors and removing Gpu ManagedVector Co-authored-by: Andy Nonaka <AJNonaka@lbl.gov> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>