Chombo + EB  3.2
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | List of all members
EBConductivityOp Class Reference

#include <EBConductivityOp.H>

Inheritance diagram for EBConductivityOp:
Inheritance graph
[legend]

Public Member Functions

virtual void dumpAMR (Vector< LevelData< EBCellFAB > *> &a_data, string name)
 for debugging More...
 
virtual void dumpLevel (LevelData< EBCellFAB > &a_data, string name)
 for debugging More...
 
 EBConductivityOp (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblg, const EBLevelGrid &a_eblgCoar, const EBLevelGrid &a_eblgCoarMG, const RefCountedPtr< EBQuadCFInterp > &a_quadCFI, const RefCountedPtr< ConductivityBaseDomainBC > &a_domainBC, const RefCountedPtr< ConductivityBaseEBBC > &a_ebBC, const Real &a_dx, const Real &a_dxCoar, const int &a_refToFine, const int &a_refToCoar, const bool &a_hasFine, const bool &a_hasCoar, const bool &a_hasMGObjects, const bool &a_layoutChanged, const Real &a_alpha, const Real &a_beta, const RefCountedPtr< LevelData< EBCellFAB > > &a_acoef, const RefCountedPtr< LevelData< EBFluxFAB > > &a_bcoef, const RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_bcoIrreg, const IntVect &a_ghostCellsPhi, const IntVect &a_ghostCellsRHS, const int &a_relaxType)
 
 ~EBConductivityOp ()
 Destructor. More...
 
Real getSafety ()
 
virtual void resetACoefficient (RefCountedPtr< LevelData< EBCellFAB > > &a_acoef)
 
virtual void kappaScale (LevelData< EBCellFAB > &a_rhs)
 for eb only. kappa weight the rhs but do not multiply by the identity coefficient More...
 
Real dx () const
 returns m_dx, such function is required by some LinearSolvers More...
 
void AMRResidualNC (LevelData< EBCellFAB > &a_residual, const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs, bool a_homogeneousBC, AMRLevelOp< LevelData< EBCellFAB > > *a_finerOp)
 
void AMROperatorNC (LevelData< EBCellFAB > &a_LofPhi, const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi, bool a_homogeneousBC, AMRLevelOp< LevelData< EBCellFAB > > *a_finerOp)
 
void setAlphaAndBeta (const Real &a_alpha, const Real &a_beta)
 
void diagonalScale (LevelData< EBCellFAB > &a_rhs, bool a_kappaWeighted)
 
void divideByIdentityCoef (LevelData< EBCellFAB > &a_rhs)
 
void fillGrad (const LevelData< EBCellFAB > &a_phi)
 These functions are part of the LevelTGA interface...... More...
 
void getFlux (EBFluxFAB &a_flux, const LevelData< EBCellFAB > &a_data, const Box &a_grid, const DataIndex &a_dit, Real a_scale)
 
void getFlux (EBFaceFAB &a_fluxCentroid, const EBCellFAB &a_phi, const Box &a_ghostedBox, const Box &a_fabBox, const ProblemDomain &a_domain, const EBISBox &a_ebisBox, const Real &a_dx, const DataIndex &a_datInd, const int &a_idir)
 
void setTime (Real a_oldTime, Real a_mu, Real a_dt)
 
void finerOperatorChanged (const MGLevelOp< LevelData< EBCellFAB > > &a_operator, int a_coarseningFactor)
 
virtual void residual (LevelData< EBCellFAB > &a_residual, const LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs, bool a_homogeneousPhysBC=false)
 
virtual void preCond (LevelData< EBCellFAB > &a_opPhi, const LevelData< EBCellFAB > &a_phi)
 
virtual void applyOp (LevelData< EBCellFAB > &a_opPhi, const LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > *const a_phiCoarse, const bool &a_homogeneousPhysBC, const bool &a_homogeneousCFBC)
 
virtual void applyOpNoBoundary (LevelData< EBCellFAB > &a_opPhi, const LevelData< EBCellFAB > &a_phi)
 virtual function called by LevelTGA More...
 
virtual void applyOp (LevelData< EBCellFAB > &a_opPhi, const LevelData< EBCellFAB > &a_phi, bool a_homogeneousPhysBC)
 
virtual void create (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
 
virtual void createCoarsened (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs, const int &a_refRat)
 
Real AMRNorm (const LevelData< EBCellFAB > &a_coarResid, const LevelData< EBCellFAB > &a_fineResid, const int &a_refRat, const int &a_ord)
 
virtual void assign (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
 
virtual Real dotProduct (const LevelData< EBCellFAB > &a_1, const LevelData< EBCellFAB > &a_2)
 
virtual void incr (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_x, Real a_scale)
 
virtual void axby (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_x, const LevelData< EBCellFAB > &a_y, Real a_a, Real a_b)
 
virtual void scale (LevelData< EBCellFAB > &a_lhs, const Real &a_scale)
 
virtual Real norm (const LevelData< EBCellFAB > &a_rhs, int a_ord)
 
virtual Real localMaxNorm (const LevelData< EBCellFAB > &a_rhs)
 
virtual void setToZero (LevelData< EBCellFAB > &a_lhs)
 
virtual void setVal (LevelData< EBCellFAB > &a_lhs, const Real &a_value)
 
virtual void createCoarser (LevelData< EBCellFAB > &a_coarse, const LevelData< EBCellFAB > &a_fine, bool a_ghosted)
 
virtual void relax (LevelData< EBCellFAB > &a_e, const LevelData< EBCellFAB > &a_residual, int a_iterations)
 
virtual void relaxGauSai (LevelData< EBCellFAB > &a_e, const LevelData< EBCellFAB > &a_residual, int a_iterations)
 
virtual void relaxPoiJac (LevelData< EBCellFAB > &a_e, const LevelData< EBCellFAB > &a_residual, int a_iterations)
 
virtual void relaxGSRBFast (LevelData< EBCellFAB > &a_e, const LevelData< EBCellFAB > &a_residual, int a_iterations)
 
virtual void restrictResidual (LevelData< EBCellFAB > &a_resCoarse, LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_rhsFine)
 
virtual void prolongIncrement (LevelData< EBCellFAB > &a_phiThisLevel, const LevelData< EBCellFAB > &a_correctCoarse)
 
virtual int refToCoarser ()
 
virtual int refToFiner ()
 
virtual void AMRResidual (LevelData< EBCellFAB > &a_residual, const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_phiCoarse, const LevelData< EBCellFAB > &a_rhs, bool a_homogeneousBC, AMRLevelOp< LevelData< EBCellFAB > > *a_finerOp)
 
virtual void AMRResidualNF (LevelData< EBCellFAB > &a_residual, const LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_phiCoarse, const LevelData< EBCellFAB > &a_rhs, bool a_homogeneousBC)
 
virtual void AMROperator (LevelData< EBCellFAB > &a_LofPhi, const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_phiCoarse, bool a_homogeneousBC, AMRLevelOp< LevelData< EBCellFAB > > *a_finerOp)
 
virtual void AMROperatorNF (LevelData< EBCellFAB > &a_LofPhi, const LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_phiCoarse, bool a_homogeneousBC)
 
virtual void AMRRestrict (LevelData< EBCellFAB > &a_resCoarse, const LevelData< EBCellFAB > &a_residual, const LevelData< EBCellFAB > &a_correction, const LevelData< EBCellFAB > &a_coarseCorrection, bool a_skip_res=false)
 
virtual void AMRProlong (LevelData< EBCellFAB > &a_correction, const LevelData< EBCellFAB > &a_coarseCorrection)
 
virtual void AMRUpdateResidual (LevelData< EBCellFAB > &a_residual, const LevelData< EBCellFAB > &a_correction, const LevelData< EBCellFAB > &a_coarseCorrection)
 
void reflux (LevelData< EBCellFAB > &a_residual, const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi, AMRLevelOp< LevelData< EBCellFAB > > *a_finerOp)
 
void gsrbColor (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_lph, const LevelData< EBCellFAB > &a_rhs, const IntVect &a_color)
 
void getDivFStencil (VoFStencil &a_vofStencil, const VolIndex &a_vof, const DataIndex &a_dit)
 
void getFluxStencil (VoFStencil &a_fluxStencil, const FaceIndex &a_face, const DataIndex &a_dit)
 
void getFaceCenteredFluxStencil (VoFStencil &a_fluxStencil, const FaceIndex &a_face, const DataIndex &a_dit)
 
void incrOpRegularDir (EBCellFAB &a_lhs, const EBCellFAB &a_phi, const bool &a_homogeneous, const int &a_dir, const DataIndex &a_datInd)
 
void applyOpIrregular (EBCellFAB &a_lhs, const EBCellFAB &a_phi, const bool &a_homogeneous, const DataIndex &a_datInd)
 
const EBLevelGridgetEBLG () const
 
void defineStencils ()
 do not call this one unless you really know what you are doing More...
 
void getAlphaDiagWeight (LayoutData< BaseIVFAB< Real > > const *&a_alphaDiagWeight)
 
void getAlphaBeta (Real &a_alpha, Real &a_beta)
 
const RefCountedPtr< BaseDomainBCgetDomainBC ()
 
const RefCountedPtr< LevelData< EBCellFAB > > getAScalingCoefficients ()
 
const RefCountedPtr< LevelData< EBFluxFAB > > getBScalingCoefficients ()
 
void getEBBCFluxStencil (LayoutData< BaseIVFAB< VoFStencil > > const *&a_ebbcFluxStencil)
 
- Public Member Functions inherited from LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB >
 LevelTGAHelmOp ()
 
 LevelTGAHelmOp (bool a_isTimeIndependent)
 
virtual ~LevelTGAHelmOp ()
 Destructor. More...
 
- Public Member Functions inherited from TGAHelmOp< LevelData< EBCellFAB > >
 TGAHelmOp ()
 
 TGAHelmOp (bool a_isTimeDependent)
 
virtual ~TGAHelmOp ()
 Destructor. More...
 
virtual void diagonalScale (LevelData< EBCellFAB > &a_rhs)
 
virtual void setTime (Real a_time)
 
bool isTimeDependent () const
 Returns true if the operator is time-dependent, false otherwise. More...
 
virtual LevelData< EBCellFAB > & identityCoef ()
 Allows access to the identity coefficient data for the operator. More...
 
- Public Member Functions inherited from AMRLevelOp< LevelData< EBCellFAB > >
 AMRLevelOp ()
 Constructor. More...
 
virtual void dumpStuff (Vector< LevelData< EBCellFAB > * > data, string filename)
 
virtual ~AMRLevelOp ()
 Destructor. More...
 
virtual void outputLevel (LevelData< EBCellFAB > &a_rhs, string &a_name)
 
virtual void outputAMR (Vector< LevelData< EBCellFAB > * > &a_rhs, string &a_name)
 
virtual void buildCopier (Copier &a_copier, const LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
 
virtual void assignCopier (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs, const Copier &a_copier)
 
virtual void zeroCovered (LevelData< EBCellFAB > &a_lhs, LevelData< EBCellFAB > &a_rhs, const Copier &a_copier)
 
virtual void AMRProlongS (LevelData< EBCellFAB > &a_correction, const LevelData< EBCellFAB > &a_coarseCorrection, LevelData< EBCellFAB > &a_temp, const Copier &a_copier)
 
virtual void AMRProlongS_2 (LevelData< EBCellFAB > &a_correction, const LevelData< EBCellFAB > &a_coarseCorrection, LevelData< EBCellFAB > &a_temp, const Copier &a_copier, const Copier &a_cornerCopier, const AMRLevelOp< LevelData< FArrayBox > > *a_crsOp)
 
virtual void AMRRestrictS (LevelData< EBCellFAB > &a_resCoarse, const LevelData< EBCellFAB > &a_residual, const LevelData< EBCellFAB > &a_correction, const LevelData< EBCellFAB > &a_coarseCorrection, LevelData< EBCellFAB > &scratch, bool a_skip_res=false)
 
virtual unsigned int orderOfAccuracy (void) const
 
virtual void enforceCFConsistency (LevelData< EBCellFAB > &a_coarseCorrection, const LevelData< EBCellFAB > &a_correction)
 This routine is for operators with orderOfAccuracy()>2. More...
 
- Public Member Functions inherited from MGLevelOp< LevelData< EBCellFAB > >
 MGLevelOp ()
 Constructor. More...
 
virtual ~MGLevelOp ()
 Destructor. More...
 
virtual void relaxNF (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > *a_phiCoarse, const LevelData< EBCellFAB > &a_rhs, int a_iterations)
 specialized no-fine relax function, useful for full-multigrid schemes, defaults to regular relax More...
 
virtual void restrictResidual (LevelData< EBCellFAB > &a_resCoarse, LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > *a_phiCoarse, const LevelData< EBCellFAB > &a_rhsFine, bool homogeneous)
 full-multigrid version of restrictResidual, useful for FAS-type schemes. Defaults to standard restriction More...
 
virtual void restrictR (LevelData< EBCellFAB > &a_phiCoarse, const LevelData< EBCellFAB > &a_phiFine)
 simple restriction function More...
 
void addObserver (MGLevelOpObserver< LevelData< EBCellFAB > > *a_observer)
 
virtual void applyOpMg (LevelData< EBCellFAB > &a_lhs, LevelData< EBCellFAB > &a_phi, LevelData< EBCellFAB > *a_phiCoarse, bool a_homogeneous)
 Apply an operator. More...
 
virtual void residualNF (LevelData< EBCellFAB > &a_lhs, LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > *a_phiCoarse, const LevelData< EBCellFAB > &a_rhs, bool a_homogeneous=false)
 
void removeObserver (MGLevelOpObserver< LevelData< EBCellFAB > > *a_observer)
 
void addCoarserObserver (MGLevelOp< LevelData< EBCellFAB > > *a_operator, int a_coarseningFactor)
 
void notifyObserversOfChange ()
 This should be called whenever the operator's data is updated. More...
 
int numObservers () const
 Returns the number of objects observing this operator. More...
 
- Public Member Functions inherited from LinearOp< LevelData< EBCellFAB > >
virtual ~LinearOp ()
 
virtual void clear (LevelData< EBCellFAB > &a_lhs)
 
virtual void assignLocal (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_rhs)
 
virtual void mDotProduct (const LevelData< EBCellFAB > &a_1, const int a_sz, const LevelData< EBCellFAB > a_2[], Real a_mdots[])
 
virtual void write (const LevelData< EBCellFAB > *a, const char *filename)
 
- Public Member Functions inherited from MGLevelOpObserver< LevelData< EBCellFAB > >
 MGLevelOpObserver ()
 Base level Constructor. Called by all subclasses. More...
 
virtual ~MGLevelOpObserver ()
 Destructor. More...
 
virtual void operatorChanged (const MGLevelOp< LevelData< EBCellFAB > > &a_operator)
 
void setObservee (MGLevelOp< LevelData< EBCellFAB > > *a_observee)
 
void clearObservee ()
 

Static Public Member Functions

static void setForceNoEBCF (bool a_forceNoEBCF)
 

Static Public Attributes

static int s_numComps
 
static int s_whichComp
 

Protected Member Functions

void incrOpRegularAllDirs (Box *a_loBox, Box *a_hiBox, int *a_hasLo, int *a_hasHi, Box &a_curDblBox, Box &a_curPhiBox, int a_nComps, BaseFab< Real > &a_curOpPhiFAB, const BaseFab< Real > &a_curPhiFAB, bool a_homogeneousPhysBC, const DataIndex &a_dit)
 
void applyDomainFlux (Box *a_loBox, Box *a_hiBox, int *a_hasLo, int *a_hasHi, Box &a_dblBox, int a_nComps, BaseFab< Real > &a_phiFAB, bool a_homogeneousPhysBC, const DataIndex &a_dit)
 
void GSColorAllIrregular (EBCellFAB &a_phi, const EBCellFAB &a_rhs, const int &a_icolor, const DataIndex &a_dit)
 
void dumpFABPoint (const EBCellFAB &a_fab, const DataIndex &a_dit, const string &a_blab)
 
void dumpLevelPoint (const LevelData< EBCellFAB > &a_res, const string &a_blab)
 
virtual void calculateAlphaWeight ()
 
virtual void calculateRelaxationCoefficient ()
 
void defineColorStencils (Box a_ideBoxLo[SpaceDim], Box a_ideBoxHi[SpaceDim])
 
void defineEBCFStencils ()
 
void getFluxEBCF (EBFaceFAB &a_flux, const EBCellFAB &a_phi, const Box &a_ghostedBox, Vector< FaceIndex > &a_faceitEBCF, Vector< VoFStencil > &a_stenEBCF)
 
void getFluxRegOnly (EBFaceFAB &a_fluxCentroid, const EBCellFAB &a_phi, const Box &a_ghostedBox, const Real &a_dx, const DataIndex &a_datInd, const int &a_idir)
 

Protected Attributes

LayoutData< Vector< FaceIndex > > m_faceitCoar [2 *SpaceDim]
 
LayoutData< Vector< VoFStencil > > m_stencilCoar [2 *SpaceDim]
 
LayoutData< VoFIteratorm_vofItIrregColorDomLo [EBAMRPOVC_NUMSTEN][SpaceDim]
 
LayoutData< VoFIteratorm_vofItIrregColorDomHi [EBAMRPOVC_NUMSTEN][SpaceDim]
 
LayoutData< BaseIVFAB< Real > > m_cacheEBxDomainFluxLo [EBAMRPOVC_NUMSTEN][SpaceDim]
 
LayoutData< BaseIVFAB< Real > > m_cacheEBxDomainFluxHi [EBAMRPOVC_NUMSTEN][SpaceDim]
 
LayoutData< RefCountedPtr< EBStencil > > m_colorEBStencil [EBAMRPOVC_NUMSTEN]
 
int m_relaxType
 
const IntVect m_ghostCellsPhi
 
const IntVect m_ghostCellsRHS
 
RefCountedPtr< EBQuadCFInterpm_quadCFIWithCoar
 
EBLevelGrid m_eblg
 
EBLevelGrid m_eblgFine
 
EBLevelGrid m_eblgCoar
 
EBLevelGrid m_eblgCoarMG
 
EBLevelGrid m_eblgCoarsenedFine
 
RefCountedPtr< BaseDomainBCm_domainBC
 
RefCountedPtr< BaseEBBCm_ebBC
 
Real m_dxFine
 
Real m_dx
 
Real m_dxCoar
 
RefCountedPtr< LevelData< EBCellFAB > > m_acoef
 
RefCountedPtr< LevelData< EBFluxFAB > > m_bcoef
 
RefCountedPtr< LevelData< BaseIVFAB< Real > > > m_bcoIrreg
 
Real m_alpha
 
Real m_beta
 
LayoutData< BaseIVFAB< Real > > m_alphaDiagWeight
 
LayoutData< BaseIVFAB< Real > > m_betaDiagWeight
 
int m_refToFine
 
int m_refToCoar
 
bool m_hasEBCF
 
bool m_hasFine
 
bool m_hasInterpAve
 
bool m_hasCoar
 
EBMGAverage m_ebAverage
 
EBMGInterp m_ebInterp
 
LayoutData< RefCountedPtr< EBStencil > > m_opEBStencil
 
LevelData< EBCellFABm_relCoef
 Multigrid relaxation coefficient. More...
 
LayoutData< VoFIteratorm_vofIterIrreg
 
LayoutData< VoFIteratorm_vofIterMulti
 
LayoutData< VoFIteratorm_vofIterDomLo [CH_SPACEDIM]
 
LayoutData< VoFIteratorm_vofIterDomHi [CH_SPACEDIM]
 
LayoutData< CFIVSm_loCFIVS [SpaceDim]
 
LayoutData< CFIVSm_hiCFIVS [SpaceDim]
 
EBFastFR m_fastFR
 
bool m_hasMGObjects
 
bool m_layoutChanged
 
EBMGAverage m_ebAverageMG
 
EBMGInterp m_ebInterpMG
 
DisjointBoxLayout m_dblCoarMG
 
EBISLayout m_ebislCoarMG
 
ProblemDomain m_domainCoarMG
 
Vector< IntVectm_colors
 

Static Protected Attributes

static bool s_turnOffBCs
 
static bool s_forceNoEBCF
 
static IntVect s_ivDebug
 

Private Member Functions

void incrementFRCoar (EBFastFR &a_fluxReg, const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi)
 
void incrementFRFine (EBFastFR &a_fluxReg, const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi, AMRLevelOp< LevelData< EBCellFAB > > *a_finerOp)
 
void getFlux (FArrayBox &a_flux, const FArrayBox &a_phi, const Box &a_faceBox, const int &a_idir, const Real &a_dx, const DataIndex &a_datInd)
 
void applyCFBCs (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > *const a_phiCoarse, bool a_homogeneousCFBC)
 
void getOpVoFStencil (VoFStencil &a_stencil, const EBISBox &a_ebisbox, const VolIndex &a_vof)
 
void getOpVoFStencil (VoFStencil &a_stencil, const int &a_dir, const Vector< VolIndex > &a_allMonotoneVoFs, const EBISBox &a_ebisbox, const VolIndex &a_vof, const bool &a_lowOrder)
 
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)
 
void levelJacobi (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs)
 
void applyHomogeneousCFBCs (LevelData< EBCellFAB > &a_phi)
 
void applyHomogeneousCFBCs (EBCellFAB &a_phi, const DataIndex &a_datInd, int a_idir, Side::LoHiSide a_hiorlo)
 
 EBConductivityOp ()
 Default constructor. Creates an undefined conductivity operator. More...
 
 EBConductivityOp (const EBConductivityOp &a_opin)
 
void operator= (const EBConductivityOp &a_opin)
 

Detailed Description

This class implements an operator that solves the equation (alpha a + beta div (b grad) )phi = rhs using the AMRLevelOp interface.

Constructor & Destructor Documentation

◆ EBConductivityOp() [1/3]

EBConductivityOp::EBConductivityOp ( const EBLevelGrid a_eblgFine,
const EBLevelGrid a_eblg,
const EBLevelGrid a_eblgCoar,
const EBLevelGrid a_eblgCoarMG,
const RefCountedPtr< EBQuadCFInterp > &  a_quadCFI,
const RefCountedPtr< ConductivityBaseDomainBC > &  a_domainBC,
const RefCountedPtr< ConductivityBaseEBBC > &  a_ebBC,
const Real a_dx,
const Real a_dxCoar,
const int &  a_refToFine,
const int &  a_refToCoar,
const bool &  a_hasFine,
const bool &  a_hasCoar,
const bool &  a_hasMGObjects,
const bool &  a_layoutChanged,
const Real a_alpha,
const Real a_beta,
const RefCountedPtr< LevelData< EBCellFAB > > &  a_acoef,
const RefCountedPtr< LevelData< EBFluxFAB > > &  a_bcoef,
const RefCountedPtr< LevelData< BaseIVFAB< Real > > > &  a_bcoIrreg,
const IntVect a_ghostCellsPhi,
const IntVect a_ghostCellsRHS,
const int &  a_relaxType 
)

Constructs a conductivity operator using the given data. This constructor is for time-independent a and b coefficients. If you are approaching this operator from this interface, consider backing away and using EBConductivityOpFactory to generate these objects. Really. Ghost cell arguments are there for caching reasons. Once you set them, an error is thrown if you send in data that does not match.

Parameters
a_eblgFinegrid at finer level
a_eblggrid at this level
a_eblgCoargrid at coarser level
a_eblgCoarMGgrid at intermediate multigrid level
a_domainBCdomain boundary conditions at this level
a_ebBCeb boundary conditions at this level
a_dxgrid spacing at this level
a_originoffset to lowest corner of the domain
a_refToFinerefinement ratio to finer level
a_refToCoarrefinement ratio to coarser level
a_hasFinertrue if there is a finer AMR level, false otherwise.
a_hasCoarsertrue if there is a coarser AMR level.
a_hasCoarserMGtrue if there is a coarser MultiGrid level.
a_preCondItersnumber of iterations to do for pre-conditioning
a_relaxType0 means point Jacobi, 1 is Gauss-Seidel.
a_acoefcoefficent of identity
a_bcoefcoefficient of gradient.
a_ghostCellsPhiNumber of ghost cells in phi, correction
a_ghostCellsRhsNumber of ghost cells in RHS, residual, lphi

◆ ~EBConductivityOp()

EBConductivityOp::~EBConductivityOp ( )

Destructor.

Referenced by dumpLevel().

◆ EBConductivityOp() [2/3]

EBConductivityOp::EBConductivityOp ( )
private

Default constructor. Creates an undefined conductivity operator.

Referenced by dumpLevel().

◆ EBConductivityOp() [3/3]

EBConductivityOp::EBConductivityOp ( const EBConductivityOp a_opin)
inlineprivate

References MayDay::Error().

Member Function Documentation

◆ dumpAMR()

virtual void EBConductivityOp::dumpAMR ( Vector< LevelData< EBCellFAB > *> &  a_data,
string  name 
)
inlinevirtual

for debugging

Reimplemented from AMRLevelOp< LevelData< EBCellFAB > >.

References writeEBAMRname().

◆ dumpLevel()

virtual void EBConductivityOp::dumpLevel ( LevelData< EBCellFAB > &  a_data,
string  name 
)
inlinevirtual

◆ getSafety()

Real EBConductivityOp::getSafety ( )

Referenced by dumpLevel().

◆ resetACoefficient()

virtual void EBConductivityOp::resetACoefficient ( RefCountedPtr< LevelData< EBCellFAB > > &  a_acoef)
inlinevirtual

This sets the data storage for the a coefficient to a different object and recalculates the stuff it depends on. Use this only if you know what you're doing.

References calculateAlphaWeight(), calculateRelaxationCoefficient(), kappaScale(), and m_acoef.

◆ kappaScale()

virtual void EBConductivityOp::kappaScale ( LevelData< EBCellFAB > &  a_rhs)
virtual

for eb only. kappa weight the rhs but do not multiply by the identity coefficient

Reimplemented from TGAHelmOp< LevelData< EBCellFAB > >.

Referenced by resetACoefficient().

◆ dx()

Real EBConductivityOp::dx ( ) const
inlinevirtual

◆ AMRResidualNC()

void EBConductivityOp::AMRResidualNC ( LevelData< EBCellFAB > &  a_residual,
const LevelData< EBCellFAB > &  a_phiFine,
const LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > &  a_rhs,
bool  a_homogeneousBC,
AMRLevelOp< LevelData< EBCellFAB > > *  a_finerOp 
)
virtual

a_residual = a_rhs - L(a_phiFine, a_phi) no coaser AMR level

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ AMROperatorNC()

void EBConductivityOp::AMROperatorNC ( LevelData< EBCellFAB > &  a_LofPhi,
const LevelData< EBCellFAB > &  a_phiFine,
const LevelData< EBCellFAB > &  a_phi,
bool  a_homogeneousBC,
AMRLevelOp< LevelData< EBCellFAB > > *  a_finerOp 
)
virtual

apply AMR operator no coaser AMR level

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ setAlphaAndBeta()

void EBConductivityOp::setAlphaAndBeta ( const Real a_alpha,
const Real a_beta 
)
virtual

Sets the scaling constants in the Helmholtz equation.

Parameters
a_alphaThe scaling constant that multiplies the identity term.
a_betaThe scaling constant that multiplies the derivative term.

Implements TGAHelmOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ diagonalScale()

void EBConductivityOp::diagonalScale ( LevelData< EBCellFAB > &  a_rhs,
bool  a_kappaWeighted 
)
virtual

Scales the right hand side of the Helmholtz equation by the identity term in the operator. If you are solving rho(x) dphi/dt = L(phi), this means multiply by rho (or kappa * rho in embedded boundary calculations.

Parameters
a_rhsThe right hand side of the equation to be scaled.
a_kappaWeightedIf set to true, a_rhs will be scaled by the volume fraction in addition to the identity term.

Reimplemented from TGAHelmOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ divideByIdentityCoef()

void EBConductivityOp::divideByIdentityCoef ( LevelData< EBCellFAB > &  a_rhs)
virtual

Divides the right hand side of the Helmholtz equation by the identity coefficient rho(x) in the equation rho(x) dphi/dt = L(phi).

Parameters
a_rhsThe right hand side of the equation to be scaled.

Implements TGAHelmOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ fillGrad()

void EBConductivityOp::fillGrad ( const LevelData< EBCellFAB > &  a_phi)
virtual

These functions are part of the LevelTGA interface......

Implements LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB >.

Referenced by dx().

◆ getFlux() [1/3]

void EBConductivityOp::getFlux ( EBFluxFAB a_flux,
const LevelData< EBCellFAB > &  a_data,
const Box a_grid,
const DataIndex a_dit,
Real  a_scale 
)
virtual

◆ getFlux() [2/3]

void EBConductivityOp::getFlux ( EBFaceFAB a_fluxCentroid,
const EBCellFAB a_phi,
const Box a_ghostedBox,
const Box a_fabBox,
const ProblemDomain a_domain,
const EBISBox a_ebisBox,
const Real a_dx,
const DataIndex a_datInd,
const int &  a_idir 
)

◆ setTime()

void EBConductivityOp::setTime ( Real  a_oldTime,
Real  a_mu,
Real  a_dt 
)
virtual

Sets the time-dependent state of the operator. This version of setTime allows one to linearly interpolate coefficients across an integration step, since it accepts arguments that define where in the step it is to be updated. The default implementation calls setTime(a_oldTime + a_mu * a_dt).

Parameters
a_oldTimeThe time at the beginning of the current step.
a_muThe fraction of the current step that has elapsed.
a_dtThe size of the current step.

Reimplemented from TGAHelmOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ finerOperatorChanged()

void EBConductivityOp::finerOperatorChanged ( const MGLevelOp< LevelData< EBCellFAB > > &  a_operator,
int  a_coarseningFactor 
)
virtual

This is called on multigrid operators when their AMR operators are altered.

Reimplemented from MGLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ residual()

virtual void EBConductivityOp::residual ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > &  a_rhs,
bool  a_homogeneous = false 
)
virtual

Say you are solving L(phi) = rhs. Make a_lhs = L(a_phi) - a_rhs. If a_homogeneous is true, evaluate the operator using homogeneous boundary conditions.

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ preCond()

virtual void EBConductivityOp::preCond ( LevelData< EBCellFAB > &  a_cor,
const LevelData< EBCellFAB > &  a_residual 
)
virtual

Given the current state of the residual the correction, apply your preconditioner to a_cor.

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ applyOp() [1/2]

virtual void EBConductivityOp::applyOp ( LevelData< EBCellFAB > &  a_opPhi,
const LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > *const  a_phiCoarse,
const bool &  a_homogeneousPhysBC,
const bool &  a_homogeneousCFBC 
)
virtual

This function assumes that coarse-fine boundary condtions have been dealt with.

Referenced by dx().

◆ applyOpNoBoundary()

virtual void EBConductivityOp::applyOpNoBoundary ( LevelData< EBCellFAB > &  a_opPhi,
const LevelData< EBCellFAB > &  a_phi 
)
virtual

virtual function called by LevelTGA

Implements TGAHelmOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ applyOp() [2/2]

virtual void EBConductivityOp::applyOp ( LevelData< EBCellFAB > &  a_opPhi,
const LevelData< EBCellFAB > &  a_phi,
bool  a_homogeneousPhysBC 
)
virtual

this is the linearop function. CFBC is set to homogeneous. phic is null

Implements LinearOp< LevelData< EBCellFAB > >.

◆ create()

virtual void EBConductivityOp::create ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs 
)
virtual

Creat data holder a_lhs that mirrors a_rhs. You do not need to copy the data of a_rhs, just make a holder the same size.

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ createCoarsened()

virtual void EBConductivityOp::createCoarsened ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs,
const int &  a_refRat 
)
virtual

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ AMRNorm()

Real EBConductivityOp::AMRNorm ( const LevelData< EBCellFAB > &  a_coarResid,
const LevelData< EBCellFAB > &  a_fineResid,
const int &  a_refRat,
const int &  a_ord 
)
virtual

Reimplemented from AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ assign()

virtual void EBConductivityOp::assign ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_rhs 
)
virtual

Set a_lhs equal to a_rhs.

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ dotProduct()

virtual Real EBConductivityOp::dotProduct ( const LevelData< EBCellFAB > &  a_1,
const LevelData< EBCellFAB > &  a_2 
)
virtual

Compute and return the dot product of a_1 and a_2. In most contexts, this means return the sum over all data points of a_1*a_2.

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ incr()

virtual void EBConductivityOp::incr ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_x,
Real  a_scale 
)
virtual

Increment by scaled amount (a_lhs += a_scale*a_x).

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ axby()

virtual void EBConductivityOp::axby ( LevelData< EBCellFAB > &  a_lhs,
const LevelData< EBCellFAB > &  a_x,
const LevelData< EBCellFAB > &  a_y,
Real  a_a,
Real  a_b 
)
virtual

Set input to a scaled sum (a_lhs = a_a*a_x + a_b*a_y).

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ scale()

virtual void EBConductivityOp::scale ( LevelData< EBCellFAB > &  a_lhs,
const Real a_scale 
)
virtual

Multiply the input by a given scale (a_lhs *= a_scale).

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ norm()

virtual Real EBConductivityOp::norm ( const LevelData< EBCellFAB > &  a_rhs,
int  a_ord 
)
virtual

Return the norm of a_rhs. a_ord == 0 max norm, a_ord == 1 sum(abs(a_rhs)), else, L(a_ord) norm.

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ localMaxNorm()

virtual Real EBConductivityOp::localMaxNorm ( const LevelData< EBCellFAB > &  a_rhs)
virtual

Reimplemented from AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ setToZero()

virtual void EBConductivityOp::setToZero ( LevelData< EBCellFAB > &  a_lhs)
virtual

Set a_lhs to zero.

Implements LinearOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ setVal()

virtual void EBConductivityOp::setVal ( LevelData< EBCellFAB > &  a_lhs,
const Real a_value 
)
virtual

Referenced by dx().

◆ createCoarser()

virtual void EBConductivityOp::createCoarser ( LevelData< EBCellFAB > &  a_coarse,
const LevelData< EBCellFAB > &  a_fine,
bool  ghosted 
)
virtual

Create a coarsened (by two) version of the input data. This does not include averaging the data. So if a_fine is over a Box of (0, 0, 0) (63, 63, 63), a_fine should be over a Box (0, 0, 0) (31, 31, 31).

Implements MGLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ relax()

virtual void EBConductivityOp::relax ( LevelData< EBCellFAB > &  a_correction,
const LevelData< EBCellFAB > &  a_residual,
int  a_iterations 
)
virtual

Use your relaxation operator to remove the high frequency wave numbers from the correction so that it may be averaged to a coarser refinement. A point relaxtion scheme, for example takes the form a_correction -= lambda*(L(a_correction) - a_residual).

Implements MGLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ relaxGauSai()

virtual void EBConductivityOp::relaxGauSai ( LevelData< EBCellFAB > &  a_e,
const LevelData< EBCellFAB > &  a_residual,
int  a_iterations 
)
virtual

Referenced by dx().

◆ relaxPoiJac()

virtual void EBConductivityOp::relaxPoiJac ( LevelData< EBCellFAB > &  a_e,
const LevelData< EBCellFAB > &  a_residual,
int  a_iterations 
)
virtual

Referenced by dx().

◆ relaxGSRBFast()

virtual void EBConductivityOp::relaxGSRBFast ( LevelData< EBCellFAB > &  a_e,
const LevelData< EBCellFAB > &  a_residual,
int  a_iterations 
)
virtual

Referenced by dx().

◆ restrictResidual()

virtual void EBConductivityOp::restrictResidual ( LevelData< EBCellFAB > &  a_resCoarse,
LevelData< EBCellFAB > &  a_phiFine,
const LevelData< EBCellFAB > &  a_rhsFine 
)
virtual

Calculate restricted residual: a_resCoarse[2h] = I[h->2h] (a_rhsFine[h] - L[h](a_phiFine[h]))

Implements MGLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ prolongIncrement()

virtual void EBConductivityOp::prolongIncrement ( LevelData< EBCellFAB > &  a_phiThisLevel,
const LevelData< EBCellFAB > &  a_correctCoarse 
)
virtual

Correct the fine solution based on coarse correction: a_phiThisLevel += I[2h->h] (a_correctCoarse)

Implements MGLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ refToCoarser()

virtual int EBConductivityOp::refToCoarser ( )
virtual

Refinement ratio between this level and coarser level. Returns 1 when there are no coarser AMRLevelOp objects

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ refToFiner()

virtual int EBConductivityOp::refToFiner ( )
virtual

Refinement ratio between this level and coarser level. Returns 1 when there are no coarser AMRLevelOp objects

Referenced by dx().

◆ AMRResidual()

virtual void EBConductivityOp::AMRResidual ( LevelData< EBCellFAB > &  a_residual,
const LevelData< EBCellFAB > &  a_phiFine,
const LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > &  a_phiCoarse,
const LevelData< EBCellFAB > &  a_rhs,
bool  a_homogeneousBC,
AMRLevelOp< LevelData< EBCellFAB > > *  a_finerOp 
)
virtual

a_residual = a_rhs - L(a_phi, a_phiFine, a_phiCoarse)

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ AMRResidualNF()

virtual void EBConductivityOp::AMRResidualNF ( LevelData< EBCellFAB > &  a_residual,
const LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > &  a_phiCoarse,
const LevelData< EBCellFAB > &  a_rhs,
bool  a_homogeneousBC 
)
virtual

a_residual = a_rhs - L(a_phi, a_phiCoarse)

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ AMROperator()

virtual void EBConductivityOp::AMROperator ( LevelData< EBCellFAB > &  a_LofPhi,
const LevelData< EBCellFAB > &  a_phiFine,
const LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > &  a_phiCoarse,
bool  a_homogeneousBC,
AMRLevelOp< LevelData< EBCellFAB > > *  a_finerOp 
)
virtual

a_residual = a_rhs - L(a_phi, a_phiFine, a_phiCoarse)

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ AMROperatorNF()

virtual void EBConductivityOp::AMROperatorNF ( LevelData< EBCellFAB > &  a_LofPhi,
const LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > &  a_phiCoarse,
bool  a_homogeneousBC 
)
virtual

a_residual = a_rhs - L(a_phi, a_phiCoarse)

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ AMRRestrict()

virtual void EBConductivityOp::AMRRestrict ( LevelData< EBCellFAB > &  a_resCoarse,
const LevelData< EBCellFAB > &  a_residual,
const LevelData< EBCellFAB > &  a_correction,
const LevelData< EBCellFAB > &  a_coarseCorrection,
bool  a_skip_res = false 
)
virtual

a_resCoarse = I[h-2h] (a_residual - L(a_correction, a_coarseCorrection))

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ AMRProlong()

virtual void EBConductivityOp::AMRProlong ( LevelData< EBCellFAB > &  a_correction,
const LevelData< EBCellFAB > &  a_coarseCorrection 
)
virtual

a_correction += I[2h->h](a_coarseCorrection)

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ AMRUpdateResidual()

virtual void EBConductivityOp::AMRUpdateResidual ( LevelData< EBCellFAB > &  a_residual,
const LevelData< EBCellFAB > &  a_correction,
const LevelData< EBCellFAB > &  a_coarseCorrection 
)
virtual

a_residual = a_residual - L(a_correction, a_coarseCorrection)

Implements AMRLevelOp< LevelData< EBCellFAB > >.

Referenced by dx().

◆ reflux()

void EBConductivityOp::reflux ( LevelData< EBCellFAB > &  a_residual,
const LevelData< EBCellFAB > &  a_phiFine,
const LevelData< EBCellFAB > &  a_phi,
AMRLevelOp< LevelData< EBCellFAB > > *  a_finerOp 
)

Referenced by dx().

◆ gsrbColor()

void EBConductivityOp::gsrbColor ( LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > &  a_lph,
const LevelData< EBCellFAB > &  a_rhs,
const IntVect a_color 
)

Referenced by dx().

◆ getDivFStencil()

void EBConductivityOp::getDivFStencil ( VoFStencil a_vofStencil,
const VolIndex a_vof,
const DataIndex a_dit 
)

Referenced by dx().

◆ getFluxStencil()

void EBConductivityOp::getFluxStencil ( VoFStencil a_fluxStencil,
const FaceIndex a_face,
const DataIndex a_dit 
)

Referenced by dx().

◆ getFaceCenteredFluxStencil()

void EBConductivityOp::getFaceCenteredFluxStencil ( VoFStencil a_fluxStencil,
const FaceIndex a_face,
const DataIndex a_dit 
)

Referenced by dx().

◆ incrOpRegularDir()

void EBConductivityOp::incrOpRegularDir ( EBCellFAB a_lhs,
const EBCellFAB a_phi,
const bool &  a_homogeneous,
const int &  a_dir,
const DataIndex a_datInd 
)

Referenced by dx().

◆ applyOpIrregular()

void EBConductivityOp::applyOpIrregular ( EBCellFAB a_lhs,
const EBCellFAB a_phi,
const bool &  a_homogeneous,
const DataIndex a_datInd 
)

Referenced by dx().

◆ getEBLG()

const EBLevelGrid& EBConductivityOp::getEBLG ( ) const
inline

References m_eblg.

◆ setForceNoEBCF()

static void EBConductivityOp::setForceNoEBCF ( bool  a_forceNoEBCF)
inlinestatic

References defineStencils(), and s_forceNoEBCF.

◆ defineStencils()

void EBConductivityOp::defineStencils ( )

do not call this one unless you really know what you are doing

Referenced by setForceNoEBCF().

◆ getAlphaDiagWeight()

void EBConductivityOp::getAlphaDiagWeight ( LayoutData< BaseIVFAB< Real > > const *&  a_alphaDiagWeight)
inline

References m_alphaDiagWeight.

◆ getAlphaBeta()

void EBConductivityOp::getAlphaBeta ( Real a_alpha,
Real a_beta 
)
inline

References m_alpha, and m_beta.

◆ getDomainBC()

const RefCountedPtr<BaseDomainBC> EBConductivityOp::getDomainBC ( )
inline

References m_domainBC.

◆ getAScalingCoefficients()

const RefCountedPtr<LevelData<EBCellFAB> > EBConductivityOp::getAScalingCoefficients ( )
inline

References m_acoef.

◆ getBScalingCoefficients()

const RefCountedPtr<LevelData<EBFluxFAB> > EBConductivityOp::getBScalingCoefficients ( )
inline

References m_bcoef.

◆ getEBBCFluxStencil()

void EBConductivityOp::getEBBCFluxStencil ( LayoutData< BaseIVFAB< VoFStencil > > const *&  a_ebbcFluxStencil)
inline

◆ incrOpRegularAllDirs()

void EBConductivityOp::incrOpRegularAllDirs ( Box a_loBox,
Box a_hiBox,
int *  a_hasLo,
int *  a_hasHi,
Box a_curDblBox,
Box a_curPhiBox,
int  a_nComps,
BaseFab< Real > &  a_curOpPhiFAB,
const BaseFab< Real > &  a_curPhiFAB,
bool  a_homogeneousPhysBC,
const DataIndex a_dit 
)
protected

◆ applyDomainFlux()

void EBConductivityOp::applyDomainFlux ( Box a_loBox,
Box a_hiBox,
int *  a_hasLo,
int *  a_hasHi,
Box a_dblBox,
int  a_nComps,
BaseFab< Real > &  a_phiFAB,
bool  a_homogeneousPhysBC,
const DataIndex a_dit 
)
protected

◆ GSColorAllIrregular()

void EBConductivityOp::GSColorAllIrregular ( EBCellFAB a_phi,
const EBCellFAB a_rhs,
const int &  a_icolor,
const DataIndex a_dit 
)
protected

◆ dumpFABPoint()

void EBConductivityOp::dumpFABPoint ( const EBCellFAB a_fab,
const DataIndex a_dit,
const string &  a_blab 
)
protected

◆ dumpLevelPoint()

void EBConductivityOp::dumpLevelPoint ( const LevelData< EBCellFAB > &  a_res,
const string &  a_blab 
)
protected

◆ calculateAlphaWeight()

virtual void EBConductivityOp::calculateAlphaWeight ( )
protectedvirtual

Referenced by resetACoefficient().

◆ calculateRelaxationCoefficient()

virtual void EBConductivityOp::calculateRelaxationCoefficient ( )
protectedvirtual

Referenced by resetACoefficient().

◆ defineColorStencils()

void EBConductivityOp::defineColorStencils ( Box  a_ideBoxLo[SpaceDim],
Box  a_ideBoxHi[SpaceDim] 
)
protected

◆ defineEBCFStencils()

void EBConductivityOp::defineEBCFStencils ( )
protected

◆ getFluxEBCF()

void EBConductivityOp::getFluxEBCF ( EBFaceFAB a_flux,
const EBCellFAB a_phi,
const Box a_ghostedBox,
Vector< FaceIndex > &  a_faceitEBCF,
Vector< VoFStencil > &  a_stenEBCF 
)
protected

◆ getFluxRegOnly()

void EBConductivityOp::getFluxRegOnly ( EBFaceFAB a_fluxCentroid,
const EBCellFAB a_phi,
const Box a_ghostedBox,
const Real a_dx,
const DataIndex a_datInd,
const int &  a_idir 
)
protected

◆ incrementFRCoar()

void EBConductivityOp::incrementFRCoar ( EBFastFR a_fluxReg,
const LevelData< EBCellFAB > &  a_phiFine,
const LevelData< EBCellFAB > &  a_phi 
)
private

◆ incrementFRFine()

void EBConductivityOp::incrementFRFine ( EBFastFR a_fluxReg,
const LevelData< EBCellFAB > &  a_phiFine,
const LevelData< EBCellFAB > &  a_phi,
AMRLevelOp< LevelData< EBCellFAB > > *  a_finerOp 
)
private

◆ getFlux() [3/3]

void EBConductivityOp::getFlux ( FArrayBox a_flux,
const FArrayBox a_phi,
const Box a_faceBox,
const int &  a_idir,
const Real a_dx,
const DataIndex a_datInd 
)
private

◆ applyCFBCs()

void EBConductivityOp::applyCFBCs ( LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > *const  a_phiCoarse,
bool  a_homogeneousCFBC 
)
private

◆ getOpVoFStencil() [1/2]

void EBConductivityOp::getOpVoFStencil ( VoFStencil a_stencil,
const EBISBox a_ebisbox,
const VolIndex a_vof 
)
private

◆ getOpVoFStencil() [2/2]

void EBConductivityOp::getOpVoFStencil ( VoFStencil a_stencil,
const int &  a_dir,
const Vector< VolIndex > &  a_allMonotoneVoFs,
const EBISBox a_ebisbox,
const VolIndex a_vof,
const bool &  a_lowOrder 
)
private

◆ getOpFaceStencil()

void EBConductivityOp::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 
)
private

◆ levelJacobi()

void EBConductivityOp::levelJacobi ( LevelData< EBCellFAB > &  a_phi,
const LevelData< EBCellFAB > &  a_rhs 
)
private

◆ applyHomogeneousCFBCs() [1/2]

void EBConductivityOp::applyHomogeneousCFBCs ( LevelData< EBCellFAB > &  a_phi)
private

◆ applyHomogeneousCFBCs() [2/2]

void EBConductivityOp::applyHomogeneousCFBCs ( EBCellFAB a_phi,
const DataIndex a_datInd,
int  a_idir,
Side::LoHiSide  a_hiorlo 
)
private

◆ operator=()

void EBConductivityOp::operator= ( const EBConductivityOp a_opin)
inlineprivate

References MayDay::Error().

Member Data Documentation

◆ s_numComps

int EBConductivityOp::s_numComps
static

◆ s_whichComp

int EBConductivityOp::s_whichComp
static

◆ s_turnOffBCs

bool EBConductivityOp::s_turnOffBCs
staticprotected

◆ s_forceNoEBCF

bool EBConductivityOp::s_forceNoEBCF
staticprotected

Referenced by setForceNoEBCF().

◆ s_ivDebug

IntVect EBConductivityOp::s_ivDebug
staticprotected

◆ m_faceitCoar

LayoutData< Vector<FaceIndex> > EBConductivityOp::m_faceitCoar[2 *SpaceDim]
protected

◆ m_stencilCoar

LayoutData< Vector<VoFStencil> > EBConductivityOp::m_stencilCoar[2 *SpaceDim]
protected

◆ m_vofItIrregColorDomLo

LayoutData<VoFIterator > EBConductivityOp::m_vofItIrregColorDomLo[EBAMRPOVC_NUMSTEN][SpaceDim]
protected

◆ m_vofItIrregColorDomHi

LayoutData<VoFIterator > EBConductivityOp::m_vofItIrregColorDomHi[EBAMRPOVC_NUMSTEN][SpaceDim]
protected

◆ m_cacheEBxDomainFluxLo

LayoutData<BaseIVFAB<Real> > EBConductivityOp::m_cacheEBxDomainFluxLo[EBAMRPOVC_NUMSTEN][SpaceDim]
protected

◆ m_cacheEBxDomainFluxHi

LayoutData<BaseIVFAB<Real> > EBConductivityOp::m_cacheEBxDomainFluxHi[EBAMRPOVC_NUMSTEN][SpaceDim]
protected

◆ m_colorEBStencil

LayoutData<RefCountedPtr<EBStencil> > EBConductivityOp::m_colorEBStencil[EBAMRPOVC_NUMSTEN]
protected

◆ m_relaxType

int EBConductivityOp::m_relaxType
protected

◆ m_ghostCellsPhi

const IntVect EBConductivityOp::m_ghostCellsPhi
protected

◆ m_ghostCellsRHS

const IntVect EBConductivityOp::m_ghostCellsRHS
protected

◆ m_quadCFIWithCoar

RefCountedPtr<EBQuadCFInterp> EBConductivityOp::m_quadCFIWithCoar
protected

◆ m_eblg

EBLevelGrid EBConductivityOp::m_eblg
protected

Referenced by getEBLG().

◆ m_eblgFine

EBLevelGrid EBConductivityOp::m_eblgFine
protected

◆ m_eblgCoar

EBLevelGrid EBConductivityOp::m_eblgCoar
protected

◆ m_eblgCoarMG

EBLevelGrid EBConductivityOp::m_eblgCoarMG
protected

◆ m_eblgCoarsenedFine

EBLevelGrid EBConductivityOp::m_eblgCoarsenedFine
protected

◆ m_domainBC

RefCountedPtr<BaseDomainBC> EBConductivityOp::m_domainBC
protected

Referenced by getDomainBC().

◆ m_ebBC

RefCountedPtr<BaseEBBC> EBConductivityOp::m_ebBC
protected

Referenced by getEBBCFluxStencil().

◆ m_dxFine

Real EBConductivityOp::m_dxFine
protected

◆ m_dx

Real EBConductivityOp::m_dx
protected

Referenced by dx().

◆ m_dxCoar

Real EBConductivityOp::m_dxCoar
protected

◆ m_acoef

RefCountedPtr<LevelData<EBCellFAB> > EBConductivityOp::m_acoef
protected

"Current" (time-interpolated) value of the a coefficient. For a time-independent a coefficient, this is where the coefficient lives.

Referenced by getAScalingCoefficients(), and resetACoefficient().

◆ m_bcoef

RefCountedPtr<LevelData<EBFluxFAB> > EBConductivityOp::m_bcoef
protected

"Current" (time-interpolated) value of the b coefficient. For a time-independent a coefficient, this is where the coefficient lives.

Referenced by getBScalingCoefficients().

◆ m_bcoIrreg

RefCountedPtr<LevelData<BaseIVFAB<Real> > > EBConductivityOp::m_bcoIrreg
protected

"Current" (time-interpolated) value of the b coefficient on irregular cells.

◆ m_alpha

Real EBConductivityOp::m_alpha
protected

Referenced by getAlphaBeta().

◆ m_beta

Real EBConductivityOp::m_beta
protected

Referenced by getAlphaBeta().

◆ m_alphaDiagWeight

LayoutData<BaseIVFAB<Real> > EBConductivityOp::m_alphaDiagWeight
protected

Referenced by getAlphaDiagWeight().

◆ m_betaDiagWeight

LayoutData<BaseIVFAB<Real> > EBConductivityOp::m_betaDiagWeight
protected

◆ m_refToFine

int EBConductivityOp::m_refToFine
protected

◆ m_refToCoar

int EBConductivityOp::m_refToCoar
protected

◆ m_hasEBCF

bool EBConductivityOp::m_hasEBCF
protected

◆ m_hasFine

bool EBConductivityOp::m_hasFine
protected

◆ m_hasInterpAve

bool EBConductivityOp::m_hasInterpAve
protected

◆ m_hasCoar

bool EBConductivityOp::m_hasCoar
protected

◆ m_ebAverage

EBMGAverage EBConductivityOp::m_ebAverage
protected

◆ m_ebInterp

EBMGInterp EBConductivityOp::m_ebInterp
protected

◆ m_opEBStencil

LayoutData<RefCountedPtr<EBStencil> > EBConductivityOp::m_opEBStencil
protected

◆ m_relCoef

LevelData<EBCellFAB> EBConductivityOp::m_relCoef
protected

Multigrid relaxation coefficient.

◆ m_vofIterIrreg

LayoutData<VoFIterator > EBConductivityOp::m_vofIterIrreg
protected

◆ m_vofIterMulti

LayoutData<VoFIterator > EBConductivityOp::m_vofIterMulti
protected

◆ m_vofIterDomLo

LayoutData<VoFIterator > EBConductivityOp::m_vofIterDomLo[CH_SPACEDIM]
protected

◆ m_vofIterDomHi

LayoutData<VoFIterator > EBConductivityOp::m_vofIterDomHi[CH_SPACEDIM]
protected

◆ m_loCFIVS

LayoutData<CFIVS> EBConductivityOp::m_loCFIVS[SpaceDim]
protected

◆ m_hiCFIVS

LayoutData<CFIVS> EBConductivityOp::m_hiCFIVS[SpaceDim]
protected

◆ m_fastFR

EBFastFR EBConductivityOp::m_fastFR
protected

◆ m_hasMGObjects

bool EBConductivityOp::m_hasMGObjects
protected

◆ m_layoutChanged

bool EBConductivityOp::m_layoutChanged
protected

◆ m_ebAverageMG

EBMGAverage EBConductivityOp::m_ebAverageMG
protected

◆ m_ebInterpMG

EBMGInterp EBConductivityOp::m_ebInterpMG
protected

◆ m_dblCoarMG

DisjointBoxLayout EBConductivityOp::m_dblCoarMG
protected

◆ m_ebislCoarMG

EBISLayout EBConductivityOp::m_ebislCoarMG
protected

◆ m_domainCoarMG

ProblemDomain EBConductivityOp::m_domainCoarMG
protected

◆ m_colors

Vector<IntVect> EBConductivityOp::m_colors
protected

The documentation for this class was generated from the following file: