X-ray luminosity / rotation period relations

class PyAstronomy.pyasl.Pizzolato2003

X-ray luminosity/rotation period relations by Pizzolato et al. 2003.

Implementation of the relations between X-ray luminosity and rotation period given by Pizzolato et al. 2003, A&A 397, 147P.

To find the X-ray luminosity, the following expression is evaluated

\[x = \log_{10} (x_{sat}) + 2\log_{10}(P_{r,sat}) - 2\log_{10}(P_r)\]

where x denotes either Lx or Lx/Lbol and ‘sat’ indicates the value at saturation. The coefficients can be found in Tables 3 and 4 of Pizzolato et al. 2003.

Methods

log10lxbv(bv, pr)

Estimate log10(Lx)

log10lxlbolbv(bv, pr)

Estimate log10(Lx/Lbol)

log10lxlbolmass(m, pr)

Estimate log10(Lx/Lbol)

log10lxmass(m, pr)

Estimate log10(Lx)

log10lxbv(bv, pr)

Estimate log10(Lx)

Parameters
bvfloat

B-V color [mag]

prfloat

Rotation period [d]

Returns
log10(Lx)float

X-ray luminosity estimate

Error log10(Lx)float

Uncertainty

log10lxlbolbv(bv, pr)

Estimate log10(Lx/Lbol)

Parameters
bvfloat

B-V color [mag]

prfloat

Rotation period [d]

Returns
log10(Lx/Lbol)float

X-ray luminosity estimate

Error log10(Lx/Lbol)float

Uncertainty

log10lxlbolmass(m, pr)

Estimate log10(Lx/Lbol)

Parameters
mfloat

Stellar mass [MSun]

prfloat

Rotation period [d]

Returns
log10(Lx/Lbol)float

X-ray luminosity estimate

Error log10(Lx/Lbol)float

Uncertainty

log10lxmass(m, pr)

Estimate log10(Lx)

Parameters
mfloat

Stellar mass [MSun]

prfloat

Rotation period [d]

Returns
log10(Lx)float

X-ray luminosity estimate

Error log10(Lx)float

Uncertainty

Example: Plot Lx and Lx/Lbol as a function of rotation period

from PyAstronomy import pyasl
import matplotlib.pylab as plt
import numpy as np

p = pyasl.Pizzolato2003()

# Define array of rotation periods [days]
prot = np.arange(0.2, 30, 0.1)

lx = np.zeros(prot.size)
lxlbol = np.zeros(prot.size)

# B-V color of star
bv = 0.7

# Obtain ...
for i in range(prot.size):
    # ... log10 of X-ray luminosity
    lx[i] = p.log10lxbv(bv, prot[i])[0]
    # ... and log10(Lx/Lbol)
    lxlbol[i] = p.log10lxlbolbv(bv, prot[i])[0]

# Plot result
plt.subplot(2, 1, 1)
plt.plot(prot, lx, 'bp-')
plt.subplot(2, 1, 2)
plt.plot(prot, lxlbol, 'bp-')
plt.show()