Reference documentation for deal.II version 9.3.3
\(\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\}}\)
Public Member Functions | Private Attributes | List of all members
SUNDIALS::SundialsPreconditioner< VectorType > Struct Template Reference

#include <deal.II/sundials/sunlinsol_wrapper.h>

Public Member Functions

void vmult (VectorType &dst, const VectorType &src) const
 
 SundialsPreconditioner (void *P_data, PSolveFn p_solve_fn, double tol)
 

Private Attributes

void * P_data
 
PSolveFn p_solve_fn
 
double tol
 

Detailed Description

template<typename VectorType>
struct SUNDIALS::SundialsPreconditioner< VectorType >

A linear operator that wraps preconditioner functionality as specified by SUNDIALS. The vmult() function solves the preconditioner equation \(Px=b\), i.e., it computes \(x=P^{-1}b\).

Definition at line 83 of file sunlinsol_wrapper.h.

Constructor & Destructor Documentation

◆ SundialsPreconditioner()

template<typename VectorType >
SUNDIALS::SundialsPreconditioner< VectorType >::SundialsPreconditioner ( void *  P_data,
PSolveFn  p_solve_fn,
double  tol 
)

Constructor.

Parameters
P_dataData required by p_solve_fn
p_solve_fnA function pointer to the function that computes A*v
tolTolerance, that an iterative solver should use to judge convergence

Definition at line 243 of file sunlinsol_wrapper.cc.

Member Function Documentation

◆ vmult()

template<typename VectorType >
void SUNDIALS::SundialsPreconditioner< VectorType >::vmult ( VectorType &  dst,
const VectorType &  src 
) const

Apply the wrapped preconditioner, i.e., solve \(Px=b\) where \(x\) is the dst vector and \(b\) the src vector.

Parameters
dstResult vector of the preconditioner application
srcTarget vector of the preconditioner application

Definition at line 256 of file sunlinsol_wrapper.cc.

Member Data Documentation

◆ P_data

template<typename VectorType >
void* SUNDIALS::SundialsPreconditioner< VectorType >::P_data
private

Data necessary to calls p_solve_fn

Definition at line 109 of file sunlinsol_wrapper.h.

◆ p_solve_fn

template<typename VectorType >
PSolveFn SUNDIALS::SundialsPreconditioner< VectorType >::p_solve_fn
private

Function pointer to a function that computes the preconditioner application.

Definition at line 115 of file sunlinsol_wrapper.h.

◆ tol

template<typename VectorType >
double SUNDIALS::SundialsPreconditioner< VectorType >::tol
private

Potential tolerance to use in the internal solve of the preconditioner equation.

Definition at line 121 of file sunlinsol_wrapper.h.


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