poliastro2.core.twobody.sampling

Functions

sample_closed(ecc, min_nu[, max_nu, num_values])

Sample a closed orbit.

sample_open(ecc[, min_nu, max_nu, ...])

Sample an open orbit.

Classes

EpochBounds([min_epoch, max_epoch, num_values])

EpochsArray(epochs[, method])

SamplingStrategy()

TrueAnomalyBounds([min_nu, max_nu, ...])

class poliastro2.core.twobody.sampling.EpochBounds(min_epoch=None, max_epoch=None, num_values=100)
sample(orbit)
class poliastro2.core.twobody.sampling.EpochsArray(epochs, method=<poliastro2.core.actions.propagate.farnocchia.FarnocchiaPropagator object>)
sample(orbit)
class poliastro2.core.twobody.sampling.SamplingStrategy
sample(orbit)
class poliastro2.core.twobody.sampling.TrueAnomalyBounds(min_nu=None, max_nu=None, num_values=100, hyp_r_factor=3.0)
sample(orbit)
poliastro2.core.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

poliastro2.core.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.