#include <LevelOp.H>
Inheritance diagram for LevelOp:
Public Member Functions | |
LevelOp () | |
Null constructor. | |
virtual | ~LevelOp () |
Destructor. | |
virtual void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_baseBAPtr, Real a_dxLevel, int a_refRatio, const ProblemDomain &a_domain, bool a_homogeneousOnly, int a_ncomp=1)=0 |
Full define function. | |
virtual void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_baseBAPtr, Real a_dxLevel, int a_refRatio, const Box &a_domain, bool a_homogeneousOnly, int a_ncomp=1)=0 |
Full define function. (Deprecated -- use the ProblemDomain version). | |
virtual void | define (const LevelOp *a_opfine, int a_reftoFine)=0 |
Full define function. | |
virtual void | CFInterp (LevelData< FArrayBox > &a_phif, const LevelData< FArrayBox > &a_phic)=0 |
Coarse / Fine interpolation operator. | |
virtual void | homogeneousCFInterp (LevelData< FArrayBox > &a_phif)=0 |
Homogeneous coarse/fine interpolation operator. | |
virtual LevelOp * | new_levelop () const =0 |
"Virtual constructor" workaround" | |
virtual bool | isDefined () const =0 |
Has this object been fully defined? | |
virtual void | smooth (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs)=0 |
Smoother. | |
virtual void | levelPreconditioner (LevelData< FArrayBox > &a_phihat, const LevelData< FArrayBox > &a_rhshat)=0 |
Apply preconditioning to the solution on this level. | |
virtual void | applyOpI (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > *a_phicPtr, LevelData< FArrayBox > &a_lofPhi)=0 |
Evaluate operator, inhomogeneous boundary conditions. | |
virtual void | applyOpIcfHphys (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > *a_phicPtr, LevelData< FArrayBox > &a_lofPhi)=0 |
Evaluate operator. | |
virtual void | applyOpHcfIphys (LevelData< FArrayBox > &a_phi, LevelData< FArrayBox > &a_lofPhi)=0 |
Evaluate operator. | |
virtual void | applyOpH (LevelData< FArrayBox > &a_phi, LevelData< FArrayBox > &a_lofPhi)=0 |
Evaluate Operator with homogeneous boundary conditions. | |
virtual void | bottomSmoother (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs)=0 |
Smoother at bottom level. | |
virtual void | getFlux (FArrayBox &a_fineFlux, const FArrayBox &a_data, const DataIndex &a_datInd, int a_dir)=0 |
Get flux at this level in the direction dir over the given Box. | |
virtual void | setConvergenceMetric (Real a_metric, int a_comp)=0 |
set the convergence metrics (if appropriate) for this problem |
LevelOp is a pure base class to encapsulate level operations API for elliptic solvers. All elliptic operators used by AMRSolver inherit the LevelOp interface.
|
Null constructor.
|
|
Destructor.
|
|
Evaluate Operator with homogeneous boundary conditions. Uses homogeneous form of both C/F and physical boundary conditions. Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Evaluate operator. Uses homogeneous form of C/F boundary conditions and inhomogeneous form of physical boundary conditions. Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Evaluate operator, inhomogeneous boundary conditions. Uses inhomogeneous form of both C/F and physical boundary conditions. Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Evaluate operator. Uses inhomogeneous form of C/F boundary conditions. homogeneous form of phys boundary conditions. Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Smoother at bottom level.
Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Coarse / Fine interpolation operator. Fill ghost cells of phi by interpolating using coarse-level and fine-level data.
Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Full define function. Define from finer levelop. reftofine is the refinement ratio to get from this LevelOp to opfine
Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Full define function. (Deprecated -- use the ProblemDomain version). Makes all coarse-fine information and sets internal variables Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Full define function. Makes all coarse-fine information and sets internal variables
Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Get flux at this level in the direction dir over the given Box. 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, PoissonOp, and TensorOp. |
|
Homogeneous coarse/fine interpolation operator.
Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Has this object been fully defined?
Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Apply preconditioning to the solution on this level. Given rhshat, returns phihat from M(phihat) = rhshat Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
"Virtual constructor" workaround"
Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
set the convergence metrics (if appropriate) for this problem If this LevelOp is being used in the context of a solve, we may wish to set a metric against which to define convergence (for example, the norm of the RHS). In many cases, this will simply be a pass-through to a bottom solver. Implemented in HelmholtzOp, PoissonOp, and TensorOp. |
|
Smoother. Assumes that problem has already been put in residual correction form, so that C/F boundary conditions are homogeneous.
Implemented in HelmholtzOp, PoissonOp, and TensorOp. |