RT GEAR thermochemistry first attempt
This MR introduces the first working version for GEAR-RT including thermochemistry. This includes:
- doing cooling, heating, and ionizing with grackle during the thermochemistry tasks, and modifying the radiation fields appropriately
- added option to choose stellar spectra, which are used to estimate average interaction cross sections over a photon frequency interval. Currently have constant and blackbody spectrum ready.
- added flux exchange of ionizing species during hydro
- added call to
rt_kick_extra
, where extra RT related operations during a kick are performed, analoguely tohydro_kick_extra
- added option to set upper threshold for star time steps
ToDo before WIP is removed:
-
wait for !1460 (merged) to be merged and rebase -
clean up and format code (@everybody else, pls don't look at the current state, it's embarrassing) -
check whether documentation is up to date -
add new function prototypes to all other schemes -
check that you don't break anything else -
discuss addition of rt_additions.h
-
update all param files of all examples to include new compulsory parameters so that things at least don't crash at startup
Future ToDos: (not part of this MR)
- update examples (in particular Strömgren Spheres)
- add example to test heating/ionization of gas and energy conservation in a case without radiation sources
- add futher Iliev+09 tests
- add option for user to provide cross sections in parameter file, and script/program to compute them outside swift
- cleaner, leaner way of dealing with ionizing species
- move from explicit cgs in thermochemistry to internal units, test for
enforce 10% rule recursively during thermochemistry (currently no such rule)- add theory
- take care of particle drifts
Edited by Mladen Ivkovic