Struct SundialsIntegrator::IntegratorOptions#

Nested Relationships#

This struct is a nested type of Class SundialsIntegrator.

Inheritance Relationships#

Base Type#

Derived Types#

Struct Documentation#

struct IntegratorOptions : public Karana::Integrators::Integrator::IntegratorOptions

Struct with options for this integrator

Subclassed by Karana::Integrators::ArkExplicitIntegrator::IntegratorOptions, Karana::Integrators::CVodeIntegrator::IntegratorOptions

Public Members

double rtol = 1e-4

The desired relative tolerance used to control the integrator error.

double atol = 1e-8

The desired absolute tolerance used to control the integrator error.

km::Vec atol_vec

The desired absolute tolerance vector used to control the integrator error. This can be used rather than a scalar tolerance to set different values for different states.

long max_num_steps = 1e6

The maximum number of steps the solver can take before throwing a too much work error.

double min_step_size = 1e-12

Minimum acceptable step size before we error out. Defaults to 1ns.

double anderson_damping = 1

Anderson damping in (0, 1] used for implicit integrators with fixed-point solves.

This is used to potentially speed up internal iterations by reusing past iterates (within the same time step). A value of 1 indicates no damping, and smaller values imply a “stronger” damping.

int anderson_length = 0

Number of past iterates to consider with Anderson acceleration.

unsigned int max_nl_iters = 3

Maximum number of nonlinear iterations before we try a smaller step size.

NLSOLVER nlsolver = NLSOLVER::FIXEDPOINT

The Nonlinear solver type to use.

bool use_jacobian = false

set to true to have the integrator use Jacobians (experimental)