High temperature crash in idealized setup with AGN jets and variable masses
I am working on a setup with idealized massive (10^14 - 10^15 Msol) galaxy clusters, with the aim of comparing the cold gas that forms from a cooling flow in the very centre with observations (content, morphology, kinematics, also X-rays and radio related to feedback). The hybrid AGN jet/thermal model is used in these runs.
The focus of these simulations is the very centre (probably no more than 50 kpc), and we don't really care what the jets do on scales> 100kpc, e.g. how they deposit their energy, since that doesn't affect the cooling flow in the centre. For this reason I am using variable resolution beyond a small radius, 50-100 kpc, and the gas masses smoothly start dropping with radius. This provides a huge boost in terms of the central resolution (two orders of magnitude or so).
This is generally fine, but becomes a problem when we have low-mass jet particles reaching distances of e.g. 500 kpc, where the ambient particles may be 10^3 times more massive. I am aware that lots of SPH calculations may be unreliable in this regime, but as I said, for this purpose it probably doesn't matter. The actual issue is that very rarely (but at some point during the run) something goes wrong and a crash occurs with the error message at the end. Note that this is from runs in COLIBRE with CHIMES cooling, but I think this is a more general problem and I used to rarely get similar problems with the EAGLE model when I used use variable resolution starting at 500 kpc.
I am aware that the code wasn't meant to handle situations like this, and that this probably isn't a 'bug' per se, but it would be really nice if we could try resolving this (I don't have a good idea where to start - I have tried doing this with debug and debugging checks with no good results). It is possible that this might also help with eventual zoom-in simulations (if the jets reach the low-resolution region).
**************
ChimesGasVars:
**************
element_abundances[0] = 8.185575e-02
element_abundances[1] = 0.000000e+00
element_abundances[2] = 0.000000e+00
element_abundances[3] = 0.000000e+00
element_abundances[4] = 0.000000e+00
element_abundances[5] = 0.000000e+00
element_abundances[6] = 0.000000e+00
element_abundances[7] = 0.000000e+00
element_abundances[8] = 0.000000e+00
element_abundances[9] = 0.000000e+00
nH_tot = 9.166757e-04
temperature = 1.040293e+12
TempFloor = 1.000000e+01
divVel = 0.000000e+00
doppler_broad = 8.485281e+00
isotropic_photon_density[0] = 4.300861e-07
G0_parameter[0] = 8.264607e-07
H2_dissocJ[0] = 3.666669e-11
isotropic_photon_density[1] = 2.927030e-11
G0_parameter[1] = 1.075972e-07
H2_dissocJ[1] = 2.047000e-11
cr_rate = 1.530088e-21
metallicity = 4.396624e-01
dust_ratio = 4.653028e-23
cell_size = 1.683080e+18
hydro_timestep = 4.414097e+10
ForceEqOn = 0
ThermEvolOn = 1
InitIonState = 0
constant_heating_rate = 0.000000e+00
abundances[0] = 1.159628e+00
abundances[1] = 2.455163e-03
abundances[2] = 9.975442e-01
abundances[3] = 2.591237e-09
abundances[4] = 4.266575e-06
abundances[5] = 1.618964e-03
abundances[6] = 8.023231e-02
abundances[7] = 0.000000e+00
abundances[8] = 0.000000e+00
abundances[9] = 0.000000e+00
++++++++++++++
[03495.8] cooling/CHIMES_split/cooling.c:cooling_cool_part():1442: CHIMES ERROR: the temperature that is being passed to CHIMES is 1.040293e+12. This is too high!