|
virtual void | diagonalScale (LevelData< FArrayBox > &a_rhs, bool a_kappaWeighted) |
|
virtual void | setAlphaAndBeta (const Real &a_alpha, const Real &a_beta) |
|
virtual void | diagonalScale (LevelData< FArrayBox > &a_rhs) |
|
virtual void | divideByIdentityCoef (LevelData< FArrayBox > &a_rhs) |
|
virtual | ~NWOViscousTensorOp () |
|
| NWOViscousTensorOp (const DisjointBoxLayout &a_grids, const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoar, const RefCountedPtr< LevelData< FluxBox > > &a_eta, const RefCountedPtr< LevelData< FluxBox > > &a_lambda, const RefCountedPtr< LevelData< FArrayBox > > &a_acoef, 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, Real a_safety=VTOP_DEFAULT_SAFETY, Real a_relaxTolerance=0.0, int a_relaxMinIter=1000) |
|
| NWOViscousTensorOp (const DisjointBoxLayout &a_grids, const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoar, const RefCountedPtr< LevelData< FluxBox > > &a_eta, const RefCountedPtr< LevelData< FluxBox > > &a_lambda, const RefCountedPtr< LevelData< FArrayBox > > &a_acoef, Real a_alpha, Real a_beta, int a_refToFine, int a_refToCoar, const ProblemDomain &a_domain, const Real &a_dxLevel, const Real &a_dxCoar, BCHolder &a_bc, Real a_safety=VTOP_DEFAULT_SAFETY, Real a_relaxTolerance=0.0, int a_relaxMinIter=1000) |
|
void | fillGrad (const LevelData< FArrayBox > &a_phiFine) |
|
void | cellGrad (FArrayBox &a_gradPhi, const FArrayBox &a_phi, const Box &a_grid) |
|
void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout &a_gridsFine, const DisjointBoxLayout &a_gridsCoar, const RefCountedPtr< LevelData< FluxBox > > &a_eta, const RefCountedPtr< LevelData< FluxBox > > &a_lambda, const RefCountedPtr< LevelData< FArrayBox > > &a_acoef, Real a_alpha, Real a_beta, int a_refToFine, int a_refToCoar, const ProblemDomain &a_domain, const Real &a_dxLevel, const Real &a_dxCoar, BCHolder &a_bc, Real a_safety=VTOP_DEFAULT_SAFETY, Real a_relaxTolerance=0.0, int a_relaxMinIter=1000) |
|
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 | 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) |
|
virtual void | getFlux (FluxBox &a_flux, const LevelData< FArrayBox > &a_data, const Box &a_grid, const DataIndex &a_dit, Real a_scale) |
|
void | applyOpNoBoundary (LevelData< FArrayBox > &a_lhs, const LevelData< FArrayBox > &a_phi) |
|
void | getFlux (FArrayBox &a_flux, const FArrayBox &a_data, const FArrayBox &a_etaFace, const FArrayBox &a_lambdaFace, 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 Real | dx () const |
|
virtual Real | dxCrse () const |
|
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 | 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 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 () |
|
|
static int | s_prolongType |
| prolongation type More...
|
|
RefCountedPtr< LevelData< FluxBox > > | m_eta |
|
RefCountedPtr< LevelData< FluxBox > > | m_lambda |
|
RefCountedPtr< LevelData< FArrayBox > > | m_acoef |
|
Real | m_alpha |
|
Real | m_beta |
|
int | m_refToCoar |
|
int | m_refToFine |
|
BCHolder | m_bc |
|
DisjointBoxLayout | m_grids |
|
DisjointBoxLayout | m_gridsCoar |
|
DisjointBoxLayout | m_gridsFine |
|
int | m_ncomp |
|
Real | m_dx |
|
Real | m_dxCrse |
|
ProblemDomain | m_domain |
|
Real | m_safety |
|
Real | m_relaxTolerance |
|
int | m_relaxMinIter |
|
LevelDataOps< FArrayBox > | m_levelOps |
|
Copier | m_exchangeCopier |
|
NWOQuadCFInterp | m_interpWithCoarser |
|
Vector< IntVect > | m_colors |
|
LevelData< FArrayBox > | m_relaxCoef |
|
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) |
|
virtual void | outputLevel (LevelData< FArrayBox > &a_rhs, string &a_name) |
|
virtual void | outputAMR (Vector< LevelData< FArrayBox > * > &a_rhs, string &a_name) |
|
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 | cfinterp (const LevelData< FArrayBox > &a_phiFine, const LevelData< FArrayBox > &a_phiCoarse) |
|
RefCountedPtr< LevelData< FluxBox > > | getEta () const |
| access function More...
|
|
RefCountedPtr< LevelData< FluxBox > > | getLambda () const |
|
RefCountedPtr< LevelData< FArrayBox > > | getACoef () const |
|
Real | getAlpha () const |
|
Real | getBeta () const |
|
void | defineRelCoef () |
|
| NWOViscousTensorOp () |
| weak construction is bad More...
|
|
| NWOViscousTensorOp (const NWOViscousTensorOp &a_opin) |
|
void | operator= (const NWOViscousTensorOp &a_opin) |
|
operator is alpha a I + (divF) = alpha*acoef I + beta*div(eta(grad B + grad BT) + lambda I div B ) beta, lambda, and eta are incorporated into the flux F