The 21cm global signal and 3D power spectrum from the dark ages

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Post Reply
Rajesh Mondal
Posts: 3
Joined: November 01 2017
Affiliation: Tel Aviv University

The 21cm global signal and 3D power spectrum from the dark ages

Post by Rajesh Mondal » November 20 2022

We have been using CAMB, and have several questions about getting from it the 21-cm global signal and the 21-cm power spectrum during the dark ages.

How do we get the 21-cm global signal (i.e., mean 21-cm brightness temperature) T_b as a function of redshift directly from CAMB? We can get it indirectly by running once with use_21cm_mK = True and once with use_21cm_mK = False, and taking the ratio of the monopole transfer functions in the two cases. Is there a better way?

The 21-cm power spectrum: Our aim is to generate the (total) 21-cm power spectrum P(k) and its angular decomposition terms P_mu^0, P_mu^2, and P_mu^4 using CAMB. We find the following possibly relevant parameters for 21cm. Please let us know if we missed anything. Other parameters are kept at their default values.
• WantCls – (False)
• Do21cm – (True)

• Evolve_baryon_cs – (boolean) Evolve a separate equation for the baryon sound speed rather than using background approximation
• Evolve_delta_xe – (boolean) Evolve ionization fraction perturbations
• Evolve_delta_Ts – (boolean) Evolve the spin temperature perturbation (for 21cm)
• line_phot_dipole – (boolean) Dipole sources for 21cm
• line_phot_quadrupole – (boolean) Quadrupole sources for 21cm
• line_basic – (boolean) Include main 21cm monopole density/spin temperature sources
• line_distortions – (boolean) Redshift distortions for 21cm
• line_extra – (boolean) Include other sources

We set Evolve_baryon_cs and Evolve_delta_xe to True, but we are not sure about Evolve_delta_Ts. We ran CAMB with Evolve_delta_Ts=False and with Evolve_delta_Ts=True. We found that the monopole transfer functions are the same for both cases. However, we found that the run time for Evolve_delta_Ts=True is 2 orders of magnitude higher than for the Evolve_delta_Ts=False case. Does this make sense?

We have a fundamental question: Does Transfer_monopole for the 21-cm monopole transfer function give P_mu0 ~ (Transfer_monopole)^2, i.e., the 21-cm power spectrum without the velocity effect? Is there a way to get from CAMB the total 21-cm power spectrum including the velocity effect?

We also set line_basic to True, and varied line_phot_dipole, line_phot_quadrupole, line_distortions, and line_extra. But, we found that the monopole transfer function does not depend on these parameters. Are any of them relevant to us, or do they all have an insignificant effect?

Thanks for any help.

Antony Lewis
Posts: 1842
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: The 21cm global signal and 3D power spectrum from the dark ages

Post by Antony Lewis » November 21 2022

I don't think there is a better way to get Tb, you're welcome to add a PR to add a python wrapper function to get Tspin, Tb etc for the 21cm case, e.g. following the pattern of get_background_time_evolution (GetBackgroundThermalEvolution in fortran), You can see where Tb is calculated from the recombination model outputs in equations.f90 (Tb = (1-exp(-tau_eps))*a*(Tspin-Trad)*1000).

When Evolve_delta_Ts is false, Delta T_s is calculated assuming Eq 32 of our paper, assuming equilibrium. If it is true, I think it evolves the full equation (perturbed version of Eq 28). But the approximation is very accurate (better than other approximations, like neglecting the velocity-dependence of the spin temperature).

Not sure I understand which velocity effect: line_distortions parameter determines whether RSD are included in the total power.

Rajesh Mondal
Posts: 3
Joined: November 01 2017
Affiliation: Tel Aviv University

Re: The 21cm global signal and 3D power spectrum from the dark ages

Post by Rajesh Mondal » November 21 2022

You wrote: "line_distortions parameter determines whether RSD are included in the total power."
How do we get the total 21-cm power out of CAMB, and not just the monopole transfer function?

Antony Lewis
Posts: 1842
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: The 21cm global signal and 3D power spectrum from the dark ages

Post by Antony Lewis » November 22 2022

Code: Select all

transfer_21cm_cl=True 
will get the observable total angular power. You'd have to define what you mean exactly by total P(k) [which certainly isn't directly observable], but if you want k transfer functions, you can also get the velocity transfer function or cross-power spectra between velocity and monopole (I think).

Rajesh Mondal
Posts: 3
Joined: November 01 2017
Affiliation: Tel Aviv University

Re: The 21cm global signal and 3D power spectrum from the dark ages

Post by Rajesh Mondal » November 26 2022

Thank you for your response.
We have a (most probably) final question about the normalization of the 21-cm monopole power spectrum. For example, we are doing the following at z=40

Code: Select all

pars.set_matter_power(kmax=20, redshifts=[40.])
results = camb.get_results(pars)
trans = results.get_matter_transfer_data()
k = trans.transfer_data[0,:,0]*results.Params.h
primordial_PK = results.Params.scalar_power(k)
Transfer_monopole=4
mono = trans.transfer_data[Transfer_monopole-1,:,0]
Pk21cm = primordial_PK*mono**2.*k**4.
Is this the right way to get the dimensionless squared fluctuation from the transfer function?

Post Reply