Reference documentation for deal.II version 9.3.3
SUNDIALS Namespace Reference

## Namespaces

namespace  internal

## Classes

class  ARKode

class  KINSOL

struct  SundialsOperator

struct  SundialsPreconditioner

## Typedefs

template<typename VectorType >
using LinearSolveFunction = std::function< int(SundialsOperator< VectorType > &op, SundialsPreconditioner< VectorType > &prec, VectorType &x, const VectorType &b, double tol)>

## Functions

DeclException1 (ExcARKodeError, int,<< "One of the SUNDIALS ARKode internal functions "<< " returned a negative error code: "<< arg1<< ". Please consult SUNDIALS manual.")

static ::ExceptionBaseExcSundialsSolverError (int arg1)

## Detailed Description

A namespace for dealing with ODE solvers through the SUNDIALS package.

## ◆ LinearSolveFunction

template<typename VectorType >
 using SUNDIALS::LinearSolveFunction = typedef std::function & op, SundialsPreconditioner &prec, VectorType & x, const VectorType & b, double tol)>

Type of function objects to interface with SUNDIALS linear solvers

This function type encapsulates the action of solving $$P^{-1}Ax=P^{-1}b$$. The LinearOperator op encapsulates the matrix vector product $$Ax$$ and the LinearOperator prec encapsulates the application of the preconditioner $$P^{-1}z$$. The user can specify function objects of this type to attach custom linear solver routines to SUNDIALS. The two LinearOperators op and prec are built internally by SUNDIALS based on user settings. The parameters are interpreted as follows:

Parameters
 [in] op A LinearOperator that applies the matrix vector product [in] prec A LinearOperator that applies the preconditioner [out] x The output solution vector [in] b The right-hand side [in] tol Tolerance for the iterative solver

This function should return:

• 0: Success
• >0: Recoverable error, ARKode will reattempt the solution and call this function again.
• <0: Unrecoverable error, the computation will be aborted and an assertion will be thrown.

Definition at line 150 of file sunlinsol_wrapper.h.

## ◆ DeclException1()

 SUNDIALS::DeclException1 ( ExcARKodeError , int , << "One of the SUNDIALS ARKode internal functions "<< " returned a negative error code: "<< arg1<< ". Please consult SUNDIALS manual." )

Handle ARKode exceptions.