Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

GSRBSmoother Class Reference

GSRB smoothing as a bottom smoother. More...

#include <GSRBSmoother.H>

Inheritance diagram for GSRBSmoother:

Inheritance graph
[legend]
Collaboration diagram for GSRBSmoother:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 GSRBSmoother ()
 Null constructor.
virtual ~GSRBSmoother ()
 Destructor.
virtual BaseBottomSmoothernew_bottomSmoother () const
virtual void doBottomSmooth (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs, LevelOp *a_levelopPtr)
 Do GSRB smoothing.
virtual void setNumSmooth (int a_numSmooth)
 Set the number of smoother passes to perform.
virtual int numSmooth () const
 Returns the number of smoother passes which are performed.
virtual void setConvergenceMetric (Real a_metric, int a_comp=0)
 sets metric to judge convergence (normally norm(rhs) of outer problem
virtual void setSolverTol (Real a_tol)
 this doesn't really do anything, but is required by BaseBottomSmoother

Protected Attributes

int m_numSmooth
 Number of GSRB smoother passes to do.

Detailed Description

GSRB smoothing as a bottom smoother.

The GSRBSmoother class is a bottom smoother for LevelOp-derived classes which does nothing but a whole lotta GSRB smoothing


Constructor & Destructor Documentation

GSRBSmoother::GSRBSmoother  ) 
 

Null constructor.

virtual GSRBSmoother::~GSRBSmoother  )  [virtual]
 

Destructor.


Member Function Documentation

virtual void GSRBSmoother::doBottomSmooth LevelData< FArrayBox > &  a_phi,
const LevelData< FArrayBox > &  a_rhs,
LevelOp a_levelopPtr
[virtual]
 

Do GSRB smoothing.

True to its name, this class does GSRB smoothing in this function

Implements BaseBottomSmoother.

virtual BaseBottomSmoother* GSRBSmoother::new_bottomSmoother  )  const [virtual]
 

This gets around the "no virtual constructor" rule

Implements BaseBottomSmoother.

virtual int GSRBSmoother::numSmooth  )  const [virtual]
 

Returns the number of smoother passes which are performed.

virtual void GSRBSmoother::setConvergenceMetric Real  a_metric,
int  a_comp = 0
[inline, virtual]
 

sets metric to judge convergence (normally norm(rhs) of outer problem

To make the iterative solver convergence more consistent, the solver will consider itself "solved" if the residual is reduced to epsilon*metric, where epsilon is the solver tolerance (set by setSolverTol). A good starting point for the metric is the norm of the RHS of the original problem (i.e. the rhs sent in to LevelSolver or AMRSolver). Default value is 1.0.

Implements BaseBottomSmoother.

virtual void GSRBSmoother::setNumSmooth int  a_numSmooth  )  [virtual]
 

Set the number of smoother passes to perform.

virtual void GSRBSmoother::setSolverTol Real  a_tol  )  [inline, virtual]
 

this doesn't really do anything, but is required by BaseBottomSmoother

Implements BaseBottomSmoother.


Member Data Documentation

int GSRBSmoother::m_numSmooth [protected]
 

Number of GSRB smoother passes to do.


The documentation for this class was generated from the following file:
Generated on Wed Oct 5 12:47:50 2005 for Chombo&AMRIdealMHD by  doxygen 1.4.1