pub struct BDF2 {
pub max_iter: usize,
pub tol: f64,
}Expand description
Second-order Backward Differentiation Formula (BDF2) for stiff ODEs.
Uses the formula (3/2) y_{n+1} - 2 y_n + (1/2) y_{n-1} = h * f(t_{n+1}, y_{n+1}).
The first step is taken with implicit Euler to obtain y_1.
Fields§
§max_iter: usizeMaximum iterations per step.
tol: f64Convergence tolerance for fixed-point iteration.
Implementations§
Source§impl BDF2
impl BDF2
Sourcepub fn default_params() -> Self
pub fn default_params() -> Self
Construct with default parameters.
Sourcepub fn step<F>(
&self,
s_curr: &OdeState,
s_prev: &OdeState,
h: f64,
f: &F,
) -> OdeState
pub fn step<F>( &self, s_curr: &OdeState, s_prev: &OdeState, h: f64, f: &F, ) -> OdeState
Perform one BDF2 step given y_n (s_curr) and y_{n-1} (s_prev).
Step size h must be the same as the previous step (constant step BDF2).
Uses Newton iteration with a diagonal finite-difference Jacobian for
robust handling of stiff problems.
Auto Trait Implementations§
impl Freeze for BDF2
impl RefUnwindSafe for BDF2
impl Send for BDF2
impl Sync for BDF2
impl Unpin for BDF2
impl UnsafeUnpin for BDF2
impl UnwindSafe for BDF2
Blanket Implementations§
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<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.