pyseobnr.generate_waveform.GenerateWaveform
- class pyseobnr.generate_waveform.GenerateWaveform(parameters)[source]
Bases:
object
Class for generating modes, time-domain polarizations and frequency-domain polarizations following LAL conventions.
Initialize the class with the given
parameters
.parameters
is a dictionary whose keys are defined as follows:- Parameters:
mass1 (float) – Mass of companion 1, in solar masses - Required
mass2 (float) – Mass of companion 2, in solar masses - Required
spin1x (float) – x-component of dimensionless spin of companion 1 - Default: 0
spin1y (float) – y-component of dimensionless spin of companion 1 - Default: 0
spin1z (float) – z-component of dimensionless spin of companion 1 - Default: 0
spin2x (float) – x-component of dimensionless spin of companion 2 - Default: 0
spin2y (float) – y-component of dimensionless spin of companion 2 - Default: 0
spin2z (float) – z-component of dimensionless spin of companion 2 - Default: 0
eccentricity (float) – Keplerian eccentricity of the orbit - Default: 0
rel_anomaly (float) – Relativistic anomaly - Default: 0
distance (float) – Distance to the source, in Mpc - Default: 100 Mpc
inclination (float) – Inclination of the source, in radians - Default: 0
phi_ref (float) – Orbital phase at the reference frequency, in radians - Default: 0
f22_start (float) – Starting waveform generation frequency, in Hz - Default: 20 Hz
f_ref (float) – The reference frequency, in Hz - Default:
f22_start
deltaT (float) – Time spacing, in seconds - Default: 1/2048 seconds
f_max (float) – Maximum frequency, in Hz - Default: 1024 Hz
deltaF (float) – Frequency spacing, in Hz - Default: 0.125
ModeArray (list)
mode_array (list) – Mode content (only positive must be specified, e.g
[(2,2),(2,1)]
). Defaults toNone
(all modes, see notes below).domega_dict (dict) – The non-GR fractional deviation to the frequencies for each mode.
dA_dict (dict) – The non-GR fractional deviation to the merger amplitudes for each mode.
dw_dict (dict) – The non-GR fractional deviation to the merger frequencies.
dtau_dict (dict) – The non-GR fractional deviation to the damping times for each mode. Values should be \(> -1\).
dTpeak (float) – The non-GR additive deviation to the amplitude’s peak time.
da6 (float) – The non-GR additive deviation to the
a6
calibration parameter.ddSO (float) – The non-GR additive deviation to the dSO calibration parameter.
deltaT_sampling (bool) – If set to
True
, throws an error if the the attachment time induced by negative values of the deviationdTpeak
is beyond the last point calculated from the dynamics. In those cases, the attachment time is set to be the last point of the dynamics. Setting the parameter toTrue
prevents having incorrect posteriors when sampling overdTpeak
, as those parameters would be rejected. Needs to be set toTrue
ifdTpeak
is non-zero. Defaults toFalse
.omega_prec_deviation (bool) – If
True
(default), the fractional deviations to the J-frame QNM frequencies are included into the precession rate computation (Eq. 13 in arXiv:2301.06558 ).initial_conditions (str) – Possible values are
adiabatic
(default) andpostadiabatic
. Used only forapproximant="SEOBNRv5PHM"
andpostadiabatic
isFalse
.initial_conditions_postadiabatic_type (str) – Possible values are
analytic
(default) andnumeric
. Used together withinitial_conditions
.postadiabatic (bool) – Defaults to
True
.postadiabatic_type (str) – Either
analytic
(default) ornumeric
. Used only whenpostadiabatic
isTrue
.tol_PA (float) – Tolerance for the root finding routine in case
postadiabatic_type="numeric"
is used. Defaults to 1e-11.approximant (str) –
SEOBNRv5HM
(default)SEOBNRv5PHM
SEOBNRv5EHM
rtol_ode (float) – Relative tolerance of the ODE integrators. Defaults to 1e-11.
atol_ode (float) – Absolute tolerance of the ODE integrators. Defaults to 1e-12.
Note
The default modes are
(2, 2)
,(2, 1)
,(3, 3)
,(3, 2)
,(4, 4)
and(4, 3)
. In particular(5, 5)
is not included and should be explicitly set throughModeArray
.All GR deviations default to 0. For the dictionaries
domega_dict
,dA_dict
,dw_dict
,dtau_dict
, keys are the modesl,m
as a string, for \(\ell > 0\).- __init__(parameters)[source]
Initialize the class with the given
parameters
.parameters
is a dictionary whose keys are defined as follows:- Parameters:
mass1 (float) – Mass of companion 1, in solar masses - Required
mass2 (float) – Mass of companion 2, in solar masses - Required
spin1x (float) – x-component of dimensionless spin of companion 1 - Default: 0
spin1y (float) – y-component of dimensionless spin of companion 1 - Default: 0
spin1z (float) – z-component of dimensionless spin of companion 1 - Default: 0
spin2x (float) – x-component of dimensionless spin of companion 2 - Default: 0
spin2y (float) – y-component of dimensionless spin of companion 2 - Default: 0
spin2z (float) – z-component of dimensionless spin of companion 2 - Default: 0
eccentricity (float) – Keplerian eccentricity of the orbit - Default: 0
rel_anomaly (float) – Relativistic anomaly - Default: 0
distance (float) – Distance to the source, in Mpc - Default: 100 Mpc
inclination (float) – Inclination of the source, in radians - Default: 0
phi_ref (float) – Orbital phase at the reference frequency, in radians - Default: 0
f22_start (float) – Starting waveform generation frequency, in Hz - Default: 20 Hz
f_ref (float) – The reference frequency, in Hz - Default:
f22_start
deltaT (float) – Time spacing, in seconds - Default: 1/2048 seconds
f_max (float) – Maximum frequency, in Hz - Default: 1024 Hz
deltaF (float) – Frequency spacing, in Hz - Default: 0.125
ModeArray (list)
mode_array (list) – Mode content (only positive must be specified, e.g
[(2,2),(2,1)]
). Defaults toNone
(all modes, see notes below).domega_dict (dict) – The non-GR fractional deviation to the frequencies for each mode.
dA_dict (dict) – The non-GR fractional deviation to the merger amplitudes for each mode.
dw_dict (dict) – The non-GR fractional deviation to the merger frequencies.
dtau_dict (dict) – The non-GR fractional deviation to the damping times for each mode. Values should be \(> -1\).
dTpeak (float) – The non-GR additive deviation to the amplitude’s peak time.
da6 (float) – The non-GR additive deviation to the
a6
calibration parameter.ddSO (float) – The non-GR additive deviation to the dSO calibration parameter.
deltaT_sampling (bool) – If set to
True
, throws an error if the the attachment time induced by negative values of the deviationdTpeak
is beyond the last point calculated from the dynamics. In those cases, the attachment time is set to be the last point of the dynamics. Setting the parameter toTrue
prevents having incorrect posteriors when sampling overdTpeak
, as those parameters would be rejected. Needs to be set toTrue
ifdTpeak
is non-zero. Defaults toFalse
.omega_prec_deviation (bool) –
If
True
(default), the fractional deviations to the J-frame QNM frequencies are included into the precession rate computation (Eq. 13 in arXiv:2301.06558 ).initial_conditions (str) – Possible values are
adiabatic
(default) andpostadiabatic
. Used only forapproximant="SEOBNRv5PHM"
andpostadiabatic
isFalse
.initial_conditions_postadiabatic_type (str) – Possible values are
analytic
(default) andnumeric
. Used together withinitial_conditions
.postadiabatic (bool) – Defaults to
True
.postadiabatic_type (str) – Either
analytic
(default) ornumeric
. Used only whenpostadiabatic
isTrue
.tol_PA (float) – Tolerance for the root finding routine in case
postadiabatic_type="numeric"
is used. Defaults to 1e-11.approximant (str) –
SEOBNRv5HM
(default)SEOBNRv5PHM
SEOBNRv5EHM
rtol_ode (float) – Relative tolerance of the ODE integrators. Defaults to 1e-11.
atol_ode (float) – Absolute tolerance of the ODE integrators. Defaults to 1e-12.
Note
The default modes are
(2, 2)
,(2, 1)
,(3, 3)
,(3, 2)
,(4, 4)
and(4, 3)
. In particular(5, 5)
is not included and should be explicitly set throughModeArray
.All GR deviations default to 0. For the dictionaries
domega_dict
,dA_dict
,dw_dict
,dtau_dict
, keys are the modesl,m
as a string, for \(\ell > 0\).
- __call__(**kwargs)
Call self as a function.
Methods
__init__
(parameters)Initialize the class with the given
parameters
.Generate Fourier-domain polarizations, returned as LAL COMPLEX16FrequencySeries
Generate dictionary of positive and negative m modes in physical units.
Generate time-domain polarizations, returned as LAL REAL8TimeSeries.
Generate time-domain polarizations, with tappering at the beginning of the waveform, returned as LAL REAL8TimeSeries.
Generate conditioned time-domain polarizations as in SimInspiralTDfromTD routine.
Attributes
model
- generate_fd_polarizations()[source]
Generate Fourier-domain polarizations, returned as LAL COMPLEX16FrequencySeries
Routine similar to LAL
SimInspiralFD
.This routine assumes that
f_max
is the Nyquist frequency of the time-domain waveform, so thatdeltaT = 0.5 / f_max
. IfdeltaF
is set to0
then this routine computes adeltaF
that is small enough to represent the Fourier transform of the time-domain waveform while ensuring the length of the time-domain signal if a power of 2.If
deltaF
is specified butf_max / deltaF
is not a power of 2, thenf_max
is increased so thatf_max / deltaF
is the next power of 2. (If the user wishes to discard the extra high frequency content, this must be done separately.)
- generate_td_modes()[source]
Generate dictionary of positive and negative m modes in physical units.
- generate_td_polarizations()[source]
Generate time-domain polarizations, returned as LAL REAL8TimeSeries.