jaxoplanet.orbits.ttv#

Classes#

TTVOrbit

An extension of TransitOrbit that allows for transit timing variations (TTVs).

Functions#

compute_expected_transit_times(min_time, max_time, ...)

Compute expected transit times for each planet and return them as a tuple of 1D

Module Contents#

class jaxoplanet.orbits.ttv.TTVOrbit(*, period: jaxoplanet.types.Scalar | None = None, duration: jaxoplanet.types.Scalar | None = None, speed: jaxoplanet.types.Scalar | None = None, time_transit: jaxoplanet.types.Scalar | None = None, impact_param: jaxoplanet.types.Scalar | None = None, radius_ratio: jaxoplanet.types.Scalar | None = None, transit_times: tuple[jax.numpy.ndarray, Ellipsis] = None, transit_inds: tuple[jax.numpy.ndarray, Ellipsis] | None = None, ttvs: tuple[jaxoplanet.types.Scalar, Ellipsis] | None = None, delta_log_period: float | None = None)[source]#

Bases: jaxoplanet.orbits.TransitOrbit

An extension of TransitOrbit that allows for transit timing variations (TTVs).

The TTVs can be specified in one of two ways:

  • Provide a tuple (or list) of TTV offset arrays via the argument ttvs.

  • Provide a tuple (or list) of observed transit time arrays via transit_times

    (optionally with transit_inds to label each transit). In this case a least-squares linear fit is performed to infer a reference transit time (t₀) and period; the residuals define the TTVs.

Only one of these two options should be provided.

args added on to TransitOrbit:

  • ttvs: tuple (or list) of Scalar arrays, each giving the “observed minus

    computed” transit time offsets (in days) for one planet.

  • transit_times: tuple (or list) of Scalar arrays giving the observed transit times

    (in days).

  • transit_inds: tuple (or list) of integer arrays (one per planet) labeling the

    transit numbers.

  • delta_log_period: (optional) if using transit_times and the effective transit

    period is to be slightly different from the period that governs the transit shape, this parameter gives the offset in natural log.

transit_times: tuple[jax.numpy.ndarray, Ellipsis][source]#
transit_inds: tuple[jax.numpy.ndarray, Ellipsis][source]#
ttvs: tuple[jax.numpy.ndarray, Ellipsis][source]#
t0: jax.numpy.ndarray[source]#
ttv_period: jax.numpy.ndarray[source]#
relative_position(t: jaxoplanet.types.Scalar, parallax: jaxoplanet.types.Scalar | None = None) tuple[jaxoplanet.types.Scalar, jaxoplanet.types.Scalar, jaxoplanet.types.Scalar][source]#

Compute relative position of the planet(s).

property linear_t0[source]#
Return the linear reference transit time.
property linear_period[source]#
Return the linear period.
jaxoplanet.orbits.ttv.compute_expected_transit_times(min_time, max_time, period, t0)[source]#

Compute expected transit times for each planet and return them as a tuple of 1D arrays.

Parameters:
  • min_time (float) – Start time (in days).

  • max_time (float) – End time (in days).

  • period (array-like) – Orbital period for each planet (in days). Should be convertible to a 1D JAX array.

  • t0 (array-like) – Reference transit times for each planet (in days). Should be convertible to a 1D JAX array.

Returns:

tuple of JAX arrays, one per planet.

Return type:

transit_times