-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfigure_6L.py
121 lines (96 loc) · 4.59 KB
/
figure_6L.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import matplotlib.pyplot as plt
import matplotlib.pylab as pylab
import numpy as np
from models.lcdm import Om0_finder_LCDM
from models.lscdm import Om0_finder_LsCDM
from src.calculate_col_params_lscdm import *
from src.calculate_critical_densityContrast import crit_densityContrast_LsCDM
from src.calculate_growthFactor import *
from src.tools import sn
######################################################
# -------------------- PARAMETERS --------------------
######################################################
a_ini = 1e-3 # initial scale factor
Om0_lcdm = Om0_finder_LCDM() # LCDM matter density parameter
z_dag = 1.7 # LsCDM transition redshift
a_dag = 1 / (1 + z_dag) # LsCDM transition scale factor
Om0_lscdm = Om0_finder_LsCDM(z_dag) # LsCDM matter density parameter
R_lscdm = (1 - Om0_lscdm) / Om0_lscdm # R_LsCDM parameter
# ----------------------------------------
collapse_params = {
0.125: {'delta_ini': 0.013501972203792675},
0.25: {'delta_ini': 0.006786041333596292},
0.5: {'delta_ini': 0.003523332881324887},
1.0: {'delta_ini': 0.0021259839475166182}
}
# Select the desired a_col
a_col_LCDM = 1.0
params = collapse_params[a_col_LCDM]
delta_ini = params['delta_ini']
delta_prime_ini = delta_ini / a_ini
a_end = a_col_LCDM
# ----------------------------------------
a_col_LsCDM, num_nonLin_dc_LsCDM = col_params_LsCDM(a_ini, a_dag, a_end,
R_lscdm,
delta_ini,
delta_prime_ini)
delta_c_LsCDM = crit_densityContrast_LsCDM(a_ini, a_col_LsCDM, a_dag,
Om0_lscdm,
delta_ini,
delta_prime_ini)
a_vals_lscdm = np.logspace(np.log10(a_ini), np.log10(a_col_LsCDM), num=300, endpoint=True)
delta_lcdm_vals = np.array([growthFactor_LCDM(a_i, a_ini, a_col_LCDM, Om0_lcdm,
delta_ini,
delta_prime_ini,
norm_method='unnorm') for a_i in a_vals_lscdm])
delta_lscdm_vals = np.array([growthFactor_LsCDM(a_i, a_ini, a_col_LsCDM, a_dag, Om0_lscdm,
delta_ini,
delta_prime_ini,
norm_method='unnorm') for a_i in a_vals_lscdm])
delta_ratios = delta_lscdm_vals / delta_lcdm_vals
# ----------------------------------------
print('a_col_LsCDM = {}'.format(sn(a_col_LsCDM, 4)))
print('num_nonLin_dc_LsCDM = {}'.format(sn(num_nonLin_dc_LsCDM, 6)))
print('delta_c_LsCDM({0}) = {1}'.format(sn(a_col_LsCDM, 4), sn(delta_c_LsCDM, 6)))
####################################################
# -------------------- PLOTTING --------------------
####################################################
# https://github.com/garrettj403/SciencePlots
import scienceplots
plt.style.use(['science', 'high-vis'])
params = {
'legend.fontsize': '45',
'axes.labelsize': '50',
'figure.figsize': (18, 12),
'xtick.labelsize': '50',
'ytick.labelsize': '50',
'font.family': 'serif',
'axes.linewidth': '3',
}
pylab.rcParams.update(params)
fig, ax0 = plt.subplots()
ax0.plot(a_vals_lscdm, delta_ratios, color='#000000', ls='-',
lw=6.0, label=r'$\delta_{\Lambda_{\rm s}}/ \delta_{\Lambda}$')
ax0.axhline(y=1, color='#117733', ls='-', lw=5.0, alpha=0.8)
ax0.axvline(x=a_col_LsCDM, color='#FF5733', ls=':', lw=5.0,
label=rf'$a_{{\rm col, \Lambda_{{\rm s}}}}={round(a_col_LsCDM, 4)}$')
ax0.axvline(x=a_dag, color='#BBBBBB', ls='-', lw=5.0, alpha=0.8,
label=r'$a_{\dagger}$')
ax0.set_xlim(0.01, 1)
ax0.set_ylim(0.90, 1.1)
ax0.set_xlabel('$a$')
ax0.set_ylabel(r'$\delta_{\Lambda_{\rm s}}/ \delta_{\Lambda}~[a \leq a_{\rm col,\Lambda_{\rm s}}]$')
ax0.set_xscale('log')
ax0.set_xticks([1e-2, 1e-1, 1])
ax0.set_yticks([0.90, 0.95, 1.0, 1.05, 1.1])
ax0.xaxis.set_ticks_position('both')
ax0.yaxis.set_ticks_position('both')
ax0.xaxis.set_tick_params(which='major', width=2.5, size=13.0, direction='in')
ax0.xaxis.set_tick_params(which='minor', width=2.0, size=6.50, direction='in')
ax0.yaxis.set_tick_params(which='major', width=2.5, size=13.0, direction='in')
ax0.yaxis.set_tick_params(which='minor', width=2.0, size=6.50, direction='in')
ax0.minorticks_on()
ax0.legend(loc='upper left')
plt.tight_layout()
plt.savefig(rf'log\figure_6L_a{str(a_col_LCDM).split('.')[1]}.pdf', format='pdf', dpi=2400)
plt.show()