ViennaCL - The Vienna Computing Library  1.6.1
Free open-source GPU-accelerated linear algebra and solver library.
viennacl::linalg::detail::amg::amg_tag Class Reference

A tag for algebraic multigrid (AMG). Used to transport information from the user to the implementation. More...

#include <amg_base.hpp>

Public Member Functions

 amg_tag (unsigned int coarse=1, unsigned int interpol=1, double threshold=0.25, double interpolweight=0.2, double jacobiweight=1, unsigned int presmooth=1, unsigned int postsmooth=1, unsigned int coarselevels=0)
 The constructor. More...
 
void set_coarse (unsigned int coarse)
 
unsigned int get_coarse () const
 
void set_interpol (unsigned int interpol)
 
unsigned int get_interpol () const
 
void set_threshold (double threshold)
 
double get_threshold () const
 
void set_as (double jacobiweight)
 
double get_interpolweight () const
 
void set_interpolweight (double interpolweight)
 
double get_jacobiweight () const
 
void set_presmooth (unsigned int presmooth)
 
unsigned int get_presmooth () const
 
void set_postsmooth (unsigned int postsmooth)
 
unsigned int get_postsmooth () const
 
void set_coarselevels (unsigned int coarselevels)
 
unsigned int get_coarselevels () const
 

Detailed Description

A tag for algebraic multigrid (AMG). Used to transport information from the user to the implementation.

Examples:
amg.cpp.

Definition at line 61 of file amg_base.hpp.

Constructor & Destructor Documentation

viennacl::linalg::detail::amg::amg_tag::amg_tag ( unsigned int  coarse = 1,
unsigned int  interpol = 1,
double  threshold = 0.25,
double  interpolweight = 0.2,
double  jacobiweight = 1,
unsigned int  presmooth = 1,
unsigned int  postsmooth = 1,
unsigned int  coarselevels = 0 
)
inline

The constructor.

Parameters
coarseCoarsening Routine (Default: VIENNACL_AMG_COARSE_CLASSIC)
interpolInterpolation routine (Default: VIENNACL_AMG_INTERPOL_DIRECT)
thresholdStrength of dependence threshold for the coarsening process (Default: 0.25)
interpolweightInterpolation parameter for SA interpolation and truncation parameter for direct+classical interpolation
jacobiweightWeight of the weighted Jacobi smoother iteration step (Default: 1 = Regular Jacobi smoother)
presmoothNumber of presmoothing operations on every level (Default: 1)
postsmoothNumber of postsmoothing operations on every level (Default: 1)
coarselevelsNumber of coarse levels that are constructed (Default: 0 = Optimize coarse levels for direct solver such that coarsest level has a maximum of COARSE_LIMIT points) (Note: Coarsening stops when number of coarse points = 0 and overwrites the parameter with actual number of coarse levels)

Definition at line 76 of file amg_base.hpp.

Member Function Documentation

unsigned int viennacl::linalg::detail::amg::amg_tag::get_coarse ( ) const
inline

Definition at line 90 of file amg_base.hpp.

unsigned int viennacl::linalg::detail::amg::amg_tag::get_coarselevels ( ) const
inline
Examples:
amg.cpp.

Definition at line 111 of file amg_base.hpp.

unsigned int viennacl::linalg::detail::amg::amg_tag::get_interpol ( ) const
inline

Definition at line 93 of file amg_base.hpp.

double viennacl::linalg::detail::amg::amg_tag::get_interpolweight ( ) const
inline

Definition at line 99 of file amg_base.hpp.

double viennacl::linalg::detail::amg::amg_tag::get_jacobiweight ( ) const
inline

Definition at line 102 of file amg_base.hpp.

unsigned int viennacl::linalg::detail::amg::amg_tag::get_postsmooth ( ) const
inline

Definition at line 108 of file amg_base.hpp.

unsigned int viennacl::linalg::detail::amg::amg_tag::get_presmooth ( ) const
inline

Definition at line 105 of file amg_base.hpp.

double viennacl::linalg::detail::amg::amg_tag::get_threshold ( ) const
inline

Definition at line 96 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_tag::set_as ( double  jacobiweight)
inline

Definition at line 98 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_tag::set_coarse ( unsigned int  coarse)
inline

Definition at line 89 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_tag::set_coarselevels ( unsigned int  coarselevels)
inline
Examples:
amg.cpp.

Definition at line 110 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_tag::set_interpol ( unsigned int  interpol)
inline

Definition at line 92 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_tag::set_interpolweight ( double  interpolweight)
inline

Definition at line 101 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_tag::set_postsmooth ( unsigned int  postsmooth)
inline

Definition at line 107 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_tag::set_presmooth ( unsigned int  presmooth)
inline

Definition at line 104 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_tag::set_threshold ( double  threshold)
inline

Definition at line 95 of file amg_base.hpp.


The documentation for this class was generated from the following file: