| 
    Chombo + EB
    3.2
    
   | 
 
#include <AMRMultiGrid.H>

Public Member Functions | |
| virtual void | dumpAMR (Vector< T *> &a_data, string name) | 
| virtual void | dumpLevel (T &a_data, string name) | 
| AMRLevelOp () | |
| Constructor.  More... | |
| virtual void | dumpStuff (Vector< T *> data, string filename) | 
| virtual | ~AMRLevelOp () | 
| Destructor.  More... | |
| virtual Real | AMRNorm (const T &a_coarResid, const T &a_fineResid, const int &a_refRat, const int &a_ord) | 
| virtual void | outputLevel (T &a_rhs, string &a_name) | 
| virtual void | outputAMR (Vector< T *> &a_rhs, string &a_name) | 
| virtual int | refToCoarser ()=0 | 
| virtual void | AMRResidual (T &a_residual, const T &a_phiFine, const T &a_phi, const T &a_phiCoarse, const T &a_rhs, bool a_homogeneousDomBC, AMRLevelOp< T > *a_finerOp)=0 | 
| virtual void | AMRResidualNF (T &a_residual, const T &a_phi, const T &a_phiCoarse, const T &a_rhs, bool a_homogeneousBC)=0 | 
| virtual void | AMRResidualNC (T &a_residual, const T &a_phiFine, const T &a_phi, const T &a_rhs, bool a_homogeneousBC, AMRLevelOp< T > *a_finerOp)=0 | 
| virtual void | AMROperator (T &a_LofPhi, const T &a_phiFine, const T &a_phi, const T &a_phiCoarse, bool a_homogeneousDomBC, AMRLevelOp< T > *a_finerOp)=0 | 
| virtual void | AMROperatorNF (T &a_LofPhi, const T &a_phi, const T &a_phiCoarse, bool a_homogeneousBC)=0 | 
| virtual void | AMROperatorNC (T &a_LofPhi, const T &a_phiFine, const T &a_phi, bool a_homogeneousBC, AMRLevelOp< T > *a_finerOp)=0 | 
| virtual void | AMRRestrict (T &a_resCoarse, const T &a_residual, const T &a_correction, const T &a_coarseCorrection, bool a_skip_res)=0 | 
| virtual void | AMRProlong (T &a_correction, const T &a_coarseCorrection)=0 | 
| virtual void | AMRUpdateResidual (T &a_residual, const T &a_correction, const T &a_coarseCorrection)=0 | 
| virtual void | createCoarsened (T &a_lhs, const T &a_rhs, const int &a_refRat)=0 | 
| virtual void | buildCopier (Copier &a_copier, const T &a_lhs, const T &a_rhs) | 
| virtual void | assignCopier (T &a_lhs, const T &a_rhs, const Copier &a_copier) | 
| virtual void | zeroCovered (T &a_lhs, T &a_rhs, const Copier &a_copier) | 
| virtual Real | localMaxNorm (const T &a_phi) | 
| virtual void | AMRProlongS (T &a_correction, const T &a_coarseCorrection, T &a_temp, const Copier &a_copier) | 
| virtual void | AMRProlongS_2 (T &a_correction, const T &a_coarseCorrection, T &a_temp, const Copier &a_copier, const Copier &a_cornerCopier, const AMRLevelOp< LevelData< FArrayBox > > *a_crsOp) | 
| virtual void | AMRRestrictS (T &a_resCoarse, const T &a_residual, const T &a_correction, const T &a_coarseCorrection, T &scratch, bool a_skip_res=false) | 
| virtual unsigned int | orderOfAccuracy (void) const | 
| virtual void | enforceCFConsistency (T &a_coarseCorrection, const T &a_correction) | 
| This routine is for operators with orderOfAccuracy()>2.  More... | |
  Public Member Functions inherited from MGLevelOp< T > | |
| MGLevelOp () | |
| Constructor.  More... | |
| virtual | ~MGLevelOp () | 
| Destructor.  More... | |
| virtual void | createCoarser (T &a_coarse, const T &a_fine, bool ghosted)=0 | 
| virtual void | relax (T &a_correction, const T &a_residual, int a_iterations)=0 | 
| virtual void | relaxNF (T &a_phi, const T *a_phiCoarse, const T &a_rhs, int a_iterations) | 
| specialized no-fine relax function, useful for full-multigrid schemes, defaults to regular relax  More... | |
| virtual void | restrictResidual (T &a_resCoarse, T &a_phiFine, const T &a_rhsFine)=0 | 
| virtual void | restrictResidual (T &a_resCoarse, T &a_phiFine, const T *a_phiCoarse, const T &a_rhsFine, bool homogeneous) | 
| full-multigrid version of restrictResidual, useful for FAS-type schemes. Defaults to standard restriction  More... | |
| virtual void | restrictR (T &a_phiCoarse, const T &a_phiFine) | 
| simple restriction function  More... | |
| virtual void | prolongIncrement (T &a_phiThisLevel, const T &a_correctCoarse)=0 | 
| void | addObserver (MGLevelOpObserver< T > *a_observer) | 
| virtual void | applyOpMg (T &a_lhs, T &a_phi, T *a_phiCoarse, bool a_homogeneous) | 
| Apply an operator.  More... | |
| virtual void | residualNF (T &a_lhs, T &a_phi, const T *a_phiCoarse, const T &a_rhs, bool a_homogeneous=false) | 
| void | removeObserver (MGLevelOpObserver< T > *a_observer) | 
| void | addCoarserObserver (MGLevelOp< T > *a_operator, int a_coarseningFactor) | 
| void | notifyObserversOfChange () | 
| This should be called whenever the operator's data is updated.  More... | |
| virtual void | finerOperatorChanged (const MGLevelOp< T > &a_operator, int a_coarseningFactor) | 
| int | numObservers () const | 
| Returns the number of objects observing this operator.  More... | |
  Public Member Functions inherited from LinearOp< T > | |
| virtual | ~LinearOp () | 
| virtual void | residual (T &a_lhs, const T &a_phi, const T &a_rhs, bool a_homogeneous=false)=0 | 
| virtual void | preCond (T &a_cor, const T &a_residual)=0 | 
| virtual void | applyOp (T &a_lhs, const T &a_phi, bool a_homogeneous=false)=0 | 
| virtual void | create (T &a_lhs, const T &a_rhs)=0 | 
| virtual void | clear (T &a_lhs) | 
| virtual void | assign (T &a_lhs, const T &a_rhs)=0 | 
| virtual void | assignLocal (T &a_lhs, const T &a_rhs) | 
| virtual Real | dotProduct (const T &a_1, const T &a_2)=0 | 
| virtual void | mDotProduct (const T &a_1, const int a_sz, const T a_2[], Real a_mdots[]) | 
| virtual void | incr (T &a_lhs, const T &a_x, Real a_scale)=0 | 
| virtual void | axby (T &a_lhs, const T &a_x, const T &a_y, Real a_a, Real a_b)=0 | 
| virtual void | scale (T &a_lhs, const Real &a_scale)=0 | 
| virtual Real | norm (const T &a_rhs, int a_ord)=0 | 
| virtual Real | dx () const | 
| virtual void | setToZero (T &a_lhs)=0 | 
| virtual void | write (const T *a, const char *filename) | 
  Public Member Functions inherited from MGLevelOpObserver< T > | |
| MGLevelOpObserver () | |
| Base level Constructor. Called by all subclasses.  More... | |
| virtual | ~MGLevelOpObserver () | 
| Destructor.  More... | |
| virtual void | operatorChanged (const MGLevelOp< T > &a_operator) | 
| void | setObservee (MGLevelOp< T > *a_observee) | 
| void | clearObservee () | 
Operator class for AMR Multigrid
      
  | 
  inline | 
Constructor.
      
  | 
  inlinevirtual | 
Destructor.
      
  | 
  inlinevirtual | 
Reimplemented in EBAMRPoissonOp, and EBConductivityOp.
      
  | 
  inlinevirtual | 
Reimplemented in EBAMRPoissonOp, and EBConductivityOp.
      
  | 
  inlinevirtual | 
      
  | 
  inlinevirtual | 
Reimplemented in EBAMRPoissonOp, NWOViscousTensorOp, AMRPoissonOp, ViscousTensorOp, NWOEBViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, ResistivityOp, AMRNodeOp, and slowEBCO.
      
  | 
  inlinevirtual | 
Reimplemented in NWOViscousTensorOp, ViscousTensorOp, NWOEBViscousTensorOp, and EBViscousTensorOp.
      
  | 
  inlinevirtual | 
Reimplemented in NWOViscousTensorOp, ViscousTensorOp, NWOEBViscousTensorOp, and EBViscousTensorOp.
      
  | 
  pure virtual | 
return the refinement ratio to next coarser level. return 1 when there are no coarser AMRLevelOp objects.
Implemented in EBAMRPoissonOp, NWOEBViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, NWOViscousTensorOp, slowEBCO, ViscousTensorOp, AMRPoissonOp, ResistivityOp, and AMRNodeOp.
Referenced by AMRFASMultiGrid< T >::init(), AMRMultiGrid< LevelData< T > >::init(), and AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
a_residual = a_rhs - L(a_phiFine, a_phi, a_phiCoarse)
Implemented in EBAMRPoissonOp, NWOEBViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, NWOViscousTensorOp, slowEBCO, ViscousTensorOp, AMRPoissonOp, ResistivityOp, and AMRNodeOp.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
a_residual = a_rhs - L^nf(a_phi, a_phiCoarse) assume no finer AMR level
Implemented in EBAMRPoissonOp, NWOEBViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, NWOViscousTensorOp, slowEBCO, ViscousTensorOp, AMRPoissonOp, ResistivityOp, and AMRNodeOp.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
a_residual = a_rhs - L(a_phiFine, a_phi) assume no coarser AMR level
Implemented in EBAMRPoissonOp, NWOViscousTensorOp, ViscousTensorOp, AMRPoissonOp, NWOEBViscousTensorOp, EBViscousTensorOp, ResistivityOp, AMRNodeOp, EBConductivityOp, NWOEBConductivityOp, and slowEBCO.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
Apply the AMR operator, including coarse-fine matching
Implemented in EBAMRPoissonOp, NWOViscousTensorOp, NWOEBViscousTensorOp, ViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, slowEBCO, AMRPoissonOp, ResistivityOp, and AMRNodeOp.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
Apply the AMR operator, including coarse-fine matching. assume no finer AMR level
Implemented in EBAMRPoissonOp, NWOViscousTensorOp, NWOEBViscousTensorOp, ViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, slowEBCO, AMRPoissonOp, ResistivityOp, and AMRNodeOp.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
Apply the AMR operator, including coarse-fine matching assume no coarser AMR level
Implemented in NWOViscousTensorOp, ViscousTensorOp, EBAMRPoissonOp, AMRPoissonOp, ResistivityOp, NWOEBViscousTensorOp, EBViscousTensorOp, AMRNodeOp, EBConductivityOp, NWOEBConductivityOp, and slowEBCO.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
a_resCoarse = I[h-2h]( a_residual - L(a_correction, a_coarseCorrection))
Implemented in EBAMRPoissonOp, NWOEBViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, NWOViscousTensorOp, slowEBCO, ViscousTensorOp, AMRPoissonOp, ResistivityOp, and AMRNodeOp.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::AMRRestrictS(), and AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
a_correction += I[2h->h](a_coarseCorrection)
Implemented in EBAMRPoissonOp, NWOEBViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, NWOViscousTensorOp, slowEBCO, ViscousTensorOp, AMRPoissonOp, ResistivityOp, and AMRNodeOp.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::AMRProlongS(), AMRLevelOp< LevelData< NodeFArrayBox > >::AMRProlongS_2(), and AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
a_residual = a_residual - L(a_correction, a_coarseCorrection)
Implemented in EBAMRPoissonOp, NWOEBViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, NWOViscousTensorOp, AMRPoissonOp, slowEBCO, ViscousTensorOp, ResistivityOp, and AMRNodeOp.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  pure virtual | 
Implemented in EBAMRPoissonOp, NWOEBViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, slowEBCO, NWOViscousTensorOp, ViscousTensorOp, AMRPoissonOp, ResistivityOp, and AMRNodeOp.
Referenced by AMRMultiGrid< LevelData< T > >::init(), and AMRLevelOp< LevelData< NodeFArrayBox > >::outputAMR().
      
  | 
  inlinevirtual | 
Reimplemented in EBAMRPoissonOp, and AMRPoissonOp.
Referenced by AMRMultiGrid< LevelData< T > >::init().
      
  | 
  inlinevirtual | 
Reimplemented in EBAMRPoissonOp, and AMRPoissonOp.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::zeroCovered().
      
  | 
  inlinevirtual | 
Reimplemented in AMRPoissonOp.
      
  | 
  inlinevirtual | 
Reimplemented in EBAMRPoissonOp, NWOEBViscousTensorOp, EBViscousTensorOp, EBConductivityOp, NWOEBConductivityOp, and AMRPoissonOp.
      
  | 
  inlinevirtual | 
optimization of AMRProlong that sends in the existing temporary and copier
Reimplemented in AMRPoissonOp.
      
  | 
  inlinevirtual | 
optimization of AMRProlong that sends in the existing temporary and copier – high order
Reimplemented in AMRPoissonOp.
      
  | 
  inlinevirtual | 
Reimplemented in AMRPoissonOp.
      
  | 
  inlinevirtual | 
      
  | 
  inlinevirtual | 
This routine is for operators with orderOfAccuracy()>2.
 1.8.13