All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

  coarse | Coarsening Routine (Default: VIENNACL_AMG_COARSE_CLASSIC)
  interpol | Interpolation routine (Default: VIENNACL_AMG_INTERPOL_DIRECT)
  threshold | Strength of dependence threshold for the coarsening process (Default: 0.25)
  interpolweight | Interpolation parameter for SA interpolation and truncation parameter for direct+classical interpolation
  jacobiweight | Weight of the weighted Jacobi smoother iteration step (Default: 1 = Regular Jacobi smoother)
  presmooth | Number of presmoothing operations on every level (Default: 1)
  postsmooth | Number of postsmoothing operations on every level (Default: 1)
  coarselevels | Number 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:

- viennacl/linalg/detail/amg/amg_base.hpp