Private API

This page lists non-exported (internal) symbols of CTFlowsSciMLFlows.


From CTFlowsSciMLFlows

IPSciMLIpRHS [Struct]

CTFlowsSciMLFlows.IPSciMLIpRHSType
struct IPSciMLIpRHS{F<:SciMLBase.AbstractODEFunction{true}} <: CTFlows.Systems.AbstractIPRHS

In-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.IPSciMLOoPRHSType
struct IPSciMLOoPRHS{F<:SciMLBase.AbstractODEFunction{false}} <: CTFlows.Systems.AbstractIPRHS

In-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.OoPSciMLIpFinalizeRHSType
struct OoPSciMLIpFinalizeRHS{F<:SciMLBase.AbstractODEFunction{true}} <: CTFlows.Systems.AbstractOoPRHS

Out-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.OoPSciMLIpRHSType
struct OoPSciMLIpRHS{F<:SciMLBase.AbstractODEFunction{true}} <: CTFlows.Systems.AbstractOoPRHS

Out-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.OoPSciMLOoPRHSType
struct OoPSciMLOoPRHS{F<:SciMLBase.AbstractODEFunction{false}} <: CTFlows.Systems.AbstractOoPRHS

Out-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.SciMLFunctionSystemType
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-place f!(du, u, p, t)
  • AbstractODEFunction{false} → out-of-place f(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 immutable u0, or Nothing.

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 immutable u0 (iip only), or Nothing.

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.SciMLProblemFlowType
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) — calls SciMLBase.remake first with point options, returns final state only.
  • Trajectory call f(tspan, x0; variable, unsafe) — calls SciMLBase.remake first with trajectory options, returns complete solution.

Type Parameters

  • P <: SciMLBase.AbstractODEProblem: The wrapped ODE problem.
  • I <: Integrators.AbstractIntegrator: The integrator strategy (typically SciML).

Fields

  • prob::P: The wrapped ODE problem (contains u0, tspan, p).
  • integrator::I: The integrator strategy (provides options via build_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]

_rhs_sciml_label [Function]

CTFlowsSciMLFlows._rhs_sciml_labelFunction
_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.show methods.
  • Labels describe both the wrapped SciML function's interface and the provided interface.

See also: _AnySciMLRHS.