In this post, I’ll describe how I’ve set up two-phase ISM initial conditions for a future superbubble test. At present, the method mostly follows the description given in Kim & Ostriker (2015).
Thermal instability is generated in a perturbed medium when the denser regions cool faster than less dense regions. The resulting pressure difference further compresses the denser patches, which further increases the cooling rate, because cooling is proportional to the density squared. If photoelectric heating of the gas is also applied, there will be two equilibrium solutions, one in a high density cold state, and one in a low density hot state.
To create thermal instability with Cholla, I first defined a new cooling function, , and a heating rate, . The net cooling rate per unit volume, is then given by
where is the number density calculated assuming , as appropriate for solar metallicty neutral gas. For cooling and heating at temperatures below K, I use the analytic function given in Koyama & Inutsuka (2002), which includes the effects of photoelectric heating, heating an ionization by cosmic rays and X-rays, heating by formation and destruction, atomic line cooling, rovibrational line cooling, and atomic and molecular collisions with grains,
(Note that in their paper, the coefficient on the second term is 14, but this seems to be a typo.) At temperatures above K, I use a piecewise parabolic fit to a CIE cooling function calculated with Cloudy for solar metallicty gas, and neglect heating. That function is defined in the appendix of Schneider & Robertson (2018). The combined cooling functions are plotted below:
Below 10 K, I only include heating (this improves stability of the code while the thermal instability is developing). As in previous simulations, I limit the hydro timestep such that any given cell can lose a maximum of 10% of its thermal energy in a given timestep. I also use subcyling of the cooling timestep to ensure a robust solution to the explicit integration scheme. The cooling substep is limited such that the temperature changes by 1% (or less) in a single substep.
In order to generate thermal instabilty the initial conditions must contain density perturbations. Because I am not including thermal conduction in these calculations, there will be no converged solution for a given set of perturbations. To avoid creating arbitrarily small clouds, I only perturb on modes with wavelengths of or longer, where is the length of the box. The perturbations are given by
where is the wave number, is the amplitude of the perturbations, and is a random phase. As stated above, I use for the simulations in this post. I set such that the average number density , and the initial pressure . The amplitude of the initial perturbations is 10%. Below are movies showing the development of the instability in the density and temperature projections. The box size is pc, and the resolution is .
The instability is saturated by , with the mean density in the low density regions of while in the high density clouds . The corresponding temperatures in the low and high density regions are K and K, respectively. Density and temperature slices through the central and planes are shown below.