Public Methods |
| | LevelSolver () |
| | Null constructor, leaves LevelSolver undefined.
|
| virtual | ~LevelSolver () |
| | Destructor.
|
| | LevelSolver (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_baseGrids, const ProblemDomain &a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp *const a_opin, int a_ncomp, bool a_limitCoarsening=false) |
| | Full constructor. Calls full define function.
|
| | LevelSolver (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_baseGrids, const Box &a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp *const a_opin, int a_ncomp=1, bool a_limitCoarsening=false) |
| | Full constructor (Deprecated -- use ProblemDomain instead).
|
| virtual void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_baseGrids, const ProblemDomain &a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp *const a_opin, int a_ncomp=1, bool a_limitCoarsening=false) |
| | Full define function.
|
| virtual void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_baseGrids, const Box &a_domain, Real a_dxLevel, int a_nRefCrse, const LevelOp *const a_opin, int a_ncomp=1, bool a_limitCoarsening=false) |
| | Full define function. (Deprecated -- use ProblemDomain version instead).
|
| bool | isDefined () const |
| | Has this object been defined already?
|
| void | clearMemory () |
| | Clears storage.
|
| void | setDefaultValues () |
| | Internal use function to set default values for solver parameters.
|
| void | levelSolveH (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs, bool a_initializePhiToZero=true) |
| | Do a level solve with homogeneous BCs on this level using multigrid.
|
| void | levelSolve (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > *a_phic, const LevelData< FArrayBox > &a_rhs, bool a_initializePhiToZero=true) |
| | Do a level solve with inhomogeneous BCs on this level using multigrid.
|
| void | setNumSmoothUp (int a_numSmoothUp) |
| | Set number of multigrid smoothings on way up v-cycle. Default is 4.
|
| void | setNumSmoothDown (int a_numSmoothDown) |
| | Set number of multigrid smoothings on way down v-cycle; Default is 4.
|
| void | setTolerance (Real a_tolerance) |
| | Set solution tolerance.
|
| void | setOperatorTolerance (Real a_operatorTolerance) |
| | Set "operator tolerance" of iterative solution.
|
| void | setVerbose (bool a_verbose) |
| | Set how much info is printed out during solve.
|
| void | setMaxIter (int a_maxIter) |
| | Set max number multigrid vcycles to use in solution.
|
| void | setMinIter (int a_minIter) |
| | Set min number of iterations.
|
| virtual void | setConvergenceMetric (Real a_metric, int a_comp) |
| | set the convergence metrics (if appropriate) for this problem
|
| virtual void | resetConvergenceMetrics () |
| | rest the convergence metrics to an undefined state (for solver re-use)
|
| void | setNormType (int a_normType) |
| | set type of norm to use to judge convergence
|
Protected Attributes |
| LevelMG | m_levelMG |
| LevelOp * | m_levelOpPtr |
| bool | m_isDefined |
| DisjointBoxLayout | m_grids |
| ProblemDomain | m_domain |
| LevelData< FArrayBox > | m_resid |
| LevelData< FArrayBox > | m_scratch |
| LevelData< FArrayBox > | m_corr |
| int | m_nRefCrse |
| Real | m_dxLevel |
| int | m_maxIter |
| int | m_minIter |
| int | m_numSmoothUp |
| int | m_numSmoothDown |
| Real | m_tolerance |
| int | m_normType |
| Vector< Real > | m_convergenceMetrics |
| Real | m_operatorTolerance |
| bool | m_verbose |
LevelSolver Solves elliptic equations on a level using multigrid.