![]() |
Reference documentation for deal.II version 8.1.0
|
#include <mg_smoother.h>
Public Member Functions | |
MGSmoother (const unsigned int steps=1, const bool variable=false, const bool symmetric=false, const bool transpose=false) | |
MGSmoother (VectorMemory< VECTOR > &mem, const unsigned int steps=1, const bool variable=false, const bool symmetric=false, const bool transpose=false) DEAL_II_DEPRECATED | |
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) |
![]() | |
virtual | ~MGSmootherBase () |
virtual void | clear ()=0 |
virtual void | smooth (const unsigned int level, VECTOR &u, const VECTOR &rhs) const =0 |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (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) |
Protected Attributes | |
unsigned int | steps |
bool | variable |
bool | symmetric |
bool | transpose |
unsigned int | debug |
SmartPointer< VectorMemory< VECTOR >, MGSmoother< VECTOR > > | mem |
Private Attributes | |
GrowingVectorMemory< VECTOR > | my_memory |
A base class for smoother handling information on smoothing. While not adding to the abstract interface in MGSmootherBase, this class stores information on the number and type of smoothing steps, which in turn can be used by a derived class.
Definition at line 47 of file mg_smoother.h.
MGSmoother< VECTOR >::MGSmoother | ( | const unsigned int | steps = 1 , |
const bool | variable = false , |
||
const bool | symmetric = false , |
||
const bool | transpose = false |
||
) |
Constructor. Sets smoothing parameters and creates a private GrowingVectorMemory object to be used to retrieve vectors.
MGSmoother< VECTOR >::MGSmoother | ( | VectorMemory< VECTOR > & | mem, |
const unsigned int | steps = 1 , |
||
const bool | variable = false , |
||
const bool | symmetric = false , |
||
const bool | transpose = false |
||
) |
Constructor. Sets memory and smoothing parameters.
void MGSmoother< VECTOR >::set_steps | ( | const unsigned | int | ) |
Modify the number of smoothing steps on finest level.
void MGSmoother< VECTOR >::set_variable | ( | const bool | ) |
Switch on/off variable smoothing.
void MGSmoother< VECTOR >::set_symmetric | ( | const bool | ) |
Switch on/off symmetric smoothing.
void MGSmoother< VECTOR >::set_transpose | ( | const bool | ) |
Switch on/off transposed smoothing. The effect is overriden by set_symmetric().
void MGSmoother< VECTOR >::set_debug | ( | const unsigned int | level | ) |
Set debug
to a nonzero value to get debug information logged to deallog
. Increase to get more information
|
private |
The memory object to be used if none is given to the constructor.
Definition at line 117 of file mg_smoother.h.
|
protected |
Number of smoothing steps on the finest level. If no variable smoothing is chosen, this is the number of steps on all levels.
Definition at line 127 of file mg_smoother.h.
|
protected |
Variable smoothing: double the number of smoothing steps whenever going to the next coarser level
Definition at line 135 of file mg_smoother.h.
|
protected |
Symmetric smoothing: in the smoothing iteration, alternate between the relaxation method and its transpose.
Definition at line 143 of file mg_smoother.h.
|
protected |
Use the transpose of the relaxation method instead of the method itself. This has no effect if symmetric smoothing is chosen.
Definition at line 152 of file mg_smoother.h.
|
protected |
Output debugging information to deallog
if this is nonzero.
Definition at line 159 of file mg_smoother.h.
|
protected |
Memory for auxiliary vectors.
Definition at line 164 of file mg_smoother.h.