#include <NodeMaskBaseBottomSmoother.H>
Inheritance diagram for NodeMaskBaseBottomSmoother:
Public Methods | |
NodeMaskBaseBottomSmoother () | |
{\bf constructor and destructor} | |
virtual | ~NodeMaskBaseBottomSmoother () |
virtual NodeMaskBaseBottomSmoother * | new_bottomSmoother () const=0 |
virtual void | doBottomSmooth (LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_rhs, const BoxLayoutData< BaseFab< int > > &a_mask, NodeMaskLevelOp *a_levelop_ptr)=0 |
{\bf data modification functions} |
The NodeMaskBaseBottomSmoother class is a virtual base class for implementing different bottomSmoother algorithms for NodeMaskLevelOp-derived classes. It takes a NodeMaskLevelOp pointer as an argument during its definition, in order to access the problem-dependent (equation-dependent) functionality of the specific NodeMaskLevelOp derivative class.
|
{\bf constructor and destructor} Default constructor. |
|
Destructor. |
|
{\bf data modification functions} Perform smoothing of L(a_phi) = a_rhs; \ L is the operator defined in a_levelop_ptr, and the preconditioner is a_levelop_ptr->levelPreconditioner(). {\bf Arguments:}\ a_phi (modified): the data at this level.\ a_rhs (not modified): right-hand side.\ a_mask: mask arrays from REACHABLENODES.\ a_levelop_ptr (not modified): pointer to the operator.\ Implemented in NodeMaskBiCGStabSmoother, NodeMaskCGSmoother, and NodeMaskNoOpSmoother. |
|
this gets around the "no virtual constructor" rule Implemented in NodeMaskBiCGStabSmoother, NodeMaskCGSmoother, and NodeMaskNoOpSmoother. |