ml4gw.waveforms.cbc.phenom_p
Based on the JAX implementation of IMRPhenomPv2 from https://github.com/tedwards2412/ripple/blob/main/src/ripplegw/waveforms/IMRPhenomPv2.py
Classes
- class ml4gw.waveforms.cbc.phenom_p.IMRPhenomPv2
Bases:
IMRPhenomD
- ComputeNNLOanglecoeffs(q, chil, chip)
- Return type:
Dict
[str
,Float[Tensor, 'batch']
]- Parameters:
q (Float[Tensor, 'batch'])
chil (Float[Tensor, 'batch'])
chip (Float[Tensor, 'batch'])
- FinalSpin_inplane(m1, m2, chi1_l, chi2_l, chip)
- Return type:
Float[Tensor, 'batch']
- Parameters:
m1 (Float[Tensor, 'batch'])
m2 (Float[Tensor, 'batch'])
chi1_l (Float[Tensor, 'batch'])
chi2_l (Float[Tensor, 'batch'])
chip (Float[Tensor, 'batch'])
- L2PNR(v, eta)
- Return type:
Float[Tensor, 'batch']
- Parameters:
v (Float[Tensor, 'batch'])
eta (Float[Tensor, 'batch'])
- PhenomPCoreTwistUp(fHz, hPhenom, eta, chi1_l, chi2_l, chip, M, angcoeffs, Y2m, alphaoffset, epsilonoffset)
- Return type:
Tuple
[Float[Tensor, 'batch']
,Float[Tensor, 'batch']
]- Parameters:
fHz (Float[Tensor, 'frequency'])
hPhenom (Float[Tensor, 'batch'])
eta (Float[Tensor, 'batch'])
chi1_l (Float[Tensor, 'batch'])
chi2_l (Float[Tensor, 'batch'])
chip (Float[Tensor, 'batch'])
M (Float[Tensor, 'batch'])
angcoeffs (Dict[str, Float[Tensor, 'batch']])
Y2m (Float[Tensor, 'batch'])
alphaoffset (Float[Tensor, 'batch'])
epsilonoffset (Float[Tensor, 'batch'])
- PhenomPOneFrequency(fs, m1, m2, eta, eta2, Seta, chi1, chi2, chi12, chi22, chip, phic, M, xi, distance)
m1, m2: in solar masses phic: Orbital phase at peak of the underlying non precessing model M: Total mass (Solar masses)
- SpinWeightedY(theta, phi, s, l, m)
copied from SphericalHarmonics.c in LAL
- WignerdCoefficients(v, SL, eta, Sp)
- Return type:
Tuple
[Float[Tensor, 'batch']
,Float[Tensor, 'batch']
]- Parameters:
v (Float[Tensor, 'batch'])
SL (Float[Tensor, 'batch'])
eta (Float[Tensor, 'batch'])
Sp (Float[Tensor, 'batch'])
- convert_spins(m1, m2, f_ref, phic, inclination, s1x, s1y, s1z, s2x, s2y, s2z)
- Return type:
Tuple
[Float[Tensor, 'batch']
,Float[Tensor, 'batch']
,Float[Tensor, 'batch']
,Float[Tensor, 'batch']
,Float[Tensor, 'batch']
,Float[Tensor, 'batch']
,Float[Tensor, 'batch']
]- Parameters:
m1 (Float[Tensor, 'batch'])
m2 (Float[Tensor, 'batch'])
f_ref (float)
phic (Float[Tensor, 'batch'])
inclination (Float[Tensor, 'batch'])
s1x (Float[Tensor, 'batch'])
s1y (Float[Tensor, 'batch'])
s1z (Float[Tensor, 'batch'])
s2x (Float[Tensor, 'batch'])
s2y (Float[Tensor, 'batch'])
s2z (Float[Tensor, 'batch'])
- forward(fs, chirp_mass, mass_ratio, s1x, s1y, s1z, s2x, s2y, s2z, distance, phic, inclination, f_ref, tc=None, **kwargs)
IMRPhenomPv2 waveform
- Parameters:
fs (
Float[Tensor, 'frequency']
) -- Frequency series in Hz.chirp_mass (
Float[Tensor, 'batch']
) -- Chirp mass in solar masses.mass_ratio (
Float[Tensor, 'batch']
) -- Mass ratio m1/m2.s1x (
Float[Tensor, 'batch']
) -- Spin component x of the first BH.s1y (
Float[Tensor, 'batch']
) -- Spin component y of the first BH.s1z (
Float[Tensor, 'batch']
) -- Spin component z of the first BH.s2x (
Float[Tensor, 'batch']
) -- Spin component x of the second BH.s2y (
Float[Tensor, 'batch']
) -- Spin component y of the second BH.s2z (
Float[Tensor, 'batch']
) -- Spin component z of the second BH.distance (
Float[Tensor, 'batch']
) -- Luminosity distance in Mpc.tc (
Optional
[Float[Tensor, 'batch']
]) -- Coalescence time.phic (
Float[Tensor, 'batch']
) -- Reference phase.inclination (
Float[Tensor, 'batch']
) -- Inclination angle.f_ref (
float
) -- Reference frequency in Hz.
- Returns:
- Tuple[torch.Tensor, torch.Tensor]
Cross and plus polarizations
- Return type:
hc, hp
Note: m1 must be larger than m2.
- get_Amp0(fM_s, eta)
- Return type:
Float[Tensor, 'batch']
- Parameters:
fM_s (Float[Tensor, 'batch'])
eta (Float[Tensor, 'batch'])
- interpolate(x, xp, fp)
One-dimensional linear interpolation for monotonically increasing sample points.
Returns the one-dimensional piecewise linear interpolant to a function with given data points \((xp, fp)\), evaluated at \(x\)
- Parameters:
x (
Float[Tensor, 'new_series']
) -- the \(x\)-coordinates at which to evaluate the interpolated values.xp (
Float[Tensor, 'series']
) -- the \(x\)-coordinates of data points, must be increasing.fp (
Float[Tensor, 'series']
) -- the \(y\)-coordinates of data points, same length asxp
.
- Return type:
Float[Tensor, 'new_series']
- Returns:
the interpolated values, same size as
x
.
- phP_get_fRD_fdamp(m1, m2, chi1_l, chi2_l, chip)
- Return type:
Tuple
[Float[Tensor, 'batch']
,Float[Tensor, 'batch']
]