Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class 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
Collaboration diagram for BiCGStabSmoother:

Collaboration graph
List of all members.

Public Member Functions

 BiCGStabSmoother ()
 Null constructor.
virtual ~BiCGStabSmoother ()
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]


Member Function Documentation

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

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

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 Oct 5 14:00:00 2005 for Chombo&AMRSelfGravity by  doxygen 1.4.1