Releases: Hi-PACE/hipace
v25.09
AMReX: release 25.09
openPMD-api: release 0.16.1
What's Changed
- HiPACE++ dev builds on AMReX dev by @MaxThevenet in #1253
- [mini] minor fixes in doc by @MaxThevenet in #1254
- Fix grid external fields by adding Psi by @AlexanderSinn in #1257
- Fix Windows CI by @AlexanderSinn in #1259
- Replace
std::numeric_limits<>::infinity()withmax()by @AlexanderSinn in #1261 - Fix linux Badge by @AlexanderSinn in #1260
- Only include openPMD.hpp in .cpp files that need it by @AlexanderSinn in #1258
- Use Parser instead of IParser for int parameters by @AlexanderSinn in #1266
- Remove
reset_all_benchmarks.shscript by @AlexanderSinn in #1262 - Split production_lwfa and production_pwfa CI tests by @AlexanderSinn in #1263
- Add option to specify the MR refinement ratio by @AlexanderSinn in #1249
- Fix some fpe_trap issues by @AlexanderSinn in #1273
- Pass AMReX Arena to getBeamInitSlice().define() by @AlexanderSinn in #1274
- Read input parameters in ReadParameters function by @AlexanderSinn in #1264
- Fix min max issue with cuda 11.8 by @AlexanderSinn in #1269
- Use amrex::ToString instead of std::to_string by @AlexanderSinn in #1275
- try fix macos CI by uninstalling cmake by @AlexanderSinn in #1281
- [mini] Add authors to the Zenodo json by @MaxThevenet in #1278
- prepare release 25.09 by @MaxThevenet in #1284
Full Changelog: v25.06...v25.09
v25.06
AMReX: release 25.06
openPMD-api: release 0.16.1
What's Changed
- Revert to amrex dev build by @MaxThevenet in #1146
- Update Maxwell documentation after OS upgrade by @AlexanderSinn in #1147
- hipace.profile -> profile.hipace by @AlexanderSinn in #1151
- Upgrade Maxwell to use cuda 12.3s by @AlexanderSinn in #1150
- Use 2D ParallelFor by @AlexanderSinn in #1149
- fix Error in DEBUG mode by @AlexanderSinn in #1154
- Use makeParser from amrex::ParmParse by @AlexanderSinn in #1143
- [mini] Fix outdated documentation points by @MaxThevenet in #1156
- Fix boundary conditions by @AlexanderSinn in #1064
- CMake: Replace
FetchContent_Populateby @ax3l in #1152 - Doc: Spock (OLCF) Gone by @ax3l in #1155
- Reset std::setfill in format_time by @AlexanderSinn in #1159
- Add nanoseconds per particle push printout by @AlexanderSinn in #1162
- Fix float assert in Parser by @AlexanderSinn in #1163
- Fix HPMG cuda graph with SALAME by @AlexanderSinn in #1167
- Fix max_time with negative dt by @AlexanderSinn in #1148
- Update Lumi modules by @AlexanderSinn in #1168
- Add rhomjz_beam field by @AlexanderSinn in #1171
- Shared memory deposition by @AlexanderSinn in #1158
- Faster multigrid solve with OMP by @AlexanderSinn in #1160
- OMP parallelize Beam pusher by @AlexanderSinn in #1161
- Make from_file and other laser init compatible by @huixingjian in #1157
- openPMD-api: 0.16.0+ by @ax3l in #1176
- [mini] Add deprecated input warning for diags with MR by @MaxThevenet in #1173
- [mini] Fix a few typos intialize vs. initialize by @MaxThevenet in #1174
- [mini] Use newer version in GH actions by @MaxThevenet in #1178
- [mini] Forgot to bump checkout version in 1 place by @MaxThevenet in #1179
- Use amrex::GpuArray instead of std::array in deposition by @AlexanderSinn in #1183
- Clean up field ionization by @AlexanderSinn in #1184
- Remove Unused Variable by @AlexanderSinn in #1187
- Fix matplotlib install in CI by @AlexanderSinn in #1192
- Laser circular polarization by @MaxThevenet in #1191
- [mini] Add documentation for laser polarization input parameter by @MaxThevenet in #1193
- Laser ionization by @EyaDammak in #1190
- Ignoring "Doxygen issue" in the workflows due to AMReX by @EyaDammak in #1197
- Re-enable warnings as errors in doxygen CI by @AlexanderSinn in #1199
- Fix issue with AB5 pusher and MR by @AlexanderSinn in #1204
- Remove invalid beam particle from first diagnostic step by @AlexanderSinn in #1200
- New option to disable the pusher for plasma particles by @EyaDammak in #1203
- RTD: Fix GA Integration by @ax3l in #1205
- Remove conda from CI by @AlexanderSinn in #1208
- [mini]
.do_push=0possible also for the entire plasma by @EyaDammak in #1207 - Laser ionization with electron momentum by @EyaDammak in #1195
- Fix unused variable warning by @AlexanderSinn in #1209
- Fix HIP CI by @MaxThevenet in #1211
- Ionized electron momentum using Tomassini's model by @EyaDammak in #1210
- [mini] add
constto variables for rms residual momentum calculation in Laser Ionization function by @EyaDammak in #1212 - Adding material reference (HiPACE++ workshop 2023) in documentation by @EyaDammak in #1214
- Improve performance of in-situ diagnostic data reading by @AlexanderSinn in #1216
- New option to deactivate the beam pusher by @EyaDammak in #1220
- Add option to apply external B field to grid by @AlexanderSinn in #1222
- update openPMD to latest version by @AlexanderSinn in #1224
- Resize Beam Diagnostic buffer by @AlexanderSinn in #1227
- Fix shadow issue in AddGridExternalFields by @AlexanderSinn in #1230
- Update Ubuntu version of CI tests by @AlexanderSinn in #1232
- Remove CONDA from CUDA Local CI by @AlexanderSinn in #1236
- Beam read_from_file also reads spin by @MaxThevenet in #1172
- Update physical constants by @AlexanderSinn in #1223
- Fix laser from file hanging with MPI by @AlexanderSinn in #1235
- Add Parser Debug Print Utility by @AlexanderSinn in #1238
- Fix CI with MPI by @AlexanderSinn in #1241
- Update "psi" of the ionized plasma particles in 'LaserIonization' module by @EyaDammak in #1239
- Plasma Temperature Diagnostics by @EyaDammak in #1228
- Interpolate Ez along zeta in beam pusher by @AlexanderSinn in #1248
- Add grid_external_E by @AlexanderSinn in #1245
- Gather laser in plasma insitu diagnostic by @AlexanderSinn in #1250
- Enable to initialize spatial/temporal/angular chirped laser + CI test with LASY by @huixingjian in #1196
- Prepare for release 25.06 by @MaxThevenet in #1252
New Contributors
- @EyaDammak made their first contribution in #1190
Full Changelog: v24.08...v25.06
v24.08
AMReX: release 24.08
openPMD-api: release 0.15.2
What's Changed
- Build back on AMReX development after release 24.06 by @MaxThevenet in #1124
- Add a relative tolerance to SALAME by @AlexanderSinn in #1125
- Add inputs for scaling benchmarks to examples by @AlexanderSinn in #1128
- CI: CCache for macOS by @ax3l in #1129
- Read laser profile from parser by @huixingjian in #1122
- Clean in-situ diagnostic with TupleSplit and tupleToArray by @AlexanderSinn in #1126
- Remove
amrex::Gpu::notInLaunchRegion()checks by @AlexanderSinn in #1127 - Fix compilation without openpmd by @AlexanderSinn in #1132
- Add fix for slow GPU aware MPI to JSC booster script by @AlexanderSinn in #1133
- Add pre_register_memory option by @AlexanderSinn in #1134
- Fix unused parameter warning by @AlexanderSinn in #1138
- Remove particles with negative psi_inv by @AlexanderSinn in #1142
- HPMG: Compute finest level directly on the field by @AlexanderSinn in #1137
- Update release number and AMReX build version by @MaxThevenet in #1145
Full Changelog: v24.06...v24.08
v24.06
AMReX: release 24.06
openPMD-api: release 0.15.2
What's Changed
- [mini] Revert amrex branch to build hipace-dev on amrex-dev by @MaxThevenet in #1078
- Improve Maxwell documentation to setup and run by @MaxThevenet in #1076
- Add option to use HPMG to solve Poisson equations by @AlexanderSinn in #1063
- Fix MPI buffer max_leading_slices by @AlexanderSinn in #1079
- Add Beam Spin tracking by @AlexanderSinn in #1071
- Put input parameters for MPI in a separate category by @AlexanderSinn in #1080
- Reverse order of MPI ranks by @AlexanderSinn in #1081
- [mini] Add doc entry for use_previous_rng by @MaxThevenet in #1084
- Make CPU-GPU memory copy highly asynchronous by @AlexanderSinn in #1082
- Add in-situ diagnostic for spin by @AlexanderSinn in #1086
- Limit size in GiB of communications buffer by @AlexanderSinn in #1085
- NVCC 11.5 fixes by @AlexanderSinn in #1089
- Use 63 bits for Beam ID by @AlexanderSinn in #1090
- correct the direction of the spatial rotation by @huixingjian in #1091
- Put Laser abs(a) in separate Field by @AlexanderSinn in #1088
- Clean-up TinyProfiler output by @AlexanderSinn in #1087
- Fix Spin in-situ diagnostic for NVCC 11.5 by @AlexanderSinn in #1094
- Simplify tiling in plasma deposition by @AlexanderSinn in #1093
- Fix Plasma tiling in SALAME by @AlexanderSinn in #1096
- Fix SALAME overloaded beam removal by @AlexanderSinn in #1097
- Don't use Laser FFT array in Laser MG solver by @AlexanderSinn in #1095
- Fix index bug in FFTPoissonSolverPeriodic by @AlexanderSinn in #1102
- Fix adaptive time step for non-electron beams by @AlexanderSinn in #1092
- Enable initial pulse front tilt set for lasers by @huixingjian in #1100
- Remove outer_depos_loop by @AlexanderSinn in #1101
- Use correct geometry for Laser diagnostics by @AlexanderSinn in #1103
- Fix ReorderParticles for Beam by @AlexanderSinn in #1104
- Sort plasma after initialization when running on CPU by @AlexanderSinn in #1107
- Refactor AnyFFT by @AlexanderSinn in #1099
- CI: Update ROCm/HIP by @ax3l in #1113
- Doc: Fix Legal References by @ax3l in #1115
- CMake: No Deprecation Warnings by @ax3l in #1118
- Separate grid for Laser by @AlexanderSinn in #1106
- Fix tiling without OMP by @AlexanderSinn in #1108
- Amend Notices for Non-Endorsement by @ax3l in #1114
- Initialize MR level with beam from file by @AlexanderSinn in #1117
- Use less than or equal for min_density with beam by @AlexanderSinn in #1119
- Add warning if beam is injected with zero particles by @AlexanderSinn in #1120
- Fix openPMD crash if beam has no particles by @AlexanderSinn in #1121
- Improve performance of FFTDirichletExpanded by @AlexanderSinn in #1111
- Improve performance of FFTDirichletFast by @AlexanderSinn in #1112
- Prepare for release 24.06 by @MaxThevenet in #1123
Full Changelog: v24.03...v24.06
v24.03
AMReX: release 24.03
openPMD-api: release 0.15.2
What's Changed
- Hipace dev builds on amrex dev by @MaxThevenet in #1035
- Doc: Button to Copy Code Blocks by @ax3l in #1039
- [mini] Fix typo in laser pulse length to pulse duration conversion by @MaxThevenet in #1036
- Fix typo in assert by @AlexanderSinn in #1041
- Beam particle sorting by @AlexanderSinn in #1032
- Add option to symmetrize fields by @AlexanderSinn in #1038
- Laser FFT solver for AMD by @AlexanderSinn in #1043
- Set
amrex.omp_threads = "nosmt"by @ax3l in #1044 - Add in-situ diagnostics for field energy by @AlexanderSinn in #1030
- Use 64 bit idcpu by @AlexanderSinn in #1047
- CI: Fix ROCm 6.0
hiprandby @ax3l in #1048 - Fix minor formatting issue in documentation by @AlexanderSinn in #1050
- Make plasma ppc a mandatory input parameter by @AlexanderSinn in #1051
- MacOS CI explicitly install [email protected] by @AlexanderSinn in #1049
- Laser with non-electron plasma by @AlexanderSinn in #1002
- Make laser output LASY compliant by @AlexanderSinn in #1046
- Add zyx geometry for laser input by @AlexanderSinn in #1053
- Clean-up in-situ diagnostic by @AlexanderSinn in #1052
- DepositCurrent: atomicAdd -> lockAdd by @WeiqunZhang in #1059
- Use AMReX version of TypeMultiplier by @AlexanderSinn in #1061
- Add HiPACE_CCACHE Option by @ax3l in #1065
- Add [xuy], [yux], [ux/uz], [uy/uz] to beam in-situ diagnostics by @AlexanderSinn in #1058
- Initial propagation angle of laser enabled by @huixingjian in #1057
- Add laser insitu diagnostics by @AlexanderSinn in #1060
- Use id().is_valid() by @AlexanderSinn in #1066
- Use amre::removeInvalidParticles for the Beam by @AlexanderSinn in #1067
- Fix hpmg for some non-ideal resolutions by @AlexanderSinn in #1062
- Try fix MacOS CI by unlinking Python by @AlexanderSinn in #1073
- Prepare Beam Communication for Runtime Components by @AlexanderSinn in #1068
- Add support for Spin to openPMD Beam output by @AlexanderSinn in #1069
- Use amre::GpuComplex in diagnostics by @AlexanderSinn in #1070
- [mini] Option to specify laser CEP by @MaxThevenet in #1074
- [mini] Fix typos in executable names in doc by @MaxThevenet in #1075
- Prepare for release 24.03 by @MaxThevenet in #1077
New Contributors
- @huixingjian made their first contribution in #1057
Full Changelog: v23.11...v24.03
v23.11
AMReX: release 23.11
openPMD-api: release 0.15.2
WARNING: this release builds on AMReX 23.11, but this was not heavily tested. In case of unexpected problems, this could be a good place to check.
What's Changed
- [mini] build on latest openpmd-api 0.15.2 by @MaxThevenet in #1023
- Add xy_integrated diagnostic type by @AlexanderSinn in #1020
- Initialize fixed weight beam from PDF by @AlexanderSinn in #1024
- Add interpolate_neutralizing_background option by @AlexanderSinn in #1021
- Add option to limit number of buffered beam slices by @AlexanderSinn in #1026
- Beam external field from parser by @AlexanderSinn in #1028
- Fix External AMReX Builds by @ax3l in #1031
- Update amrex version when checking for pre-installed version by @MaxThevenet in #1033
- Update version numbers before release by @MaxThevenet in #1034
Full Changelog: v23.10...v23.11
v23.10
Dependencies
AMReX: release 23.10
openPMD-api: release 0.15.1
What's Changed
- build on amrex dev again by @MaxThevenet in #996
- Add output_input option by @AlexanderSinn in #997
- Per-slice communication by @AlexanderSinn in #991
- Include SALAME beam profile in first output iteration by @AlexanderSinn in #1001
- fix B field conversion in radiation reactions in normalized units by @SeverinDiederichs in #998
- Communicate lambda0 with laser from file by @AlexanderSinn in #1004
- Add ghost cells to laser arrays for 2^n-1 MG solve by @AlexanderSinn in #1005
- set MG_tolerance_abs to numeric_limits min by @AlexanderSinn in #1007
- Add deposit_rho_individual option by @AlexanderSinn in #1003
- Per-slice fixed_ppc beam initialization by @AlexanderSinn in #1000
- [mini] Add radius to fixed weight beams by @SeverinDiederichs in #1006
- add plasma subcycling by @SeverinDiederichs in #1009
- Per-slice fixed_weight beam initialization by @AlexanderSinn in #1008
- Fix deposit_rho_individual with neutralizing background and SALAME by @AlexanderSinn in #1010
- CMake: Verify HiPACE_..._src paths exit by @ax3l in #1012
- push beam particles on correct slice when subcycling by @AlexanderSinn in #1013
- add weight for plasma insitu diags and radius by @SeverinDiederichs in #1011
- [mini] update LUMI docs by @SeverinDiederichs in #1017
- Plasma initialization for MR by @AlexanderSinn in #1018
- Workaround std::gcd and std::lcm constexpr issue by @AlexanderSinn in #1019
- Add simple string input parameter parsing by @AlexanderSinn in #990
- Faster multigrid solve using shared memory by @AlexanderSinn in #1015
- Prepare for Release 23.10: proper release number and amrex version by @MaxThevenet in #1022
Full Changelog: v23.07...v23.10
v23.07
Dependencies
AMReX: release 23.07
openPMD-api: release 0.15.1
What's Changed
- Replace rho field with rho - jz/c by @AlexanderSinn in #940
- CI: apt retry and new Easyinstall link by @AlexanderSinn in #930
- make CI triggers consistent by @AlexanderSinn in #938
- Fix rocfft 5.5 by @SeverinDiederichs in #942
- Option to symmetrize plasma by @SeverinDiederichs in #943
- [mini] Document manip to build HiPACE++ release on corresponding AMReX release by @MaxThevenet in #944
- Enable 3 MR levels by @AlexanderSinn in #945
- replace
staticwithinline staticfor member variables by @AlexanderSinn in #946 - Use less than or equal for min_density by @AlexanderSinn in #947
- Don't use tiling in the plasma pusher by @AlexanderSinn in #949
- [mini] Read angularFrequency from mesh instead of from iteration by @MaxThevenet in #955
- [mini] Fix plasma do_symmetrize by @MaxThevenet in #957
- [mini] Fix b0 calculation in collisions by @SeverinDiederichs in #958
- Implement OMP threading in missing functions by @AlexanderSinn in #951
- [mini] Fix formatting for HIPACE_PROFILE output by @MaxThevenet in #956
- Gather Ez in loop over slices to gather from proper array by @MaxThevenet in #948
- [mini] update documentation for Maxwell by @SeverinDiederichs in #960
- [mini] Fix adaptive time step by @MaxThevenet in #959
- Laser file reader can read from arbitrary box and domain by @MaxThevenet in #950
- [mini] Remove unused variables by @MaxThevenet in #961
- Reset plasma id at every call of Init by @MaxThevenet in #963
- Update Beam and Plasma to Pure SoA by @AlexanderSinn in #928
- Laser reader in cylindrical coordinates by @MaxThevenet in #953
- Fix collisions in normalized units by @SeverinDiederichs in #954
- Enable ionization in normalized units by @SeverinDiederichs in #962
- Add [z], [z^2], [uz], [uz^2] and [z*uz] to beam insitu diagnostics by @AlexanderSinn in #964
- Fix bug in intra-species Coulomb collisions by @SeverinDiederichs in #967
- [mini] assert for normalized units when total charge is specified by @SeverinDiederichs in #969
- fix compiler warning: use static_cast for extent by @SeverinDiederichs in #970
- Plasma in-situ diags by @SeverinDiederichs in #968
- add Bz component to beam pusher by @SeverinDiederichs in #973
- Minor improvements for collision module. by @SeverinDiederichs in #972
- Generalize external E and B fields to uniform and linear in all directions by @MaxThevenet in #965
- add classical radiation reactions for beams by @SeverinDiederichs in #974
- fix some issues with the collision module by @SeverinDiederichs in #976
- MR with SALAME and PC by @AlexanderSinn in #971
- don't use managed memory by @AlexanderSinn in #975
- Add IntVect and RealVect overloads to queryWithParser by @AlexanderSinn in #977
- always use PhysConstSI in parser by @SeverinDiederichs in #978
- Cleaning collisions and preparing UpdateMomentumPerez for beams by @SeverinDiederichs in #980
- [mini] remove passing of ibox by @SeverinDiederichs in #982
- Add option to allocate mpi buffers in device memory by @AlexanderSinn in #979
- Remove z component from plasma by @AlexanderSinn in #984
- [mini] clean GetInstance() and use static inline by @SeverinDiederichs in #981
- remove OK assert by @AlexanderSinn in #985
- break loop over time steps for max_time by @SeverinDiederichs in #986
- Fix output logic for insitu diags by @SeverinDiederichs in #987
- Cut box to plasma radius in init by @AlexanderSinn in #988
- Refactoring documentation by @SeverinDiederichs in #989
- Add beam-plasma collisions by @SeverinDiederichs in #983
- [mini] document GPU-aware MPI for various clusters by @SeverinDiederichs in #992
- [mini] reset ID incrementor before starting initializing a beam by @MaxThevenet in #994
- Prepare release 23.07 by @MaxThevenet in #995
Full Changelog: v23.05...v23.07
v23.05
Dependencies
AMReX: release 23.05
openPMD-api: release 0.15.1
What's Changed
- CI: macOS Only One by @ax3l in #881
- On dev branch, we build on top of amrex dev branch by @MaxThevenet in #882
- Allow for arbitrary sized diagnostics grid by @AlexanderSinn in #871
- Reduce memory footprint of plasma initialization by @AlexanderSinn in #885
- Improvements on the adaptive time step calculation by @MaxThevenet in #884
- [mini] Print pusher for which HiPACE++ was compiled by @MaxThevenet in #888
- [mini] When a checksum test fails, also print the whole new json file by @MaxThevenet in #886
- [mini] Remove unused variable in adaptive time step by @MaxThevenet in #889
- [mini] rename to avoid compiler warning by @SeverinDiederichs in #890
- [mini] fix print statement for small DSTs using rocFFT by @SeverinDiederichs in #892
- CI on GPU by @MaxThevenet in #887
- Better defaults for production (in particular adaptive time step) by @MaxThevenet in #893
- [mini] fix concurrency in local GPU CI test by @MaxThevenet in #896
- [mini] Set default subcycling to 10 by @MaxThevenet in #895
- Upgrade to openPMD API v.15.0 by @MaxThevenet in #901
- Adaptbeams by @MaxThevenet in #899
- use serial openPMD by @SeverinDiederichs in #876
- [mini] Better print statement when checksum fails by @MaxThevenet in #905
- openPMD-api: 0.15.1 by @ax3l in #908
- Multiple diagnostic grids by @AlexanderSinn in #898
- Reorder plasma for deposition by @AlexanderSinn in #900
- Make leapfrog and explicit default by @MaxThevenet in #906
- Update doc to point to chat by @MaxThevenet in #910
- Use parser for beam density by @MaxThevenet in #912
- Remove zeta refinement by @AlexanderSinn in #911
- [mini] remove some unused parameters by @SeverinDiederichs in #913
- add LUMI documentation by @SeverinDiederichs in #914
- [mini] Add info on n_cell in doc by @MaxThevenet in #916
- Remove AmrCore by @AlexanderSinn in #915
- Support new AMReX particle interfaces by @AlexanderSinn in #921
- remove /usr/local from brew cache by @AlexanderSinn in #922
- Interpolate current to level 1 by @AlexanderSinn in #920
- Update LUMI doc by @SeverinDiederichs in #925
- Add time to CI ccache restore key by @AlexanderSinn in #926
- Remove NumPy from brew cache by @AlexanderSinn in #929
- Dynamic particle level by @AlexanderSinn in #924
- Fully initialize plasma every timestep by @AlexanderSinn in #927
- Add mailmap by @MaxThevenet in #931
- Update versions of Python packages to build RTD doc by @MaxThevenet in #934
- add config file for readthedocs by @SeverinDiederichs in #935
- macOS CI add HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK by @AlexanderSinn in #937
- fix a bunch of issues in the documentation by @SeverinDiederichs in #932
- Interpolate jx_beam and jy_beam to level 1 by @AlexanderSinn in #936
- update Perlmutter documentation by @SeverinDiederichs in #939
- update version tags by @SeverinDiederichs in #941
Full Changelog: v23.03...v23.05
v23.03
Dependencies
AMReX: release 23.03
openPMD-api: release 0.14.5
What's Changed
- plasmas.names is now an optional parameter, default no_plasma, and same for beam and laser by @MaxThevenet in #864
- fix typo found by Sarah by @SeverinDiederichs in #865
- Use only one MultiFab for all field slices by @AlexanderSinn in #868
- Assert that insitu and full diagnostics file prefixes are different by @AlexanderSinn in #869
- Increase tolerance on production runs by @MaxThevenet in #875
- Read in Laser form OpenPMD file by @AlexanderSinn in #866
- Output normalized momentum instead of proper velocity in insitu diagnostics by @AlexanderSinn in #870
- CI: macOS by @ax3l in #874
- CI: Windows by @ax3l in #873
- Use only one MultiFab for all laser slices by @AlexanderSinn in #867
- Update release number and fix dependency by @MaxThevenet in #880
Full Changelog: v23.02...v23.03