#include <Cycle.h>
Classes | |
| struct | settings |
| Settings for the Kappa K-cycle. More... | |
Public Types | |
| enum class | krylov_type { fcg , gcr } |
| K-cycle variant. More... | |
| using | level = KCycleLevel |
Public Member Functions | |
| KappaKCycle (const settings &) | |
| void | operator() (std::shared_ptr< const LinearAlgebra::Vector > b, std::shared_ptr< LinearAlgebra::Vector > x, const std::vector< level > &levels, SolverStrategy &coarse_solver) const |
Static Public Member Functions | |
| static std::string_view | krylovTypeName (const krylov_type t) |
| Get krylov_type as string for printing. | |
| static krylov_type | parseType (const std::string &kcycle_type) |
| Recover krylov_type from input string (either "fcg" or "gcr"). | |
Private Member Functions | |
| void | cycle (size_t lvl, size_t kappa, std::shared_ptr< const LinearAlgebra::Vector > b, std::shared_ptr< LinearAlgebra::Vector > x, const std::vector< level > &levels, SolverStrategy &coarse_solver) const |
Private Attributes | |
| settings | d_settings |
Static Private Attributes | |
| static std::map< std::string, krylov_type > | type_map |
The Kappa K-cycle implements the Kylov-based multigrid cycle from Notay, Y., & Vassilevski, P. S. (2008). Recursive Krylovâbased multigrid cycles. Numerical Linear Algebra with Applications, 15(5), 473-487. https://doi.org/10.1002/nla.542.
augmented with Kappa cycling from Avnat, O., & Yavneh, I. (2022). On the recursive structure of multigrid cycles. SIAM Journal on Scientific Computing, 45(3), S103-S126. https://doi.org/10.1137/21M1433502.
The K-cycle implements economical variants of FCG and GCR as described in Notay, Y. (2010). An aggregation-based algebraic multigrid method. Electron. Trans. Numer. Anal, 37(6), 123-146.
|
strong |
| AMP::Solver::AMG::KappaKCycle::KappaKCycle | ( | const settings & | ) |
|
private |
|
static |
Get krylov_type as string for printing.
| void AMP::Solver::AMG::KappaKCycle::operator() | ( | std::shared_ptr< const LinearAlgebra::Vector > | b, |
| std::shared_ptr< LinearAlgebra::Vector > | x, | ||
| const std::vector< level > & | levels, | ||
| SolverStrategy & | coarse_solver | ||
| ) | const |
Run cycle with system \(Ax = b\).
| [in] | b | : shared pointer to right hand side vector |
| [out] | x | : shared pointer to approximate computed solution. |
| [in] | levels | : Levels |
| [in,out] | coarse_solver | : Coarse solver |
|
static |
Recover krylov_type from input string (either "fcg" or "gcr").
|
inlinestaticprivate |
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:45. Comments on this page |