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

LevelOp Class Reference

Pure base class to encapsulate level operations API for elliptic solvers. More...

#include <LevelOp.H>

Inheritance diagram for LevelOp:

Inheritance graph
[legend]
List of all members.

Public Methods

virtual void CFInterp (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_phiCoarse)=0
 constructors, destructors, defines

virtual void homogeneousCFInterp (LevelData< FArrayBox > &a_phi)=0
 LevelOp ()
virtual LevelOp * new_levelop () const=0
virtual bool isDefined () const=0
virtual void define (const DisjointBoxLayout &Ba, const DisjointBoxLayout *base_ba, Real DxLevel, int refratio, const Box &domf, bool homogeneousOnly, int ncomp=1)=0
virtual void define (const DisjointBoxLayout &Ba, const DisjointBoxLayout *base_ba, Real DxLevel, int refratio, const ProblemDomain &domf, bool homogeneousOnly, int ncomp=1)=0
virtual void define (const LevelOp *opfine, int reftofine)=0
virtual ~LevelOp ()
virtual void smooth (LevelData< FArrayBox > &phi, const LevelData< FArrayBox > &rhs)=0
virtual void levelPreconditioner (LevelData< FArrayBox > &a_phihat, const LevelData< FArrayBox > &a_rhshat)=0
virtual void applyOpI (LevelData< FArrayBox > &phi, const LevelData< FArrayBox > *phiCoarse, LevelData< FArrayBox > &LOfPhi)=0
virtual void applyOpIcfHphys (LevelData< FArrayBox > &phi, const LevelData< FArrayBox > *phiCoarse, LevelData< FArrayBox > &LOfPhi)=0
virtual void applyOpHcfIphys (LevelData< FArrayBox > &phi, LevelData< FArrayBox > &LOfPhi)=0
virtual void applyOpH (LevelData< FArrayBox > &phi, LevelData< FArrayBox > &LOfPhi)=0
virtual void bottomSmoother (LevelData< FArrayBox > &phi, const LevelData< FArrayBox > &rhs)=0
virtual void getFlux (FArrayBox &flux, const FArrayBox &data, const DataIndex &a_datInd, int dir)=0

Detailed Description

Pure base class to encapsulate level operations API for elliptic solvers.

LevelOp is a pure base class to encapsulate level operations API for elliptic solvers. All elliptic operators used by AMRSolver inherit the LevelOp interface.


Constructor & Destructor Documentation

LevelOp::LevelOp   [inline]
 

virtual LevelOp::~LevelOp   [inline, virtual]
 


Member Function Documentation

virtual void LevelOp::applyOpH LevelData< FArrayBox > &    phi,
LevelData< FArrayBox > &    LOfPhi
[pure virtual]
 

Evaluate Operator, homogeneous C/F boundary conditions. homogeneous phys boundary conditions.

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::applyOpHcfIphys LevelData< FArrayBox > &    phi,
LevelData< FArrayBox > &    LOfPhi
[pure virtual]
 

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

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::applyOpI LevelData< FArrayBox > &    phi,
const LevelData< FArrayBox > *    phiCoarse,
LevelData< FArrayBox > &    LOfPhi
[pure virtual]
 

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

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::applyOpIcfHphys LevelData< FArrayBox > &    phi,
const LevelData< FArrayBox > *    phiCoarse,
LevelData< FArrayBox > &    LOfPhi
[pure virtual]
 

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

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::bottomSmoother LevelData< FArrayBox > &    phi,
const LevelData< FArrayBox > &    rhs
[pure virtual]
 

smoother at bottom level

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::CFInterp LevelData< FArrayBox > &    a_phi,
const LevelData< FArrayBox > &    a_phiCoarse
[pure virtual]
 

constructors, destructors, defines

Coarse / Fine interpolation operator. Fill ghost cells of phi

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::define const LevelOp *    opfine,
int    reftofine
[pure virtual]
 

Full define function. define from finer levelop. reftofine is the refinement ratio to get from *this opfine

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::define const DisjointBoxLayout   Ba,
const DisjointBoxLayout   base_ba,
Real    DxLevel,
int    refratio,
const ProblemDomain   domf,
bool    homogeneousOnly,
int    ncomp = 1
[pure virtual]
 

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

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::define const DisjointBoxLayout   Ba,
const DisjointBoxLayout   base_ba,
Real    DxLevel,
int    refratio,
const Box   domf,
bool    homogeneousOnly,
int    ncomp = 1
[pure virtual]
 

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

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::getFlux FArrayBox   flux,
const FArrayBox   data,
const DataIndex   a_datInd,
int    dir
[pure virtual]
 

get flux( == flux at THIS level) The fluxes live on the cell faces with direction dir. Fluxes are computed for all interior edges of data. The flux fab is resized inside the routine.

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::homogeneousCFInterp LevelData< FArrayBox > &    a_phi [pure virtual]
 

homogeneous coarse/fine interpolation operator

Implemented in HelmholtzOp, and PoissonOp.

virtual bool LevelOp::isDefined   const [pure virtual]
 

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::levelPreconditioner LevelData< FArrayBox > &    a_phihat,
const LevelData< FArrayBox > &    a_rhshat
[pure virtual]
 

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

Implemented in HelmholtzOp, and PoissonOp.

virtual LevelOp* LevelOp::new_levelop   const [pure virtual]
 

this gets around the "no virtual constructor" rule

Implemented in HelmholtzOp, and PoissonOp.

virtual void LevelOp::smooth LevelData< FArrayBox > &    phi,
const LevelData< FArrayBox > &    rhs
[pure virtual]
 

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

Implemented in HelmholtzOp, and PoissonOp.


The documentation for this class was generated from the following file:
Generated on Wed Apr 16 14:27:43 2003 for Chombo by doxygen1.2.16