Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Public Member Functions | Protected Attributes | Private Attributes | List of all members
MGSmoother< VECTOR > Class Template Reference

#include <mg_smoother.h>

Inheritance diagram for MGSmoother< VECTOR >:
[legend]

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)
 
- Public Member Functions inherited from MGSmootherBase< VECTOR >
virtual ~MGSmootherBase ()
 
virtual void clear ()=0
 
virtual void smooth (const unsigned int level, VECTOR &u, const VECTOR &rhs) const =0
 
- 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)
 

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
 

Detailed Description

template<class VECTOR>
class MGSmoother< VECTOR >

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.

Author
Guido Kanschat 2009

Definition at line 47 of file mg_smoother.h.

Constructor & Destructor Documentation

template<class VECTOR >
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.

template<class VECTOR >
MGSmoother< VECTOR >::MGSmoother ( VectorMemory< VECTOR > &  mem,
const unsigned int  steps = 1,
const bool  variable = false,
const bool  symmetric = false,
const bool  transpose = false 
)
Deprecated:
Since GrowingVectorMemory now uses a joint memory pool, it is recommended to use the constructor without the memory object.

Constructor. Sets memory and smoothing parameters.

Member Function Documentation

template<class VECTOR >
void MGSmoother< VECTOR >::set_steps ( const unsigned  int)

Modify the number of smoothing steps on finest level.

template<class VECTOR >
void MGSmoother< VECTOR >::set_variable ( const bool  )

Switch on/off variable smoothing.

template<class VECTOR >
void MGSmoother< VECTOR >::set_symmetric ( const bool  )

Switch on/off symmetric smoothing.

template<class VECTOR >
void MGSmoother< VECTOR >::set_transpose ( const bool  )

Switch on/off transposed smoothing. The effect is overriden by set_symmetric().

template<class VECTOR >
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

Member Data Documentation

template<class VECTOR >
GrowingVectorMemory<VECTOR> MGSmoother< VECTOR >::my_memory
private

The memory object to be used if none is given to the constructor.

Definition at line 117 of file mg_smoother.h.

template<class VECTOR >
unsigned int MGSmoother< VECTOR >::steps
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.

template<class VECTOR >
bool MGSmoother< VECTOR >::variable
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.

template<class VECTOR >
bool MGSmoother< VECTOR >::symmetric
protected

Symmetric smoothing: in the smoothing iteration, alternate between the relaxation method and its transpose.

Definition at line 143 of file mg_smoother.h.

template<class VECTOR >
bool MGSmoother< VECTOR >::transpose
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.

template<class VECTOR >
unsigned int MGSmoother< VECTOR >::debug
protected

Output debugging information to deallog if this is nonzero.

Definition at line 159 of file mg_smoother.h.

template<class VECTOR >
SmartPointer<VectorMemory<VECTOR>, MGSmoother<VECTOR> > MGSmoother< VECTOR >::mem
protected

Memory for auxiliary vectors.

Definition at line 164 of file mg_smoother.h.


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