#include <NodeBaseBottomSmoother.H>
Inheritance diagram for NodeBaseBottomSmoother:
Public Methods | |
NodeBaseBottomSmoother () | |
{\bf constructor and destructor} | |
virtual | ~NodeBaseBottomSmoother () |
virtual NodeBaseBottomSmoother * | new_bottomSmoother () const=0 |
virtual void | doBottomSmooth (LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_rhs, NodeLevelOp *a_levelop_ptr)=0 |
{\bf data modification functions} |
The NodeBaseBottomSmoother class is a virtual base class for implementing different bottomSmoother algorithms for NodeLevelOp-derived classes. It takes a NodeLevelOp pointer as an argument during its definition, in order to access the problem-dependent (equation-dependent) functionality of the specific NodeLevelOp 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_levelop_ptr (not modified): pointer to the operator.\ Implemented in NodeBiCGStabSmoother, NodeCGSmoother, and NodeNoOpSmoother. |
|
this gets around the "no virtual constructor" rule Implemented in NodeBiCGStabSmoother, NodeCGSmoother, and NodeNoOpSmoother. |