FML
example.py
Go to the documentation of this file.
1import numpy as np
2from HaloModelWrapper import HaloModel
3import matplotlib.pyplot as plt
4import time
5import gc
6
7# Parameters
8filename = "pofk_lin.txt"
9OmegaM = 0.3
10w0 = -1.0
11wa = 0.0
12mu0 = 0.0
13mua = 0.0
14deltacfac = 1.0
15DeltaVirfac = 1.0
16cofmfac = 1.0
17sigma8norm = True
18hmcode = True
19verbose = True
20
21# Set up halomodel
22model = HaloModel(
23 filename,
24 OmegaM,
25 w0,
26 wa,
27 mu0,
28 mua,
29 verbose,
30 hmcode,
31 sigma8norm,
32 deltacfac,
33 DeltaVirfac,
34 cofmfac)
35
36model2 = HaloModel(
37 filename,
38 OmegaM,
39 w0,
40 wa,
41 mu0,
42 mua,
43 verbose,
44 False,
45 sigma8norm,
46 deltacfac,
47 DeltaVirfac,
48 cofmfac)
49
50# Arrays to evaluate pofk and massfunction at
51k = np.exp(np.linspace(np.log(1e-4),np.log(10.0),100))
52M = np.exp(np.linspace(np.log(1e6),np.log(1e16),100))
53zarr = np.linspace(0.0,4.0,100)
54
55# Set redshift to compute at
56z = 0.0
57
58# Compute everything at redshift
59model.calc_at_redshift(z)
60model.info()
61
62# Fetch P(k,z), Plin(k,z), dndlogM(M) and n(M) at given redshift
63# (Since we just computed at z this just fetches the data)
64pofk_lin, pofk = model.get_pofk(z, k)
65pofk_1h, pofk_2h = model.get_pofk_1h_2h(z, k)
66dndlogM, nofM = model.get_nofM(z, M)
67deltac = model.get_deltac_of_z(zarr)
68
69# Model without HMCode
70deltac2 = model2.get_deltac_of_z(zarr)
71pofk_lin2, pofk2 = model2.get_pofk(z, k)
72pofk2_1h, pofk2_2h = model2.get_pofk_1h_2h(z, k)
73dndlogM2, nofM2 = model2.get_nofM(z, M)
74
75# Plot deltac
76plt.plot(zarr,deltac)
77plt.plot(zarr,deltac2)
79
80# Make a plot of massfunction
81plt.xscale('log')
82plt.yscale('log')
83plt.plot(M,dndlogM)
84plt.plot(M,dndlogM2)
86
87# Make a plot of power-spectra
88plt.xscale('log')
89plt.yscale('log')
90plt.plot(k,pofk,label="HMCode")
91plt.plot(k,pofk_1h,label="HMCode 1h")
92plt.plot(k,pofk_2h,label="HMCode 2h")
93plt.plot(k,pofk_lin,label="Linear")
94plt.plot(k,pofk2,label="Non HMCode",ls="dashed")
95plt.plot(k,pofk2_1h,label="Non HMCode 1h",ls="dashed")
96plt.plot(k,pofk2_2h,label="Non HMCode 2h",ls="dashed")
99
void show(const bool block=true)
void yscale(const std::string &yscale)
bool plot(const std::vector< Numeric > &x, const std::vector< Numeric > &y, const std::map< std::string, std::string > &keywords)
void xscale(const std::string &xscale)