Skip to content

Latest commit

 

History

History
46 lines (25 loc) · 2.7 KB

File metadata and controls

46 lines (25 loc) · 2.7 KB
graph LR
    diffeqsolve["diffeqsolve"]
    loop["loop"]
    event_call["event_call"]
    diffeqsolve -- "orchestrates" --> loop
    loop -- "interacts with" --> event_call
    event_call -- "influences" --> loop
Loading

CodeBoardingDemoContact

Details

The Integration Engine subsystem is the core orchestrator for solving differential equations within diffrax. It encapsulates the primary control flow, managing the integration loop and handling events that occur during the solution process.

diffeqsolve

This component serves as the primary public interface and orchestrator for initiating and managing the differential equation solving process. It initializes the solver, sets up the initial state, and oversees the entire integration workflow. It embodies the "Solver Orchestrator/Engine" pattern, providing a unified entry point for users.

Related Classes/Methods:

loop

The loop component implements the core iterative time-stepping mechanism. It is responsible for advancing the solution through the integration interval by repeatedly executing individual integration steps. This component is fundamental to the "Numerical Solvers" and "Pipeline/Workflow" patterns, representing the iterative nature inherent in numerical integration algorithms.

Related Classes/Methods:

event_call

This component manages and processes events that may occur during the integration process. It handles the detection of specific conditions (e.g., steady-state, discontinuities, reaching a specific time point) and facilitates dynamic control or termination of the integration based on these events. This directly supports the "Event Handling" pattern, crucial for robust and flexible solvers.

Related Classes/Methods: