NGSolve
4.9
|
Smoothing iteration for multigrid method. More...
#include <smoother.hpp>
Public Member Functions | |
Smoother () | |
Constructor. | |
Smoother (const Flags &aflags) | |
Constructor. | |
virtual | ~Smoother () |
Destructor. | |
virtual void | Update (bool force_update=0)=0 |
Update smoother (fine level or all levels) | |
virtual void | PreSmooth (int level, ngla::BaseVector &u, const ngla::BaseVector &f, int steps) const =0 |
Do steps iterations of pre-smoothing. | |
virtual void | PreSmoothResiduum (int level, ngla::BaseVector &u, const ngla::BaseVector &f, ngla::BaseVector &res, int steps) const |
Do steps iterations of pre-smoothing. | |
virtual void | PostSmooth (int level, ngla::BaseVector &u, const ngla::BaseVector &f, int steps) const =0 |
Do steps iterations of post-smoothing. | |
virtual void | Precond (int level, const ngla::BaseVector &f, ngla::BaseVector &u) const |
Apply the preconditioning action (additive or multiplicative) | |
virtual void | Residuum (int level, ngla::BaseVector &u, const ngla::BaseVector &f, ngla::BaseVector &d) const =0 |
void | SetAdditive () |
void | SetUpdateAll (int ua) |
void | SetMultiplicative () |
int | Additive () const |
virtual ngla::BaseVector * | CreateVector (int level) const =0 |
virtual void | MemoryUsage (Array< MemoryUsageStruct * > &mu) const |
Protected Attributes | |
int | additive |
additive or multiplicative smooting | |
int | updateall |
should coarse levels be updated, too ? | |
Flags | flags |
Smoothing iteration for multigrid method.
Pure virtual base class.