From 196ce4a9ce33927c0550456e20f6f0ee59edf8ba Mon Sep 17 00:00:00 2001 From: Yifan Wang <yifan.wang@aei.mpg.de> Date: Mon, 6 Sep 2021 02:17:05 +0200 Subject: [PATCH] correct tphm length estimator --- waveform/wrapper_tphm_parity/parity_TPHM.py | 27 ++++++++++++++--- waveform/wrapper_tphm_parity/setup.py | 33 +++++++++++++++++++++ 2 files changed, 56 insertions(+), 4 deletions(-) diff --git a/waveform/wrapper_tphm_parity/parity_TPHM.py b/waveform/wrapper_tphm_parity/parity_TPHM.py index 5b78d89..54223f1 100644 --- a/waveform/wrapper_tphm_parity/parity_TPHM.py +++ b/waveform/wrapper_tphm_parity/parity_TPHM.py @@ -1,4 +1,23 @@ -Unstaged changes after reset: -D IMRPhenomTPHMParity/parity_TPHM.py -M waveform/wrapper_mpv_waveform/mpvwaveform.py -M waveform/wrapper_tphm_parity/parity_TPHM.py +def gen(**kwds): + from pycbc.waveform import get_fd_waveform + import lal + + if 'approximant' in kwds: + kwds.pop("approximant") + hp, hc = get_fd_waveform(approximant="IMRPhenomTPHM", **kwds) + + temp = kwds['parity_amu'] / 1e9 / lal.QE_SI * lal.H_SI * lal.PI * lal.PI / lal.H0_SI + + hp_parity = hp + hc * temp * hp.sample_frequencies **2 + hc_parity = hc - hp * temp * hp.sample_frequencies **2 + + return hp_parity, hc_parity + +def imrphenomtphm_length_in_time(**kwargs): + from pycbc.waveform import waveform + """Estimates the duration of IMRPhenom waveforms that include higher modes. + """ + # Default maximum node number for IMRPhenomHM is 4 + # However, the maximum mode number for IMRPhenomTPHM is 5 + # The relevant lower order approximant here is IMRPhenomD + return waveform.get_hm_length_in_time("IMRPhenomD", 5, **kwargs) \ No newline at end of file diff --git a/waveform/wrapper_tphm_parity/setup.py b/waveform/wrapper_tphm_parity/setup.py index e69de29..5de7d4b 100644 --- a/waveform/wrapper_tphm_parity/setup.py +++ b/waveform/wrapper_tphm_parity/setup.py @@ -0,0 +1,33 @@ +""" +setup.py file for testing birefringence pycbc waveform plugin package +""" + +from setuptools import Extension, setup, Command +from setuptools import find_packages + +VERSION = '0.0.dev0' + +setup ( + name = 'pycbc-birefringence-TPHM', + version = VERSION, + description = 'An waveform plugin for PyCBC', + author = 'Yifan Wang', + author_email = 'yifan.wang@aei.mpg.de', + url = 'http://www.pycbc.org/', + #download_url = 'https://github.com/gwastro/revchirp/tarball/v%s' % VERSION, + keywords = ['pycbc', 'signal processing', 'gravitational waves'], + py_modules = ['parity_TPHM'], + entry_points = {"pycbc.waveform.fd":"IMRPhenomTPHMParity=parity_TPHM:gen", + "pycbc.waveform.length":"IMRPhenomTPHM=parity_TPHM:imrphenomtphm_length_in_time"}, + classifiers=[ + 'Programming Language :: Python', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3.6', + 'Intended Audience :: Science/Research', + 'Natural Language :: English', + 'Topic :: Scientific/Engineering', + 'Topic :: Scientific/Engineering :: Astronomy', + 'Topic :: Scientific/Engineering :: Physics', + 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', + ], +) -- GitLab