pycbc.neutron_stars package
Submodules
pycbc.neutron_stars.eos_utils module
Utility functions for handling NS equations of state
- pycbc.neutron_stars.eos_utils.foucart18(eta, ns_compactness, ns_b_mass, bh_spin_mag, bh_spin_pol)[source]
Function that determines the remnant disk mass of an NS-BH system using the fit to numerical-relativity results discussed in Foucart, Hinderer & Nissanke, PRD 98, 081501(R) (2018).
- Parameters:
eta ({float, array}) – The symmetric mass ratio of the system (note: primary is assumed to be the BH).
ns_compactness ({float, array}) – NS compactness parameter.
ns_b_mass ({float, array}) – Baryonic mass of the NS.
bh_spin_mag ({float, array}) – Dimensionless spin magnitude of the BH.
bh_spin_pol ({float, array}) – The tilt angle of the BH spin.
- pycbc.neutron_stars.eos_utils.initialize_eos(ns_mass, eos, extrapolate=False)[source]
Load an equation of state and return the compactness and baryonic mass for a given neutron star mass
- Parameters:
ns_mass ({float, array}) – The gravitational mass of the neutron star, in solar masses.
eos (str) – Name of the equation of state.
extrapolate (boolean, optional) – Invoke extrapolation in scipy.interpolate.interp1d in the low-mass regime. In the high-mass regime, the maximum NS mass supported by the equation of state is not allowed to be exceeded. Default is False (so ValueError is raised whenever ns_mass is out of bounds).
- Returns:
ns_compactness (float) – Compactness parameter of the neutron star.
ns_b_mass (float) – Baryonic mass of the neutron star.
- pycbc.neutron_stars.eos_utils.interp_grav_mass_to_baryon_mass(ns_g_mass, ns_sequence, extrapolate=False)[source]
Determines the baryonic mass of an NS given its gravitational mass and an NS equilibrium sequence (in solar masses).
- Parameters:
ns_g_mass (float) – NS gravitational mass (in solar masses)
ns_sequence (numpy.array) – Contains the sequence data in the form NS gravitational mass (in solar masses), NS baryonic mass (in solar masses), NS compactness (dimensionless)
extrapolate (boolean, optional) – Invoke extrapolation in scipy.interpolate.interp1d. Default is False (so ValueError is raised for ns_g_mass out of bounds)
- Return type:
- pycbc.neutron_stars.eos_utils.interp_grav_mass_to_compactness(ns_g_mass, ns_sequence, extrapolate=False)[source]
Determines the dimensionless compactness parameter of an NS given its gravitational mass and an NS equilibrium sequence.
- Parameters:
ns_g_mass (float) – NS gravitational mass (in solar masses)
ns_sequence (numpy.array) – Contains the sequence data in the form NS gravitational mass (in solar masses), NS baryonic mass (in solar masses), NS compactness (dimensionless)
extrapolate (boolean, optional) – Invoke extrapolation in scipy.interpolate.interp1d. Default is False (so ValueError is raised for ns_g_mass out of bounds)
- Return type:
- pycbc.neutron_stars.eos_utils.load_ns_sequence(eos_name)[source]
Load the data of an NS non-rotating equilibrium sequence generated using the equation of state (EOS) chosen by the user. File format is: grav mass (Msun), baryonic mass (Msun), compactness
- Parameters:
eos_name (string) – NS equation of state label (‘2H’ is the only supported choice at the moment)
- Returns:
ns_sequence (numpy.array) – contains the sequence data in the form NS gravitational mass (in solar masses), NS baryonic mass (in solar masses), NS compactness (dimensionless)
max_ns_g_mass (float) – the maximum NS gravitational mass (in solar masses) in the sequence (this is the mass of the most massive stable NS)
pycbc.neutron_stars.pg_isso_solver module
Innermost Stable Spherical Orbit (ISSO) solver in the Perez-Giz (PG) formalism. See Stone, Loeb, Berger, PRD 87, 084053 (2013).
- pycbc.neutron_stars.pg_isso_solver.ISCO_solution(chi, incl)[source]
Analytic solution of the innermost stable circular orbit (ISCO) for the Kerr metric.
..See eq. (2.21) of Bardeen, J. M., Press, W. H., Teukolsky, S. A. (1972)` https://articles.adsabs.harvard.edu/pdf/1972ApJ…178..347B
- pycbc.neutron_stars.pg_isso_solver.ISSO_eq_at_pole(r, chi)[source]
Polynomial that enables the calculation of the Kerr polar (\(\iota = \pm \pi / 2\)) innermost stable spherical orbit (ISSO) radius via the roots of
\[\begin{split}P(r) &= r^3 [r^2 (r - 6) + \chi^2 (3 r + 4)] \\ &\quad + \chi^4 [3 r (r - 2) + \chi^2] \, ,\end{split}\]where \(\chi\) is the BH dimensionless spin parameter. Physical solutions are between 6 and \(1 + \sqrt{3} + \sqrt{3 + 2 \sqrt{3}}\).
- pycbc.neutron_stars.pg_isso_solver.ISSO_eq_at_pole_dr(r, chi)[source]
Partial derivative of
ISSO_eq_at_pole()
with respect to r.
- pycbc.neutron_stars.pg_isso_solver.ISSO_eq_at_pole_dr2(r, chi)[source]
Double partial derivative of
ISSO_eq_at_pole()
with respect to r.
- pycbc.neutron_stars.pg_isso_solver.PG_ISSO_eq(r, chi, incl)[source]
Polynomial that enables the calculation of a generic innermost stable spherical orbit (ISSO) radius via the roots in \(r\) of
\[\begin{split}S(r) &= r^8 Z(r) + \chi^2 (1 - \cos(\iota)^2) \\ &\quad * [\chi^2 (1 - \cos(\iota)^2) Y(r) - 2 r^4 X(r)]\,,\end{split}\]where
\[\begin{split}X(r) &= \chi^2 (\chi^2 (3 \chi^2 + 4 r (2 r - 3)) \\ &\quad + r^2 (15 r (r - 4) + 28)) - 6 r^4 (r^2 - 4) \, ,\end{split}\]\[\begin{split}Y(r) &= \chi^4 (\chi^4 + r^2 [7 r (3 r - 4) + 36]) \\ &\quad + 6 r (r - 2) \\ &\qquad * (\chi^6 + 2 r^3 [\chi^2 (3 r + 2) + 3 r^2 (r - 2)]) \, ,\end{split}\]and \(Z(r) =\)
ISCO_eq()
. Physical solutions are between the equatorial ISSO (i.e. the ISCO) radius (ISCO_eq()
) and the polar ISSO radius (ISSO_eq_at_pole()
). See Stone, Loeb, Berger, PRD 87, 084053 (2013).
- pycbc.neutron_stars.pg_isso_solver.PG_ISSO_eq_dr(r, chi, incl)[source]
Partial derivative of
PG_ISSO_eq()
with respect to r.
- pycbc.neutron_stars.pg_isso_solver.PG_ISSO_eq_dr2(r, chi, incl)[source]
Second partial derivative of
PG_ISSO_eq()
with respect to r.
- pycbc.neutron_stars.pg_isso_solver.PG_ISSO_solver(chi, incl)[source]
Function that determines the radius of the innermost stable spherical orbit (ISSO) for a Kerr BH and a generic inclination angle between the BH spin and the orbital angular momentum. This function finds the appropriate root of
PG_ISSO_eq()
.- Parameters:
chi ({float, array}) – the BH dimensionless spin parameter
incl ({float, array}) – the inclination angle between the BH spin and the orbital angular momentum in radians
- Returns:
solution – the radius of the orbit in BH mass units
- Return type:
array