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

NodeMaskBaseBottomSmoother Class Reference

Pure base class to encapsulate bottom smoother for NodeMaskLevelOp-derived objects. More...

#include <NodeMaskBaseBottomSmoother.H>

Inheritance diagram for NodeMaskBaseBottomSmoother:

Inheritance graph
[legend]
List of all members.

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}


Detailed Description

Pure base class to encapsulate bottom smoother for NodeMaskLevelOp-derived objects.

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.


Constructor & Destructor Documentation

NodeMaskBaseBottomSmoother::NodeMaskBaseBottomSmoother   [inline]
 

{\bf constructor and destructor}

Default constructor.

virtual NodeMaskBaseBottomSmoother::~NodeMaskBaseBottomSmoother   [inline, virtual]
 

Destructor.


Member Function Documentation

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

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

virtual NodeMaskBaseBottomSmoother* NodeMaskBaseBottomSmoother::new_bottomSmoother   const [pure virtual]
 

this gets around the "no virtual constructor" rule

Implemented in NodeMaskBiCGStabSmoother, NodeMaskCGSmoother, and NodeMaskNoOpSmoother.


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