|
| 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 () |
| Destructor. More...
|
|
virtual void | setAlphaAndBeta (const Real &a_alpha, const Real &a_beta) |
| for tga to reset stuff More...
|
|
void | resetACoefficient (RefCountedPtr< LevelData< EBCellFAB > > &a_acoef) |
|
virtual void | outputLevel (LevelData< EBCellFAB > &a_rhs, string &a_name) |
|
virtual void | outputAMR (Vector< LevelData< EBCellFAB > * > &a_rhs, string &a_name) |
|
virtual void | kappaScale (LevelData< EBCellFAB > &a_rhs) |
| it's tga's world—we just live in it. More...
|
|
void | getShearStressDotGradU (LevelData< EBCellFAB > &a_source, const LevelData< EBCellFAB > &a_gradU, int a_level) |
| compute (tau dot grad u) (for energy equation) More...
|
|
void | getKappaDivSigmaU (LevelData< EBCellFAB > &a_divSigmaU, const LevelData< EBCellFAB > &a_velocity, const LevelData< EBCellFAB > *a_veloCoar, int a_level) |
| compute volfrac(sigma dot grad u) (for energy equation) More...
|
|
void | getCellCenteredCoefficients (LevelData< EBCellFAB > &a_etaCell, LevelData< EBCellFAB > &a_lambdaCell) |
|
void | getCCSigma (LevelData< EBCellFAB > &a_source, const LevelData< EBCellFAB > &a_gradU, const LevelData< EBCellFAB > &a_eta, const LevelData< EBCellFAB > &a_lambda) |
|
virtual void | diagonalScale (LevelData< EBCellFAB > &a_rhs, bool a_kappaWeighted) |
| another tgaism More...
|
|
virtual void | divideByIdentityCoef (LevelData< EBCellFAB > &a_rhs) |
|
virtual void | fillGrad (const LevelData< EBCellFAB > &a_phi) |
| a leveltgaism More...
|
|
virtual void | getFlux (EBFluxFAB &a_flux, const LevelData< EBCellFAB > &a_data, const Box &a_grid, const DataIndex &a_dit, Real a_scale) |
| another leveltgaism More...
|
|
void | getVelDotSigma (LevelData< EBFluxFAB > &a_velDotSigma, const LevelData< EBFluxFAB > &a_vel, const LevelData< EBFluxFAB > &a_sigma) |
|
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) |
|
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 More...
|
|
void | finerOperatorChanged (const MGLevelOp< LevelData< EBCellFAB > > &a_operator, int a_coarseningFactor) |
|
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) |
|
void | incrOpWithExternalFlux (EBCellFAB &a_lhs, const DataIndex &a_dit, const BaseIVFAB< Real > &a_ebflux) |
|
void | applyOp (LevelData< EBCellFAB > &a_lhs, const LevelData< EBCellFAB > &a_phi, bool a_homogeneous, const LevelData< BaseIVFAB< Real > > *a_ebflux) |
| if the flux is null, it is not used More...
|
|
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 | 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 | defineStencils () |
| (Re)define the stencils for the given coefficients. More...
|
|
| LevelTGAHelmOp () |
|
| LevelTGAHelmOp (bool a_isTimeIndependent) |
|
virtual | ~LevelTGAHelmOp () |
| Destructor. More...
|
|
| 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...
|
|
virtual void | dumpAMR (Vector< LevelData< EBCellFAB > * > &a_data, string name) |
|
virtual void | dumpLevel (LevelData< EBCellFAB > &a_data, string name) |
|
| AMRLevelOp () |
| Constructor. More...
|
|
virtual void | dumpStuff (Vector< LevelData< EBCellFAB > * > data, string filename) |
|
virtual | ~AMRLevelOp () |
| Destructor. More...
|
|
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...
|
|
| 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...
|
|
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 Real | dx () const |
|
virtual void | write (const LevelData< EBCellFAB > *a, const char *filename) |
|
| 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 () |
|
|
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 | 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 | getVoFStencil (VoFStencil &a_vofStencil, const VolIndex &a_vof, 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 (EBFastFR &a_fr, const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi) |
|
void | averageToCells (LevelData< EBCellFAB > &a_cellCoef, const LevelData< EBFluxFAB > &a_faceCoef, const LevelData< BaseIVFAB< Real > > &a_irregCoef) |
|
void | incrementFRFine (EBFastFR &a_fr, const LevelData< EBCellFAB > &a_phiFine, const LevelData< EBCellFAB > &a_phi, AMRLevelOp< LevelData< EBCellFAB > > *a_finerOp) |
|
Real | getSafety () |
|
virtual void | calculateAlphaWeight () |
|
virtual void | calculateRelaxationCoefficient () |
|
void | averageCellToFace (EBFaceFAB &a_fluxData, const EBCellFAB &a_cellData, const Box &a_grid, const EBISBox &a_ebisBox, const ProblemDomain &a_domain, const DataIndex &a_dit, int isrc, int idst, int inco, bool a_interpolateToCentroid) |
|
void | averageCellToFace (LevelData< EBFluxFAB > &a_fluxData, const LevelData< EBCellFAB > &a_cellData, const DisjointBoxLayout &a_grids, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, int isrc, int idst, int inco, bool a_interpolateToCentroid) |
|
void | faceCenteredAverageCellsToFaces (EBFaceFAB &a_faceData, const EBCellFAB &a_cellData, const Box &ccFluxBox, const EBISBox &a_ebisBox, const ProblemDomain &a_domain, const DataIndex &a_dit, int isrc, int idst, int inco) |
|
This class implements an operator that solves the equation alpha a I + (divF) = alpha a I + beta*div(eta(grad B + grad B^T) + lambda* I div B ) = rhs where beta, lambda, and eta are incorporated into the flux F. It uses the AMRLevelOp interface.