![]() |
Reference documentation for deal.II version 8.5.1
|
#include <deal.II/multigrid/mg_block_smoother.h>
Public Member Functions | |
| MGSmootherBlock (VectorMemory< BlockVector< number > > &mem, const unsigned int steps=1, const bool variable=false, const bool symmetric=false, const bool transpose=false, const bool reverse=false) 1 | |
| MGSmootherBlock (const unsigned int steps=1, const bool variable=false, const bool symmetric=false, const bool transpose=false, const bool reverse=false) | |
| template<class MGMatrixType , class MGRelaxationType > | |
| void | initialize (const MGMatrixType &matrices, const MGRelaxationType &smoothers) |
| void | clear () |
| void | set_reverse (const bool) |
| virtual void | smooth (const unsigned int level, BlockVector< number > &u, const BlockVector< number > &rhs) const |
| std::size_t | memory_consumption () const |
Public Member Functions inherited from MGSmoother< BlockVector< number > > | |
| MGSmoother (const unsigned int steps=1, const bool variable=false, const bool symmetric=false, const bool transpose=false) | |
| void | set_steps (const unsigned int) |
| void | set_variable (const bool) |
| void | set_symmetric (const bool) |
| void | set_transpose (const bool) |
| void | set_debug (const unsigned int level) |
Public Member Functions inherited from MGSmootherBase< BlockVector< number > > | |
| virtual | ~MGSmootherBase () |
Public Member Functions inherited from Subscriptor | |
| Subscriptor () | |
| Subscriptor (const Subscriptor &) | |
| Subscriptor (Subscriptor &&) | |
| virtual | ~Subscriptor () |
| Subscriptor & | operator= (const Subscriptor &) |
| Subscriptor & | operator= (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) |
Private Attributes | |
| MGLevelObject< PointerMatrix< MatrixType, BlockVector< number > > > | matrices |
| MGLevelObject< PointerMatrix< RelaxationType, BlockVector< number > > > | smoothers |
| bool | reverse |
| SmartPointer< VectorMemory< BlockVector< number > >, MGSmootherBlock< MatrixType, RelaxationType, number > > | mem |
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 Attributes inherited from MGSmoother< BlockVector< number > > | |
| GrowingVectorMemory< BlockVector< number > > | vector_memory |
| unsigned int | steps |
| bool | variable |
| bool | symmetric |
| bool | transpose |
| unsigned int | debug |
General smoother class for block vectors. This class gives complete freedom to the choice of a block smoother by being initialized with a matrix and a smoother object. Therefore, the smoother object for each level must be constructed by hand.
Definition at line 47 of file mg_block_smoother.h.
| MGSmootherBlock< MatrixType, RelaxationType, number >::MGSmootherBlock | ( | VectorMemory< BlockVector< number > > & | mem, |
| const unsigned int | steps = 1, |
||
| const bool | variable = false, |
||
| const bool | symmetric = false, |
||
| const bool | transpose = false, |
||
| const bool | reverse = false |
||
| ) |
Constructor. Sets memory and smoothing parameters.
| MGSmootherBlock< MatrixType, RelaxationType, number >::MGSmootherBlock | ( | const unsigned int | steps = 1, |
| const bool | variable = false, |
||
| const bool | symmetric = false, |
||
| const bool | transpose = false, |
||
| const bool | reverse = false |
||
| ) |
Constructor.
| void MGSmootherBlock< MatrixType, RelaxationType, number >::initialize | ( | const MGMatrixType & | matrices, |
| const MGRelaxationType & | smoothers | ||
| ) |
Initialize for matrices. The parameter matrices can be any object having functions get_minlevel() and get_maxlevel() as well as an operator[] returning a reference to MatrixType.
The same convention is used for the parameter smoothers, such that operator[] returns the object doing the block-smoothing on a single level.
This function stores pointers to the level matrices and smoothing operator for each level.
|
virtual |
Empty all vectors.
Implements MGSmootherBase< BlockVector< number > >.
| void MGSmootherBlock< MatrixType, RelaxationType, number >::set_reverse | ( | const bool | ) |
Switch on/off reversed. This is mutually exclusive with transpose().
|
virtual |
Implementation of the interface for Multigrid. This function does nothing, which by comparison with the definition of this function means that the the smoothing operator equals the null operator.
Implements MGSmootherBase< BlockVector< number > >.
| std::size_t MGSmootherBlock< MatrixType, RelaxationType, number >::memory_consumption | ( | ) | const |
Memory used by this object.
|
private |
Pointer to the matrices.
Definition at line 117 of file mg_block_smoother.h.
|
private |
Pointer to the matrices.
Definition at line 122 of file mg_block_smoother.h.
|
private |
Reverse?
Definition at line 127 of file mg_block_smoother.h.
|
private |
Memory for auxiliary vectors.
Definition at line 132 of file mg_block_smoother.h.
1.8.13