Help on NRHybSur3dq8 in module gwsurrogate.surrogate object:
class NRHybSur3dq8(SurrogateEvaluator)
| A class for the NRHybSur3dq8 surrogate model presented in Varma et al. 2018,
| arxiv:1812.07865.
|
| Evaluates gravitational waveforms generated by aligned-spin binary black hole
| systems. This model was built using numerical relativity (NR) waveforms that
| have been hybridized using post-Newtonian (PN) and effective one body (EOB)
| waveforms.
|
| This model includes the following spin-weighted spherical harmonic modes:
| (2,2), (2,1), (2,0), (3,3), (3,2), (3,1), (3,0), (4,4) (4,3), (4,2) and (5,5).
| The m<0 modes are deduced from the m>0 modes.
|
| The parameter space of validity is:
| q \in [1, 10] and chi1z/chi2z \in [-1, 1],
| where q is the mass ratio and chi1z/chi2z are the spins of the heavier/lighter
| BH, respectively, in the direction of orbital angular momentum.
|
| The surrogate has been trained in the range
| q \in [1, 8] and chi1z/chi2z \in [-0.8, 0.8], but produces reasonable waveforms
| in the above range and has been tested against existing NR waveforms in that
| range.
|
| See the __call__ method on how to evaluate waveforms.
| In the __call__ method, x must have format x = [q, chi1z, chi2z].
|
| Method resolution order:
| NRHybSur3dq8
| SurrogateEvaluator
| __builtin__.object
|
| Methods defined here:
|
| __init__(self, h5filename)
|
| ----------------------------------------------------------------------
| Methods inherited from SurrogateEvaluator:
|
| __call__(self, x, M=None, dist_mpc=None, f_low=None, t_ref=None, f_ref=None, dt=None, df=None, times=None, freqs=None, mode_list=None, inclination=None, phi_ref=0, par_dict=None, units='dimensionless', skip_param_checks=False)
| INPUT
| =====
| x : Array of binary parameter values EXCLUDING total mass M.
| This depends on the particular surrogate model.
| Examples:
| For NRHybSur3dq8, x=[q,chi1z,chi2z].
|
| M, dist_mpc: Either specify both M and dist_mpc or neither.
| M : Total mass (solar masses). Default: None.
| dist_mpc : Distance to binary system (MegaParsecs). Default: None.
|
| f_low : Instantaneous initial frequency of the (2, 2) mode. If 0,
| the entire waveform is returned. Should be in cycles/M if
| units = 'dimensionless', should be in Hertz if units = 'mks'.
| Default: None.
|
| f_ref: Frequency used to set the reference epoch at which
| the reference frame is defined and the spins are specified.
| See below for definition of the reference frame. Should be in
| cycles/M if units = 'dimensionless', should be in Hertz if
| units = 'mks'. Default: If f_ref is not given, we set
| f_ref = f_low. If f_low is 0, this corresponds to the initial
| index.
|
| For time domain models, f_ref is used to determine a t_ref,
| such that the frequency of the (2, 2) mode equals f_ref at
| t=t_ref.
|
| dt, df : Time/Frequency step size, specify at most one of dt/df,
| depending on whether the surrogate is a time/frequency domain
| surrogate. If None, the internal domain of the surrogate is
| used, which can be nonuniformly sampled. dt (df) Should be in
| M (cycles/M) if units = 'dimensionless', should be in
| seconds (Hertz) if units = 'mks'. Do not specify times/freqs
| if using dt/df. Default None.
|
|
| times, freqs:
| Array of time/frequency samples at which to evaluate the
| waveform, depending on whether the surrogate is a
| time/frequency domain surrogate. time (freqs) Should be in
| M (cycles/M) if units = 'dimensionless', should be in
| seconds (Hertz) if units = 'mks'. Do not specify dt/df if
| using times/freqs. Default None.
|
| mode_list : A list of (l, m) modes tuples to be evaluated. If None,
| evaluates all available modes.
| Example: mode_list = [(2,2),(2,1)]. Default: None.
|
| phi_ref : Orbital phase at reference epoch. Default: 0.
|
| inclination : Inclination angle between the orbital angular momentum
| direction at the reference epoch and the line-of-sight to the
| observer. If inclination is None, the mode data is returned as
| a dictionary. If specified, the complex strain (h = hplus -i
| hcross) evaluated at (inclination, pi/2) on the sky of the
| reference frame is returned. See below for definition of the
| reference frame. Default: None.
|
| par_dict: A dictionary containing any additional parameters needed for a
| particular surrogate model. Default: None.
|
| units: 'dimensionless' or 'mks'. Default: 'dimensionless'.
| If 'dimensionless': Any of f_low, f_ref, dt, df, times and
| freqs, if specified, must be in dimensionless units. That
| is, dt/times should be in units of M, while f_ref, f_low
| and df/freqs should be in units of cycles/M.
| M and dist_mpc must be None. The waveform and domain are
| returned as dimensionless quantities as well.
| If 'mks': Any of f_low, f_ref, dt, df, times and freqs, if
| specified, must be in MKS units. That is, dt/times should
| be in seconds, while f_ref, f_low and df/freqs should be
| in Hz. M and dist_mpc must be specified. The waveform and
| domain are returned in MKS units as well.
|
| skip_param_checks :
| Skip sanity checks for parameters. Use this if you want to
| extrapolate outside allowed range. Default: False.
|
| RETURNS
| =====
| if times/freqs is given:
| h
| else:
| domain, h
|
| domain : Array of time/frequency samples, depending on whether the
| surrogate is a time/frequency domain model. For time domain
| models the time is set to 0 at the peak of the waveform. The
| time (frequency) values are in M (cycles/M) if units =
| 'dimensionless', they are in seconds (Hertz) if units = 'mks'
|
| h : Waveform.
| If inclination is specified, the complex strain (h = hplus
| -i hcross) evaluated at (inclination, pi/2) on the sky of
| the reference frame is returned. This follows the LAL
| convention, see below for details. This includes all modes
| given in the 'mode_list' argument. For nonprecessing
| systems the m<0 modes are automatically deduced from the
| m>0 modes. To see if a model is precessing check
| self.keywords.
|
| Else, h is a dictionary of available modes with (l, m)
| tuples as keys.
|
| If M and dist_mpc are given, the physical waveform
| at that distance is returned. Else, it is returned in
| code units: r*h/M extrapolated to future null-infinity.
|
|
| IMPORTANT NOTES:
| ===============
|
| The reference frame is defined as follows:
| The +ve z-axis is along the orbital angular momentum at the reference
| epoch. The orbital phase at the reference epoch is phi_ref. This means
| that the separation vector from the lighter BH to the heavier BH is at
| an azimuthal angle phi_ref from the +ve x-axis, in the orbital plane at
| the reference epoch. The y-axis completes the right-handed triad. The
| reference epoch is set using f_ref.
|
| Now, if inclination is given, the waveform is evaluated at
| (inclination, pi/2) in the reference frame. This agrees with the LAL
| convention. See Harald Pfeiffer's, LIGO DCC document T18002260-v1 for
| the LAL frame diagram.
|
| ----------------------------------------------------------------------
| Data descriptors inherited from SurrogateEvaluator:
|
| __dict__
| dictionary for instance variables (if defined)
|
| __weakref__
| list of weak references to the object (if defined)