#include <NodeBiCGStabSmoother.H>
The NodeBiCGStabSmoother class implements the BiCGStab algorithm for NodeLevelOp-derived classes
Public Member Functions | |
Constructor and destructor | |
NodeBiCGStabSmoother () | |
virtual | ~NodeBiCGStabSmoother () |
virtual NodeBaseBottomSmoother * | new_bottomSmoother () const |
Parameter-setting functions | |
void | setMaxIter (int a_max_iter) |
void | setSolverTol (Real a_solverTol) |
Data modification functions | |
virtual void | doBottomSmooth (LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_rhs, NodeLevelOp *a_levelop_ptr) |
Protected Attributes | |
int | m_maxIter |
Real | m_solverTol |
Real | m_small |
Real | m_converge_small |
NodeBiCGStabSmoother::NodeBiCGStabSmoother | ( | ) |
Default constructor.
virtual NodeBiCGStabSmoother::~NodeBiCGStabSmoother | ( | ) | [virtual] |
Destructor.
virtual NodeBaseBottomSmoother* NodeBiCGStabSmoother::new_bottomSmoother | ( | ) | const [virtual] |
this gets around the "no virtual constructor" rule
Implements NodeBaseBottomSmoother.
void NodeBiCGStabSmoother::setMaxIter | ( | int | a_max_iter | ) |
set max number of BiCGStab iterations
void NodeBiCGStabSmoother::setSolverTol | ( | Real | a_solverTol | ) |
set solver tolerance (amount residual must be decreased, etc)
virtual void NodeBiCGStabSmoother::doBottomSmooth | ( | LevelData< NodeFArrayBox > & | a_phi, | |
const LevelData< NodeFArrayBox > & | a_rhs, | |||
NodeLevelOp * | a_levelop_ptr | |||
) | [virtual] |
Perform BiCGStab smoothing of L(a_phi) = a_rhs, where L is the operator defined in a_levelop_ptr, and the preconditioner is a_levelop_ptr->levelPreconditioner().
a_phi | data at this level, to be smoothed |
a_rhs | right-hand side at this level |
a_levelop_ptr | pointer to the operator |
Implements NodeBaseBottomSmoother.
int NodeBiCGStabSmoother::m_maxIter [protected] |
max number of iterations
Real NodeBiCGStabSmoother::m_solverTol [protected] |
solver tolerance
Real NodeBiCGStabSmoother::m_small [protected] |
small parameter to check for division by zero
Real NodeBiCGStabSmoother::m_converge_small [protected] |
parameter to check for hanging