Reference documentation for deal.II version Git f0ecfd8 2016-12-09 00:16:27 +0100
Public Types | Public Member Functions | List of all members
RelaxationBlockSSOR< MatrixType, InverseNumberType, VectorType > Class Template Reference

#include <deal.II/lac/relaxation_block.h>

Inheritance diagram for RelaxationBlockSSOR< MatrixType, InverseNumberType, VectorType >:
[legend]

Public Types

typedef MatrixType::value_type number
 

Public Member Functions

void step (VectorType &dst, const VectorType &rhs) const
 
void Tstep (VectorType &dst, const VectorType &rhs) const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&)
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&)
 
void subscribe (const char *identifier=0) const
 
void unsubscribe (const char *identifier=0) const
 
unsigned int n_subscriptions () const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Additional Inherited Members

- Static Public Member Functions inherited from Subscriptor
static::ExceptionBase & ExcInUse (int arg1, char *arg2, std::string &arg3)
 
static::ExceptionBase & ExcNoSubscriber (char *arg1, char *arg2)
 
- Protected Types inherited from RelaxationBlock< MatrixType, InverseNumberType, VectorType >
typedef types::global_dof_index size_type
 
- Protected Types inherited from PreconditionBlockBase< InverseNumberType >
enum  Inversion
 
typedef types::global_dof_index size_type
 
- Protected Member Functions inherited from RelaxationBlock< MatrixType, InverseNumberType, VectorType >
void do_step (VectorType &dst, const VectorType &prev, const VectorType &src, const bool backward) const
 
void initialize (const MatrixType &A, const AdditionalData &parameters)
 
void clear ()
 
bool empty () const
 
value_type el (size_type i, size_type j) const
 
void invert_diagblocks ()
 
- Protected Member Functions inherited from PreconditionBlockBase< InverseNumberType >
 PreconditionBlockBase (bool store_diagonals=false, Inversion method=gauss_jordan)
 
 ~PreconditionBlockBase ()
 
void clear ()
 
void reinit (unsigned int nblocks, size_type blocksize, bool compress, Inversion method=gauss_jordan)
 
void inverses_computed (bool are_they)
 
void set_same_diagonal ()
 
bool same_diagonal () const
 
bool store_diagonals () const
 
bool inverses_ready () const
 
bool empty () const
 
unsigned int size () const
 
InverseNumberType el (size_type i, size_type j) const
 
void inverse_vmult (size_type i, Vector< number2 > &dst, const Vector< number2 > &src) const
 
void inverse_Tvmult (size_type i, Vector< number2 > &dst, const Vector< number2 > &src) const
 
FullMatrix< InverseNumberType > & inverse (size_type i)
 
const FullMatrix< InverseNumberType > & inverse (size_type i) const
 
Householder< InverseNumberType > & inverse_householder (size_type i)
 
const Householder< InverseNumberType > & inverse_householder (size_type i) const
 
LAPACKFullMatrix< InverseNumberType > & inverse_svd (size_type i)
 
const LAPACKFullMatrix< InverseNumberType > & inverse_svd (size_type i) const
 
FullMatrix< InverseNumberType > & diagonal (size_type i)
 
const FullMatrix< InverseNumberType > & diagonal (size_type i) const
 
void log_statistics () const
 
std::size_t memory_consumption () const
 
- Static Protected Member Functions inherited from PreconditionBlockBase< InverseNumberType >
static::ExceptionBase & ExcDiagonalsNotStored ()
 
static::ExceptionBase & ExcInverseNotAvailable ()
 
- Protected Attributes inherited from RelaxationBlock< MatrixType, InverseNumberType, VectorType >
SmartPointer< const MatrixType, RelaxationBlock< MatrixType, InverseNumberType, VectorType > > A
 
SmartPointer< const AdditionalData, RelaxationBlock< MatrixType, InverseNumberType, VectorType > > additional_data
 
- Protected Attributes inherited from PreconditionBlockBase< InverseNumberType >
Inversion inversion
 

Detailed Description

template<typename MatrixType, typename InverseNumberType = typename MatrixType::value_type, typename VectorType = Vector<double>>
class RelaxationBlockSSOR< MatrixType, InverseNumberType, VectorType >

Symmetric block Gauss-Seidel method with possibly overlapping blocks.

This class implements the step() and Tstep() functions expected by the relaxation concept. They perform a multiplicative Schwarz method on the blocks provided in the block list of AdditionalData in symmetric fashion. Differing from PreconditionBlockSSOR, these blocks may be of varying size, non-contiguous, and overlapping. On the other hand, this class does not implement the preconditioner interface expected by Solver objects.

Author
Guido Kanschat
Date
2010

Definition at line 450 of file relaxation_block.h.

Member Typedef Documentation

template<typename MatrixType , typename InverseNumberType = typename MatrixType::value_type, typename VectorType = Vector<double>>
typedef MatrixType::value_type RelaxationBlockSSOR< MatrixType, InverseNumberType, VectorType >::number

Define number type of matrix.

Definition at line 457 of file relaxation_block.h.

Member Function Documentation

template<typename MatrixType , typename InverseNumberType = typename MatrixType::value_type, typename VectorType = Vector<double>>
void RelaxationBlockSSOR< MatrixType, InverseNumberType, VectorType >::step ( VectorType &  dst,
const VectorType &  rhs 
) const

Perform one step of the SSOR iteration.

template<typename MatrixType , typename InverseNumberType = typename MatrixType::value_type, typename VectorType = Vector<double>>
void RelaxationBlockSSOR< MatrixType, InverseNumberType, VectorType >::Tstep ( VectorType &  dst,
const VectorType &  rhs 
) const

Perform one step of the transposed SSOR iteration.


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