#include <MergeSolver.H>
Public Member Functions | |
MergeSolver () | |
virtual | ~MergeSolver () |
virtual void | setHomogeneous (bool a_homogeneous) |
virtual void | define (LinearOp< LevelData< T > > *a_operator, bool a_homogeneous=false) |
virtual void | setConvergenceMetrics (Real a_metric, Real a_tolerance) |
Set a convergence metric, along with solver tolerance, if desired. | |
virtual void | solve (LevelData< T > &a_phi, const LevelData< T > &a_rhs) |
only overridden virtual function |
MergeSolver< T >::MergeSolver | ( | ) | [inline] |
virtual MergeSolver< T >::~MergeSolver | ( | ) | [inline, virtual] |
virtual void MergeSolver< T >::setHomogeneous | ( | bool | a_homogeneous | ) | [inline, virtual] |
reset whether the solver is homogeneous.
Reimplemented from BiCGStabSolver< LevelData< T > >.
virtual void MergeSolver< T >::define | ( | LinearOp< LevelData< T > > * | a_op, | |
bool | a_homogeneous = false | |||
) | [inline, virtual] |
define the solver. a_op is the linear operator. a_homogeneous is whether the solver uses homogeneous boundary conditions.
Reimplemented from BiCGStabSolver< LevelData< T > >.
virtual void MergeSolver< T >::setConvergenceMetrics | ( | Real | a_metric, | |
Real | a_tolerance | |||
) | [inline, virtual] |
Set a convergence metric, along with solver tolerance, if desired.
Default implementation does nothing, since there are probably cases (liked direct solves), where this has no real meaning.
Reimplemented from BiCGStabSolver< LevelData< T > >.
void MergeSolver< T >::solve | ( | LevelData< T > & | a_phi, | |
const LevelData< T > & | a_rhs | |||
) | [inline, virtual] |
only overridden virtual function
Reimplemented from BiCGStabSolver< LevelData< T > >.
References CH_TIME, LevelData< T >::copyTo(), LevelData< T >::disjointBoxLayout(), LevelData< T >::ghostVect(), BoxLayout::layoutIterator(), Box::minBox(), BoxLayoutData< T >::nComp(), Box::numPts(), LayoutIterator::ok(), DisjointBoxLayout::physDomain(), and procID().