(GEAR) RT ToDo's
Opened this issue to keep track of stuff that needs to be done for RT.
RT in general
-
cosmology -
flexible sub-cycling ( !1660 (merged)) -
Add time step limiter for stars too. Implemented in !2063 -
At the end of sub-cycles, check whether hydro particles need to be "woken up" because their time step sizes decreased due to their internal energy being increased through photoheating. If necessary, abort further sub-cycles and perform a regular step. -
Write sub-cycle data to a log file akin to timesteps.txt (!1841 (merged)) -
Write option to update averaged cross-sections based on currently existing stellar spectra
GEAR-RT
-
redshifting photons -
recombination radiation -
Doppler shifts? -
Couple to SPH? -
Deal with sharp discontinuities in particle configurations. See examples/RadiativeTransferTests/AdvectionDifferentTimeStepSizes_1D. (This is a problem for MFV hydrodynamics in Eulerian form as well.) Idea to try: During gradient loop, matrix B/E are already present. Use it to compute Aij. Then use Aij to solve linear advection of some field with value unity and with constant velocity over all space. That will reveal flux imbalances. -
Theory (see branch GEARRT_theory) (!1744 (merged)) -
Cosmology theory -
Write RT Riemann solver flavour to screen on startup and to snapshots' metadata. ( !1670 (merged)) -
Add "option" for "unphysical rescue" of radiation/radiation fluxes when bad cases are detected -
Check whether we can check for correct grackle version on/before compile time. Result: We can't. -
Check whether storing pressure tensors is more efficient than re-computing them every iact -
In hydro_iact: Use already existing min_dt for rt_update_mass_fluxes (also maybe rename rt_update_mass_fluxes)
GEAR-RT + SPH
-
Add radiation transport to SPHENIX (!2005 (merged)) -
Add thermochemistry to SPHENIX -
Add radiation transport and thermochemistry to other SPH flavours? -
MVF limits the smoothing length correction in hydro_predict_extra:574-578(code block below), while SPH/SPHENIX does not. We need to check whether that's necessary to port as well, or if we can run without problems.
/* Limit the smoothing length correction (and make sure it is always
positive). */
if (h_corr < 2.0f && h_corr > 0.0f) {
p->h *= h_corr;
}
Edited by Mladen Ivkovic