LexILUPrecond< T > Class Template Reference

Template for the ILU_omega preconditioners for SparseMatrix<T> -matrices. More...

#include <LexILU.hpp>

Inheritance diagram for LexILUPrecond< T >:

Inheritance graph
[legend]
Collaboration diagram for LexILUPrecond< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void PrintParam ()
 Prints the name of the preconditioner.
void PreProcess (void *&context, SparseMatrix< T > &A)
 Creates the preconditioner matrices.
void Run (void *&context, MultiVector< T > &r, MultiVector< T > &c)
 Applies the preconditioner to a given vector 'r', i.e. computes $c \leftarrow W^{-1} \cdot r$.
void PostProcess (void *&context)
 Releases the information referenced by the context.
 LexILUPrecond (unsigned the_disp_type, T the_omega=0)

Detailed Description

template<typename T>
class LexILUPrecond< T >

Template for the ILU_omega preconditioners for SparseMatrix<T> -matrices.

This version uses the lexicographical ordering of the grid points. The templates depend on a type T. This type should satisfy the conditions listed in small_matrix.hpp for small matrices.

Date:
Feb. 15, 2005 - created


Constructor & Destructor Documentation

template<typename T>
LexILUPrecond< T >::LexILUPrecond ( unsigned  the_disp_type,
the_omega = 0 
) [inline]


Member Function Documentation

template<typename T>
void LexILUPrecond< T >::PrintParam (  )  [inline, virtual]

Prints the name of the preconditioner.

Implements SysPrecond< T >.

template<typename T>
void LexILUPrecond< T >::PreProcess ( void *&  context,
SparseMatrix< T > &  A 
) [inline, virtual]

Creates the preconditioner matrices.

These matrices are saved in one SparseMatrix<T>-structure: The upper diagonal part is $U$, the lower-diagonal one is $L$ and the diagonal blocks represent $T^{-1}$. The context stores a pointer to this structure

Parameters:
[in] context The preconditioner context to initialize
[in] A The system matrix hierarchy

Implements LinPrecond< T >.

template<typename T>
void LexILUPrecond< T >::Run ( void *&  context,
MultiVector< T > &  r,
MultiVector< T > &  c 
) [inline, virtual]

Applies the preconditioner to a given vector 'r', i.e. computes $c \leftarrow W^{-1} \cdot r$.

Parameters:
[in] context The preconditioner context
[in] r The residual
[in] c The correction

Implements LinPrecond< T >.

template<typename T>
void LexILUPrecond< T >::PostProcess ( void *&  context  )  [inline, virtual]

Releases the information referenced by the context.

Parameters:
[in] context The context to release

Reimplemented from LinPrecond< T >.


The documentation for this class was generated from the following files:
Generated on Fri Sep 21 12:34:16 2007 for SG2 by  doxygen 1.5.2