#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] |