Keplerian Orbits

radvel.kepler.kepler(Marr: ndarray, eccarr: ndarray) ndarray[source]

Solve Kepler’s Equation :param Marr: input Mean anomaly :type Marr: array :param eccarr: eccentricity :type eccarr: array

Returns:

eccentric anomaly

Return type:

array

radvel.kepler.rv_drive(t: ndarray, orbel: ArrayLike, use_c_kepler_solver: bool = True) ndarray[source]

RV Drive :param t: times of observations :type t: array of floats :param orbel: [per, tp, e, om, K]. Omega is expected to be in radians :type orbel: array of floats :param use_c_kepler_solver: (default: True) If True use the Kepler solver written in C, else use the Python/NumPy version. :type use_c_kepler_solver: bool

Returns:

(array of floats): radial velocity model

Return type:

rv

radvel.orbit.timeperi_to_timetrans(tp: float, per: float, ecc: float, omega: float, secondary: bool = False) float[source]

Convert Time of Periastron to Time of Transit

Parameters:
  • tp (float) – time of periastron

  • per (float) – period [days]

  • ecc (float) – eccentricity

  • omega (float) – argument of peri (radians)

  • secondary (bool) – calculate time of secondary eclipse instead

Returns:

time of inferior conjunction (time of transit if system is transiting)

Return type:

float

radvel.orbit.timetrans_to_timeperi(tc: float, per: float, ecc: float, omega: float) float[source]

Convert Time of Transit to Time of Periastron Passage

Parameters:
  • tc (float) – time of transit

  • per (float) – period [days]

  • ecc (float) – eccentricity

  • omega (float) – longitude of periastron (radians)

Returns:

time of periastron passage

Return type:

float

radvel.orbit.true_anomaly(t: ndarray, tp: float, per: float, e: float) ndarray[source]

Calculate the true anomaly for a given time, period, eccentricity.

Parameters:
  • t (array) – array of times in JD

  • tp (float) – time of periastron, same units as t

  • per (float) – orbital period in days

  • e (float) – eccentricity

Returns:

true anomoly at each time

Return type:

array