#include <AMReX_GMRES_MV.H>
|
| | GMRES_MV (MAT const *a_mat) |
| | Bind GMRES to a sparse matrix described by a_mat.
|
| |
| void | setPrecond (PC a_pc) |
| | Supply an optional right-preconditioner functor.
|
| |
| void | solve (VEC &a_sol, VEC const &a_rhs, T a_tol_rel, T a_tol_abs) |
| | Solve the linear system.
|
| |
| void | setVerbose (int v) |
| | Set verbosity level v for the underlying GMRES solver.
|
| |
| GM & | getGMRES () |
| | Access the underlying GMRES object for additional tuning.
|
| |
| VEC | makeVecRHS () const |
| | Return an AlgVector that mirrors the matrix partition for RHS storage.
|
| |
| VEC | makeVecLHS () const |
| | Return another AlgVector with the same partition for LHS storage.
|
| |
| void | apply (VEC &lhs, VEC &rhs) const |
| | Apply the sparse operator to rhs and store the result in lhs.
|
| |
| void | precond (VEC &lhs, VEC const &rhs) const |
| | Apply the optional preconditioner (or copy if none is provided).
|
| |
|
| static T | norm2 (VEC const &vec) |
| | Euclidean norm of vec.
|
| |
| static void | scale (VEC &vec, T scale_factor) |
| | Scale vec in place by scale_factor.
|
| |
| static T | dotProduct (VEC const &vec1, VEC const &vec2) |
| | Dot product between vec1 and vec2.
|
| |
| static void | setToZero (VEC &lhs) |
| | Reset lhs to zero.
|
| |
| static void | assign (VEC &lhs, VEC const &rhs) |
| | Copy rhs into lhs.
|
| |
| static void | increment (VEC &lhs, VEC const &rhs, T a) |
| | Accumulate .
|
| |
| static void | linComb (VEC &lhs, T a, VEC const &rhs_a, T b, VEC const &rhs_b) |
| | Form the linear combination .
|
| |
◆ GM
◆ MAT
◆ PC
◆ RT
◆ VEC
◆ GMRES_MV()
Bind GMRES to a sparse matrix described by a_mat.
- Parameters
-
| a_mat | Matrix supplying the SpMV operation and partition. |
◆ apply()
Apply the sparse operator to rhs and store the result in lhs.
- Parameters
-
| lhs | Destination vector updated in place. |
| rhs | Source vector produced by the preconditioner (passed by non-const reference to satisfy the GMRES interface). |
◆ assign()
Copy rhs into lhs.
- Parameters
-
| lhs | Destination vector updated in place. |
| rhs | Source vector. |
◆ dotProduct()
Dot product between vec1 and vec2.
◆ getGMRES()
Access the underlying GMRES object for additional tuning.
◆ increment()
Accumulate
.
- Parameters
-
| lhs | Accumulation target. |
| rhs | Source vector. |
| a | Scalar factor applied to rhs. |
◆ linComb()
Form the linear combination
.
- Parameters
-
| lhs | Destination vector. |
| a | Scalar applied to rhs_a. |
| rhs_a | First source vector. |
| b | Scalar applied to rhs_b. |
| rhs_b | Second source vector. |
◆ makeVecLHS()
Return another AlgVector with the same partition for LHS storage.
◆ makeVecRHS()
Return an AlgVector that mirrors the matrix partition for RHS storage.
◆ norm2()
◆ precond()
Apply the optional preconditioner (or copy if none is provided).
◆ scale()
Scale vec in place by scale_factor.
◆ setPrecond()
Supply an optional right-preconditioner functor.
The functor must follow the signature void(VEC& lhs, VEC const& rhs).
- Parameters
-
| a_pc | Callable that computes lhs = P^{-1}(rhs). |
◆ setToZero()
Reset lhs to zero.
- Parameters
-
| lhs | Vector whose entries are zeroed asynchronously. |
◆ setVerbose()
Set verbosity level v for the underlying GMRES solver.
◆ solve()
Solve the linear system.
- Parameters
-
| a_sol | unknowns, i.e., x in A x = b. |
| a_rhs | RHS, i.e., b in A x = b. |
| a_tol_rel | relative tolerance. |
| a_tol_abs | absolute tolerance. |
The documentation for this class was generated from the following file: