Trait eom::Scheme

source ·
pub trait Scheme: TimeEvolution {
    type Core: ModelSpec<Scalar = Self::Scalar, Dim = Self::Dim>;

    // Required methods
    fn new(f: Self::Core, dt: Self::Time) -> Self;
    fn core(&self) -> &Self::Core;
    fn core_mut(&mut self) -> &mut Self::Core;
}
Expand description

Time evolution schemes

Required Associated Types§

source

type Core: ModelSpec<Scalar = Self::Scalar, Dim = Self::Dim>

Required Methods§

source

fn new(f: Self::Core, dt: Self::Time) -> Self

Initialize with a core implementation

source

fn core(&self) -> &Self::Core

Get immutable core

source

fn core_mut(&mut self) -> &mut Self::Core

Get mutable core

Implementors§

source§

impl<F: Explicit> Scheme for Euler<F>

§

type Core = F

source§

impl<F: Explicit> Scheme for Heun<F>

§

type Core = F

source§

impl<F: Explicit> Scheme for RK4<F>

§

type Core = F

source§

impl<F: SemiImplicit> Scheme for DiagRK4<F>

§

type Core = F