AlgebraicMultigrid 0.1
C++ algebraic multigrid.
|
Base class for smoothers that must implement a smooth
function for the iterative solution of a linear system Au = b
.
More...
#include <smoother.hpp>
Public Member Functions | |
SmootherBase () | |
SmootherBase (size_t n_iters_) | |
SmootherBase (double tolerance_, size_t compute_error_every_n_iters_, size_t n_iters_) | |
Construct a new Smoother Base object with iterative solver member data. | |
virtual void | smooth (const Eigen::SparseMatrix< EleType > &A, Eigen::Matrix< EleType, -1, 1 > &u, const Eigen::Matrix< EleType, -1, 1 > &b)=0 |
Must implement function that smooths Au = b . | |
Public Attributes | |
EleType | tolerance {1e-9} |
Tolerance below which a smoother is considered to have converged. | |
size_t | compute_error_every_n_iters {100} |
Compute the error every n iterations during smoothing. | |
size_t | n_iters {1} |
Maximum number of iterations before smoothing termination. | |
Base class for smoothers that must implement a smooth
function for the iterative solution of a linear system Au = b
.
EleType |
|
inline |
|
inline |
|
inline |
Construct a new Smoother Base object with iterative solver member data.
tolerance_ | |
compute_error_every_n_iters_ | |
n_iters_ |
|
pure virtual |
Must implement function that smooths Au = b
.
A | Coefficients matrix for discretized governing equations. Coeffcients matrix for linear system of equations. |
u | Solution to linear system of equations. |
b | Right hand side of linear system Au = b . Right hand side of linear system of equations. |
Implemented in AMG::Jacobi< EleType >, AMG::SparseGaussSeidel< EleType >, and AMG::SuccessiveOverRelaxation< EleType >.
size_t AMG::SmootherBase< EleType >::compute_error_every_n_iters {100} |
Compute the error every n
iterations during smoothing.
size_t AMG::SmootherBase< EleType >::n_iters {1} |
Maximum number of iterations before smoothing termination.
EleType AMG::SmootherBase< EleType >::tolerance {1e-9} |
Tolerance below which a smoother is considered to have converged.