Notable changes in this release include a code reorganization into subdirectories, hydro robustness updates in the presence of source terms, piecewise power-law opacity models for multigroup radiation, additional ISM physics in the radiation solver, support for unit systems (with metadata included in output files), and enforcement of a minimum version of the AMD ROCm toolkit (to avoid compiler bugs).
Known issues
- Self-gravitating particles may traverse more than one cell per timestep, which can cause crashes (see #833). This will be fixed in a future release of Quokka.
Major changes
- If microphysics burn fails, retry hydro by @psharda in #615
- Retry hydro update if cooling solve fails by @BenWibking in #616
- Mean opacity for variable kappa based on piecewise-power-law approximation by @chongchonghe in #626
- PPL opacity models by @chongchonghe in #678
- Random blast ISM problem by @BenWibking in #179
- Reorganize source code into subdirectories by @BenWibking in #689
- Rename RadhydroSimulation class to QuokkaSimulation by @chongchonghe in #702
- Dust temperature coupled to gas and radiation by @chongchonghe in #715
- Update microphysics to include metal chemistry by @psharda in #725
- Improve convergence rate of the radiation Newton-Raphson solver by @chongchonghe in #720
- Separate single- and multi-group radiation modules by @chongchonghe in #731
- A robust numerical scheme for the dust-gas coupling model by @chongchonghe in #733
- Photoelectric heating by @chongchonghe in #766
- Line cooling and cosmic ray heating by @chongchonghe in #773
- Add support for unit systems: CGS, CONSTANTS, CUSTOM by @chongchonghe in #782
- Enforce minimum ROCm version >= 6.3 by @BenWibking in #843
All changes (except submodule updates and CI changes)
- Update some default values for the PopIII test by @psharda in #613
- Use mass scalars while computing EOS quantities in NSCBC by @psharda in #610
- Print timestep info in scientific notation by @psharda in #614
- If microphysics burn fails, retry hydro by @psharda in #615
- retry hydro update if cooling solve fails by @BenWibking in #616
- Changed parameters in pulse_grey test to reduce runtime by @chongchonghe in #625
- change initial condition of RadForce by @chongchonghe in #627
- Mean opacity for variable kappa based on piecewise-power-law approximation by @chongchonghe in #626
- Fix GPU problems in pulse_MG.cpp by @chongchonghe in #629
- Add "copy" button to the sphinx documentation page. by @chongchonghe in #609
- Fix radiation transport error in Y and Z directions. by @chongchonghe in #633
- Add citation to quokka paper by @psharda in #577
- quokka::EOS code linting by @BenWibking in #578
- remove old debugging code from ODE integrator by @BenWibking in #645
- Update perturbation.py for NumPy 2.0 compatibility by @BenWibking in #656
- update docs re Intel GPUs by @BenWibking in #654
- Delete perfdata directory by @BenWibking in #655
- Use specific Intel compiler version in CI by @BenWibking in #658
- update shock-cloud problem by @BenWibking in #350
- remove unnecessary EnforceLimits on old state by @BenWibking in #668
- no ghost cells in reference solution multifab by @BenWibking in #671
- Update microphysics: primordial chemistry actual_rhs updated to speedup chemistry by @psharda in #673
- random blast ISM problem by @BenWibking in #179
- simplify EnforceLimits by @BenWibking in #667
- update Setonix config by @BenWibking in #676
- update Setonix job scripts by @BenWibking in #677
- PPL opacity models by @chongchonghe in #678
- remove unused function ComputeSourceTermsExplicit by @chongchonghe in #682
- Add VSCode/Codespaces Dev Container settings by @BenWibking in #687
- fix Sphinx warnings by @BenWibking in #688
- reorganize source code into subdirectories by @BenWibking in #689
- Clean up code for single-group radiation by @chongchonghe in #684
- Update citations by @chongchonghe in #690
- add equations to docs by @BenWibking in #691
- update docs for runtime parameters by @BenWibking in #697
- Rename RadhydroSimulation class to QuokkaSimulation by @chongchonghe in #702
- CUDA 12.6 hotfix by @BenWibking in #708
- Use MkDocs to generate documentation by @chongchonghe in #705
- Metal Advection Problem by @aditivijayan in #704
- Revert "Metal Advection Problem" by @BenWibking in #710
- fix Setonix compiler version by @BenWibking in #709
- Upload results even if regression tests fail by @BenWibking in #711
- Cleanup: remove repeating calculation of kappa by @chongchonghe in #714
- Dust temperature coupled to gas and radiation by @chongchonghe in #715
- Make assertion work in the exchange step and dust temperature solution step by @chongchonghe in #716
- Redefine PRIMORDIAL_CHEM preprocessor as CHEMISTRY by @psharda in #724
- Update microphysics to include metal chemistry by @psharda in #725
- improve convergence rate of the radiation Newton-Raphson solver by @chongchonghe in #720
- Separate single- and multi-group radiation modules by @chongchonghe in #731
- Restructure AddSourceTermsMultiGroup by @chongchonghe in #734
- A robust numerical scheme for the dust-gas coupling model by @chongchonghe in #733
- Update Dockerfile by @BenWibking in #741
- Create CODEOWNERS by @BenWibking in #749
- Restructure: put radiation flux update into a function by @chongchonghe in #750
- Update README.md to list Python as required by @BenWibking in #753
- Add OpenSSF Security Scorecard action by @BenWibking in #736
- Add a CUDA devcontainer by @chongchonghe in #751
- fix bug in make_tarball.py by @BenWibking in #755
- Restructure: define ComputeModelBasedKappaEAndKappaP by @chongchonghe in #767
- photoelectric heating by @chongchonghe in #766
- Move enable_dust_gas_thermal_coupling_model to ISM_Traits by @chongchonghe in #771
- fix 'pure virtual method called' error by @chongchonghe in #774
- Line cooling and cosmic ray heating by @chongchonghe in #773
- Speed up unit tests by running ctest in parallel by @chongchonghe in #784
- Add script to make a movie from simulation images by @BenWibking in #779
- Add support for unit systems: CGS, CONSTANTS, CUSTOM by @chongchonghe in #782
- Write 2D plotfiles for projections by @BenWibking in #791
- remove scripts to run on Summit by @BenWibking in #793
- Disable building unused linear solvers from AMReX by @BenWibking in #794
- update yt: replace AMReXDataset with yt.load by @chongchonghe in #797
- fix flags for NVHPC compiler by @BenWibking in #799
- add 'cellUpdates_ > 0' check by @chongchonghe in #808
- fix openPMD plotfile output by @BenWibking in #804
- Add radiation-driven shell to regression tests by @BenWibking in #810
- Use RSLA in all dust tests by @chongchonghe in #811
- add scripts to run on Frontier by @BenWibking in #813
- Update ROCm version in dependencies_hip.sh by @BenWibking in #816
- Fixes for Setonix by @BenWibking in #817
- rename {x,y,z}-velocity to {x,y,z}-RiemannSolverVelocity in plotfiles by @BenWibking in #818
- add print_cycle_timing runtime option by @BenWibking in #819
- Reduce walltime for RandomBlast regression test by @BenWibking in #822
- Enforce minimum ROCm version >= 6.3 by @BenWibking in #843
- Update docs for AMD GPUs by @BenWibking in #845
- Temporary workaround for gcc 14 libstdc++ incompatibility with HIP by @BenWibking in #857
Full Changelog: 24.04...25.01