├── .gitignore ├── .readthedocs.yaml ├── CITATION.cff ├── IMRPhenomXAS_Comparison.png ├── LICENSE ├── README.md ├── WF4Py ├── WFfiles │ ├── QNMData_a.txt │ ├── QNMData_fdamp.txt │ ├── QNMData_fring.txt │ └── xiTide_Table_200.h5 ├── WFutils.py ├── __init__.py ├── waveform_models │ ├── IMRPhenomD.py │ ├── IMRPhenomD_NRTidalv2.py │ ├── IMRPhenomHM.py │ ├── IMRPhenomNSBH.py │ ├── IMRPhenomXAS.py │ ├── TaylorF2_RestrictedPN.py │ └── WFclass_definition.py └── waveforms.py ├── WF4Py_tutorial.ipynb ├── docs ├── Makefile ├── README.md ├── docs_requirements.txt ├── make.bat └── source │ ├── WF4Py_logo.png │ ├── _static │ ├── WF4Py_logo.png │ └── custom.css │ ├── citation.rst │ ├── conf.py │ ├── events_parameters.rst │ ├── index.rst │ ├── installation.rst │ ├── notebooks │ └── WF4Py_tutorial.ipynb │ ├── utilities.rst │ └── waveforms.rst ├── requirements.txt └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | __pycache__ 4 | .ipynb_checkpoints 5 | .DS_Store 6 | __pycache__/PyWF.cpython-38.pyc 7 | __pycache__/WFutils.cpython-38.pyc 8 | 9 | docs/build/ -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # .readthedocs.yaml 2 | # Read the Docs configuration file 3 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 4 | 5 | # Required 6 | version: 2 7 | 8 | # Set the version of Python and other tools you might need 9 | build: 10 | os: ubuntu-20.04 11 | tools: 12 | python: "3.9" 13 | # You can also specify other tool versions: 14 | # nodejs: "16" 15 | # rust: "1.55" 16 | # golang: "1.17" 17 | 18 | # Build documentation in the docs/source/ directory with Sphinx 19 | sphinx: 20 | configuration: docs/source/conf.py 21 | 22 | # If using Sphinx, optionally build your docs in additional formats such as PDF 23 | # formats: 24 | # - pdf 25 | 26 | # Optionally declare the Python requirements required to build your docs 27 | python: 28 | # Install gwfast itself before building the docs 29 | install: 30 | - method: pip 31 | path: . 32 | - requirements: requirements.txt 33 | - requirements: docs/docs_requirements.txt 34 | -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- 1 | cff-version: 1.2.0 2 | title: WF4Py 3 | message: >- 4 | If you use this software, please cite it using the 5 | metadata from this file. Please also cite the 6 | provided references to the release papers. 7 | type: software 8 | authors: 9 | - given-names: Francesco 10 | family-names: Iacovelli 11 | email: francesco.iacovelli@unige.ch 12 | affiliation: University of Geneva 13 | orcid: https://orcid.org/0000-0002-4875-5862 14 | repository-code: 'https://github.com/CosmoStatGW/WF4Py' 15 | url: 'https://github.com/CosmoStatGW/WF4Py' 16 | abstract: >- 17 | WF4Py is a user-friendly package implementing 18 | frequency-domain GW waveform models in pure Python, 19 | thus enabling parallelization over multiple events 20 | at a time. 21 | keywords: 22 | - python 23 | - waveforms 24 | - gravitational-waves 25 | license: GPL-3.0 26 | version: 1.0.0 27 | date-released: 2022-09-08 28 | doi: 10.5281/zenodo.7060239 -------------------------------------------------------------------------------- /IMRPhenomXAS_Comparison.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmoStatGW/WF4Py/38c5436a243a84a9700d760f9fb3c8abca6ff7ac/IMRPhenomXAS_Comparison.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) [![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.18914.svg)](http://dx.doi.org/10.5281/zenodo.7060240) [![Documentation Status](https://readthedocs.org/projects/wf4py/badge/?version=latest)](https://wf4py.readthedocs.io/en/latest/?badge=latest) 2 | # WF4Py 3 | User-friendly package implementing GW waveform models in pure python, thus enabling parallelization over multiple events at a time. All the waveforms are accurately checked with their implementation in [LALSuite](). 4 | 5 | Developed by [Francesco Iacovelli](). 6 | 7 | This package is released together with the papers [arXiv:2207.02771]() and [arXiv:2207.06910](), where detail of implementations and results can be found. 8 | 9 | ## Code Organization 10 | The organisation of the repository is the following: 11 | 12 | ``` 13 | WF4Py/WF4Py/ 14 | ├── waveforms.py 15 | Import of the waveform models in the folder 'waveform_models/' for ease of use 16 | ├── waveform_models/ 17 | Core: implementation of various GW waveform models present in 18 | LALSimulation in pure Python 19 | ├── WFutils.py 20 | Auxiliary functions: constants, conversions, 21 | spherical harmonics and parameter checks 22 | ├── WFfiles 23 | Folder containing some text files needed for waveform computation 24 | WF4Py/ 25 | ├── WF4Py_tutorial.ipynb 26 | Jupyter notebook with tutorial for the usage 27 | WF4Py/docs/ 28 | Code documentation in Sphinx 29 | 30 | ``` 31 | 32 | ## Summary 33 | * [Documentation](https://github.com/CosmoStatGW/WF4Py#Documentation) 34 | * [Installation](https://github.com/CosmoStatGW/WF4Py#Installation) 35 | * [Overview and usage](https://github.com/CosmoStatGW/WF4Py#Overview-and-usage) 36 | * [Available models](https://github.com/CosmoStatGW/WF4Py#Available-models) 37 | * [Testing](https://github.com/CosmoStatGW/WF4Py#Testing) 38 | * [Citation](https://github.com/CosmoStatGW/WF4Py#Citation) 39 | * [Bibliography](https://github.com/CosmoStatGW/WF4Py#Bibliography) 40 | 41 | ## Documentation 42 | 43 | WF4Py has its documentation hosted on Read the Docs [here](), and it can also be built from the ```docs``` directory. 44 | 45 | ## Installation 46 | To install the package without cloning the git repository simply run 47 | 48 | ``` 49 | pip install git+https://github.com/CosmoStatGW/WF4Py 50 | ``` 51 | 52 | ## Overview and usage 53 | Each waveform is a derived of the abstract class ```WaveFormModel```, and has built in functions ```Phi```, ```Ampl```, ```tau_star``` and ```fcut``` to compute the **phase**, **amplitude**, **time to coalescence** and **cut frequency**, respectively for the chosen catalog of events. 54 | 55 | The functions accept as inputs the catalog as well as the frequencies at at which the computation has to be performed. 56 | 57 | The catalog has to be a dictionary containing the parameters of the events, such as 58 | 59 | ```python 60 | events = {'Mc':np.array([...]), 61 | 'dL':np.array([...]), 62 | 'iota':np.array([...]), 63 | 'eta':np.array([...]), 64 | 'chi1z':np.array([...]), 65 | 'chi2z':np.array([...]), 66 | 'Lambda1':np.array([...]), 67 | 'Lambda2':np.array([...])} 68 | ``` 69 | where ```Mc``` denotes the **chirp mass** (in units of *solar masses*), ```dL``` the **luminosity distance** (in *Gpc*), ```iota``` the **inclination angle**, ```eta``` the **symmetric mass ratio**, ```chi1z``` and ```chi2z``` the **adimensional spin components** of the two objects aligned with the orbital angular momentum and ```Lambda1``` and ```Lambda2``` the **adimensional tidal deformability** parameters of the objects in the tidal case. 70 | 71 | Any waveform can then be easily used e.g. as 72 | 73 | ```python 74 | waveforms.IMRPhenomD().Ampl(fgrids, **events) 75 | ``` 76 | 77 | #### For a detailed tutorial refer to [```WF4Py_tutorial.ipynb```]() 78 | 79 | ## Available models 80 | * (v1.0.0) ```TaylorF2_RestrictedPN``` (1., 2., 3., 4., 5.) 81 | * (v1.0.0) ```IMRPhenomD``` (6., 7.) 82 | * (v1.0.0) ```IMRPhenomD_NRTidalv2``` (6., 7., 8.) 83 | * (v1.0.0) ```IMRPhenomHM``` (9., 10.) 84 | * (v1.0.0) ```IMRPhenomNSBH``` (8., 11.) 85 | * (v1.0.0) ```IMRPhenomXAS``` (12.) 86 | 87 | ## Testing 88 | The adherence of all the models with their implementation in [LALSuite]() is accuratly tested. As an example, we here report the comparison in the implementations of ```IMRPhenomXAS``` 89 | 90 | ![alt text]() 91 | 92 | ## Citation 93 | If using this software, please cite this repository and the papers [arXiv:2207.02771]() and [arXiv:2207.06910](). Bibtex: 94 | 95 | ``` 96 | @article{Iacovelli:2022bbs, 97 | author = "Iacovelli, Francesco and Mancarella, Michele and Foffa, Stefano and Maggiore, Michele", 98 | title = "{Forecasting the Detection Capabilities of Third-generation Gravitational-wave Detectors Using GWFAST}", 99 | eprint = "2207.02771", 100 | archivePrefix = "arXiv", 101 | primaryClass = "gr-qc", 102 | doi = "10.3847/1538-4357/ac9cd4", 103 | journal = "Astrophys. J.", 104 | volume = "941", 105 | number = "2", 106 | pages = "208", 107 | year = "2022" 108 | } 109 | ``` 110 | 111 | ``` 112 | @article{Iacovelli:2022mbg, 113 | author = "Iacovelli, Francesco and Mancarella, Michele and Foffa, Stefano and Maggiore, Michele", 114 | title = "{GWFAST: A Fisher Information Matrix Python Code for Third-generation Gravitational-wave Detectors}", 115 | eprint = "2207.06910", 116 | archivePrefix = "arXiv", 117 | primaryClass = "astro-ph.IM", 118 | doi = "10.3847/1538-4365/ac9129", 119 | journal = "Astrophys. J. Supp.", 120 | volume = "263", 121 | number = "1", 122 | pages = "2", 123 | year = "2022" 124 | } 125 | ``` 126 | 127 | ## Bibliography 128 | 1. A. Buonanno et al. (2009) [arXiv:0907.0700]() 129 | 2. P. Ajith (2011) [arXiv:1107.1267]() 130 | 3. C. K. Mishra et al. (2016) [arXiv:1601.05588]() 131 | 4. L. Wade et al. (2014) [arXiv:1402.5156]() 132 | 5. B. Moore et al. (2016) [arXiv:1605.00304]() 133 | 6. S. Husa et al. (2015) [arXiv:1508.07250]() 134 | 7. S. Khan et al. (2015) [arXiv:1508.07253]() 135 | 8. T. Dietrich et al. (2019) [arXiv:1905.06011]() 136 | 9. L. London et al. (2018) [arXiv:1708.00404]() 137 | 10. C. Kalaghatgi et al. (2019) [arXiv:1909.10010]() 138 | 11. F. Pannarale et al. (2015) [arXiv:1509.00512]() 139 | 12. G. Pratten et al. (2020) [arXiv:2001.11412](https://arxiv.org/abs/2001.11412) 140 | -------------------------------------------------------------------------------- /WF4Py/WFfiles/QNMData_a.txt: -------------------------------------------------------------------------------- 1 | -1.000000000000000000e+00 2 | -9.989999999999999991e-01 3 | -9.979999999999999982e-01 4 | -9.959999999999999964e-01 5 | -9.939999999999999947e-01 6 | -9.919999999999999929e-01 7 | -9.899999999999999911e-01 8 | -9.879999999999999893e-01 9 | -9.859999999999999876e-01 10 | -9.839999999999999858e-01 11 | -9.819999999999999840e-01 12 | -9.799999999999999822e-01 13 | -9.779999999999999805e-01 14 | -9.759999999999999787e-01 15 | -9.739999999999999769e-01 16 | -9.719999999999999751e-01 17 | -9.699999999999999734e-01 18 | -9.679999999999999716e-01 19 | -9.659999999999999698e-01 20 | -9.639999999999999680e-01 21 | -9.619999999999999662e-01 22 | -9.599999999999999645e-01 23 | -9.579999999999999627e-01 24 | -9.559999999999999609e-01 25 | -9.539999999999999591e-01 26 | -9.519999999999999574e-01 27 | -9.499999999999999556e-01 28 | -9.479999999999999538e-01 29 | -9.459999999999999520e-01 30 | -9.439999999999999503e-01 31 | -9.419999999999999485e-01 32 | -9.399999999999999467e-01 33 | -9.379999999999999449e-01 34 | -9.360000000000000542e-01 35 | -9.340000000000000524e-01 36 | -9.320000000000000506e-01 37 | -9.300000000000000488e-01 38 | -9.280000000000000471e-01 39 | -9.260000000000000453e-01 40 | -9.240000000000000435e-01 41 | -9.220000000000000417e-01 42 | -9.200000000000000400e-01 43 | -9.180000000000000382e-01 44 | -9.160000000000000364e-01 45 | -9.140000000000000346e-01 46 | -9.120000000000000329e-01 47 | -9.100000000000000311e-01 48 | -9.080000000000000293e-01 49 | -9.060000000000000275e-01 50 | -9.040000000000000258e-01 51 | -9.020000000000000240e-01 52 | -9.000000000000000222e-01 53 | -8.980000000000000204e-01 54 | -8.960000000000000187e-01 55 | -8.940000000000000169e-01 56 | -8.920000000000000151e-01 57 | -8.900000000000000133e-01 58 | -8.880000000000000115e-01 59 | -8.860000000000000098e-01 60 | -8.840000000000000080e-01 61 | -8.820000000000000062e-01 62 | -8.800000000000000044e-01 63 | -8.780000000000000027e-01 64 | -8.760000000000000009e-01 65 | -8.739999999999999991e-01 66 | -8.719999999999999973e-01 67 | -8.699999999999999956e-01 68 | -8.679999999999999938e-01 69 | -8.659999999999999920e-01 70 | -8.639999999999999902e-01 71 | -8.619999999999999885e-01 72 | -8.599999999999999867e-01 73 | -8.579999999999999849e-01 74 | -8.559999999999999831e-01 75 | -8.539999999999999813e-01 76 | -8.519999999999999796e-01 77 | -8.499999999999999778e-01 78 | -8.479999999999999760e-01 79 | -8.459999999999999742e-01 80 | -8.439999999999999725e-01 81 | -8.419999999999999707e-01 82 | -8.399999999999999689e-01 83 | -8.379999999999999671e-01 84 | -8.359999999999999654e-01 85 | -8.339999999999999636e-01 86 | -8.319999999999999618e-01 87 | -8.299999999999999600e-01 88 | -8.279999999999999583e-01 89 | -8.259999999999999565e-01 90 | -8.239999999999999547e-01 91 | -8.219999999999999529e-01 92 | -8.199999999999999512e-01 93 | -8.179999999999999494e-01 94 | -8.159999999999999476e-01 95 | -8.139999999999999458e-01 96 | -8.120000000000000551e-01 97 | -8.100000000000000533e-01 98 | -8.080000000000000515e-01 99 | -8.060000000000000497e-01 100 | -8.040000000000000480e-01 101 | -8.020000000000000462e-01 102 | -8.000000000000000444e-01 103 | -7.980000000000000426e-01 104 | -7.960000000000000409e-01 105 | -7.940000000000000391e-01 106 | -7.920000000000000373e-01 107 | -7.900000000000000355e-01 108 | -7.880000000000000338e-01 109 | -7.860000000000000320e-01 110 | -7.840000000000000302e-01 111 | -7.820000000000000284e-01 112 | -7.800000000000000266e-01 113 | -7.780000000000000249e-01 114 | -7.760000000000000231e-01 115 | -7.740000000000000213e-01 116 | -7.720000000000000195e-01 117 | -7.700000000000000178e-01 118 | -7.680000000000000160e-01 119 | -7.660000000000000142e-01 120 | -7.640000000000000124e-01 121 | -7.620000000000000107e-01 122 | -7.600000000000000089e-01 123 | -7.580000000000000071e-01 124 | -7.560000000000000053e-01 125 | -7.540000000000000036e-01 126 | -7.520000000000000018e-01 127 | -7.500000000000000000e-01 128 | -7.479999999999999982e-01 129 | -7.459999999999999964e-01 130 | -7.439999999999999947e-01 131 | -7.419999999999999929e-01 132 | -7.399999999999999911e-01 133 | -7.379999999999999893e-01 134 | -7.359999999999999876e-01 135 | -7.339999999999999858e-01 136 | -7.319999999999999840e-01 137 | -7.299999999999999822e-01 138 | -7.279999999999999805e-01 139 | -7.259999999999999787e-01 140 | -7.239999999999999769e-01 141 | -7.219999999999999751e-01 142 | -7.199999999999999734e-01 143 | -7.179999999999999716e-01 144 | -7.159999999999999698e-01 145 | -7.139999999999999680e-01 146 | -7.119999999999999662e-01 147 | -7.099999999999999645e-01 148 | -7.079999999999999627e-01 149 | -7.059999999999999609e-01 150 | -7.039999999999999591e-01 151 | -7.019999999999999574e-01 152 | -6.999999999999999556e-01 153 | -6.979999999999999538e-01 154 | -6.959999999999999520e-01 155 | -6.939999999999999503e-01 156 | -6.919999999999999485e-01 157 | -6.899999999999999467e-01 158 | -6.879999999999999449e-01 159 | -6.860000000000000542e-01 160 | -6.840000000000000524e-01 161 | -6.820000000000000506e-01 162 | -6.800000000000000488e-01 163 | -6.780000000000000471e-01 164 | -6.760000000000000453e-01 165 | -6.740000000000000435e-01 166 | -6.720000000000000417e-01 167 | -6.700000000000000400e-01 168 | -6.680000000000000382e-01 169 | -6.660000000000000364e-01 170 | -6.640000000000000346e-01 171 | -6.620000000000000329e-01 172 | -6.600000000000000311e-01 173 | -6.580000000000000293e-01 174 | -6.560000000000000275e-01 175 | -6.540000000000000258e-01 176 | -6.520000000000000240e-01 177 | -6.500000000000000222e-01 178 | -6.480000000000000204e-01 179 | -6.460000000000000187e-01 180 | -6.440000000000000169e-01 181 | -6.420000000000000151e-01 182 | -6.400000000000000133e-01 183 | -6.380000000000000115e-01 184 | -6.360000000000000098e-01 185 | -6.340000000000000080e-01 186 | -6.320000000000000062e-01 187 | -6.300000000000000044e-01 188 | -6.280000000000000027e-01 189 | -6.260000000000000009e-01 190 | -6.239999999999999991e-01 191 | -6.219999999999999973e-01 192 | -6.199999999999999956e-01 193 | -6.179999999999999938e-01 194 | -6.159999999999999920e-01 195 | -6.139999999999999902e-01 196 | -6.119999999999999885e-01 197 | -6.099999999999999867e-01 198 | -6.079999999999999849e-01 199 | -6.059999999999999831e-01 200 | -6.039999999999999813e-01 201 | -6.019999999999999796e-01 202 | -5.999999999999999778e-01 203 | -5.979999999999999760e-01 204 | -5.959999999999999742e-01 205 | -5.939999999999999725e-01 206 | -5.919999999999999707e-01 207 | -5.899999999999999689e-01 208 | -5.879999999999999671e-01 209 | -5.859999999999999654e-01 210 | -5.839999999999999636e-01 211 | -5.819999999999999618e-01 212 | -5.799999999999999600e-01 213 | -5.779999999999999583e-01 214 | -5.759999999999999565e-01 215 | -5.739999999999999547e-01 216 | -5.719999999999999529e-01 217 | -5.699999999999999512e-01 218 | -5.679999999999999494e-01 219 | -5.659999999999999476e-01 220 | -5.639999999999999458e-01 221 | -5.620000000000000551e-01 222 | -5.600000000000000533e-01 223 | -5.580000000000000515e-01 224 | -5.560000000000000497e-01 225 | -5.540000000000000480e-01 226 | -5.520000000000000462e-01 227 | -5.500000000000000444e-01 228 | -5.480000000000000426e-01 229 | -5.460000000000000409e-01 230 | -5.440000000000000391e-01 231 | -5.420000000000000373e-01 232 | -5.400000000000000355e-01 233 | -5.380000000000000338e-01 234 | -5.360000000000000320e-01 235 | -5.340000000000000302e-01 236 | -5.320000000000000284e-01 237 | -5.300000000000000266e-01 238 | -5.280000000000000249e-01 239 | -5.260000000000000231e-01 240 | -5.240000000000000213e-01 241 | -5.220000000000000195e-01 242 | -5.200000000000000178e-01 243 | -5.180000000000000160e-01 244 | -5.160000000000000142e-01 245 | -5.140000000000000124e-01 246 | -5.120000000000000107e-01 247 | -5.100000000000000089e-01 248 | -5.080000000000000071e-01 249 | -5.060000000000000053e-01 250 | -5.040000000000000036e-01 251 | -5.020000000000000018e-01 252 | -5.000000000000000000e-01 253 | -4.979999999999999982e-01 254 | -4.959999999999999964e-01 255 | -4.939999999999999947e-01 256 | -4.919999999999999929e-01 257 | -4.899999999999999911e-01 258 | -4.879999999999999893e-01 259 | -4.859999999999999876e-01 260 | -4.839999999999999858e-01 261 | -4.819999999999999840e-01 262 | -4.799999999999999822e-01 263 | -4.779999999999999805e-01 264 | -4.759999999999999787e-01 265 | -4.739999999999999769e-01 266 | -4.719999999999999751e-01 267 | -4.699999999999999734e-01 268 | -4.680000000000000271e-01 269 | -4.660000000000000253e-01 270 | -4.640000000000000235e-01 271 | -4.620000000000000218e-01 272 | -4.600000000000000200e-01 273 | -4.580000000000000182e-01 274 | -4.560000000000000164e-01 275 | -4.540000000000000147e-01 276 | -4.520000000000000129e-01 277 | -4.500000000000000111e-01 278 | -4.480000000000000093e-01 279 | -4.460000000000000075e-01 280 | -4.440000000000000058e-01 281 | -4.420000000000000040e-01 282 | -4.400000000000000022e-01 283 | -4.380000000000000004e-01 284 | -4.359999999999999987e-01 285 | -4.339999999999999969e-01 286 | -4.319999999999999951e-01 287 | -4.299999999999999933e-01 288 | -4.279999999999999916e-01 289 | -4.259999999999999898e-01 290 | -4.239999999999999880e-01 291 | -4.219999999999999862e-01 292 | -4.199999999999999845e-01 293 | -4.179999999999999827e-01 294 | -4.159999999999999809e-01 295 | -4.139999999999999791e-01 296 | -4.119999999999999774e-01 297 | -4.099999999999999756e-01 298 | -4.079999999999999738e-01 299 | -4.060000000000000275e-01 300 | -4.040000000000000258e-01 301 | -4.020000000000000240e-01 302 | -4.000000000000000222e-01 303 | -3.980000000000000204e-01 304 | -3.960000000000000187e-01 305 | -3.940000000000000169e-01 306 | -3.920000000000000151e-01 307 | -3.900000000000000133e-01 308 | -3.880000000000000115e-01 309 | -3.860000000000000098e-01 310 | -3.840000000000000080e-01 311 | -3.820000000000000062e-01 312 | -3.800000000000000044e-01 313 | -3.780000000000000027e-01 314 | -3.760000000000000009e-01 315 | -3.739999999999999991e-01 316 | -3.719999999999999973e-01 317 | -3.699999999999999956e-01 318 | -3.679999999999999938e-01 319 | -3.659999999999999920e-01 320 | -3.639999999999999902e-01 321 | -3.619999999999999885e-01 322 | -3.599999999999999867e-01 323 | -3.579999999999999849e-01 324 | -3.559999999999999831e-01 325 | -3.539999999999999813e-01 326 | -3.519999999999999796e-01 327 | -3.499999999999999778e-01 328 | -3.479999999999999760e-01 329 | -3.459999999999999742e-01 330 | -3.439999999999999725e-01 331 | -3.420000000000000262e-01 332 | -3.400000000000000244e-01 333 | -3.380000000000000226e-01 334 | -3.360000000000000209e-01 335 | -3.340000000000000191e-01 336 | -3.320000000000000173e-01 337 | -3.300000000000000155e-01 338 | -3.280000000000000138e-01 339 | -3.260000000000000120e-01 340 | -3.240000000000000102e-01 341 | -3.220000000000000084e-01 342 | -3.200000000000000067e-01 343 | -3.180000000000000049e-01 344 | -3.160000000000000031e-01 345 | -3.140000000000000013e-01 346 | -3.119999999999999996e-01 347 | -3.099999999999999978e-01 348 | -3.079999999999999960e-01 349 | -3.059999999999999942e-01 350 | -3.039999999999999925e-01 351 | -3.019999999999999907e-01 352 | -2.999999999999999889e-01 353 | -2.979999999999999871e-01 354 | -2.959999999999999853e-01 355 | -2.939999999999999836e-01 356 | -2.919999999999999818e-01 357 | -2.899999999999999800e-01 358 | -2.879999999999999782e-01 359 | -2.859999999999999765e-01 360 | -2.839999999999999747e-01 361 | -2.819999999999999729e-01 362 | -2.800000000000000266e-01 363 | -2.780000000000000249e-01 364 | -2.760000000000000231e-01 365 | -2.740000000000000213e-01 366 | -2.720000000000000195e-01 367 | -2.700000000000000178e-01 368 | -2.680000000000000160e-01 369 | -2.660000000000000142e-01 370 | -2.640000000000000124e-01 371 | -2.620000000000000107e-01 372 | -2.600000000000000089e-01 373 | -2.580000000000000071e-01 374 | -2.560000000000000053e-01 375 | -2.540000000000000036e-01 376 | -2.520000000000000018e-01 377 | -2.500000000000000000e-01 378 | -2.479999999999999982e-01 379 | -2.459999999999999964e-01 380 | -2.439999999999999947e-01 381 | -2.419999999999999929e-01 382 | -2.399999999999999911e-01 383 | -2.379999999999999893e-01 384 | -2.359999999999999876e-01 385 | -2.340000000000000135e-01 386 | -2.320000000000000118e-01 387 | -2.300000000000000100e-01 388 | -2.280000000000000082e-01 389 | -2.260000000000000064e-01 390 | -2.240000000000000047e-01 391 | -2.220000000000000029e-01 392 | -2.200000000000000011e-01 393 | -2.179999999999999993e-01 394 | -2.159999999999999976e-01 395 | -2.139999999999999958e-01 396 | -2.119999999999999940e-01 397 | -2.099999999999999922e-01 398 | -2.079999999999999905e-01 399 | -2.059999999999999887e-01 400 | -2.039999999999999869e-01 401 | -2.020000000000000129e-01 402 | -2.000000000000000111e-01 403 | -1.980000000000000093e-01 404 | -1.960000000000000075e-01 405 | -1.940000000000000058e-01 406 | -1.920000000000000040e-01 407 | -1.900000000000000022e-01 408 | -1.880000000000000004e-01 409 | -1.859999999999999987e-01 410 | -1.839999999999999969e-01 411 | -1.819999999999999951e-01 412 | -1.799999999999999933e-01 413 | -1.779999999999999916e-01 414 | -1.759999999999999898e-01 415 | -1.739999999999999880e-01 416 | -1.719999999999999862e-01 417 | -1.700000000000000122e-01 418 | -1.680000000000000104e-01 419 | -1.660000000000000087e-01 420 | -1.640000000000000069e-01 421 | -1.620000000000000051e-01 422 | -1.600000000000000033e-01 423 | -1.580000000000000016e-01 424 | -1.559999999999999998e-01 425 | -1.539999999999999980e-01 426 | -1.519999999999999962e-01 427 | -1.499999999999999944e-01 428 | -1.479999999999999927e-01 429 | -1.459999999999999909e-01 430 | -1.439999999999999891e-01 431 | -1.419999999999999873e-01 432 | -1.400000000000000133e-01 433 | -1.380000000000000115e-01 434 | -1.360000000000000098e-01 435 | -1.340000000000000080e-01 436 | -1.320000000000000062e-01 437 | -1.300000000000000044e-01 438 | -1.280000000000000027e-01 439 | -1.260000000000000009e-01 440 | -1.239999999999999991e-01 441 | -1.219999999999999973e-01 442 | -1.199999999999999956e-01 443 | -1.179999999999999938e-01 444 | -1.160000000000000059e-01 445 | -1.140000000000000041e-01 446 | -1.120000000000000023e-01 447 | -1.100000000000000006e-01 448 | -1.079999999999999988e-01 449 | -1.059999999999999970e-01 450 | -1.039999999999999952e-01 451 | -1.019999999999999934e-01 452 | -1.000000000000000056e-01 453 | -9.800000000000000377e-02 454 | -9.600000000000000200e-02 455 | -9.400000000000000022e-02 456 | -9.199999999999999845e-02 457 | -8.999999999999999667e-02 458 | -8.799999999999999489e-02 459 | -8.599999999999999312e-02 460 | -8.400000000000000522e-02 461 | -8.200000000000000344e-02 462 | -8.000000000000000167e-02 463 | -7.799999999999999989e-02 464 | -7.599999999999999811e-02 465 | -7.399999999999999634e-02 466 | -7.199999999999999456e-02 467 | -7.000000000000000666e-02 468 | -6.800000000000000488e-02 469 | -6.600000000000000311e-02 470 | -6.400000000000000133e-02 471 | -6.199999999999999956e-02 472 | -5.999999999999999778e-02 473 | -5.800000000000000294e-02 474 | -5.600000000000000117e-02 475 | -5.399999999999999939e-02 476 | -5.199999999999999761e-02 477 | -5.000000000000000278e-02 478 | -4.800000000000000100e-02 479 | -4.599999999999999922e-02 480 | -4.399999999999999745e-02 481 | -4.200000000000000261e-02 482 | -4.000000000000000083e-02 483 | -3.799999999999999906e-02 484 | -3.599999999999999728e-02 485 | -3.400000000000000244e-02 486 | -3.200000000000000067e-02 487 | -2.999999999999999889e-02 488 | -2.800000000000000058e-02 489 | -2.599999999999999881e-02 490 | -2.400000000000000050e-02 491 | -2.199999999999999872e-02 492 | -2.000000000000000042e-02 493 | -1.799999999999999864e-02 494 | -1.600000000000000033e-02 495 | -1.400000000000000029e-02 496 | -1.200000000000000025e-02 497 | -1.000000000000000021e-02 498 | -8.000000000000000167e-03 499 | -6.000000000000000125e-03 500 | -4.000000000000000083e-03 501 | -2.000000000000000042e-03 502 | 0.000000000000000000e+00 503 | 2.000000000000000042e-03 504 | 4.000000000000000083e-03 505 | 6.000000000000000125e-03 506 | 8.000000000000000167e-03 507 | 1.000000000000000021e-02 508 | 1.200000000000000025e-02 509 | 1.400000000000000029e-02 510 | 1.600000000000000033e-02 511 | 1.799999999999999864e-02 512 | 2.000000000000000042e-02 513 | 2.199999999999999872e-02 514 | 2.400000000000000050e-02 515 | 2.599999999999999881e-02 516 | 2.800000000000000058e-02 517 | 2.999999999999999889e-02 518 | 3.200000000000000067e-02 519 | 3.400000000000000244e-02 520 | 3.599999999999999728e-02 521 | 3.799999999999999906e-02 522 | 4.000000000000000083e-02 523 | 4.200000000000000261e-02 524 | 4.399999999999999745e-02 525 | 4.599999999999999922e-02 526 | 4.800000000000000100e-02 527 | 5.000000000000000278e-02 528 | 5.199999999999999761e-02 529 | 5.399999999999999939e-02 530 | 5.600000000000000117e-02 531 | 5.800000000000000294e-02 532 | 5.999999999999999778e-02 533 | 6.199999999999999956e-02 534 | 6.400000000000000133e-02 535 | 6.600000000000000311e-02 536 | 6.800000000000000488e-02 537 | 7.000000000000000666e-02 538 | 7.199999999999999456e-02 539 | 7.399999999999999634e-02 540 | 7.599999999999999811e-02 541 | 7.799999999999999989e-02 542 | 8.000000000000000167e-02 543 | 8.200000000000000344e-02 544 | 8.400000000000000522e-02 545 | 8.599999999999999312e-02 546 | 8.799999999999999489e-02 547 | 8.999999999999999667e-02 548 | 9.199999999999999845e-02 549 | 9.400000000000000022e-02 550 | 9.600000000000000200e-02 551 | 9.800000000000000377e-02 552 | 1.000000000000000056e-01 553 | 1.019999999999999934e-01 554 | 1.039999999999999952e-01 555 | 1.059999999999999970e-01 556 | 1.079999999999999988e-01 557 | 1.100000000000000006e-01 558 | 1.120000000000000023e-01 559 | 1.140000000000000041e-01 560 | 1.160000000000000059e-01 561 | 1.179999999999999938e-01 562 | 1.199999999999999956e-01 563 | 1.219999999999999973e-01 564 | 1.239999999999999991e-01 565 | 1.260000000000000009e-01 566 | 1.280000000000000027e-01 567 | 1.300000000000000044e-01 568 | 1.320000000000000062e-01 569 | 1.340000000000000080e-01 570 | 1.360000000000000098e-01 571 | 1.380000000000000115e-01 572 | 1.400000000000000133e-01 573 | 1.419999999999999873e-01 574 | 1.439999999999999891e-01 575 | 1.459999999999999909e-01 576 | 1.479999999999999927e-01 577 | 1.499999999999999944e-01 578 | 1.519999999999999962e-01 579 | 1.539999999999999980e-01 580 | 1.559999999999999998e-01 581 | 1.580000000000000016e-01 582 | 1.600000000000000033e-01 583 | 1.620000000000000051e-01 584 | 1.640000000000000069e-01 585 | 1.660000000000000087e-01 586 | 1.680000000000000104e-01 587 | 1.700000000000000122e-01 588 | 1.719999999999999862e-01 589 | 1.739999999999999880e-01 590 | 1.759999999999999898e-01 591 | 1.779999999999999916e-01 592 | 1.799999999999999933e-01 593 | 1.819999999999999951e-01 594 | 1.839999999999999969e-01 595 | 1.859999999999999987e-01 596 | 1.880000000000000004e-01 597 | 1.900000000000000022e-01 598 | 1.920000000000000040e-01 599 | 1.940000000000000058e-01 600 | 1.960000000000000075e-01 601 | 1.980000000000000093e-01 602 | 2.000000000000000111e-01 603 | 2.020000000000000129e-01 604 | 2.039999999999999869e-01 605 | 2.059999999999999887e-01 606 | 2.079999999999999905e-01 607 | 2.099999999999999922e-01 608 | 2.119999999999999940e-01 609 | 2.139999999999999958e-01 610 | 2.159999999999999976e-01 611 | 2.179999999999999993e-01 612 | 2.200000000000000011e-01 613 | 2.220000000000000029e-01 614 | 2.240000000000000047e-01 615 | 2.260000000000000064e-01 616 | 2.280000000000000082e-01 617 | 2.300000000000000100e-01 618 | 2.320000000000000118e-01 619 | 2.340000000000000135e-01 620 | 2.359999999999999876e-01 621 | 2.379999999999999893e-01 622 | 2.399999999999999911e-01 623 | 2.419999999999999929e-01 624 | 2.439999999999999947e-01 625 | 2.459999999999999964e-01 626 | 2.479999999999999982e-01 627 | 2.500000000000000000e-01 628 | 2.520000000000000018e-01 629 | 2.540000000000000036e-01 630 | 2.560000000000000053e-01 631 | 2.580000000000000071e-01 632 | 2.600000000000000089e-01 633 | 2.620000000000000107e-01 634 | 2.640000000000000124e-01 635 | 2.660000000000000142e-01 636 | 2.680000000000000160e-01 637 | 2.700000000000000178e-01 638 | 2.720000000000000195e-01 639 | 2.740000000000000213e-01 640 | 2.760000000000000231e-01 641 | 2.780000000000000249e-01 642 | 2.800000000000000266e-01 643 | 2.819999999999999729e-01 644 | 2.839999999999999747e-01 645 | 2.859999999999999765e-01 646 | 2.879999999999999782e-01 647 | 2.899999999999999800e-01 648 | 2.919999999999999818e-01 649 | 2.939999999999999836e-01 650 | 2.959999999999999853e-01 651 | 2.979999999999999871e-01 652 | 2.999999999999999889e-01 653 | 3.019999999999999907e-01 654 | 3.039999999999999925e-01 655 | 3.059999999999999942e-01 656 | 3.079999999999999960e-01 657 | 3.099999999999999978e-01 658 | 3.119999999999999996e-01 659 | 3.140000000000000013e-01 660 | 3.160000000000000031e-01 661 | 3.180000000000000049e-01 662 | 3.200000000000000067e-01 663 | 3.220000000000000084e-01 664 | 3.240000000000000102e-01 665 | 3.260000000000000120e-01 666 | 3.280000000000000138e-01 667 | 3.300000000000000155e-01 668 | 3.320000000000000173e-01 669 | 3.340000000000000191e-01 670 | 3.360000000000000209e-01 671 | 3.380000000000000226e-01 672 | 3.400000000000000244e-01 673 | 3.420000000000000262e-01 674 | 3.439999999999999725e-01 675 | 3.459999999999999742e-01 676 | 3.479999999999999760e-01 677 | 3.499999999999999778e-01 678 | 3.519999999999999796e-01 679 | 3.539999999999999813e-01 680 | 3.559999999999999831e-01 681 | 3.579999999999999849e-01 682 | 3.599999999999999867e-01 683 | 3.619999999999999885e-01 684 | 3.639999999999999902e-01 685 | 3.659999999999999920e-01 686 | 3.679999999999999938e-01 687 | 3.699999999999999956e-01 688 | 3.719999999999999973e-01 689 | 3.739999999999999991e-01 690 | 3.760000000000000009e-01 691 | 3.780000000000000027e-01 692 | 3.800000000000000044e-01 693 | 3.820000000000000062e-01 694 | 3.840000000000000080e-01 695 | 3.860000000000000098e-01 696 | 3.880000000000000115e-01 697 | 3.900000000000000133e-01 698 | 3.920000000000000151e-01 699 | 3.940000000000000169e-01 700 | 3.960000000000000187e-01 701 | 3.980000000000000204e-01 702 | 4.000000000000000222e-01 703 | 4.020000000000000240e-01 704 | 4.040000000000000258e-01 705 | 4.060000000000000275e-01 706 | 4.079999999999999738e-01 707 | 4.099999999999999756e-01 708 | 4.119999999999999774e-01 709 | 4.139999999999999791e-01 710 | 4.159999999999999809e-01 711 | 4.179999999999999827e-01 712 | 4.199999999999999845e-01 713 | 4.219999999999999862e-01 714 | 4.239999999999999880e-01 715 | 4.259999999999999898e-01 716 | 4.279999999999999916e-01 717 | 4.299999999999999933e-01 718 | 4.319999999999999951e-01 719 | 4.339999999999999969e-01 720 | 4.359999999999999987e-01 721 | 4.380000000000000004e-01 722 | 4.400000000000000022e-01 723 | 4.420000000000000040e-01 724 | 4.440000000000000058e-01 725 | 4.460000000000000075e-01 726 | 4.480000000000000093e-01 727 | 4.500000000000000111e-01 728 | 4.520000000000000129e-01 729 | 4.540000000000000147e-01 730 | 4.560000000000000164e-01 731 | 4.580000000000000182e-01 732 | 4.600000000000000200e-01 733 | 4.620000000000000218e-01 734 | 4.640000000000000235e-01 735 | 4.660000000000000253e-01 736 | 4.680000000000000271e-01 737 | 4.699999999999999734e-01 738 | 4.719999999999999751e-01 739 | 4.739999999999999769e-01 740 | 4.759999999999999787e-01 741 | 4.779999999999999805e-01 742 | 4.799999999999999822e-01 743 | 4.819999999999999840e-01 744 | 4.839999999999999858e-01 745 | 4.859999999999999876e-01 746 | 4.879999999999999893e-01 747 | 4.899999999999999911e-01 748 | 4.919999999999999929e-01 749 | 4.939999999999999947e-01 750 | 4.959999999999999964e-01 751 | 4.979999999999999982e-01 752 | 5.000000000000000000e-01 753 | 5.020000000000000018e-01 754 | 5.040000000000000036e-01 755 | 5.060000000000000053e-01 756 | 5.080000000000000071e-01 757 | 5.100000000000000089e-01 758 | 5.120000000000000107e-01 759 | 5.140000000000000124e-01 760 | 5.160000000000000142e-01 761 | 5.180000000000000160e-01 762 | 5.200000000000000178e-01 763 | 5.220000000000000195e-01 764 | 5.240000000000000213e-01 765 | 5.260000000000000231e-01 766 | 5.280000000000000249e-01 767 | 5.300000000000000266e-01 768 | 5.320000000000000284e-01 769 | 5.340000000000000302e-01 770 | 5.360000000000000320e-01 771 | 5.380000000000000338e-01 772 | 5.400000000000000355e-01 773 | 5.420000000000000373e-01 774 | 5.440000000000000391e-01 775 | 5.460000000000000409e-01 776 | 5.480000000000000426e-01 777 | 5.500000000000000444e-01 778 | 5.520000000000000462e-01 779 | 5.540000000000000480e-01 780 | 5.560000000000000497e-01 781 | 5.580000000000000515e-01 782 | 5.600000000000000533e-01 783 | 5.620000000000000551e-01 784 | 5.639999999999999458e-01 785 | 5.659999999999999476e-01 786 | 5.679999999999999494e-01 787 | 5.699999999999999512e-01 788 | 5.719999999999999529e-01 789 | 5.739999999999999547e-01 790 | 5.759999999999999565e-01 791 | 5.779999999999999583e-01 792 | 5.799999999999999600e-01 793 | 5.819999999999999618e-01 794 | 5.839999999999999636e-01 795 | 5.859999999999999654e-01 796 | 5.879999999999999671e-01 797 | 5.899999999999999689e-01 798 | 5.919999999999999707e-01 799 | 5.939999999999999725e-01 800 | 5.959999999999999742e-01 801 | 5.979999999999999760e-01 802 | 5.999999999999999778e-01 803 | 6.019999999999999796e-01 804 | 6.039999999999999813e-01 805 | 6.059999999999999831e-01 806 | 6.079999999999999849e-01 807 | 6.099999999999999867e-01 808 | 6.119999999999999885e-01 809 | 6.139999999999999902e-01 810 | 6.159999999999999920e-01 811 | 6.179999999999999938e-01 812 | 6.199999999999999956e-01 813 | 6.219999999999999973e-01 814 | 6.239999999999999991e-01 815 | 6.260000000000000009e-01 816 | 6.280000000000000027e-01 817 | 6.300000000000000044e-01 818 | 6.320000000000000062e-01 819 | 6.340000000000000080e-01 820 | 6.360000000000000098e-01 821 | 6.380000000000000115e-01 822 | 6.400000000000000133e-01 823 | 6.420000000000000151e-01 824 | 6.440000000000000169e-01 825 | 6.460000000000000187e-01 826 | 6.480000000000000204e-01 827 | 6.500000000000000222e-01 828 | 6.520000000000000240e-01 829 | 6.540000000000000258e-01 830 | 6.560000000000000275e-01 831 | 6.580000000000000293e-01 832 | 6.600000000000000311e-01 833 | 6.620000000000000329e-01 834 | 6.640000000000000346e-01 835 | 6.660000000000000364e-01 836 | 6.680000000000000382e-01 837 | 6.700000000000000400e-01 838 | 6.720000000000000417e-01 839 | 6.740000000000000435e-01 840 | 6.760000000000000453e-01 841 | 6.780000000000000471e-01 842 | 6.800000000000000488e-01 843 | 6.820000000000000506e-01 844 | 6.840000000000000524e-01 845 | 6.860000000000000542e-01 846 | 6.879999999999999449e-01 847 | 6.899999999999999467e-01 848 | 6.919999999999999485e-01 849 | 6.939999999999999503e-01 850 | 6.959999999999999520e-01 851 | 6.979999999999999538e-01 852 | 6.999999999999999556e-01 853 | 7.019999999999999574e-01 854 | 7.039999999999999591e-01 855 | 7.059999999999999609e-01 856 | 7.079999999999999627e-01 857 | 7.099999999999999645e-01 858 | 7.119999999999999662e-01 859 | 7.139999999999999680e-01 860 | 7.159999999999999698e-01 861 | 7.179999999999999716e-01 862 | 7.199999999999999734e-01 863 | 7.219999999999999751e-01 864 | 7.239999999999999769e-01 865 | 7.259999999999999787e-01 866 | 7.279999999999999805e-01 867 | 7.299999999999999822e-01 868 | 7.319999999999999840e-01 869 | 7.339999999999999858e-01 870 | 7.359999999999999876e-01 871 | 7.379999999999999893e-01 872 | 7.399999999999999911e-01 873 | 7.419999999999999929e-01 874 | 7.439999999999999947e-01 875 | 7.459999999999999964e-01 876 | 7.479999999999999982e-01 877 | 7.500000000000000000e-01 878 | 7.520000000000000018e-01 879 | 7.540000000000000036e-01 880 | 7.560000000000000053e-01 881 | 7.580000000000000071e-01 882 | 7.600000000000000089e-01 883 | 7.620000000000000107e-01 884 | 7.640000000000000124e-01 885 | 7.660000000000000142e-01 886 | 7.680000000000000160e-01 887 | 7.700000000000000178e-01 888 | 7.720000000000000195e-01 889 | 7.740000000000000213e-01 890 | 7.760000000000000231e-01 891 | 7.780000000000000249e-01 892 | 7.800000000000000266e-01 893 | 7.820000000000000284e-01 894 | 7.840000000000000302e-01 895 | 7.860000000000000320e-01 896 | 7.880000000000000338e-01 897 | 7.900000000000000355e-01 898 | 7.920000000000000373e-01 899 | 7.940000000000000391e-01 900 | 7.960000000000000409e-01 901 | 7.980000000000000426e-01 902 | 8.000000000000000444e-01 903 | 8.020000000000000462e-01 904 | 8.040000000000000480e-01 905 | 8.060000000000000497e-01 906 | 8.080000000000000515e-01 907 | 8.100000000000000533e-01 908 | 8.120000000000000551e-01 909 | 8.139999999999999458e-01 910 | 8.159999999999999476e-01 911 | 8.179999999999999494e-01 912 | 8.199999999999999512e-01 913 | 8.219999999999999529e-01 914 | 8.239999999999999547e-01 915 | 8.259999999999999565e-01 916 | 8.279999999999999583e-01 917 | 8.299999999999999600e-01 918 | 8.319999999999999618e-01 919 | 8.339999999999999636e-01 920 | 8.359999999999999654e-01 921 | 8.379999999999999671e-01 922 | 8.399999999999999689e-01 923 | 8.419999999999999707e-01 924 | 8.439999999999999725e-01 925 | 8.459999999999999742e-01 926 | 8.479999999999999760e-01 927 | 8.499999999999999778e-01 928 | 8.519999999999999796e-01 929 | 8.539999999999999813e-01 930 | 8.559999999999999831e-01 931 | 8.579999999999999849e-01 932 | 8.599999999999999867e-01 933 | 8.619999999999999885e-01 934 | 8.639999999999999902e-01 935 | 8.659999999999999920e-01 936 | 8.679999999999999938e-01 937 | 8.699999999999999956e-01 938 | 8.719999999999999973e-01 939 | 8.739999999999999991e-01 940 | 8.760000000000000009e-01 941 | 8.780000000000000027e-01 942 | 8.800000000000000044e-01 943 | 8.820000000000000062e-01 944 | 8.840000000000000080e-01 945 | 8.860000000000000098e-01 946 | 8.880000000000000115e-01 947 | 8.900000000000000133e-01 948 | 8.920000000000000151e-01 949 | 8.940000000000000169e-01 950 | 8.960000000000000187e-01 951 | 8.980000000000000204e-01 952 | 9.000000000000000222e-01 953 | 9.020000000000000240e-01 954 | 9.040000000000000258e-01 955 | 9.060000000000000275e-01 956 | 9.080000000000000293e-01 957 | 9.100000000000000311e-01 958 | 9.120000000000000329e-01 959 | 9.140000000000000346e-01 960 | 9.160000000000000364e-01 961 | 9.180000000000000382e-01 962 | 9.200000000000000400e-01 963 | 9.220000000000000417e-01 964 | 9.240000000000000435e-01 965 | 9.260000000000000453e-01 966 | 9.280000000000000471e-01 967 | 9.300000000000000488e-01 968 | 9.320000000000000506e-01 969 | 9.340000000000000524e-01 970 | 9.360000000000000542e-01 971 | 9.379999999999999449e-01 972 | 9.399999999999999467e-01 973 | 9.419999999999999485e-01 974 | 9.439999999999999503e-01 975 | 9.459999999999999520e-01 976 | 9.479999999999999538e-01 977 | 9.499999999999999556e-01 978 | 9.519999999999999574e-01 979 | 9.539999999999999591e-01 980 | 9.559999999999999609e-01 981 | 9.579999999999999627e-01 982 | 9.599999999999999645e-01 983 | 9.619999999999999662e-01 984 | 9.639999999999999680e-01 985 | 9.659999999999999698e-01 986 | 9.679999999999999716e-01 987 | 9.699999999999999734e-01 988 | 9.719999999999999751e-01 989 | 9.739999999999999769e-01 990 | 9.759999999999999787e-01 991 | 9.779999999999999805e-01 992 | 9.799999999999999822e-01 993 | 9.819999999999999840e-01 994 | 9.839999999999999858e-01 995 | 9.859999999999999876e-01 996 | 9.879999999999999893e-01 997 | 9.899999999999999911e-01 998 | 9.919999999999999929e-01 999 | 9.939999999999999947e-01 1000 | 9.959999999999999964e-01 1001 | 9.979999999999999982e-01 1002 | 9.989999999999999991e-01 1003 | 1.000000000000000000e+00 1004 | -------------------------------------------------------------------------------- /WF4Py/WFfiles/QNMData_fdamp.txt: -------------------------------------------------------------------------------- 1 | 1.400979999999999934e-02 2 | 1.401020000000000043e-02 3 | 1.401059999999999979e-02 4 | 1.401140000000000024e-02 5 | 1.401769999999999926e-02 6 | 1.401540000000000077e-02 7 | 1.401479999999999913e-02 8 | 1.401499999999999968e-02 9 | 1.401559999999999959e-02 10 | 1.401640000000000004e-02 11 | 1.401720000000000049e-02 12 | 1.401810000000000035e-02 13 | 1.401890000000000081e-02 14 | 1.401980000000000066e-02 15 | 1.402059999999999938e-02 16 | 1.402139999999999984e-02 17 | 1.402229999999999970e-02 18 | 1.402310000000000015e-02 19 | 1.402390000000000060e-02 20 | 1.402469999999999932e-02 21 | 1.402559999999999918e-02 22 | 1.402639999999999963e-02 23 | 1.402720000000000009e-02 24 | 1.402800000000000054e-02 25 | 1.402879999999999926e-02 26 | 1.402959999999999971e-02 27 | 1.403049999999999957e-02 28 | 1.403130000000000002e-02 29 | 1.403210000000000048e-02 30 | 1.403289999999999919e-02 31 | 1.403369999999999965e-02 32 | 1.403450000000000010e-02 33 | 1.403530000000000055e-02 34 | 1.403609999999999927e-02 35 | 1.403689999999999972e-02 36 | 1.403770000000000018e-02 37 | 1.403850000000000063e-02 38 | 1.403929999999999935e-02 39 | 1.404009999999999980e-02 40 | 1.404090000000000026e-02 41 | 1.404170000000000071e-02 42 | 1.404249999999999943e-02 43 | 1.404329999999999988e-02 44 | 1.404399999999999919e-02 45 | 1.404479999999999965e-02 46 | 1.404560000000000010e-02 47 | 1.404640000000000055e-02 48 | 1.404719999999999927e-02 49 | 1.404799999999999972e-02 50 | 1.404870000000000077e-02 51 | 1.404949999999999949e-02 52 | 1.405029999999999994e-02 53 | 1.405110000000000040e-02 54 | 1.405190000000000085e-02 55 | 1.405260000000000016e-02 56 | 1.405340000000000061e-02 57 | 1.405419999999999933e-02 58 | 1.405490000000000038e-02 59 | 1.405570000000000083e-02 60 | 1.405649999999999955e-02 61 | 1.405720000000000060e-02 62 | 1.405799999999999932e-02 63 | 1.405870000000000036e-02 64 | 1.405950000000000082e-02 65 | 1.406029999999999953e-02 66 | 1.406100000000000058e-02 67 | 1.406179999999999930e-02 68 | 1.406250000000000035e-02 69 | 1.406330000000000080e-02 70 | 1.406400000000000011e-02 71 | 1.406480000000000057e-02 72 | 1.406549999999999988e-02 73 | 1.406630000000000033e-02 74 | 1.406699999999999964e-02 75 | 1.406770000000000069e-02 76 | 1.406849999999999941e-02 77 | 1.406920000000000046e-02 78 | 1.406999999999999917e-02 79 | 1.407070000000000022e-02 80 | 1.407139999999999953e-02 81 | 1.407219999999999999e-02 82 | 1.407289999999999930e-02 83 | 1.407360000000000035e-02 84 | 1.407440000000000080e-02 85 | 1.407510000000000011e-02 86 | 1.407579999999999942e-02 87 | 1.407650000000000047e-02 88 | 1.407719999999999978e-02 89 | 1.407800000000000024e-02 90 | 1.407869999999999955e-02 91 | 1.407940000000000060e-02 92 | 1.408009999999999991e-02 93 | 1.408079999999999922e-02 94 | 1.408150000000000027e-02 95 | 1.408219999999999958e-02 96 | 1.408290000000000063e-02 97 | 1.408369999999999934e-02 98 | 1.408440000000000039e-02 99 | 1.408509999999999970e-02 100 | 1.408580000000000075e-02 101 | 1.408650000000000006e-02 102 | 1.408719999999999938e-02 103 | 1.408790000000000042e-02 104 | 1.408850000000000033e-02 105 | 1.408919999999999964e-02 106 | 1.408990000000000069e-02 107 | 1.409060000000000000e-02 108 | 1.409129999999999931e-02 109 | 1.409200000000000036e-02 110 | 1.409269999999999967e-02 111 | 1.409340000000000072e-02 112 | 1.409400000000000062e-02 113 | 1.409469999999999994e-02 114 | 1.409539999999999925e-02 115 | 1.409610000000000030e-02 116 | 1.409670000000000020e-02 117 | 1.409739999999999951e-02 118 | 1.409810000000000056e-02 119 | 1.409879999999999987e-02 120 | 1.409939999999999978e-02 121 | 1.410010000000000083e-02 122 | 1.410070000000000073e-02 123 | 1.410140000000000005e-02 124 | 1.410209999999999936e-02 125 | 1.410269999999999926e-02 126 | 1.410340000000000031e-02 127 | 1.410400000000000022e-02 128 | 1.410469999999999953e-02 129 | 1.410529999999999944e-02 130 | 1.410600000000000048e-02 131 | 1.410660000000000039e-02 132 | 1.410729999999999970e-02 133 | 1.410789999999999961e-02 134 | 1.410860000000000065e-02 135 | 1.410920000000000056e-02 136 | 1.410980000000000047e-02 137 | 1.411049999999999978e-02 138 | 1.411109999999999969e-02 139 | 1.411169999999999959e-02 140 | 1.411240000000000064e-02 141 | 1.411300000000000054e-02 142 | 1.411360000000000045e-02 143 | 1.411420000000000036e-02 144 | 1.411489999999999967e-02 145 | 1.411549999999999958e-02 146 | 1.411609999999999948e-02 147 | 1.411669999999999939e-02 148 | 1.411729999999999929e-02 149 | 1.411800000000000034e-02 150 | 1.411860000000000025e-02 151 | 1.411920000000000015e-02 152 | 1.411980000000000006e-02 153 | 1.412039999999999997e-02 154 | 1.412099999999999987e-02 155 | 1.412159999999999978e-02 156 | 1.412219999999999968e-02 157 | 1.412279999999999959e-02 158 | 1.412339999999999950e-02 159 | 1.412399999999999940e-02 160 | 1.412459999999999931e-02 161 | 1.412519999999999921e-02 162 | 1.412569999999999971e-02 163 | 1.412629999999999962e-02 164 | 1.412689999999999953e-02 165 | 1.412749999999999943e-02 166 | 1.412809999999999934e-02 167 | 1.412869999999999925e-02 168 | 1.412919999999999975e-02 169 | 1.412979999999999965e-02 170 | 1.413039999999999956e-02 171 | 1.413090000000000006e-02 172 | 1.413149999999999996e-02 173 | 1.413209999999999987e-02 174 | 1.413260000000000037e-02 175 | 1.413320000000000028e-02 176 | 1.413380000000000018e-02 177 | 1.413430000000000068e-02 178 | 1.413490000000000059e-02 179 | 1.413539999999999935e-02 180 | 1.413599999999999926e-02 181 | 1.413649999999999976e-02 182 | 1.413709999999999967e-02 183 | 1.413760000000000017e-02 184 | 1.413820000000000007e-02 185 | 1.413870000000000057e-02 186 | 1.413919999999999934e-02 187 | 1.413979999999999924e-02 188 | 1.414029999999999974e-02 189 | 1.414080000000000024e-02 190 | 1.414140000000000015e-02 191 | 1.414190000000000065e-02 192 | 1.414239999999999942e-02 193 | 1.414289999999999992e-02 194 | 1.414349999999999982e-02 195 | 1.414400000000000032e-02 196 | 1.414450000000000082e-02 197 | 1.414499999999999959e-02 198 | 1.414550000000000009e-02 199 | 1.414600000000000059e-02 200 | 1.414660000000000049e-02 201 | 1.414709999999999926e-02 202 | 1.414759999999999976e-02 203 | 1.414810000000000026e-02 204 | 1.414860000000000076e-02 205 | 1.414909999999999952e-02 206 | 1.414960000000000002e-02 207 | 1.414999999999999938e-02 208 | 1.415049999999999988e-02 209 | 1.415100000000000038e-02 210 | 1.415149999999999915e-02 211 | 1.415199999999999965e-02 212 | 1.415250000000000015e-02 213 | 1.415300000000000065e-02 214 | 1.415340000000000001e-02 215 | 1.415390000000000051e-02 216 | 1.415439999999999927e-02 217 | 1.415489999999999977e-02 218 | 1.415529999999999913e-02 219 | 1.415579999999999963e-02 220 | 1.415620000000000073e-02 221 | 1.415669999999999949e-02 222 | 1.415719999999999999e-02 223 | 1.415759999999999935e-02 224 | 1.415809999999999985e-02 225 | 1.415849999999999921e-02 226 | 1.415899999999999971e-02 227 | 1.415940000000000080e-02 228 | 1.415989999999999957e-02 229 | 1.416030000000000066e-02 230 | 1.416079999999999943e-02 231 | 1.416120000000000052e-02 232 | 1.416159999999999988e-02 233 | 1.416210000000000038e-02 234 | 1.416249999999999974e-02 235 | 1.416290000000000084e-02 236 | 1.416330000000000019e-02 237 | 1.416380000000000070e-02 238 | 1.416420000000000005e-02 239 | 1.416459999999999941e-02 240 | 1.416500000000000051e-02 241 | 1.416539999999999987e-02 242 | 1.416579999999999923e-02 243 | 1.416620000000000032e-02 244 | 1.416670000000000082e-02 245 | 1.416710000000000018e-02 246 | 1.416749999999999954e-02 247 | 1.416790000000000063e-02 248 | 1.416829999999999999e-02 249 | 1.416859999999999994e-02 250 | 1.416899999999999930e-02 251 | 1.416940000000000040e-02 252 | 1.416979999999999976e-02 253 | 1.417020000000000085e-02 254 | 1.417060000000000021e-02 255 | 1.417099999999999957e-02 256 | 1.417129999999999952e-02 257 | 1.417170000000000062e-02 258 | 1.417209999999999998e-02 259 | 1.417239999999999993e-02 260 | 1.417279999999999929e-02 261 | 1.417320000000000038e-02 262 | 1.417350000000000033e-02 263 | 1.417389999999999969e-02 264 | 1.417419999999999965e-02 265 | 1.417460000000000074e-02 266 | 1.417490000000000069e-02 267 | 1.417530000000000005e-02 268 | 1.417560000000000001e-02 269 | 1.417599999999999937e-02 270 | 1.417629999999999932e-02 271 | 1.417659999999999927e-02 272 | 1.417700000000000037e-02 273 | 1.417730000000000032e-02 274 | 1.417760000000000027e-02 275 | 1.417799999999999963e-02 276 | 1.417829999999999958e-02 277 | 1.417859999999999954e-02 278 | 1.417889999999999949e-02 279 | 1.417919999999999944e-02 280 | 1.417960000000000054e-02 281 | 1.417990000000000049e-02 282 | 1.418020000000000044e-02 283 | 1.418050000000000040e-02 284 | 1.418080000000000035e-02 285 | 1.418110000000000030e-02 286 | 1.418140000000000026e-02 287 | 1.418170000000000021e-02 288 | 1.418190000000000076e-02 289 | 1.418220000000000071e-02 290 | 1.418250000000000066e-02 291 | 1.418280000000000061e-02 292 | 1.418310000000000057e-02 293 | 1.418329999999999938e-02 294 | 1.418359999999999933e-02 295 | 1.418389999999999929e-02 296 | 1.418419999999999924e-02 297 | 1.418439999999999979e-02 298 | 1.418469999999999974e-02 299 | 1.418490000000000029e-02 300 | 1.418520000000000024e-02 301 | 1.418540000000000079e-02 302 | 1.418570000000000074e-02 303 | 1.418589999999999955e-02 304 | 1.418619999999999950e-02 305 | 1.418640000000000005e-02 306 | 1.418670000000000000e-02 307 | 1.418690000000000055e-02 308 | 1.418709999999999936e-02 309 | 1.418739999999999932e-02 310 | 1.418759999999999986e-02 311 | 1.418780000000000041e-02 312 | 1.418799999999999922e-02 313 | 1.418819999999999977e-02 314 | 1.418840000000000032e-02 315 | 1.418870000000000027e-02 316 | 1.418890000000000082e-02 317 | 1.418909999999999963e-02 318 | 1.418930000000000018e-02 319 | 1.418950000000000072e-02 320 | 1.418969999999999954e-02 321 | 1.418990000000000008e-02 322 | 1.418999999999999949e-02 323 | 1.419020000000000004e-02 324 | 1.419040000000000058e-02 325 | 1.419059999999999939e-02 326 | 1.419079999999999994e-02 327 | 1.419089999999999935e-02 328 | 1.419109999999999989e-02 329 | 1.419130000000000044e-02 330 | 1.419139999999999985e-02 331 | 1.419160000000000039e-02 332 | 1.419169999999999980e-02 333 | 1.419190000000000035e-02 334 | 1.419199999999999975e-02 335 | 1.419220000000000030e-02 336 | 1.419229999999999971e-02 337 | 1.419250000000000025e-02 338 | 1.419259999999999966e-02 339 | 1.419270000000000080e-02 340 | 1.419289999999999961e-02 341 | 1.419300000000000075e-02 342 | 1.419310000000000016e-02 343 | 1.419319999999999957e-02 344 | 1.419340000000000011e-02 345 | 1.419349999999999952e-02 346 | 1.419360000000000066e-02 347 | 1.419370000000000007e-02 348 | 1.419379999999999947e-02 349 | 1.419390000000000061e-02 350 | 1.419400000000000002e-02 351 | 1.419409999999999943e-02 352 | 1.419420000000000057e-02 353 | 1.419420000000000057e-02 354 | 1.419429999999999997e-02 355 | 1.419439999999999938e-02 356 | 1.419450000000000052e-02 357 | 1.419459999999999993e-02 358 | 1.419459999999999993e-02 359 | 1.419469999999999933e-02 360 | 1.419469999999999933e-02 361 | 1.419480000000000047e-02 362 | 1.419489999999999988e-02 363 | 1.419489999999999988e-02 364 | 1.419489999999999988e-02 365 | 1.419499999999999929e-02 366 | 1.419499999999999929e-02 367 | 1.419510000000000043e-02 368 | 1.419510000000000043e-02 369 | 1.419510000000000043e-02 370 | 1.419510000000000043e-02 371 | 1.419519999999999983e-02 372 | 1.419519999999999983e-02 373 | 1.419519999999999983e-02 374 | 1.419519999999999983e-02 375 | 1.419519999999999983e-02 376 | 1.419519999999999983e-02 377 | 1.419519999999999983e-02 378 | 1.419519999999999983e-02 379 | 1.419519999999999983e-02 380 | 1.419519999999999983e-02 381 | 1.419519999999999983e-02 382 | 1.419510000000000043e-02 383 | 1.419510000000000043e-02 384 | 1.419510000000000043e-02 385 | 1.419499999999999929e-02 386 | 1.419499999999999929e-02 387 | 1.419499999999999929e-02 388 | 1.419489999999999988e-02 389 | 1.419489999999999988e-02 390 | 1.419480000000000047e-02 391 | 1.419480000000000047e-02 392 | 1.419469999999999933e-02 393 | 1.419459999999999993e-02 394 | 1.419459999999999993e-02 395 | 1.419450000000000052e-02 396 | 1.419439999999999938e-02 397 | 1.419429999999999997e-02 398 | 1.419420000000000057e-02 399 | 1.419409999999999943e-02 400 | 1.419400000000000002e-02 401 | 1.419390000000000061e-02 402 | 1.419379999999999947e-02 403 | 1.419370000000000007e-02 404 | 1.419360000000000066e-02 405 | 1.419349999999999952e-02 406 | 1.419340000000000011e-02 407 | 1.419330000000000071e-02 408 | 1.419310000000000016e-02 409 | 1.419300000000000075e-02 410 | 1.419289999999999961e-02 411 | 1.419270000000000080e-02 412 | 1.419259999999999966e-02 413 | 1.419240000000000085e-02 414 | 1.419229999999999971e-02 415 | 1.419209999999999916e-02 416 | 1.419190000000000035e-02 417 | 1.419179999999999921e-02 418 | 1.419160000000000039e-02 419 | 1.419139999999999985e-02 420 | 1.419119999999999930e-02 421 | 1.419109999999999989e-02 422 | 1.419089999999999935e-02 423 | 1.419070000000000054e-02 424 | 1.419049999999999999e-02 425 | 1.419029999999999944e-02 426 | 1.419010000000000063e-02 427 | 1.418980000000000068e-02 428 | 1.418960000000000013e-02 429 | 1.418939999999999958e-02 430 | 1.418920000000000077e-02 431 | 1.418890000000000082e-02 432 | 1.418870000000000027e-02 433 | 1.418849999999999972e-02 434 | 1.418819999999999977e-02 435 | 1.418799999999999922e-02 436 | 1.418769999999999927e-02 437 | 1.418739999999999932e-02 438 | 1.418720000000000050e-02 439 | 1.418690000000000055e-02 440 | 1.418660000000000060e-02 441 | 1.418630000000000065e-02 442 | 1.418600000000000069e-02 443 | 1.418580000000000015e-02 444 | 1.418550000000000019e-02 445 | 1.418520000000000024e-02 446 | 1.418479999999999915e-02 447 | 1.418449999999999919e-02 448 | 1.418419999999999924e-02 449 | 1.418389999999999929e-02 450 | 1.418359999999999933e-02 451 | 1.418319999999999997e-02 452 | 1.418290000000000002e-02 453 | 1.418260000000000007e-02 454 | 1.418220000000000071e-02 455 | 1.418190000000000076e-02 456 | 1.418149999999999966e-02 457 | 1.418110000000000030e-02 458 | 1.418080000000000035e-02 459 | 1.418039999999999926e-02 460 | 1.417999999999999990e-02 461 | 1.417960000000000054e-02 462 | 1.417919999999999944e-02 463 | 1.417880000000000008e-02 464 | 1.417840000000000072e-02 465 | 1.417799999999999963e-02 466 | 1.417760000000000027e-02 467 | 1.417719999999999918e-02 468 | 1.417679999999999982e-02 469 | 1.417629999999999932e-02 470 | 1.417589999999999996e-02 471 | 1.417550000000000060e-02 472 | 1.417500000000000010e-02 473 | 1.417460000000000074e-02 474 | 1.417410000000000024e-02 475 | 1.417359999999999974e-02 476 | 1.417320000000000038e-02 477 | 1.417269999999999988e-02 478 | 1.417219999999999938e-02 479 | 1.417170000000000062e-02 480 | 1.417120000000000012e-02 481 | 1.417069999999999962e-02 482 | 1.417020000000000085e-02 483 | 1.416970000000000035e-02 484 | 1.416919999999999985e-02 485 | 1.416869999999999935e-02 486 | 1.416809999999999944e-02 487 | 1.416760000000000068e-02 488 | 1.416710000000000018e-02 489 | 1.416650000000000027e-02 490 | 1.416590000000000037e-02 491 | 1.416539999999999987e-02 492 | 1.416479999999999996e-02 493 | 1.416420000000000005e-02 494 | 1.416369999999999955e-02 495 | 1.416309999999999965e-02 496 | 1.416249999999999974e-02 497 | 1.416189999999999984e-02 498 | 1.416129999999999993e-02 499 | 1.416070000000000002e-02 500 | 1.416000000000000071e-02 501 | 1.415940000000000080e-02 502 | 1.415879999999999916e-02 503 | 1.415819999999999926e-02 504 | 1.415749999999999995e-02 505 | 1.415690000000000004e-02 506 | 1.415620000000000073e-02 507 | 1.415549999999999968e-02 508 | 1.415489999999999977e-02 509 | 1.415420000000000046e-02 510 | 1.415349999999999941e-02 511 | 1.415280000000000010e-02 512 | 1.415210000000000079e-02 513 | 1.415139999999999974e-02 514 | 1.415070000000000043e-02 515 | 1.414999999999999938e-02 516 | 1.414920000000000067e-02 517 | 1.414849999999999962e-02 518 | 1.414780000000000031e-02 519 | 1.414699999999999985e-02 520 | 1.414619999999999940e-02 521 | 1.414550000000000009e-02 522 | 1.414469999999999963e-02 523 | 1.414389999999999918e-02 524 | 1.414310000000000046e-02 525 | 1.414239999999999942e-02 526 | 1.414160000000000070e-02 527 | 1.414070000000000084e-02 528 | 1.413990000000000039e-02 529 | 1.413909999999999993e-02 530 | 1.413829999999999948e-02 531 | 1.413739999999999962e-02 532 | 1.413659999999999917e-02 533 | 1.413569999999999931e-02 534 | 1.413490000000000059e-02 535 | 1.413400000000000073e-02 536 | 1.413309999999999914e-02 537 | 1.413219999999999928e-02 538 | 1.413129999999999942e-02 539 | 1.413039999999999956e-02 540 | 1.412949999999999970e-02 541 | 1.412859999999999984e-02 542 | 1.412769999999999998e-02 543 | 1.412670000000000071e-02 544 | 1.412580000000000086e-02 545 | 1.412479999999999986e-02 546 | 1.412390000000000000e-02 547 | 1.412290000000000073e-02 548 | 1.412189999999999973e-02 549 | 1.412099999999999987e-02 550 | 1.412000000000000061e-02 551 | 1.411899999999999961e-02 552 | 1.411800000000000034e-02 553 | 1.411689999999999993e-02 554 | 1.411590000000000067e-02 555 | 1.411489999999999967e-02 556 | 1.411379999999999926e-02 557 | 1.411280000000000000e-02 558 | 1.411169999999999959e-02 559 | 1.411059999999999919e-02 560 | 1.410950000000000051e-02 561 | 1.410849999999999951e-02 562 | 1.410740000000000084e-02 563 | 1.410619999999999929e-02 564 | 1.410510000000000062e-02 565 | 1.410400000000000022e-02 566 | 1.410289999999999981e-02 567 | 1.410170000000000000e-02 568 | 1.410059999999999959e-02 569 | 1.409939999999999978e-02 570 | 1.409819999999999997e-02 571 | 1.409700000000000016e-02 572 | 1.409580000000000034e-02 573 | 1.409460000000000053e-02 574 | 1.409340000000000072e-02 575 | 1.409219999999999917e-02 576 | 1.409099999999999936e-02 577 | 1.408970000000000014e-02 578 | 1.408850000000000033e-02 579 | 1.408719999999999938e-02 580 | 1.408590000000000016e-02 581 | 1.408459999999999920e-02 582 | 1.408329999999999999e-02 583 | 1.408200000000000077e-02 584 | 1.408069999999999981e-02 585 | 1.407940000000000060e-02 586 | 1.407809999999999964e-02 587 | 1.407669999999999928e-02 588 | 1.407530000000000066e-02 589 | 1.407399999999999970e-02 590 | 1.407259999999999935e-02 591 | 1.407120000000000072e-02 592 | 1.406980000000000036e-02 593 | 1.406840000000000000e-02 594 | 1.406699999999999964e-02 595 | 1.406549999999999988e-02 596 | 1.406409999999999952e-02 597 | 1.406259999999999975e-02 598 | 1.406119999999999939e-02 599 | 1.405969999999999963e-02 600 | 1.405819999999999986e-02 601 | 1.405670000000000010e-02 602 | 1.405520000000000033e-02 603 | 1.405359999999999943e-02 604 | 1.405209999999999966e-02 605 | 1.405050000000000049e-02 606 | 1.404900000000000072e-02 607 | 1.404739999999999982e-02 608 | 1.404580000000000065e-02 609 | 1.404419999999999974e-02 610 | 1.404260000000000057e-02 611 | 1.404099999999999966e-02 612 | 1.403929999999999935e-02 613 | 1.403770000000000018e-02 614 | 1.403599999999999987e-02 615 | 1.403429999999999955e-02 616 | 1.403270000000000038e-02 617 | 1.403100000000000007e-02 618 | 1.402920000000000035e-02 619 | 1.402750000000000004e-02 620 | 1.402579999999999973e-02 621 | 1.402400000000000001e-02 622 | 1.402229999999999970e-02 623 | 1.402049999999999998e-02 624 | 1.401870000000000026e-02 625 | 1.401690000000000054e-02 626 | 1.401510000000000082e-02 627 | 1.401319999999999996e-02 628 | 1.401140000000000024e-02 629 | 1.400949999999999938e-02 630 | 1.400760000000000026e-02 631 | 1.400569999999999940e-02 632 | 1.400380000000000028e-02 633 | 1.400189999999999942e-02 634 | 1.400000000000000029e-02 635 | 1.399800000000000003e-02 636 | 1.399609999999999917e-02 637 | 1.399410000000000064e-02 638 | 1.399210000000000037e-02 639 | 1.399010000000000011e-02 640 | 1.398809999999999984e-02 641 | 1.398600000000000017e-02 642 | 1.398399999999999990e-02 643 | 1.398190000000000023e-02 644 | 1.397980000000000056e-02 645 | 1.397769999999999915e-02 646 | 1.397559999999999948e-02 647 | 1.397349999999999981e-02 648 | 1.397130000000000073e-02 649 | 1.396909999999999992e-02 650 | 1.396700000000000025e-02 651 | 1.396479999999999944e-02 652 | 1.396249999999999922e-02 653 | 1.396030000000000014e-02 654 | 1.395809999999999933e-02 655 | 1.395580000000000084e-02 656 | 1.395350000000000062e-02 657 | 1.395120000000000041e-02 658 | 1.394890000000000019e-02 659 | 1.394659999999999997e-02 660 | 1.394420000000000034e-02 661 | 1.394190000000000013e-02 662 | 1.393950000000000050e-02 663 | 1.393709999999999914e-02 664 | 1.393460000000000011e-02 665 | 1.393220000000000049e-02 666 | 1.392969999999999972e-02 667 | 1.392730000000000010e-02 668 | 1.392479999999999933e-02 669 | 1.392230000000000030e-02 670 | 1.391970000000000013e-02 671 | 1.391719999999999936e-02 672 | 1.391459999999999919e-02 673 | 1.391200000000000075e-02 674 | 1.390940000000000058e-02 675 | 1.390680000000000041e-02 676 | 1.390410000000000083e-02 677 | 1.390139999999999952e-02 678 | 1.389869999999999994e-02 679 | 1.389600000000000037e-02 680 | 1.389330000000000079e-02 681 | 1.389059999999999948e-02 682 | 1.388780000000000049e-02 683 | 1.388499999999999977e-02 684 | 1.388220000000000079e-02 685 | 1.387930000000000066e-02 686 | 1.387649999999999995e-02 687 | 1.387359999999999982e-02 688 | 1.387069999999999970e-02 689 | 1.386779999999999957e-02 690 | 1.386480000000000004e-02 691 | 1.386189999999999992e-02 692 | 1.385890000000000039e-02 693 | 1.385590000000000085e-02 694 | 1.385280000000000018e-02 695 | 1.384980000000000065e-02 696 | 1.384669999999999998e-02 697 | 1.384359999999999931e-02 698 | 1.384050000000000037e-02 699 | 1.383730000000000029e-02 700 | 1.383410000000000022e-02 701 | 1.383090000000000014e-02 702 | 1.382770000000000006e-02 703 | 1.382440000000000058e-02 704 | 1.382120000000000050e-02 705 | 1.381789999999999928e-02 706 | 1.381450000000000039e-02 707 | 1.381119999999999917e-02 708 | 1.380780000000000028e-02 709 | 1.380439999999999966e-02 710 | 1.380100000000000077e-02 711 | 1.379750000000000074e-02 712 | 1.379400000000000071e-02 713 | 1.379050000000000067e-02 714 | 1.378700000000000064e-02 715 | 1.378339999999999947e-02 716 | 1.377980000000000003e-02 717 | 1.377620000000000060e-02 718 | 1.377259999999999943e-02 719 | 1.376890000000000058e-02 720 | 1.376520000000000001e-02 721 | 1.376149999999999943e-02 722 | 1.375769999999999944e-02 723 | 1.375389999999999946e-02 724 | 1.375009999999999948e-02 725 | 1.374620000000000009e-02 726 | 1.374240000000000010e-02 727 | 1.373839999999999957e-02 728 | 1.373450000000000018e-02 729 | 1.373049999999999965e-02 730 | 1.372650000000000085e-02 731 | 1.372250000000000032e-02 732 | 1.371840000000000039e-02 733 | 1.371430000000000045e-02 734 | 1.371020000000000051e-02 735 | 1.370599999999999943e-02 736 | 1.370180000000000009e-02 737 | 1.369760000000000075e-02 738 | 1.369330000000000026e-02 739 | 1.368899999999999978e-02 740 | 1.368469999999999930e-02 741 | 1.368029999999999941e-02 742 | 1.367589999999999952e-02 743 | 1.367149999999999962e-02 744 | 1.366700000000000033e-02 745 | 1.366249999999999930e-02 746 | 1.365790000000000060e-02 747 | 1.365330000000000016e-02 748 | 1.364869999999999972e-02 749 | 1.364409999999999928e-02 750 | 1.363939999999999944e-02 751 | 1.363460000000000019e-02 752 | 1.362979999999999921e-02 753 | 1.362499999999999996e-02 754 | 1.362020000000000071e-02 755 | 1.361530000000000032e-02 756 | 1.361030000000000052e-02 757 | 1.360540000000000013e-02 758 | 1.360040000000000034e-02 759 | 1.359529999999999940e-02 760 | 1.359020000000000020e-02 761 | 1.358509999999999926e-02 762 | 1.357990000000000065e-02 763 | 1.357470000000000031e-02 764 | 1.356940000000000056e-02 765 | 1.356410000000000081e-02 766 | 1.355869999999999992e-02 767 | 1.355330000000000076e-02 768 | 1.354789999999999987e-02 769 | 1.354239999999999958e-02 770 | 1.353679999999999987e-02 771 | 1.353120000000000017e-02 772 | 1.352560000000000047e-02 773 | 1.351989999999999963e-02 774 | 1.351420000000000052e-02 775 | 1.350840000000000027e-02 776 | 1.350260000000000002e-02 777 | 1.349670000000000036e-02 778 | 1.349069999999999957e-02 779 | 1.348479999999999991e-02 780 | 1.347869999999999971e-02 781 | 1.347259999999999951e-02 782 | 1.346649999999999930e-02 783 | 1.346029999999999970e-02 784 | 1.345410000000000009e-02 785 | 1.344779999999999934e-02 786 | 1.344139999999999918e-02 787 | 1.343500000000000076e-02 788 | 1.342849999999999946e-02 789 | 1.342199999999999990e-02 790 | 1.341539999999999920e-02 791 | 1.340880000000000023e-02 792 | 1.340210000000000012e-02 793 | 1.339530000000000061e-02 794 | 1.338849999999999936e-02 795 | 1.338160000000000044e-02 796 | 1.337469999999999978e-02 797 | 1.336760000000000032e-02 798 | 1.336060000000000025e-02 799 | 1.335339999999999964e-02 800 | 1.334620000000000077e-02 801 | 1.333900000000000016e-02 802 | 1.333160000000000074e-02 803 | 1.332419999999999959e-02 804 | 1.331680000000000016e-02 805 | 1.330920000000000020e-02 806 | 1.330160000000000023e-02 807 | 1.329400000000000026e-02 808 | 1.328619999999999975e-02 809 | 1.327839999999999923e-02 810 | 1.327049999999999931e-02 811 | 1.326249999999999998e-02 812 | 1.325450000000000066e-02 813 | 1.324640000000000019e-02 814 | 1.323820000000000031e-02 815 | 1.322989999999999930e-02 816 | 1.322160000000000002e-02 817 | 1.321310000000000019e-02 818 | 1.320460000000000036e-02 819 | 1.319599999999999940e-02 820 | 1.318740000000000016e-02 821 | 1.317860000000000038e-02 822 | 1.316969999999999946e-02 823 | 1.316080000000000028e-02 824 | 1.315179999999999995e-02 825 | 1.314270000000000022e-02 826 | 1.313349999999999934e-02 827 | 1.312420000000000080e-02 828 | 1.311479999999999937e-02 829 | 1.310539999999999969e-02 830 | 1.309579999999999946e-02 831 | 1.308609999999999982e-02 832 | 1.307640000000000018e-02 833 | 1.306649999999999999e-02 834 | 1.305659999999999980e-02 835 | 1.304650000000000080e-02 836 | 1.303630000000000067e-02 837 | 1.302610000000000053e-02 838 | 1.301569999999999984e-02 839 | 1.300519999999999975e-02 840 | 1.299460000000000025e-02 841 | 1.298389999999999961e-02 842 | 1.297309999999999956e-02 843 | 1.296220000000000011e-02 844 | 1.295119999999999952e-02 845 | 1.294000000000000011e-02 846 | 1.292880000000000071e-02 847 | 1.291740000000000076e-02 848 | 1.290589999999999966e-02 849 | 1.289419999999999976e-02 850 | 1.288249999999999985e-02 851 | 1.287059999999999940e-02 852 | 1.285859999999999954e-02 853 | 1.284639999999999914e-02 854 | 1.283420000000000047e-02 855 | 1.282179999999999952e-02 856 | 1.280919999999999975e-02 857 | 1.279650000000000058e-02 858 | 1.278370000000000027e-02 859 | 1.277069999999999941e-02 860 | 1.275759999999999915e-02 861 | 1.274430000000000007e-02 862 | 1.273089999999999986e-02 863 | 1.271740000000000023e-02 864 | 1.270360000000000066e-02 865 | 1.268979999999999934e-02 866 | 1.267569999999999981e-02 867 | 1.266149999999999914e-02 868 | 1.264720000000000080e-02 869 | 1.263260000000000077e-02 870 | 1.261789999999999960e-02 871 | 1.260310000000000076e-02 872 | 1.258800000000000023e-02 873 | 1.257280000000000030e-02 874 | 1.255739999999999981e-02 875 | 1.254180000000000052e-02 876 | 1.252600000000000068e-02 877 | 1.251000000000000029e-02 878 | 1.249379999999999935e-02 879 | 1.247739999999999960e-02 880 | 1.246090000000000045e-02 881 | 1.244409999999999961e-02 882 | 1.242709999999999995e-02 883 | 1.240989999999999975e-02 884 | 1.239250000000000074e-02 885 | 1.237480000000000004e-02 886 | 1.235699999999999993e-02 887 | 1.233889999999999987e-02 888 | 1.232049999999999985e-02 889 | 1.230200000000000043e-02 890 | 1.228319999999999933e-02 891 | 1.226410000000000000e-02 892 | 1.224480000000000013e-02 893 | 1.222520000000000030e-02 894 | 1.220539999999999993e-02 895 | 1.218529999999999960e-02 896 | 1.216500000000000047e-02 897 | 1.214430000000000023e-02 898 | 1.212339999999999945e-02 899 | 1.210220000000000046e-02 900 | 1.208069999999999977e-02 901 | 1.205889999999999913e-02 902 | 1.203680000000000028e-02 903 | 1.201439999999999973e-02 904 | 1.199169999999999923e-02 905 | 1.196859999999999938e-02 906 | 1.194519999999999957e-02 907 | 1.192149999999999981e-02 908 | 1.189740000000000068e-02 909 | 1.187299999999999987e-02 910 | 1.184819999999999970e-02 911 | 1.182300000000000018e-02 912 | 1.179750000000000069e-02 913 | 1.177160000000000012e-02 914 | 1.174520000000000078e-02 915 | 1.171849999999999975e-02 916 | 1.169139999999999936e-02 917 | 1.166380000000000021e-02 918 | 1.163579999999999996e-02 919 | 1.160740000000000036e-02 920 | 1.157850000000000025e-02 921 | 1.154920000000000078e-02 922 | 1.151929999999999968e-02 923 | 1.148899999999999921e-02 924 | 1.145819999999999998e-02 925 | 1.142690000000000025e-02 926 | 1.139500000000000061e-02 927 | 1.136260000000000048e-02 928 | 1.132960000000000043e-02 929 | 1.129609999999999989e-02 930 | 1.126199999999999944e-02 931 | 1.122730000000000082e-02 932 | 1.119200000000000056e-02 933 | 1.115610000000000039e-02 934 | 1.111949999999999918e-02 935 | 1.108220000000000038e-02 936 | 1.104420000000000054e-02 937 | 1.100560000000000080e-02 938 | 1.096620000000000060e-02 939 | 1.092609999999999935e-02 940 | 1.088519999999999939e-02 941 | 1.084350000000000071e-02 942 | 1.080090000000000043e-02 943 | 1.075760000000000084e-02 944 | 1.071330000000000025e-02 945 | 1.066819999999999921e-02 946 | 1.062210000000000064e-02 947 | 1.057510000000000047e-02 948 | 1.052699999999999990e-02 949 | 1.047799999999999947e-02 950 | 1.042779999999999922e-02 951 | 1.037659999999999971e-02 952 | 1.032429999999999980e-02 953 | 1.027070000000000066e-02 954 | 1.021589999999999998e-02 955 | 1.015989999999999949e-02 956 | 1.010250000000000037e-02 957 | 1.004380000000000030e-02 958 | 9.983580000000000579e-03 959 | 9.921910000000000798e-03 960 | 9.858689999999999815e-03 961 | 9.793849999999999778e-03 962 | 9.727319999999999370e-03 963 | 9.659030000000000740e-03 964 | 9.588889999999999220e-03 965 | 9.516820000000000487e-03 966 | 9.442719999999999933e-03 967 | 9.366499999999999826e-03 968 | 9.288050000000000819e-03 969 | 9.207250000000000156e-03 970 | 9.123990000000000225e-03 971 | 9.038110000000000241e-03 972 | 8.949489999999999182e-03 973 | 8.857949999999999852e-03 974 | 8.763319999999999790e-03 975 | 8.665420000000000067e-03 976 | 8.564030000000000253e-03 977 | 8.458929999999999921e-03 978 | 8.349850000000000674e-03 979 | 8.236510000000000706e-03 980 | 8.118600000000000122e-03 981 | 7.995759999999999326e-03 982 | 7.867600000000000635e-03 983 | 7.733659999999999840e-03 984 | 7.593429999999999971e-03 985 | 7.446310000000000255e-03 986 | 7.291640000000000274e-03 987 | 7.128609999999999634e-03 988 | 6.956290000000000390e-03 989 | 6.773580000000000399e-03 990 | 6.579139999999999815e-03 991 | 6.371339999999999643e-03 992 | 6.148190000000000426e-03 993 | 5.907120000000000079e-03 994 | 5.644849999999999868e-03 995 | 5.356989999999999842e-03 996 | 5.037500000000000311e-03 997 | 4.677630000000000329e-03 998 | 4.263890000000000215e-03 999 | 3.773490000000000004e-03 1000 | 3.161800000000000201e-03 1001 | 2.313099999999999792e-03 1002 | 1.676200000000000086e-03 1003 | 2.908000000000000211e-04 1004 | -------------------------------------------------------------------------------- /WF4Py/WFfiles/QNMData_fring.txt: -------------------------------------------------------------------------------- 1 | 4.640140000000000237e-02 2 | 4.641100000000000086e-02 3 | 4.641970000000000124e-02 4 | 4.643730000000000080e-02 5 | 4.645259999999999667e-02 6 | 4.647300000000000042e-02 7 | 4.649090000000000167e-02 8 | 4.650839999999999835e-02 9 | 4.652590000000000198e-02 10 | 4.654350000000000154e-02 11 | 4.656110000000000110e-02 12 | 4.657889999999999947e-02 13 | 4.659660000000000191e-02 14 | 4.661440000000000028e-02 15 | 4.663219999999999865e-02 16 | 4.665009999999999990e-02 17 | 4.666789999999999827e-02 18 | 4.668579999999999952e-02 19 | 4.670379999999999671e-02 20 | 4.672169999999999795e-02 21 | 4.673970000000000208e-02 22 | 4.675769999999999926e-02 23 | 4.677570000000000339e-02 24 | 4.679370000000000057e-02 25 | 4.681169999999999776e-02 26 | 4.682979999999999782e-02 27 | 4.684789999999999788e-02 28 | 4.686599999999999794e-02 29 | 4.688420000000000087e-02 30 | 4.690239999999999687e-02 31 | 4.692049999999999693e-02 32 | 4.693880000000000274e-02 33 | 4.695699999999999874e-02 34 | 4.697520000000000168e-02 35 | 4.699350000000000055e-02 36 | 4.701179999999999942e-02 37 | 4.703020000000000117e-02 38 | 4.704850000000000004e-02 39 | 4.706690000000000179e-02 40 | 4.708529999999999660e-02 41 | 4.710369999999999835e-02 42 | 4.712210000000000010e-02 43 | 4.714059999999999778e-02 44 | 4.715910000000000241e-02 45 | 4.717760000000000009e-02 46 | 4.719620000000000065e-02 47 | 4.721469999999999834e-02 48 | 4.723329999999999890e-02 49 | 4.725189999999999946e-02 50 | 4.727050000000000002e-02 51 | 4.728920000000000345e-02 52 | 4.730789999999999995e-02 53 | 4.732660000000000339e-02 54 | 4.734529999999999988e-02 55 | 4.736409999999999926e-02 56 | 4.738289999999999863e-02 57 | 4.740169999999999800e-02 58 | 4.742049999999999738e-02 59 | 4.743929999999999675e-02 60 | 4.745819999999999900e-02 61 | 4.747710000000000125e-02 62 | 4.749599999999999655e-02 63 | 4.751500000000000168e-02 64 | 4.753399999999999986e-02 65 | 4.755299999999999805e-02 66 | 4.757200000000000317e-02 67 | 4.759100000000000136e-02 68 | 4.761010000000000242e-02 69 | 4.762919999999999654e-02 70 | 4.764829999999999760e-02 71 | 4.766750000000000154e-02 72 | 4.768660000000000260e-02 73 | 4.770579999999999959e-02 74 | 4.772509999999999947e-02 75 | 4.774430000000000340e-02 76 | 4.776360000000000328e-02 77 | 4.778290000000000315e-02 78 | 4.780220000000000302e-02 79 | 4.782159999999999883e-02 80 | 4.784089999999999870e-02 81 | 4.786030000000000145e-02 82 | 4.787980000000000014e-02 83 | 4.789920000000000289e-02 84 | 4.791870000000000157e-02 85 | 4.793820000000000026e-02 86 | 4.795769999999999894e-02 87 | 4.797730000000000050e-02 88 | 4.799690000000000206e-02 89 | 4.801649999999999668e-02 90 | 4.803609999999999824e-02 91 | 4.805580000000000268e-02 92 | 4.807550000000000018e-02 93 | 4.809519999999999768e-02 94 | 4.811490000000000211e-02 95 | 4.813470000000000248e-02 96 | 4.815450000000000286e-02 97 | 4.817430000000000323e-02 98 | 4.819419999999999954e-02 99 | 4.821399999999999991e-02 100 | 4.823390000000000316e-02 101 | 4.825390000000000235e-02 102 | 4.827379999999999866e-02 103 | 4.829379999999999784e-02 104 | 4.831379999999999703e-02 105 | 4.833389999999999909e-02 106 | 4.835389999999999827e-02 107 | 4.837400000000000033e-02 108 | 4.839410000000000239e-02 109 | 4.841430000000000039e-02 110 | 4.843449999999999839e-02 111 | 4.845470000000000332e-02 112 | 4.847490000000000132e-02 113 | 4.849509999999999932e-02 114 | 4.851540000000000019e-02 115 | 4.853570000000000106e-02 116 | 4.855609999999999787e-02 117 | 4.857639999999999875e-02 118 | 4.859680000000000250e-02 119 | 4.861730000000000218e-02 120 | 4.863769999999999899e-02 121 | 4.865819999999999868e-02 122 | 4.867869999999999836e-02 123 | 4.869919999999999805e-02 124 | 4.871980000000000061e-02 125 | 4.874040000000000317e-02 126 | 4.876099999999999879e-02 127 | 4.878169999999999729e-02 128 | 4.880240000000000272e-02 129 | 4.882310000000000122e-02 130 | 4.884379999999999972e-02 131 | 4.886460000000000109e-02 132 | 4.888540000000000246e-02 133 | 4.890619999999999690e-02 134 | 4.892699999999999827e-02 135 | 4.894790000000000252e-02 136 | 4.896879999999999983e-02 137 | 4.898980000000000001e-02 138 | 4.901080000000000020e-02 139 | 4.903180000000000038e-02 140 | 4.905280000000000057e-02 141 | 4.907389999999999669e-02 142 | 4.909489999999999688e-02 143 | 4.911610000000000281e-02 144 | 4.913719999999999893e-02 145 | 4.915839999999999793e-02 146 | 4.917959999999999693e-02 147 | 4.920080000000000287e-02 148 | 4.922209999999999780e-02 149 | 4.924339999999999967e-02 150 | 4.926470000000000155e-02 151 | 4.928609999999999935e-02 152 | 4.930749999999999716e-02 153 | 4.932890000000000191e-02 154 | 4.935040000000000260e-02 155 | 4.937190000000000328e-02 156 | 4.939339999999999703e-02 157 | 4.941489999999999772e-02 158 | 4.943650000000000128e-02 159 | 4.945809999999999790e-02 160 | 4.947970000000000146e-02 161 | 4.950140000000000096e-02 162 | 4.952310000000000045e-02 163 | 4.954479999999999995e-02 164 | 4.956660000000000232e-02 165 | 4.958839999999999776e-02 166 | 4.961020000000000013e-02 167 | 4.963209999999999844e-02 168 | 4.965399999999999675e-02 169 | 4.967590000000000200e-02 170 | 4.969790000000000318e-02 171 | 4.971980000000000149e-02 172 | 4.974189999999999862e-02 173 | 4.976389999999999980e-02 174 | 4.978599999999999692e-02 175 | 4.980810000000000098e-02 176 | 4.983019999999999811e-02 177 | 4.985239999999999810e-02 178 | 4.987459999999999810e-02 179 | 4.989690000000000097e-02 180 | 4.991919999999999691e-02 181 | 4.994149999999999978e-02 182 | 4.996380000000000265e-02 183 | 4.998620000000000146e-02 184 | 5.000860000000000027e-02 185 | 5.003099999999999908e-02 186 | 5.005350000000000077e-02 187 | 5.007600000000000245e-02 188 | 5.009860000000000008e-02 189 | 5.012119999999999770e-02 190 | 5.014380000000000226e-02 191 | 5.016639999999999988e-02 192 | 5.018910000000000038e-02 193 | 5.021180000000000088e-02 194 | 5.023450000000000137e-02 195 | 5.025729999999999781e-02 196 | 5.028010000000000118e-02 197 | 5.030300000000000049e-02 198 | 5.032589999999999980e-02 199 | 5.034879999999999911e-02 200 | 5.037169999999999842e-02 201 | 5.039470000000000061e-02 202 | 5.041770000000000279e-02 203 | 5.044080000000000091e-02 204 | 5.046389999999999904e-02 205 | 5.048699999999999716e-02 206 | 5.051019999999999815e-02 207 | 5.053339999999999915e-02 208 | 5.055660000000000015e-02 209 | 5.057989999999999708e-02 210 | 5.060320000000000096e-02 211 | 5.062649999999999789e-02 212 | 5.064989999999999770e-02 213 | 5.067329999999999751e-02 214 | 5.069669999999999732e-02 215 | 5.072020000000000001e-02 216 | 5.074370000000000269e-02 217 | 5.076730000000000131e-02 218 | 5.079089999999999994e-02 219 | 5.081449999999999856e-02 220 | 5.083809999999999718e-02 221 | 5.086179999999999868e-02 222 | 5.088560000000000305e-02 223 | 5.090929999999999761e-02 224 | 5.093319999999999792e-02 225 | 5.095700000000000229e-02 226 | 5.098090000000000260e-02 227 | 5.100480000000000291e-02 228 | 5.102879999999999916e-02 229 | 5.105269999999999947e-02 230 | 5.107679999999999859e-02 231 | 5.110080000000000178e-02 232 | 5.112490000000000090e-02 233 | 5.114910000000000290e-02 234 | 5.117329999999999796e-02 235 | 5.119749999999999995e-02 236 | 5.122170000000000195e-02 237 | 5.124599999999999989e-02 238 | 5.127040000000000070e-02 239 | 5.129469999999999863e-02 240 | 5.131920000000000232e-02 241 | 5.134360000000000313e-02 242 | 5.136809999999999987e-02 243 | 5.139259999999999662e-02 244 | 5.141720000000000318e-02 245 | 5.144180000000000280e-02 246 | 5.146640000000000242e-02 247 | 5.149109999999999798e-02 248 | 5.151580000000000048e-02 249 | 5.154059999999999891e-02 250 | 5.156539999999999735e-02 251 | 5.159020000000000272e-02 252 | 5.161509999999999709e-02 253 | 5.163999999999999840e-02 254 | 5.166500000000000259e-02 255 | 5.168999999999999984e-02 256 | 5.171499999999999708e-02 257 | 5.174009999999999720e-02 258 | 5.176519999999999733e-02 259 | 5.179040000000000032e-02 260 | 5.181560000000000332e-02 261 | 5.184079999999999938e-02 262 | 5.186609999999999832e-02 263 | 5.189139999999999725e-02 264 | 5.191679999999999906e-02 265 | 5.194220000000000087e-02 266 | 5.196769999999999862e-02 267 | 5.199310000000000043e-02 268 | 5.201870000000000105e-02 269 | 5.204430000000000167e-02 270 | 5.206990000000000229e-02 271 | 5.209550000000000292e-02 272 | 5.212119999999999947e-02 273 | 5.214699999999999891e-02 274 | 5.217270000000000241e-02 275 | 5.219859999999999778e-02 276 | 5.222439999999999721e-02 277 | 5.225029999999999952e-02 278 | 5.227629999999999777e-02 279 | 5.230230000000000296e-02 280 | 5.232830000000000120e-02 281 | 5.235440000000000232e-02 282 | 5.238050000000000345e-02 283 | 5.240670000000000051e-02 284 | 5.243289999999999756e-02 285 | 5.245919999999999750e-02 286 | 5.248549999999999743e-02 287 | 5.251179999999999737e-02 288 | 5.253820000000000018e-02 289 | 5.256460000000000299e-02 290 | 5.259110000000000174e-02 291 | 5.261760000000000048e-02 292 | 5.264420000000000210e-02 293 | 5.267079999999999679e-02 294 | 5.269750000000000129e-02 295 | 5.272419999999999884e-02 296 | 5.275090000000000334e-02 297 | 5.277769999999999684e-02 298 | 5.280449999999999727e-02 299 | 5.283140000000000058e-02 300 | 5.285829999999999695e-02 301 | 5.288530000000000314e-02 302 | 5.291230000000000239e-02 303 | 5.293939999999999757e-02 304 | 5.296649999999999969e-02 305 | 5.299360000000000182e-02 306 | 5.302079999999999987e-02 307 | 5.304810000000000081e-02 308 | 5.307540000000000174e-02 309 | 5.310270000000000268e-02 310 | 5.313009999999999955e-02 311 | 5.315759999999999930e-02 312 | 5.318500000000000311e-02 313 | 5.321259999999999879e-02 314 | 5.324020000000000141e-02 315 | 5.326779999999999710e-02 316 | 5.329539999999999972e-02 317 | 5.332320000000000115e-02 318 | 5.335089999999999971e-02 319 | 5.337879999999999708e-02 320 | 5.340659999999999852e-02 321 | 5.343450000000000283e-02 322 | 5.346250000000000308e-02 323 | 5.349050000000000332e-02 324 | 5.351859999999999951e-02 325 | 5.354670000000000263e-02 326 | 5.357490000000000169e-02 327 | 5.360310000000000075e-02 328 | 5.363129999999999981e-02 329 | 5.365960000000000174e-02 330 | 5.368799999999999961e-02 331 | 5.371639999999999748e-02 332 | 5.374489999999999823e-02 333 | 5.377339999999999898e-02 334 | 5.380189999999999972e-02 335 | 5.383050000000000335e-02 336 | 5.385920000000000291e-02 337 | 5.388790000000000247e-02 338 | 5.391669999999999796e-02 339 | 5.394550000000000040e-02 340 | 5.397439999999999877e-02 341 | 5.400329999999999714e-02 342 | 5.403220000000000245e-02 343 | 5.406129999999999963e-02 344 | 5.409030000000000088e-02 345 | 5.411950000000000094e-02 346 | 5.414859999999999812e-02 347 | 5.417790000000000106e-02 348 | 5.420719999999999705e-02 349 | 5.423649999999999999e-02 350 | 5.426589999999999886e-02 351 | 5.429529999999999773e-02 352 | 5.432479999999999948e-02 353 | 5.435439999999999716e-02 354 | 5.438400000000000178e-02 355 | 5.441359999999999947e-02 356 | 5.444330000000000003e-02 357 | 5.447310000000000346e-02 358 | 5.450289999999999996e-02 359 | 5.453279999999999933e-02 360 | 5.456269999999999870e-02 361 | 5.459270000000000095e-02 362 | 5.462279999999999913e-02 363 | 5.465289999999999732e-02 364 | 5.468300000000000244e-02 365 | 5.471319999999999656e-02 366 | 5.474350000000000049e-02 367 | 5.477379999999999749e-02 368 | 5.480419999999999736e-02 369 | 5.483459999999999723e-02 370 | 5.486509999999999998e-02 371 | 5.489560000000000273e-02 372 | 5.492620000000000141e-02 373 | 5.495690000000000297e-02 374 | 5.498759999999999759e-02 375 | 5.501840000000000203e-02 376 | 5.504919999999999952e-02 377 | 5.508009999999999989e-02 378 | 5.511110000000000314e-02 379 | 5.514209999999999945e-02 380 | 5.517310000000000270e-02 381 | 5.520429999999999782e-02 382 | 5.523539999999999700e-02 383 | 5.526670000000000194e-02 384 | 5.529799999999999993e-02 385 | 5.532929999999999793e-02 386 | 5.536080000000000167e-02 387 | 5.539220000000000255e-02 388 | 5.542380000000000223e-02 389 | 5.545540000000000191e-02 390 | 5.548700000000000160e-02 391 | 5.551880000000000009e-02 392 | 5.555050000000000265e-02 393 | 5.558239999999999709e-02 394 | 5.561429999999999846e-02 395 | 5.564630000000000271e-02 396 | 5.567830000000000001e-02 397 | 5.571040000000000020e-02 398 | 5.574250000000000038e-02 399 | 5.577470000000000344e-02 400 | 5.580700000000000244e-02 401 | 5.583930000000000143e-02 402 | 5.587170000000000331e-02 403 | 5.590420000000000111e-02 404 | 5.593669999999999892e-02 405 | 5.596929999999999961e-02 406 | 5.600200000000000317e-02 407 | 5.603469999999999979e-02 408 | 5.606749999999999928e-02 409 | 5.610029999999999878e-02 410 | 5.613329999999999709e-02 411 | 5.616619999999999946e-02 412 | 5.619930000000000064e-02 413 | 5.623240000000000183e-02 414 | 5.626559999999999895e-02 415 | 5.629880000000000301e-02 416 | 5.633210000000000300e-02 417 | 5.636549999999999894e-02 418 | 5.639890000000000181e-02 419 | 5.643240000000000062e-02 420 | 5.646600000000000230e-02 421 | 5.649959999999999705e-02 422 | 5.653330000000000161e-02 423 | 5.656710000000000210e-02 424 | 5.660099999999999854e-02 425 | 5.663490000000000191e-02 426 | 5.666879999999999834e-02 427 | 5.670290000000000052e-02 428 | 5.673700000000000271e-02 429 | 5.677120000000000083e-02 430 | 5.680539999999999895e-02 431 | 5.683980000000000282e-02 432 | 5.687419999999999976e-02 433 | 5.690859999999999669e-02 434 | 5.694319999999999937e-02 435 | 5.697780000000000206e-02 436 | 5.701239999999999780e-02 437 | 5.704719999999999930e-02 438 | 5.708200000000000079e-02 439 | 5.711689999999999823e-02 440 | 5.715189999999999854e-02 441 | 5.718689999999999884e-02 442 | 5.722200000000000203e-02 443 | 5.725720000000000115e-02 444 | 5.729240000000000027e-02 445 | 5.732779999999999820e-02 446 | 5.736320000000000308e-02 447 | 5.739860000000000101e-02 448 | 5.743419999999999775e-02 449 | 5.746980000000000144e-02 450 | 5.750550000000000106e-02 451 | 5.754129999999999662e-02 452 | 5.757709999999999911e-02 453 | 5.761299999999999755e-02 454 | 5.764899999999999886e-02 455 | 5.768510000000000304e-02 456 | 5.772130000000000316e-02 457 | 5.775750000000000328e-02 458 | 5.779379999999999934e-02 459 | 5.783019999999999827e-02 460 | 5.786659999999999721e-02 461 | 5.790320000000000189e-02 462 | 5.793979999999999964e-02 463 | 5.797650000000000026e-02 464 | 5.801320000000000088e-02 465 | 5.805010000000000031e-02 466 | 5.808699999999999974e-02 467 | 5.812400000000000205e-02 468 | 5.816110000000000030e-02 469 | 5.819830000000000142e-02 470 | 5.823550000000000254e-02 471 | 5.827279999999999960e-02 472 | 5.831019999999999953e-02 473 | 5.834770000000000234e-02 474 | 5.838530000000000109e-02 475 | 5.842300000000000271e-02 476 | 5.846069999999999739e-02 477 | 5.849850000000000189e-02 478 | 5.853640000000000232e-02 479 | 5.857439999999999869e-02 480 | 5.861249999999999793e-02 481 | 5.865059999999999718e-02 482 | 5.868879999999999930e-02 483 | 5.872720000000000024e-02 484 | 5.876560000000000117e-02 485 | 5.880400000000000210e-02 486 | 5.884260000000000185e-02 487 | 5.888129999999999753e-02 488 | 5.892000000000000015e-02 489 | 5.895890000000000158e-02 490 | 5.899780000000000302e-02 491 | 5.903680000000000039e-02 492 | 5.907590000000000063e-02 493 | 5.911509999999999682e-02 494 | 5.915429999999999994e-02 495 | 5.919370000000000187e-02 496 | 5.923309999999999687e-02 497 | 5.927269999999999761e-02 498 | 5.931229999999999836e-02 499 | 5.935200000000000198e-02 500 | 5.939180000000000154e-02 501 | 5.943169999999999703e-02 502 | 5.947170000000000234e-02 503 | 5.951179999999999665e-02 504 | 5.955189999999999789e-02 505 | 5.959219999999999795e-02 506 | 5.963260000000000088e-02 507 | 5.967299999999999688e-02 508 | 5.971350000000000269e-02 509 | 5.975420000000000037e-02 510 | 5.979489999999999805e-02 511 | 5.983569999999999861e-02 512 | 5.987669999999999798e-02 513 | 5.991769999999999735e-02 514 | 5.995879999999999960e-02 515 | 5.999999999999999778e-02 516 | 6.004129999999999884e-02 517 | 6.008270000000000277e-02 518 | 6.012420000000000264e-02 519 | 6.016579999999999845e-02 520 | 6.020740000000000119e-02 521 | 6.024920000000000275e-02 522 | 6.029110000000000025e-02 523 | 6.033310000000000062e-02 524 | 6.037519999999999692e-02 525 | 6.041740000000000305e-02 526 | 6.045969999999999817e-02 527 | 6.050200000000000022e-02 528 | 6.054450000000000109e-02 529 | 6.058709999999999790e-02 530 | 6.062979999999999758e-02 531 | 6.067260000000000014e-02 532 | 6.071549999999999864e-02 533 | 6.075850000000000001e-02 534 | 6.080159999999999731e-02 535 | 6.084479999999999750e-02 536 | 6.088810000000000056e-02 537 | 6.093149999999999955e-02 538 | 6.097509999999999736e-02 539 | 6.101870000000000210e-02 540 | 6.106240000000000279e-02 541 | 6.110630000000000228e-02 542 | 6.115020000000000178e-02 543 | 6.119430000000000008e-02 544 | 6.123850000000000127e-02 545 | 6.128270000000000245e-02 546 | 6.132710000000000244e-02 547 | 6.137159999999999838e-02 548 | 6.141619999999999718e-02 549 | 6.146089999999999887e-02 550 | 6.150579999999999936e-02 551 | 6.155069999999999986e-02 552 | 6.159579999999999916e-02 553 | 6.164089999999999847e-02 554 | 6.168619999999999659e-02 555 | 6.173159999999999759e-02 556 | 6.177710000000000146e-02 557 | 6.182270000000000126e-02 558 | 6.186839999999999701e-02 559 | 6.191429999999999850e-02 560 | 6.196030000000000287e-02 561 | 6.200640000000000318e-02 562 | 6.205259999999999942e-02 563 | 6.209889999999999854e-02 564 | 6.214530000000000054e-02 565 | 6.219190000000000135e-02 566 | 6.223850000000000215e-02 567 | 6.228530000000000177e-02 568 | 6.233230000000000021e-02 569 | 6.237929999999999864e-02 570 | 6.242650000000000282e-02 571 | 6.247370000000000007e-02 572 | 6.252119999999999900e-02 573 | 6.256870000000000487e-02 574 | 6.261629999999999974e-02 575 | 6.266410000000000036e-02 576 | 6.271200000000000385e-02 577 | 6.275999999999999635e-02 578 | 6.280819999999999459e-02 579 | 6.285649999999999571e-02 580 | 6.290489999999999970e-02 581 | 6.295340000000000658e-02 582 | 6.300210000000000532e-02 583 | 6.305089999999999306e-02 584 | 6.309979999999999756e-02 585 | 6.314889999999999393e-02 586 | 6.319809999999999317e-02 587 | 6.324739999999999529e-02 588 | 6.329680000000000029e-02 589 | 6.334639999999999715e-02 590 | 6.339609999999999690e-02 591 | 6.344600000000000239e-02 592 | 6.349599999999999689e-02 593 | 6.354609999999999426e-02 594 | 6.359639999999999738e-02 595 | 6.364680000000000337e-02 596 | 6.369729999999999837e-02 597 | 6.374799999999999911e-02 598 | 6.379880000000000273e-02 599 | 6.384969999999999535e-02 600 | 6.390079999999999372e-02 601 | 6.395199999999999496e-02 602 | 6.400340000000000196e-02 603 | 6.405489999999999795e-02 604 | 6.410659999999999969e-02 605 | 6.415840000000000432e-02 606 | 6.421029999999999793e-02 607 | 6.426239999999999730e-02 608 | 6.431470000000000242e-02 609 | 6.436709999999999654e-02 610 | 6.441959999999999353e-02 611 | 6.447229999999999628e-02 612 | 6.452510000000000190e-02 613 | 6.457809999999999939e-02 614 | 6.463119999999999976e-02 615 | 6.468450000000000588e-02 616 | 6.473790000000000100e-02 617 | 6.479150000000000187e-02 618 | 6.484529999999999461e-02 619 | 6.489920000000000411e-02 620 | 6.495320000000000260e-02 621 | 6.500740000000000685e-02 622 | 6.506180000000000296e-02 623 | 6.511630000000000196e-02 624 | 6.517100000000000670e-02 625 | 6.522580000000000044e-02 626 | 6.528079999999999994e-02 627 | 6.533600000000000518e-02 628 | 6.539129999999999943e-02 629 | 6.544679999999999942e-02 630 | 6.550240000000000229e-02 631 | 6.555819999999999703e-02 632 | 6.561419999999999753e-02 633 | 6.567030000000000090e-02 634 | 6.572659999999999614e-02 635 | 6.578309999999999713e-02 636 | 6.583980000000000388e-02 637 | 6.589659999999999962e-02 638 | 6.595349999999999824e-02 639 | 6.601070000000000548e-02 640 | 6.606800000000000173e-02 641 | 6.612550000000000372e-02 642 | 6.618319999999999759e-02 643 | 6.624109999999999721e-02 644 | 6.629909999999999970e-02 645 | 6.635729999999999407e-02 646 | 6.641569999999999419e-02 647 | 6.647419999999999718e-02 648 | 6.653299999999999492e-02 649 | 6.659189999999999554e-02 650 | 6.665100000000000191e-02 651 | 6.671030000000000015e-02 652 | 6.676970000000000127e-02 653 | 6.682939999999999714e-02 654 | 6.688919999999999588e-02 655 | 6.694930000000000325e-02 656 | 6.700949999999999962e-02 657 | 6.706990000000000174e-02 658 | 6.713049999999999573e-02 659 | 6.719129999999999547e-02 660 | 6.725230000000000097e-02 661 | 6.731339999999999546e-02 662 | 6.737479999999999858e-02 663 | 6.743639999999999357e-02 664 | 6.749810000000000532e-02 665 | 6.756009999999999793e-02 666 | 6.762219999999999342e-02 667 | 6.768459999999999754e-02 668 | 6.774710000000000454e-02 669 | 6.780990000000000628e-02 670 | 6.787289999999999990e-02 671 | 6.793599999999999639e-02 672 | 6.799940000000000151e-02 673 | 6.806299999999999850e-02 674 | 6.812680000000000125e-02 675 | 6.819079999999999586e-02 676 | 6.825499999999999623e-02 677 | 6.831940000000000235e-02 678 | 6.838410000000000322e-02 679 | 6.844889999999999308e-02 680 | 6.851400000000000545e-02 681 | 6.857929999999999582e-02 682 | 6.864480000000000581e-02 683 | 6.871049999999999380e-02 684 | 6.877650000000000430e-02 685 | 6.884260000000000379e-02 686 | 6.890899999999999803e-02 687 | 6.897570000000000090e-02 688 | 6.904250000000000664e-02 689 | 6.910959999999999326e-02 690 | 6.917689999999999950e-02 691 | 6.924439999999999762e-02 692 | 6.931220000000000436e-02 693 | 6.938020000000000298e-02 694 | 6.944839999999999347e-02 695 | 6.951690000000000647e-02 696 | 6.958559999999999746e-02 697 | 6.965459999999999707e-02 698 | 6.972380000000000244e-02 699 | 6.979319999999999968e-02 700 | 6.986290000000000555e-02 701 | 6.993280000000000329e-02 702 | 7.000299999999999578e-02 703 | 7.007339999999999403e-02 704 | 7.014410000000000089e-02 705 | 7.021510000000000251e-02 706 | 7.028619999999999313e-02 707 | 7.035769999999999524e-02 708 | 7.042940000000000311e-02 709 | 7.050130000000000285e-02 710 | 7.057349999999999735e-02 711 | 7.064600000000000046e-02 712 | 7.071879999999999833e-02 713 | 7.079180000000000195e-02 714 | 7.086510000000000031e-02 715 | 7.093860000000000443e-02 716 | 7.101240000000000330e-02 717 | 7.108649999999999691e-02 718 | 7.116089999999999915e-02 719 | 7.123549999999999327e-02 720 | 7.131049999999999889e-02 721 | 7.138569999999999638e-02 722 | 7.146120000000000250e-02 723 | 7.153690000000000049e-02 724 | 7.161299999999999610e-02 725 | 7.168929999999999747e-02 726 | 7.176599999999999646e-02 727 | 7.184290000000000120e-02 728 | 7.192010000000000070e-02 729 | 7.199759999999999494e-02 730 | 7.207550000000000068e-02 731 | 7.215359999999999829e-02 732 | 7.223200000000000454e-02 733 | 7.231070000000000553e-02 734 | 7.238980000000000414e-02 735 | 7.246909999999999463e-02 736 | 7.254879999999999662e-02 737 | 7.262870000000000437e-02 738 | 7.270899999999999586e-02 739 | 7.278959999999999597e-02 740 | 7.287050000000000471e-02 741 | 7.295179999999999720e-02 742 | 7.303329999999999544e-02 743 | 7.311520000000000519e-02 744 | 7.319749999999999868e-02 745 | 7.327999999999999792e-02 746 | 7.336289999999999478e-02 747 | 7.344620000000000315e-02 748 | 7.352970000000000339e-02 749 | 7.361360000000000126e-02 750 | 7.369789999999999675e-02 751 | 7.378250000000000086e-02 752 | 7.386750000000000260e-02 753 | 7.395279999999999909e-02 754 | 7.403840000000000421e-02 755 | 7.412449999999999595e-02 756 | 7.421089999999999631e-02 757 | 7.429760000000000530e-02 758 | 7.438469999999999804e-02 759 | 7.447220000000000228e-02 760 | 7.456010000000000415e-02 761 | 7.464830000000000076e-02 762 | 7.473689999999999500e-02 763 | 7.482590000000000074e-02 764 | 7.491530000000000411e-02 765 | 7.500500000000000222e-02 766 | 7.509520000000000084e-02 767 | 7.518569999999999420e-02 768 | 7.527670000000000194e-02 769 | 7.536800000000000443e-02 770 | 7.545970000000000455e-02 771 | 7.555190000000000516e-02 772 | 7.564450000000000340e-02 773 | 7.573739999999999639e-02 774 | 7.583080000000000376e-02 775 | 7.592459999999999487e-02 776 | 7.601879999999999749e-02 777 | 7.611350000000000060e-02 778 | 7.620860000000000134e-02 779 | 7.630409999999999970e-02 780 | 7.640009999999999857e-02 781 | 7.649649999999999506e-02 782 | 7.659330000000000305e-02 783 | 7.669059999999999766e-02 784 | 7.678830000000000378e-02 785 | 7.688649999999999651e-02 786 | 7.698520000000000363e-02 787 | 7.708429999999999449e-02 788 | 7.718389999999999973e-02 789 | 7.728400000000000547e-02 790 | 7.738449999999999496e-02 791 | 7.748549999999999882e-02 792 | 7.758700000000000319e-02 793 | 7.768899999999999417e-02 794 | 7.779149999999999954e-02 795 | 7.789450000000000540e-02 796 | 7.799799999999999789e-02 797 | 7.810200000000000475e-02 798 | 7.820649999999999824e-02 799 | 7.831150000000000611e-02 800 | 7.841700000000000059e-02 801 | 7.852309999999999846e-02 802 | 7.862969999999999682e-02 803 | 7.873679999999999568e-02 804 | 7.884449999999999792e-02 805 | 7.895270000000000066e-02 806 | 7.906140000000000390e-02 807 | 7.917079999999999951e-02 808 | 7.928060000000000662e-02 809 | 7.939110000000000611e-02 810 | 7.950210000000000610e-02 811 | 7.961369999999999558e-02 812 | 7.972590000000000232e-02 813 | 7.983859999999999568e-02 814 | 7.995199999999999529e-02 815 | 8.006599999999999828e-02 816 | 8.018050000000000177e-02 817 | 8.029569999999999763e-02 818 | 8.041149999999999687e-02 819 | 8.052789999999999948e-02 820 | 8.064490000000000547e-02 821 | 8.076260000000000383e-02 822 | 8.088090000000000557e-02 823 | 8.099989999999999968e-02 824 | 8.111949999999999716e-02 825 | 8.123980000000000090e-02 826 | 8.136079999999999701e-02 827 | 8.148239999999999650e-02 828 | 8.160480000000000511e-02 829 | 8.172780000000000322e-02 830 | 8.185149999999999371e-02 831 | 8.197590000000000432e-02 832 | 8.210099999999999343e-02 833 | 8.222690000000000554e-02 834 | 8.235339999999999328e-02 835 | 8.248080000000000689e-02 836 | 8.260879999999999612e-02 837 | 8.273759999999999448e-02 838 | 8.286720000000000197e-02 839 | 8.299750000000000183e-02 840 | 8.312859999999999694e-02 841 | 8.326050000000000118e-02 842 | 8.339320000000000066e-02 843 | 8.352669999999999539e-02 844 | 8.366099999999999925e-02 845 | 8.379620000000000124e-02 846 | 8.393209999999999560e-02 847 | 8.406890000000000196e-02 848 | 8.420660000000000645e-02 849 | 8.434510000000000618e-02 850 | 8.448450000000000404e-02 851 | 8.462480000000000002e-02 852 | 8.476599999999999413e-02 853 | 8.490799999999999736e-02 854 | 8.505100000000000160e-02 855 | 8.519490000000000396e-02 856 | 8.533979999999999344e-02 857 | 8.548559999999999492e-02 858 | 8.563229999999999453e-02 859 | 8.577999999999999514e-02 860 | 8.592869999999999675e-02 861 | 8.607839999999999936e-02 862 | 8.622920000000000584e-02 863 | 8.638089999999999657e-02 864 | 8.653360000000000218e-02 865 | 8.668750000000000067e-02 866 | 8.684229999999999727e-02 867 | 8.699830000000000063e-02 868 | 8.715530000000000499e-02 869 | 8.731350000000000222e-02 870 | 8.747270000000000045e-02 871 | 8.763310000000000544e-02 872 | 8.779470000000000329e-02 873 | 8.795740000000000502e-02 874 | 8.812129999999999963e-02 875 | 8.828640000000000099e-02 876 | 8.845269999999999522e-02 877 | 8.862019999999999620e-02 878 | 8.878900000000000681e-02 879 | 8.895909999999999929e-02 880 | 8.913039999999999852e-02 881 | 8.930309999999999637e-02 882 | 8.947700000000000098e-02 883 | 8.965230000000000421e-02 884 | 8.982900000000000607e-02 885 | 9.000700000000000367e-02 886 | 9.018650000000000277e-02 887 | 9.036740000000000050e-02 888 | 9.054969999999999686e-02 889 | 9.073349999999999471e-02 890 | 9.091879999999999407e-02 891 | 9.110559999999999492e-02 892 | 9.129389999999999727e-02 893 | 9.148380000000000400e-02 894 | 9.167530000000000123e-02 895 | 9.186840000000000284e-02 896 | 9.206309999999999494e-02 897 | 9.225949999999999429e-02 898 | 9.245760000000000089e-02 899 | 9.265740000000000087e-02 900 | 9.285899999999999710e-02 901 | 9.306230000000000058e-02 902 | 9.326750000000000318e-02 903 | 9.347450000000000203e-02 904 | 9.368340000000000001e-02 905 | 9.389419999999999711e-02 906 | 9.410689999999999333e-02 907 | 9.432160000000000544e-02 908 | 9.453839999999999466e-02 909 | 9.475709999999999689e-02 910 | 9.497800000000000686e-02 911 | 9.520099999999999396e-02 912 | 9.542620000000000269e-02 913 | 9.565360000000000529e-02 914 | 9.588320000000000176e-02 915 | 9.611509999999999498e-02 916 | 9.634940000000000171e-02 917 | 9.658600000000000518e-02 918 | 9.682509999999999728e-02 919 | 9.706670000000000575e-02 920 | 9.731090000000000573e-02 921 | 9.755759999999999432e-02 922 | 9.780690000000000217e-02 923 | 9.805899999999999339e-02 924 | 9.831380000000000674e-02 925 | 9.857150000000000634e-02 926 | 9.883200000000000318e-02 927 | 9.909550000000000303e-02 928 | 9.936200000000000587e-02 929 | 9.963160000000000072e-02 930 | 9.990430000000000144e-02 931 | 1.001800000000000052e-01 932 | 1.004599999999999937e-01 933 | 1.007419999999999982e-01 934 | 1.010280000000000067e-01 935 | 1.013180000000000053e-01 936 | 1.016110000000000069e-01 937 | 1.019079999999999986e-01 938 | 1.022089999999999943e-01 939 | 1.025139999999999940e-01 940 | 1.028229999999999977e-01 941 | 1.031360000000000054e-01 942 | 1.034540000000000043e-01 943 | 1.037750000000000061e-01 944 | 1.041020000000000001e-01 945 | 1.044319999999999971e-01 946 | 1.047680000000000000e-01 947 | 1.051089999999999941e-01 948 | 1.054540000000000061e-01 949 | 1.058049999999999963e-01 950 | 1.061610000000000054e-01 951 | 1.065230000000000066e-01 952 | 1.068909999999999999e-01 953 | 1.072639999999999982e-01 954 | 1.076440000000000036e-01 955 | 1.080300000000000010e-01 956 | 1.084220000000000045e-01 957 | 1.088220000000000021e-01 958 | 1.092280000000000056e-01 959 | 1.096420000000000033e-01 960 | 1.100629999999999942e-01 961 | 1.104929999999999940e-01 962 | 1.109300000000000008e-01 963 | 1.113760000000000028e-01 964 | 1.118309999999999998e-01 965 | 1.122950000000000059e-01 966 | 1.127689999999999942e-01 967 | 1.132539999999999936e-01 968 | 1.137480000000000019e-01 969 | 1.142539999999999945e-01 970 | 1.147719999999999990e-01 971 | 1.153020000000000017e-01 972 | 1.158450000000000035e-01 973 | 1.164010000000000045e-01 974 | 1.169720000000000065e-01 975 | 1.175589999999999968e-01 976 | 1.181610000000000021e-01 977 | 1.187809999999999977e-01 978 | 1.194179999999999964e-01 979 | 1.200760000000000022e-01 980 | 1.207540000000000002e-01 981 | 1.214540000000000064e-01 982 | 1.221789999999999959e-01 983 | 1.229299999999999976e-01 984 | 1.237089999999999995e-01 985 | 1.245190000000000047e-01 986 | 1.253620000000000012e-01 987 | 1.262429999999999941e-01 988 | 1.271650000000000003e-01 989 | 1.281319999999999959e-01 990 | 1.291509999999999880e-01 991 | 1.302280000000000104e-01 992 | 1.313709999999999878e-01 993 | 1.325919999999999876e-01 994 | 1.339039999999999953e-01 995 | 1.353250000000000008e-01 996 | 1.368810000000000027e-01 997 | 1.386070000000000080e-01 998 | 1.405599999999999905e-01 999 | 1.428329999999999878e-01 1000 | 1.456110999999999933e-01 1001 | 1.493706999999999951e-01 1002 | 1.521281999999999912e-01 1003 | 1.579618999999999884e-01 1004 | -------------------------------------------------------------------------------- /WF4Py/WFfiles/xiTide_Table_200.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmoStatGW/WF4Py/38c5436a243a84a9700d760f9fb3c8abca6ff7ac/WF4Py/WFfiles/xiTide_Table_200.h5 -------------------------------------------------------------------------------- /WF4Py/WFutils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # Copyright (c) 2022 Francesco Iacovelli 5 | # 6 | # All rights reserved. Use of this source code is governed by the 7 | # license that can be found in the LICENSE file. 8 | 9 | import numpy as np 10 | import os 11 | 12 | ############################################################################## 13 | # PATH TO WFfiles FOLDER 14 | ############################################################################## 15 | 16 | SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__)))) 17 | """ 18 | Path to the ``WF4Py`` directory. 19 | 20 | :type: str 21 | """ 22 | WFfilesPATH = os.path.join(SCRIPT_DIR, 'WFfiles') 23 | """ 24 | Path to the ``WF4Py/WFfiles`` directory, containing files needed for the waveform evaluation. 25 | 26 | :type: str 27 | """ 28 | ############################################################################## 29 | # PHYSICAL CONSTANTS 30 | ############################################################################## 31 | # See http://asa.hmnao.com/static/files/2021/Astronomical_Constants_2021.pdf 32 | 33 | GMsun_over_c3 = 4.925491025543575903411922162094833998e-6 # seconds 34 | """ 35 | Geometrized solar mass :math:`G \, {\\rm M}_{\odot} / c^3`, in seconds (:math:`\\rm s`). 36 | 37 | :type: float 38 | """ 39 | GMsun_over_c2 = 1.476625061404649406193430731479084713e3 # meters 40 | """ 41 | Geometrized solar mass :math:`G \, {\\rm M}_{\odot} / c^2`, in meters (:math:`\\rm m`). 42 | 43 | :type: float 44 | """ 45 | uGpc = 3.085677581491367278913937957796471611e25 # meters 46 | """ 47 | Gigaparsec (:math:`\\rm Gpc`) in meters (:math:`\\rm m`). 48 | 49 | :type: float 50 | """ 51 | uMsun = 1.988409902147041637325262574352366540e30 # kg 52 | """ 53 | Solar mass (:math:`{\\rm M}_{\odot}`) in kilograms (:math:`\\rm kg`). 54 | 55 | :type: float 56 | """ 57 | GMsun_over_c2_Gpc = GMsun_over_c2/uGpc # Gpc 58 | """ 59 | Geometrized solar mass :math:`G \, {\\rm M}_{\odot} / c^2`, in gigaparsec (:math:`\\rm Gpc`). 60 | 61 | :type: float 62 | """ 63 | REarth = 6371.00 #km 64 | """ 65 | Average Earth radius, in kilometers (:math:`\\rm km`). 66 | 67 | :type: float 68 | """ 69 | clight = 2.99792458*(10**5) #km/s 70 | """ 71 | Speed of light in vacuum (:math:`c`), in kilometers per second (:math:`\\rm km / s`). 72 | 73 | :type: float 74 | """ 75 | clightGpc = clight/3.0856778570831e+22 76 | """ 77 | Speed of light in vacuum (:math:`c`), in gigaparsecs per second (:math:`\\rm Gpc / s`). 78 | 79 | :type: float 80 | """ 81 | 82 | # ISCO frequency coefficient for a Schwarzschild BH 83 | f_isco=1./(np.sqrt(6.)*6.*2.*np.pi*GMsun_over_c3) 84 | """ 85 | ISCO frequency coefficient for a Schwarzschild BH, in :math:`\\rm Hz`. 86 | 87 | :type: float 88 | """ 89 | # limit of the quasi-Keplerian approximation, as in arXiv:2108.05861 (see also arXiv:1605.00304), more conservative than the Schwarzschild ISCO 90 | f_qK = 2585. # Hz 91 | """ 92 | Coefficient for the limit of the quasi-Keplerian approximation, in :math:`\\rm Hz`, as in `arXiv:2108.05861 `_ (see also `arXiv:1605.00304 `_). This is more conservative than two times the Schwarzschild ISCO. 93 | 94 | :type: float 95 | """ 96 | 97 | ############################################################################## 98 | # TIDAL PARAMETERS 99 | ############################################################################## 100 | 101 | def Lamt_delLam_from_Lam12(Lambda1, Lambda2, eta): 102 | """ 103 | Compute the dimensionless tidal deformability combinations :math:`\\tilde{\Lambda}` and :math:`\delta\\tilde{\Lambda}`, defined in `arXiv:1402.5156 `_ eq. (5) and (6), as a function of the dimensionless tidal deformabilities of the two objects and the symmetric mass ratio. 104 | 105 | :param numpy.ndarray or float Lambda1: Tidal deformability of object 1, :math:`\Lambda_1`. 106 | :param numpy.ndarray or float Lambda2: Tidal deformability of object 2, :math:`\Lambda_2`. 107 | :param numpy.ndarray or float eta: The symmetric mass ratio(s), :math:`\eta`, of the objects. 108 | :return: :math:`\\tilde{\Lambda}` and :math:`\delta\\tilde{\Lambda}`. 109 | :rtype: tuple(numpy.ndarray, numpy.ndarray) or tuple(float, float) 110 | 111 | """ 112 | eta2 = eta*eta 113 | # This is needed to stabilize JAX derivatives 114 | Seta = np.sqrt(np.where(eta<0.25, 1.0 - 4.0*eta, 0.)) 115 | 116 | Lamt = (8./13.)*((1. + 7.*eta - 31.*eta2)*(Lambda1 + Lambda2) + Seta*(1. + 9.*eta - 11.*eta2)*(Lambda1 - Lambda2)) 117 | 118 | delLam = 0.5*(Seta*(1. - 13272./1319.*eta + 8944./1319.*eta2)*(Lambda1 + Lambda2) + (1. - 15910./1319.*eta + 32850./1319.*eta2 + 3380./1319.*eta2*eta)*(Lambda1 - Lambda2)) 119 | 120 | return Lamt, delLam 121 | 122 | def Lam12_from_Lamt_delLam(Lamt, delLam, eta): 123 | """ 124 | Compute the dimensionless tidal deformabilities of the two objects as a function of the dimensionless tidal deformability combinations :math:`\\tilde{\Lambda}` and :math:`\delta\\tilde{\Lambda}`, defined in `arXiv:1402.5156 `_ eq. (5) and (6), and the symmetric mass ratio. 125 | 126 | :param numpy.ndarray or float Lamt: Tidal deformability combination :math:`\\tilde{\Lambda}`. 127 | :param numpy.ndarray or float delLam: Tidal deformability combination :math:`\delta\\tilde{\Lambda}`. 128 | :param numpy.ndarray or float eta: The symmetric mass ratio(s), :math:`\eta`, of the objects. 129 | :return: :math:`\Lambda_1` and :math:`\Lambda_2`. 130 | :rtype: tuple(numpy.ndarray, numpy.ndarray) or tuple(float, float) 131 | 132 | """ 133 | eta2 = eta*eta 134 | Seta = np.sqrt(np.where(eta<0.25, 1.0 - 4.0*eta, 0.)) 135 | 136 | mLp=(8./13.)*(1.+ 7.*eta-31.*eta2) 137 | mLm=(8./13.)*Seta*(1.+ 9.*eta-11.*eta2) 138 | mdp=Seta*(1.-(13272./1319.)*eta+(8944./1319.)*eta2)*0.5 139 | mdm=(1.-(15910./1319.)*eta+(32850./1319.)*eta2+(3380./1319.)*(eta2*eta))*0.5 140 | 141 | det=(306656./1319.)*(eta**5)-(5936./1319.)*(eta**4) 142 | 143 | Lambda1 = ((mdp-mdm)*Lamt+(mLm-mLp)*delLam)/det 144 | Lambda2 = ((-mdm-mdp)*Lamt+(mLm+mLp)*delLam)/det 145 | 146 | return Lambda1, Lambda2 147 | 148 | ############################################################################## 149 | # MASSES 150 | ############################################################################## 151 | 152 | def m1m2_from_Mceta(Mc, eta): 153 | """ 154 | Compute the component masses of a binary given its chirp mass and symmetric mass ratio. 155 | 156 | :param numpy.ndarray or float Mc: Chirp mass of the binary, :math:`{\cal M}_c`. 157 | :param numpy.ndarray or float eta: The symmetric mass ratio(s), :math:`\eta`, of the objects. 158 | :return: :math:`m_1` and :math:`m_2`. 159 | :rtype: tuple(numpy.ndarray, numpy.ndarray) or tuple(float, float) 160 | 161 | """ 162 | Seta = np.sqrt(np.where(eta<0.25, 1.0 - 4.0*eta, 0.)) 163 | m1 = 0.5*(Mc/(eta**(3./5.)))*(1. + Seta) 164 | m2 = 0.5*(Mc/(eta**(3./5.)))*(1. - Seta) 165 | 166 | return m1, m2 167 | 168 | def Mceta_from_m1m2(m1, m2): 169 | """ 170 | Compute the chirp mass and symmetric mass ratio of a binary given its component masses. 171 | 172 | :param numpy.ndarray or float m1: Mass of the primary object, :math:`m_1`. 173 | :param numpy.ndarray or float m2: Mass of the secondary object, :math:`m_2`. 174 | :return: :math:`{\cal M}_c` and :math:`\eta`. 175 | :rtype: tuple(numpy.ndarray, numpy.ndarray) or tuple(float, float) 176 | 177 | """ 178 | Mc = ((m1*m2)**(3./5.))/((m1+m2)**(1./5.)) 179 | eta = (m1*m2)/((m1+m2)*(m1+m2)) 180 | 181 | return Mc, eta 182 | 183 | ############################################################################## 184 | # SPHERICAL HARMONICS 185 | ############################################################################## 186 | 187 | def Add_Higher_Modes(Ampl, Phi, iota, phi=0.): 188 | """ 189 | Compute the total signal from a collection of different modes. 190 | 191 | :param dict(numpy.ndarray, numpy.ndarray, ...) Ampl: Dictionary containing the amplitudes for each mode computed on a grid of frequencies. The keys are expected to be stings made up of :math:`l` and :math:`m`, e.g. for :math:`(2,2)` --> key= ``'22'``. 192 | :param dict(numpy.ndarray, numpy.ndarray, ...) Phi: Dictionary containing the phases for each mode computed on a grid of frequencies. 193 | :param numpy.ndarray or float iota: The inclination angle(s) of the system(s) with respect to orbital angular momentum, :math:`\iota`, in :math:`\\rm rad`. 194 | :param numpy.ndarray or float phi: The second angular direction of the spherical coordinate system. 195 | :return: Plus and cross polarisations of the GW for the chosen events evaluated on the frequency grid. 196 | :rtype: tuple(numpy.ndarray, numpy.ndarray) 197 | 198 | """ 199 | # Function to compute the total signal from a collection of different modes 200 | # Ampl and Phi have to be dictionaries containing the amplitudes and phases, computed on a grid of frequencies, for 201 | # each mode. The keys are expected to be stings made up of l and m, e.g. for (2,2) -> key='22' 202 | 203 | def SpinWeighted_SphericalHarmonic(theta, phi, l, m, s=-2): 204 | # Taken from arXiv:0709.0093v3 eq. (II.7), (II.8) and LALSimulation for the s=-2 case and up to l=4 205 | 206 | if s != -2: 207 | raise ValueError('The only spin-weight implemented for the moment is s = -2.') 208 | 209 | if (2 == l): 210 | if (-2 == m): 211 | res = np.sqrt( 5.0 / ( 64.0 * np.pi ) ) * ( 1.0 - np.cos( theta ))*( 1.0 - np.cos( theta )) 212 | elif (-1 == m): 213 | res = np.sqrt( 5.0 / ( 16.0 * np.pi ) ) * np.sin( theta )*( 1.0 - np.cos( theta )) 214 | elif (0 == m): 215 | res = np.sqrt( 15.0 / ( 32.0 * np.pi ) ) * np.sin( theta )*np.sin( theta ) 216 | elif (1 == m): 217 | res = np.sqrt( 5.0 / ( 16.0 * np.pi ) ) * np.sin( theta )*( 1.0 + np.cos( theta )) 218 | elif (2 == m): 219 | res = np.sqrt( 5.0 / ( 64.0 * np.pi ) ) * ( 1.0 + np.cos( theta ))*( 1.0 + np.cos( theta )) 220 | else: 221 | raise ValueError('Invalid m for l = 2.') 222 | 223 | elif (3 == l): 224 | if (-3 == m): 225 | res = np.sqrt(21.0/(2.0*np.pi))*np.cos(theta*0.5)*((np.sin(theta*0.5))**(5.)) 226 | elif (-2 == m): 227 | res = np.sqrt(7.0/(4.0*np.pi))*(2.0 + 3.0*np.cos(theta))*((np.sin(theta*0.5))**(4.0)) 228 | elif (-1 == m): 229 | res = np.sqrt(35.0/(2.0*np.pi))*(np.sin(theta) + 4.0*np.sin(2.0*theta) - 3.0*np.sin(3.0*theta))/32.0 230 | elif (0 == m): 231 | res = (np.sqrt(105.0/(2.0*np.pi))*np.cos(theta)*(np.sin(theta)*np.sin(theta)))*0.25 232 | elif (1 == m): 233 | res = -np.sqrt(35.0/(2.0*np.pi))*(np.sin(theta) - 4.0*np.sin(2.0*theta) - 3.0*np.sin(3.0*theta))/32.0 234 | elif (2 == m): 235 | res = np.sqrt(7.0/np.pi)*((np.cos(theta*0.5))**(4.0))*(-2.0 + 3.0*np.cos(theta))*0.5 236 | elif (3 == m): 237 | res = -np.sqrt(21.0/(2.0*np.pi))*((np.cos(theta/2.0))**(5.0))*np.sin(theta*0.5) 238 | else: 239 | raise ValueError('Invalid m for l = 3.') 240 | 241 | elif (4 == l): 242 | if (-4 == m): 243 | res = 3.0*np.sqrt(7.0/np.pi)*(np.cos(theta*0.5)*np.cos(theta*0.5))*((np.sin(theta*0.5))**6.0) 244 | elif (-3 == m): 245 | res = 3.0*np.sqrt(7.0/(2.0*np.pi))*np.cos(theta*0.5)*(1.0 + 2.0*np.cos(theta))*((np.sin(theta*0.5))**5.0) 246 | elif (-2 == m): 247 | res = (3.0*(9.0 + 14.0*np.cos(theta) + 7.0*np.cos(2.0*theta))*((np.sin(theta/2.0))**4.0))/(4.0*np.sqrt(np.pi)) 248 | elif (-1 == m): 249 | res = (3.0*(3.0*np.sin(theta) + 2.0*np.sin(2.0*theta) + 7.0*np.sin(3.0*theta) - 7.0*np.sin(4.0*theta)))/(32.0*np.sqrt(2.0*np.pi)) 250 | elif (0 == m): 251 | res = (3.0*np.sqrt(5.0/(2.0*np.pi))*(5.0 + 7.0*np.cos(2.0*theta))*(np.sin(theta)*np.sin(theta)))/16. 252 | elif (1 == m): 253 | res = (3.0*(3.0*np.sin(theta) - 2.0*np.sin(2.0*theta) + 7.0*np.sin(3.0*theta) + 7.0*np.sin(4.0*theta)))/(32.0*np.sqrt(2.0*np.pi)) 254 | elif (2 == m): 255 | res = (3.0*((np.cos(theta*0.5))**4.0)*(9.0 - 14.0*np.cos(theta) + 7.0*np.cos(2.0*theta)))/(4.0*np.sqrt(np.pi)) 256 | elif (3 == m): 257 | res = -3.0*np.sqrt(7.0/(2.0*np.pi))*((np.cos(theta*0.5))**5.0)*(-1.0 + 2.0*np.cos(theta))*np.sin(theta*0.5) 258 | elif (4 == m): 259 | res = 3.0*np.sqrt(7.0/np.pi)*((np.cos(theta*0.5))**6.0)*(np.sin(theta*0.5)*np.sin(theta*0.5)) 260 | else: 261 | raise ValueError('Invalid m for l = 4.') 262 | 263 | else: 264 | raise ValueError('Multipoles with l > 4 not implemented yet.') 265 | 266 | return res*np.exp(1j*m*phi) 267 | 268 | hp = np.zeros(Ampl[list(Ampl)[0]].shape) 269 | hc = np.zeros(Ampl[list(Ampl)[0]].shape) 270 | 271 | for key in Ampl.keys(): 272 | if key in Phi.keys(): 273 | l, m = int(key[:2//2]), int(key[2//2:]) 274 | Y = SpinWeighted_SphericalHarmonic(iota, phi, l, m) 275 | if m: 276 | Ymstar = np.conj(SpinWeighted_SphericalHarmonic(iota, phi, l, -m)) 277 | else: 278 | Ymstar = 0. 279 | 280 | hp = hp + Ampl[key]*np.exp(-1j*Phi[key])*(0.5*(Y + ((-1)**l)*Ymstar)) 281 | hc = hc + Ampl[key]*np.exp(-1j*Phi[key])*(-1j* 0.5 * (Y - ((-1)**l)* Ymstar)) 282 | 283 | return hp, hc 284 | 285 | ############################################################################## 286 | # OTHERS 287 | ############################################################################## 288 | 289 | def check_evparams(evParams, checktidal=False): 290 | """ 291 | Check the format of the events parameters and make the needed conversions. 292 | 293 | :param dict(numpy.ndarray, numpy.ndarray, ...) evParams: Dictionary containing the parameters of the event(s), as in :py:data:`events`. 294 | :param bool, optional checktidal: Boolean specifying if the tidal parameters have to be included in the checks. 295 | 296 | """ 297 | # Function to check the format and limits of the events' parameters and make the needed conversions 298 | try: 299 | evParams['dL'] 300 | except KeyError: 301 | raise ValueError('The luminosity distance has to be provided.') 302 | 303 | swapBool = np.full(evParams['dL'].shape, False) 304 | 305 | if np.any(evParams['dL']<=0.): 306 | raise ValueError('The luminosity distance cannot be null or negative.') 307 | 308 | try: 309 | evParams['eta'] 310 | except KeyError: 311 | try: 312 | if np.any(evParams['m1']<=0.): 313 | raise ValueError('The mass of the first object cannot be null or negative.') 314 | if np.any(evParams['m2']<=0.): 315 | raise ValueError('The mass of the second object cannot be null or negative.') 316 | if np.any(evParams['m1']0.25): 328 | raise ValueError('The symmetric mass ratio cannot be greater than 1/4.') 329 | if np.any(evParams['Mc']<=0.): 330 | raise ValueError('The chirp mass cannot be null or negative.') 331 | 332 | try: 333 | evParams['chi1z'] 334 | except KeyError: 335 | try: 336 | if np.any(abs(evParams['chiS'])>1.): 337 | raise ValueError('The symmetric spin component cannot have modulus greater than 1.') 338 | if np.any(abs(evParams['chiA'])>1.): 339 | raise ValueError('The antisymmetric spin component cannot have modulus greater than 1.') 340 | evParams['chi1z'] = evParams['chiS'] + evParams['chiA'] 341 | evParams['chi2z'] = evParams['chiS'] - evParams['chiA'] 342 | except KeyError: 343 | raise ValueError('Two among chi1z, chi2z and chiS and chiA have to be provided.') 344 | 345 | if np.any(abs(evParams['chi1z'])>1.): 346 | raise ValueError('The spin of the first object cannot have modulus greater than 1.') 347 | if np.any(abs(evParams['chi2z'])>1.): 348 | raise ValueError('The spin of the second object cannot have modulus greater than 1.') 349 | 350 | if np.any(swapBool): 351 | chi1tmp = evParams['chi1z'] 352 | evParams['chi1z'] = np.where(swapBool, evParams['chi2z'], evParams['chi1z']) 353 | evParams['chi2z'] = np.where(swapBool, chi1tmp, evParams['chi2z']) 354 | print(evParams['chi1z']) 355 | print(evParams['chi2z']) 356 | 357 | if checktidal: 358 | try: 359 | evParams['Lambda1'] 360 | except KeyError: 361 | try: 362 | evParams['Lambda1'], evParams['Lambda2'] = Lam12_from_Lamt_delLam(evParams['LambdaTilde'], evParams['deltaLambda'], evParams['eta']) 363 | except KeyError: 364 | raise ValueError('Two among Lambda1, Lambda2 and Lambda_Tilde and delta Lambda have to be provided.') 365 | 366 | if np.any(evParams['Lambda1']<0.): 367 | raise ValueError('The adimensional tidal deformability of the first object cannot be null or negative.') 368 | if np.any(evParams['Lambda2']<0.): 369 | raise ValueError('The adimensional tidal deformability of the second object cannot be null or negative.') 370 | 371 | if np.any(swapBool): 372 | Lam1tmp = evParams['Lambda1'] 373 | evParams['Lambda1'] = np.where(swapBool, evParams['Lambda2'], evParams['Lambda1']) 374 | evParams['Lambda2'] = np.where(swapBool, Lam1tmp, evParams['Lambda2']) 375 | -------------------------------------------------------------------------------- /WF4Py/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | -------------------------------------------------------------------------------- /WF4Py/waveform_models/TaylorF2_RestrictedPN.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # Copyright (c) 2022 Francesco Iacovelli 5 | # 6 | # All rights reserved. Use of this source code is governed by the 7 | # license that can be found in the LICENSE file. 8 | 9 | import numpy as np 10 | from WF4Py import WFutils as utils 11 | 12 | from .WFclass_definition import WaveFormModel 13 | 14 | ############################################################################## 15 | # TAYLORF2 3.5 RESTRICTED PN WAVEFORM 16 | ############################################################################## 17 | 18 | class TaylorF2_RestrictedPN(WaveFormModel): 19 | """ 20 | TaylorF2 restricted PN waveform model, with coefficients up to 3.5 PN. The amplitude is thus the same as in Newtonian approximation, and the model is valid only in the *inspiral*. 21 | 22 | This model can include both the contribution of tidal effects at 5 and 6 PN and the contribution of eccentricity up to 3 PN. 23 | 24 | Relevant references: 25 | [1] `arXiv:0907.0700 `_ 26 | 27 | [2] `arXiv:1107.1267 `_ 28 | 29 | [3] `arXiv:1402.5156 `_ 30 | 31 | [4] `arXiv:1601.05588 `_ 32 | 33 | [5] `arXiv:1605.00304 `_ 34 | 35 | :param float fHigh: The cut frequency factor of the waveform, in :math:`\\rm Hz`. By default this is set to two times the *Innermost Stable Circular Orbit*, ISCO, frequency of a remnant Schwarzschild BH having a mass equal to the total mass of the binary, see :py:data:`WF4Py.WFutils.f_isco`. Another useful value, whose coefficient is provided in :py:data:`WF4Py.WFutils.f_qK`, is the limit of the quasi-Keplerian approximation, defined as in `arXiv:2108.05861 `_ (see also `arXiv:1605.00304 `_), which is more conservative than two times the Schwarzschild ISCO. 36 | :param bool, optional is_tidal: Boolean specifying if the waveform has to include tidal effects. 37 | :param bool, optional use_3p5PN_SpinHO: Boolean specifying if the waveform has to include the quadratic- and cubic-in-spin contributions at 3.5 PN, which are not included in ``LAL``. 38 | :param bool, optional phiref_vlso: Boolean specifying if the reference frequency of the waveform has to be set to the *Last Stable Orbit*, LSO, frequency. 39 | :param bool, optional is_eccentric: Boolean specifying if the waveform has to include orbital eccentricity. 40 | :param float, optional fRef_ecc: The reference frequency for the provided eccentricity, :math:`f_{e_{0}}`. 41 | :param str, optional which_ISCO: String specifying if the waveform has to be cut at two times the ISCO frequency of a remnant Schwarzschild (non-rotating) BH or of a Kerr BH, as in `arXiv:2108.05861 `_ (see in particular App. C), with the fits from `arXiv:1605.01938 `_. The Schwarzschild ISCO can be selected passing ``'Schw'``, while the Kerr ISCO passing ``'Kerr'``. NOTE: the Kerr option pushes the validity of the model to the limit, and is not the default option. 42 | :param bool, optional use_QuadMonTid: Boolean specifying if the waveform has to include the spin-induced quadrupole due to tidal effects, with the fits from `arXiv:1608.02582 `_. 43 | :param kwargs: Optional arguments to be passed to the parent class :py:class:`WF4Py.waveform_models.WFclass_definition.WaveFormModel`. 44 | 45 | """ 46 | 47 | # This waveform model is restricted PN (the amplitude stays as in Newtonian approximation) up to 3.5 PN 48 | def __init__(self, fHigh=None, is_tidal=False, use_3p5PN_SpinHO=False, phiref_vlso=False, is_eccentric=False, fRef_ecc=None, which_ISCO='Schw', use_QuadMonTid=False, **kwargs): 49 | """ 50 | Constructor method 51 | """ 52 | # Setting use_3p5PN_SpinHO=True SS and SSS contributions at 3.5PN are added (not present in LAL) 53 | # Setting is_tidal=True tidal contributions to the waveform at 10 and 12 PN are added 54 | # Setting phiref_vlso=True the LSO frequency is used as reference frequency 55 | 56 | if fHigh is None: 57 | fHigh = 1./(6.*np.pi*np.sqrt(6.)*utils.GMsun_over_c3) #Hz 58 | if is_tidal: 59 | objectT = 'BNS' 60 | else: 61 | objectT = 'BBH' 62 | self.use_3p5PN_SpinHO = use_3p5PN_SpinHO 63 | self.phiref_vlso = phiref_vlso 64 | self.fRef_ecc=fRef_ecc 65 | self.which_ISCO=which_ISCO 66 | self.use_QuadMonTid = use_QuadMonTid 67 | super().__init__(objectT, fHigh, is_tidal=is_tidal, is_eccentric=is_eccentric, **kwargs) 68 | 69 | def Phi(self, f, **kwargs): 70 | """ 71 | Compute the phase of the GW as a function of frequency, given the events parameters. 72 | 73 | :param numpy.ndarray f: Frequency grid on which the phase will be computed, in :math:`\\rm Hz`. 74 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the phase of, as in :py:data:`events`. 75 | :return: GW phase for the chosen events evaluated on the frequency grid. 76 | :rtype: numpy.ndarray 77 | 78 | """ 79 | # From A. Buonanno, B. Iyer, E. Ochsner, Y. Pan, B.S. Sathyaprakash - arXiv:0907.0700 - eq. (3.18) plus spins as in arXiv:1107.1267 eq. (5.3) up to 2.5PN and PhysRevD.93.084054 eq. (6) for 3PN and 3.5PN 80 | utils.check_evparams(kwargs, checktidal=self.is_tidal) 81 | 82 | Mtot_sec = kwargs['Mc']*utils.GMsun_over_c3/(kwargs['eta']**(3./5.)) 83 | v = (np.pi*Mtot_sec*f)**(1./3.) 84 | eta = kwargs['eta'] 85 | eta2 = eta*eta 86 | Seta = np.sqrt(1.0 - 4.0*eta) 87 | 88 | m1ByM = 0.5 * (1.0 + Seta) 89 | m2ByM = 0.5 * (1.0 - Seta) 90 | 91 | chi1, chi2 = kwargs['chi1z'], kwargs['chi2z'] 92 | chi12, chi22 = chi1*chi1, chi2*chi2 93 | chi1dotchi2 = chi1*chi2 94 | chi_s, chi_a = 0.5*(chi1 + chi2), 0.5*(chi1 - chi2) 95 | chi_s2, chi_a2 = chi_s*chi_s, chi_a*chi_a 96 | chi_sdotchi_a = chi_s*chi_a 97 | # flso = 1/6^(3/2)/(pi*M) -> vlso = (pi*M*flso)^(1/3) = (1/6^(3/2))^(1/3) 98 | vlso = 1./np.sqrt(6.) 99 | 100 | if (self.is_tidal) and (self.use_QuadMonTid): 101 | Lambda1, Lambda2 = kwargs['Lambda1'], kwargs['Lambda2'] 102 | # A non-zero tidal deformability induces a quadrupole moment (for BBH it is 1). 103 | # The relation between the two is given in arxiv:1608.02582 eq. (15) with coefficients from third row of Table I 104 | # We also extend the range to 0 <= Lam < 1, as done in LALSimulation in LALSimUniversalRelations.c line 123 105 | QuadMon1 = np.where(Lambda1 < 1., 1. + Lambda1*(0.427688866723244 + Lambda1*(-0.324336526985068 + Lambda1*0.1107439432180572)), np.exp(0.1940 + 0.09163 * np.log(Lambda1) + 0.04812 * np.log(Lambda1) * np.log(Lambda1) -4.283e-3 * np.log(Lambda1) * np.log(Lambda1) * np.log(Lambda1) + 1.245e-4 * np.log(Lambda1) * np.log(Lambda1) * np.log(Lambda1) * np.log(Lambda1))) 106 | QuadMon2 = np.where(Lambda2 < 1., 1. + Lambda2*(0.427688866723244 + Lambda2*(-0.324336526985068 + Lambda2*0.1107439432180572)), np.exp(0.1940 + 0.09163 * np.log(Lambda2) + 0.04812 * np.log(Lambda2) * np.log(Lambda2) -4.283e-3 * np.log(Lambda2) * np.log(Lambda2) * np.log(Lambda2) + 1.245e-4 * np.log(Lambda2) * np.log(Lambda2) * np.log(Lambda2) * np.log(Lambda2))) 107 | else: 108 | QuadMon1, QuadMon2 = np.ones(eta.shape), np.ones(eta.shape) 109 | 110 | TF2coeffs = {} 111 | TF2OverallAmpl = 3./(128. * eta) 112 | 113 | TF2coeffs['zero'] = 1. 114 | TF2coeffs['one'] = 0. 115 | TF2coeffs['two'] = 3715./756. + (55.*eta)/9. 116 | TF2coeffs['three'] = -16.*np.pi + (113.*Seta*chi_a)/3. + (113./3. - (76.*eta)/3.)*chi_s 117 | #TF2coeffs['four'] = 15293365./508032. + (27145.*eta)/504.+ (3085.*eta2)/72. + (-405./8. + 200.*eta)*chi_a2 - (405.*Seta*chi_sdotchi_a)/4. + (-405./8. + (5.*eta)/2.)*chi_s2 118 | # For 2PN coeff we use chi1 and chi2 so to have the quadrupole moment explicitly appearing 119 | TF2coeffs['four'] = 5.*(3058.673/7.056 + 5429./7.*eta+617.*eta2)/72. + 247./4.8*eta*chi1dotchi2 -721./4.8*eta*chi1dotchi2 + (-720./9.6*QuadMon1 + 1./9.6)*m1ByM*m1ByM*chi12 + (-720./9.6*QuadMon2 + 1./9.6)*m2ByM*m2ByM*chi22 + (240./9.6*QuadMon1 - 7./9.6)*m1ByM*m1ByM*chi12 + (240./9.6*QuadMon2 - 7./9.6)*m2ByM*m2ByM*chi22 120 | # This part is common to 5 and 5log, avoid recomputing 121 | TF2_5coeff_tmp = (732985./2268. - 24260.*eta/81. - 340.*eta2/9.)*chi_s + (732985./2268. + 140.*eta/9.)*Seta*chi_a 122 | if self.phiref_vlso: 123 | TF2coeffs['five'] = (38645.*np.pi/756. - 65.*np.pi*eta/9. - TF2_5coeff_tmp)*(1.-3.*np.log(vlso)) 124 | phiR = 0. 125 | else: 126 | TF2coeffs['five'] = (38645.*np.pi/756. - 65.*np.pi*eta/9. - TF2_5coeff_tmp) 127 | # This pi factor is needed to include LAL fRef rescaling, so to end up with the exact same waveform 128 | phiR = np.pi 129 | TF2coeffs['five_log'] = (38645.*np.pi/756. - 65.*np.pi*eta/9. - TF2_5coeff_tmp)*3. 130 | #TF2coeffs['six'] = 11583231236531./4694215680. - 640./3.*np.pi**2 - 6848./21.*np.euler_gamma + eta*(-15737765635./3048192. + 2255./12.*np.pi**2) + eta2*76055./1728. - eta2*eta*127825./1296. - (6848./21.)*np.log(4.) + np.pi*(2270.*Seta*chi_a/3. + (2270./3. - 520.*eta)*chi_s) + (75515./144. - 8225.*eta/18.)*Seta*chi_sdotchi_a + (75515./288. - 263245.*eta/252. - 480.*eta2)*chi_a2 + (75515./288. - 232415.*eta/504. + 1255.*eta2/9.)*chi_s2 131 | # For 3PN coeff we use chi1 and chi2 so to have the quadrupole moment explicitly appearing 132 | TF2coeffs['six'] = 11583.231236531/4.694215680 - 640./3.*np.pi*np.pi - 684.8/2.1*np.euler_gamma + eta*(-15737.765635/3.048192 + 225.5/1.2*np.pi*np.pi) + eta2*76.055/1.728 - eta2*eta*127.825/1.296 - np.log(4.)*684.8/2.1 + np.pi*chi1*m1ByM*(1490./3. + m1ByM*260.) + np.pi*chi2*m2ByM*(1490./3. + m2ByM*260.) + (326.75/1.12 + 557.5/1.8*eta)*eta*chi1dotchi2 + (4703.5/8.4+2935./6.*m1ByM-120.*m1ByM*m1ByM)*m1ByM*m1ByM*QuadMon1*chi12 + (-4108.25/6.72-108.5/1.2*m1ByM+125.5/3.6*m1ByM*m1ByM)*m1ByM*m1ByM*chi12 + (4703.5/8.4+2935./6.*m2ByM-120.*m2ByM*m2ByM)*m2ByM*m2ByM*QuadMon2*chi22 + (-4108.25/6.72-108.5/1.2*m2ByM+125.5/3.6*m2ByM*m2ByM)*m2ByM*m2ByM*chi22 133 | TF2coeffs['six_log'] = -(6848./21.) 134 | if self.use_3p5PN_SpinHO: 135 | # This part includes SS and SSS contributions at 3.5PN, which are not included in LAL 136 | TF2coeffs['seven'] = 77096675.*np.pi/254016. + 378515.*np.pi*eta/1512.- 74045.*np.pi*eta2/756. + (-25150083775./3048192. + 10566655595.*eta/762048. - 1042165.*eta2/3024. + 5345.*eta2*eta/36. + (14585./8. - 7270.*eta + 80.*eta2)*chi_a2)*chi_s + (14585./24. - 475.*eta/6. + 100.*eta2/3.)*chi_s2*chi_s + Seta*((-25150083775./3048192. + 26804935.*eta/6048. - 1985.*eta2/48.)*chi_a + (14585./24. - 2380.*eta)*chi_a2*chi_a + (14585./8. - 215.*eta/2.)*chi_a*chi_s2) 137 | else: 138 | TF2coeffs['seven'] = 77096675.*np.pi/254016. + 378515.*np.pi*eta/1512.- 74045.*np.pi*eta2/756. + (-25150083775./3048192. + 10566655595.*eta/762048. - 1042165.*eta2/3024. + 5345.*eta2*eta/36.)*chi_s + Seta*((-25150083775./3048192. + 26804935.*eta/6048. - 1985.*eta2/48.)*chi_a) 139 | 140 | if self.is_eccentric: 141 | # These are the eccentricity dependent coefficients up to 3 PN order, in the low-eccentricity limit, from arXiv:1605.00304 142 | ecc = kwargs['ecc'] 143 | if self.fRef_ecc is None: 144 | v0ecc = np.amin(v, axis=0) 145 | else: 146 | v0ecc = (np.pi*Mtot_sec*self.fRef_ecc)**(1./3.) 147 | 148 | TF2EccCoeffs = {} 149 | 150 | TF2EccOverallAmpl = -2.355/1.462*ecc*ecc*((v0ecc/v)**(19./3.)) 151 | 152 | TF2EccCoeffs['zero'] = 1. 153 | TF2EccCoeffs['one'] = 0. 154 | TF2EccCoeffs['twoV'] = 29.9076223/8.1976608 + 18.766963/2.927736*eta 155 | TF2EccCoeffs['twoV0'] = 2.833/1.008 - 19.7/3.6*eta 156 | TF2EccCoeffs['threeV'] = -28.19123/2.82600*np.pi 157 | TF2EccCoeffs['threeV0'] = 37.7/7.2*np.pi 158 | TF2EccCoeffs['fourV4'] = 16.237683263/3.330429696 + 241.33060753/9.71375328*eta+156.2608261/6.9383952*eta2 159 | TF2EccCoeffs['fourV2V02'] = 84.7282939759/8.2632420864-7.18901219/3.68894736*eta-36.97091711/1.05398496*eta2 160 | TF2EccCoeffs['fourV04'] = -1.193251/3.048192 - 66.317/9.072*eta +18.155/1.296*eta2 161 | TF2EccCoeffs['fiveV5'] = -28.31492681/1.18395270*np.pi - 115.52066831/2.70617760*np.pi*eta 162 | TF2EccCoeffs['fiveV3V02'] = -79.86575459/2.84860800*np.pi + 55.5367231/1.0173600*np.pi*eta 163 | TF2EccCoeffs['fiveV2V03'] = 112.751736071/5.902315776*np.pi + 70.75145051/2.10796992*np.pi*eta 164 | TF2EccCoeffs['fiveV05'] = 76.4881/9.0720*np.pi - 94.9457/2.2680*np.pi*eta 165 | TF2EccCoeffs['sixV6'] = -436.03153867072577087/1.32658535116800000 + 53.6803271/1.9782000*np.euler_gamma + 157.22503703/3.25555200*np.pi*np.pi +(2991.72861614477/6.89135247360 - 15.075413/1.446912*np.pi*np.pi)*eta +345.5209264991/4.1019955200*eta2 + 506.12671711/8.78999040*eta2*eta + 384.3505163/5.9346000*np.log(2.) - 112.1397129/1.7584000*np.log(3.) 166 | TF2EccCoeffs['sixV4V02'] = 46.001356684079/3.357073133568 + 253.471410141755/5.874877983744*eta - 169.3852244423/2.3313007872*eta2 - 307.833827417/2.497822272*eta2*eta 167 | TF2EccCoeffs['sixV3V03'] = -106.2809371/2.0347200*np.pi*np.pi 168 | TF2EccCoeffs['sixV2V04'] = -3.56873002170973/2.49880440692736 - 260.399751935005/8.924301453312*eta + 15.0484695827/3.5413894656*eta2 + 340.714213265/3.794345856*eta2*eta 169 | TF2EccCoeffs['sixV06'] = 265.31900578691/1.68991764480 - 33.17/1.26*np.euler_gamma + 12.2833/1.0368*np.pi*np.pi + (91.55185261/5.48674560 - 3.977/1.152*np.pi*np.pi)*eta - 5.732473/1.306368*eta2 - 30.90307/1.39968*eta2*eta + 87.419/1.890*np.log(2.) - 260.01/5.60*np.log(3.) 170 | 171 | phi_Ecc = TF2EccOverallAmpl*(TF2EccCoeffs['zero'] + TF2EccCoeffs['one']*v + (TF2EccCoeffs['twoV']*v*v + TF2EccCoeffs['twoV0']*v0ecc*v0ecc) + (TF2EccCoeffs['threeV']*v*v*v + TF2EccCoeffs['threeV0']*v0ecc*v0ecc*v0ecc) + (TF2EccCoeffs['fourV4']*v*v*v*v + TF2EccCoeffs['fourV2V02']*v*v*v0ecc*v0ecc + TF2EccCoeffs['fourV04']*v0ecc*v0ecc*v0ecc*v0ecc) + (TF2EccCoeffs['fiveV5']*v*v*v*v*v + TF2EccCoeffs['fiveV3V02']*v*v*v*v0ecc*v0ecc + TF2EccCoeffs['fiveV2V03']*v*v*v0ecc*v0ecc*v0ecc + TF2EccCoeffs['fiveV05']*v0ecc*v0ecc*v0ecc*v0ecc*v0ecc) + ((TF2EccCoeffs['sixV6'] + 53.6803271/3.9564000*np.log(16.*v*v))*(v**6) + TF2EccCoeffs['sixV4V02']*v*v*v*v*v0ecc*v0ecc + TF2EccCoeffs['sixV3V03']*v*v*v*v0ecc*v0ecc*v0ecc + TF2EccCoeffs['sixV2V04']*v*v*v0ecc*v0ecc*v0ecc*v0ecc + (TF2EccCoeffs['sixV06'] - 33.17/2.52*np.log(16.*v0ecc*v0ecc))*(v0ecc**6))) 172 | 173 | else: 174 | phi_Ecc = 0. 175 | 176 | if self.is_tidal: 177 | # Add tidal contribution if needed, as in PhysRevD.89.103012 178 | Lambda1, Lambda2 = kwargs['Lambda1'], kwargs['Lambda2'] 179 | Lam_t, delLam = utils.Lamt_delLam_from_Lam12(Lambda1, Lambda2, eta) 180 | 181 | phi_Tidal = (-0.5*39.*Lam_t)*(v**10.) + (-3115./64.*Lam_t + 6595./364.*Seta*delLam)*(v**12.) 182 | 183 | else: 184 | phi_Tidal = 0. 185 | 186 | phase = TF2OverallAmpl*(TF2coeffs['zero'] + TF2coeffs['one']*v + TF2coeffs['two']*v*v + TF2coeffs['three']*v**3 + TF2coeffs['four']*v**4 + (TF2coeffs['five'] + TF2coeffs['five_log']*np.log(v))*v**5 + (TF2coeffs['six'] + TF2coeffs['six_log']*np.log(v))*v**6 + TF2coeffs['seven']*v**7 + phi_Tidal + phi_Ecc)/(v**5.) 187 | 188 | return phase + phiR - np.pi*0.25 189 | 190 | def Ampl(self, f, **kwargs): 191 | """ 192 | Compute the amplitude of the GW as a function of frequency, given the events parameters. 193 | 194 | :param numpy.ndarray f: Frequency grid on which the phase will be computed, in :math:`\\rm Hz`. 195 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the amplitude of, as in :py:data:`events`. 196 | :return: GW amplitude for the chosen events evaluated on the frequency grid. 197 | :rtype: numpy.ndarray 198 | 199 | """ 200 | # In the restricted PN approach the amplitude is the same as for the Newtonian approximation, so this function is equivalent 201 | utils.check_evparams(kwargs, checktidal=self.is_tidal) 202 | amplitude = np.sqrt(5./24.) * (np.pi**(-2./3.)) * utils.clightGpc/kwargs['dL'] * (utils.GMsun_over_c3*kwargs['Mc'])**(5./6.) * (f**(-7./6.)) 203 | return amplitude 204 | 205 | def tau_star(self, f, **kwargs): 206 | """ 207 | Compute the time to coalescence (in seconds) as a function of frequency (in :math:`\\rm Hz`), given the events parameters. 208 | 209 | We use the expression in `arXiv:0907.0700 `_ eq. (3.8b). 210 | 211 | :param numpy.ndarray f: Frequency grid on which the time to coalescence will be computed, in :math:`\\rm Hz`. 212 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the time to coalescence of, as in :py:data:`events`. 213 | :return: time to coalescence for the chosen events evaluated on the frequency grid, in seconds. 214 | :rtype: numpy.ndarray 215 | 216 | """ 217 | # We use the expression in arXiv:0907.0700 eq. (3.8b) 218 | utils.check_evparams(kwargs, checktidal=self.is_tidal) 219 | Mtot_sec = kwargs['Mc']*utils.GMsun_over_c3/(kwargs['eta']**(3./5.)) 220 | v = (np.pi*Mtot_sec*f)**(1./3.) 221 | eta = kwargs['eta'] 222 | eta2 = eta*eta 223 | 224 | OverallFac = 5./256 * Mtot_sec/(eta*(v**8.)) 225 | 226 | t05 = 1. + (743./252. + 11./3.*eta)*(v*v) - 32./5.*np.pi*(v*v*v) + (3058673./508032. + 5429./504.*eta + 617./72.*eta2)*(v**4) - (7729./252. - 13./3.*eta)*np.pi*(v**5) 227 | t6 = (- 10052469856691./23471078400. + 128./3.*np.pi*np.pi + 6848./105.*np.euler_gamma + (3147553127./3048192. - 451./12.*np.pi*np.pi)*eta - 15211./1728.*eta2 + 25565./1296.*eta2*eta + 3424./105.*np.log(16.*v*v))*(v**6) 228 | t7 = (- 15419335./127008. - 75703./756.*eta + 14809./378.*eta2)*np.pi*(v**7) 229 | 230 | return OverallFac*(t05 + t6 + t7) 231 | 232 | def fcut(self, **kwargs): 233 | """ 234 | Compute the cut frequency of the waveform as a function of the events parameters, in :math:`\\rm Hz`. 235 | 236 | This can be approximated as 2 f_ISCO for inspiral only waveforms. The flag which_ISCO controls the expression of the ISCO to use: 237 | 238 | - if ``'Schw'`` is passed the Schwarzschild ISCO for a non-rotating final BH is used (depending only on ``'Mc'`` and ``'eta'``); 239 | - if ``'Kerr'`` is passed the Kerr ISCO for a rotating final BH is computed (depending on ``'Mc'``, ``'eta'`` and the spins), as in `arXiv:2108.05861 `_ (see in particular App. C). NOTE: this is pushing the validity of the model to the limit, and is not the default option. 240 | 241 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the cut frequency of, as in :py:data:`events`. 242 | :return: Cut frequency of the waveform for the chosen events, in :math:`\\rm Hz`. 243 | :rtype: numpy.ndarray 244 | 245 | """ 246 | if self.which_ISCO=='Schw': 247 | 248 | return self.fcutPar/(kwargs['Mc']/(kwargs['eta']**(3./5.))) 249 | 250 | elif self.which_ISCO=='Kerr': 251 | 252 | eta = kwargs['eta'] 253 | eta2 = eta*eta 254 | Mtot = kwargs['Mc']/(eta**(3./5.)) 255 | chi1, chi2 = kwargs['chi1z'], kwargs['chi2z'] 256 | Seta = np.sqrt(1.0 - 4.0*eta) 257 | m1 = 0.5 * (1.0 + Seta) 258 | m2 = 0.5 * (1.0 - Seta) 259 | s = (m1*m1 * chi1 + m2*m2 * chi2) / (m1*m1 + m2*m2) 260 | atot = (chi1 + chi2*(m2/m1)*(m2/m1))/((1.+m2/m1)*(1.+m2/m1)) 261 | aeff = atot + 0.41616*eta*(chi1 + chi2) 262 | 263 | def r_ISCO_of_chi(chi): 264 | Z1_ISCO = 1.0 + ((1.0 - chi*chi)**(1./3.))*((1.0+chi)**(1./3.) + (1.0-chi)**(1./3.)) 265 | Z2_ISCO = np.sqrt(3.0*chi*chi + Z1_ISCO*Z1_ISCO) 266 | return np.where(chi>0., 3.0 + Z2_ISCO - np.sqrt((3.0 - Z1_ISCO)*(3.0 + Z1_ISCO + 2.0*Z2_ISCO)), 3.0 + Z2_ISCO + np.sqrt((3.0 - Z1_ISCO)*(3.0 + Z1_ISCO + 2.0*Z2_ISCO))) 267 | 268 | r_ISCO = r_ISCO_of_chi(aeff) 269 | 270 | EradNS = eta * (0.055974469826360077 + 0.5809510763115132 * eta - 0.9606726679372312 * eta2 + 3.352411249771192 * eta2*eta) 271 | EradTot = (EradNS * (1. + (-0.0030302335878845507 - 2.0066110851351073 * eta + 7.7050567802399215 * eta2) * s)) / (1. + (-0.6714403054720589 - 1.4756929437702908 * eta + 7.304676214885011 * eta2) * s) 272 | 273 | Mfin = Mtot*(1.-EradTot) 274 | L_ISCO = 2./(3.*np.sqrt(3.))*(1. + 2.*np.sqrt(3.*r_ISCO - 2.)) 275 | E_ISCO = np.sqrt(1. - 2./(3.*r_ISCO)) 276 | 277 | chif = atot + eta*(L_ISCO - 2.*atot*(E_ISCO - 1.)) + (-3.821158961 - 1.2019*aeff - 1.20764*aeff*aeff)*eta2 + (3.79245 + 1.18385*aeff + 4.90494*aeff*aeff)*eta2*eta 278 | 279 | Om_ISCO = 1./(((r_ISCO_of_chi(chif))**(3./2.))+chif) 280 | 281 | return Om_ISCO/(np.pi*Mfin*utils.GMsun_over_c3) 282 | -------------------------------------------------------------------------------- /WF4Py/waveform_models/WFclass_definition.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # Copyright (c) 2022 Francesco Iacovelli 5 | # 6 | # All rights reserved. Use of this source code is governed by the 7 | # license that can be found in the LICENSE file. 8 | 9 | import numpy as np 10 | 11 | from abc import ABC, abstractmethod 12 | import os 13 | import sys 14 | 15 | from WF4Py import WFutils as utils 16 | 17 | ############################################################################## 18 | # WaveFormModel CLASS DEFINITION 19 | ############################################################################## 20 | 21 | class WaveFormModel(ABC): 22 | """ 23 | Abstract class to compute waveforms 24 | 25 | :param str objType: The kind of system the wf model is made for, can be ``'BBH'``, ``'BNS'`` or ``'NSBH'``. 26 | :param float fcutPar: The cut frequency factor of the waveform. This can either be given in :math:`\\rm Hz`, as for :py:class:`WF4Py.waveform_models.TaylorF2_RestrictedPN.TaylorF2_RestrictedPN`, or as an adimensional frequency (Mf), as for the IMR models. 27 | :param bool, optional is_tidal: Boolean specifying if the waveform includes tidal effects. 28 | :param bool, optional is_HigherModes: Boolean specifying if the waveform includes the contribution of sub-dominant (higher-order) modes. 29 | :param bool, optional is_Precessing: Boolean specifying if the waveform includes spin-precession effects. 30 | :param bool, optional is_eccentric: Boolean specifying if the waveform includes orbital eccentricity. 31 | 32 | """ 33 | 34 | def __init__(self, objType, fcutPar, is_tidal=False, is_HigherModes=False, is_Precessing=False, is_eccentric=False): 35 | """ 36 | Constructor method 37 | """ 38 | # The kind of system the wf model is made for, can be 'BBH', 'BNS' or 'NSBH' 39 | self.objType = objType 40 | # The cut frequency factor of the waveform, in Hz, to be divided by Mtot (in units of Msun). The method fcut can be redefined, as e.g. in the IMRPhenomD implementation, and fcutPar can be passed as an adimensional frequency (Mf) 41 | self.fcutPar = fcutPar 42 | self.is_tidal = is_tidal 43 | self.is_HigherModes = is_HigherModes 44 | self.is_Precessing = is_Precessing 45 | self.is_eccentric = is_eccentric 46 | 47 | @abstractmethod 48 | def Phi(self, f, **kwargs): 49 | """ 50 | Compute the phase of the GW as a function of frequency, given the events parameters. 51 | 52 | We compute here only the GW phase, not the full phase of the signal, which also includes the reference phase and the time of coalescence. 53 | 54 | :param numpy.ndarray f: Frequency grid on which the phase will be computed, in :math:`\\rm Hz`. 55 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the phase of, as in :py:data:`events`. 56 | :return: GW phase for the chosen events evaluated on the frequency grid. 57 | :rtype: numpy.ndarray 58 | 59 | """ 60 | # The frequency of the GW, as a function of frequency 61 | # With reference to the book M. Maggiore - Gravitational Waves Vol. 1, with Phi we mean only 62 | # the GW frequency, not the full phase of the signal, given by 63 | # Psi+(f) = 2 pi f t_c - Phi0 - pi/4 - Phi(f) 64 | pass 65 | 66 | @abstractmethod 67 | def Ampl(self, f, **kwargs): 68 | """ 69 | Compute the amplitude of the GW as a function of frequency, given the events parameters. 70 | 71 | :param numpy.ndarray f: Frequency grid on which the phase will be computed, in :math:`\\rm Hz`. 72 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the amplitude of, as in :py:data:`events`. 73 | :return: GW amplitude for the chosen events evaluated on the frequency grid. 74 | :rtype: numpy.ndarray 75 | 76 | """ 77 | pass 78 | 79 | def tau_star(self, f, **kwargs): 80 | # The relation among the time to coalescence (in seconds) and the frequency (in Hz). We use as default 81 | # the expression in M. Maggiore - Gravitational Waves Vol. 1 eq. (4.21), valid in Newtonian and restricted PN approximation 82 | """ 83 | Compute the time to coalescence (in seconds) as a function of frequency (in :math:`\\rm Hz`), given the events parameters. 84 | 85 | :param numpy.ndarray f: Frequency grid on which the time to coalescence will be computed, in :math:`\\rm Hz`. 86 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the time to coalescence of, as in :py:data:`events`. 87 | :return: time to coalescence for the chosen events evaluated on the frequency grid, in seconds. 88 | :rtype: numpy.ndarray 89 | 90 | """ 91 | utils.check_evparams(kwargs, checktidal=self.is_tidal) 92 | return 2.18567 * ((1.21/kwargs['Mc'])**(5./3.)) * ((100/f)**(8./3.)) 93 | 94 | def fcut(self, **kwargs): 95 | # The cut frequency of the waveform. In general this can be approximated as 2f_ISCO, but for complete waveforms 96 | # the expression is different 97 | """ 98 | Compute the cut frequency of the waveform as a function of the events parameters, in :math:`\\rm Hz`. 99 | 100 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the cut frequency of, as in :py:data:`events`. 101 | :return: Cut frequency of the waveform for the chosen events, in :math:`\\rm Hz`. 102 | :rtype: numpy.ndarray 103 | 104 | """ 105 | utils.check_evparams(kwargs, checktidal=self.is_tidal) 106 | return self.fcutPar/(kwargs['Mc']/(kwargs['eta']**(3./5.))) 107 | 108 | ############################################################################## 109 | # NEWTONIAN INSPIRAL WAVEFORM 110 | ############################################################################## 111 | 112 | class NewtInspiral(WaveFormModel): 113 | """ 114 | Leading order inspiral only waveform model. 115 | 116 | Relevant references: `M. Maggiore -- Gravitational Waves Vol. 1 `_, chapter 4. 117 | 118 | :param kwargs: Optional arguments to be passed to the parent class :py:class:`WaveFormModel`. 119 | 120 | """ 121 | 122 | def __init__(self, **kwargs): 123 | """ 124 | Constructor method 125 | """ 126 | # Cut from M. Maggiore - Gravitational Waves Vol. 2 eq. (14.106) 127 | # From T. Dietrich et al. Phys. Rev. D 99, 024029, 2019, below eq. (4) (also look at Fig. 1) it seems be that, for BNS in the non-tidal case, the cut frequency should be lowered to (0.04/(2.*pi*G*Msun/c3))/Mtot. 128 | super().__init__('BBH', 1./(6.*np.pi*np.sqrt(6.)*utils.GMsun_over_c3), **kwargs) 129 | 130 | def Phi(self, f, **kwargs): 131 | """ 132 | Compute the phase of the GW as a function of frequency, given the events parameters. 133 | 134 | We compute here only the GW phase, not the full phase of the signal, which also includes the reference phase and the time of coalescence. 135 | 136 | :param numpy.ndarray f: Frequency grid on which the phase will be computed, in :math:`\\rm Hz`. 137 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the phase of, as in :py:data:`events`. 138 | :return: GW phase for the chosen events evaluated on the frequency grid. 139 | :rtype: numpy.ndarray 140 | 141 | """ 142 | utils.check_evparams(kwargs, checktidal=self.is_tidal) 143 | phase = 3.*0.25*(utils.GMsun_over_c3*kwargs['Mc']*8.*np.pi*f)**(-5./3.) 144 | return phase - np.pi*0.25 145 | 146 | def Ampl(self, f, **kwargs): 147 | """ 148 | Compute the amplitude of the GW as a function of frequency, given the events parameters. 149 | 150 | :param numpy.ndarray f: Frequency grid on which the phase will be computed, in :math:`\\rm Hz`. 151 | :param dict(numpy.ndarray, numpy.ndarray, ...) kwargs: Dictionary with arrays containing the parameters of the events to compute the amplitude of, as in :py:data:`events`. 152 | :return: GW amplitude for the chosen events evaluated on the frequency grid. 153 | :rtype: numpy.ndarray 154 | 155 | """ 156 | utils.check_evparams(kwargs, checktidal=self.is_tidal) 157 | amplitude = np.sqrt(5./24.) * (np.pi**(-2./3.)) * utils.clightGpc/kwargs['dL'] * (utils.GMsun_over_c3*kwargs['Mc'])**(5./6.) * (f**(-7./6.)) 158 | return amplitude 159 | -------------------------------------------------------------------------------- /WF4Py/waveforms.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # -*- coding: utf-8 -*- 3 | 4 | # Copyright (c) 2022 Francesco Iacovelli 5 | # 6 | # All rights reserved. Use of this source code is governed by the 7 | # license that can be found in the LICENSE file. 8 | 9 | import os 10 | import sys 11 | 12 | #SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__)))) 13 | #sys.path.append(SCRIPT_DIR) 14 | 15 | from WF4Py import WFutils as utils 16 | 17 | from WF4Py.waveform_models.WFclass_definition import NewtInspiral 18 | from WF4Py.waveform_models.TaylorF2_RestrictedPN import TaylorF2_RestrictedPN 19 | from WF4Py.waveform_models.IMRPhenomD import IMRPhenomD 20 | from WF4Py.waveform_models.IMRPhenomD_NRTidalv2 import IMRPhenomD_NRTidalv2 21 | from WF4Py.waveform_models.IMRPhenomHM import IMRPhenomHM 22 | from WF4Py.waveform_models.IMRPhenomNSBH import IMRPhenomNSBH 23 | from WF4Py.waveform_models.IMRPhenomXAS import IMRPhenomXAS 24 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | # WF4Py documentation 2 | 3 | ## Documentation requirements 4 | 5 | In order to build the documentation, the following packages have to be installed 6 | 7 | * [```sphinx```]() 8 | * [```sphinx_rtd_theme```]() 9 | * [```nbsphinx```]() 10 | * [```myst-parser```]() 11 | * [```sphinx-argparse```]() 12 | * [```sphinx-copybutton```]() 13 | * [```readthedocs-sphinx-search```]() 14 | * [```docutils```]() 15 | 16 | To install them just run in the terminal 17 | 18 | ``` 19 | pip install --upgrade pip 20 | pip install -r docs/docs_requirements.txt 21 | ``` 22 | 23 | ## Build the documentation 24 | 25 | The HTML documentation can easily be built from the ```docs``` folder, running in the terminal 26 | 27 | ``` 28 | cd docs/ 29 | make html 30 | ``` 31 | 32 | The produced ```.html``` files will be stored in the directory ```./build/html```. 33 | 34 | It is also possible to build a LaTex version, running in the terminal 35 | 36 | ``` 37 | make latexpdf 38 | ``` 39 | 40 | the output pdf of this command will be ```./build/latex/wf4py.pdf```. 41 | -------------------------------------------------------------------------------- /docs/docs_requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx==5.3.0 2 | sphinx_rtd_theme==1.1.1 3 | nbsphinx==0.8.10 4 | myst-parser==0.18.1 5 | sphinx-argparse==0.4.0 6 | sphinx-copybutton==0.5.1 7 | readthedocs-sphinx-search==0.1.2 8 | docutils==0.17.1 -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=source 11 | set BUILDDIR=build 12 | 13 | %SPHINXBUILD% >NUL 2>NUL 14 | if errorlevel 9009 ( 15 | echo. 16 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 17 | echo.installed, then set the SPHINXBUILD environment variable to point 18 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 19 | echo.may add the Sphinx directory to PATH. 20 | echo. 21 | echo.If you don't have Sphinx installed, grab it from 22 | echo.https://www.sphinx-doc.org/ 23 | exit /b 1 24 | ) 25 | 26 | if "%1" == "" goto help 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/source/WF4Py_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmoStatGW/WF4Py/38c5436a243a84a9700d760f9fb3c8abca6ff7ac/docs/source/WF4Py_logo.png -------------------------------------------------------------------------------- /docs/source/_static/WF4Py_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CosmoStatGW/WF4Py/38c5436a243a84a9700d760f9fb3c8abca6ff7ac/docs/source/_static/WF4Py_logo.png -------------------------------------------------------------------------------- /docs/source/_static/custom.css: -------------------------------------------------------------------------------- 1 | /* This sets the color of the main headers in the lateral bar */ 2 | .wy-menu-vertical header, .wy-menu-vertical p.caption { 3 | color : #3e8d7b; 4 | } 5 | /* This sets the click color of the sub headers in the lateral bar */ 6 | .wy-nav-top { 7 | background: #3e8d7b; 8 | } 9 | .wy-tray-container li.wy-tray-item-info { 10 | background: #3e8d7b; 11 | } 12 | .wy-dropdown-menu > dd > a:hover { 13 | background: #3e8d7b; 14 | } 15 | .wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover { 16 | background: #3e8d7b; 17 | } 18 | .wy-menu-vertical a:active { 19 | background-color: #3e8d7b; 20 | } 21 | 22 | /* This sets the colors of the code objects definitions: color controls the text and border-top the top line */ 23 | html.writer-html4 .rst-content dl:not(.docutils)>dt, html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt { 24 | background: #e6f5f1; 25 | color: #3e8d7b; 26 | border-top: 3px solid #3e8d7b; 27 | } 28 | /* This sets the color of the "[source]" link in the code objects definitions */ 29 | .rst-content .viewcode-back, .rst-content .viewcode-link { 30 | color : #3091d1; 31 | } 32 | 33 | /* This sets the color of the note boxes background in the text part */ 34 | .rst-content .note, .rst-content .seealso, .rst-content .wy-alert-info.admonition, .rst-content .wy-alert-info.admonition-todo, .rst-content .wy-alert-info.attention, .rst-content .wy-alert-info.caution, .rst-content .wy-alert-info.danger, .rst-content .wy-alert-info.error, .rst-content .wy-alert-info.hint, .rst-content .wy-alert-info.important, .rst-content .wy-alert-info.tip, .rst-content .wy-alert-info.warning, .wy-alert.wy-alert-info{ 35 | background : #e6f5f1; 36 | } 37 | /* This sets the color of the note boxes background in the title part */ 38 | .rst-content .note .admonition-title, .rst-content .note .wy-alert-title, .rst-content .seealso .admonition-title, .rst-content .seealso .wy-alert-title, .rst-content .wy-alert-info.admonition-todo .admonition-title, .rst-content .wy-alert-info.admonition-todo .wy-alert-title, .rst-content .wy-alert-info.admonition .admonition-title, .rst-content .wy-alert-info.admonition .wy-alert-title, .rst-content .wy-alert-info.attention .admonition-title, .rst-content .wy-alert-info.attention .wy-alert-title, .rst-content .wy-alert-info.caution .admonition-title, .rst-content .wy-alert-info.caution .wy-alert-title, .rst-content .wy-alert-info.danger .admonition-title, .rst-content .wy-alert-info.danger .wy-alert-title, .rst-content .wy-alert-info.error .admonition-title, .rst-content .wy-alert-info.error .wy-alert-title, .rst-content .wy-alert-info.hint .admonition-title, .rst-content .wy-alert-info.hint .wy-alert-title, .rst-content .wy-alert-info.important .admonition-title, .rst-content .wy-alert-info.important .wy-alert-title, .rst-content .wy-alert-info.tip .admonition-title, .rst-content .wy-alert-info.tip .wy-alert-title, .rst-content .wy-alert-info.warning .admonition-title, .rst-content .wy-alert-info.warning .wy-alert-title, .rst-content .wy-alert.wy-alert-info .admonition-title, .wy-alert.wy-alert-info .rst-content .admonition-title, .wy-alert.wy-alert-info .wy-alert-title { 39 | background : #3e8d7b; 40 | } 41 | 42 | /* This sets the base color of the links */ 43 | a { 44 | color : #3091d1; /* Old default #2980b9 */ 45 | } 46 | /* This sets the color of the unused links */ 47 | a:hover { 48 | color : #3091d1 49 | } 50 | /* This sets the color of the visited links */ 51 | a:visited { 52 | color : #3091d1; 53 | } 54 | 55 | /* This sets the color of the sub headers in the lateral bar */ 56 | .wy-menu-vertical a { 57 | color : #d9d9d9; 58 | } 59 | 60 | /* This sets the color of the border of the search bar */ 61 | .wy-side-nav-search input[type=text] { 62 | border-color : #3e8d7b; 63 | } 64 | 65 | /* This sets the color of the $ in console mode */ 66 | .highlight .gp { 67 | color : #3e8d7b; 68 | } 69 | 70 | /* This sets the color of the red text in json mode */ 71 | .highlight .s2 { 72 | color : #e74c3c; 73 | } 74 | 75 | /* This sets the color of the principal highlighted text in bibtex mode */ 76 | .highlight .nc{ 77 | color : #3e8d7b; 78 | } 79 | /* This sets the color of the record name highlighted text in bibtex mode */ 80 | .highlight .nl{ 81 | color : #666666; 82 | } 83 | /* This sets the color of the items highlighted text in bibtex mode */ 84 | .highlight .na{ 85 | color : #666666; 86 | } 87 | /* This sets the color of the items highlighted red text in bibtex mode */ 88 | .highlight .s{ 89 | color : #e74c3c; 90 | } 91 | -------------------------------------------------------------------------------- /docs/source/citation.rst: -------------------------------------------------------------------------------- 1 | 2 | Citation 3 | ======== 4 | 5 | If using ``WF4Py`` please cite the `GitHub repository `_ and the release papers `arXiv:2207.02771 `_ and `arXiv:2207.06910 `_. 6 | 7 | Release papers 8 | -------------- 9 | 10 | Here you find the :math:`{\rm BibT}_{\rm \Large E}{\rm X}` records of the release papers 11 | 12 | .. code-block:: bibtex 13 | 14 | @article{Iacovelli:2022bbs, 15 | author = "Iacovelli, Francesco and Mancarella, Michele and Foffa, Stefano and Maggiore, Michele", 16 | title = "{Forecasting the Detection Capabilities of Third-generation Gravitational-wave Detectors Using GWFAST}", 17 | eprint = "2207.02771", 18 | archivePrefix = "arXiv", 19 | primaryClass = "gr-qc", 20 | doi = "10.3847/1538-4357/ac9cd4", 21 | journal = "Astrophys. J.", 22 | volume = "941", 23 | number = "2", 24 | pages = "208", 25 | year = "2022" 26 | } 27 | 28 | .. code-block:: bibtex 29 | 30 | @article{Iacovelli:2022mbg, 31 | author = "Iacovelli, Francesco and Mancarella, Michele and Foffa, Stefano and Maggiore, Michele", 32 | title = "{GWFAST: A Fisher Information Matrix Python Code for Third-generation Gravitational-wave Detectors}", 33 | eprint = "2207.06910", 34 | archivePrefix = "arXiv", 35 | primaryClass = "astro-ph.IM", 36 | doi = "10.3847/1538-4365/ac9129", 37 | journal = "Astrophys. J. Supp.", 38 | volume = "263", 39 | number = "1", 40 | pages = "2", 41 | year = "2022" 42 | } 43 | 44 | Acknowledgments 45 | =============== 46 | 47 | The logo is realised using the `DO Futuristic `_ font. 48 | -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- 1 | # Configuration file for the Sphinx documentation builder. 2 | # 3 | # For the full list of built-in configuration values, see the documentation: 4 | # https://www.sphinx-doc.org/en/master/usage/configuration.html 5 | 6 | # -- Project information ----------------------------------------------------- 7 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information 8 | 9 | project = 'WF4Py' 10 | copyright = '2023, Francesco Iacovelli' 11 | author = 'Francesco Iacovelli' 12 | release = '1.1.0' 13 | 14 | # -- General configuration --------------------------------------------------- 15 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration 16 | 17 | language = 'en' 18 | 19 | extensions = ['sphinx.ext.duration', 20 | 'sphinx.ext.autodoc', 21 | 'sphinx.ext.viewcode', 22 | 'nbsphinx', 23 | 'myst_parser', 24 | 'sphinxarg.ext', 25 | 'sphinx.ext.intersphinx', 26 | 'sphinx_copybutton', 27 | 'sphinx_search.extension', 28 | ] 29 | 30 | templates_path = ['_templates'] 31 | exclude_patterns = ['_build', '.DS_Store'] 32 | suppress_warnings = ["myst.header"] 33 | 34 | intersphinx_mapping = { 35 | 'python': ('https://docs.python.org/3/', None), 36 | 'numpy': ('https://numpy.org/doc/stable/', None), 37 | } 38 | 39 | # -- Options for HTML output ------------------------------------------------- 40 | # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output 41 | 42 | import sphinx_rtd_theme 43 | 44 | html_theme = 'sphinx_rtd_theme' 45 | html_static_path = ['_static'] 46 | html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] 47 | 48 | html_theme_options = { 49 | 'analytics_anonymize_ip': False, 50 | 'logo_only': True, 51 | 'display_version': True, 52 | 'prev_next_buttons_location': 'bottom', 53 | 'style_external_links': False, 54 | 'vcs_pageview_mode': '', 55 | 'style_nav_header_background': 'linear-gradient(290deg, rgba(200,200,200,1) 45%, rgba(62,141,123,1) 85%, rgba(47,127,123,1) 100%)', 56 | # Toc options 57 | 'collapse_navigation': True, 58 | 'sticky_navigation': True, 59 | 'navigation_depth': 4, 60 | 'includehidden': False, 61 | 'titles_only': False, 62 | # File-wide metadata 63 | 'github_url' : 'https://github.com/CosmoStatGW/WF4Py', 64 | 'source_repository': 'https://github.com/CosmoStatGW/WF4Py', 65 | 'source_branch' : 'master', 66 | 'source_directory' : 'docs/source/', 67 | } 68 | 69 | html_logo = 'WF4Py_logo.png' 70 | 71 | #def setup(app): 72 | # app.add_css_file('custom.css') 73 | 74 | html_css_files = ['custom.css'] 75 | 76 | # -- Options for LaTex output ------------------------------------------------- 77 | latex_elements = { 78 | 'preamble': r''' 79 | \DeclareUnicodeCharacter{2212}{\ensuremath{-}} 80 | \usepackage{amsmath} 81 | ''', 82 | 83 | } 84 | 85 | # -- Import and definitions ------------------------------------------------- 86 | 87 | import pathlib 88 | import sys 89 | import os 90 | 91 | sys.path.insert(0, pathlib.Path(__file__).parents[2].resolve().as_posix()) 92 | 93 | sys.path.insert(0, os.path.abspath('../WF4Py/')) 94 | 95 | # See https://stackoverflow.com/questions/7250659/how-to-use-python-to-programmatically-generate-part-of-sphinx-documentation/18143318#18143318 96 | 97 | from os.path import basename 98 | 99 | try: 100 | from StringIO import StringIO 101 | except ImportError: 102 | from io import StringIO 103 | 104 | from docutils.parsers.rst import Directive 105 | from docutils import nodes, statemachine 106 | 107 | class ExecDirective(Directive): 108 | """Execute the specified python code and insert the output into the document""" 109 | has_content = True 110 | 111 | def run(self): 112 | oldStdout, sys.stdout = sys.stdout, StringIO() 113 | 114 | tab_width = self.options.get('tab-width', self.state.document.settings.tab_width) 115 | source = self.state_machine.input_lines.source(self.lineno - self.state_machine.input_offset - 1) 116 | 117 | try: 118 | exec('\n'.join(self.content)) 119 | text = sys.stdout.getvalue() 120 | lines = statemachine.string2lines(text, tab_width, convert_whitespace=True) 121 | self.state_machine.insert_input(lines, source) 122 | return [] 123 | except Exception: 124 | return [nodes.error(None, nodes.paragraph(text = "Unable to execute python code at %s:%d:" % (basename(source), self.lineno)), nodes.paragraph(text = str(sys.exc_info()[1])))] 125 | finally: 126 | sys.stdout = oldStdout 127 | 128 | def setup(app): 129 | app.add_directive('exec', ExecDirective) 130 | -------------------------------------------------------------------------------- /docs/source/events_parameters.rst: -------------------------------------------------------------------------------- 1 | .. _data_gen: 2 | 3 | Creating data 4 | ============= 5 | 6 | .. _data_dict: 7 | 8 | The events dictionary 9 | --------------------- 10 | 11 | The ``WF4Py`` functions take as input dictionaries containing the parameters of the events to analyse. 12 | As an example, the dictionary can be structured as 13 | 14 | .. py:data:: events 15 | 16 | :type: dict(numpy.ndarray, numpy.ndarray, ...) 17 | 18 | events = {``'Mc'``:np.array([...]), ``'eta'``:np.array([...]), ``'dL'``:np.array([...]), ``'iota'``:np.array([...]), ``'Phicoal'``:np.array([...]), ``'chi1x'``:np.array([...]), ``'chi2x'``:np.array([...]), ``'chi1y'``:np.array([...]), ``'chi2y'``:np.array([...]), ``'chi1z'``:np.array([...]), ``'chi2z'``:np.array([...]), ``'LambdaTilde'``:np.array([...]), ``'deltaLambda'``:np.array([...]), ``'ecc'``:np.array([...])} 19 | 20 | .. note:: 21 | The arrays in the :py:data:`events` dictionary have to be 1-D and all of the same size. 22 | 23 | .. _parameters_names: 24 | 25 | Parameters names and conventions 26 | -------------------------------- 27 | 28 | Here we report the naming conventions used in ``WF4Py``, as well as the units of the parameters and their physical range 29 | 30 | .. table:: 31 | 32 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 33 | | Parameter symbol | Parameter name | Parameter description | Units in ``WF4Py`` | Physical range | 34 | +===============================+===============================+===============================+======================+==============================================+ 35 | | :math:`{\cal M}_c` | ``'Mc'`` | chirp mass | :math:`\rm M_{\odot}`| :math:`(0,\,+\infty)` | 36 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 37 | | :math:`\eta` | ``'eta'`` | symmetric mass ratio | -- | :math:`(0,\,0.25]` | 38 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 39 | | :math:`d_L` | ``'dL'`` | luminosity distance | :math:`\rm Gpc` | :math:`(0,\,+\infty)` | 40 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 41 | | | | inclination angle with | | | 42 | | :math:`\iota` | ``'iota'`` | respect to orbital | :math:`\rm rad` | :math:`[0,\,\pi]` | 43 | | | | angular momentum | | | 44 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 45 | | | | inclination angle with | | | 46 | | :math:`\theta_{JN}` | ``'thetaJN'`` | respect to total | :math:`\rm rad` | :math:`[0,\,\pi]` | 47 | | | | angular momentum | | | 48 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 49 | | :math:`\Phi_c` | ``'Phicoal'`` | phase at coalescence | :math:`\rm rad` | :math:`[0,\,2\pi]` | 50 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 51 | | :math:`\chi_{1,x}` | ``'chi1x'`` | spin of object 1 | -- | :math:`[-1,\,1]` | 52 | | | | along the axis :math:`x` | | | 53 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 54 | | :math:`\chi_{2,x}` | ``'chi2x'`` | spin of object 2 | -- | :math:`[-1,\,1]` | 55 | | | | along the axis :math:`x` | | | 56 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 57 | | :math:`\chi_{1,y}` | ``'chi1y'`` | spin of object 1 | -- | :math:`[-1,\,1]` | 58 | | | | along the axis :math:`y` | | | 59 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 60 | | :math:`\chi_{2,y}` | ``'chi2y'`` | spin of object 2 | -- | :math:`[-1,\,1]` | 61 | | | | along the axis :math:`y` | | | 62 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 63 | | :math:`\chi_{1,z}` | ``'chi1z'`` | spin of object 1 | -- | :math:`[-1,\,1]` | 64 | | | | along the axis :math:`z` | | | 65 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 66 | | :math:`\chi_{2,z}` | ``'chi2z'`` | spin of object 2 | -- | :math:`[-1,\,1]` | 67 | | | | along the axis :math:`z` | | | 68 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 69 | | :math:`\chi_s` | ``'chiS'`` | symmetric spin | -- | :math:`[-1,\,1]` | 70 | | | | component | | | 71 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 72 | | :math:`\chi_a` | ``'chiA'`` | asymmetric spin | -- | :math:`[-1,\,1]` | 73 | | | | component | | | 74 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 75 | | :math:`\chi_1` | ``'chi1'`` | spin magnitude of | -- | :math:`[0,\,1]` | 76 | | | | object 1 | | | 77 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 78 | | :math:`\chi_2` | ``'chi2'`` | spin magnitude of | -- | :math:`[0,\,1]` | 79 | | | | object 2 | | | 80 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 81 | | :math:`\theta_{s,1}` | ``'tilt1'`` | spin tilt of | :math:`\rm rad` | :math:`[0,\,\pi]` | 82 | | | | object 1 | | | 83 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 84 | | :math:`\theta_{s,2}` | ``'tilt2'`` | spin tilt of | :math:`\rm rad` | :math:`[0,\,\pi]` | 85 | | | | object 2 | | | 86 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 87 | | | | azimuthal angle of | | | 88 | | :math:`\phi_{JL}` | ``'phiJL'`` | orbital angular | :math:`\rm rad` | :math:`[0,\,2\pi]` | 89 | | | | momentum relative to | | | 90 | | | | total angular momentum | | | 91 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 92 | | | | difference in | | | 93 | | :math:`\phi_{1,2}` | ``'phi12'`` | azimuthal angle | :math:`\rm rad` | :math:`[0,\,2\pi]` | 94 | | | | between spin vectors | | | 95 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 96 | | | | adimensional tidal | | | 97 | | :math:`\Lambda_1` | ``'Lambda1'`` | deformability of | -- | :math:`[0,\,+\infty)` | 98 | | | | object 1 | | | 99 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 100 | | | | adimensional tidal | | | 101 | | :math:`\Lambda_2` | ``'Lambda2'`` | deformability of | -- | :math:`[0,\,+\infty)` | 102 | | | | object 2 | | | 103 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 104 | | | | adimensional tidal | | | 105 | | :math:`\tilde{\Lambda}` | ``'LambdaTilde'`` | deformability of | -- | :math:`[0,\,+\infty)` | 106 | | | | combination | | | 107 | | | | :math:`\tilde{\Lambda}` | | | 108 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 109 | | | | adimensional tidal | | | 110 | | :math:`\delta\tilde{\Lambda}` | ``'deltaLambda'`` | deformability of | -- | :math:`(-\infty,\,+\infty)` | 111 | | | | combination | | | 112 | | | | :math:`\delta\tilde{\Lambda}` | | | 113 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 114 | | | | orbital eccentricity at | | | 115 | | :math:`e_0` | ``'ecc'`` | reference frequency | -- | :math:`[0,\,1)` | 116 | | | | :math:`f_{e_{0}}` | | | 117 | +-------------------------------+-------------------------------+-------------------------------+----------------------+----------------------------------------------+ 118 | 119 | .. warning:: 120 | The spin components are defined on a sphere, i.e. they have to satisfy :math:`\chi_{1,x}^2 + \chi_{1,y}^2 + \chi_{1,z}^2\leq 1` and :math:`\chi_{2,x}^2 + \chi_{2,y}^2 + \chi_{2,z}^2\leq 1`. 121 | 122 | .. note:: 123 | The symmetric and asymmetric spin components are defined as 124 | 125 | .. math:: 126 | :nowrap: 127 | 128 | \begin{eqnarray} 129 | \chi_s & = & \frac{1}{2} (\chi_{1,z} + \chi_{2,z}) \\ 130 | \chi_a & = & \frac{1}{2} (\chi_{1,z} - \chi_{2,z}) 131 | \end{eqnarray} 132 | 133 | .. _note_labdatildeDef: 134 | .. note:: 135 | The adimensional tidal deformability combinations :math:`\tilde{\Lambda}` and :math:`\delta\tilde{\Lambda}` are defined as (see `arXiv:1402.5156 `_). 136 | 137 | .. math:: 138 | :nowrap: 139 | 140 | \begin{eqnarray} 141 | \tilde{\Lambda} & = & \dfrac{8}{13} \left[(1+7\eta-31\eta^2)(\Lambda_1 + \Lambda_2) + \sqrt{1-4\eta}(1+9\eta-11\eta^2)(\Lambda_1 - \Lambda_2)\right] \\ 142 | \delta\tilde{\Lambda} & = & \dfrac{1}{2} \left[\sqrt{1-4\eta} \left(1-\dfrac{13272}{1319}\eta + \dfrac{8944}{1319}\eta^2\right)(\Lambda_1 + \Lambda_2) + \right. \\ 143 | & & \ \ + \left. \left(1 - \dfrac{15910}{1319}\eta + \dfrac{32850}{1319}\eta^2 + \dfrac{3380}{1319}\eta^3\right)(\Lambda_1 - \Lambda_2)\right] 144 | \end{eqnarray} 145 | -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | .. WF4Py documentation master file, created by 2 | sphinx-quickstart on Tue Jan 3 00:12:49 2023. 3 | 4 | Welcome to WF4Py's documentation! 5 | ================================= 6 | 7 | **WF4Py** is a user-friendly package implementing state-of-the-art frequency-domain gravitational wave waveform models in pure Python, thus enabling parallelisation over multiple events at a time. 8 | All the waveforms are accurately checked with their implementation in the `LIGO Algorithm Library `_, ``LAL``. 9 | 10 | For further documentation refer to the release papers `arXiv:2207.02771 `_ and `arXiv:2207.06910 `_. 11 | 12 | Have a look at `gwfast `_ for a Fisher matrix code implementing the ``WF4Py`` models. 13 | 14 | .. toctree:: 15 | :maxdepth: 1 16 | :caption: Package description: 17 | 18 | installation 19 | events_parameters 20 | waveforms 21 | utilities 22 | 23 | .. toctree:: 24 | :maxdepth: 1 25 | :caption: Tutorial: 26 | 27 | notebooks/WF4Py_tutorial 28 | 29 | .. toctree:: 30 | :maxdepth: 1 31 | :caption: References: 32 | 33 | citation 34 | 35 | Indices and tables 36 | ================== 37 | 38 | * :ref:`genindex` 39 | * :ref:`search` 40 | -------------------------------------------------------------------------------- /docs/source/installation.rst: -------------------------------------------------------------------------------- 1 | .. _installation: 2 | 3 | Installation 4 | ============ 5 | 6 | ``WF4Py`` can be easily installed using pip: 7 | 8 | .. code-block:: console 9 | 10 | $ pip install --upgrade pip 11 | $ pip install git+https://github.com/CosmoStatGW/WF4Py 12 | 13 | 14 | Otheriwse the git repository can be cloned: 15 | 16 | .. code-block:: console 17 | 18 | $ git clone https://github.com/CosmoStatGW/WF4Py 19 | 20 | Then, to install the required packages, simply run 21 | 22 | .. code-block:: console 23 | 24 | $ cd WF4Py 25 | $ pip install --upgrade pip 26 | $ pip install -r requirements.txt 27 | -------------------------------------------------------------------------------- /docs/source/utilities.rst: -------------------------------------------------------------------------------- 1 | .. _utilities: 2 | 3 | Utility functions 4 | ================= 5 | 6 | We here list and describe the utility functions and definitions provided in the :py:class:`WF4Py.WFutils` module. 7 | 8 | Convert between parameters 9 | -------------------------- 10 | 11 | ``WF4Py`` provides some useful functions to convert between different parameters. All of them are vectorised, and can thus be used on arrays containing the parameters of multiple events. 12 | 13 | Tidal deformability parameters 14 | """""""""""""""""""""""""""""" 15 | 16 | Conversions between the individual tidal deformabilities of the two objects :math:`\Lambda_1` and :math:`\Lambda_2` and the combinations :math:`\tilde{\Lambda}` and :math:`\delta\tilde{\Lambda}` (see the :ref:`definition `) 17 | 18 | .. autofunction:: WF4Py.WFutils.Lamt_delLam_from_Lam12 19 | 20 | .. autofunction:: WF4Py.WFutils.Lam12_from_Lamt_delLam 21 | 22 | Masses 23 | """""" 24 | 25 | Conversions between the component masses and the chirp mass and symmetric mass ratio. 26 | 27 | .. autofunction:: WF4Py.WFutils.m1m2_from_Mceta 28 | 29 | .. autofunction:: WF4Py.WFutils.Mceta_from_m1m2 30 | 31 | Constants 32 | --------- 33 | 34 | We here list the constants defined in the :py:class:`WF4Py.WFutils` module 35 | 36 | .. autodata:: WF4Py.WFutils.uGpc 37 | 38 | .. autodata:: WF4Py.WFutils.uMsun 39 | 40 | .. autodata:: WF4Py.WFutils.clight 41 | 42 | .. autodata:: WF4Py.WFutils.clightGpc 43 | 44 | .. autodata:: WF4Py.WFutils.GMsun_over_c3 45 | 46 | .. autodata:: WF4Py.WFutils.GMsun_over_c2 47 | 48 | .. autodata:: WF4Py.WFutils.GMsun_over_c2_Gpc 49 | 50 | .. autodata:: WF4Py.WFutils.REarth 51 | 52 | .. autodata:: WF4Py.WFutils.f_isco 53 | 54 | .. autodata:: WF4Py.WFutils.f_qK 55 | -------------------------------------------------------------------------------- /docs/source/waveforms.rst: -------------------------------------------------------------------------------- 1 | .. _wf_models: 2 | 3 | Waveform models 4 | =============== 5 | 6 | Waveform models give the prediction for a GW signal emitted by a coalescing binary as a function of the :ref:`parameters of the source `. 7 | 8 | ``WF4Py`` provides Fourier domain waveform models. 9 | In particular, it provides a Python implementation for some selected state-of-the-art models, written following the original implementations in the `LIGO Algorithm Library `_, ``LAL``. 10 | 11 | .. _wf_model_class: 12 | 13 | The WaveFormModel class 14 | ----------------------- 15 | 16 | Waveforms in ``WF4Py`` are built as classes, initialised as follows 17 | 18 | .. autoclass:: WF4Py.waveform_models.WFclass_definition.WaveFormModel 19 | 20 | Each waveform includes four fundamental methods, to compute, given the parameter of the source(s), the *phase* of the signal, :math:`\Phi (f)`, the *amplitude* of the signal, :math:`A (f)`, the *time to coalescence* as a function of the frequency, :math:`\tau^* (f)`, and the *cut frequency*. 21 | 22 | .. automethod:: WF4Py.waveform_models.WFclass_definition.WaveFormModel.Phi 23 | 24 | .. automethod:: WF4Py.waveform_models.WFclass_definition.WaveFormModel.Ampl 25 | 26 | .. automethod:: WF4Py.waveform_models.WFclass_definition.WaveFormModel.tau_star 27 | 28 | .. note:: 29 | For :py:class:`WF4Py.waveform_models.WFclass_definition.NewtInspiral` we use the :math:`\tau^* (f)` expression in `M. Maggiore -- Gravitational Waves Vol. 1 `_ eq. (4.21). 30 | For the other models instead we use the :math:`\tau^* (f)` expression in `arXiv:0907.0700 `_ eq. (3.8b), valid up to 3.5 PN. 31 | 32 | .. automethod:: WF4Py.waveform_models.WFclass_definition.WaveFormModel.fcut 33 | 34 | Some models also have a method denoted as :py:class:`hphc` to compute directly the :math:`\tilde{h}_+` and :math:`\tilde{h}_{\times}` polarisations of the gravitational wave, see below. 35 | 36 | .. _wf_models_py: 37 | 38 | Waveform models 39 | --------------- 40 | 41 | We here report and briefly describe the waveform models implemented in pure Python in ``WF4Py``. We carefully checked that our Python implementation accurately reproduces the original ``LAL`` waveforms. 42 | 43 | Leading order inspiral 44 | """""""""""""""""""""" 45 | 46 | This model includes only the leading order term in the inspiral. 47 | 48 | .. autoclass:: WF4Py.waveform_models.WFclass_definition.NewtInspiral 49 | 50 | .. _TF2: 51 | 52 | TaylorF2 53 | """""""" 54 | 55 | .. versionadded:: 1.0.1 56 | Added the possibility to terminate the waveform at the ISCO frequency of a remnant Kerr BH. 57 | Added the spin-induced quadrupole due to tidal effects. 58 | 59 | This model includes contributions to the phase up to 3.5 order in the *Post Newtonian*, PN, expansion, and can thus be used to describe the inspiral. The amplitude is the same as in Newtonian approximation. 60 | Our implementation can include both the tidal terms at 5 and 6 PN (see `arXiv:1402.5156 `_) and a moderate eccentricity in the orbit :math:`e_0\lesssim 0.1` up to 3 PN (see `arXiv:1605.00304 `_). 61 | There is no limitation in the parameters range, but, being an inspiral-only model, :py:class:`WF4Py.waveform_models.TaylorF2_RestrictedPN.TaylorF2_RestrictedPN` is better suited for BNS systems. 62 | 63 | .. autoclass:: WF4Py.waveform_models.TaylorF2_RestrictedPN.TaylorF2_RestrictedPN 64 | 65 | .. _IMRPhenomD: 66 | 67 | IMRPhenomD 68 | """""""""" 69 | 70 | This is a full inspiral–merger-ringdown model tuned with NR simulations, which can be used to simulate signals coming from BBH mergers, with non–precessing spins up to :math:`|\chi_z|\sim 0.85` and mass ratios up to :math:`q = m_1/m_2 \sim 18`. 71 | 72 | .. autoclass:: WF4Py.waveform_models.IMRPhenomD.IMRPhenomD 73 | 74 | .. _IMRPhenomD_NRTidalv2: 75 | 76 | IMRPhenomD_NRTidalv2 77 | """""""""""""""""""" 78 | 79 | This is a full inspiral-merger-ringdown model tuned with NR simulations, which extends the :ref:`IMRPhenomD` model to include tidal effects, and can thus be used to accurately describe signals coming from BNS mergers. The validity has been assessed for masses between :math:`1\,{\rm M}_{\odot}` and :math:`3\,{\rm M}_{\odot}`, spins up to :math:`|\chi_z|\sim 0.6` and tidal deformabilities up to :math:`\Lambda_i\sim 5000`. 80 | 81 | .. autoclass:: WF4Py.waveform_models.IMRPhenomD_NRTidalv2.IMRPhenomD_NRTidalv2 82 | 83 | The model includes a Planck taper filter to terminate the waveform after merger, we thus the cut frequency slightly before the end of the filter. 84 | 85 | .. _IMRPhenomHM: 86 | 87 | IMRPhenomHM 88 | """"""""""" 89 | 90 | This is a full inspiral–merger-ringdown model tuned with NR simulations, which takes into account not only the :math:`(2,2)` quadrupole of the signal, but also the sub–dominant multipoles :math:`(l,m) = (2,1),\, (3,2),\, (3,3),\, (4,3)`, and :math:`(4,4)`, that can be particularly relevant to better describe the signal coming from BBH systems. The calibration range is the same of the :ref:`IMRPhenomD` model. 91 | 92 | .. autoclass:: WF4Py.waveform_models.IMRPhenomHM.IMRPhenomHM 93 | 94 | To avoid for loops and recomputing coefficients (given that in this case the amplitude cannot be computed separately from the phase), this model features a :py:class:`WF4Py.waveform_models.IMRPhenomHM.IMRPhenomHM.hphc` method, to compute directly :math:`\tilde{h}_+` and :math:`\tilde{h}_{\times}` 95 | 96 | .. automethod:: WF4Py.waveform_models.IMRPhenomHM.IMRPhenomHM.hphc 97 | 98 | Also, in this case the :py:class:`WF4Py.waveform_models.IMRPhenomHM.IMRPhenomHM.Phi` and :py:class:`WF4Py.waveform_models.IMRPhenomHM.IMRPhenomHM.Ampl` methods return dictionaries containing the phases and amplitudes of the various modes, respectively. The dictionaries have keys ``'21'``, ``'22'``, ``'32'``, ``'33'``, ``'43'`` and ``'44'``. 99 | 100 | .. automethod:: WF4Py.waveform_models.IMRPhenomHM.IMRPhenomHM.Phi 101 | 102 | .. automethod:: WF4Py.waveform_models.IMRPhenomHM.IMRPhenomHM.Ampl 103 | 104 | To combine the various modes and obtain the full amplitude and phase from these outputs, it is possible to use the function 105 | 106 | .. autofunction:: WF4Py.WFutils.Add_Higher_Modes 107 | 108 | .. _IMRPhenomNSBH: 109 | 110 | IMRPhenomNSBH 111 | """"""""""""" 112 | 113 | This is a full inspiral–merger-ringdown model tuned with NR simulations, which can describe the signal coming from the merger of a NS and a BH, with mass ratios up to :math:`q = m_1/m_2 \sim 100`, also taking into account tidal effects and the impact of the possible tidal disruption of the NS. 114 | 115 | .. autoclass:: WF4Py.waveform_models.IMRPhenomNSBH.IMRPhenomNSBH 116 | 117 | .. note:: 118 | 119 | In ``LAL``, to compute the parameter :math:`\xi_{\rm tide}` in `arXiv:1509.00512 `_ eq. (8), the roots are extracted. 120 | In Python this would break the possibility to vectorise so, to circumvent the issue, we compute a grid of :math:`\xi_{\rm tide}` as a function of the compactness, mass ratio and BH spin, and then use a 3D interpolator. 121 | The first time the code runs, if this interpolator is not already present, it will be computed. 122 | The base resolution of the grid is 200 points per parameter, that we find sufficient to reproduce the ``LAL`` implementation with good precision, given the smooth behaviour of the function, but this can be raised if needed. 123 | In this case, it is necessary to change the name of the file assigned to ``self.path_xiTide_tab`` and the ``res`` input passed to the function that loads the grid. 124 | 125 | .. automethod:: WF4Py.waveform_models.IMRPhenomNSBH.IMRPhenomNSBH._make_xiTide_interpolator 126 | 127 | .. _IMRPhenomD_NRTidalv2_Lorentzian: 128 | 129 | .. _IMRPhenomXAS: 130 | 131 | IMRPhenomXAS 132 | """""""""""" 133 | 134 | This is a full inspiral–merger-ringdown model tuned with NR simulations, which can be used to simulate signals coming from BBH mergers, with non–precessing spins up to :math:`|\chi_z|\sim 0.9` and mass ratios :math:`q = m_1/m_2` from 1 to 1000, among the last to be released. 135 | 136 | .. autoclass:: WF4Py.waveform_models.IMRPhenomXAS.IMRPhenomXAS 137 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | numpy 2 | scipy 3 | h5py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | import setuptools 2 | 3 | with open("README.md", "r", encoding="utf-8") as fh: 4 | long_description = fh.read() 5 | 6 | setuptools.setup( 7 | name='WF4Py', 8 | version='1.1.0', 9 | author='Francesco Iacovelli', 10 | author_email='francesco.iacovelli@unige.ch', 11 | description='Gravitational waves waveform models in pure Python language', 12 | long_description=long_description, 13 | long_description_content_type="text/markdown", 14 | url='https://github.com/CosmoStatGW/WF4Py', 15 | license='GNU GPLv3', 16 | python_requires='>=3.7', 17 | packages=['WF4Py', 'WF4Py/waveform_models'],#setuptools.find_packages(), 18 | include_package_data=True, 19 | package_data={'':['WFfiles/*.txt', 'WFfiles/*.h5']}, 20 | install_requires=['numpy', 'scipy', 'h5py'], 21 | ) 22 | --------------------------------------------------------------------------------