Multiple Sources Cosmological Simulation

In this example, we show a standard cosmological simulation for reionization that includes five different sources and a homogenous density field that is diluted by the cosmic expansion at each redshift step.

This script can be used as a starting point to define your simulation.

[2]:
import pyc2ray as pc2r
import numpy as np, matplotlib.pyplot as plt

import astropy.units as u
from matplotlib.colors import LogNorm

Define some global parameters and instance the test simulation class.

[3]:
# Global parameters
num_steps_between_slices = 2
numzred = 10
show_plot = True

# Create C2Ray object
sim = pc2r.C2Ray_Test(paramfile='parameters_mult.yml')
                 _________   ____
    ____  __  __/ ____/__ \ / __ \____ ___  __
   / __ \/ / / / /    __/ // /_/ / __ `/ / / /
  / /_/ / /_/ / /___ / __// _, _/ /_/ / /_/ /
 / .___/\__, /\____//____/_/ |_|\__,_/\__, /
/_/    /____/                        /____/

Welcome! Mesh size is N = 128.
Simulation Box size (comoving Mpc): 1.400e-02
Cosmology is off.
Using power-law opacity with 10,000 table points between tau=10^(-20) and tau=10^(4)
Using Black-Body sources with effective temperature T = 5.0e+04 K and Radius  1.437e-11 rsun
Spectrum Frequency Range: 3.288e+15 to 1.316e+17 Hz
This is Energy:           1.360e+01 to 5.442e+02 eV
Integrating photoionization rates tables...
INFO: No heating rates

---- Calculated Clumping Factor (constant model):
 min, mean and max clumping : 1.000e+00  1.000e+00  1.000e+00

---- Calculated Mean-Free Path (constant model):
Maximum comoving distance for photons from source mfp = 15.00 cMpc (constant model).
 This corresponds to 137142.857 grid cells.

Using CPU Raytracing (subboxsize = 64, max_subbox = 1000)
Running in non-MPI (single-GPU/CPU) mode
Starting simulation...


Running: "C2Ray Test"

Read the source file and define some redshift step.

[4]:
# Generate redshift list (test case)
zred_array = sim.generate_redshift_array(numzred, 1e7)
print(zred_array)

# Read sources
numsrc = 5
srcpos, srcflux = sim.read_sources("src_mult.txt", numsrc)
[9.00000003 8.83505707 8.6767426  8.52464015 8.37836826 8.23757704
 8.10194471 7.97117508 7.84499469 7.72315089]
[5]:
xc = np.linspace(0, sim.boxsize*1000, sim.N)

# Start the timer ot measure the wall clock time
timer = pc2r.Timer()
timer.start()

# Loop over redshifts
for k in range(len(zred_array)-1):
    # Compute timestep of current redshift slice
    zi = zred_array[k]
    zf = zred_array[k+1]
    dt = sim.set_timestep(zi,zf,num_steps_between_slices)

    # Write output
    sim.write_output(zi)

    # Set density field (could be an actual cosmological field here)
    sim.set_constant_average_density(ndens=sim.avg_dens, z=zi)

    sim.printlog("\n==========\nDoing redshift %.3f to %.3f\n==========\n" %(zi, zf), sim.logfile)

    # Do num_steps_between_slices timesteps
    for t in range(num_steps_between_slices):
        # redshift at the corresponding time step
        z_mid = sim.time2zred((sim.cosmology.age(z=zi) + dt*u.s*t).cgs.value)

        sim.printlog("\n --- Timestep %d. Redshift: z = %.3f --- \n" %(t+1, z_mid), sim.logfile)

        # Evolve Cosmology: increment redshift and scale physical quantities (density, proper cell size, etc.). If cosmology is disabled in parameter, this step does nothing (checked internally by the class)
        if(sim.cosmological):
            sim.cosmo_evolve(dt)

        # Evolve the simulation: raytrace -> photoionization rates -> chemistry -> until convergence
        sim.evolve3D(dt, srcflux, srcpos)

        # Register elapsed Wall clock time
        tnow = timer.lap('t=%d' %t)

        # Show results at each timesteps
        if show_plot:
            fig, axs = plt.subplots(figsize=(12, 5), ncols=2, nrows=1, constrained_layout=True)

            axs[0].set_title('z = %.2f' %z_mid)
            im = axs[0].pcolormesh(xc, xc, sim.xh[:,:,sim.N//2], norm=LogNorm(), cmap='jet')
            plt.colorbar(im, ax=axs[0], label=r'$x_\mathrm{HII}$')

            im = axs[1].pcolormesh(xc, xc, sim.phi_ion[:,:,sim.N//2], norm=LogNorm(), cmap='inferno')
            plt.colorbar(im, ax=axs[1], label=r'$\Gamma_\mathrm{HI}$')

            for ax in axs:
                ax.set_xlabel('$x$ [kpc]'),
                ax.set_ylabel('$y$ [kpc]')
                ax.label_outer()

            plt.show(), plt.clf()

# Write final output
sim.write_output(zf)

# stop the timer and print the summary
timer.stop()
sim.printlog(timer.summary, sim.logfile)
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 1.200e-03
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 2.976e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 211895 of 2097152 ( 10.104 % ), Relative change in ionfrac:  3.67e+02
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 3.906e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 240372 of 2097152 ( 11.462 % ), Relative change in ionfrac:  5.64e-01
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.672e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 272476 of 2097152 ( 12.993 % ), Relative change in ionfrac:  3.97e-01
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 5.386e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 293598 of 2097152 ( 14.000 % ), Relative change in ionfrac:  2.86e-01
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 6.050e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 300890 of 2097152 ( 14.348 % ), Relative change in ionfrac:  2.03e-01
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 6.622e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 289770 of 2097152 ( 13.817 % ), Relative change in ionfrac:  1.36e-01
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 7.049e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 260154 of 2097152 ( 12.405 % ), Relative change in ionfrac:  8.09e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 7.311e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 214902 of 2097152 ( 10.247 % ), Relative change in ionfrac:  4.07e-02
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 7.439e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 159198 of 2097152 ( 7.591 % ), Relative change in ionfrac:  1.67e-02
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 7.489e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 100476 of 2097152 ( 4.791 % ), Relative change in ionfrac:  5.68e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 7.505e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 34480 of 2097152 ( 1.644 % ), Relative change in ionfrac:  1.64e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 7.509e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  4.19e-04
Multiple source convergence reached after 12 ray-tracing iterations.
../_images/examples_multi_sources_6_1.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 4.882e-02
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.80s.
Average number of subboxes: 1, Total photon loss: 9.385e+45
Doing Chemistry... took  0.1 s.
Number of non-converged points: 670760 of 2097152 ( 31.984 % ), Relative change in ionfrac:  2.68e+01
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 1.168e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 438078 of 2097152 ( 20.889 % ), Relative change in ionfrac:  1.38e-01
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 1.336e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 377010 of 2097152 ( 17.977 % ), Relative change in ionfrac:  7.43e-02
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 1.442e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 313808 of 2097152 ( 14.964 % ), Relative change in ionfrac:  3.56e-02
Rank=0 is doing Raytracing... took 0.80s.
Average number of subboxes: 1, Total photon loss: 1.495e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 237972 of 2097152 ( 11.347 % ), Relative change in ionfrac:  1.40e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.516e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 155178 of 2097152 ( 7.399 % ), Relative change in ionfrac:  4.51e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.522e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 50376 of 2097152 ( 2.402 % ), Relative change in ionfrac:  1.23e-03
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 1.524e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  2.99e-04
Multiple source convergence reached after 8 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_4.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 9.529e-02
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 2.172e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 785534 of 2097152 ( 37.457 % ), Relative change in ionfrac:  1.54e+01
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 3.173e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 500314 of 2097152 ( 23.857 % ), Relative change in ionfrac:  8.09e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.889e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 394210 of 2097152 ( 18.797 % ), Relative change in ionfrac:  3.44e-02
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 4.269e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 296384 of 2097152 ( 14.133 % ), Relative change in ionfrac:  1.26e-02
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 4.434e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 194404 of 2097152 ( 9.270 % ), Relative change in ionfrac:  3.97e-03
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 4.499e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 55936 of 2097152 ( 2.667 % ), Relative change in ionfrac:  1.16e-03
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 4.526e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 8460 of 2097152 ( 0.403 % ), Relative change in ionfrac:  3.50e-04
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 4.536e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 1504 of 2097152 ( 0.072 % ), Relative change in ionfrac:  1.18e-04
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 4.541e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  4.47e-05
Multiple source convergence reached after 9 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_7.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 1.402e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 9.368e+46
Doing Chemistry... took  0.1 s.
Number of non-converged points: 856152 of 2097152 ( 40.825 % ), Relative change in ionfrac:  1.09e+01
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 1.481e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 547336 of 2097152 ( 26.099 % ), Relative change in ionfrac:  5.50e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.715e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 415094 of 2097152 ( 19.793 % ), Relative change in ionfrac:  2.10e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.806e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 291258 of 2097152 ( 13.888 % ), Relative change in ionfrac:  7.16e-03
Rank=0 is doing Raytracing... took 0.80s.
Average number of subboxes: 1, Total photon loss: 1.839e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 167780 of 2097152 ( 8.000 % ), Relative change in ionfrac:  2.24e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.850e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 35818 of 2097152 ( 1.708 % ), Relative change in ionfrac:  6.90e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.854e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 9416 of 2097152 ( 0.449 % ), Relative change in ionfrac:  2.18e-04
Rank=0 is doing Raytracing... took 0.78s.
Average number of subboxes: 1, Total photon loss: 1.856e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  7.08e-05
Multiple source convergence reached after 8 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_10.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 1.834e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.120e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 893911 of 2097152 ( 42.625 % ), Relative change in ionfrac:  8.48e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.158e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 554474 of 2097152 ( 26.439 % ), Relative change in ionfrac:  4.06e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.505e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 404304 of 2097152 ( 19.279 % ), Relative change in ionfrac:  1.42e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.619e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 266800 of 2097152 ( 12.722 % ), Relative change in ionfrac:  4.46e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.656e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 91232 of 2097152 ( 4.350 % ), Relative change in ionfrac:  1.28e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.668e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 24696 of 2097152 ( 1.178 % ), Relative change in ionfrac:  3.53e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.672e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 1528 of 2097152 ( 0.073 % ), Relative change in ionfrac:  9.53e-05
Multiple source convergence reached after 7 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_13.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 2.245e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.80s.
Average number of subboxes: 1, Total photon loss: 6.439e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 892445 of 2097152 ( 42.555 % ), Relative change in ionfrac:  6.94e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 7.782e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 544820 of 2097152 ( 25.979 % ), Relative change in ionfrac:  3.11e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 8.216e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 384666 of 2097152 ( 18.342 % ), Relative change in ionfrac:  9.92e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 8.354e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 234410 of 2097152 ( 11.178 % ), Relative change in ionfrac:  2.83e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 8.395e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 53246 of 2097152 ( 2.539 % ), Relative change in ionfrac:  7.37e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 8.407e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 12462 of 2097152 ( 0.594 % ), Relative change in ionfrac:  1.83e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 8.410e+47
Doing Chemistry... took  0.1 s.
Number of non-converged points: 44 of 2097152 ( 0.002 % ), Relative change in ionfrac:  4.42e-05
Multiple source convergence reached after 7 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_16.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 2.634e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.80s.
Average number of subboxes: 1, Total photon loss: 1.054e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 887845 of 2097152 ( 42.336 % ), Relative change in ionfrac:  5.90e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.222e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 534102 of 2097152 ( 25.468 % ), Relative change in ionfrac:  2.44e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.272e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 363870 of 2097152 ( 17.351 % ), Relative change in ionfrac:  7.11e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.286e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 198010 of 2097152 ( 9.442 % ), Relative change in ionfrac:  1.87e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.289e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 40610 of 2097152 ( 1.936 % ), Relative change in ionfrac:  4.50e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.290e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 3030 of 2097152 ( 0.144 % ), Relative change in ionfrac:  1.03e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.291e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  2.33e-05
Multiple source convergence reached after 7 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_19.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 2.999e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.546e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 882217 of 2097152 ( 42.067 % ), Relative change in ionfrac:  5.15e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.769e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 523804 of 2097152 ( 24.977 % ), Relative change in ionfrac:  1.94e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.831e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 345386 of 2097152 ( 16.469 % ), Relative change in ionfrac:  5.26e-03
Rank=0 is doing Raytracing... took 0.80s.
Average number of subboxes: 1, Total photon loss: 1.847e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 157652 of 2097152 ( 7.517 % ), Relative change in ionfrac:  1.30e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.851e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 29458 of 2097152 ( 1.405 % ), Relative change in ionfrac:  3.00e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 1.852e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 52 of 2097152 ( 0.002 % ), Relative change in ionfrac:  6.63e-05
Multiple source convergence reached after 6 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_22.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 3.340e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 2.184e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 876909 of 2097152 ( 41.814 % ), Relative change in ionfrac:  4.59e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 2.452e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 516648 of 2097152 ( 24.636 % ), Relative change in ionfrac:  1.56e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 2.514e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 326918 of 2097152 ( 15.589 % ), Relative change in ionfrac:  4.03e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 2.528e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 117494 of 2097152 ( 5.603 % ), Relative change in ionfrac:  9.58e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 2.531e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 16126 of 2097152 ( 0.769 % ), Relative change in ionfrac:  2.12e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 2.532e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  4.46e-05
Multiple source convergence reached after 6 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_25.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 3.654e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 2.860e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 870663 of 2097152 ( 41.516 % ), Relative change in ionfrac:  4.16e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.093e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 504240 of 2097152 ( 24.044 % ), Relative change in ionfrac:  1.29e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.141e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 308468 of 2097152 ( 14.709 % ), Relative change in ionfrac:  3.18e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.151e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 93592 of 2097152 ( 4.463 % ), Relative change in ionfrac:  7.20e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.153e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 4876 of 2097152 ( 0.233 % ), Relative change in ionfrac:  1.50e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.153e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  2.93e-05
Multiple source convergence reached after 6 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_28.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 3.944e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.415e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 860959 of 2097152 ( 41.054 % ), Relative change in ionfrac:  3.82e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.600e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 493519 of 2097152 ( 23.533 % ), Relative change in ionfrac:  1.09e-02
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.635e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 290844 of 2097152 ( 13.869 % ), Relative change in ionfrac:  2.55e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.642e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 75352 of 2097152 ( 3.593 % ), Relative change in ionfrac:  5.46e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.643e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 40 of 2097152 ( 0.002 % ), Relative change in ionfrac:  1.06e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.644e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  1.92e-05
Multiple source convergence reached after 6 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_31.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 4.212e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.848e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 844669 of 2097152 ( 40.277 % ), Relative change in ionfrac:  3.54e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 3.997e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 479609 of 2097152 ( 22.870 % ), Relative change in ionfrac:  9.28e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.025e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 273556 of 2097152 ( 13.044 % ), Relative change in ionfrac:  2.08e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.030e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 59036 of 2097152 ( 2.815 % ), Relative change in ionfrac:  4.17e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.031e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  7.56e-05
Multiple source convergence reached after 5 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_34.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 4.463e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.80s.
Average number of subboxes: 1, Total photon loss: 4.197e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 823278 of 2097152 ( 39.257 % ), Relative change in ionfrac:  3.30e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.323e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 460437 of 2097152 ( 21.955 % ), Relative change in ionfrac:  8.00e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.347e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 255858 of 2097152 ( 12.200 % ), Relative change in ionfrac:  1.70e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.351e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 43156 of 2097152 ( 2.058 % ), Relative change in ionfrac:  3.22e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.352e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  5.46e-05
Multiple source convergence reached after 5 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_37.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 4.697e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.495e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 801979 of 2097152 ( 38.241 % ), Relative change in ionfrac:  3.10e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.607e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 439723 of 2097152 ( 20.968 % ), Relative change in ionfrac:  6.94e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.628e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 238200 of 2097152 ( 11.358 % ), Relative change in ionfrac:  1.40e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.632e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 25850 of 2097152 ( 1.233 % ), Relative change in ionfrac:  2.50e-04
Rank=0 is doing Raytracing... took 0.80s.
Average number of subboxes: 1, Total photon loss: 4.633e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  4.00e-05
Multiple source convergence reached after 5 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_40.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 4.916e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.761e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 782527 of 2097152 ( 37.314 % ), Relative change in ionfrac:  2.93e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.866e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 420495 of 2097152 ( 20.051 % ), Relative change in ionfrac:  6.04e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.885e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 219231 of 2097152 ( 10.454 % ), Relative change in ionfrac:  1.16e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.889e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 10760 of 2097152 ( 0.513 % ), Relative change in ionfrac:  1.95e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 4.889e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  2.99e-05
Multiple source convergence reached after 5 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_43.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 5.121e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.009e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 764533 of 2097152 ( 36.456 % ), Relative change in ionfrac:  2.79e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.109e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 402523 of 2097152 ( 19.194 % ), Relative change in ionfrac:  5.27e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.128e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 199907 of 2097152 ( 9.532 % ), Relative change in ionfrac:  9.60e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.131e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 3826 of 2097152 ( 0.182 % ), Relative change in ionfrac:  1.54e-04
Rank=0 is doing Raytracing... took 0.80s.
Average number of subboxes: 1, Total photon loss: 5.132e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  2.28e-05
Multiple source convergence reached after 5 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_46.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 5.313e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.247e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 748747 of 2097152 ( 35.703 % ), Relative change in ionfrac:  2.66e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.344e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 385787 of 2097152 ( 18.396 % ), Relative change in ionfrac:  4.61e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.362e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 180195 of 2097152 ( 8.592 % ), Relative change in ionfrac:  7.98e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.366e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 2529 of 2097152 ( 0.121 % ), Relative change in ionfrac:  1.23e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.367e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  1.79e-05
Multiple source convergence reached after 5 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_49.png
Calling evolve3D...
dr [Mpc]: 1.094e-04
dt [years]: 5.000e+06
Running on 5 source(s), total normalized ionizing flux: 5.00e+06
Mean density (cgs): 1.000e-03, Mean ionized fraction: 5.492e-01
Convergence Criterion (Number of points):  1.33333

Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.479e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 734473 of 2097152 ( 35.022 % ), Relative change in ionfrac:  2.55e+00
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.575e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 370105 of 2097152 ( 17.648 % ), Relative change in ionfrac:  4.03e-03
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.594e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 160375 of 2097152 ( 7.647 % ), Relative change in ionfrac:  6.64e-04
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.598e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 1833 of 2097152 ( 0.087 % ), Relative change in ionfrac:  9.86e-05
Rank=0 is doing Raytracing... took 0.79s.
Average number of subboxes: 1, Total photon loss: 5.599e+48
Doing Chemistry... took  0.1 s.
Number of non-converged points: 0 of 2097152 ( 0.000 % ), Relative change in ionfrac:  1.43e-05
Multiple source convergence reached after 5 ray-tracing iterations.
<Figure size 640x480 with 0 Axes>
../_images/examples_multi_sources_6_52.png
<Figure size 640x480 with 0 Axes>

Let’s look at the wall clock time at each time step of our simulation.

[6]:
print(timer.summary)

--- TIMER SUMMARY ---
 step 1: 10.68s - t=0
 step 2: 7.68s - t=1
 step 3: 8.66s - t=0
 step 4: 7.69s - t=1
 step 5: 6.83s - t=0
 step 6: 6.84s - t=1
 step 7: 6.99s - t=0
 step 8: 5.95s - t=1
 step 9: 5.93s - t=0
 step 10: 5.93s - t=1
 step 11: 5.96s - t=0
 step 12: 5.16s - t=1
 step 13: 5.04s - t=0
 step 14: 5.05s - t=1
 step 15: 5.05s - t=0
 step 16: 5.04s - t=1
 step 17: 5.17s - t=0
 step 18: 5.02s - t=1
Elapsed time: 1m 55.02s