#include <NodeMaskCGSmoother.H>
Inheritance diagram for NodeMaskCGSmoother:
Public Methods | |
NodeMaskCGSmoother () | |
{\bf constructor and destructor} | |
virtual | ~NodeMaskCGSmoother () |
virtual NodeMaskBaseBottomSmoother * | new_bottomSmoother () const |
void | setMaxIter (int a_max_iter) |
{\bf parameter-setting functions} | |
void | setSolverTol (Real a_solverTol) |
void | setVerbose (bool a_verbose) |
virtual void | doBottomSmooth (LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_rhs, const BoxLayoutData< BaseFab< int > > &a_mask, NodeMaskLevelOp *a_levelopPtr) |
{\bf data modification functions} | |
Protected Attributes | |
int | m_maxIter |
Real | m_solverTol |
Real | m_small |
Real | m_converge_small |
bool | m_verbose |
The NodeMaskCGSmoother class implements the CG algorithm for NodeMaskLevelOp-derived classes
|
{\bf constructor and destructor} Default constructor. |
|
Destructor. |
|
{\bf data modification functions} Perform CG smoothing of L(a_phi) = a_rhs; \ L is the operator defined in a_levelopPtr, and the preconditioner is a_levelopPtr->smooth(). {\bf Arguments:}\ a_phi (modified): the data at this level.\ a_rhs (not modified): right-hand side.\ a_mask: mask arrays from REACHABLENODES.\ a_levelopPtr (not modified): pointer to the operator.\ Implements NodeMaskBaseBottomSmoother. |
|
this gets around the "no virtual constructor" rule Implements NodeMaskBaseBottomSmoother. |
|
{\bf parameter-setting functions} set max number of CG iterations |
|
set solver tolerance (amount residual must be decreased, etc) |
|
set whether i/o is done when solving (default is false) |
|
|
|
|
|
|
|
|
|
|