Loading [MathJax]/extensions/TeX/AMSsymbols.js
LALSimulation 6.2.0.1-8a6b96f
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
parameter_conventions.py
Go to the documentation of this file.
1import numpy as np
2from astropy import units as u
3
4# Define lists of allowed mass / spin parameter names
5mass_params_old_ = ["mass1_det", "mass2_det",
6 "total_mass_det", "chirp_mass_det",
7 "mass_difference_det", "reduced_mass_det"]
8
9
10mass_params_ = ["mass1", "mass2","total_mass", "chirp_mass",
11 "mass_difference", "reduced_mass"]
12
13mass_params = mass_params_+["mass_ratio", "sym_mass_ratio"]
14
15spin_params = ["spin1x", "spin1y", "spin1z", "spin2x", "spin2y", "spin2z",
16 "spin1_norm","spin1_tilt","spin1_phi","spin2_norm","spin2_tilt","spin2_phi"]
17
18# Waveform generation parameters
19gen_params = ["deltaT", "deltaF", "f22_start", "f_max", "phi_ref", "f22_ref","lmax"]
20
21#Extrinsic parameters
22extrinsic_params = ["distance", "inclination", "longAscNodes", "meanPerAno"]
23
24# Condition Parameters
25condition_params = ["condition"]
26
27#Tidal parameters
28tidal_params = ["lambda1","lambda2","TidalOctupolarLambda1","TidalOctupolarLambda2",
29 "TidalHexadecapolarLambda1","TidalHexadecapolarLambda2",
30 "TidalQuadrupolarFMode1","TidalQuadrupolarFMode2",
31 "TidalOctupolarFMode1","TidalOctupolarFMode2"]
32
33#Non GR parameters
34nongr_params = ["phi1","phi2","phi3","phi4","dchi0","dchi1","dchi2","dchi3","dchi4",
35 "dchi5","dchi5l","dchi6","dchi6l","dchi7","dxi1","dxi2","dxi3","dxi4",
36 "dxi5","dxi6","dsigma1","dsigma2","dsigma3","dsigma4","dalpha1",
37 "dalpha2","dalpha3","dalpha4","dalpha5","dbeta1","dbeta2","dbeta3",
38 "alphaPPE","betaPPE","alphaPPE0","betaPPE0","alphaPPE1","betaPPE1",
39 "alphaPPE2","betaPPE2","alphaPPE3","betaPPE3","alphaPPE4","betaPPE4",
40 "alphaPPE5","betaPPE5","alphaPPE6","betaPPE6","alphaPPE7","betaPPE7",
41 "liv","log10lambda_eff","LIV_A_sign","nonGR_alpha","dchikappaS",
42 "dchikappaA","domega220","dtau220","domega210","dtau210","domega330",
43 "dtau330","domega440","dtau440","domega550","dtau550",]
44
45#Other parameters
46
47other_params = ["eccentricity"]
48
49_other_params = ["modes","axis","NumRelData", "approximant"]
50
51#Array-like parameters
52
53arr_params = ["ModeArray", "ModeArrayJframe"]
54
55
56full_parameter_list = np.concatenate([mass_params, spin_params, gen_params,extrinsic_params,
57 other_params,_other_params,arr_params,tidal_params,nongr_params, condition_params])
58
59#Units shared between dictionaries
60common_units_dictionary = {
61 "spin1x" : u.dimensionless_unscaled,
62 "spin1y" : u.dimensionless_unscaled,
63 "spin1z" : u.dimensionless_unscaled,
64 "spin2x" : u.dimensionless_unscaled,
65 "spin2y" : u.dimensionless_unscaled,
66 "spin2z" : u.dimensionless_unscaled,
67 "spin1_norm":u.dimensionless_unscaled,
68 "spin2_norm":u.dimensionless_unscaled,
69 "spin1_tilt":u.rad,
70 "spin2_tilt":u.rad,
71 "spin1_phi":u.rad,
72 "spin2_phi":u.rad,
73 "deltaT":u.s,
74 "deltaF":u.Hz,
75 "f_min":u.Hz,
76 "f22_start":u.Hz,
77 "f22_ref":u.Hz,
78 "f_max":u.Hz,
79 "f_ref":u.Hz,
80 "phi_ref":u.rad,
81 "inclination":u.rad,
82 "eccentricity":u.dimensionless_unscaled,
83 "longAscNodes":u.rad,
84 "meanPerAno":u.rad
85 }
86
87common_units_dictionary = {**common_units_dictionary,**{param:u.dimensionless_unscaled for param in other_params}}
88common_units_dictionary = {**common_units_dictionary,**{param:u.dimensionless_unscaled for param in nongr_params}}
89common_units_dictionary = {**common_units_dictionary,**{param:u.dimensionless_unscaled for param in tidal_params}}
90
91#SI Units Dictionary
92SI_units_dictionary = {**{mass:u.kg for mass in mass_params_},**{mass_dimensionless:u.dimensionless_unscaled for mass_dimensionless in mass_params if mass_dimensionless not in mass_params_}}
93SI_units_dictionary = {**SI_units_dictionary,**{"distance":u.m},**common_units_dictionary}
94
95#Cosmo Units Dictionary
96Cosmo_units_dictionary = {**{mass:u.solMass for mass in mass_params_},**{mass_dimensionless:u.dimensionless_unscaled for mass_dimensionless in mass_params if mass_dimensionless not in mass_params_}}
97Cosmo_units_dictionary = {**Cosmo_units_dictionary,**{"distance":u.pc},**common_units_dictionary}
98
99units_dict = {"S.I.":SI_units_dictionary,"Cosmo":Cosmo_units_dictionary}
100
101#Non-Dimensional quantities
102
103Non_d_list = np.concatenate([_other_params,arr_params])
104
105default_dict = {"mass1" : 1.*u.solMass,
106 "mass2" : 1.*u.solMass,
107 "spin1x" : 0.*u.dimensionless_unscaled,
108 "spin1y" : 0.*u.dimensionless_unscaled,
109 "spin1z" : 0.*u.dimensionless_unscaled,
110 "spin2x" : 0.*u.dimensionless_unscaled,
111 "spin2y" : 0.*u.dimensionless_unscaled,
112 "spin2z" : 0.*u.dimensionless_unscaled,
113 "deltaT" : 1./64.*u.s,
114 "f22_start" : 20.*u.Hz,
115 "f22_ref" : 20.*u.Hz,
116 "phi_ref": 0.*u.rad,
117 "distance" : 1.*u.Mpc,
118 "inclination" : 0.*u.rad,
119 "eccentricity" : 0.*u.dimensionless_unscaled,
120 "longAscNodes" : 0.*u.rad,
121 "meanPerAno" : 0.*u.rad
122 }