boinor.twobody.sampling ======================= .. py:module:: boinor.twobody.sampling Classes ------- .. autoapisummary:: boinor.twobody.sampling.SamplingStrategy boinor.twobody.sampling.EpochsArray boinor.twobody.sampling.TrueAnomalyBounds boinor.twobody.sampling.EpochBounds Functions --------- .. autoapisummary:: boinor.twobody.sampling.sample_closed boinor.twobody.sampling.sample_open Module Contents --------------- .. py:function:: 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. .. rubric:: 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 .. py:function:: sample_open(ecc, min_nu=None, max_nu=None, num_values=100, *, nu_limit=None) Sample an open orbit. .. rubric:: 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. .. py:class:: SamplingStrategy .. py:method:: sample(orbit) :abstractmethod: .. py:class:: EpochsArray(epochs, method=FarnocchiaPropagator()) Bases: :py:obj:`SamplingStrategy` .. py:method:: sample(orbit) .. py:class:: TrueAnomalyBounds(min_nu=None, max_nu=None, num_values=100, hyp_r_factor=3.0) Bases: :py:obj:`SamplingStrategy` .. py:method:: sample(orbit) .. py:class:: EpochBounds(min_epoch=None, max_epoch=None, num_values=100) Bases: :py:obj:`SamplingStrategy` .. py:method:: sample(orbit)