jaxoplanet.starry.orbit#

Classes#

SurfaceBody

Initialize an orbiting body (e.g. a planet) using orbital parameters

SurfaceSystem

A Keplerian orbital system

Module Contents#

class jaxoplanet.starry.orbit.SurfaceBody[source]#

Bases: jaxoplanet.orbits.keplerian.Body

Initialize an orbiting body (e.g. a planet) using orbital parameters

See https://docs.exoplanet.codes/en/latest/tutorials/data-and-models/ for a description of the orbital geometry.

Parameters:
  • central (Optional[Central]) – The Central object that this Body orbits [Central].

  • time_transit (Optional[Scalar]) – The epoch of a reference transit [time unit].

  • time_peri (Optional[Scalar]) – The epoch of a reference periastron passage [time unit].

  • period (Optional[Scalar]) – Orbital period [time unit].

  • semimajor (Optional[Scalar]) – Semi-major axis in [length unit].

  • inclination (Optional[Scalar]) – Inclination of orbital plane in [angular unit].

  • impact_param (Optional) – Impact parameter.

  • eccentricity (Optional) – Eccentricity, must be 0 <= eccentricity < 1 where 0 = circular orbit.

  • omega_peri (Optional[Scalar]) – Argument of periastron [angular unit].

  • sin_omega_peri (Optional) – sin(argument of periastron).

  • cos_omega_peri (Optional) – cos(argument of periastron).

  • asc_node (Optional[Scalar]) – Longitude of ascending node [angular unit].

  • sin_asc_node (Optional) – sin(longitude of ascending node).

  • cos_asc_node (Optional) – cos(longitude of ascending node).

  • mass (Optional[Scalar]) – Mass of orbiting body [mass unit].

  • radius (Optional[Scalar]) – Radius of orbiting body [length unit].

  • central_radius (Optional[Scalar]) – Radius of central body [length unit].

  • radial_velocity_semiamplitude (Optional[Scalar]) – The radial velocity semi-amplitude [length/time unit].

  • parallax (Optional[Scalar]) – Parallax (to convert position/velocity into arcsec). [length unit].

surface: jaxoplanet.starry.surface.Surface | None = None[source]#
class jaxoplanet.starry.orbit.SurfaceSystem(central: jaxoplanet.orbits.keplerian.Central | None = None, central_surface: jaxoplanet.starry.surface.Surface | None = None, *, bodies: collections.abc.Iterable[tuple[jaxoplanet.orbits.keplerian.Body | jaxoplanet.orbits.keplerian.OrbitalBody | SurfaceBody, jaxoplanet.starry.surface.Surface | None]] = ())[source]#

Bases: jaxoplanet.orbits.keplerian.System

A Keplerian orbital system

central_surface: jaxoplanet.starry.surface.Surface | None[source]#
property body_surfaces: tuple[jaxoplanet.starry.surface.Surface, Ellipsis][source]#
add_body(body: jaxoplanet.orbits.keplerian.Body | SurfaceBody | None = None, surface: jaxoplanet.starry.surface.Surface | None = None, **kwargs: Any) SurfaceSystem[source]#

Add a body to the system and return a new system

Parameters:
  • body (Body | None, optional) – body to add. Defaults to None.

  • central (Central | None, optional) – TODO. Defaults to None.

Returns:

System with the added body

Return type:

System

surface_vmap(func: collections.abc.Callable, in_axes: int | None | collections.abc.Sequence[Any] = 0, out_axes: Any = 0) collections.abc.Callable[source]#