phenomxpy.gwsignal_wrapper

Define generators to interface with gwsignal.

class phenomxpy.gwsignal_wrapper.PyIMRPhenomT(*args: Any, **kwargs: Any)[source]

Bases: CompactBinaryCoalescenceGenerator

gwsignal generator wrapper for the IMRPhenomT model.

This is the parent class from which all the other IMRPhenomT* models subclass.

Example usage:

from lalsimulation import gwsignal as gws

gen = PyIMRPhenomT()
hp, hc = gws.core.waveform.GenerateTDWaveform(params, gen)
generate_fd_waveform(**parameters)[source]

Compute Fourier domain polarizations.

generate_td_waveform(**parameters)[source]

Compute time domain polarizations.

property metadata
class phenomxpy.gwsignal_wrapper.PyIMRPhenomTFamily(*args: Any, **kwargs: Any)[source]

Bases: PyIMRPhenomT

gwsignal generator wrapper for the IMRPhenomTFamily.

This class permits to use all the models in the IMRPhenomT family with the same generator. One needs to specify the approximant name in the input parameters.

Example usage:

gen = PyIMRPhenomTFamily()

params["approximant"] = "IMRPhenomTHM"
hp, hc = gws.core.waveform.GenerateTDWaveform(params, gen)

params["approximant"] = "IMRPhenomTPHM"
hp, hc = gws.core.waveform.GenerateTDWaveform(params, gen)
property metadata
class phenomxpy.gwsignal_wrapper.PyIMRPhenomTHM(*args: Any, **kwargs: Any)[source]

Bases: PyIMRPhenomT

gwsignal generator wrapper for the IMRPhenomTHM model.

class phenomxpy.gwsignal_wrapper.PyIMRPhenomTP(*args: Any, **kwargs: Any)[source]

Bases: PyIMRPhenomT

gwsignal generator wrapper for the IMRPhenomTP model.

class phenomxpy.gwsignal_wrapper.PyIMRPhenomTPHM(*args: Any, **kwargs: Any)[source]

Bases: PyIMRPhenomT

gwsignal generator wrapper for the IMRPhenomTPHM model.

phenomxpy.common

phenomxpy.common.GeneratePolarizations(parameters={}, approximant='IMRPhenomT', domain='TD', return_generator=False)[source]

Wrapper function to generate hp, hc in time or frequency domain from different interfaces:

  • LALSuite C interface: use swiglal python wrappers

  • LALSuite gwsignal interface: the lalsuite python interface. Can call phenomxpy, FIXME pyseobnr

  • phenomxpy: use phenomxpy directly.

Parameters:
  • parameters (astropy dict) – Waveform parameters with astropy units and extra options

  • approximant (str) – Approximant name

  • domain ({"TD", "FD"}) – Polarizations in time or frequency domain. Will perform an FFT if using a time domain approximant.

  • return_generator (bool) – Return the class object for the python generator.

Returns:

  • Tuple with 2 gwpy Time(Frequency)Series. – hp, hc: polarizations in time or frequency domain.

  • Optionally also return the python generator object.

phenomxpy.common.bilby_frequency_phenomt(frequency_array, mass_1, mass_2, luminosity_distance, theta_jn, phase, a_1=0.0, a_2=0.0, tilt_1=0.0, tilt_2=0.0, phi_12=0.0, phi_jl=0.0, **waveform_kwargs)[source]

frequency_domain_model for bilby waveform generator.