Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

GenLevelMG< T > Class Template Reference

Multigrid solver on a level. More...

#include <GenLevelMG.H>

Collaboration diagram for GenLevelMG< T >:

Collaboration graph
[legend]
List of all members.

Public Methods

 GenLevelMG ()
 GenLevelMG (const DisjointBoxLayout &a_ba, const DisjointBoxLayout *a_baseBaPtr, Real a_dxLevel, int a_refRatio, const Box &a_domain, int a_nCoarserLevels, const GenLevelMGOp< T > *const a_opin, int a_ncomp=1)
 Constructor with DisjointBoxLayout, number of coarser levels.

 GenLevelMG (const DisjointBoxLayout &a_ba, const DisjointBoxLayout *a_baseBaPtr, Real a_dxLevel, int a_refRatio, const ProblemDomain &a_domain, int a_nCoarserLevels, const GenLevelMGOp< T > *const a_opin, int a_ncomp=1)
 Constructor with DisjointBoxLayout, number of coarser levels.

 GenLevelMG (const GenLevelMG &a_L, int a_refCoarse, const GenLevelMGOp< T > *a_opin)
 Constructor for coarsened version of object.

 ~GenLevelMG ()
bool isDefined () const
void define (const DisjointBoxLayout &a_ba, const DisjointBoxLayout *a_baseBaPtr, Real a_dxLevel, int a_refRatio, const Box &a_domain, int a_nCoarserLevels, const GenLevelMGOp< T > *const a_opin, int a_ncomp=1)
void define (const DisjointBoxLayout &a_ba, const DisjointBoxLayout *a_baseBaPtr, Real a_dxLevel, int a_refRatio, const ProblemDomain &a_domain, int a_nCoarserLevels, const GenLevelMGOp< T > *const a_opin, int a_ncomp)
void define (const GenLevelMG &a_L, int a_refCoarse, const GenLevelMGOp< T > *const a_opin)
 Constructor for coarsened version of object.

void mgRelax (T &a_soln, const T &a_rhs, bool a_bottomsolveflag)
void setnumBottomGSRB (int a_numBottomGSRB)
void setnumSmoothUp (int a_numSmoothUp)
void setnumSmoothDown (int a_numSmoothDown)
GenLevelMGOp< T > * levelOpPtr ()
GenLevelMG * lCoarsePtr ()

Protected Methods

void setDefaultValues ()
void clearMemory ()

Protected Attributes

bool m_isDefined
m_resid
m_crseResid
m_crseCorr
DisjointBoxLayout m_ba
DisjointBoxLayout m_baCoarsened
const DisjointBoxLayoutm_baseBaPtr
Real m_dxLevel
ProblemDomain m_domain
int m_nCoarserLevels
GenLevelMG * m_lCoarsePtr
GenLevelMGOp< T > * m_levelopPtr
int m_numBottomGSRB
int m_numSmoothUp
int m_numSmoothDown
int m_refToCoar
CoarseAverage m_averageOp

Private Methods

void crseCorrect (T &a_fine, const T &a_crse, int a_refRat)
 GenLevelMG (const GenLevelMG< T > &)
void operator= (const GenLevelMG< T > &)

Detailed Description

template<class T>
class GenLevelMG< T >

Multigrid solver on a level.

Multigrid solver on a level. This class is to be considered internal to AMRSolver and not a part of the Chombo API.


Constructor & Destructor Documentation

template<class T>
GenLevelMG< T >::GenLevelMG  
 

template<class T>
GenLevelMG< T >::GenLevelMG const DisjointBoxLayout   a_ba,
const DisjointBoxLayout   a_baseBaPtr,
Real    a_dxLevel,
int    a_refRatio,
const Box   a_domain,
int    a_nCoarserLevels,
const GenLevelMGOp< T > *const    a_opin,
int    a_ncomp = 1
 

Constructor with DisjointBoxLayout, number of coarser levels.

template<class T>
GenLevelMG< T >::GenLevelMG const DisjointBoxLayout   a_ba,
const DisjointBoxLayout   a_baseBaPtr,
Real    a_dxLevel,
int    a_refRatio,
const ProblemDomain   a_domain,
int    a_nCoarserLevels,
const GenLevelMGOp< T > *const    a_opin,
int    a_ncomp = 1
 

Constructor with DisjointBoxLayout, number of coarser levels.

template<class T>
GenLevelMG< T >::GenLevelMG const GenLevelMG< T > &    a_L,
int    a_refCoarse,
const GenLevelMGOp< T > *    a_opin
 

Constructor for coarsened version of object.

template<class T>
GenLevelMG< T >::~GenLevelMG  
 

template<class T>
GenLevelMG< T >::GenLevelMG const GenLevelMG< T > &    [inline, private]
 


Member Function Documentation

template<class T>
void GenLevelMG< T >::clearMemory   [protected]
 

template<class T>
void GenLevelMG< T >::crseCorrect T &    a_fine,
const T &    a_crse,
int    a_refRat
[private]
 

template<class T>
void GenLevelMG< T >::define const GenLevelMG< T > &    a_L,
int    a_refCoarse,
const GenLevelMGOp< T > *const    a_opin
 

Constructor for coarsened version of object.

template<class T>
void GenLevelMG< T >::define const DisjointBoxLayout   a_ba,
const DisjointBoxLayout   a_baseBaPtr,
Real    a_dxLevel,
int    a_refRatio,
const ProblemDomain   a_domain,
int    a_nCoarserLevels,
const GenLevelMGOp< T > *const    a_opin,
int    a_ncomp
 

template<class T>
void GenLevelMG< T >::define const DisjointBoxLayout   a_ba,
const DisjointBoxLayout   a_baseBaPtr,
Real    a_dxLevel,
int    a_refRatio,
const Box   a_domain,
int    a_nCoarserLevels,
const GenLevelMGOp< T > *const    a_opin,
int    a_ncomp = 1
 

template<class T>
bool GenLevelMG< T >::isDefined   const
 

template<class T>
GenLevelMG< T > * GenLevelMG< T >::lCoarsePtr  
 

template<class T>
GenLevelMGOp< T > * GenLevelMG< T >::levelOpPtr  
 

template<class T>
void GenLevelMG< T >::mgRelax T &    a_soln,
const T &    a_rhs,
bool    a_bottomsolveflag
 

: Invoke relaxation step. Default is pure MG V-cycle, suitable for use in multilevel solver application; otherwise, use approximate solver such as CG at bottom level. It is assumed that the problem has already been put in residual-correction form. In particular, only the homogeneous form of the physical and coarse-fine boundary conditions need be invoked.

template<class T>
void GenLevelMG< T >::operator= const GenLevelMG< T > &    [inline, private]
 

template<class T>
void GenLevelMG< T >::setDefaultValues   [protected]
 

template<class T>
void GenLevelMG< T >::setnumBottomGSRB int    a_numBottomGSRB
 

template<class T>
void GenLevelMG< T >::setnumSmoothDown int    a_numSmoothDown
 

template<class T>
void GenLevelMG< T >::setnumSmoothUp int    a_numSmoothUp
 


Member Data Documentation

template<class T>
CoarseAverage GenLevelMG< T >::m_averageOp [protected]
 

template<class T>
DisjointBoxLayout GenLevelMG< T >::m_ba [protected]
 

template<class T>
DisjointBoxLayout GenLevelMG< T >::m_baCoarsened [protected]
 

template<class T>
const DisjointBoxLayout* GenLevelMG< T >::m_baseBaPtr [protected]
 

template<class T>
T GenLevelMG< T >::m_crseCorr [protected]
 

template<class T>
T GenLevelMG< T >::m_crseResid [protected]
 

template<class T>
ProblemDomain GenLevelMG< T >::m_domain [protected]
 

template<class T>
Real GenLevelMG< T >::m_dxLevel [protected]
 

template<class T>
bool GenLevelMG< T >::m_isDefined [protected]
 

template<class T>
GenLevelMG* GenLevelMG< T >::m_lCoarsePtr [protected]
 

template<class T>
GenLevelMGOp<T>* GenLevelMG< T >::m_levelopPtr [protected]
 

template<class T>
int GenLevelMG< T >::m_nCoarserLevels [protected]
 

template<class T>
int GenLevelMG< T >::m_numBottomGSRB [protected]
 

template<class T>
int GenLevelMG< T >::m_numSmoothDown [protected]
 

template<class T>
int GenLevelMG< T >::m_numSmoothUp [protected]
 

template<class T>
int GenLevelMG< T >::m_refToCoar [protected]
 

template<class T>
T GenLevelMG< T >::m_resid [protected]
 


The documentation for this class was generated from the following files:
Generated on Wed Apr 16 14:35:19 2003 for EBChombo by doxygen1.2.16