Reaktoro A unified framework for modeling chemically reactive systems
ODEOptions Struct Reference

A struct that defines the options for the ODESolver. More...

#include <ODE.hpp>

## Public Attributes

ODEStepMode step = ODEStepMode::BDF
The linear multistep method used in the integration.

ODEIterationMode iteration = ODEIterationMode::Newton
The type of nonlinear solver iteration used in the integration.

bool stability_limit_detection = false
The flag that enables the STAbility Limit Detection (STALD) algorithm. More...

double initial_step = 0.0
The initial step size to be used in the integration. More...

double stop_time = 0.0
The value of the independent variable t past which the solution is not to proceed. More...

double min_step = 0.0
The lower bound on the magnitude of the step size.

double max_step = 0.0
The upper bound on the magnitude of the step size.

double reltol = 1e-4
The scalar relative error tolerance.

double abstol = 1.0e-6
The scalar absolute error tolerance.

unsigned max_order_bdf = 5
The maximum order for the BDF integration scheme. More...

The maximum order for the Adams integration scheme. More...

unsigned max_num_steps = 500
The maximum allowed number of steps before reaching the final time.

unsigned max_hnil_warnings = 10
The maximum number of warnings for t + h = t, with h being too small compared to t.

unsigned max_num_error_test_failures = 20
The maximum number of error test failures.

unsigned max_num_nonlinear_iterations = 3
The maximum number of nonlinear iterations.

unsigned max_num_convergence_failures = 10
The maximum number of convergence failures.

double nonlinear_convergence_coefficient = 0.1
The coefficient in the nonlinear convergence test.

Vector abstols
The vector of absolute error tolerances for each component.

## Detailed Description

A struct that defines the options for the ODESolver.

ODESolver, ODEProblem

## Member Data Documentation

 bool stability_limit_detection = false

The flag that enables the STAbility Limit Detection (STALD) algorithm.

The STALD algorithm should be used when BDF method does not progress well, which can happen when the current BDF order is above 2. Using the STALD algorithm helps fixing this by reducing the current BDF order, and thus increasing its stability.

 double initial_step = 0.0

The initial step size to be used in the integration.

An estimation is made if its value is zero.

 double stop_time = 0.0

The value of the independent variable t past which the solution is not to proceed.

No stop time is used if its value is zero.

 unsigned max_order_bdf = 5

The maximum order for the BDF integration scheme.

The order of the BDF method can be any integer from 1 to 5 inclusive.