#include <LevelOp.H>
Inheritance diagram for LevelOp:
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 |
LevelOp is a pure base class to encapsulate level operations API for elliptic solvers. All elliptic operators used by AMRSolver inherit the LevelOp interface.
|
|
|
|
|
Evaluate Operator, homogeneous C/F boundary conditions. homogeneous phys boundary conditions. Implemented in HelmholtzOp, and PoissonOp. |
|
Evaluate Operator, homogeneous C/F boundary conditions. inhomogeneous phys boundary conditions. Implemented in HelmholtzOp, and PoissonOp. |
|
Evaluate Operator, inhomogeneous C/F boundary conditions. inhomogeneous phys boundary conditions. Implemented in HelmholtzOp, and PoissonOp. |
|
Evaluate Operator, inhomogeneous C/F boundary conditions. homogeneous phys boundary conditions. Implemented in HelmholtzOp, and PoissonOp. |
|
smoother at bottom level Implemented in HelmholtzOp, and PoissonOp. |
|
constructors, destructors, defines Coarse / Fine interpolation operator. Fill ghost cells of phi Implemented in HelmholtzOp, and PoissonOp. |
|
Full define function. define from finer levelop. reftofine is the refinement ratio to get from *this opfine Implemented in HelmholtzOp, and PoissonOp. |
|
Full define function. makes all coarse-fine information and sets internal variables Implemented in HelmholtzOp, and PoissonOp. |
|
Full define function. makes all coarse-fine information and sets internal variables Implemented in HelmholtzOp, and PoissonOp. |
|
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. |
|
homogeneous coarse/fine interpolation operator Implemented in HelmholtzOp, and PoissonOp. |
|
Implemented in VelocityPoissonOp, HelmholtzOp, and PoissonOp. |
|
apply preconditioning to the solution on this level. Given rhshat, returns phihat from M(phihat) = rhshat Implemented in HelmholtzOp, and PoissonOp. |
|
this gets around the "no virtual constructor" rule Implemented in VelocityPoissonOp, HelmholtzOp, and PoissonOp. |
|
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. |