pub struct RKF78 {
pub tol: f64,
pub safety_factor: f64,
pub min_step_size: f64,
pub max_step_size: f64,
pub max_step_iter: usize,
}
Expand description
Runge-Kutta-Fehlberg 7/8th order integrator.
This integrator uses the Runge-Kutta-Fehlberg 7(8) method, an adaptive step size integrator. It evaluates f(x,y) thirteen times per step, using embedded 7th and 8th order Runge-Kutta estimates to estimate the solution and the error. The 7th order solution is propagated, and the difference between the 8th and 7th order solutions is used for error estimation and step size control.
§Member variables
tol
: The tolerance for the estimated error.safety_factor
: The safety factor for the step size adjustment.min_step_size
: The minimum step size.max_step_size
: The maximum step size.max_step_iter
: The maximum number of iterations per step.
§References
- Meysam Mahooti (2025). Runge-Kutta-Fehlberg (RKF78), MATLAB Central File Exchange.
Fields§
§tol: f64
§safety_factor: f64
§min_step_size: f64
§max_step_size: f64
§max_step_iter: usize
Implementations§
Trait Implementations§
Source§impl Archive for RKF78
impl Archive for RKF78
Source§const COPY_OPTIMIZATION: CopyOptimization<Self>
const COPY_OPTIMIZATION: CopyOptimization<Self>
An optimization flag that allows the bytes of this type to be copied
directly to a writer instead of calling
serialize
. Read moreSource§type Archived = ArchivedRKF78
type Archived = ArchivedRKF78
The archived representation of this type. Read more
Source§type Resolver = RKF78Resolver
type Resolver = RKF78Resolver
The resolver for this type. It must contain all the additional
information from serializing needed to make the archived type from
the normal type.
Source§impl ButcherTableau for RKF78
impl ButcherTableau for RKF78
const C: &'static [f64]
const A: &'static [&'static [f64]]
const BU: &'static [f64]
const BE: &'static [f64]
fn tol(&self) -> f64
fn safety_factor(&self) -> f64
fn min_step_size(&self) -> f64
fn max_step_size(&self) -> f64
fn max_step_iter(&self) -> usize
Source§impl<'de> Deserialize<'de> for RKF78
impl<'de> Deserialize<'de> for RKF78
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for RKF78
Auto Trait Implementations§
impl Freeze for RKF78
impl RefUnwindSafe for RKF78
impl Send for RKF78
impl Sync for RKF78
impl Unpin for RKF78
impl UnwindSafe for RKF78
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive
, it may be
unsized. Read more§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
Creates the archived version of the metadata for this value.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
Source§impl<BU> ODEIntegrator for BUwhere
BU: ButcherTableau,
impl<BU> ODEIntegrator for BUwhere
BU: ButcherTableau,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Pointee for T
impl<T> Pointee for T
§impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Fallible + Writer + ?Sized,
impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Fallible + Writer + ?Sized,
§fn serialize_unsized(
&self,
serializer: &mut S,
) -> Result<usize, <S as Fallible>::Error>
fn serialize_unsized( &self, serializer: &mut S, ) -> Result<usize, <S as Fallible>::Error>
Writes the object and returns the position of the archived type.