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

LevelMG Class Reference

Multigrid solver on a level. More...

#include <LevelMG.H>

Collaboration diagram for LevelMG:

Collaboration graph
[legend]
List of all members.

Public Methods

bool isDefined () const
 LevelMG ()
 LevelMG (const DisjointBoxLayout &a_ba, const DisjointBoxLayout *a_baseBaPtr, Real a_dxLevel, int a_refRatio, const Box &a_domain, int a_nCoarserLevels, const LevelOp *const a_opin, int a_ncomp=1)
 LevelMG (const DisjointBoxLayout &a_ba, const DisjointBoxLayout *a_baseBaPtr, Real a_dxLevel, int a_refRatio, const ProblemDomain &a_domain, int a_nCoarserLevels, const LevelOp *const a_opin, int a_ncomp=1)
void define (const DisjointBoxLayout &a_ba, const DisjointBoxLayout *a_baseBaPtr, Real a_dxLevel, int a_refRatio, const Box &a_domain, int a_nCoarserLevels, const LevelOp *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 LevelOp *const a_opin, int a_ncomp)
void define (const LevelMG &L, int refCoarse, const LevelOp *const opin_a)
 Constructor for coarsened version of object.

 LevelMG (const LevelMG &L, int refCoarse, const LevelOp *opin_a)
 Constructor for coarsened version of object.

 ~LevelMG ()
void mgRelax (LevelData< FArrayBox > &a_soln, const LevelData< FArrayBox > &a_rhs, bool bottomsolveflag)
void setnumBottomGSRB (int a_numBottomGSRB)
void setnumSmoothUp (int a_numSmoothUp)
void setnumSmoothDown (int a_numSmoothDown)
LevelOplevelOpPtr ()
LevelMG * lCoarsePtr ()

Protected Methods

void setDefaultValues ()
void clearMemory ()

Protected Attributes

bool m_isDefined
LevelData< FArrayBoxm_resid
LevelData< FArrayBoxm_crseResid
LevelData< FArrayBoxm_crseCorr
DisjointBoxLayout m_ba
DisjointBoxLayout m_baCoarsened
const DisjointBoxLayoutm_baseBaPtr
Real m_dxLevel
ProblemDomain m_domain
int m_nCoarserLevels
LevelMG * m_lCoarsePtr
LevelOpm_levelopPtr
int m_numBottomGSRB
int m_numSmoothUp
int m_numSmoothDown
int m_refToCoar
CoarseAverage m_averageOp

Private Methods

void crseCorrect (LevelData< FArrayBox > &a_fine, const LevelData< FArrayBox > &a_crse, int a_refRat)
void operator= (const LevelMG &levmgin)
 LevelMG (const LevelMG &levmgin)

Detailed Description

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

LevelMG::LevelMG  
 

LevelMG::LevelMG const DisjointBoxLayout   a_ba,
const DisjointBoxLayout   a_baseBaPtr,
Real    a_dxLevel,
int    a_refRatio,
const Box   a_domain,
int    a_nCoarserLevels,
const LevelOp *const    a_opin,
int    a_ncomp = 1
 

LevelMG::LevelMG const DisjointBoxLayout   a_ba,
const DisjointBoxLayout   a_baseBaPtr,
Real    a_dxLevel,
int    a_refRatio,
const ProblemDomain   a_domain,
int    a_nCoarserLevels,
const LevelOp *const    a_opin,
int    a_ncomp = 1
 

LevelMG::LevelMG const LevelMG &    L,
int    refCoarse,
const LevelOp   opin_a
 

Constructor for coarsened version of object.

LevelMG::~LevelMG  
 

LevelMG::LevelMG const LevelMG &    levmgin [inline, private]
 


Member Function Documentation

void LevelMG::clearMemory   [protected]
 

void LevelMG::crseCorrect LevelData< FArrayBox > &    a_fine,
const LevelData< FArrayBox > &    a_crse,
int    a_refRat
[private]
 

void LevelMG::define const LevelMG &    L,
int    refCoarse,
const LevelOp *const    opin_a
 

Constructor for coarsened version of object.

void LevelMG::define const DisjointBoxLayout   a_ba,
const DisjointBoxLayout   a_baseBaPtr,
Real    a_dxLevel,
int    a_refRatio,
const ProblemDomain   a_domain,
int    a_nCoarserLevels,
const LevelOp *const    a_opin,
int    a_ncomp
 

void LevelMG::define const DisjointBoxLayout   a_ba,
const DisjointBoxLayout   a_baseBaPtr,
Real    a_dxLevel,
int    a_refRatio,
const Box   a_domain,
int    a_nCoarserLevels,
const LevelOp *const    a_opin,
int    a_ncomp = 1
 

bool LevelMG::isDefined   const
 

LevelMG* LevelMG::lCoarsePtr  
 

LevelOp* LevelMG::levelOpPtr  
 

void LevelMG::mgRelax LevelData< FArrayBox > &    a_soln,
const LevelData< FArrayBox > &    a_rhs,
bool    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.

void LevelMG::operator= const LevelMG &    levmgin [inline, private]
 

void LevelMG::setDefaultValues   [protected]
 

void LevelMG::setnumBottomGSRB int    a_numBottomGSRB [inline]
 

void LevelMG::setnumSmoothDown int    a_numSmoothDown [inline]
 

void LevelMG::setnumSmoothUp int    a_numSmoothUp [inline]
 


Member Data Documentation

CoarseAverage LevelMG::m_averageOp [protected]
 

DisjointBoxLayout LevelMG::m_ba [protected]
 

DisjointBoxLayout LevelMG::m_baCoarsened [protected]
 

const DisjointBoxLayout* LevelMG::m_baseBaPtr [protected]
 

LevelData<FArrayBox> LevelMG::m_crseCorr [protected]
 

LevelData<FArrayBox> LevelMG::m_crseResid [protected]
 

ProblemDomain LevelMG::m_domain [protected]
 

Real LevelMG::m_dxLevel [protected]
 

bool LevelMG::m_isDefined [protected]
 

LevelMG* LevelMG::m_lCoarsePtr [protected]
 

LevelOp* LevelMG::m_levelopPtr [protected]
 

int LevelMG::m_nCoarserLevels [protected]
 

int LevelMG::m_numBottomGSRB [protected]
 

int LevelMG::m_numSmoothDown [protected]
 

int LevelMG::m_numSmoothUp [protected]
 

int LevelMG::m_refToCoar [protected]
 

LevelData<FArrayBox> LevelMG::m_resid [protected]
 


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