11 #ifndef _POISSONOP4_H_ 12 #define _POISSONOP4_H_ 21 #include "NamespaceHeader.H" 51 bool a_homogeneous =
false);
58 bool a_homogeneous =
false);
79 const Real& a_scale) ;
147 bool a_homoOnly =
true);
149 virtual void MGreclaim(
PoissonOp4* a_reclaim);
156 #include "NamespaceFooter.H" virtual void restrictResidual(LevelData< FArrayBox > &a_resCoarse, LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_rhsFine)
virtual void residual(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs, bool a_homogeneous=false)
virtual void preCond(LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_residual)
BCFunc m_bc
Definition: PoissonOp4.H:152
A class to facilitate interaction with physical boundary conditions.
Definition: ProblemDomain.H:141
virtual void incr(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_x, Real a_scale)
virtual void create(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs)
virtual ~PoissonOp4Factory()
Definition: PoissonOp4.H:141
static const int m_nGhost
Definition: PoissonOp4.H:34
LevelDataOps< FArrayBox > m_levelOps
Definition: PoissonOp4.H:123
PoissonOp4()
Definition: PoissonOp4.H:26
DisjointBoxLayout m_coarsenedMGrids
Definition: PoissonOp4.H:124
virtual void scale(LevelData< FArrayBox > &a_lhs, const Real &a_scale)
Definition: PoissonOp4.H:23
virtual void axby(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_x, const LevelData< FArrayBox > &a_y, Real a, Real b)
virtual Real dotProduct(const LevelData< FArrayBox > &a_1, const LevelData< FArrayBox > &a_2)
virtual void prolongIncrement(LevelData< FArrayBox > &a_phiThisLevel, const LevelData< FArrayBox > &a_correctCoarse)
void(* BCFunc)(FArrayBox &a_state, const Box &a_valid, const ProblemDomain &a_domain, Real a_dx, bool a_homogeneous)
Definition: BCFunc.H:30
void levelGSRB(LevelData< FArrayBox > &a_e, const LevelData< FArrayBox > &a_residual)
Definition: MultiGrid.H:294
ProblemDomain m_domain
Definition: PoissonOp4.H:120
double Real
Definition: REAL.H:33
Definition: MultiGrid.H:30
Definition: PoissonOp4.H:131
BCFunc m_bc
Definition: PoissonOp4.H:121
virtual ~PoissonOp4()
Definition: PoissonOp4.H:30
A BoxLayout that has a concept of disjointedness.
Definition: DisjointBoxLayout.H:30
A Real vector in SpaceDim-dimensional space.
Definition: RealVect.H:41
virtual void assign(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs)
virtual void applyOp(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi, bool a_homogeneous=false)
RealVect m_dx
Definition: PoissonOp4.H:151
virtual void createCoarser(LevelData< FArrayBox > &a_coarse, const LevelData< FArrayBox > &a_fine, bool ghost)
virtual void setToZero(LevelData< FArrayBox > &a_x)
RealVect m_dxCrse
Definition: PoissonOp4.H:119
virtual Real norm(const LevelData< FArrayBox > &a_x, int a_ord)
RealVect m_dx
Definition: PoissonOp4.H:118
void define(const RealVect &a_dx, const ProblemDomain &a_domain, BCFunc a_bc)
virtual void createCoarsened(LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs, const int &a_refRat)
virtual void relax(LevelData< FArrayBox > &a_e, const LevelData< FArrayBox > &a_residual, int iterations)