#include <FASMultiGrid.H>
|
| FASMultiGrid () |
|
virtual | ~FASMultiGrid () |
|
virtual void | define (MGLevelOpFactory< T > &a_factory, LinearSolver< T > *a_bottomSolver, const ProblemDomain &a_domain, int a_maxDepth=-1, MGLevelOp< T > *a_finestLevelOp=NULL) |
| Function to define a FASMultiGrid object. More...
|
|
virtual void | solve (T &a_phi, const T &a_rhs, Real a_tolerance, int a_maxIterations, int verbosity=0) |
|
virtual void | oneCycle (T &a_e, const T &a_res) |
| Execute ONE v-cycle of multigrid. More...
|
|
void | oneCycle (T &a_e, const T &a_res, T *a_phiCoarse) |
|
virtual void | cycle (int a_depth, T &a_correction, const T &a_residual) |
|
| MultiGrid () |
|
virtual | ~MultiGrid () |
|
void | init (const T &a_correction, const T &a_residual) |
|
void | cycle (int a_depth, T &a_correction, const T &a_residual) |
|
void | clear () |
|
void | setBottomSolver (LinearSolver< T > *a_bottomSolver) |
|
Vector< MGLevelOp< T > * > | getAllOperators () |
|
Function to define a FASMultiGrid object.
a_factory is the factory for generating operators. a_bottomSolver is called at the bottom of v-cycle. a_domain is the problem domain at the top of the vcycle. maxDepth defines the location of the bottom of the v-cycle. The vycle will terminate (hit bottom) when the factory returns NULL for a paticular depth if maxdepth = -1. Otherwise the vycle terminates at maxdepth.
Reimplemented from MultiGrid< T >.
References MultiGrid< T >::define().
Referenced by AMRFASMultiGrid< T >::define().
template<class T >
void FASMultiGrid< T >::solve |
( |
T & |
a_phi, |
|
|
const T & |
a_rhs, |
|
|
Real |
a_tolerance, |
|
|
int |
a_maxIterations, |
|
|
int |
verbosity = 0 |
|
) |
| |
|
virtual |
solve L(a_phi) = a_rhs. Tolerance is how much you want the norm of the error reduced. verbosity is how chatty you want the function to be. maxIterations is the maximum number of v-cycles. This does the whole residual correction switcharoo and calls oneCycle up to maxIterations times, evaluating the residual as it goes.
Reimplemented from MultiGrid< T >.
References CH_TIME, Max(), and pout().
template<class T >
void FASMultiGrid< T >::oneCycle |
( |
T & |
a_e, |
|
|
const T & |
a_res |
|
) |
| |
|
virtual |
template<class T >
void FASMultiGrid< T >::oneCycle |
( |
T & |
a_e, |
|
|
const T & |
a_res, |
|
|
T * |
a_phiCoarse |
|
) |
| |
template<class T >
void FASMultiGrid< T >::cycle |
( |
int |
a_depth, |
|
|
T & |
a_correction, |
|
|
const T & |
a_residual |
|
) |
| |
|
virtual |
The documentation for this class was generated from the following file: