grackle-3.2.0
Grackle 3.2 is released!
Grackle is a chemistry and radiative cooling solver for astrophysical simulations and models.
The Grackle 3.2 release consists of 75 pull requests from 13 contributors, 8 of them new to the project. It contains 7 new features, 14 minor enhancements, 15 bugfixes, and significantly enhanced documentation. 8 functions have also been deprecated and will be removed in the future. See below for further details.
This also marks the official release of Pygrackle 1.0. Pygrackle is the Python interface to Grackle. Pygrackle has been a part of Grackle since the beginning, but from this point on it will be properly versioned.
New Features
- Enhanced dust treatment #43, #94
- Use Grackle in yt fields #62
- New high density cooling table #71
- Callable functions for all reaction rates #87
- New get_velocity_units and get_temperature_units functions #97, #96
- Updated H2 self-shielding (reissue of PR #72) #98
- New dynamic API #130, #141
Minor Enhancements
- Use gamma in mean molecular weight. #65
- Add ability to query the Grackle Version #109
- Embed compiled precision into grackle header. #118
- Convert iteration limit to a runtime parameter #124
- Pygrackle mu improvements #54
- Change redshift interpolation to log(1+z) #126
- Significant Pygrackle refactor #88, #140
- Add updated H2-H rate based on Lique (2015) #61
- Add test of synchronization between
chemistry_data
and dynamic API. #136 - Modified the
chemistry_data
struct so that theomp_nthreads
is always a field #148 - Add machine file for tigercpu at Princeton #74
- MacOS Big Sur makefile #84
- Updating makefiles for NASA's HECC machines #86
- Updates for Stampede Builds #58
Bugfixes
- Mmw bugfix #79
- fix energy and pressure units in pygrackle #49
- Update cool1d_multi_g.F #59
- Fixing lifetime issue for grackle_data_path in the Cython Grackle wrapper #80
- Fix velocity_units in freefall.py #92
- fix internal velocity units #97
- Fix line length issues #102
- Avoid use of uninitialized variables when setting the timestep in dense gas #103
- Modify property calculations to respect
grid_start
andgrid_stop
#106 - provide sensible version info without git #114
- Change get_grackle_version to explicitly accept zero arguments. #115
- Changing _inner_range to
static inline
to avoid undefined reference #117 - Remove duplicate precision definition during compile #137
- Changed the type of
chemistry_data
'sgrackle_data_file
field fromchar*
toconst char*
#147 - fix oversight where some dynamic API functions initially had
size_t
in their signature & necessitated inclusion of<stddef.h>
#144, #149 - Bugfix: making inline legacy internal grackle functions work in C codes #157
Documentation Updates
- Update comment #52
- Add instructions for how to initialize data submodule. #82
- Updated Documentation #90
- Expand units documentation and remove ceiling on metal density #121
- Document optimization issues in Fortran example with gfortran 9.2.1 & 9.4.0 #125
- Add warnings about compiling in single precision. #120
- Add documentation for CaseBRecombination parameter. #122
- Add clarification to docs on electron density. #131
- documentation fixes for later sphinx versions #132
- Expand discussion in documentation of cooling units. #154
- Add warning about self-shielding cooling tables. #155
Infrastructure Updates
- Switch from csh to bash in configure. #47
- add data files as submodule #75
- Update pygrackle version to 1.0.0 and add metadata. #151
Deprecations
The following functions have been deprecated and will be removed in the next feature release.
- Functions taking all field arrays as arguments (starting in "_") #44
_solve_chemistry
_calculate_cooling_time
_calculate_gamma
_calculate_pressure
_calculate_temperature
- Remaining functions starting with "_" #139
_set_default_chemistry_parameters
(renamedlocal_initialize_chemistry_parameters
)_initialize_chemistry_data
(renamedlocal_initialize_chemistry_data
)_free_chemistry_data
(renanedlocal_free_chemistry_data
)free_chemistry_data
added to free structures in grackle.h
Contributors
- @AviFriedlander (new!)
- @BenWibking (new!)
- @brittonsmith
- @clairekope (new!)
- @EwanBJones98 (new!)
- @h3jia (new!)
- @jwise77
- @leonardromano (new!)
- @loikki
- @mabruzzo (new!)
- @peeples
- @scog1234
- @weiguangcui (new!)
Full Changelog: https://github.com/grackle-project/grackle/commits/grackle-3.2.0