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:

float

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:

float

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

Parameters:
  • chi (float) – the BH dimensionless spin parameter

  • incl (float) – inclination angle between the BH spin and the orbital angular momentum in radians

Return type:

float

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}}\).

Parameters:
  • r (float) – the radial coordinate in BH mass units

  • chi (float) – the BH dimensionless spin parameter

Return type:

float

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.

Parameters:
  • r (float) – the radial coordinate in BH mass units

  • chi (float) – the BH dimensionless spin parameter

Return type:

float

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.

Parameters:
  • r (float) – the radial coordinate in BH mass units

  • chi (float) – the BH dimensionless spin parameter

Return type:

float

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).

Parameters:
  • r (float) – the radial coordinate in BH mass units

  • chi (float) – the BH dimensionless spin parameter

  • incl (float) – inclination angle between the BH spin and the orbital angular momentum in radians

Return type:

float

pycbc.neutron_stars.pg_isso_solver.PG_ISSO_eq_dr(r, chi, incl)[source]

Partial derivative of PG_ISSO_eq() with respect to r.

Parameters:
  • r (float) – the radial coordinate in BH mass units

  • chi (float) – the BH dimensionless spin parameter

  • incl (float) – inclination angle between the BH spin and the orbital angular momentum in radians

Return type:

float

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.

Parameters:
  • r (float) – the radial coordinate in BH mass units

  • chi (float) – the BH dimensionless spin parameter

  • incl (float) – inclination angle between the BH spin and the orbital angular momentum in radians

Return type:

float

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

Module contents