funcs¶
Functions relating observable properties of binary stars and exoplanet systems to their fundamental properties, and vice versa. Also functions related to Keplerian orbits.
Parameters¶
Functions are defined in terms of the following parameters. [1]
- a - orbital semi-major axis in solar radii = a_1 + a_2
- P - orbital period in mean solar days
- Mass - total system mass in solar masses, Mass = m_1 + m_2
- ecc - orbital eccentricity
- omdeg - longitude of periastron, omega, in _degrees_
- sini - sine of the orbital inclination
- K - 2.pi.a.sini/(P.sqrt(1-e^2)) = K_1 + K_2
- K_1, K_2 - orbital semi-amplitudes in km/s
- q - mass ratio = m_2/m_1 = K_1/K_2 = a_1/a_2
- f_m - mass function = m_2^3.sini^3/(m_1+m_2)^2 in solar masses
- = K_1^3.P/(2.pi.G).(1-e^2)^(3/2)
- r_1 - radius of star 1 in units of the semi-major axis, r_1 = R_*/a
- rho_1 - mean stellar density = 3.pi/(GP^2(1+q)r_1^3)
- rstar - host star radius/semi-major axis, rstar = R_*/a
- k - planet/star radius ratio, k = R_planet/R_star
- tzero - time of mid-transit (minimum on-sky star-planet separation).
- b - impact parameter, b = a.cos(i)/R_star
| [1] | Hilditch, R.W., An Introduction to Close Binary Stars, CUP 2001. |
Functions¶
-
pycheops.funcs.a_rsun(P, Mass)¶ Semi-major axis in solar radii
Parameters: - P – orbital period in mean solar days
- Mass – total mass in solar masses, M
Returns: a = (G.M.P^2/(4.pi^2))^(1/3) in solar radii
-
pycheops.funcs.f_m(P, K, ecc=0)¶ Mass function in solar masses
Parameters: - P – orbital period in mean solar days
- K – semi-amplitude of the spectroscopic orbit in km/s
- ecc – orbital eccentricity
Returns: f_m = m_2^3.sini^3/(m_1+m_2)^2 in solar masses
-
pycheops.funcs.m1sin3i(P, K_1, K_2, ecc=0)¶ Reduced mass of star 1 in solar masses
Parameters: - K_1 – semi-amplitude of star 1 in km/s
- K_2 – semi-amplitude of star 2 in km/s
- P – orbital period in mean solar days
- ecc – orbital eccentricity
Returns: m_1.sini^3 in solar masses
-
pycheops.funcs.m2sin3i(P, K_1, K_2, ecc=0)¶ Reduced mass of star 2 in solar masses
Parameters: - K_1 – semi-amplitude of star 1 in km/s
- K_2 – semi-amplitude of star 2 in km/s
- P – orbital period in mean solar days
- ecc – orbital eccentricity
Returns: m_2.sini^3 in solar masses
-
pycheops.funcs.asini(K, P, ecc=0)¶ a.sini in solar radii
Parameters: - K – semi-amplitude of the spectroscopic orbit in km/s
- P – orbital period in mean solar days
Returns: a.sin(i) in solar radii
-
pycheops.funcs.rhostar(r_1, P, q=0)¶ Mean stellar density from scaled stellar radius.
Parameters: - r_1 – radius of star in units of the semi-major axis, r_1 = R_*/a
- P – orbital period in mean solar days
- q – mass ratio, m_2/m_1
Returns: Mean stellar density in solar units
-
pycheops.funcs.K_kms(m_1, m_2, P, sini, ecc)¶ - Semi-amplitudes of the spectroscopic orbits in km/s
- K = 2.pi.a.sini/(P.sqrt(1-ecc^2))
- K_1 = K * m_2/(m_1+m_2)
- K_2 = K * m_1/(m_1+m_2)
Parameters: - m_1 – mass of star 1 in solar masses
- m_2 – mass of star 2 in solar masses
- P – orbital period in mean solar days
- sini – sine of the orbital inclination
- ecc – orbital eccentrcity
Returns: K_1, K_2 – semi-amplitudes in km/s
-
pycheops.funcs.m_comp(f_m, m_1, sini)¶ Companion mass in solar masses given mass function and stellar mass
Parameters: - f_m – = K_1^3.P/(2.pi.G).(1-ecc^2)^(3/2) in solar masses
- m_1 – mass of star 1 in solar masses
- sini – sine of orbital inclination
Returns: m_2 = mass of companion to star 1 in solar masses
-
pycheops.funcs.transit_width(r, k, b, P=1)¶ Total transit duration.
See equation (3) from Seager and Malen-Ornelas, 2003ApJ…585.1038S.
Parameters: - r – R_star/a
- k – R_planet/R_star
- b – impact parameter = a.cos(i)/R_star
- P – orbital period (optional, default P=1)
Returns: Total transit duration in the same units as P.
-
pycheops.funcs.t2z(t, tzero, P, sini, rstar, ecc=0, omdeg=90, signFlag=False)¶ Calculate star-planet separation
Parameters: - t – time of observation (scalar or array)
- tzero – time of inferior conjunction, i.e., mid-transit
- P – orbital period
- sini – sine of orbital inclination
- rstar – scaled stellar radius, R_star/a
- ecc – eccentricity (optional, default=0)
- omdeg – longitude of periastron in degrees (optional, default=90)
- signFlag – set z negative if companion is further away than the star
Returns: star-planet separation relative to scaled stellar radius
Example: >>> from pycheops.funcs import t2z >>> from numpy import linspace >>> import matplotlib.pyplot as plt >>> t = linspace(0,1,1000) >>> sini = 0.999 >>> rstar = 0.1 >>> plt.plot(t, t2z(t,0,1,sini,rstar)) >>> plt.xlim(0,1) >>> plt.ylim(0,12) >>> ecc = 0.1 >>> for omdeg in (0, 90, 180, 270): >>> plt.plot(t, t2z(t,0,1,sini,rstar,ecc,omdeg)) >>> plt.show()
-
pycheops.funcs.tzero2tperi(tzero, P, sini, ecc, omdeg)¶ Calculate time of periastron from time of mid-eclipse
Uses the method by Lacy, 1992AJ….104.2213L
Parameters: - tzero – times of mid-eclipse
- P – orbital period
- sini – sine of orbital inclination
- ecc – eccentricity
- omdeg – longitude of periastron in degrees
Returns: time of periastron prior to tzero
Example: >>> tzero = 54321.6789 >>> P = 1.23456 >>> sini = 0.987 >>> ecc = 0.123 >>> omdeg = 89.01 >>> print(tzero2tperi(tzero,P,sini,ecc,omdeg)) 54321.6762764
-
pycheops.funcs.vrad(t, tzero, P, sini, K, ecc=0, omdeg=90)¶ Calculate radial velocity, V_r, for body in a Keplerian orbit
Parameters: - t – array of input times
- tzero – time of inferior conjunction, i.e., mid-transit
- P – orbital period
- sini – sine of the orbital inclination
- K – radial velocity semi-amplitude
- ecc – eccentricity (optional, default=0)
- omdeg – longitude of periastron in degrees (optional, default=90)
Returns: V_r in same units as K relative to the barycentre of the binary