Loading [MathJax]/extensions/TeX/newcommand.js
 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\}}
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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: