|
| PoissonOp4 () |
|
virtual | ~PoissonOp4 () |
|
|
void | define (const RealVect &a_dx, const ProblemDomain &a_domain, BCFunc a_bc) |
|
virtual void | createCoarsened (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs, const int &a_refRat) |
|
virtual void | residual (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs, bool a_homogeneous=false) |
|
virtual void | preCond (LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_residual) |
|
virtual void | applyOp (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi, bool a_homogeneous=false) |
|
virtual void | create (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs) |
|
virtual void | assign (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs) |
|
virtual Real | dotProduct (const LevelData< FArrayBox > &a_1, const LevelData< FArrayBox > &a_2) |
|
virtual void | incr (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_x, Real a_scale) |
|
virtual void | axby (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_x, const LevelData< FArrayBox > &a_y, Real a, Real b) |
|
virtual void | scale (LevelData< FArrayBox > &a_lhs, const Real &a_scale) |
|
virtual Real | norm (const LevelData< FArrayBox > &a_x, int a_ord) |
|
virtual void | setToZero (LevelData< FArrayBox > &a_x) |
|
|
virtual void | relax (LevelData< FArrayBox > &a_e, const LevelData< FArrayBox > &a_residual, int iterations) |
|
virtual void | createCoarser (LevelData< FArrayBox > &a_coarse, const LevelData< FArrayBox > &a_fine, bool ghost) |
|
virtual void | restrictResidual (LevelData< FArrayBox > &a_resCoarse, LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_rhsFine) |
|
virtual void | prolongIncrement (LevelData< FArrayBox > &a_phiThisLevel, const LevelData< FArrayBox > &a_correctCoarse) |
|
| MGLevelOp () |
| Constructor. More...
|
|
virtual | ~MGLevelOp () |
| Destructor. More...
|
|
virtual void | relaxNF (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > *a_phiCoarse, const LevelData< FArrayBox > &a_rhs, int a_iterations) |
| specialized no-fine relax function, useful for full-multigrid schemes, defaults to regular relax More...
|
|
virtual void | restrictResidual (LevelData< FArrayBox > &a_resCoarse, LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > *a_phiCoarse, const LevelData< FArrayBox > &a_rhsFine, bool homogeneous) |
| full-multigrid version of restrictResidual, useful for FAS-type schemes. Defaults to standard restriction More...
|
|
virtual void | restrictR (LevelData< FArrayBox > &a_phiCoarse, const LevelData< FArrayBox > &a_phiFine) |
| simple restriction function More...
|
|
void | addObserver (MGLevelOpObserver< LevelData< FArrayBox > > *a_observer) |
|
virtual void | applyOpMg (LevelData< FArrayBox > &a_lhs, LevelData< FArrayBox > &a_phi, LevelData< FArrayBox > *a_phiCoarse, bool a_homogeneous) |
| Apply an operator. More...
|
|
virtual void | residualNF (LevelData< FArrayBox > &a_lhs, LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > *a_phiCoarse, const LevelData< FArrayBox > &a_rhs, bool a_homogeneous=false) |
|
void | removeObserver (MGLevelOpObserver< LevelData< FArrayBox > > *a_observer) |
|
void | addCoarserObserver (MGLevelOp< LevelData< FArrayBox > > *a_operator, int a_coarseningFactor) |
|
void | notifyObserversOfChange () |
| This should be called whenever the operator's data is updated. More...
|
|
virtual void | finerOperatorChanged (const MGLevelOp< LevelData< FArrayBox > > &a_operator, int a_coarseningFactor) |
|
int | numObservers () const |
| Returns the number of objects observing this operator. More...
|
|
virtual | ~LinearOp () |
|
virtual void | clear (LevelData< FArrayBox > &a_lhs) |
|
virtual void | assignLocal (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs) |
|
virtual void | mDotProduct (const LevelData< FArrayBox > &a_1, const int a_sz, const LevelData< FArrayBox > a_2[], Real a_mdots[]) |
|
virtual Real | dx () const |
|
virtual void | write (const LevelData< FArrayBox > *a, const char *filename) |
|
| MGLevelOpObserver () |
| Base level Constructor. Called by all subclasses. More...
|
|
virtual | ~MGLevelOpObserver () |
| Destructor. More...
|
|
virtual void | operatorChanged (const MGLevelOp< LevelData< FArrayBox > > &a_operator) |
|
void | setObservee (MGLevelOp< LevelData< FArrayBox > > *a_observee) |
|
void | clearObservee () |
|
Create a coarsened (by two) version of the input data. This does not include averaging the data. So if a_fine is over a Box of (0, 0, 0) (63, 63, 63), a_fine should be over a Box (0, 0, 0) (31, 31, 31).
Implements MGLevelOp< LevelData< FArrayBox > >.