![]() |
deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+00:00
|
#include <deal.II/sundials/sunlinsol_wrapper.h>
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 110 of file 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 |
| 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 |
| 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 |
|
private |
Data necessary to calls p_solve_fn
Definition at line 160 of file sunlinsol_wrapper.h.
|
private |
Function pointer to a function that computes the preconditioner application.
Definition at line 167 of file sunlinsol_wrapper.h.
|
private |
Context object used for SUNDIALS logging.
Definition at line 172 of file sunlinsol_wrapper.h.
|
private |
Potential tolerance to use in the internal solve of the preconditioner equation.
Definition at line 185 of file sunlinsol_wrapper.h.