boinor.twobody.sampling ======================= .. py:module:: boinor.twobody.sampling .. autoapi-nested-parse:: module related to sampling of open or closed orbits in the sub-package twobody 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 parent class just for definition of available methods .. py:method:: sample(orbit) :abstractmethod: just a dummy function that must be implemented in a derived class .. py:class:: EpochsArray(epochs, method=FarnocchiaPropagator()) Bases: :py:obj:`SamplingStrategy` sample orbit created from a list of epochs .. py:method:: sample(orbit) just a dummy function that must be implemented in a derived class .. py:class:: TrueAnomalyBounds(min_nu=None, max_nu=None, num_values=100, hyp_r_factor=3.0) Bases: :py:obj:`SamplingStrategy` sample orbit between bounds set by true anomaly as default, orbit consists of 100 samples .. py:method:: sample(orbit) just a dummy function that must be implemented in a derived class .. py:class:: EpochBounds(min_epoch=None, max_epoch=None, num_values=100) Bases: :py:obj:`SamplingStrategy` sample orbit between bounds set with min and max epoch bounds are converted to true anomaly and the sample is created with class TrueAnomalyBounds() as default orbit consists of 100 samples .. py:method:: sample(orbit) just a dummy function that must be implemented in a derived class