|
virtual void | setAlphaAndBeta (const Real &a_alpha, const Real &a_beta) |
|
virtual void | diagonalScale (LevelData< FArrayBox > &a_rhs, bool a_kappaWeighted) |
|
virtual void | diagonalScale (LevelData< FArrayBox > &a_rhs) |
|
virtual void | divideByIdentityCoef (LevelData< FArrayBox > &a_rhs) |
|
virtual | ~ResistivityOp () |
|
virtual void | getFlux (FluxBox &a_flux, const LevelData< FArrayBox > &a_data, const Box &a_grid, const DataIndex &a_dit, Real a_scale) |
|
| ResistivityOp (const DisjointBoxLayout &a_grids, const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoar, const RefCountedPtr< LevelData< FluxBox > > &a_eta, Real a_alpha, Real a_beta, int a_refToFine, int a_refToCoar, const ProblemDomain &a_domain, const Real &a_dxLevel, const Real &a_dxCoar, BCFunc a_bc) |
|
virtual void | residual (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs, bool a_homogeneous=false) |
|
virtual void | preCond (LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_residual) |
|
virtual void | applyOp (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi, bool a_homogeneous=false) |
|
virtual void | applyOpNoBoundary (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi) |
|
virtual void | create (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs) |
|
virtual void | createCoarsened (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs, const int &a_refRat) |
|
void | reflux (const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, LevelData< FArrayBox > &residual, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp) |
|
void | getFlux (FArrayBox &a_flux, const FArrayBox &a_data, const FArrayBox &a_gradData, const FArrayBox &a_etaFace, const Box &a_facebox, int a_dir, int ref=1) |
|
void | computeOperatorNoBCs (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi) |
| utility function which computes operator after all bc's have been set More...
|
|
virtual void | assign (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs) |
|
virtual Real | dotProduct (const LevelData< FArrayBox > &a_1, const LevelData< FArrayBox > &a_2) |
|
virtual void | incr (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_x, Real a_scale) |
|
virtual void | axby (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_x, const LevelData< FArrayBox > &a_y, Real a, Real b) |
|
virtual void | scale (LevelData< FArrayBox > &a_lhs, const Real &a_scale) |
|
virtual Real | norm (const LevelData< FArrayBox > &a_x, int a_ord) |
|
virtual void | setToZero (LevelData< FArrayBox > &a_x) |
|
|
virtual void | relax (LevelData< FArrayBox > &a_e, const LevelData< FArrayBox > &a_residual, int iterations) |
|
virtual void | createCoarser (LevelData< FArrayBox > &a_coarse, const LevelData< FArrayBox > &a_fine, bool ghosted) |
|
virtual void | restrictResidual (LevelData< FArrayBox > &a_resCoarse, LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_rhsFine) |
|
virtual void | prolongIncrement (LevelData< FArrayBox > &a_phiThisLevel, const LevelData< FArrayBox > &a_correctCoarse) |
|
| LevelTGAHelmOp () |
|
| LevelTGAHelmOp (bool a_isTimeIndependent) |
|
virtual | ~LevelTGAHelmOp () |
| Destructor. More...
|
|
| TGAHelmOp () |
|
| TGAHelmOp (bool a_isTimeDependent) |
|
virtual | ~TGAHelmOp () |
| Destructor. More...
|
|
virtual void | kappaScale (LevelData< FArrayBox > &a_rhs) |
| for eb only. kappa weight the rhs but do not multiply by the identity coefficient More...
|
|
virtual void | setTime (Real a_time) |
|
virtual void | setTime (Real a_oldTime, Real a_mu, Real a_dt) |
|
bool | isTimeDependent () const |
| Returns true if the operator is time-dependent, false otherwise. More...
|
|
virtual LevelData< FArrayBox > & | identityCoef () |
| Allows access to the identity coefficient data for the operator. More...
|
|
virtual void | dumpAMR (Vector< LevelData< FArrayBox > * > &a_data, string name) |
|
virtual void | dumpLevel (LevelData< FArrayBox > &a_data, string name) |
|
| AMRLevelOp () |
| Constructor. More...
|
|
virtual void | dumpStuff (Vector< LevelData< FArrayBox > * > data, string filename) |
|
virtual | ~AMRLevelOp () |
| Destructor. More...
|
|
virtual void | outputLevel (LevelData< FArrayBox > &a_rhs, string &a_name) |
|
virtual void | outputAMR (Vector< LevelData< FArrayBox > * > &a_rhs, string &a_name) |
|
virtual void | buildCopier (Copier &a_copier, const LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs) |
|
virtual void | assignCopier (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs, const Copier &a_copier) |
|
virtual void | zeroCovered (LevelData< FArrayBox > &a_lhs, LevelData< FArrayBox > &a_rhs, const Copier &a_copier) |
|
virtual Real | localMaxNorm (const LevelData< FArrayBox > &a_phi) |
|
virtual void | AMRProlongS (LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_coarseCorrection, LevelData< FArrayBox > &a_temp, const Copier &a_copier) |
|
virtual void | AMRProlongS_2 (LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_coarseCorrection, LevelData< FArrayBox > &a_temp, const Copier &a_copier, const Copier &a_cornerCopier, const AMRLevelOp< LevelData< FArrayBox > > *a_crsOp) |
|
virtual void | AMRRestrictS (LevelData< FArrayBox > &a_resCoarse, const LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_coarseCorrection, LevelData< FArrayBox > &scratch, bool a_skip_res=false) |
|
virtual unsigned int | orderOfAccuracy (void) const |
|
virtual void | enforceCFConsistency (LevelData< FArrayBox > &a_coarseCorrection, const LevelData< FArrayBox > &a_correction) |
| This routine is for operators with orderOfAccuracy()>2. More...
|
|
| MGLevelOp () |
| Constructor. More...
|
|
virtual | ~MGLevelOp () |
| Destructor. More...
|
|
virtual void | relaxNF (LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > *a_phiCoarse, const LevelData< FArrayBox > &a_rhs, int a_iterations) |
| specialized no-fine relax function, useful for full-multigrid schemes, defaults to regular relax More...
|
|
virtual void | restrictResidual (LevelData< FArrayBox > &a_resCoarse, LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > *a_phiCoarse, const LevelData< FArrayBox > &a_rhsFine, bool homogeneous) |
| full-multigrid version of restrictResidual, useful for FAS-type schemes. Defaults to standard restriction More...
|
|
virtual void | restrictR (LevelData< FArrayBox > &a_phiCoarse, const LevelData< FArrayBox > &a_phiFine) |
| simple restriction function More...
|
|
void | addObserver (MGLevelOpObserver< LevelData< FArrayBox > > *a_observer) |
|
virtual void | applyOpMg (LevelData< FArrayBox > &a_lhs, LevelData< FArrayBox > &a_phi, LevelData< FArrayBox > *a_phiCoarse, bool a_homogeneous) |
| Apply an operator. More...
|
|
virtual void | residualNF (LevelData< FArrayBox > &a_lhs, LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > *a_phiCoarse, const LevelData< FArrayBox > &a_rhs, bool a_homogeneous=false) |
|
void | removeObserver (MGLevelOpObserver< LevelData< FArrayBox > > *a_observer) |
|
void | addCoarserObserver (MGLevelOp< LevelData< FArrayBox > > *a_operator, int a_coarseningFactor) |
|
void | notifyObserversOfChange () |
| This should be called whenever the operator's data is updated. More...
|
|
virtual void | finerOperatorChanged (const MGLevelOp< LevelData< FArrayBox > > &a_operator, int a_coarseningFactor) |
|
int | numObservers () const |
| Returns the number of objects observing this operator. More...
|
|
virtual | ~LinearOp () |
|
virtual void | clear (LevelData< FArrayBox > &a_lhs) |
|
virtual void | assignLocal (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_rhs) |
|
virtual void | mDotProduct (const LevelData< FArrayBox > &a_1, const int a_sz, const LevelData< FArrayBox > a_2[], Real a_mdots[]) |
|
virtual Real | dx () const |
|
virtual void | write (const LevelData< FArrayBox > *a, const char *filename) |
|
| MGLevelOpObserver () |
| Base level Constructor. Called by all subclasses. More...
|
|
virtual | ~MGLevelOpObserver () |
| Destructor. More...
|
|
virtual void | operatorChanged (const MGLevelOp< LevelData< FArrayBox > > &a_operator) |
|
void | setObservee (MGLevelOp< LevelData< FArrayBox > > *a_observee) |
|
void | clearObservee () |
|
|
RefCountedPtr< LevelData< FluxBox > > | m_eta |
|
DisjointBoxLayout | m_grids |
|
Real | m_alpha |
|
Real | m_beta |
|
int | m_refToCoar |
|
int | m_refToFine |
|
BCFunc | m_bc |
|
Real | m_dx |
|
Real | m_dxCrse |
|
ProblemDomain | m_domain |
|
LevelData< FArrayBox > | m_lambda |
|
LevelData< FArrayBox > | m_grad |
|
LevelDataOps< FArrayBox > | m_levelOps |
|
Copier | m_exchangeCopier |
|
TensorCFInterp | m_interpWithCoarser |
|
LayoutData< CFIVS > | m_loCFIVS [SpaceDim] |
|
LayoutData< CFIVS > | m_hiCFIVS [SpaceDim] |
|
LayoutData< TensorFineStencilSet > | m_hiTanStencilSets [SpaceDim] |
|
LayoutData< TensorFineStencilSet > | m_loTanStencilSets [SpaceDim] |
|
Vector< IntVect > | m_colors |
|
static const int | s_nComp |
|
static const int | s_nGradComp |
|
virtual int | refToCoarser () |
|
virtual void | AMRResidual (LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_phiCoarse, const LevelData< FArrayBox > &a_rhs, bool a_homogeneousPhysBC, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp) |
|
virtual void | AMRResidualNC (LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_rhs, bool a_homogeneousPhysBC, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp) |
|
virtual void | AMRResidualNF (LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_phiCoarse, const LevelData< FArrayBox > &a_rhs, bool a_homogeneousPhysBC) |
|
virtual void | AMRRestrict (LevelData< FArrayBox > &a_resCoarse, const LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_coarseCorrection, bool a_skip_res=false) |
|
virtual void | AMRProlong (LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_coarseCorrection) |
|
virtual void | AMRUpdateResidual (LevelData< FArrayBox > &a_residual, const LevelData< FArrayBox > &a_correction, const LevelData< FArrayBox > &a_coarseCorrection) |
|
virtual Real | AMRNorm (const LevelData< FArrayBox > &a_coarseResid, const LevelData< FArrayBox > &a_fineResid, const int &a_refRat, const int &a_ord) |
|
void | homogeneousCFInterp (LevelData< FArrayBox > &a_phif) |
|
void | homogeneousCFInterpPhi (LevelData< FArrayBox > &a_phif, const DataIndex &a_datInd, int a_idir, Side::LoHiSide a_hiorlo) |
|
void | homogeneousCFInterpTanGrad (LevelData< FArrayBox > &a_tanGrad, const LevelData< FArrayBox > &a_phi, const DataIndex &a_datInd, int a_idir, Side::LoHiSide a_hiorlo) |
|
void | interpOnIVSHomo (LevelData< FArrayBox > &a_phif, const DataIndex &a_datInd, const int a_idir, const Side::LoHiSide a_hiorlo, const IntVectSet &a_interpIVS) |
|
void | AMROperator (LevelData< FArrayBox > &a_LofPhi, const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_phiCoarse, bool a_homogeneousDomBC, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp) |
|
void | AMROperatorNF (LevelData< FArrayBox > &a_LofPhi, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > &a_phiCoarse, bool a_homogeneousBC) |
|
virtual void | AMROperatorNC (LevelData< FArrayBox > &a_LofPhi, const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phi, bool a_homogeneousBC, AMRLevelOp< LevelData< FArrayBox > > *a_finerOp) |
|
void | cellGrad (FArrayBox &a_gradPhi, const FArrayBox &a_phi, const Box &a_grid) |
|
void | cfinterp (const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phiCoarse) |
|
virtual void | fillGrad (const LevelData< FArrayBox > &a_phiFine) |
| These functions are part of the LevelTGA interface...... More...
|
|
void | loHiCenterFace (Box &a_loBox, int &a_hasLo, Box &a_hiBox, int &a_hasHi, Box &a_centerBox, const ProblemDomain &a_eblg, const Box &a_inBox, const int &a_dir) |
|
void | getFaceDivAndGrad (FArrayBox &a_faceDiv, FArrayBox &a_faceGrad, const FArrayBox &a_data, const FArrayBox &a_gradData, const ProblemDomain &a_domain, const Box &a_faceBox, const int &a_faceDir, const Real a_dx) |
|
void | divergenceCC (LevelData< FArrayBox > &a_div, const LevelData< FArrayBox > &a_phi, const LevelData< FArrayBox > *a_phiC) |
| take cell centered divergence of the inputs. More...
|
|
void | setLambda () |
|
| ResistivityOp () |
| weak construction is bad More...
|
|
| ResistivityOp (const ResistivityOp &a_opin) |
|
void | operator= (const ResistivityOp &a_opin) |
|
operator L is defined as L(B) = alpha B + beta*(divF) where F = eta((grad B - grad B^T) + I (div B)) alpha and beta are constants. eta is a function of space. beta and eta are incorporated into the flux F when getFlux is called. This is always 3 variables. SpaceDim refers to only the derivatives that are meaningful in this bizzare application.