#!/usr/bin/env python # coding: utf-8 # In[ ]: # import necessary modules from classy import Class from math import pi get_ipython().run_line_magic('matplotlib', 'inline') import matplotlib import matplotlib.pyplot as plt # In[ ]: ############################################# # # Cosmological parameters and other CLASS parameters # common_settings = {# LambdaCDM parameters 'h':0.67810, 'omega_b':0.02238280, 'omega_cdm':0.1201075, 'A_s':2.100549e-09, 'n_s':0.9660499, 'tau_reio':0.05430842 , # output and precision parameters 'output':'tCl,pCl,lCl', 'lensing':'yes', 'l_max_scalars':5000} # M = Class() # ############### # # call CLASS for the total Cl's and then for each contribution # ############### # M.set(common_settings) M.compute() cl_tot = M.raw_cl(3000) cl_lensed = M.lensed_cl(3000) M.empty() # reset input # M.set(common_settings) # new input M.set({'temperature contributions':'tsw'}) M.compute() cl_tsw = M.raw_cl(3000) M.empty() # M.set(common_settings) M.set({'temperature contributions':'eisw'}) M.compute() cl_eisw = M.raw_cl(3000) M.empty() # M.set(common_settings) M.set({'temperature contributions':'lisw'}) M.compute() cl_lisw = M.raw_cl(3000) M.empty() # M.set(common_settings) M.set({'temperature contributions':'dop'}) M.compute() cl_dop = M.raw_cl(3000) M.empty() # In[ ]: ################# # # start plotting # ################# # plt.xlim([2,3000]) plt.xlabel(r"$\ell$") plt.ylabel(r"$\ell (\ell+1) C_l^{TT} / 2 \pi \,\,\, [\times 10^{10}]$") plt.grid() # ell = cl_tot['ell'] factor = 1.e10*ell*(ell+1.)/2./pi plt.semilogx(ell,factor*cl_tsw['tt'],'c-',label=r'$\mathrm{T+SW}$') plt.semilogx(ell,factor*cl_eisw['tt'],'r-',label=r'$\mathrm{early-ISW}$') plt.semilogx(ell,factor*cl_lisw['tt'],'y-',label=r'$\mathrm{late-ISW}$') plt.semilogx(ell,factor*cl_dop['tt'],'g-',label=r'$\mathrm{Doppler}$') plt.semilogx(ell,factor*cl_tot['tt'],'r-',label=r'$\mathrm{total}$') plt.semilogx(ell,factor*cl_lensed['tt'],'k-',label=r'$\mathrm{lensed}$') # plt.legend(loc='right',bbox_to_anchor=(1.4, 0.5)) plt.savefig('cltt_terms.pdf',bbox_inches='tight')