Reference documentation for deal.II version GIT relicensing-1244-g5eebebc98c 2024-07-23 06:10:02+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
No Matches
Namespaces | Classes | Typedefs | Functions
SUNDIALS Namespace Reference


namespace  internal
namespace  Utilities


class  ARKode
class  IDA
class  KINSOL
struct  SundialsOperator
struct  SundialsPreconditioner


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


static ::ExceptionBaseExcARKodeError (int arg1)
static ::ExceptionBaseExcSundialsSolverError (int arg1)

Detailed Description

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

Typedef Documentation

◆ booltype

using SUNDIALS::booltype = typedef sunbooleantype

Alias for the bool and real types used by SUNDIALS.

Definition at line 31 of file sundials_types.h.

◆ realtype

using SUNDIALS::realtype = typedef ::sunrealtype

Definition at line 32 of file sundials_types.h.

◆ LinearSolveFunction

template<typename VectorType >
using SUNDIALS::LinearSolveFunction = typedef std::function<void(SundialsOperator<VectorType> &op, SundialsPreconditioner<VectorType> &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:

[in]opA LinearOperator that applies the matrix vector product
[in]precA LinearOperator that applies the preconditioner
[out]xThe output solution vector
[in]bThe right-hand side
[in]tolTolerance for the iterative solver
This variable represents a user provided callback. See there for a description of how to deal with errors and other requirements and conventions. In particular, ARKode can deal with "recoverable" errors in some circumstances, so callbacks can throw exceptions of type RecoverableUserCallbackError.

Definition at line 214 of file sunlinsol_wrapper.h.