aboutsummaryrefslogtreecommitdiff
path: root/Source/Utils/WarpXAlgorithmSelection.cpp (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2021-10-07Implement Higginson's nuclear fusion algorithm (#2290)Gravatar Neïl Zaim 5-20/+343
* Implement Higginson's nuclear fusion algorithm * Fix uninitialized variable * Typo fix and compute probability in a more robust way numerically * Set mask to false when no fusion * Update NuclearFusionFunc Doxystring
2021-10-06Python Analysis of Restart Tests: Small Cleanup (#2368)Gravatar Edoardo Zoni 1-9/+1
* Python Analysis of Restart Tests: Small Cleanup * Remove Unused Import
2021-10-06FillBoundaryG: Add PML Exchange (#2381)Gravatar Edoardo Zoni 3-2/+31
2021-10-06CI: Groups Include Branch (#2378)Gravatar Axel Huebl 7-7/+7
On pushes to mainline, if mainline contains multiple branches, these branches cancelled each other. This should fix this.
2021-10-06Documentation: add link to AMReX doc that lists available parser functions ↵Gravatar Neïl Zaim 1-1/+2
(#2380)
2021-10-06Docs: Simplify Release Log (#2372)Gravatar Axel Huebl 1-1/+1
Way easier :D
2021-10-06NodalSync: Less Duplicate Code (#2375)Gravatar Edoardo Zoni 3-89/+21
2021-10-06Simplify formulas for Esirkepov deposition (#2373)Gravatar Remi Lehe 1-12/+11
2021-10-05CI: mpi4py NVHPC work-around (#2379)Gravatar Axel Huebl 1-5/+8
Compiling Python modules with NVHPC again after work-arounding the mpi4py build issue.
2021-10-05Capitalize python environment variables in CI workflows (#2376)Gravatar Neïl Zaim 6-14/+16
* Capitalize python environment variables in CI workflows * Python Envs: Update Cori/Summit Docs * NVHPC: Disable MPI4PY https://github.com/mpi4py/mpi4py/issues/114 Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-10-05CU: NVHPC (CUDA) (#2371)Gravatar Axel Huebl 2-0/+70
Add NVHPC (21.9) CUDA builds to CI. Uses the `nvcc -cbin nvc++` compiler combination, as currently set by Cray systems with the `PrgEnv-nvidia` environment (e.g., Perlmutter at NERSC).
2021-10-04Fix my_constants being cast to float in single precision (#2369)Gravatar AlexanderSinn 2-8/+42
* Parse my_constants always as double * remove debug print out * add comment * fix comment * add additional comment
2021-10-04Electrostatic boundary condition handling refactor (#2303)Gravatar Roelof Groenewald 4-168/+162
* initial commit for adding a spatially varying potential for EBs * refactored logic to set the boundary conditions and boundary values for the electrostatic solver * style change * removed extra semi-colon * fixed issue causing oneAPI DPC++ build failure * fixed issue that led to CI test failure * fixed incorrect placement of definePhiBCs() call from previous commit * avoid the more expensive function to set the EB potential if it does not vary spatially * have to make a new parser when phi EB is only a function of time * fixed typo in previous commit
2021-10-04Add structure for proton-boron fusion module (#2217)Gravatar Neïl Zaim 22-60/+450
* Add structure for proton-boron fusion module * Fix clang compile error * Generalize structure for other nuclear fusion types * Workaround: try to use std::vectors to fix clang compile error * Simplify workaround for clang * Rebase on 2245 and add empty particle creation functor * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Add couple of consts and runtime assert * Add another const Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-10-04Release 21.10 (#2370)Gravatar Axel Huebl 10-12/+12
* Update: AMReX/PICSAR to 21.10 * WarpX: 21.10
2021-10-04Implement Checkpoint / Restart for Laser Particles (#2360)Gravatar Andrew Myers 12-112/+174
* Initialize lasers when restarting + recalculate z position at each iteration * Fix restart for rigid-injected particles * Fix laser injection box at restart * Use correct positions for the moving window of the BTD * implement restart for laser particles * add CI test for laser acceleration restarting * writespace * Revert "Fix restart for rigid-injected particles" This reverts commit 33bf3a60126539b9566ead3115ff2bcdf4b80516. * don't add lasers to all full diags, only checkpoints * fix unused parameter warning * move the call to reset the m_laser_injection_box into PostRestart * bugfix for non-boosted frame simulations * Read the mean velocity of the injected species * Remove unused line * Revert "Initialize lasers when restarting + recalculate z position at each iteration" This reverts commit 322634c35aa996649d0e8fff9fb683d04f2ee121. * Add new ReadHeader / WriteHeader functions * Add WriteHeader/ReadHeader for laser particles * Revert "add CI test for laser acceleration restarting" This reverts commit 6ba0fb3c121027eecf8b5845f55080e5b187375d. * Fix merge commit * Correct reading of updated position * Add laser in restart test * Remove unused parameters * Update regression tests * Add benchmark files * Update boundary conditions for restart_psatd Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2021-10-01Docs PoP: Fix Co-Authors (#2367)Gravatar Axel Huebl 1-1/+1
2021-10-01Fix restart for rigid injected particles (#2363)Gravatar Remi Lehe 5-100/+106
* Activate rigid injected species in restart tests * Fix reading of injection position and velocity * Update checksum * Update Examples/Tests/restart/analysis_restart.py
2021-09-30Style: Old BTD Definitions (#2352)Gravatar Axel Huebl 2-58/+58
Add spaces before definitions in the old BTD. Was just adding them as we looked for a solution to fix restarts with the old particle BTD.
2021-09-30CMake: More Robust git STRIP (#2358)Gravatar Axel Huebl 1-1/+1
Sometimes a `git` executable can be found but is unusable. Quoting the result for empty strings makes the build logic more robust in such scenarios. Mitigates: ``` CMake Error at cmake/WarpXFunctions.cmake:289 (string): string sub-command STRIP requires two arguments. Call Stack (most recent call first): CMakeLists.txt:256 (get_source_version) ``` Provoked via: Mixing of brew and Spack (git from brew + Spack env with `export DYLD_LIBRARY_PATH=/Users/axel/src/spack/var/spack/environments/warpx-dev/.spack-env/view/lib`)
2021-09-30Remove array of ints `done_injecting` (#2365)Gravatar Remi Lehe 3-17/+1
2021-09-30Rigid injected species: Remove unused function and variables (#2350)Gravatar Remi Lehe 14-136/+0
* Remove unused function * Remove `focused` and `projected` for rigid particles
2021-09-30Update AMReX (#2362)Gravatar Axel Huebl 5-6/+8
Update pulls in: - Intel DPC++ 2021.4.0 support (SYCL) - Nvidia NVHPC 21.9 support (CUDA)
2021-09-29CI: Update HIP Repo URL (#2359)Gravatar Axel Huebl 1-1/+1
Thanks to @wyphan in https://github.com/AMReX-Codes/amrex/pull/2366 > This updates the repo line for HIP to the latest version as documented on https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html#installing-a-rocm-package-from-a-debian-repository > Notably, `xenial` is now `ubuntu`.
2021-09-28Use correct positions for the moving window of the BTD (#2356)Gravatar Remi Lehe 1-2/+3
2021-09-27Update read_raw_data to RZ (with multiple modes) (#2313)Gravatar David Grote 1-2/+10
2021-09-28Stencil: Fix non-3D Compiles on GPU (#2353)Gravatar Axel Huebl 2-2/+51
* CI: HIP 2D Add a HIP 2D Test to compilation. * Stencil: Fix non-3D Compiles on GPU Overlooked the `#else` branch severely. * CI: HIP 2D DP
2021-09-27Comoving PSATD: New Input psatd.use_default_v_comoving (#2304)Gravatar Edoardo Zoni 2-2/+23
2021-09-27SumBoundary: Use Fewer Guard Cells for J/rho (#2323)Gravatar Edoardo Zoni 2-21/+65
* SumBoundary: Use Fewer Guard Cells for J/rho * Account for Stencil of Bilinear Filter * Revert Last Commit, Replace SumBoundary/Copy With ParallelAdd * Account for Stencil of Bilinear Filter * Reset Benchmarks of Averaged Galilean Hybrid Tests * Revert Last Commit This reverts commit 7963176b46708eb08e7c41e67a3b0a6fe6cb2147. * Account for Stencil of Current Centering
2021-09-27Summit: Known Issues Since RHEL8 (#2349)Gravatar Axel Huebl 1-0/+60
* Summit: Known Issues Since RHEL8 Document all known issues and work-arounds for Summit users. * Summit: libfabric developer notes
2021-09-27Allow more work for OpenMP threads in `WarpX::UpdateAuxilaryData` (#2342)Gravatar Remi Lehe 1-7/+7
* Allow more work for OpenMP threads in AuxilaryData * Better parallelization in stagger-to-nodal current interpolation
2021-09-27AMReX: Weekly Update (#2348)Gravatar Axel Huebl 4-4/+4
``` ./Tools/Release/updateAMReX.py ```
2021-09-27Doc: Disable CCache (#2339)Gravatar Axel Huebl 2-0/+5
Document on how to disable CCache. Add CCache control to Python builds.
2021-09-24ParticleIO: Fix All Container Restart (#2341)Gravatar Axel Huebl 2-36/+48
* ParticleIO: Fix All Container Restart * Fix comment
2021-09-24Restart: Handle Header File Read Errors (#2335)Gravatar Axel Huebl 6-19/+17
* Restart: Handle Read Errors `std::istringstream` does not throw automatically if errors occur. This leads to silently skipped reads. Enable throwing on all errors to avoid hard to debug follow-up errors. * Fix: Write All Particle Containers Forgot to write laser particle containers but then tried to read them in. The mass & charge of those are not essential for us to restore, but it avoids confusion and extra logic if we just write them properly at the general location.
2021-09-24DPC++: Disable -fPIC (#2338)Gravatar Axel Huebl 1-1/+4
Sporadic segfaults in `dpcpp` with shared objects since last release. Needs to be triaged. Disabled to unblock community devs.
2021-09-24Python Install Env Vars: All CAPS (#2317)Gravatar Axel Huebl 2-63/+65
* Python Install Env Vars: All CAPS On Windows, environment variable names are case insensitive and often mapped to all CAPS spelling. - https://stackoverflow.com/questions/7797269/python-environment-case-senstivity-os-environ - https://en.wikipedia.org/wiki/Environment_variable#Syntax This leads to an inconsistency between Unix and Windows like systems if we use case sensitive environment variable names for install control in Python. Luckily, it is quite common to use all-CAPS variables in UNIX for environment controls as well, so we will make a breaking change to unify on that. Existing usage will see a warning of an unused variable with `python3 -m pip install -v .` * setup.py: Caps Python Vars from Env
2021-09-24Stochastic particle reflection from absorbing domain boundaries (#2281)Gravatar Roelof Groenewald 13-62/+344
* added tunable particle reflection from absorbing domain boundaries * extended picmi.py to allow setting boundary reflection coefficients and added a CI test for the reflection implementation * allow R(E) to be specified, except for embedded boundaries * changed approach for particle reflection, now the ParticleBoundaries object will hold the reflection coefficient; reflection from EBs not implemented * added functionality to reflect from EB; still needs to be tested for accuracy * added support for energy dependent reflection models for domain boundaries * fixed at least one issue causing CI fails - building reflection model parsers for not physical particle containers * switched reflection coefficients to be functions of the velocity component perpendicular to the boundary rather than energy * reverted initial work on reflecting from EBs * changed naming convention for new CI test for particle reflection * switched useMPI back to 1 in test * breaking changes while trying to sort out GPU issue * fixed issue with CUDA compilation - hopefully :) * various code improvements from PR review suggestions * fix of major issues * no need to parse the reflection models at every step * skip particles that are already flagged for removal in ApplyBoundaryConditions
2021-09-24Fix nvcc compilation bug (#2333)Gravatar Remi Lehe 1-1/+1
2021-09-24Print Restart: dt,dx,dy,dz (#2334)Gravatar Axel Huebl 3-5/+14
Print those quanitites both during setup and after restart.
2021-09-24Exchange fewer guard cells with standard PSATD solver (#2266)Gravatar Neïl Zaim 3-3/+14
* Try to exchange fewer guard cells with standard PSATD solver * Add ng_afterPushPSATD variable in GuardCellManager
2021-09-23Initialize the BTD buffers to 0.0 (#2329)Gravatar Andrew Myers 1-0/+1
2021-09-22Docs: Cori V100 GPU Job Script (#2328)Gravatar Axel Huebl 2-2/+67
* Docs: Cori V100 GPU Job Script Add a job script template for Cori V100 GPU nodes. * Add concrete cgpu allocation * Update Tools/BatchScripts/batch_cori_gpu.sh Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update: 1 Rank per GPU - 1 rank per GPU - more doc hints * Slurm: CUDA_VISIBLE_DEVICES Set `--gpus-per-task=1` * Visible devices for real * Doc for GPU Binding Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2021-09-22Move RandomizeVelocity to ParticleUtils (#2326)Gravatar Neïl Zaim 3-57/+65
2021-09-22External Poisson solver: wrappers to copy the full domain rho and phi ↵Gravatar Roelof Groenewald 6-27/+266
between C++ and Python (#2285) * added missing parts to allow an external Poisson solver to be used instead of the MLMG solver * added rho and phi wrappers to fields.py * added an example of using an external Poisson solver * need to run PICMI test on 2 processors same as non-PICMI version in order to compare plotfiles * changes requested during PR review * pass dictionary to eval statement when calculating boundary potential
2021-09-22Docs: Cori Newer CMake (#2324)Gravatar Axel Huebl 1-3/+3
Cori deprecated the old CMake module today. ``` Module Deprecation Warning: upgrade to 3.21.3 (new default on 2021-09-21) ```
2021-09-21leveling_thinning: 2 MPI Ranks (#2321)Gravatar Axel Huebl 2-33/+33
Public CI only offers two virtual cores and thus only 2 MPI ranks. Oversubscription generally leads to unstable builds (sporadic suspension of processes by the host system) and newer MPI versions won't start at all without requesting oversubscription.
2021-09-21Python CI: Only 2 Ranks (#2320)Gravatar Axel Huebl 2-3/+3
Public CI only offers two virtual cores and thus only 2 MPI ranks. Oversubscription generally leads to unstable builds (sporadic suspension of processes by the host system) and newer MPI versions won't start at all without requesting oversubscription.
2021-09-21Rename eb_potential parameter (#2310)Gravatar Remi Lehe 4-5/+5
2021-09-21Fix Bug in PSATD Restart with Time Averaging (#2318)Gravatar Edoardo Zoni 6-1/+165
* Fix Bug in PSATD Restart with Time Averaging * PSATD Time Avg Restart: Add CI Test - restart test - use recommended boundary conditions for the spectral solver in z Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>