After rewriting the solver to closely follow the methodology from Grackle the results are very good.

Single zone test

First I compare a “single zone” test where the simulation is a small box with uniform density, zero velocities and uniform temperature. I compare the same simulation but in one case I use Grackle for the Chemistry/Cooling and for the other case I use the solver that I have implemented into Cholla.

The evolution of the temperature and the abundances of the chemical species are shown below:

There are some small differences around 2% in the temperature. The ionization states of H and He seem extremely close showing differences smaller than 0.0001% !!!

Density-Temperature distribution

Now I run a full cosmological simulation ( L=50h1Mpc, N=2563 ). Below I compare the evolution of the density temperature distribution

Lya Transmitted Flux along skewers

From a higher resolution simulation ( L=50h1Mpc, N=10243 ), I measure the Lya transmitted flux along some skewers crossing the box, the comparison for several redshift values is below

z=5.0

z=4.0

z=3.0

z=2.0

Lya Flux Power Spectrum

From the ( L=50h1Mpc, N=10243 ) simulation, I measure the evolution of the Lya Flux Power Spectrum, the comparison is below:

Only small differences on the highest k bin.

Slices from the Simulations

z=5.4

z=4.0

z=3.0

z=2.0