poliastro.twobody.sampling

Module Contents

Classes

SamplingStrategy

EpochsArray

TrueAnomalyBounds

EpochBounds

Functions

sample_closed(ecc, min_nu, max_nu=None, num_values=100)

Sample a closed orbit.

sample_open(ecc, min_nu=None, max_nu=None, num_values=100, *, nu_limit=None)

Sample an open orbit.

poliastro.twobody.sampling.sample_closed(ecc, min_nu, max_nu=None, num_values=100)

Sample a closed orbit.

If max_nu is given, the sampling interval will go from the minimum to the maximum true anomaly in the direction of the orbit. If not given, it will do a full revolution starting in the minimum true anomaly.

Notes

First sample the eccentric anomaly uniformly, then transform into true anomaly to minimize error in the apocenter, see https://apps.dtic.mil/dtic/tr/fulltext/u2/a605040.pdf

poliastro.twobody.sampling.sample_open(ecc, min_nu=None, max_nu=None, num_values=100, *, nu_limit=None)

Sample an open orbit.

Notes

Uniform sampling on true anomaly in the absence of a better method. Minimum and maximum anomaly must be within limits, which are computed from the eccentricity if not given.

class poliastro.twobody.sampling.SamplingStrategy
abstract sample(self, orbit)
class poliastro.twobody.sampling.EpochsArray(epochs, method=FarnocchiaPropagator())

Bases: SamplingStrategy

sample(self, orbit)
class poliastro.twobody.sampling.TrueAnomalyBounds(min_nu=None, max_nu=None, num_values=100, hyp_r_factor=3.0)

Bases: SamplingStrategy

sample(self, orbit)
class poliastro.twobody.sampling.EpochBounds(min_epoch=None, max_epoch=None, num_values=100)

Bases: SamplingStrategy

sample(self, orbit)