GEARRT + SPHENIX: Radiation Transport
This MR enables radiation transport using GEAR-RT and SPHENIX sph (along with some very minor cleanup.)
I checked that the 1D and 2D advection of radiation run, also via MPI.
Some notes:
- For schemes that need symmetric pair interactions like MFV and moving mesh, we use a different communication strategy, where we send cells over if only one of the pair is active so that the inactive counterpart can be updated regardless. That used to be hidden behind a SYMMETRIC_MPI_INTERACTION macro. Luckily, since the RT has a full task system on its own, we can just modify the macros there. They are now behind a SYMMETRIC_MPI_INTERACTION_RT macro, regardless of the underlying hydro scheme.
- I've introduced a function
hydro_set_physical_internal_energy_TESTING_SPH_RT
in this MR. This will be cleaned up and resolved with the follow-up MR, where I add the thermochemistry interaction that Zhen implemented. - there is a new file
src/hydro_sph_additions_for_GEARRT.h
which contains all the functions necessary for computing the necessary geometry/matrix quantities for the MFV method. Technically, this is a copy-pase of functions in GIZMO, save for some added preprocessing directives. There may be a way to remove this duplicated code and import the functions directly from the gizmo source code, but I'm not sure it's worth the effort. Matthieu, you be the judge. - I anticipate you may be less than happy with the file names. Please just let me know what to change them into.