#include <LevelSolver.H>
Collaboration diagram for LevelSolver:

Public Member Functions | |
| 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.
|
|
Null constructor, leaves LevelSolver undefined.
|
|
|
Destructor.
|
|
||||||||||||||||||||||||||||||||||||
|
Full constructor. Calls full define function. Calls corresponding full define function. Inputs:
|
|
||||||||||||||||||||||||||||||||||||
|
Full constructor (Deprecated -- use ProblemDomain instead). Calls corresponding full define function. Inputs:
|
|
|
Clears storage.
|
|
||||||||||||||||||||||||||||||||||||
|
Full define function. (Deprecated -- use ProblemDomain version instead). Inputs:
|
|
||||||||||||||||||||||||||||||||||||
|
Full define function. Inputs:
|
|
|
Has this object been defined already?
|
|
||||||||||||||||||||
|
Do a level solve with inhomogeneous BCs on this level using multigrid. Uses inhomogeneous bcs at interfaces. phic should be set to NULL if there is no coarser level.
|
|
||||||||||||||||
|
Do a level solve with homogeneous BCs on this level using multigrid. Uses homogeneous bcs at coarse/fine interfaces
|
|
|
rest the convergence metrics to an undefined state (for solver re-use)
|
|
||||||||||||
|
set the convergence metrics (if appropriate) for this problem sets metric against which we define convergence (for example, the norm of the RHS). Also passes a_metric through to the LevelMG (and eventually to a bottom solver.) |
|
|
Internal use function to set default values for solver parameters.
|
|
|
Set max number multigrid vcycles to use in solution.
|
|
|
Set min number of iterations. Only relevant when residual is not decreasing fast enough to satisfy the "operator tolerance". Default is 4. |
|
|
set type of norm to use to judge convergence
|
|
|
Set number of multigrid smoothings on way down v-cycle; Default is 4.
|
|
|
Set number of multigrid smoothings on way up v-cycle. Default is 4.
|
|
|
Set "operator tolerance" of iterative solution. Iteration will stop if (new_residual/old_residual) > 1-operatorTolerance (and at least minIter iterations have been performed). Default is 1.0e-5. |
|
|
Set solution tolerance.
|
|
|
Set how much info is printed out during solve.
|
|
|
metrics used to judge convergence |
|
|
Correction |
|
|
Problem domain at this level |
|
|
Cell spacing on this level |
|
|
Grids at this level |
|
|
Has this LevelSolver been defined yet? |
|
|
LevelMG level solver object to relax on this level |
|
|
LevelMG level solver object to relax on this level |
|
|
Maximum number of solver iterations |
|
|
Minimum number of iterations |
|
|
type of norm to use for evaluating convergence |
|
|
Refinement ratio to coarser level |
|
|
Number of smoother iterations on down cycle |
|
|
Number of smoother iterations on up cycle |
|
|
Tolerance used to stop solver iteration if convergence hangs. |
|
|
Residual |
|
|
Useful scratch space. |
|
|
Solver tolerance |
|
|
How verbose shold the solve be? |
1.4.1