NGSolve
4.9
|
Block-Gauss-Seidel smoother. More...
#include <smoother.hpp>
Public Member Functions | |
BlockSmoother (const MeshAccess &ama, const BilinearForm &abiform, const Flags &aflags) | |
BlockSmoother (const MeshAccess &ama, const BilinearForm &abiform, const LinearForm &aconstraint, const Flags &aflags) | |
virtual void | Update (bool forace_update=0) |
Update smoother (fine level or all levels) | |
virtual void | PreSmooth (int level, BaseVector &u, const BaseVector &f, int steps) const |
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 |
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 |
virtual ngla::BaseVector * | CreateVector (int level) const |
virtual void | MemoryUsage (Array< MemoryUsageStruct * > &mu) const |
Block-Gauss-Seidel smoother.
Blocks are defined by underlying FESpace.