heyoka.model.lagrange_prop

Contents

heyoka.model.lagrange_prop#

heyoka.model.lagrange_prop(*, pos0: Iterable[expression], vel0: Iterable[expression], mu: expression, tm: expression) tuple[list[expression], list[expression]]#

Formulate a Lagrangian propagator.

Added in version 7.11.0.

Note

A tutorial explaining the use of this function is available.

Given in input:

  • initial Cartesian position and velocity vectors pos0 and vel0,

  • a gravitational parameter mu,

  • a propagation time tm,

this function will return the symbolic expressions for the propagated Cartesian position and velocity vectors, computed according to Keplerian dynamics via the classical Lagrange (F&G) propagator.

The propagator currently assumes a bound (elliptical) orbit - the formulation will break down in case of parabolic or hyperbolic orbits.

The lengths of pos0 and vel0 must both be three. The propagator is unit-agnostic: any consistent set of units for position, velocity, gravitational parameter and time is accepted.

Parameters:
  • pos0 – the initial Cartesian position vector.

  • vel0 – the initial Cartesian velocity vector.

  • mu – the gravitational parameter.

  • tm – the propagation time.

Returns:

a pair containing the symbolic expressions for the propagated Cartesian position and velocity vectors.

Raises:

TypeError – if pos0 or vel0 do not have length three.