Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

NodeMaskCGSmoother Class Reference

Implements CG as a bottom smoother for NodeMaskLevelOp-derived classes. More...

#include <NodeMaskCGSmoother.H>

Inheritance diagram for NodeMaskCGSmoother:

Inheritance graph
[legend]
Collaboration diagram for NodeMaskCGSmoother:

Collaboration graph
[legend]
List of all members.

Public Methods

 NodeMaskCGSmoother ()
 {\bf constructor and destructor}

virtual ~NodeMaskCGSmoother ()
virtual NodeMaskBaseBottomSmoothernew_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

Detailed Description

Implements CG as a bottom smoother for NodeMaskLevelOp-derived classes.

The NodeMaskCGSmoother class implements the CG algorithm for NodeMaskLevelOp-derived classes


Constructor & Destructor Documentation

NodeMaskCGSmoother::NodeMaskCGSmoother  
 

{\bf constructor and destructor}

Default constructor.

virtual NodeMaskCGSmoother::~NodeMaskCGSmoother   [virtual]
 

Destructor.


Member Function Documentation

virtual void NodeMaskCGSmoother::doBottomSmooth LevelData< NodeFArrayBox > &    a_phi,
const LevelData< NodeFArrayBox > &    a_rhs,
const BoxLayoutData< BaseFab< int > > &    a_mask,
NodeMaskLevelOp   a_levelopPtr
[virtual]
 

{\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.

virtual NodeMaskBaseBottomSmoother* NodeMaskCGSmoother::new_bottomSmoother   const [virtual]
 

this gets around the "no virtual constructor" rule

Implements NodeMaskBaseBottomSmoother.

void NodeMaskCGSmoother::setMaxIter int    a_max_iter
 

{\bf parameter-setting functions}

set max number of CG iterations

void NodeMaskCGSmoother::setSolverTol Real    a_solverTol
 

set solver tolerance (amount residual must be decreased, etc)

void NodeMaskCGSmoother::setVerbose bool    a_verbose
 

set whether i/o is done when solving (default is false)


Member Data Documentation

Real NodeMaskCGSmoother::m_converge_small [protected]
 

int NodeMaskCGSmoother::m_maxIter [protected]
 

Real NodeMaskCGSmoother::m_small [protected]
 

Real NodeMaskCGSmoother::m_solverTol [protected]
 

bool NodeMaskCGSmoother::m_verbose [protected]
 


The documentation for this class was generated from the following file:
Generated on Tue Apr 15 18:32:10 2003 for AMRNodeElliptic by doxygen1.2.16