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

EBPoissonOp Class Reference

one-sided differencing version of poisson operator More...

#include <EBPoissonOp.H>

Inheritance diagram for EBPoissonOp:

Inheritance graph
[legend]
Collaboration diagram for EBPoissonOp:

Collaboration graph
[legend]
List of all members.

Public Methods

 EBPoissonOp ()
 ~EBPoissonOp ()
virtual EBPoissonOp * newOp () const
virtual bool isDefined () const
void define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_baseBAPtr, Real a_dxLevel, int a_refRatio, const Box &a_domain, bool a_homogeneousOnly=false, int a_ncomp=1)
void define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_baseBAPtr, Real a_dxLevel, int a_refRatio, const ProblemDomain &a_domain, bool a_homogeneousOnly=false, int a_ncomp=1)
void define (const GenLevelOp< EBCellFAB > *a_opfine, int a_reftoFine)
void smooth (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs)
virtual void levelPreconditioner (LevelData< EBCellFAB > &a_phihat, const LevelData< EBCellFAB > &a_rhshat)
void applyOpH (LevelData< EBCellFAB > &a_phi, LevelData< EBCellFAB > &a_LOfPhi)
void applyOpI (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > *a_phiCoarsePtr, LevelData< EBCellFAB > &a_LOfPhi)
void applyOpHcfIphys (LevelData< EBCellFAB > &a_phi, LevelData< EBCellFAB > &a_lOfPhi)
void applyOpIcfHphys (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > *a_phiCoarsePtr, LevelData< EBCellFAB > &a_LOfPhi)
void CFInterp (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_phiCoarse)
void homogeneousCFInterp (LevelData< EBCellFAB > &a_phi)
void homogeneousCFInterp (LevelData< EBCellFAB > &a_phif, const DataIndex &a_datInd, int a_idir, Side::LoHiSide a_hiorlo)
void setBottomSmoother (const GenBaseBottomSmoother< LevelData< EBCellFAB > > &a_bottomSmoother)
void bottomSmoother (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs)

Protected Attributes

ProblemDomain m_domain
DisjointBoxLayout m_grids
Copier m_exchangeCopier
DisjointBoxLayout m_baseBA
int m_ncomp
int m_refRatio
Real m_dxLevel
Real m_dxCrse
QuadCFInterp m_quadCFI
GenBaseBottomSmoother< LevelData<
EBCellFAB > > * 
m_bottomSmootherPtr
bool m_isDefined
bool m_isBCDefined
bool m_ihcfiEnabled

Private Methods

void levelGSRB (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs)
void interpOnIVS (LevelData< EBCellFAB > &a_phif, const EBCellFAB &a_phistar, const DataIndex &a_dFine, const int a_idir, const Side::LoHiSide a_hiorlo, const IntVectSet &a_interpIVS)
void clearMemory ()
void setDefaultValues ()

Detailed Description

one-sided differencing version of poisson operator

this class contains stuff to solve div (grad phi) = rhs


Constructor & Destructor Documentation

EBPoissonOp::EBPoissonOp  
 

EBPoissonOp::~EBPoissonOp  
 


Member Function Documentation

void EBPoissonOp::applyOpH LevelData< EBCellFAB > &    a_phi,
LevelData< EBCellFAB > &    a_LOfPhi
[virtual]
 

Evaluate Operator, homogeneous C/F boundary conditions. and homogeneous physical boundary conditions

Implements GenAMRLevelMGOp< LevelData< EBCellFAB > >.

void EBPoissonOp::applyOpHcfIphys LevelData< EBCellFAB > &    a_phi,
LevelData< EBCellFAB > &    a_lOfPhi
[virtual]
 

Evaluate Operator, homogeneous C/F boundary conditions. with inhomogeneous physical boundary conditions

Implements GenAMRLevelMGOp< LevelData< EBCellFAB > >.

void EBPoissonOp::applyOpI LevelData< EBCellFAB > &    a_phi,
const LevelData< EBCellFAB > *    a_phiCoarsePtr,
LevelData< EBCellFAB > &    a_LOfPhi
[virtual]
 

Evaluate Operator, inhomogeneous C/F boundary conditions. and inhomogeneous phys boundary conditions

Implements GenAMRLevelMGOp< LevelData< EBCellFAB > >.

void EBPoissonOp::applyOpIcfHphys LevelData< EBCellFAB > &    a_phi,
const LevelData< EBCellFAB > *    a_phiCoarsePtr,
LevelData< EBCellFAB > &    a_LOfPhi
[virtual]
 

Evaluate Operator, inhomogeneous C/F boundary conditions. with homogeneous physical boundary conditions

Implements GenAMRLevelMGOp< LevelData< EBCellFAB > >.

void EBPoissonOp::bottomSmoother LevelData< EBCellFAB > &    a_phi,
const LevelData< EBCellFAB > &    a_rhs
 

This does a GSRB Pre/Conditioned BiCGStab on a level for the bottom solver.

void EBPoissonOp::CFInterp LevelData< EBCellFAB > &    a_phi,
const LevelData< EBCellFAB > &    a_phiCoarse
[virtual]
 

Coarse / Fine interpolation operator.

Implements GenLevelOp< EBCellFAB >.

void EBPoissonOp::clearMemory   [private]
 

void EBPoissonOp::define const GenLevelOp< EBCellFAB > *    a_opfine,
int    a_reftoFine
 

Full define function. define from finer levelop.

void EBPoissonOp::define const DisjointBoxLayout   a_grids,
const DisjointBoxLayout   a_baseBAPtr,
Real    a_dxLevel,
int    a_refRatio,
const ProblemDomain   a_domain,
bool    a_homogeneousOnly = false,
int    a_ncomp = 1
 

Full define function. makes all coarse-fine information and sets internal variables

void EBPoissonOp::define const DisjointBoxLayout   a_grids,
const DisjointBoxLayout   a_baseBAPtr,
Real    a_dxLevel,
int    a_refRatio,
const Box   a_domain,
bool    a_homogeneousOnly = false,
int    a_ncomp = 1
 

Full define function. makes all coarse-fine information and sets internal variables

void EBPoissonOp::homogeneousCFInterp LevelData< EBCellFAB > &    a_phif,
const DataIndex   a_datInd,
int    a_idir,
Side::LoHiSide    a_hiorlo
[virtual]
 

does homogeneous coarse/fine interpolation

Implements GenLevelOp< EBCellFAB >.

void EBPoissonOp::homogeneousCFInterp LevelData< EBCellFAB > &    a_phi [virtual]
 

homogeneous coarse/fine interpolation operator

Implements GenLevelOp< EBCellFAB >.

void EBPoissonOp::interpOnIVS LevelData< EBCellFAB > &    a_phif,
const EBCellFAB   a_phistar,
const DataIndex   a_dFine,
const int    a_idir,
const Side::LoHiSide    a_hiorlo,
const IntVectSet   a_interpIVS
[private]
 

virtual bool EBPoissonOp::isDefined   const [virtual]
 

Implements EBLevelOp.

void EBPoissonOp::levelGSRB LevelData< EBCellFAB > &    a_phi,
const LevelData< EBCellFAB > &    a_rhs
[private]
 

virtual void EBPoissonOp::levelPreconditioner LevelData< EBCellFAB > &    a_phihat,
const LevelData< EBCellFAB > &    a_rhshat
[virtual]
 

apply preconditioning to the solution on this level. Given rhshat, returns phihat from M(phihat) = rhshat

Implements GenLevelOp< EBCellFAB >.

virtual EBPoissonOp* EBPoissonOp::newOp   const [virtual]
 

virtual constructor workaround

Implements EBLevelOp.

void EBPoissonOp::setBottomSmoother const GenBaseBottomSmoother< LevelData< EBCellFAB > > &    a_bottomSmoother
 

void EBPoissonOp::setDefaultValues   [private]
 

void EBPoissonOp::smooth LevelData< EBCellFAB > &    a_phi,
const LevelData< EBCellFAB > &    a_rhs
 

Smoother. Assumes that problem has already been put in residual correction form, so that C/F boundary conditions are homogeneous.


Member Data Documentation

DisjointBoxLayout EBPoissonOp::m_baseBA [protected]
 

GenBaseBottomSmoother<LevelData<EBCellFAB> >* EBPoissonOp::m_bottomSmootherPtr [protected]
 

ProblemDomain EBPoissonOp::m_domain [protected]
 

Real EBPoissonOp::m_dxCrse [protected]
 

Real EBPoissonOp::m_dxLevel [protected]
 

Copier EBPoissonOp::m_exchangeCopier [protected]
 

DisjointBoxLayout EBPoissonOp::m_grids [protected]
 

bool EBPoissonOp::m_ihcfiEnabled [protected]
 

bool EBPoissonOp::m_isBCDefined [protected]
 

bool EBPoissonOp::m_isDefined [protected]
 

int EBPoissonOp::m_ncomp [protected]
 

QuadCFInterp EBPoissonOp::m_quadCFI [protected]
 

int EBPoissonOp::m_refRatio [protected]
 


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