Module Arkode

module Arkode: sig .. end

Adaptive-step time integration for stiff, nonstiff, and mixed stiff/nonstiff systems of ODE initial value problems with zero-crossing detection.

The interface is structured as follows.

  1. Generic constants and types
  2. The ARKStep time-stepping module
  3. The ERKStep time-stepping module
  4. The MRIStep time-stepping module
  5. Exceptions

Generic constants and types

type arkstep = arkstep 

Type argument representing the ARKStep time-stepping module.

type erkstep = erkstep 

Type argument representing the ERKStep time-stepping module.

type mristep = mristep 

Type argument representing the MRIStep time-stepping module.

module Common: sig .. end

Common definitions that are included in each of the time-stepping modules.

module Dls: sig .. end

Common definitions for Direct Linear Solvers operating on dense, banded, and sparse matrices.

module Spils: sig .. end

Common definitions for Scaled Preconditioned Iterative Linear Solvers.

module ButcherTable: sig .. end

Butcher tables

Time-stepping Modules

module ARKStep: sig .. end

ARKStep Time-Stepping Module for ODE systems in split, linearly-implicit form.

module ERKStep: sig .. end

ERKStep Time-Stepping Module for nonstiff initial value problems.

module MRIStep: sig .. end

MRIStep Time-Stepping Module for two-rate initial value problems.

Exceptions

exception IllInput

Raised on missing or illegal solver inputs. Also raised if an element of the error weight vector becomes zero during time stepping, or the linear solver initialization function failed, or a root was found both at t and very near t.

exception TooClose

The initial and final times are too close to each other and an initial step size was not specified.

exception TooMuchWork

The requested time could not be reached in mxstep internal steps. See Arkode.ARKStep.set_max_num_steps, Arkode.ERKStep.set_max_num_steps, or Arkode.MRIStep.set_max_num_steps.

exception TooMuchAccuracy

The requested accuracy could not be satisfied.

exception InnerStepFail of exn option

The inner stepper returned with an unrecoverable error. If possible, the exception in the inner stepper is specified.

exception ErrFailure

Too many error test failures within a step or at the minimum step size. See Arkode.ARKStep.set_max_err_test_fails or Arkode.ERKStep.set_max_err_test_fails, and Arkode.ARKStep.set_min_step or Arkode.ERKStep.set_min_step.

exception ConvergenceFailure

Too many convergence test failures within a step or at the minimum step size. See Arkode.ARKStep.set_max_conv_fails, and Arkode.ARKStep.set_min_step or Arkode.ERKStep.set_min_step.

exception LinearInitFailure

Linear solver initialization failed.

exception LinearSetupFailure of exn option

Linear solver setup failed in an unrecoverable manner. If possible, the exception in the underlying linear solver is specified. It is typically one of Sundials_LinearSolver.ZeroInDiagonal, Sundials_LinearSolver.PSetFailure, or Sundials_LinearSolver.PackageFailure.

exception LinearSolveFailure of exn option

Linear solver solution failed in an unrecoverable manner. If possible, the exception in the underlying linear solver is specified. It is typically one of Sundials_LinearSolver.ZeroInDiagonal, Sundials_LinearSolver.ATimesFailure, Sundials_LinearSolver.PSolveFailure, Sundials_LinearSolver.GSFailure, Sundials_LinearSolver.QRSolFailure, or Sundials_LinearSolver.PackageFailure.

exception MassInitFailure

Mass matrix solver initialization failed.

exception MassSetupFailure of exn option

Mass matrix solver setup failed in an unrecoverable manner. If possible, the exception in the underlying linear solver is specified. It is typically one of Sundials_LinearSolver.ZeroInDiagonal, Sundials_LinearSolver.PSetFailure, or Sundials_LinearSolver.PackageFailure.

exception MassSolveFailure of exn option

Mass matrix solver solution failed in an unrecoverable manner. If possible, the exception in the underlying linear solver is specified. It is typically one of Sundials_LinearSolver.ZeroInDiagonal, Sundials_LinearSolver.ATimesFailure, Sundials_LinearSolver.PSolveFailure, Sundials_LinearSolver.GSFailure, Sundials_LinearSolver.QRSolFailure, or Sundials_LinearSolver.PackageFailure.

exception MassMultFailure

Mass matrix-vector multiplication failed.

exception RhsFuncFailure

The right-hand side function failed in an unrecoverable manner.

exception FirstRhsFuncFailure

The right-hand side function had a recoverable error when first called.

exception RepeatedRhsFuncFailure

Too many convergence test failures, or unable to estimate the initial step size, due to repeated recoverable errors in the right-hand side function.

exception UnrecoverableRhsFuncFailure

The right-hand side function had a recoverable error, but no recovery was possible. This error can only occur after an error test failure at order one.

exception NonlinearInitFailure

Nonlinear solver initialization failed.

exception NonlinearSetupFailure

Nonlinear solver setup failed in an unrecoverable manner.

exception NonlinearSetupRecoverable

Nonlinear solver setup failed in a recoverable manner.

exception NonlinearOperationError

The function requires a nonlinear solver, but one has not been configured.

exception RootFuncFailure

The rootfinding function failed.

exception PostprocStepFailure

The postprocess step function failed.

exception BadK

Raised by Arkode.ARKStep.get_dky, Arkode.ERKStep.get_dky, and Arkode.MRIStep.get_dky for invalid order values.

exception BadT

Raised by Arkode.ARKStep.get_dky, Arkode.ERKStep.get_dky, and Arkode.MRIStep.get_dky for invalid time values.

exception VectorOpErr

A fused vector operation failed.