11 #ifndef _EBPOISSONOP_H__    12 #define _EBPOISSONOP_H__    40 #include "NamespaceHeader.H"    46 #define EBPOISSONOP_JACOBI_OMEGA 0.67    50 #define EBPO_NUMSTEN 4    52 #define EBPO_NUMSTEN 8    56   THIS_WILL_ONLY_COMPILE_WHEN_CH_SPACEDIM_IS_2_OR_3;
    99                  const bool&                          a_hasMGObjects,
   100                  const int&                           a_numPreCondIters,
   101                  const int&                           a_relaxType,
   102                  const int&                           a_orderEB,
   105                  const IntVect&                       a_ghostCellsPhi,
   106                  const IntVect&                       a_ghostCellsRHS);
   116                         bool                        a_homogeneousPhysBC=
false);
   129                     const Real&                       a_weight,
   130                     const bool&                       a_homogeneousPhysBC);
   136                       const bool&                       a_homogeneousPhysBC,
   146                        bool                              a_homogeneousPhysBC,
   148                        bool do_exchange = 
true);
   152                        bool                              a_homogeneousPhysBC)
   155     applyOp(a_opPhi, a_phi, a_homogeneousPhysBC, dit, 
true);
   196                      const Real&           a_scale);
   258                const IntVect& color, 
int icolor);
   339                        const bool&             a_lowOrder);
   349                         const bool&             a_lowOrder);
   368                        bool a_homogeneousPhysBC,
   384                              bool a_homogeneousPhysBC,
   395                        bool a_homogeneousPhysBC,
   421 #include "NamespaceFooter.H" virtual void GSColorAllRegular(LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs, const IntVect &a_color, const Real &a_weight, const bool &a_homogeneousPhysBC)
 
EBISLayout m_ebislCoarMG
Definition: EBPoissonOp.H:317
 
const IntVect m_ghostCellsPhi
Definition: EBPoissonOp.H:266
 
Real m_dxScale
Definition: EBPoissonOp.H:281
 
Real m_beta
Definition: EBPoissonOp.H:283
 
LayoutData< VoFIterator > m_vofItIrregColorDomLo[EBPO_NUMSTEN][SpaceDim]
Definition: EBPoissonOp.H:309
 
int m_numPreCondIters
Definition: EBPoissonOp.H:287
 
A class to facilitate interaction with physical boundary conditions. 
Definition: ProblemDomain.H:141
 
RealVect m_origin
Definition: EBPoissonOp.H:285
 
void operator=(const EBPoissonOp &a_opin)
Definition: EBPoissonOp.H:414
 
void applyDomainFlux(Box *a_loBox, Box *a_hiBox, int *a_hasLo, int *a_hasHi, Box &a_curPhiBox, int a_nComps, BaseFab< Real > &a_phiFAB, bool a_homogeneousPhysBC, const DataIndex &a_dit, const Real &a_beta)
 
void colorGS(LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs, const IntVect &color, int icolor)
 
virtual void incr(LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_x, Real a_scale)
 
const IntVect m_ghostCellsRHS
Definition: EBPoissonOp.H:267
 
virtual void preCond(LevelData< EBCellFAB > &a_opPhi, const LevelData< EBCellFAB > &a_phi)
 
Definition: FaceIndex.H:28
 
Data that maintains a one-to-one mapping of T to the boxes in a BoxLayout. 
Definition: BoxLayout.H:26
 
LayoutData< RefCountedPtr< EBStencil > > m_colorEBStencil[EBPO_NUMSTEN]
Definition: EBPoissonOp.H:294
 
Definition: EBLevelGrid.H:30
 
DataIterator dataIterator() const
Definition: LayoutDataI.H:78
 
virtual void setToZero(LevelData< EBCellFAB > &a_lhs)
 
static bool nextColor(IntVect &color, const IntVect &limit)
 
void getOpFaceStencil(VoFStencil &a_stencil, const Vector< VolIndex > &a_allMonotoneVofs, const EBISBox &a_ebisbox, const VolIndex &a_vof, int a_dir, const Side::LoHiSide &a_side, const FaceIndex &a_face, const bool &a_lowOrder)
 
LayoutData< VoFIterator > m_vofItIrreg
Definition: EBPoissonOp.H:303
 
Definition: DataIterator.H:190
 
void levelMulticolorGS(LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs)
 
virtual void scale(LevelData< EBCellFAB > &a_lhs, const Real &a_scale)
 
virtual void applyOp(LevelData< EBCellFAB > &a_opPhi, const LevelData< EBCellFAB > &a_phi, bool a_homogeneousPhysBC)
Definition: EBPoissonOp.H:150
 
virtual void axby(LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_x, const LevelData< EBCellFAB > &a_y, Real a_a, Real a_b)
 
LayoutData< VoFIterator > m_vofItIrregDomHi[SpaceDim]
Definition: EBPoissonOp.H:307
 
LayoutData< VoFIterator > m_vofItIrregColor[EBPO_NUMSTEN]
Definition: EBPoissonOp.H:304
 
LayoutData< RefCountedPtr< EBStencil > > m_opEBStencil
Definition: EBPoissonOp.H:292
 
static int getIndex(const IntVect &a_color)
 
Real m_alpha
Definition: EBPoissonOp.H:282
 
ProblemDomain m_domainCoarMG
Definition: EBPoissonOp.H:318
 
Piecewise constant interpolation. 
Definition: EBMGInterp.H:33
 
const int SpaceDim
Definition: SPACE.H:38
 
virtual Real dotProduct(const LevelData< EBCellFAB > &a_1, const LevelData< EBCellFAB > &a_2)
 
VoF-centered stencil. 
Definition: Stencils.H:60
 
EBMGInterp m_ebInterpMG
Definition: EBPoissonOp.H:315
 
virtual void applyOp(LevelData< EBCellFAB > &a_opPhi, const LevelData< EBCellFAB > &a_phi, bool a_homogeneousPhysBC, DataIterator &a_dit, bool do_exchange=true)
 
virtual void restrictResidual(LevelData< EBCellFAB > &a_resCoarse, LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_rhsFine)
 
virtual void create(LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
 
void levelJacobi(LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs)
 
RealVect m_dx
Definition: EBPoissonOp.H:277
 
virtual void setVal(LevelData< EBCellFAB > &a_lhs, const Real &a_value)
 
double Real
Definition: REAL.H:33
 
Definition: MultiGrid.H:30
 
LayoutData< BaseIVFAB< Real > > m_alphaDiagWeight
Definition: EBPoissonOp.H:298
 
void THIS_IS_AN_ERROR_MESSAGE(void)
Definition: EBPoissonOp.H:54
 
A BoxLayout that has a concept of disjointedness. 
Definition: DisjointBoxLayout.H:30
 
LayoutData< VoFIterator > m_vofItIrregDomLo[SpaceDim]
Definition: EBPoissonOp.H:306
 
LoHiSide
Definition: LoHiSide.H:27
 
virtual Real norm(const LevelData< EBCellFAB > &a_rhs, int a_ord)
 
int m_orderEB
Definition: EBPoissonOp.H:286
 
static void Error(const char *const a_msg=m_nullString, int m_exitCode=CH_DEFAULT_ERROR_CODE)
Print out message to cerr and exit with the specified exit code. 
 
virtual void createCoarser(LevelData< EBCellFAB > &a_coarse, const LevelData< EBCellFAB > &a_fine, bool a_ghosted)
 
void applyOpRegularAllDirs(Box *a_loBox, Box *a_hiBox, int *a_hasLo, int *a_hasHi, Box &a_curOpPhiBox, Box &a_curPhiBox, int a_nComps, BaseFab< Real > &a_curOpPhiFAB, const BaseFab< Real > &a_curPhiFAB, bool a_homogeneousPhysBC, const DataIndex &a_dit, const Real &a_beta)
 
virtual void GSColorAllIrregular(LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs, const IntVect &a_color, const bool &a_homogeneousPhysBC, int icolor)
 
static IntVect getColor(const int &a_icolor)
 
RefCountedPtr< BaseDomainBC > m_domainBC
Definition: EBPoissonOp.H:274
 
LayoutData< BaseIVFAB< Real > > m_betaDiagWeight
Definition: EBPoissonOp.H:300
 
A Rectangular Domain on an Integer Lattice. 
Definition: Box.H:465
 
A Real vector in SpaceDim-dimensional space. 
Definition: RealVect.H:41
 
void getInvDiagRHS(LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
 
RefCountedPtr< BaseEBBC > m_ebBC
Definition: EBPoissonOp.H:275
 
Definition: DataIndex.H:112
 
Definition: EBPoissonOp.H:63
 
EBLevelGrid m_eblgCoarMG
Definition: EBPoissonOp.H:272
 
Piecewise constant interpolation. 
Definition: EBMGAverage.H:31
 
LayoutData< RefCountedPtr< EBStencil > > m_rhsColorEBStencil[EBPO_NUMSTEN]
Definition: EBPoissonOp.H:296
 
LayoutData< VoFIterator > m_vofItIrregColorDomHi[EBPO_NUMSTEN][SpaceDim]
Definition: EBPoissonOp.H:310
 
void getOpVoFStencil(VoFStencil &a_stencil, const EBISBox &a_ebisbox, const VolIndex &a_vof)
 
An integer Vector in SpaceDim-dimensional space. 
Definition: CHArray.H:42
 
bool m_hasMGObjects
Definition: EBPoissonOp.H:312
 
void getJacobiRelaxCoeff(LevelData< EBCellFAB > &a_relaxCoeff)
 
EBPoissonOp(const EBPoissonOp &a_opin)
Definition: EBPoissonOp.H:409
 
virtual void residual(LevelData< EBCellFAB > &a_residual, const LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs, bool a_homogeneousPhysBC=false)
 
Volume of Fluid Index. 
Definition: VolIndex.H:31
 
void applyOpRegular(int idir, Box *a_loBox, Box *a_hiBox, int *a_hasLo, int *a_hasHi, Box &a_curOpPhiBox, Box &a_curPhiBox, int a_nComps, BaseFab< Real > &a_curOpPhiFAB, const BaseFab< Real > &a_curPhiFAB, bool a_homogeneousPhysBC, const DataIndex &a_dit, const Real &a_beta)
 
Definition: EBISLayout.H:39
 
virtual void relax(LevelData< EBCellFAB > &a_e, const LevelData< EBCellFAB > &a_residual, int a_iterations)
 
RealVect m_invDx
Definition: EBPoissonOp.H:279
 
virtual void prolongIncrement(LevelData< EBCellFAB > &a_phiThisLevel, const LevelData< EBCellFAB > &a_correctCoarse)
 
RealVect m_invDx2
Definition: EBPoissonOp.H:280
 
int m_relaxType
Definition: EBPoissonOp.H:288
 
Vector< IntVect > m_colors
Definition: EBPoissonOp.H:268
 
DisjointBoxLayout m_dblCoarMG
Definition: EBPoissonOp.H:316
 
EBMGAverage m_ebAverageMG
Definition: EBPoissonOp.H:314
 
EBLevelGrid m_eblg
Definition: EBPoissonOp.H:271
 
Real m_time
Definition: EBPoissonOp.H:284
 
virtual void assign(LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)