Releases: BLAST-WarpX/warpx
Releases · BLAST-WarpX/warpx
26.03
Dependencies
- AMReX: 26.03
- pyAMReX: 26.03
- PICSAR-QED: 25.06
- pybind11:
3.0.2 - picmistandard: 0.34.0
- openPMD-api: 0.17.0
- Python: 3.10 - 3.14
What's Changed
- Fix memory warning in test_2d_python_wrappers_picmi by @EZoni in #6489
- Dependencies: weekly update by @github-actions[bot] in #6543
- Add documentation example for ion beam extraction from plasma source by @oshapoval in #6496
- Hybrid PIC: change definition of number of substeps by @RemiLehe in #6556
- Fix docstring error in picmi.py by @EZoni in #6559
- Replace missing Summit postprocessing documentation by @RemiLehe in #6560
- Dependencies: weekly update by @github-actions[bot] in #6561
- Pip Install: Skip
diags/by @ax3l in #6554 - Make checksum for
test_3d_linear_compton_bunch_laserless brittle by @RemiLehe in #6565 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6568
- Fail RTD doc on warning by @RemiLehe in #6569
- Improve performance of hybrid-PIC algorithm by @roelof-groenewald in #6567
- Docs: inputs section cleanup - simulation time by @EZoni in #6557
- Save lost particle time by @dpgrote in #6533
- Fill guard cells for EB update MFs by @roelof-groenewald in #6574
- CI: Azure Cache Revamp by @ax3l in #6577
- AMReX:
developmentby @ax3l in #6578 - exploit symmetry to reduce deposit of diagonal mass matrices by @JustinRayAngus in #6555
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6587
- Control Magnetostatic Solver Precision by @n01r in #6582
- Hybrid-PIC optimization: only call FillBoundaryE for collocated grids by @roelof-groenewald in #6575
- Add AGENTS.md file by @RemiLehe in #6482
- Fix some typos by @eebasso in #6590
- Use NoGpuSync for MLMG in computePhi by @AlexanderSinn in #6491
- Polymorphic PC by @ax3l in #6374
- Dependencies: weekly update by @github-actions[bot] in #6585
- Update profile for LUMI25.03 by @huixingjian in #6597
- simplify DefaultInitializeRuntimeAttribute() parameters by @JustinRayAngus in #6583
- Dependencies: weekly update, pybind11 v3.0.2 by @github-actions[bot] in #6600
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6601
- Fix bug with external field loading from file by @roelof-groenewald in #6602
- Doc: Perlmutter Python Batch Script by @ax3l in #6603
- Fixing origin issue with vector laplacian evaluation in HybridPICSolveE by @clarkse-he in #6598
- Make FinishMassMatrices public, in ImplicitSolver by @dpgrote in #6604
- Doc: Perlmutter GCC Downgrade by @ax3l in #6609
- Add picmi flag to set
do_device_synchronizeby @roelof-groenewald in #6614 - Typos in parameter.rst by @eebasso in #6612
- Change mass of pre-defined elements in
species_type: subtract mass of the electrons by @RemiLehe in #6518 - Hybrid-PIC: Add check if external currents are used by @roelof-groenewald in #6610
- reduce expanded fusion collision type checking. by @JustinRayAngus in #6623
- Add CLAUDE.md as symlink to AGENTS.md by @RemiLehe in #6620
- Create agent skill to add new paper highlights in the documentation by @RemiLehe in #6626
- Adjust indent in parameters.rst by @eebasso in #6632
- Take into account relativistic velocity in particle reflection test by @RemiLehe in #6619
- Implement collisions in the middle of the momentum push for electrostatic PIC by @oshapoval in #6572
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6633
- Replace WARPX_PROFILE with ABLASTR_PROFILE by @RemiLehe in #6634
- Enable mid-v push with embedded boundaries by @oshapoval in #6617
- DevUtils: automate checksum reset from Azure via PR number by @RemiLehe in #6621
- Doc: new paper in highlights – Wang et al. 2026 by @RemiLehe in #6627
- Fix luminosity diagnostics with mesh refinement by @aeriforme in #6605
- FieldGather: use Bz-specific z offset by @WeiqunZhang in #6664
- Release: WarpX 26.03 by @github-actions[bot] in #6630
New Contributors
- @huixingjian made their first contribution in #6597
- @clarkse-he made their first contribution in #6598
Full Changelog: 26.02...26.03
26.02
Dependencies
- AMReX: 26.02
- pyAMReX: 26.02
- PICSAR-QED: 25.06
- pybind11:
3.0.1 - picmistandard: 0.34.0
- openPMD-api: 0.17.0
- Python: 3.10 - 3.14
What's Changed
- Doc: X-Ref Debugging by @ax3l in #6470
- Fix Zenodo JSON Schema by @ax3l in #6473
- Dependencies: weekly update by @github-actions[bot] in #6466
- Fix the periodic 1D Poisson solver by @dpgrote in #6418
- CI: Zenodo Validator by @ax3l in #6474
- Containers: More Shared Libs by @ax3l in #6480
- add reduced compton wavelength to constants by @pkicsiny in #6476
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6484
- Doc: New Paper in NJP on LPA Opt by @ax3l in #6488
- Fix Perlmutter Container: CuPy Headers by @ax3l in #6485
- Small bugfix in particle container wrapper by @roelof-groenewald in #6481
- refactor direct deposit for Mass Matrices. by @JustinRayAngus in #6381
- fix bug in MatrixPC for 1D. by @JustinRayAngus in #6498
- Dependencies: weekly update by @github-actions[bot] in #6483
- Fix Cursor issue when running Python through CTest by @RemiLehe in #6490
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6508
- Docs: inputs section cleanup - parser and constants by @EZoni in #6510
- Fix conditionless
ComputeSpaceChargeFieldby @aeriforme in #6455 - Curl2 matrix BC masks by @JustinRayAngus in #6383
- Add density floor and time filtering to effective potential solver by @roelof-groenewald in #6143
- Dependencies: weekly update by @github-actions[bot] in #6507
- Dependencies: weekly update by @github-actions[bot] in #6522
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6525
- Expose reduced Planck constant by @EZoni in #6517
- Add new paper using WarpX for magnetic reconnection by @RemiLehe in #6521
- Docs: inputs section cleanup - #6510 follow-up by @EZoni in #6511
- Improve documentation for callback function (third step): data access by @RemiLehe in #6368
- bug fix for MM deposition in 1D. by @JustinRayAngus in #6526
- Mass matrices pc width part 1 by @JustinRayAngus in #6520
- Docs: Remove Summit & Lassen (ppc64le / CORAL aquisition) by @lucafedeli88 in #6528
- openPMD-api: 0.17.0 by @ax3l in #6461
- Fix warning message for mass and injection file by @Noerr in #6532
- VirtualPhotonCreation.H: remove unnecessary #include "WarpX.H" by @lucafedeli88 in #6537
- VirtualPhotonCreation.H : fix warning concerning not explicitly initialized variables by @lucafedeli88 in #6538
- TemperatureDeposition.H and VarianceAccumulationBuffer.cpp : fix inclusion of WarpX.H by @lucafedeli88 in #6540
- Release: WarpX 26.02 by @github-actions[bot] in #6544
New Contributors
Full Changelog: 26.01...26.02
26.01
Dependencies
- AMReX: 26.01
- pyAMReX: 26.01
- PICSAR-QED: 25.06
- pybind11:
3.0.1 - picmistandard: 0.34.0
- openPMD-api: 0.16.1
- Python: 3.10 - 3.14
What's Changed
- Docs: inputs section cleanup - QED by @aeriforme in #6385
- PETSC CI: Simplify by @ax3l in #6437
- allow dt update based on particle CFL for theta implicit solver. by @JustinRayAngus in #6428
- For PEC_insulator, fix the source on the boundary by @dpgrote in #6436
- Dependencies: weekly update by @github-actions[bot] in #6439
- Fix formatting in parameters.rst to avoid warnings by @dpgrote in #6444
- Free disk space in nvhpc CI by @WeiqunZhang in #6445
- CMake: No Warn for No-MPI Tests by @ax3l in #6450
- ExternalField.H: use static_cast to convert double/float to int by @lucafedeli88 in #6446
- Cropping of particles at boundaries for deposition for charge conservation by @dpgrote in #5649
- Doc: WarpX no-MPI Perlmutter Container by @ax3l in #6422
- Add cupy support for picmi CIs with callback functions by @oshapoval in #6354
- Custom weights for initial DistributionMapping by @WeiqunZhang in #6452
- Dependencies: weekly update by @github-actions[bot] in #6457
- Load Density: Distributed Approach by @WeiqunZhang in #6221
- Add option to initialize a Gaussian beam using total number of particles instead of total charge by @aeriforme in #6451
- Fix undefined variables in PICMI test scripts by @oshapoval in #6456
- External Particle Fields: enable reading of multiple fields from file by @SeverinDiederichs in #6269
- collisions should be after call to HandleParticlesAtBoundaries() by @JustinRayAngus in #6458
- PETSc: Better Support in Build & CI by @ax3l in #6441
- Poisson Solver: Synchronize nodal data before solve by @WeiqunZhang in #6438
- Add documentation for implicit attributes by @dpgrote in #6443
- Dependencies: weekly update by @github-actions[bot] in #6463
- check for out of bounds particles with cropping in suborbits. by @JustinRayAngus in #6467
- add missing PetscFunctionBeginUser by @JustinRayAngus in #6462
- Doc: AMD GPU Debugging by @ax3l in #6469
- Documentation for Adastra (CINES, France): change installation directory to WORKDIR & clean scripts by @lucafedeli88 in #6423
- Release: WarpX 26.01 by @github-actions[bot] in #6468
Full Changelog: 25.12...26.01
25.12
Dependencies
- AMReX: 25.12
- pyAMReX: 25.12
- PICSAR-QED: 25.06
- pybind11:
3.0.1 - picmistandard: 0.34.0
- openPMD-api: 0.16.1
- Python: 3.10 - 3.14
What's Changed
- Remove checksum.rst file by @RemiLehe in #6332
- In langmuir/README.rst use "none" for the language instead of "ini" by @dpgrote in #6333
- [Hackathon] Update "Theory" section in documentation by @roelof-groenewald in #5258
- Consistently use language:none for literal include in the documentation by @RemiLehe in #6336
- Docs: Complete hybrid solver parameter docs by @n01r in #6337
- Docs: Fix reStructuredText syntax for figures by @EZoni in #5386
- Update high-level page of the theory documentation by @RemiLehe in #6341
- Update title of the hybrid PIC section to mention Ohm's law by @RemiLehe in #6342
- Fix HybridPICSolver docs by @n01r in #6346
- Python: Implement
meshonMultiFabby @ax3l in #6344 - ablastr constants : add variable templates to allow for flexibility in using single/double precision by @lucafedeli88 in #5828
- Python:
WarpXParticleContainer.add_particlesby @ax3l in #6350 - Docs: Fix :alt: figure text again by @EZoni in #6348
- Remove usage of the fields wrapper classes by @dpgrote in #6339
- Remove mentions of ARTEMIS in the examples by @RemiLehe in #6326
- More general description of PIC loop, in theory section by @RemiLehe in #6345
- Add theory section for Poisson solvers by @roelof-groenewald in #6340
- Docs: Rearrange sidebar by @aeriforme in #6338
- Limit verbosity of particle sorting by @titoiride in #6353
- Add succinct explanation of hybrid-PIC model by @roelof-groenewald in #6358
- Consolidating boosted frame & BTD subsections by @oshapoval in #6347
- Document how to extend simulations via Python (first step): add overview section by @RemiLehe in #6360
- Clean-up for Example/Uniform plasma subsection by @oshapoval in #6349
- Document how to extent simulations with Python (second step): explain how to run by @RemiLehe in #6364
- Add an alias warpx.step for warpx.evolve by @dpgrote in #6362
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6335
- Minor tweaks to the wording of the theory section by @RemiLehe in #6363
- Python: Remove PC Wrapper in Usage by @ax3l in #6357
- WarpX Citation by @ax3l in #6102
- WarpX Remake: Keep MultiFab Pointers for EBs by @ax3l in #6315
- Docs: Resolve comment left out of #6102 by @EZoni in #6366
- Update PICMI
amrex_gmresbucket name by @roelof-groenewald in #6370 - Add finite-difference operators for gradient and Laplacian by @roelof-groenewald in #6371
- Dependencies: weekly update by @github-actions[bot] in #6375
- BTD Resize ADIOS for
intby @ax3l in #6377 - Rework the PECInsulator boundary conditions by @dpgrote in #6253
- Make warpx.evolve obsolete by @dpgrote in #6380
- Remove Python
multifabinterface by @RemiLehe in #6313 - Docs: inputs section cleanup by @EZoni in #6384
- Add a new paper using WarpX in the highlights by @RemiLehe in #6387
- Virtual photons by @aeriforme in #5595
- Docs: Add STL Union Workflow by @n01r in #6372
- Dependencies: weekly update by @github-actions[bot] in #6401
- Fix: NERSC PM Interactive by @ax3l in #6414
- Remove project number left over in Perlmutter profile by @EZoni in #6416
- Rebuild current and gather buffer masks during regrid by @atmyers in #6412
- Dependencies: weekly update by @github-actions[bot] in #6417
- Fix path to petsc directory in tuolumne install scripts by @eebasso in #6410
- Forward SoA Names to Temporary Tiles by @ax3l in #6413
- Update convergence criterion for MLMG by @RemiLehe in #6408
- WarpXSolverVec: Remove duplicates by @WeiqunZhang in #6415
- Checkpoint/Plotfile: Robust Bounds Calc by @ax3l in #6394
- Update .gitignore to exclude WARP.md by @n01r in #6379
- Perlmutter: GPU Docker Container by @ax3l in #6389
- Array PEC Warning in nvcc by @ax3l in #6393
- Adastra.rst: disable openMP support for QED lookup table generation by @grobertdautun in #6316
- Add more dependencies to root JSON file by @EZoni in #6189
- Fix PEC_insulators by @dpgrote in #6424
- Dependencies: weekly update by @github-actions[bot] in #6429
- PEC_Insulator cleanup by @dpgrote in #6426
- Docs: inputs section cleanup - intro by @EZoni in #6386
- Add test for MR with 2 levels by @RemiLehe in #3979
- For implicit, set ng_fieldgather = ng_alloc_EB by @dpgrote in #6435
- Release: WarpX 25.12 by @github-actions[bot] in #6432
Full Changelog: 25.11...25.12
25.11
Dependencies
- AMReX: 25.11
- pyAMReX: 25.11
- PICSAR-QED: 25.06
- pybind11:
3.0.1 - picmistandard: 0.34.0
- openPMD-api: 0.16.1
- Python: 3.10 - 3.14
What's Changed
- Print maximum relative error when checksums fail by @EZoni in #6252
- Dependencies: weekly update by @github-actions[bot] in #6248
- Fix potential recursive calls of WarpX constructor. by @WeiqunZhang in #6223
- Remove obsolete documentation about checksums by @EZoni in #6258
- Add new paper using WarpX by @RemiLehe in #6256
- bug fix. rtol ==> atol. by @JustinRayAngus in #6259
- FieldGather.H : fix for uninitialized arrays by @grobertdautun in #6254
- Make sure we geometrically grow the capacity of the particle buffers by @atmyers in #6260
- SpectralFieldData: remove timer-based costs tracker from constructor by @lucafedeli88 in #6225
- Dependencies: weekly update by @github-actions[bot] in #6261
- Doc: Flux (Tuo@LLNL) by @ax3l in #6140
- Update aurora.rst fixing a mistakenly pasted path from Perlmutter by @Noerr in #6241
- Docs: update LXPLUS (CERN) documentation by @SeverinDiederichs in #6264
- Tuo (LLNL): HDF5 Module Gone by @ax3l in #6255
- Skip
SortForDepositionifdo_not_depositby @roelof-groenewald in #6267 - Docs: Simplify LXPLUS (CERN) setup by @SeverinDiederichs in #6268
- Energy-preserving explicit PIC-MCC algorithm: electrostatic by @EZoni in #5955
- Move InitBorrowing and ShrinkBorrowing from WarpX class to anonymous namespace in WarpXFaceExtensions.cpp by @lucafedeli88 in #6272
- Deprecate photon species list by @lucafedeli88 in #6265
- DSMC: implement generic two-product reaction by @oshapoval in #6250
- Tuolumne (LLNL): CPU-Only, HDF5, PETSC, Signal Handling by @ax3l in #6270
- Fix Leonardo CINECA docs link by @elehcim in #6277
- VarianceAccumulationBuffer.cpp: remove unnecessary include by @lucafedeli88 in #6280
- Dependencies: weekly update by @github-actions[bot] in #6278
- Deprecation of photon species list: update documentation by @lucafedeli88 in #6281
- Fix oneAPI CI errors by @RemiLehe in #6300
- Rename skip_current variable for more clarity by @EZoni in #6303
- WarpXParticleContainer_fwd.H: remove #include<AMReX_GpuAllocators.H> by @lucafedeli88 in #6299
- WarpXParticleContainer_fwd.H: remove unused struct TmpIdx by @lucafedeli88 in #6297
- WarpXParticleContainer class: remove unused PairIndex by @lucafedeli88 in #6296
- PML: move some static functions MakeBoxArray, MakeBoxArray_single, and MakeBoxArray_multiple to anonymous namespace in PML.cpp by @lucafedeli88 in #6301
- fix white space issue for add_warpx_test by @SeverinDiederichs in #6304
- WarpXFaceExtensions: move some functions used only in the cpp file to anonymous namespace by @lucafedeli88 in #6309
- Fix single precision issue in DSMC ionization by @roelof-groenewald in #6310
- Dependencies: weekly update by @github-actions[bot] in #6307
- Generalize DSMC two-product reactions for photons by @oshapoval in #6290
- Replace WarpXUtilIO::WriteBinaryDataOnFile with a one-liner by @lucafedeli88 in #6289
- WarpXParticleContainer : move DiagIdx from forward header to header by @lucafedeli88 in #6298
- Python Control of OMP Threads by @ax3l in #6288
- Add verbosity level for Checkpoint diagnostic output by @Noerr in #6312
- Make PIdx struct more readable by @lucafedeli88 in #6294
- MusclHancockUtils.H : fix uninitialized variables by @lucafedeli88 in #6295
- Spacecraft Charging Example: Get Field Dir String by @ax3l in #6322
- Remove particles.photon_species inputs left over by @EZoni in #6320
- Add
ablastr::math::set_random_seedby @ax3l in #6319 - Remove latex source files for the documentation by @RemiLehe in #6323
- Update runtime names to access particles from Python by @RemiLehe in #6318
- Fix default tolerance in restart test by @RemiLehe in #6325
- Implementing sparse matrix representation of Jacobian and using PETSc preconditioners by @debog in #6184
- Fix restart with ionization and add automated test by @RemiLehe in #6291
- Add ability to load particles from openPMD, through the PICMI interface by @RemiLehe in #6305
- Dependencies: weekly update by @github-actions[bot] in #6330
- Streamline contact page by @RemiLehe in #6328
- Clean documentation: Move all bibliography to
refs.bibby @RemiLehe in #6327
New Contributors
Full Changelog: 25.10...25.11
25.10
Dependencies
- AMReX: 25.10
- pyAMReX: 25.10
- PICSAR-QED: 25.06
- pybind11:
3.0.1 - picmistandard: 0.33.0
- openPMD-api: 0.16.1
- Python: 3.9 - 3.13
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6146
- More readable code in PushPX, PushXPSingleStep by @EZoni in #6113
- FieldGather: Enable Lower D by @ax3l in #6127
- Docs: Fix HTTP Error 403 by @EZoni in #6151
- Change y to z in WarpX 2D examples by @RemiLehe in #6152
- remove unnecessary input param from ImplicitPushXP() by @JustinRayAngus in #6148
- UB sanitizer test : print stack trace for easier debugging by @lucafedeli88 in #6153
- Python:
MultiFabRegister::listby @ax3l in #6164 - Pre-Build AMReX: RCylindrical, RSphere by @ax3l in #6163
- Cleanup/streamline ImplicitPushXPSubOrbits() by @JustinRayAngus in #6160
- move detailed print for implicit solvers to base class. by @JustinRayAngus in #6168
- ImplicitPushPX: fix maybe-uninitialized warning by @lucafedeli88 in #6172
- Implicit gamma inverse function by @JustinRayAngus in #6170
- Implementation of Bremsstrahlung collisions by @dpgrote in #5537
- Dependencies: weekly update by @github-actions[bot] in #6171
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6173
- Diagnostics: pass particle container by const ref to (slightly) reduce reliance on WarpX::GetInstance by @lucafedeli88 in #5712
- Fix loading photons from openPMD file by @aeriforme in #6155
- PSATD: OMP Parallelize Data Packing and Unpacking by @WeiqunZhang in #6167
- Suppress GCC -Warray-bounds warnings by @EZoni in #6088
- Fix minor bugs in script to update dependencies by @EZoni in #6150
- MF Register Direction: Descriptive Members by @ax3l in #6162
- Add example of basic python input file by @dpgrote in #6149
- CI: debug autoupdate workflows by @EZoni in #6122
MANIFEST.in:dependencies.jsonby @ax3l in #6179- Python: Remove Deprecated
multifabOverload by @ax3l in #6180 - Fix ablastr::utils::write_used_inputs_file by @WeiqunZhang in #6165
- add option to modify particle update on initial Newton step by @JustinRayAngus in #6169
- AMReX/pyAMReX/PICSAR: Weekly Update by @ax3l in #6182
- New SubcyclingHalf enum for subcycling algorithm by @EZoni in #6174
- Allow
phioutput with non-ES solvers by @roelof-groenewald in #5872 - use span to allocate mesh data by default by @guj in #6123
- Doc: Frontier Plotfile Options by @ax3l in #5962
- MacroscopicEvolveE: pass macroscopic_solver_algo to MacroscopicEvolveE as a parameter instead of using WarpX::macroscopic_solver_algo by @lucafedeli88 in #5770
- Add Python hook to change
do_no_gatheranddo_not_depositvalue for particle container by @roelof-groenewald in #6190 - Move PushType enum to WarpXAlgorithmSelection.H by @EZoni in #6187
- Add CI test to read particles from openPMD by @RemiLehe in #5937
- Fix Warning: GNU 11 + NVCC 11.7 by @ax3l in #6193
- Python:
load_inputs_fileby @ax3l in #6154 - Dependencies: weekly update by @github-actions[bot] in #6196
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6198
- Add time-varying external fields by @SeverinDiederichs in #6194
- Fix a bug in the 2d mode of the IGF solver by @WeiqunZhang in #6199
- AMReX/pyAMReX/PICSAR: Weekly Update by @ax3l in #6201
- Fix:
Config.precisionby @ax3l in #6200 - Update Polaris install scripts by @roelof-groenewald in #6178
- Add option to have the process number of each box in the output by @atmyers in #6177
- Update the "X" in ASCII art "WarpX" text to look more like our new logo by @lucafedeli88 in #6185
- Docs: fix link to input files by @aeriforme in #6204
- Some cleaning of the #include directives by @lucafedeli88 in #6209
- Use a different name for Breit-Wheeler-specific functions by @RemiLehe in #6208
- Binary collisions: move two-product initialization out of the fusion folder by @RemiLehe in #6212
- DSMC: rename m_ioniz_product to m_product by @RemiLehe in #6211
- LinearBreitWheelerCollisionFunc.H and LinearComptonCollisionFunc.H : remove unnecessary #include of the WarpX header by @lucafedeli88 in #6217
- Some cleaning of the #include directives (II) by @lucafedeli88 in #6216
- Initial Box Splitting (Profile): NRandomPerCell by @ax3l in #6159
- Dependencies: weekly update by @github-actions[bot] in #6224
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6228
- Add rotation to Gaussian beam initialization by @aeriforme in #4767
- Use shuffling to avoid N^2 computation in luminosity calculation by @atmyers in #6192
- AddParticles.cpp : fix "maybe-uninitialized" issue for variable XDim3 r by @lucafedeli88 in #6230
- Rename WarpXParticleContainer's member variable mass to m_mass by @EZoni in #6232
- Implicit particle suborbits refactor. by @JustinRayAngus in #6202
- Fix input file of photon pusher test by @EZoni in #6235
- MusclHancockUtils.H: remove unnecessary min3 and max3 helper functions by @lucafedeli88 in #6234
- Add error message for non-supported scattering processes in DSMC by @roelof-groenewald in #6236
- WarpX class: remove unnecessary getPMLRZ() method from WarpX class by @lucafedeli88 in #6237
- WarpX class: move UpdateInjectionPosition method to anonymous namespace in WarpXMovingWindow.cpp by @lucafedeli88 in #6238
- Fix position update for flux of photons by @EZoni in #6231
- Only allow Gaussian beam rotation in 3D and 2D XZ by @aeriforme in #6242
- WarpX class: remove unused variables plotfile_headerversion and slice_plotfile_headerversion by @lucafedeli88 in #6244
- SpectralFieldData, SpectralFieldDataRZ, SpectralSolver : move implementation of some methods from the header to the cpp file by @lucafedeli88 in #6226
- Shared deposition not implemented in RCYLINDER and RSPHERE geometries by @EZoni in #6213
- Docs: fix two broken links by @aeriforme in #6246
- Release: WarpX 25.10 by @github-actions[bot] in #6239
Full Changelog: 25.09...25.10
25.09
Dependencies
- AMReX: 25.09
- pyAMReX: 25.09
- PICSAR-QED: 25.06
- picmistandard: 0.33.0
- openPMD-api: 0.16.1
- Python: 3.9 - 3.13
What's Changed
- Add tutorials section in documentation by @aeriforme in #6065
- Refactor ReadBCParams by @lucafedeli88 in #5767
- Update to use the correct stencils in FieldPoyntingFlux by @dpgrote in #6060
- Fix external field reading, in RZ geometry by @RemiLehe in #6069
- Fix mislabeled diagnostic output for macroscopic media by @bnara in #6072
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6075
- CI: Remove Hard-Coded Path to Checksum Files by @EZoni in #5888
- Dependencies: weekly update by @EZoni in #6074
- Add full mass matrices for charge-conserving Villasenor deposition by @JustinRayAngus in #6021
- Several fixes for warnings from doxygen by @dpgrote in #6076
- Python: Precision & SIMD in
Configby @ax3l in #6089 - Load density from openPMD file by @WeiqunZhang in #6062
- Docs: Hide tutorial chapter title from front page by @EZoni in #6070
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6099
- Updated output for quadratic rho and J time dependencies by @oshapoval in #6093
- Doc Tuo (LLNL): Small Typos by @ax3l in #6100
- Dependencies: weekly update by @EZoni in #6098
- Automated workflows for weekly update and monthly release by @EZoni in #6054
- Add WarpX logo in the ReadTheDocs documentation by @RemiLehe in #6101
- CMake: WarpX_SIMD in C++20 or Newer by @ax3l in #6086
- CMake: Fix Fast-Math with Pre-built AMReX by @ax3l in #6096
- Doxygen: remove obsolete macros from Doxyfile by @EZoni in #6079
- used perform data write in all BTD cases by @guj in #5963
- CuPY not compatible with cython 3.1 by @titoiride in #5991
- Refactor Implicit parameters in readthedocs by @JustinRayAngus in #6095
- Tuolumne (LLNL): Jobscript Updates by @ax3l in #6105
- Add linear Compton scattering by @aeriforme in #5878
- Added 1D & 2D CI test with loading density from .h5 file by @oshapoval in #6106
- Add recent papers citing/using WarpX by @RemiLehe in #6111
- Update WarpX's high-level description by @RemiLehe in #6103
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6114
- CI: edit permissions for autoupdate workflows by @EZoni in #6112
- Update the embedded documentation hyperlink for parallelization info to a working URL by @Noerr in #6108
- Fix openPMD output of "eb_covered" in RZ geometry by @RemiLehe in #6110
- Add verbosity flag for diagnostics by @roelof-groenewald in #6092
- CI: debug autoupdate workflows (GitHub Actions) by @EZoni in #6115
- Implicit push cleanup by @JustinRayAngus in #6120
- Linear Compton follow-up 1 by @aeriforme in #6119
- Add CI load density RZ by @oshapoval in #6118
- Update the WarpX intro page by @RemiLehe in #6124
- Update acknowledgment slide by @aeriforme in #6104
- Set synchronize_velocity_for_diagnostics = true by @dpgrote in #5821
- created an ImplicitOptions struct to pass into Evolve(). by @JustinRayAngus in #6116
- Fix --skip-fields behavior when running default regression test by @aeriforme in #6129
- CI: workaround for macOS issue by @EZoni in #6136
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6133
- FlushFormat int comp writing by @JustinRayAngus in #6130
- Implement particle suborbits for the implicit solver by @dpgrote in #5969
- Update picmi.py by @yanghf263 in #6137
- Documentation: update in adastra documentation by @grobertdautun in #6135
- Release: WarpX 25.09 by @github-actions[bot] in #6132
New Contributors
- @Noerr made their first contribution in #6108
- @github-actions[bot] made their first contribution in #6132
Full Changelog: 25.08...25.09
25.08
Dependencies
- AMReX: 25.08
- pyAMReX: 25.08
- PICSAR-QED: 25.06
- picmistandard: 0.33.0
- openPMD-api: 0.16.1
- Python: 3.9 - 3.13
What's Changed
- SYCL: Turn on AOT in CI and Update MKL by @WeiqunZhang in #6007
- Add function to get total kinetic energy for a given species by @roelof-groenewald in #5943
- Fix temperature deposition thread safety by @clarkse in #6001
- Moved particle creation routines into a new file by @dpgrote in #5997
- Rename
np_currentvariable for more clarity by @EZoni in #6008 - Update dane scripts by @dpgrote in #6009
- Further optimizations for the binary collision module by @atmyers in #5981
- Initial partition based particle density profile by @WeiqunZhang in #5812
- Remove unused file from binary collisions module by @atmyers in #6015
- adding total iteration count to the nonlinear diagnostic file. by @JustinRayAngus in #6013
- Enable general weight scaling for radial particle distributions by @dpgrote in #5009
- fields.py relies on MultiFab global indexing by @dpgrote in #5407
- Fix energy and momentum conservation after pair wise Coulomb collisions by @dpgrote in #5932
- Update install direction in dane_warpx.profile.example by @dpgrote in #6010
- Fix GCC 8:
stdc++fsby @ax3l in #5990 - PsatdAlgorithmRZ: Fix uninitialized member variable by @WeiqunZhang in #6017
- AMReX/pyAMReX/PICSAR: Weekly Update by @ax3l in #6026
- CMake: ABLASTR/WarpX/AMReX SIMD by @ax3l in #5966
- fixed index for gmres_iter in 1d planar pinch analysis script by @JustinRayAngus in #6023
- correct step for writing of diagnostic file for the Picard nonlinear … by @JustinRayAngus in #6024
- refactored how to reflect/set Rho and J at PEC/PMC boundaries. by @JustinRayAngus in #5909
- ensure time solver-dependent alpha is set correctly in the curl-curl PC. by @JustinRayAngus in #6022
- permit CurlCurlMLMG with PEC and SilverMueller BCs. by @JustinRayAngus in #6027
- Added 1D Pierce Diode CI test by @oshapoval in #5999
- add comment about why tiling is not permitted. by @JustinRayAngus in #6029
- SymPy > 1.12.1 yield wrong results in PSATD symbolic notebooks by @EZoni in #5968
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6020
- Weekly update of dependencies by @EZoni in #6032
- Update perlmutter.rst by @truewis in #6018
- Bug fix: Mixed precision builds fail due to conflicting types by @roelof-groenewald in #6028
PlasmaInjector.H: HideopenPMD.hppby @ax3l in #6016- Add
--releaseoption to script for update of dependencies by @EZoni in #6033 - Fix string concatenation in assert by @AlexanderSinn in #6040
- Update dependencies by @EZoni in #6043
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6046
- Doc: openPMD Airplane Mode by @ax3l in #6044
- Doxygen CI: Warnings as Error by @ax3l in #3560
- Run test_2d_theta_implicit_strang_psatd test on one processor by @dpgrote in #6050
- Doxygen: No Python by @ax3l in #6052
- Ascent 0.9.3 by @ax3l in #6051
- Tools: improve automated dependencies update by @EZoni in #6038
- Doc: oneAPI Requirements by @ax3l in #6055
- Updating initialization of external vector potential based fields to … by @clarkse in #6047
- AMReX/pyAMReX/PICSAR: Weekly Update by @ax3l in #6059
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #6064
- Minor refactoring of PIC loop extracted from PR 5955 by @EZoni in #6012
- CMake: Add
WarpX_FASTMATHby @ax3l in #6057 - WarpX 25.08 by @EZoni in #6066
New Contributors
Full Changelog: 25.07...25.08
25.07
Dependencies
- AMReX: 25.07
- pyAMReX: 25.07
- PICSAR-QED: 25.04
- picmistandard: 0.33.0
- openPMD-api: 0.16.1
- Python: 3.9 - 3.13
What's Changed
- Deactivate failing Windows CI workflow by @RemiLehe in #5934
- Implement particle_max_grid_crossings by @dpgrote in #5866
- Bugfix: Hybrid-pic restart causing inconsistencies by @roelof-groenewald in #5906
- Fix checksum failure in LASY test by @RemiLehe in #5941
- Simplify logic in the DSMC code by @RemiLehe in #5910
- Dependencies: Weekly Update by @EZoni in #5939
- Use the correct copy functor for DSMC impact ionization by @RemiLehe in #5940
- Run sanitizer test in double precision by @RemiLehe in #5936
- [Hackathon] Refactor ParserUtils and IntervalsParser by @WeiqunZhang in #5254
- Move RelativeCellPosition.H/cpp from Utils to ablastr/utils by @lucafedeli88 in #5898
- Enable Collocated grid Solve for Ohm's Law Hybrid solver by @clarkse in #5838
- Treat DSMC charge exchange as a product-producing process by @oshapoval in #5908
- Updating documentation to clarify that certain callbacks are not exec… by @clarkse in #5954
- Mini-PR: Fix outdated line in documentation by @roelof-groenewald in #5951
- Use step to determine collision execution rather than time by @roelof-groenewald in #5944
- Switch Windows Clang test to windows-2022 by @RemiLehe in #5930
- Adding flags to field initializer objects in PICMI to control project… by @clarkse in #5956
- CI: Fix Skipped Required Workflows (again) by @EZoni in #5907
- Update reference to new paper by @RemiLehe in #5883
- Move WarpX::ErrorEst from Utils/WarpXTagging.cpp to WarpX.cpp by @lucafedeli88 in #5897
- LLNL (LC) Tioga w/o MI300A by @ax3l in #5970
- CI: improve paths exclusion filters by @EZoni in #5972
- Doc LLNL (LC) Tuolumne by @ax3l in #5971
- CI: fix Open MPI bug in Azure pipelines by @EZoni in #5973
- Update picmi.py to clarify the effect of holmstrom_vacuum_region by @yanghf263 in #5977
- AMReX/pyAMReX/PICSAR: Weekly Update by @ax3l in #5948
- RZ: GPU-Side Abort in FDTD by @ax3l in #5974
- Aurora setup by @zippylab in #5979
- Add feature running variance deposition by @clarkse in #5811
- Clang UB sanitizer CI test: increase coverage by @lucafedeli88 in #5597
- Adds emojis to issues template names by @aeriforme in #5964
- Tuolumne (LLNL): AMReX Memory Release by @ax3l in #5982
- Tools: simplify workflows for commit, version updates by @EZoni in #5965
- Add new paper using WarpX to highlights by @roelof-groenewald in #5989
- CMake: Fix Superbuilds by @ax3l in #5993
- Splitting: Remove
pc_tmpby @ax3l in #5992 - Allow rigid free-drift in transverse coordinates by @bnara in #5986
- Fixing initialization of external vector potential when using periodi… by @clarkse in #5988
- Add new paper using WarpX for Hall thruster simulations by @RemiLehe in #5995
- Reduce kernel sizes by @roelof-groenewald in #5994
- Infrastructure for using full mass matrices in the implicit solvers by @JustinRayAngus in #5929
- FullDiagnostics.cpp : use WARPX_ABORT_WITH_MESSAGE instead of std::cout by @lucafedeli88 in #6000
- Remove inclusion of unused header ablastr/parallelization/KernelTimer.H by @lucafedeli88 in #6002
- Fix moving-window subvolume field output by @bnara in #5985
- Release: 25.07 by @EZoni in #5996
New Contributors
- @yanghf263 made their first contribution in #5977
- @zippylab made their first contribution in #5979
Full Changelog: 25.06...25.07
25.06
Dependencies
- AMReX: 25.06
- pyAMReX: 25.06
- PICSAR-QED: 25.04
- picmistandard: 0.33.0
- openPMD-api: 0.16.1
- Python: 3.9 - 3.13
What's Changed
- Add new references using WarpX by @RemiLehe in #5879
- adastra-cines/submit.sh: updated job script example by @grobertdautun in #5850
- use verbose flag in nonlinear solvers for Print() lines. by @JustinRayAngus in #5881
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #5887
- Scale the charge/current in RZ geometry when folding high-radius guard cells into domain by @RemiLehe in #5886
- Update frontier_warpx.profile.example by @titoiride in #5885
- WarpXFluidContainer::InitData : pass parameters as function arguments instead of using static variables of the WarpX class by @lucafedeli88 in #5787
- Move auxiliary function CountExtFaces from WarpX header to anonymous namespace in WarpXFaceExtensions by @lucafedeli88 in #5800
- moving Implicit routines from WarpX class to base ImplicitSolver class by @JustinRayAngus in #5882
- Dependencies: Weekly Update by @EZoni in #5884
- Fix direction in spacecraft chargining picmi script by @RevathiJambunathan in #5891
- adding limit_verbose_step flag. by @JustinRayAngus in #5880
- Add 1d cylinder and sphere by @dpgrote in #5189
- Implementing PETSc interface for preconditioned linear solves by @debog in #5856
- Exposing mf register by @RevathiJambunathan in #5846
- PML_RZ: don't use warpx static variables directly by @lucafedeli88 in #5893
- Remove superfluous if condition in impact ionization by @RemiLehe in #5895
- AcceleratorLattice.cpp: fix typo in a comment by @lucafedeli88 in #5903
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #5904
- Dependencies: Weekly Update by @EZoni in #5900
- CI: Fix Skipped Required Workflows by @EZoni in #5889
- Pass Efield as optional argument to
computePhiby @roelof-groenewald in #5871 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #5911
- Dependencies: Weekly Update by @EZoni in #5912
- CI: Update PETSc Workflows by @EZoni in #5914
- Fix table in Docs/source/developers/dimensionality.rst by @dpgrote in #5920
- Add new paper by @RemiLehe in #5921
- For FieldEnergy, use validbox instead of tilebox for the volume factor by @dpgrote in #5922
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #5924
- remove erroneous use of is_tangent_to_bndy in SetRhoOrJfieldFromPEC() by @JustinRayAngus in #5905
- permit particle shape = 3 and 4 with mass matrices. by @JustinRayAngus in #5919
- Add new field diagnostic that indicates whether a given cell is covered by the EB or not by @RemiLehe in #5925
- Release: 25.06 by @EZoni in #5933
Full Changelog: 25.05...25.06