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 clear ()
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)
LevelOp * levelOpPtr ()
LevelMG * lCoarsePtr ()

Protected Methods

void setDefaultValues ()
void clearMemory ()

Protected Attributes

bool m_isDefined
LevelData< FArrayBox > m_resid
LevelData< FArrayBox > m_crseResid
LevelData< FArrayBox > m_crseCorr
DisjointBoxLayout m_ba
DisjointBoxLayout m_baCoarsened
const DisjointBoxLayout * m_baseBaPtr
Real m_dxLevel
ProblemDomain m_domain
int m_nCoarserLevels
LevelMG * m_lCoarsePtr
LevelOp * m_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::clear (    ) 
 

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 Tue Jul 2 10:44:11 2002 for Chombo by doxygen1.2.16