#include <EBViscousTensorOp.H>


Public Member Functions | |
| virtual void | setAlphaAndBeta (const Real &a_alpha, const Real &a_beta) |
| for tga to reset stuff | |
| virtual void | diagonalScale (LevelData< EBCellFAB > &a_rhs) |
| another tgaism | |
| virtual void | fillGrad (const LevelData< EBCellFAB > &a_phi) |
| a leveltgaism | |
| virtual void | getFlux (EBFluxFAB &a_flux, const LevelData< EBCellFAB > &a_data, const Box &a_grid, const DataIndex &a_dit, Real a_scale) |
| another leveltgaism | |
| virtual void | applyOpNoBoundary (LevelData< EBCellFAB > &a_opPhi, const LevelData< EBCellFAB > &a_phi) |
| apply operator without any boundary or coarse-fine boundary conditions and no finer level | |
| EBViscousTensorOp (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblg, const EBLevelGrid &a_eblgCoar, const EBLevelGrid &a_eblgCoarMG, const Real &a_alpha, const Real &a_beta, const RefCountedPtr< LevelData< EBCellFAB > > &a_acoef, const RefCountedPtr< LevelData< EBFluxFAB > > &a_eta, const RefCountedPtr< LevelData< EBFluxFAB > > &a_lambda, const RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_etaIrreg, const RefCountedPtr< LevelData< BaseIVFAB< Real > > > &a_lambdaIrreg, const Real &a_dx, const Real &a_dxCoar, const int &a_refToFine, const int &a_refToCoar, const RefCountedPtr< ViscousBaseDomainBC > &a_domainBC, const RefCountedPtr< ViscousBaseEBBC > &a_ebBC, const bool &a_hasMGObjects, const IntVect &a_ghostCellsPhi, const IntVect &a_ghostCellsRHS) | |
| virtual | ~EBViscousTensorOp () |
| 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) |
| 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, 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 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 | 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) |
| 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) |
Static Public Member Functions | |
| static void | getDivergenceStencil (VoFStencil &a_divStencil, const FaceIndex &a_face, const DataIndex &a_dit, const Real &a_dx, const EBLevelGrid &a_eblg) |
| static void | getGradientStencil (VoFStencil &a_gradStencil, int a_ivar, int a_diffDir, const FaceIndex &a_face, const DataIndex &a_dit, const Real &a_dx, const EBLevelGrid &a_eblg) |
Protected Member Functions | |
| 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) |
| void | getFlux (FArrayBox &a_flux, const FArrayBox &a_phi, const FArrayBox &a_gradPhi, const Box &a_faceBox, const int &a_idir, const DataIndex &a_datInd) |
| void | homogeneousCFInterp (EBCellFAB &a_phi, const DataIndex &a_datInd, const int &a_idir, const Side::LoHiSide &a_hiorlo) |
| void | cfinterp (const LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_phiCoarse) |
| void | reflux (const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi, LevelData< EBCellFAB > &residual, AMRLevelOp< LevelData< EBCellFAB > > *a_finerOp) |
| void | homogeneousCFInterp (LevelData< EBCellFAB > &a_phi) |
| void | defineStencils () |
| void | getVoFStencil (VoFStencil &a_vofStencil, const VolIndex &a_vof, const DataIndex &a_dit, int a_ivar) |
| void | getFluxStencil (VoFStencil &a_fluxStencil, const FaceIndex &a_face, const DataIndex &a_dit, int a_ivar) |
| void | getDivergenceStencil (VoFStencil &a_gradStencil, const FaceIndex &a_face, const DataIndex &a_dit) |
| void | getGradientStencil (VoFStencil &a_gradStencil, int a_ivar, int a_diffDir, const FaceIndex &a_face, const DataIndex &a_dit) |
| void | gsrbColor (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_lph, const LevelData< EBCellFAB > &a_rhs, const IntVect &a_color) |
| void | getFaceCenteredFluxStencil (VoFStencil &a_fluxStencil, const FaceIndex &a_face, const DataIndex &a_dit, int a_ivar) |
| void | cellGrad (EBCellFAB &a_gradPhi, const EBCellFAB &a_phi, const Box &a_grid, const DataIndex &a_datInd) |
| void | incrementFRCoar (const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi) |
| void | incrementFRFine (const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi, AMRLevelOp< LevelData< EBCellFAB > > *a_finerOp) |
Protected Attributes | |
| LayoutData< CFIVS > | m_loCFIVS [CH_SPACEDIM] |
| LayoutData< CFIVS > | m_hiCFIVS [CH_SPACEDIM] |
| EBLevelGrid | m_eblgFine |
| EBLevelGrid | m_eblg |
| EBLevelGrid | m_eblgCoar |
| EBLevelGrid | m_eblgCoarMG |
| Real | m_alpha |
| Real | m_beta |
| RefCountedPtr< LevelData < EBCellFAB > > | m_acoef |
| RefCountedPtr< LevelData < EBFluxFAB > > | m_eta |
| RefCountedPtr< LevelData < EBFluxFAB > > | m_lambda |
| RefCountedPtr< LevelData < BaseIVFAB< Real > > > | m_etaIrreg |
| RefCountedPtr< LevelData < BaseIVFAB< Real > > > | m_lambdaIrreg |
| EBFluxRegister | m_fluxReg |
| Real | m_dx |
| Real | m_dxCoar |
| bool | m_hasFine |
| bool | m_hasCoar |
| int | m_refToFine |
| int | m_refToCoar |
| bool | m_hasMGObjects |
| IntVect | m_ghostCellsPhi |
| IntVect | m_ghostCellsRHS |
| LayoutData< RefCountedPtr < EBStencil > > | m_stencil [CH_SPACEDIM] |
| LevelData< EBCellFAB > | m_relCoef |
| LevelData< EBCellFAB > | m_grad |
| LayoutData< VoFIterator > | m_vofIter |
| LayoutData< VoFIterator > | m_vofMult |
| LayoutData< VoFIterator > | m_vofIterDomLo [CH_SPACEDIM] |
| LayoutData< VoFIterator > | m_vofIterDomHi [CH_SPACEDIM] |
| RefCountedPtr< EBTensorCFInterp > | m_interpWithCoarser |
| EBMGAverage | m_ebAverage |
| EBMGAverage | m_ebAverageMG |
| EBMGInterp | m_ebInterp |
| EBMGInterp | m_ebInterpMG |
| RefCountedPtr < ViscousBaseDomainBC > | m_domainBC |
| RefCountedPtr< ViscousBaseEBBC > | m_ebBC |
| Vector< IntVect > | m_colors |
Static Protected Attributes | |
| static bool | s_turnOffBCs |
Private Member Functions | |
| EBViscousTensorOp () | |
| weak construction is bad | |
| EBViscousTensorOp (const EBViscousTensorOp &a_opin) | |
| void | operator= (const EBViscousTensorOp &a_opin) |
| EBViscousTensorOp::EBViscousTensorOp | ( | const EBLevelGrid & | a_eblgFine, | |
| const EBLevelGrid & | a_eblg, | |||
| const EBLevelGrid & | a_eblgCoar, | |||
| const EBLevelGrid & | a_eblgCoarMG, | |||
| const Real & | a_alpha, | |||
| const Real & | a_beta, | |||
| const RefCountedPtr< LevelData< EBCellFAB > > & | a_acoef, | |||
| const RefCountedPtr< LevelData< EBFluxFAB > > & | a_eta, | |||
| const RefCountedPtr< LevelData< EBFluxFAB > > & | a_lambda, | |||
| const RefCountedPtr< LevelData< BaseIVFAB< Real > > > & | a_etaIrreg, | |||
| const RefCountedPtr< LevelData< BaseIVFAB< Real > > > & | a_lambdaIrreg, | |||
| const Real & | a_dx, | |||
| const Real & | a_dxCoar, | |||
| const int & | a_refToFine, | |||
| const int & | a_refToCoar, | |||
| const RefCountedPtr< ViscousBaseDomainBC > & | a_domainBC, | |||
| const RefCountedPtr< ViscousBaseEBBC > & | a_ebBC, | |||
| const bool & | a_hasMGObjects, | |||
| const IntVect & | a_ghostCellsPhi, | |||
| const IntVect & | a_ghostCellsRHS | |||
| ) |
| virtual EBViscousTensorOp::~EBViscousTensorOp | ( | ) | [virtual] |
| EBViscousTensorOp::EBViscousTensorOp | ( | ) | [inline, private] |
| EBViscousTensorOp::EBViscousTensorOp | ( | const EBViscousTensorOp & | a_opin | ) | [inline, private] |
References MayDay::Error().
| virtual void EBViscousTensorOp::setAlphaAndBeta | ( | const Real & | a_alpha, | |
| const Real & | a_beta | |||
| ) | [inline, virtual] |
for tga to reset stuff
Implements TGAHelmOp< LevelData< EBCellFAB > >.
References defineStencils(), m_alpha, and m_beta.
another tgaism
Implements TGAHelmOp< LevelData< EBCellFAB > >.
References BoxLayout::dataIterator(), EBLevelGrid::getDBL(), EBLevelDataOps::kappaWeight(), m_acoef, m_eblg, LayoutIterator::ok(), and SpaceDim.
| virtual void EBViscousTensorOp::getFlux | ( | EBFluxFAB & | a_flux, | |
| const LevelData< EBCellFAB > & | a_data, | |||
| const Box & | a_grid, | |||
| const DataIndex & | a_dit, | |||
| Real | a_scale | |||
| ) | [inline, virtual] |
another leveltgaism
Implements LevelTGAHelmOp< LevelData< EBCellFAB >, EBFluxFAB >.
References EBFluxFAB::define(), EBLevelGrid::getEBISL(), m_eblg, m_grad, EBFluxFAB::setVal(), SpaceDim, and surroundingNodes().
| virtual void EBViscousTensorOp::applyOpNoBoundary | ( | LevelData< EBCellFAB > & | a_opPhi, | |
| const LevelData< EBCellFAB > & | a_phi | |||
| ) | [inline, virtual] |
apply operator without any boundary or coarse-fine boundary conditions and no finer level
Implements TGAHelmOp< LevelData< EBCellFAB > >.
References applyOp(), and s_turnOffBCs.
| void EBViscousTensorOp::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 > >.
| void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
Referenced by applyOpNoBoundary().
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::createCoarsened | ( | LevelData< EBCellFAB > & | a_lhs, | |
| const LevelData< EBCellFAB > & | a_rhs, | |||
| const int & | a_refRat | |||
| ) | [virtual] |
Implements AMRLevelOp< LevelData< EBCellFAB > >.
| Real EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::assign | ( | LevelData< EBCellFAB > & | a_lhs, | |
| const LevelData< EBCellFAB > & | a_rhs | |||
| ) | [virtual] |
Set a_lhs equal to a_rhs.
Implements LinearOp< LevelData< EBCellFAB > >.
| virtual Real EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
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 > >.
Set a_lhs to zero.
Implements LinearOp< LevelData< EBCellFAB > >.
| virtual void EBViscousTensorOp::setVal | ( | LevelData< EBCellFAB > & | a_lhs, | |
| const Real & | a_value | |||
| ) | [virtual] |
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::relax | ( | LevelData< EBCellFAB > & | a_correction, | |
| const LevelData< EBCellFAB > & | a_residual, | |||
| int | a_iterations | |||
| ) | [virtual] |
Use your relaxtion 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 > >.
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
| virtual int EBViscousTensorOp::refToCoarser | ( | ) | [virtual] |
Refinement ratio between this level and coarser level. Returns 1 when there are no coarser AMRLevelOp objects
Implements AMRLevelOp< LevelData< EBCellFAB > >.
| virtual int EBViscousTensorOp::refToFiner | ( | ) | [virtual] |
Refinement ratio between this level and coarser level. Returns 1 when there are no coarser AMRLevelOp objects
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::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 > >.
| virtual void EBViscousTensorOp::AMRRestrict | ( | LevelData< EBCellFAB > & | a_resCoarse, | |
| const LevelData< EBCellFAB > & | a_residual, | |||
| const LevelData< EBCellFAB > & | a_correction, | |||
| const LevelData< EBCellFAB > & | a_coarseCorrection | |||
| ) | [virtual] |
a_resCoarse = I[h-2h] (a_residual - L(a_correction, a_coarseCorrection))
Implements AMRLevelOp< LevelData< EBCellFAB > >.
| virtual void EBViscousTensorOp::AMRProlong | ( | LevelData< EBCellFAB > & | a_correction, | |
| const LevelData< EBCellFAB > & | a_coarseCorrection | |||
| ) | [virtual] |
a_correction += I[2h->h](a_coarseCorrection)
Implements AMRLevelOp< LevelData< EBCellFAB > >.
| virtual void EBViscousTensorOp::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 > >.
| static void EBViscousTensorOp::getDivergenceStencil | ( | VoFStencil & | a_divStencil, | |
| const FaceIndex & | a_face, | |||
| const DataIndex & | a_dit, | |||
| const Real & | a_dx, | |||
| const EBLevelGrid & | a_eblg | |||
| ) | [static] |
a_residual = a_residual - L(a_correction, a_coarseCorrection)
| static void EBViscousTensorOp::getGradientStencil | ( | VoFStencil & | a_gradStencil, | |
| int | a_ivar, | |||
| int | a_diffDir, | |||
| const FaceIndex & | a_face, | |||
| const DataIndex & | a_dit, | |||
| const Real & | a_dx, | |||
| const EBLevelGrid & | a_eblg | |||
| ) | [static] |
a_residual = a_residual - L(a_correction, a_coarseCorrection)
| void EBViscousTensorOp::incrOpRegularDir | ( | EBCellFAB & | a_lhs, | |
| const EBCellFAB & | a_phi, | |||
| const bool & | a_homogeneous, | |||
| const int & | a_dir, | |||
| const DataIndex & | a_datInd | |||
| ) | [protected] |
| void EBViscousTensorOp::applyOpIrregular | ( | EBCellFAB & | a_lhs, | |
| const EBCellFAB & | a_phi, | |||
| const bool & | a_homogeneous, | |||
| const DataIndex & | a_datInd | |||
| ) | [protected] |
| void EBViscousTensorOp::getFlux | ( | FArrayBox & | a_flux, | |
| const FArrayBox & | a_phi, | |||
| const FArrayBox & | a_gradPhi, | |||
| const Box & | a_faceBox, | |||
| const int & | a_idir, | |||
| const DataIndex & | a_datInd | |||
| ) | [protected] |
| void EBViscousTensorOp::homogeneousCFInterp | ( | EBCellFAB & | a_phi, | |
| const DataIndex & | a_datInd, | |||
| const int & | a_idir, | |||
| const Side::LoHiSide & | a_hiorlo | |||
| ) | [protected] |
| void EBViscousTensorOp::cfinterp | ( | const LevelData< EBCellFAB > & | a_phi, | |
| const LevelData< EBCellFAB > & | a_phiCoarse | |||
| ) | [protected] |
| void EBViscousTensorOp::reflux | ( | const LevelData< EBCellFAB > & | a_phiFine, | |
| const LevelData< EBCellFAB > & | a_phi, | |||
| LevelData< EBCellFAB > & | residual, | |||
| AMRLevelOp< LevelData< EBCellFAB > > * | a_finerOp | |||
| ) | [protected] |
| void EBViscousTensorOp::defineStencils | ( | ) | [protected] |
Referenced by setAlphaAndBeta().
| void EBViscousTensorOp::getVoFStencil | ( | VoFStencil & | a_vofStencil, | |
| const VolIndex & | a_vof, | |||
| const DataIndex & | a_dit, | |||
| int | a_ivar | |||
| ) | [protected] |
| void EBViscousTensorOp::getFluxStencil | ( | VoFStencil & | a_fluxStencil, | |
| const FaceIndex & | a_face, | |||
| const DataIndex & | a_dit, | |||
| int | a_ivar | |||
| ) | [protected] |
| void EBViscousTensorOp::getDivergenceStencil | ( | VoFStencil & | a_gradStencil, | |
| const FaceIndex & | a_face, | |||
| const DataIndex & | a_dit | |||
| ) | [protected] |
| void EBViscousTensorOp::getGradientStencil | ( | VoFStencil & | a_gradStencil, | |
| int | a_ivar, | |||
| int | a_diffDir, | |||
| const FaceIndex & | a_face, | |||
| const DataIndex & | a_dit | |||
| ) | [protected] |
| void EBViscousTensorOp::gsrbColor | ( | LevelData< EBCellFAB > & | a_phi, | |
| const LevelData< EBCellFAB > & | a_lph, | |||
| const LevelData< EBCellFAB > & | a_rhs, | |||
| const IntVect & | a_color | |||
| ) | [protected] |
| void EBViscousTensorOp::getFaceCenteredFluxStencil | ( | VoFStencil & | a_fluxStencil, | |
| const FaceIndex & | a_face, | |||
| const DataIndex & | a_dit, | |||
| int | a_ivar | |||
| ) | [protected] |
| void EBViscousTensorOp::cellGrad | ( | EBCellFAB & | a_gradPhi, | |
| const EBCellFAB & | a_phi, | |||
| const Box & | a_grid, | |||
| const DataIndex & | a_datInd | |||
| ) | [protected] |
| void EBViscousTensorOp::incrementFRCoar | ( | const LevelData< EBCellFAB > & | a_phiFine, | |
| const LevelData< EBCellFAB > & | a_phi | |||
| ) | [protected] |
| void EBViscousTensorOp::incrementFRFine | ( | const LevelData< EBCellFAB > & | a_phiFine, | |
| const LevelData< EBCellFAB > & | a_phi, | |||
| AMRLevelOp< LevelData< EBCellFAB > > * | a_finerOp | |||
| ) | [protected] |
| void EBViscousTensorOp::operator= | ( | const EBViscousTensorOp & | a_opin | ) | [inline, private] |
References MayDay::Error().
bool EBViscousTensorOp::s_turnOffBCs [static, protected] |
Referenced by applyOpNoBoundary().
LayoutData<CFIVS> EBViscousTensorOp::m_loCFIVS[CH_SPACEDIM] [protected] |
LayoutData<CFIVS> EBViscousTensorOp::m_hiCFIVS[CH_SPACEDIM] [protected] |
EBLevelGrid EBViscousTensorOp::m_eblgFine [protected] |
EBLevelGrid EBViscousTensorOp::m_eblg [protected] |
Referenced by diagonalScale(), and getFlux().
EBLevelGrid EBViscousTensorOp::m_eblgCoar [protected] |
EBLevelGrid EBViscousTensorOp::m_eblgCoarMG [protected] |
Real EBViscousTensorOp::m_alpha [protected] |
Referenced by setAlphaAndBeta().
Real EBViscousTensorOp::m_beta [protected] |
Referenced by setAlphaAndBeta().
RefCountedPtr<LevelData<EBCellFAB> > EBViscousTensorOp::m_acoef [protected] |
Referenced by diagonalScale().
RefCountedPtr<LevelData<EBFluxFAB> > EBViscousTensorOp::m_eta [protected] |
RefCountedPtr<LevelData<EBFluxFAB> > EBViscousTensorOp::m_lambda [protected] |
RefCountedPtr<LevelData<BaseIVFAB<Real> > > EBViscousTensorOp::m_etaIrreg [protected] |
RefCountedPtr<LevelData<BaseIVFAB<Real> > > EBViscousTensorOp::m_lambdaIrreg [protected] |
EBFluxRegister EBViscousTensorOp::m_fluxReg [protected] |
Real EBViscousTensorOp::m_dx [protected] |
Real EBViscousTensorOp::m_dxCoar [protected] |
bool EBViscousTensorOp::m_hasFine [protected] |
bool EBViscousTensorOp::m_hasCoar [protected] |
int EBViscousTensorOp::m_refToFine [protected] |
int EBViscousTensorOp::m_refToCoar [protected] |
bool EBViscousTensorOp::m_hasMGObjects [protected] |
IntVect EBViscousTensorOp::m_ghostCellsPhi [protected] |
IntVect EBViscousTensorOp::m_ghostCellsRHS [protected] |
LayoutData<RefCountedPtr<EBStencil> > EBViscousTensorOp::m_stencil[CH_SPACEDIM] [protected] |
LevelData<EBCellFAB> EBViscousTensorOp::m_relCoef [protected] |
LevelData<EBCellFAB> EBViscousTensorOp::m_grad [protected] |
Referenced by getFlux().
LayoutData<VoFIterator > EBViscousTensorOp::m_vofIter [protected] |
LayoutData<VoFIterator > EBViscousTensorOp::m_vofMult [protected] |
LayoutData<VoFIterator > EBViscousTensorOp::m_vofIterDomLo[CH_SPACEDIM] [protected] |
LayoutData<VoFIterator > EBViscousTensorOp::m_vofIterDomHi[CH_SPACEDIM] [protected] |
EBMGAverage EBViscousTensorOp::m_ebAverage [protected] |
EBMGAverage EBViscousTensorOp::m_ebAverageMG [protected] |
EBMGInterp EBViscousTensorOp::m_ebInterp [protected] |
EBMGInterp EBViscousTensorOp::m_ebInterpMG [protected] |
RefCountedPtr<ViscousBaseEBBC> EBViscousTensorOp::m_ebBC [protected] |
Vector<IntVect> EBViscousTensorOp::m_colors [protected] |
1.5.5