deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30:00+00:00
|
#include <deal.II/sundials/sunlinsol_wrapper.h>
Public Member Functions | |
void | vmult (VectorType &dst, const VectorType &src) const |
SundialsPreconditioner (void *P_data, SUNPSolveFn p_solve_fn, SUNContext linsol_ctx, double tol) | |
Private Attributes | |
void * | P_data |
SUNPSolveFn | p_solve_fn |
SUNContext | linsol_ctx |
double | tol |
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 109 of file sunlinsol_wrapper.h.
SUNDIALS::SundialsPreconditioner< VectorType >::SundialsPreconditioner | ( | void * | P_data, |
SUNPSolveFn | p_solve_fn, | ||
SUNContext | linsol_ctx, | ||
double | tol | ||
) |
Constructor.
P_data | Data required by p_solve_fn |
p_solve_fn | A function pointer to the function that computes A*v |
linsol_ctx | The context object used to set up the linear solver and all vectors |
tol | Tolerance, that an iterative solver should use to judge convergence |
Definition at line 412 of file sunlinsol_wrapper.cc.
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.
dst | Result vector of the preconditioner application |
src | Target vector of the preconditioner application |
Definition at line 438 of file sunlinsol_wrapper.cc.
|
private |
Data necessary to calls p_solve_fn
Definition at line 159 of file sunlinsol_wrapper.h.
|
private |
Function pointer to a function that computes the preconditioner application.
Definition at line 166 of file sunlinsol_wrapper.h.
|
private |
Context object used for SUNDIALS logging.
Definition at line 171 of file sunlinsol_wrapper.h.
|
private |
Potential tolerance to use in the internal solve of the preconditioner equation.
Definition at line 184 of file sunlinsol_wrapper.h.