pub struct PropOpts<E: ErrorCtrl> {
    pub init_step: Duration,
    pub min_step: Duration,
    pub max_step: Duration,
    pub tolerance: f64,
    pub attempts: u8,
    pub fixed_step: bool,
    pub _errctrl: E,
}
Expand description

PropOpts stores the integrator options, including the minimum and maximum step sizes, and the max error size.

Note that different step sizes and max errors are only used for adaptive methods. To use a fixed step integrator, initialize the options using with_fixed_step, and use whichever adaptive step integrator is desired. For example, initializing an RK45 with fixed step options will lead to an RK4 being used instead of an RK45.

Fields§

§init_step: Duration§min_step: Duration§max_step: Duration§tolerance: f64§attempts: u8§fixed_step: bool§_errctrl: E

Implementations§

source§

impl<E: ErrorCtrl> PropOpts<E>

source

pub fn with_adaptive_step( min_step: Duration, max_step: Duration, tolerance: f64, errctrl: E ) -> Self

with_adaptive_step initializes an PropOpts such that the integrator is used with an adaptive step size. The number of attempts is currently fixed to 50 (as in GMAT).

source

pub fn with_adaptive_step_s( min_step: f64, max_step: f64, tolerance: f64, errctrl: E ) -> Self

source

pub fn info(&self) -> String

Returns a string with the information about these options

source

pub fn set_max_step(&mut self, max_step: Duration)

Set the maximum step size and sets the initial step to that value if currently greater

source

pub fn set_min_step(&mut self, min_step: Duration)

Set the minimum step size and sets the initial step to that value if currently smaller

source§

impl PropOpts<RSSCartesianStep>

source

pub fn with_fixed_step(step: Duration) -> Self

with_fixed_step initializes an PropOpts such that the integrator is used with a fixed step size.

source

pub fn with_fixed_step_s(step: f64) -> Self

source

pub fn with_tolerance(tolerance: f64) -> Self

Returns the default options with a specific tolerance.

source

pub fn with_max_step(max_step: Duration) -> Self

Creates a propagator with the provided max step, and sets the initial step to that value as well.

Trait Implementations§

source§

impl<E: Clone + ErrorCtrl> Clone for PropOpts<E>

source§

fn clone(&self) -> PropOpts<E>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<E: Debug + ErrorCtrl> Debug for PropOpts<E>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PropOpts<RSSCartesianStep>

source§

fn default() -> PropOpts<RSSCartesianStep>

default returns the same default options as GMAT.

source§

impl<E: Copy + ErrorCtrl> Copy for PropOpts<E>

Auto Trait Implementations§

§

impl<E> RefUnwindSafe for PropOpts<E>where E: RefUnwindSafe,

§

impl<E> Send for PropOpts<E>

§

impl<E> Sync for PropOpts<E>

§

impl<E> Unpin for PropOpts<E>where E: Unpin,

§

impl<E> UnwindSafe for PropOpts<E>where E: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<SS, SP> SupersetOf<SS> for SPwhere SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V