CLAPP / test_classy.py
Santiago Casas
sh and py install scripts
e855f52
# Import necessary modules
from classy import Class
import matplotlib.pyplot as plt
import numpy as np
# Define common settings for the ΛCDM model, including a fixed Helium fraction
common_settings = {
'h': 0.67810,
'omega_b': 0.02238280,
'omega_cdm': 0.1201075,
'A_s': 2.100549e-09,
'n_s': 0.9660499,
'tau_reio': 0.05430842,
'YHe': 0.24, # Set the Helium fraction explicitly
'output': 'tCl,lCl', # Include 'lCl' for lensing potential
'lensing': 'yes',
'l_max_scalars': 2500
}
# Initialize CLASS
cosmo = Class()
cosmo.set(common_settings)
cosmo.compute()
# Get the C_l's
cls = cosmo.lensed_cl(2500)
# Extract ell and C_ell^TT
ell = cls['ell'][2:] # Start from 2 to avoid the monopole and dipole
clTT = cls['tt'][2:]
# Plotting
factor = ell * (ell + 1) / (2 * np.pi) * 1e12 # Factor to convert to D_ell
plt.plot(ell, factor * clTT, label='Temperature $C_\ell^{TT}$', color='b')
plt.xlabel(r'Multipole moment $\ell$')
plt.ylabel(r'$\ell (\ell + 1) C_\ell^{TT} / 2\pi \, [\mu K^2]$')
plt.title('CMB Temperature Power Spectrum')
plt.xscale('log')
plt.yscale('log')
plt.grid(True)
plt.legend()
plt.savefig('cmb_temperature_spectrum.png') # Save the plot to a file