Public Types | Public Member Functions

PreconditionBlockSSOR< MATRIX, inverse_type > Class Template Reference
[Preconditioners and Relaxation Operators]

Inheritance diagram for PreconditionBlockSSOR< MATRIX, inverse_type >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef MATRIX::value_type number

Public Member Functions

 PreconditionBlockSSOR ()
template<typename number2 >
void vmult (Vector< number2 > &, const Vector< number2 > &) const
template<typename number2 >
void Tvmult (Vector< number2 > &, const Vector< number2 > &) const
template<typename number2 >
void step (Vector< number2 > &dst, const Vector< number2 > &rhs) const
template<typename number2 >
void Tstep (Vector< number2 > &dst, const Vector< number2 > &rhs) const

Detailed Description

template<class MATRIX, typename inverse_type = typename MATRIX::value_type>
class PreconditionBlockSSOR< MATRIX, inverse_type >

Block SSOR preconditioning.

The functions vmult and Tvmult execute a block-SSOR step, based on the implementation in PreconditionBlockSOR. This class requires storage of the diagonal blocks and their inverses.

See PreconditionBlock for requirements on the matrix. The blocks used in this class must be contiguous and non-overlapping. An overlapping Schwarz relaxation method can be found in RelaxationBlockSSOR; that class does not offer preconditioning, though.

Note:
Instantiations for this template are provided for <float> and <double>; others can be generated in application programs (see the section on Template instantiations in the manual).
Author:
Ralf Hartmann, Guido Kanschat, 1999, 2000

Definition at line 945 of file precondition_block.h.


Member Typedef Documentation

template<class MATRIX, typename inverse_type = typename MATRIX::value_type>
typedef MATRIX::value_type PreconditionBlockSSOR< MATRIX, inverse_type >::number

Define number type of matrix.

Reimplemented from PreconditionBlockSOR< MATRIX, inverse_type >.

Definition at line 952 of file precondition_block.h.


Constructor & Destructor Documentation

template<class MATRIX, typename inverse_type = typename MATRIX::value_type>
PreconditionBlockSSOR< MATRIX, inverse_type >::PreconditionBlockSSOR (  )

Constructor.


Member Function Documentation

template<class MATRIX, typename inverse_type = typename MATRIX::value_type>
template<typename number2 >
void PreconditionBlockSSOR< MATRIX, inverse_type >::vmult ( Vector< number2 > &  ,
const Vector< number2 > &   
) const

Execute block SSOR preconditioning.

This function will automatically use the inverse matrices if they exist, if not then BlockSOR will waste much time inverting the diagonal block matrices in each preconditioning step.

Reimplemented from PreconditionBlockSOR< MATRIX, inverse_type >.

template<class MATRIX, typename inverse_type = typename MATRIX::value_type>
template<typename number2 >
void PreconditionBlockSSOR< MATRIX, inverse_type >::Tvmult ( Vector< number2 > &  ,
const Vector< number2 > &   
) const
template<class MATRIX, typename inverse_type = typename MATRIX::value_type>
template<typename number2 >
void PreconditionBlockSSOR< MATRIX, inverse_type >::step ( Vector< number2 > &  dst,
const Vector< number2 > &  rhs 
) const

Perform one step of the SOR iteration.

Reimplemented from PreconditionBlockSOR< MATRIX, inverse_type >.

template<class MATRIX, typename inverse_type = typename MATRIX::value_type>
template<typename number2 >
void PreconditionBlockSSOR< MATRIX, inverse_type >::Tstep ( Vector< number2 > &  dst,
const Vector< number2 > &  rhs 
) const

Perform one step of the transposed SOR iteration.

Reimplemented from PreconditionBlockSOR< MATRIX, inverse_type >.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Fri Feb 3 2012 06:04:10 by doxygen 1.7.2