Reference documentation for deal.II version SVN Revision 32780
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | List of all members
PreconditionBlockSSOR< MATRIX, inverse_type > Class Template Reference

#include <precondition_block.h>

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

Public Types

typedef types::global_dof_index size_type
 
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
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
 DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.")
 
 DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1)
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Additional Inherited Members

- Private Types inherited from PreconditionBlockSOR< MATRIX, inverse_type >
typedef types::global_dof_index size_type
 
typedef MATRIX::value_type number
 
- Private Member Functions inherited from PreconditionBlockSOR< MATRIX, inverse_type >
 PreconditionBlockSOR ()
 
template<typename number2 >
void vmult (Vector< number2 > &, const Vector< number2 > &) const
 
template<typename number2 >
void vmult_add (Vector< number2 > &, const Vector< number2 > &) const
 
template<typename number2 >
void Tvmult (Vector< number2 > &, const Vector< number2 > &) const
 
template<typename number2 >
void Tvmult_add (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
 
 PreconditionBlockSOR (bool store)
 
template<typename number2 >
void forward (Vector< number2 > &, const Vector< number2 > &, const bool transpose_diagonal, const bool adding) const
 
template<typename number2 >
void backward (Vector< number2 > &, const Vector< number2 > &, const bool transpose_diagonal, const bool adding) 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 974 of file precondition_block.h.

Member Typedef Documentation

template<class MATRIX, typename inverse_type = typename MATRIX::value_type>
typedef types::global_dof_index PreconditionBlockSSOR< MATRIX, inverse_type >::size_type

Declare type for container size.

Definition at line 981 of file precondition_block.h.

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

Define number type of matrix.

Definition at line 986 of file precondition_block.h.

Constructor & Destructor Documentation

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

Constructor.

Definition at line 979 of file precondition_block.templates.h.

Member Function Documentation

template<class MATRIX , typename inverse_type >
template<typename number2 >
void PreconditionBlockSSOR< MATRIX, inverse_type >::vmult ( Vector< number2 > &  dst,
const Vector< number2 > &  src 
) 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.

Definition at line 987 of file precondition_block.templates.h.

template<class MATRIX , typename inverse_type >
template<typename number2 >
void PreconditionBlockSSOR< MATRIX, inverse_type >::Tvmult ( Vector< number2 > &  dst,
const Vector< number2 > &  src 
) const

Same as vmult()

Definition at line 1018 of file precondition_block.templates.h.

template<class MATRIX , typename inverse_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.

Definition at line 1051 of file precondition_block.templates.h.

template<class MATRIX , typename inverse_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.

Definition at line 1062 of file precondition_block.templates.h.


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