Reference documentation for deal.II version Git d9a89af 2014-11-21 00:46:28 +0100
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | List of all members
RelaxationBlockJacobi< MATRIX, inverse_type > Class Template Reference

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

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

Public Types

typedef MATRIX::value_type number
 

Public Member Functions

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
 
std::size_t memory_consumption () 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

- Protected Types inherited from RelaxationBlock< MATRIX, inverse_type >
typedef types::global_dof_index size_type
 
- Protected Types inherited from PreconditionBlockBase< inverse_type >
enum  Inversion
 
typedef types::global_dof_index size_type
 
- Protected Member Functions inherited from RelaxationBlock< MATRIX, inverse_type >
template<typename number2 >
void do_step (Vector< number2 > &dst, const Vector< number2 > &prev, const Vector< number2 > &src, const bool backward) const
 
void initialize (const MATRIX &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< inverse_type >
 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
 
inverse_type 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< inverse_type > & inverse (size_type i)
 
const FullMatrix< inverse_type > & inverse (size_type i) const
 
Householder< inverse_type > & inverse_householder (size_type i)
 
const Householder< inverse_type > & inverse_householder (size_type i) const
 
LAPACKFullMatrix< inverse_type > & inverse_svd (size_type i)
 
const LAPACKFullMatrix
< inverse_type > & 
inverse_svd (size_type i) const
 
FullMatrix< inverse_type > & diagonal (size_type i)
 
const FullMatrix< inverse_type > & diagonal (size_type i) const
 
void log_statistics () const
 
std::size_t memory_consumption () const
 
 DeclException0 (ExcDiagonalsNotStored)
 
 DeclException0 (ExcInverseNotAvailable)
 
- Protected Attributes inherited from RelaxationBlock< MATRIX, inverse_type >
SmartPointer< const MATRIX,
RelaxationBlock< MATRIX,
inverse_type > > 
A
 
SmartPointer< const
AdditionalData,
RelaxationBlock< MATRIX,
inverse_type > > 
additional_data
 
- Protected Attributes inherited from PreconditionBlockBase< inverse_type >
Inversion inversion
 

Detailed Description

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

Block Jacobi (additive Schwarz) method with possibly overlapping blocks.

This class implements the step() and Tstep() functions expected by SolverRelaxation and MGSmootherRelaxation. They perform an additive Schwarz method on the blocks provided in the BlockList of AdditionalData. Differing from PreconditionBlockJacobi, 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 243 of file relaxation_block.h.

Member Typedef Documentation

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

Default constructor. Define number type of matrix.

Definition at line 255 of file relaxation_block.h.

Member Function Documentation

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

Perform one step of the Jacobi iteration.

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

Perform one step of the Jacobi iteration.

template<class MATRIX , typename inverse_type = typename MATRIX::value_type>
std::size_t RelaxationBlockJacobi< MATRIX, inverse_type >::memory_consumption ( ) const

Return the memory allocated in this object.


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