Private API
This page lists non-exported (internal) symbols of CTFlowsSciMLFlows.
From CTFlowsSciMLFlows
IPSciMLIpRHS [Struct]
CTFlowsSciMLFlows.IPSciMLIpRHS — Type
struct IPSciMLIpRHS{F<:SciMLBase.AbstractODEFunction{true}} <: CTFlows.Systems.AbstractIPRHSIn-place RHS functor for an in-place SciML ODEFunction.
Wraps an in-place SciML function and provides an in-place interface by directly calling the function.
Fields
f::F: The wrapped SciML ODEFunction
Call signature
(r::IPSciMLIpRHS)(du, u, λ, t) -> nothing
See also: CTFlowsSciMLFlows.OoPSciMLIpRHS, CTFlowsSciMLFlows.OoPSciMLIpFinalizeRHS, CTFlowsSciMLFlows.IPSciMLOoPRHS, CTFlowsSciMLFlows.OoPSciMLOoPRHS.
IPSciMLOoPRHS [Struct]
CTFlowsSciMLFlows.IPSciMLOoPRHS — Type
struct IPSciMLOoPRHS{F<:SciMLBase.AbstractODEFunction{false}} <: CTFlows.Systems.AbstractIPRHSIn-place RHS functor for an out-of-place SciML ODEFunction.
Wraps an out-of-place SciML function and provides an in-place interface by allocating the result into the pre-allocated du buffer.
Fields
f::F: The wrapped SciML ODEFunction
Call signature
(r::IPSciMLOoPRHS)(du, u, λ, t) -> nothing
See also: CTFlowsSciMLFlows.IPSciMLIpRHS, CTFlowsSciMLFlows.OoPSciMLIpRHS, CTFlowsSciMLFlows.OoPSciMLIpFinalizeRHS, CTFlowsSciMLFlows.OoPSciMLOoPRHS.
OoPSciMLIpFinalizeRHS [Struct]
CTFlowsSciMLFlows.OoPSciMLIpFinalizeRHS — Type
struct OoPSciMLIpFinalizeRHS{F<:SciMLBase.AbstractODEFunction{true}} <: CTFlows.Systems.AbstractOoPRHSOut-of-place RHS functor for an in-place SciML ODEFunction with type conversion.
Wraps an in-place SciML function and provides an out-of-place interface that converts the result to match the input type (e.g., Vector → SVector).
Fields
f::F: The wrapped SciML ODEFunction
Call signature
(r::OoPSciMLIpFinalizeRHS)(u, λ, t) -> du
See also: CTFlowsSciMLFlows.IPSciMLIpRHS, CTFlowsSciMLFlows.OoPSciMLIpRHS, CTFlowsSciMLFlows.IPSciMLOoPRHS, CTFlowsSciMLFlows.OoPSciMLOoPRHS.
OoPSciMLIpRHS [Struct]
CTFlowsSciMLFlows.OoPSciMLIpRHS — Type
struct OoPSciMLIpRHS{F<:SciMLBase.AbstractODEFunction{true}} <: CTFlows.Systems.AbstractOoPRHSOut-of-place RHS functor for an in-place SciML ODEFunction.
Wraps an in-place SciML function and provides an out-of-place interface by allocating a temporary buffer on each call.
Fields
f::F: The wrapped SciML ODEFunction
Call signature
(r::OoPSciMLIpRHS)(u, λ, t) -> du
See also: CTFlowsSciMLFlows.IPSciMLIpRHS, CTFlowsSciMLFlows.OoPSciMLIpFinalizeRHS, CTFlowsSciMLFlows.IPSciMLOoPRHS, CTFlowsSciMLFlows.OoPSciMLOoPRHS.
OoPSciMLOoPRHS [Struct]
CTFlowsSciMLFlows.OoPSciMLOoPRHS — Type
struct OoPSciMLOoPRHS{F<:SciMLBase.AbstractODEFunction{false}} <: CTFlows.Systems.AbstractOoPRHSOut-of-place RHS functor for an out-of-place SciML ODEFunction.
Wraps an out-of-place SciML function and provides an out-of-place interface by directly calling the function.
Fields
f::F: The wrapped SciML ODEFunction
Call signature
(r::OoPSciMLOoPRHS)(u, λ, t) -> du
See also: CTFlowsSciMLFlows.IPSciMLIpRHS, CTFlowsSciMLFlows.OoPSciMLIpRHS, CTFlowsSciMLFlows.OoPSciMLIpFinalizeRHS, CTFlowsSciMLFlows.IPSciMLOoPRHS.
SciMLFunctionSystem [Struct]
CTFlowsSciMLFlows.SciMLFunctionSystem — Type
struct SciMLFunctionSystem{F<:SciMLBase.AbstractODEFunction, RHS<:CTFlows.Systems.AbstractIPRHS, OOPROHS<:CTFlows.Systems.AbstractOoPRHS, FINRHS} <: CTFlows.Systems.AbstractStateSystem{CTBase.Traits.NonAutonomous, CTBase.Traits.NonFixed}Concrete AbstractStateSystem wrapping a SciMLBase.AbstractODEFunction.
Unlike CTFlows-native systems (VectorFieldSystem), this system passes p = variable directly to the ODE — no ODEParameters wrapper — so users can pass arbitrary SciML parameter objects.
The mutability trait is encoded in the iip type parameter of the wrapped function:
AbstractODEFunction{true}→ in-placef!(du, u, p, t)AbstractODEFunction{false}→ out-of-placef(u, p, t) -> du
The system pre-computes cross-adapters for both in-place and out-of-place call modes, similar to VectorFieldSystem, ensuring compatibility with the generic build_problem which dispatches based on u0 mutability.
Type Parameters
F <: SciMLBase.AbstractODEFunction: The wrapped ODE function.RHS<:Systems.AbstractIPRHS: Pre-computed in-place RHS functor.OOPROHS<:Systems.AbstractOoPRHS: Pre-computed out-of-place RHS functor.FINRHS: Finalize functor for in-place functions with immutableu0, orNothing.
Fields
f::F: The wrapped SciML ODE function.rhs_fn::RHS: In-place RHS with signature(du, u, λ, t).rhs_oop_fn::OOPROHS: Out-of-place RHS with signature(u, λ, t).rhs_oop_finalize_fn::FINRHS: Out-of-place RHS for immutableu0(iip only), orNothing.
Example
using SciMLBase, CTFlows
f = ODEFunction((du, u, p, t) -> du .= -p .* u)
sys = SciMLFunctionSystem(f)
# sys.rhs_fn is pre-computed in-place closure
# sys.rhs_oop_fn is pre-computed out-of-place closure (allocates buffer)SciMLProblemFlow [Struct]
CTFlowsSciMLFlows.SciMLProblemFlow — Type
struct SciMLProblemFlow{P<:SciMLBase.AbstractODEProblem, I<:CTFlows.Integrators.AbstractIntegrator} <: CTFlows.Flows.AbstractStateFlow{CTBase.Traits.NonAutonomous, CTBase.Traits.NonFixed}Concrete AbstractFlow wrapping a SciMLBase.AbstractODEProblem directly.
Unlike StateFlow which wraps an AbstractSystem and an AbstractIntegrator, SciMLProblemFlow wraps a fully-assembled ODE problem. The system method returns nothing because there is no CTFlows AbstractSystem to extract.
The flow supports three call modes:
- No-arg call
f(; unsafe)— solves the problem as-is with trajectory options. - Point call
f(t0, x0, tf; variable, unsafe)— callsSciMLBase.remakefirst with point options, returns final state only. - Trajectory call
f(tspan, x0; variable, unsafe)— callsSciMLBase.remakefirst with trajectory options, returns complete solution.
Type Parameters
P <: SciMLBase.AbstractODEProblem: The wrapped ODE problem.I <: Integrators.AbstractIntegrator: The integrator strategy (typicallySciML).
Fields
prob::P: The wrapped ODE problem (contains u0, tspan, p).integrator::I: The integrator strategy (provides options viabuild_options).
Example
using SciMLBase, CTFlows
prob = ODEProblem((du, u, p, t) -> du .= -p .* u, [1.0], (0.0, 1.0), 2.0)
flow = SciMLProblemFlow(prob, Integrators.SciML())
# No-arg call: solve as-is
sol = flow(; unsafe=false)
# Point call: modify initial condition and time span, returns final state
xf = flow(0.5, [2.0], 2.0; variable=3.0, unsafe=false)
# Trajectory call: modify initial condition and time span, returns complete solution
sol = flow((0.5, 2.0), [2.0]; variable=3.0, unsafe=false)_AnySciMLRHS [Struct]
CTFlowsSciMLFlows._AnySciMLRHS — Type
Union type of all SciML RHS functors.
Notes
- Internal type alias used for method dispatch on display methods.
- Covers all five conversion strategies between in-place and out-of-place interfaces.
See also: _rhs_sciml_label, IPSciMLIpRHS, OoPSciMLIpRHS, OoPSciMLIpFinalizeRHS, IPSciMLOoPRHS, OoPSciMLOoPRHS.
_rhs_sciml_label [Function]
CTFlowsSciMLFlows._rhs_sciml_label — Function
_rhs_sciml_label(
_::CTFlowsSciMLFlows.IPSciMLIpRHS
) -> String
Return a human-readable label describing the RHS conversion strategy.
Arguments
r::IPSciMLIpRHS: In-place SciML → in-place interface functor.r::OoPSciMLIpRHS: In-place SciML → out-of-place interface functor.r::OoPSciMLIpFinalizeRHS: In-place SciML → out-of-place interface with type conversion functor.r::IPSciMLOoPRHS: Out-of-place SciML → in-place interface functor.r::OoPSciMLOoPRHS: Out-of-place SciML → out-of-place interface functor.
Returns
String: A descriptive label of the conversion strategy.
Notes
- Internal helper used for display purposes in
Base.showmethods. - Labels describe both the wrapped SciML function's interface and the provided interface.
See also: _AnySciMLRHS.