annotate Model_spectrum.py @ 0:c9fc89ee996e draft default tip

planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
author astroteam
date Wed, 17 Apr 2024 10:29:23 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
1 #!/usr/bin/env python
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
2 # coding: utf-8
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
4 # flake8: noqa
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
5
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
6 import json
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
7 import os
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
8 import shutil
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
9
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
10 from oda_api.json import CustomJSONEncoder
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
11
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
12 get_ipython().run_cell_magic( # noqa: F821
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
13 "bash",
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
14 "",
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
15 "wget https://gitlab.renkulab.io/astronomy/mmoda/sgwb/-/raw/master/EPTA.csv\nwget https://gitlab.renkulab.io/astronomy/mmoda/sgwb/-/raw/master/NANOGrav23.csv\nwget https://gitlab.renkulab.io/astronomy/mmoda/sgwb/-/raw/master/PPTA.csv\n",
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
16 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
17
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
18 import matplotlib.pyplot as plt
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
19
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
20 # Loading necessary packages
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
21 import numpy as np
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
22
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
23 get_ipython().run_line_magic("matplotlib", "inline") # noqa: F821
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
24 import astropy.constants as const
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
25 import astropy.units as u
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
26 from astropy.constants import c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
27 from numpy import log, pi, sqrt
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
28 from oda_api.data_products import ODAAstropyTable, PictureProduct
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
29
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
30 # Parameters of the phase transition
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
31 # Temperature in GeV
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
32 T_star = 0.178 # http://odahub.io/ontology#Energy_GeV
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
33
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
34 # Numbers of relativistic degrees of freedom
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
35 g_star = 20 # http://odahub.io/ontology#Integer
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
36
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
37 # ratio of the energy density deposited in the bubbles to the radiation energy density
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
38 alpha = 1.0 # http://odahub.io/ontology#Float
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
39
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
40 # beta/H : rate of the phase transition compared to Hubble rate
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
41 beta_H = 3.3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
42
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
43 # fraction of turbulent energy that goes to gw N.B. arXiv:1004.4187 claims that epsilon_turb=0.05, but checks below show that it is rather 0.01
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
44 epsilon_turb = 1 # http://odahub.io/ontology#Float
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
45
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
46 # terminal velocity of bubbles
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
47 v_w = 0.999 # http://odahub.io/ontology#Float
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
48 h = 0.7 # http://odahub.io/ontology#Float
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
49
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
50 # Parameterisation='RoperPol2023' # http://odahub.io/ontology#String ; oda:allowed_value "Lewicki2022","RoperPol2023"
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
51
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
52 _galaxy_wd = os.getcwd()
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
53
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
54 with open("inputs.json", "r") as fd:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
55 inp_dic = json.load(fd)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
56 if "_data_product" in inp_dic.keys():
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
57 inp_pdic = inp_dic["_data_product"]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
58 else:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
59 inp_pdic = inp_dic
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
60
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
61 for vn, vv in inp_pdic.items():
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
62 if vn != "_selector":
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
63 globals()[vn] = type(globals()[vn])(vv)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
64
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
65 c_s = 3 ** (-0.5) # speed of sound
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
66 F0_GW = 1.64e-5 / h**2 * (100 / g_star) ** (1 / 3.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
67
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
68 # Eq.20 of arXiv:1512.06239, corrected according to Appendix A of arXiv:1004.4187
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
69
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
70 def ka_v(alpha_v, v):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
71 zeta = ((2.0 / 3.0 * alpha_v + alpha_v**2) ** 0.5 + (1 / 3.0) ** 0.5) / (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
72 1 + alpha_v
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
73 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
74 kappa_a = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
75 6.9
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
76 * v ** (6.0 / 5.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
77 * alpha_v
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
78 / (1.36 - 0.037 * alpha_v**0.5 + alpha_v)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
79 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
80 kappa_b = alpha_v ** (2.0 / 5.0) / (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
81 0.017 + (0.997 + alpha_v) ** (2.0 / 5.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
82 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
83 kappa_c = alpha_v**0.5 / (0.135 + (0.98 + alpha_v) ** 0.5)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
84 kappa_d = alpha_v / (0.73 + 0.083 * alpha_v**0.6 + alpha_v)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
85 deltak = -0.9 * log(alpha_v**0.5 / (1 + alpha_v**0.5))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
86 if v < c_s:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
87 return (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
88 c_s ** (11.0 / 5.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
89 * kappa_a
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
90 * kappa_b
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
91 / (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
92 (c_s ** (11.0 / 5.0) - v ** (11.0 / 5.0)) * kappa_b
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
93 + v * c_s ** (6.0 / 5.0) * kappa_a
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
94 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
95 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
96 elif v > zeta:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
97 return (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
98 (zeta - 1) ** 3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
99 * (zeta / v) ** (5.0 / 2)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
100 * kappa_c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
101 * kappa_d
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
102 / (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
103 ((zeta - 1) ** 3 - (v - 1) ** 3)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
104 * zeta ** (5.0 / 2.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
105 * kappa_c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
106 + (v - 1) ** 3 * kappa_d
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
107 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
108 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
109 else:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
110 return (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
111 kappa_b
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
112 + (v - c_s) * deltak
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
113 + (v - c_s) ** 3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
114 / (zeta - c_s) ** 3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
115 * (kappa_c - kappa_b - (zeta - c_s) * deltak)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
116 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
117
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
118 kappa_v = ka_v(alpha, v_w)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
119 kappa_therm = 1 - kappa_v
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
120 print(
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
121 "Fraction of released energy in bulk motion:",
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
122 kappa_v,
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
123 ", Thermal energy fraction:",
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
124 kappa_therm,
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
125 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
126 Omega_star = (kappa_v) * alpha / (1 + alpha)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
127 print("Omega in bulk motion:", Omega_star)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
128
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
129 # Comoving Hubble rate at the phase transition Eq. 11 of arXiv:1512.06239
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
130 def H_star(T_star):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
131 return (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
132 16.5e-6
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
133 * (T_star / (100.0 * u.GeV))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
134 * (g_star / 100) ** (1.0 / 6.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
135 * u.Hz
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
136 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
137
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
138 Hstar = H_star(T_star * u.GeV)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
139 logHstar = np.log10(Hstar / u.Hz)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
140
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
141 fmin = logHstar.value - 5
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
142 fmax = logHstar.value + 5
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
143 ff = np.logspace(fmin, fmax, 101)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
144
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
145 # HL model formula
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
146 def GW_sound(f, T_star, alpha, beta_H, v_w):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
147 kappa_v = ka_v(alpha, v_w)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
148 K = kappa_v * alpha / (1 + alpha)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
149 lambda_star = (8 * pi) ** (1 / 3) * max([v_w, c_s]) / (beta_H * Hstar) * c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
150 Delta_w = sqrt((v_w - c_s) ** 2) / v_w
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
151 s2 = Delta_w * lambda_star * f / c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
152 print((c / lambda_star).cgs, (c / (Delta_w * lambda_star)).cgs)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
153 s1 = lambda_star * f / c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
154 M = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
155 16
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
156 * (1 + Delta_w ** (-3)) ** (2 / 3.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
157 * (Delta_w * s1) ** 3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
158 / ((1 + s1**3) ** (2.0 / 3.0) * (3 + s2**2) ** 2)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
159 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
160 factor = (K * lambda_star * Hstar) ** 2 / (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
161 sqrt(K) + lambda_star * Hstar / c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
162 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
163 mu = 4.78 - 6.27 * Delta_w + 3.34 * Delta_w**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
164 ff = f / u.Hz
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
165 dlnf = (ff[1] - ff[0]) / ff[0]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
166 mu = sum(M) * dlnf
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
167 B = 1e-2 / mu
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
168 return (3 * B * factor / c**2 * F0_GW * M).cgs
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
169
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
170 # Eq 1 of the new Overleaf, from Alberto
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
171
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
172 def GW_turb_Theo(f, T_star, alpha, beta_H, v_w, epsilon_turb):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
173 (const.c / H_star(T_star)).to(u.Mpc)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
174 kappa_v = ka_v(alpha, v_w)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
175 Omega_star = (kappa_v) * alpha / (1 + alpha)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
176 lambda_star = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
177 (8 * pi) ** (1 / 3) * max([v_w, c_s]) / (beta_H * H_star(T_star))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
178 ) * c # characteristic light-crossing distance scale
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
179
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
180 Delta_w = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
181 sqrt((v_w - c_s) ** 2) / v_w
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
182 ) # <1, the width of the bubble wall in units of R_star
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
183 R_peak = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
184 Delta_w * lambda_star
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
185 ) # the GW spectrum peaks ad the frequency correspoding to the bubble wall width
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
186 u_star = sqrt(0.75 * epsilon_turb * Omega_star) # alfven velocity
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
187 dt_fin = 2 * lambda_star / u_star / c # eddy processing time
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
188
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
189 T_GW = np.log10(1 + (H_star(T_star) * dt_fin / (2 * pi))) * (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
190 f < 1 / dt_fin
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
191 ) + np.log10(1 + (H_star(T_star) / (2 * pi * f))) * (f >= 1 / dt_fin)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
192 T_GW = T_GW**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
193 alpha_pi = 2.15
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
194 P_pi = (1 + ((lambda_star * f) / (2.2 * c)) ** alpha_pi) ** (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
195 -11 / (3 * alpha_pi)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
196 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
197 M = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
198 (lambda_star * f / c) ** 3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
199 * (4 * pi**2 * T_GW * P_pi)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
200 / (0.84 * (lambda_star * H_star(T_star) / c) ** 2)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
201 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
202 res = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
203 3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
204 * (1.75 * 10 ** (-3))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
205 * (Omega_star * epsilon_turb) ** 2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
206 * (lambda_star * H_star(T_star) / c) ** 2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
207 * 1.64
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
208 * 10 ** (-5)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
209 * (100 / g_star) ** (1 / 3.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
210 / h**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
211 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
212 return res * M
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
213
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
214 def GW_turb_Andrii(f, T_star, alpha, beta_H, v_w, epsilon_turb):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
215
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
216 # Eq. 1 of 2307.10744
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
217 lambda_star = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
218 (8 * pi) ** (1 / 3) * max([v_w, c_s]) / (beta_H * Hstar)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
219 ) * c # characteristic light-crossing distance scale
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
220
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
221 kappa_v = ka_v(alpha, v_w)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
222 K = kappa_v * alpha / (1 + alpha)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
223
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
224 # Eq. 10 of 2307.10744
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
225 Omega_star = epsilon_turb * K
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
226
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
227 # Eq. 13 of 2307.10744 and text after it
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
228 u_star = sqrt(0.75 * Omega_star)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
229 dt_fin = 2 * lambda_star / u_star / c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
230 s3 = dt_fin * f
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
231 s1 = f * lambda_star / c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
232 print("u_star=", u_star, "lambda_star=", lambda_star.cgs)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
233
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
234 # Eq. 15 of 2307.10744
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
235 T_GW = np.log(1 + Hstar * dt_fin / (2 * pi)) * (s3 < 1) + np.log(
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
236 1 + lambda_star * Hstar / c / (2 * pi * s1)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
237 ) * (s3 >= 1)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
238 T_GW = T_GW**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
239
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
240 # Eq. 17 of 2307.10744
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
241 alpha_pi = 2.15
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
242 s_pi = 2.2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
243 P_pi = (1 + (s1 / s_pi) ** alpha_pi) ** (-11 / (3 * alpha_pi))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
244
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
245 # Eq 18,19,20 of 2307.10744
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
246 A = 2e-3 * 1.4 * 0.6
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
247
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
248 # Eq. 14 of 2307.10744
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
249 Sturb = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
250 4
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
251 * pi**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
252 * s1**3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
253 * T_GW
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
254 / (lambda_star * Hstar / c) ** 2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
255 * P_pi
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
256 / 1.4
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
257 / 0.6
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
258 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
259
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
260 # Eq 9 of 2307.10744
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
261 res = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
262 3 * A * Omega_star**2 * (lambda_star * Hstar / c) ** 2 * F0_GW * Sturb
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
263 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
264 return res
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
265
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
266 # Eq 19 of 2308.08546
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
267 def GW_Ellis(f, T_star, alpha, beta_H, v_w, epsilon_turb):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
268 A = 5.1e-2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
269 a = 2.4
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
270 b = 2.4
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
271 c = 4.0
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
272 Hstar = H_star(T_star).cgs
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
273 f_H = Hstar / 2 / pi
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
274 fp = 0.7 * beta_H * f_H
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
275 lambda_star = (2 * pi * 3e10 * u.cm / u.s / fp).cgs
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
276
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
277 SH = 1 / (1 + (f / f_H) ** (a - 3))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
278 Omega_star = beta_H ** (-2) * alpha / (1 + alpha) * A
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
279 Omega_B = epsilon_turb * Omega_star / 2.0
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
280 Omega_gamma = 2 / g_star
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
281 B = 3e-6 * (Omega_B / Omega_gamma) ** 0.5
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
282 res = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
283 beta_H ** (-2)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
284 * alpha
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
285 / (1 + alpha)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
286 * A
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
287 * (a + b) ** c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
288 / (b * (f / fp) ** (-a / c) + a * (f / fp) ** (b / c)) ** c
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
289 * SH
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
290 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
291 return (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
292 1.6e-5 * (g_star / 100) ** (-1 / 3.0) * res / h**2,
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
293 lambda_star.cgs.value,
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
294 B,
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
295 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
296
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
297 d = np.genfromtxt("NANOGrav23.csv")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
298 gammas_nano = d[:, 0]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
299 As_nano = 10 ** d[:, 1]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
300 ps_nano = 5 - gammas_nano
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
301
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
302 d = np.genfromtxt("EPTA.csv")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
303 gammas_epta = d[:, 0]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
304 As_epta = 10 ** d[:, 1]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
305 ps_epta = 5 - gammas_epta
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
306
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
307 d = np.genfromtxt("PPTA.csv")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
308 gammas_ppta = d[:, 0]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
309 As_ppta = 10 ** d[:, 1]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
310 ps_ppta = 5 - gammas_ppta
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
311
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
312 H0 = 70 * (u.km / u.s) / u.Mpc
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
313
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
314 GW_t = GW_turb_Theo(
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
315 ff * u.Hz, T_star * u.GeV, alpha, beta_H, v_w, epsilon_turb
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
316 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
317 # plt.plot(ff,GW_t,color='magenta')
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
318 GW_t = GW_turb_Andrii(
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
319 ff * u.Hz, T_star * u.GeV, alpha, beta_H, v_w, epsilon_turb
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
320 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
321 GW_s = GW_sound(ff * u.Hz, T_star * u.GeV, alpha, beta_H, v_w)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
322 GW = GW_s + GW_t
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
323
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
324 GW1 = GW_Ellis(ff * u.Hz, T_star * u.GeV, alpha, beta_H, v_w, epsilon_turb)[0]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
325
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
326 # if(Parameterisation=='Lewicki2022'):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
327 # plt.plot(ff,GW1,color='magenta',alpha=0.5,linewidth=4,label='2208.11697')
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
328 # else:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
329 plt.plot(ff, GW_t, color="blue", linestyle="dashed", label="turbulence")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
330 plt.plot(ff, GW_s, color="red", linestyle="dotted", label="sound waves")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
331 plt.plot(ff, GW, linewidth=4, color="black", alpha=0.5, label="total")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
332
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
333 fref = (1 / u.yr).cgs.value
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
334 lgfmin = np.log10(fref / 10.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
335 lgfmax = np.log10(fref / 2.0)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
336 fff = np.logspace(lgfmin, lgfmax, 10) * u.Hz
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
337 min_nano = np.ones(len(fff))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
338 max_nano = np.zeros(len(fff))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
339 for i in range(len(As_nano)):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
340 spec = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
341 2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
342 * pi**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
343 / 3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
344 / H0**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
345 * fff**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
346 * As_nano[i] ** 2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
347 * (fff / fref) ** (3 - gammas_nano[i])
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
348 ).cgs.value
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
349 min_nano = np.minimum(spec, min_nano)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
350 max_nano = np.maximum(spec, max_nano)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
351 # plt.plot(ff,spec)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
352 plt.fill_between(
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
353 fff.value, min_nano, max_nano, color="red", alpha=0.5, label="NANOGrav"
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
354 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
355 min_epta = np.ones(len(fff))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
356 max_epta = np.zeros(len(fff))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
357 for i in range(len(As_epta)):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
358 spec = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
359 2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
360 * pi**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
361 / 3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
362 / H0**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
363 * fff**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
364 * As_epta[i] ** 2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
365 * (fff / fref) ** (3 - gammas_epta[i])
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
366 ).cgs.value
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
367 min_epta = np.minimum(spec, min_epta)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
368 max_epta = np.maximum(spec, max_epta)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
369 # plt.plot(ff,spec)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
370 plt.fill_between(
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
371 fff.value, min_epta, max_epta, color="blue", alpha=0.5, label="EPTA"
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
372 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
373 min_ppta = np.ones(len(fff))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
374 max_ppta = np.zeros(len(fff))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
375 for i in range(len(As_ppta)):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
376 spec = (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
377 2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
378 * pi**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
379 / 3
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
380 / H0**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
381 * fff**2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
382 * As_ppta[i] ** 2
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
383 * (fff / fref) ** (3 - gammas_ppta[i])
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
384 ).cgs.value
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
385 min_ppta = np.minimum(spec, min_ppta)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
386 max_ppta = np.maximum(spec, max_ppta)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
387 # plt.plot(ff,spec)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
388 plt.fill_between(
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
389 fff.value, min_ppta, max_ppta, color="green", alpha=0.5, label="PPTA"
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
390 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
391
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
392 maxGW = max(GW)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
393 ind = np.argmax(GW)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
394 fmax = ff[ind]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
395 plt.xscale("log")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
396 plt.yscale("log")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
397 plt.ylim(maxGW / 1e5, maxGW * 10)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
398 plt.xlim(fmax / 1e3, fmax * 1e3)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
399 plt.grid()
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
400 plt.xscale("log")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
401 plt.yscale("log")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
402 plt.legend(loc="upper left")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
403 plt.xlabel("$f$, Hz")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
404 plt.ylabel("$\Omega_{gw}(f)$")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
405 plt.savefig("Spectrum.png", format="png", bbox_inches="tight")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
406
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
407 bin_image = PictureProduct.from_file("Spectrum.png")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
408 from astropy.table import Table
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
409
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
410 # if(Parameterisation=='Lewicki2022'):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
411 # data=[ff,GW1]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
412 # names=('f[Hz]','Omega_gw')
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
413 # else:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
414 data = [ff, GW_s, GW_t]
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
415 names = ("f[Hz]", "Omega_sound_waves", "Omega_turbulence")
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
416 spectrum = ODAAstropyTable(Table(data, names=names))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
417
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
418 png = bin_image # http://odahub.io/ontology#ODAPictureProduct
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
419 astropy_table = spectrum # http://odahub.io/ontology#ODAAstropyTable
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
420
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
421 # output gathering
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
422 _galaxy_meta_data = {}
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
423 _oda_outs = []
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
424 _oda_outs.append(("out_Model_spectrum_png", "png_galaxy.output", png))
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
425 _oda_outs.append(
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
426 (
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
427 "out_Model_spectrum_astropy_table",
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
428 "astropy_table_galaxy.output",
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
429 astropy_table,
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
430 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
431 )
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
432
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
433 for _outn, _outfn, _outv in _oda_outs:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
434 _galaxy_outfile_name = os.path.join(_galaxy_wd, _outfn)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
435 if isinstance(_outv, str) and os.path.isfile(_outv):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
436 shutil.move(_outv, _galaxy_outfile_name)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
437 _galaxy_meta_data[_outn] = {"ext": "_sniff_"}
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
438 elif getattr(_outv, "write_fits_file", None):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
439 _outv.write_fits_file(_galaxy_outfile_name)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
440 _galaxy_meta_data[_outn] = {"ext": "fits"}
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
441 elif getattr(_outv, "write_file", None):
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
442 _outv.write_file(_galaxy_outfile_name)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
443 _galaxy_meta_data[_outn] = {"ext": "_sniff_"}
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
444 else:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
445 with open(_galaxy_outfile_name, "w") as fd:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
446 json.dump(_outv, fd, cls=CustomJSONEncoder)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
447 _galaxy_meta_data[_outn] = {"ext": "json"}
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
448
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
449 with open(os.path.join(_galaxy_wd, "galaxy.json"), "w") as fd:
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
450 json.dump(_galaxy_meta_data, fd)
c9fc89ee996e planemo upload for repository https://github.com/esg-epfl-apc/tools-astro/tree/main/tools commit d5be3628a0bdad9747451669fa195f1d2acaf3f2
astroteam
parents:
diff changeset
451 print("*** Job finished successfully ***")