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...
 
unsigned max_order_adams = 5
 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.

See also
ODESolver, ODEProblem

Member Data Documentation

◆ stability_limit_detection

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.

◆ initial_step

double initial_step = 0.0

The initial step size to be used in the integration.

An estimation is made if its value is zero.

◆ stop_time

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.

◆ max_order_bdf

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.

◆ max_order_adams

unsigned max_order_adams = 5

The maximum order for the Adams integration scheme.

The order of the Adams method can be any integer from 1 to 12 inclusive.


The documentation for this struct was generated from the following file: