Struct diffsol::op::bdf::BdfCallable
source · pub struct BdfCallable<Eqn: OdeEquations> { /* private fields */ }
Implementations§
source§impl<Eqn: OdeEquations> BdfCallable<Eqn>
impl<Eqn: OdeEquations> BdfCallable<Eqn>
pub fn new(ode_problem: &OdeSolverProblem<Eqn>) -> Self
pub fn number_of_jac_evals(&self) -> usize
pub fn set_c(&self, h: Eqn::T, alpha: Eqn::T)
pub fn set_psi_and_y0(&self, psi: Eqn::V, y0: &Eqn::V)
pub fn set_jacobian_is_stale(&self)
Trait Implementations§
source§impl<Eqn: OdeEquations> NonLinearOp for BdfCallable<Eqn>
impl<Eqn: OdeEquations> NonLinearOp for BdfCallable<Eqn>
source§fn call_inplace(&self, x: &Eqn::V, t: Eqn::T, y: &mut Eqn::V)
fn call_inplace(&self, x: &Eqn::V, t: Eqn::T, y: &mut Eqn::V)
Compute the operator at a given state and time.
source§fn jac_mul_inplace(&self, x: &Eqn::V, t: Eqn::T, v: &Eqn::V, y: &mut Eqn::V)
fn jac_mul_inplace(&self, x: &Eqn::V, t: Eqn::T, v: &Eqn::V, y: &mut Eqn::V)
Compute the product of the Jacobian with a given vector.
source§fn jacobian_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::M)
fn jacobian_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::M)
Compute the Jacobian of the operator and store it in the matrix
y
.
y
should have been previously initialised using the output of Op::sparsity
.source§fn call(&self, x: &Self::V, t: Self::T) -> Self::V
fn call(&self, x: &Self::V, t: Self::T) -> Self::V
Compute the operator at a given state and time, and return the result.
source§fn jac_mul(&self, x: &Self::V, t: Self::T, v: &Self::V) -> Self::V
fn jac_mul(&self, x: &Self::V, t: Self::T, v: &Self::V) -> Self::V
Compute the product of the Jacobian with a given vector, and return the result.
source§impl<Eqn: OdeEquations> Op for BdfCallable<Eqn>
impl<Eqn: OdeEquations> Op for BdfCallable<Eqn>
type V = <Eqn as OdeEquations>::V
type T = <Eqn as OdeEquations>::T
type M = <Eqn as OdeEquations>::M
source§fn sparsity(&self) -> Option<&<Self::M as Matrix>::Sparsity>
fn sparsity(&self) -> Option<&<Self::M as Matrix>::Sparsity>
Return sparsity information for the jacobian or matrix (if available)
source§fn set_params(&mut self, p: Rc<Self::V>)
fn set_params(&mut self, p: Rc<Self::V>)
Set the parameters of the operator to the given value.
source§fn statistics(&self) -> OpStatistics
fn statistics(&self) -> OpStatistics
Return statistics about the operator (e.g. how many times it was called, how many times the jacobian was computed, etc.)
Auto Trait Implementations§
impl<Eqn> !Freeze for BdfCallable<Eqn>
impl<Eqn> !RefUnwindSafe for BdfCallable<Eqn>
impl<Eqn> !Send for BdfCallable<Eqn>
impl<Eqn> !Sync for BdfCallable<Eqn>
impl<Eqn> Unpin for BdfCallable<Eqn>where
<<Eqn as OdeEquations>::M as Matrix>::Sparsity: Unpin,
<Eqn as OdeEquations>::V: Unpin,
<Eqn as OdeEquations>::T: Unpin,
<Eqn as OdeEquations>::M: Unpin,
impl<Eqn> UnwindSafe for BdfCallable<Eqn>where
Eqn: RefUnwindSafe,
<<Eqn as OdeEquations>::M as Matrix>::Sparsity: UnwindSafe,
<Eqn as OdeEquations>::V: UnwindSafe,
<Eqn as OdeEquations>::T: UnwindSafe,
<Eqn as OdeEquations>::M: UnwindSafe,
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<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 moresource§impl<T> Pointable for T
impl<T> Pointable for T
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.