Skip to main content

NonLinearOp

Trait NonLinearOp 

Source
pub trait NonLinearOp: Op {
    // Required method
    fn call_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::V);

    // Provided method
    fn call(&self, x: &Self::V, t: Self::T) -> Self::V { ... }
}

Required Methods§

Source

fn call_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::V)

Compute the operator F(x, t) at a given state and time.

Provided Methods§

Source

fn call(&self, x: &Self::V, t: Self::T) -> Self::V

Compute the operator F(x, t) at a given state and time, and return the result. Use [Self::call_inplace] to for a non-allocating version.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<C: NonLinearOp> NonLinearOp for &C

Source§

fn call_inplace(&self, x: &Self::V, t: Self::T, y: &mut Self::V)

Implementors§

Source§

impl<'a, Eqn, Method> NonLinearOp for AdjointOut<'a, Eqn, Method>
where Eqn: OdeEquationsAdjoint, Method: OdeSolverMethod<'a, Eqn>,

Source§

impl<'a, Eqn, Method> NonLinearOp for AdjointRhs<'a, Eqn, Method>
where Eqn: OdeEquationsAdjoint, Method: OdeSolverMethod<'a, Eqn>,

Source§

impl<Eqn: OdeEquationsImplicit> NonLinearOp for BdfCallable<Eqn>

Source§

impl<Eqn: OdeEquationsImplicit> NonLinearOp for InitOp<'_, Eqn>

Source§

impl<Eqn: OdeEquationsImplicit> NonLinearOp for SdirkCallable<Eqn>

Source§

impl<Eqn> NonLinearOp for SensRhs<'_, Eqn>

Source§

impl<M, F, G, H, I> NonLinearOp for ParameterisedOp<'_, ClosureWithAdjoint<M, F, G, H, I>>
where M: Matrix, F: Fn(&M::V, &M::V, M::T, &mut M::V), G: Fn(&M::V, &M::V, M::T, &M::V, &mut M::V), H: Fn(&M::V, &M::V, M::T, &M::V, &mut M::V), I: Fn(&M::V, &M::V, M::T, &M::V, &mut M::V),

Source§

impl<M, F, G, H> NonLinearOp for ParameterisedOp<'_, ClosureWithSens<M, F, G, H>>
where M: Matrix, F: Fn(&M::V, &M::V, M::T, &mut M::V), G: Fn(&M::V, &M::V, M::T, &M::V, &mut M::V), H: Fn(&M::V, &M::V, M::T, &M::V, &mut M::V),

Source§

impl<M, F, G> NonLinearOp for ParameterisedOp<'_, Closure<M, F, G>>
where M: Matrix, F: Fn(&M::V, &M::V, M::T, &mut M::V), G: Fn(&M::V, &M::V, M::T, &M::V, &mut M::V),

Source§

impl<M, F> NonLinearOp for ParameterisedOp<'_, ClosureNoJac<M, F>>
where M: Matrix, F: Fn(&M::V, &M::V, M::T, &mut M::V),

Source§

impl<M: Matrix> NonLinearOp for MatrixOp<M>

Source§

impl<M: Matrix> NonLinearOp for ParameterisedOp<'_, UnitCallable<M>>

Source§

impl<M: Matrix> NonLinearOp for UnitCallable<M>

Source§

impl<M: MatrixHost<T: DiffSlScalar>, CG: CodegenModule> NonLinearOp for DiffSlOut<'_, M, CG>

Source§

impl<M: MatrixHost<T: DiffSlScalar>, CG: CodegenModule> NonLinearOp for DiffSlReset<'_, M, CG>

Source§

impl<M: MatrixHost<T: DiffSlScalar>, CG: CodegenModule> NonLinearOp for DiffSlRhs<'_, M, CG>

Source§

impl<M: MatrixHost<T: DiffSlScalar>, CG: CodegenModule> NonLinearOp for DiffSlRoot<'_, M, CG>