This class contains stuff to solve div (grad phi) = rhs at one level.
|
Public Member Functions |
|
| NodePoissonOp () |
virtual NodeLevelOp * | new_levelop () const |
| ~NodePoissonOp () |
void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_gridsCoarsePtr, Real a_dx, int a_refToCoarse, const ProblemDomain &a_domain, bool a_homogeneousOnly=false, int a_ncomp=1, bool a_verbose=false) |
void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout *a_gridsCoarsePtr, Real a_dx, int a_refToCoarse, const Box &a_domain, bool a_homogeneousOnly=false, int a_ncomp=1, bool a_verbose=false) |
void | define (const NodeLevelOp *a_opfine, int a_refToFine) |
|
virtual bool | isDefined () const |
|
virtual void | setVerbose (bool a_verbose) |
void | setBottomSmoother (const NodeBaseBottomSmoother &a_bottomSmoother) |
void | setDomainNodeBC (const DomainNodeBC &a_dombcin) |
void | setInterpolationDegree (int a_interpolationDegree) |
|
void | CFInterp (LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_phiCoarse, bool a_inhomogeneous) |
void | homogeneousCFInterp (LevelData< NodeFArrayBox > &a_phi) |
|
void | residualI (LevelData< NodeFArrayBox > &a_resid, LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > *a_phiCoarsePtr, const LevelData< NodeFArrayBox > &a_rhs) |
void | residualH (LevelData< NodeFArrayBox > &a_resid, LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_rhs) |
void | residualIcfHphys (LevelData< NodeFArrayBox > &a_resid, LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > *a_phiCoarsePtr, const LevelData< NodeFArrayBox > &a_rhs) |
void | residualHcfIphys (LevelData< NodeFArrayBox > &a_resid, LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_rhs) |
|
void | applyOpI (LevelData< NodeFArrayBox > &a_LofPhi, LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > *a_phiCoarsePtr) |
void | applyOpH (LevelData< NodeFArrayBox > &a_LofPhi, LevelData< NodeFArrayBox > &a_phi) |
void | applyOpIcfHphys (LevelData< NodeFArrayBox > &a_LofPhi, LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > *a_phiCoarsePtr) |
void | applyOpHcfIphys (LevelData< NodeFArrayBox > &a_LofPhi, LevelData< NodeFArrayBox > &a_phi) |
|
void | gradient (LevelData< NodeFArrayBox > &a_gradPhi, LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > *a_phiCoarsePtr) |
|
void | smooth (LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_rhs) |
void | levelPreconditioner (LevelData< NodeFArrayBox > &a_phihat, const LevelData< NodeFArrayBox > &a_rhshat) |
void | bottomSmoother (LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_rhs) |
Protected Attributes |
DomainNodeBC | m_dombc |
int | m_interpolationDegree |
ProblemDomain | m_domainInteriorNodes |
DisjointBoxLayout | m_grids |
Copier | m_exchangeCopier |
DisjointBoxLayout | m_gridsCoarse |
int | m_ncomp |
int | m_refToCoarse |
Real | m_dx |
Real | m_dxCoarse |
bool | m_isDefined |
bool | m_isBCDefined |
bool | m_ihcfiEnabled |
LayoutData< NodeCFIVS > | m_loCFIVS [SpaceDim] |
LayoutData< NodeCFIVS > | m_hiCFIVS [SpaceDim] |
NodeQuadCFInterp | m_qcfi |
NodeBaseBottomSmoother * | m_bottomSmootherPtr |
LayoutData< Vector< IntVectSet > > | m_IVSV |
LayoutData< BitSet > | m_IVSVfull |
Private Member Functions |
void | setCFIVS () |
void | levelGSRB (LevelData< NodeFArrayBox > &a_phi, const LevelData< NodeFArrayBox > &a_rhs) |
void | applyOpOnly (LevelData< NodeFArrayBox > &a_LofPhi, const LevelData< NodeFArrayBox > &a_phi) |
void | gradientOnly (LevelData< NodeFArrayBox > &a_gradPhi, const LevelData< NodeFArrayBox > &a_phi) |
void | homogeneousCFInterp (FArrayBox &a_phiFab, const DataIndex &a_datInd, const int a_idir, const Side::LoHiSide a_hiorlo) |
void | clearMemory () |
void | setDefaultValues () |
void | residualDiff (LevelData< NodeFArrayBox > &a_resid, const LevelData< NodeFArrayBox > &a_rhs) |