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.