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

BiCGStabSmoother Class Reference

Implements BiCGStab as a bottom smoother for LevelOp-derived classes. More...

#include <BiCGStabSmoother.H>

Inheritance diagram for BiCGStabSmoother:

Inheritance graph
[legend]
Collaboration diagram for BiCGStabSmoother:

Collaboration graph
[legend]
List of all members.

Public Methods

 BiCGStabSmoother ()
 Null constructor.

virtual ~BiCGStabSmoother ()
 Destructor.

virtual BaseBottomSmoothernew_bottomSmoother () const
 "Virtual constructor" workaround.

void setMaxIter (int a_maxIter)
 Set maximum number of BiCGStab iterations.

void setSolverTol (Real a_solverTol)
 Set solver tolerance.

void setEnableRestart (bool a_enableRestart)
 Set whether to enable restart capabillity.

void setVerbose (bool a_verbose)
 Set verbosity level.

virtual void doBottomSmooth (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs, LevelOp *a_levelopPtr)
 Do smoothing.

virtual void setConvergenceMetric (Real a_metric, int a_comp)
 set metric for judging convergence (if not set, defaults to 1.0)


Protected Attributes

int m_maxIter
Vector< Realm_convergenceMetrics
Real m_solverTol
Real m_small
Real m_convergeSmall
bool m_enableRestart
bool m_verbose

Detailed Description

Implements BiCGStab as a bottom smoother for LevelOp-derived classes.

The BiCGStabSmoother class implements the BiCGStab algorithm for LevelOp-derived classes


Constructor & Destructor Documentation

BiCGStabSmoother::BiCGStabSmoother  
 

Null constructor.

virtual BiCGStabSmoother::~BiCGStabSmoother   [virtual]
 

Destructor.


Member Function Documentation

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

Do smoothing.

Performs BiCGStab smoothing of L(a_phi) = a_rhs; L is the operator defined in a_levelopPtr, and the preconditioner is a_levelopPtr->smooth

Implements BaseBottomSmoother.

virtual BaseBottomSmoother* BiCGStabSmoother::new_bottomSmoother   const [virtual]
 

"Virtual constructor" workaround.

This gets around the "no virtual constructor" rule

Implements BaseBottomSmoother.

virtual void BiCGStabSmoother::setConvergenceMetric Real    a_metric,
int    a_comp
[virtual]
 

set metric for judging convergence (if not set, defaults to 1.0)

Implements BaseBottomSmoother.

void BiCGStabSmoother::setEnableRestart bool    a_enableRestart
 

Set whether to enable restart capabillity.

If this is true, if BiCGStab reaches a hang point, the solver will recompute the residual and attempt to restart the computation

void BiCGStabSmoother::setMaxIter int    a_maxIter
 

Set maximum number of BiCGStab iterations.

void BiCGStabSmoother::setSolverTol Real    a_solverTol [virtual]
 

Set solver tolerance.

Set solver tolerance

Implements BaseBottomSmoother.

void BiCGStabSmoother::setVerbose bool    a_verbose
 

Set verbosity level.

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


Member Data Documentation

Vector<Real> BiCGStabSmoother::m_convergenceMetrics [protected]
 

Solver convergence metrics

Real BiCGStabSmoother::m_convergeSmall [protected]
 

Small parameter to check for size of correction (to prevent hanging)

bool BiCGStabSmoother::m_enableRestart [protected]
 

If true, enable restarting capability

int BiCGStabSmoother::m_maxIter [protected]
 

Maximum number of BiCGStab iterations

Real BiCGStabSmoother::m_small [protected]
 

Small parameter to check for division by zero

Real BiCGStabSmoother::m_solverTol [protected]
 

Solver tolerance (we declare the problem solved if the residual is smaller than solverTol*convergenceMetric

bool BiCGStabSmoother::m_verbose [protected]
 

Default is false


The documentation for this class was generated from the following file:
Generated on Wed Jan 19 17:55:35 2005 for Chombo&INSwithParticles by doxygen1.2.16