#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. | |
virtual void | dumpStuff (Vector< T * > data, string filename) |
virtual | ~AMRLevelOp () |
Destructor. | |
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. |
AMRLevelOp< T >::AMRLevelOp | ( | ) | [inline] |
Constructor.
virtual AMRLevelOp< T >::~AMRLevelOp | ( | ) | [inline, virtual] |
Destructor.
virtual void AMRLevelOp< T >::dumpAMR | ( | Vector< T * > & | a_data, | |
string | name | |||
) | [inline, virtual] |
Reimplemented in EBAMRPoissonOp, and EBConductivityOp.
virtual void AMRLevelOp< T >::dumpLevel | ( | T & | a_data, | |
string | name | |||
) | [inline, virtual] |
Reimplemented in EBAMRPoissonOp, and EBConductivityOp.
virtual void AMRLevelOp< T >::dumpStuff | ( | Vector< T * > | data, | |
string | filename | |||
) | [inline, virtual] |
virtual Real AMRLevelOp< T >::AMRNorm | ( | const T & | a_coarResid, | |
const T & | a_fineResid, | |||
const int & | a_refRat, | |||
const int & | a_ord | |||
) | [inline, virtual] |
Reimplemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
virtual void AMRLevelOp< T >::outputLevel | ( | T & | a_rhs, | |
string & | a_name | |||
) | [inline, virtual] |
Reimplemented in ViscousTensorOp, NWOViscousTensorOp, ViscousTensorOp, EBViscousTensorOp, and NWOEBViscousTensorOp.
virtual void AMRLevelOp< T >::outputAMR | ( | Vector< T * > & | a_rhs, | |
string & | a_name | |||
) | [inline, virtual] |
Reimplemented in ViscousTensorOp, NWOViscousTensorOp, ViscousTensorOp, EBViscousTensorOp, and NWOEBViscousTensorOp.
virtual int AMRLevelOp< T >::refToCoarser | ( | ) | [pure virtual] |
return the refinement ratio to next coarser level. return 1 when there are no coarser AMRLevelOp objects.
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
Referenced by AMRMultiGrid< T >::init(), and AMRFASMultiGrid< T >::init().
virtual void AMRLevelOp< T >::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 | |||
) | [pure virtual] |
a_residual = a_rhs - L(a_phiFine, a_phi, a_phiCoarse)
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
virtual void AMRLevelOp< T >::AMRResidualNF | ( | T & | a_residual, | |
const T & | a_phi, | |||
const T & | a_phiCoarse, | |||
const T & | a_rhs, | |||
bool | a_homogeneousBC | |||
) | [pure virtual] |
a_residual = a_rhs - L^nf(a_phi, a_phiCoarse) assume no finer AMR level
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
virtual void AMRLevelOp< T >::AMRResidualNC | ( | T & | a_residual, | |
const T & | a_phiFine, | |||
const T & | a_phi, | |||
const T & | a_rhs, | |||
bool | a_homogeneousBC, | |||
AMRLevelOp< T > * | a_finerOp | |||
) | [pure virtual] |
a_residual = a_rhs - L(a_phiFine, a_phi) assume no coarser AMR level
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
virtual void AMRLevelOp< T >::AMROperator | ( | T & | a_LofPhi, | |
const T & | a_phiFine, | |||
const T & | a_phi, | |||
const T & | a_phiCoarse, | |||
bool | a_homogeneousDomBC, | |||
AMRLevelOp< T > * | a_finerOp | |||
) | [pure virtual] |
Apply the AMR operator, including coarse-fine matching
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
virtual void AMRLevelOp< T >::AMROperatorNF | ( | T & | a_LofPhi, | |
const T & | a_phi, | |||
const T & | a_phiCoarse, | |||
bool | a_homogeneousBC | |||
) | [pure virtual] |
Apply the AMR operator, including coarse-fine matching. assume no finer AMR level
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
virtual void AMRLevelOp< T >::AMROperatorNC | ( | T & | a_LofPhi, | |
const T & | a_phiFine, | |||
const T & | a_phi, | |||
bool | a_homogeneousBC, | |||
AMRLevelOp< T > * | a_finerOp | |||
) | [pure virtual] |
Apply the AMR operator, including coarse-fine matching assume no coarser AMR level
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
virtual void AMRLevelOp< T >::AMRRestrict | ( | T & | a_resCoarse, | |
const T & | a_residual, | |||
const T & | a_correction, | |||
const T & | a_coarseCorrection, | |||
bool | a_skip_res | |||
) | [pure virtual] |
a_resCoarse = I[h-2h]( a_residual - L(a_correction, a_coarseCorrection))
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::AMRRestrictS().
virtual void AMRLevelOp< T >::AMRProlong | ( | T & | a_correction, | |
const T & | a_coarseCorrection | |||
) | [pure virtual] |
a_correction += I[2h->h](a_coarseCorrection)
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::AMRProlongS(), and AMRLevelOp< LevelData< NodeFArrayBox > >::AMRProlongS_2().
virtual void AMRLevelOp< T >::AMRUpdateResidual | ( | T & | a_residual, | |
const T & | a_correction, | |||
const T & | a_coarseCorrection | |||
) | [pure virtual] |
a_residual = a_residual - L(a_correction, a_coarseCorrection)
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
virtual void AMRLevelOp< T >::createCoarsened | ( | T & | a_lhs, | |
const T & | a_rhs, | |||
const int & | a_refRat | |||
) | [pure virtual] |
Implemented in AMRNodeOp, AMRPoissonOp, ViscousTensorOp, NWOViscousTensorOp, ResistivityOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, NWOEBViscousTensorOp, and slowEBCO.
Referenced by AMRMultiGrid< T >::init().
virtual void AMRLevelOp< T >::buildCopier | ( | Copier & | a_copier, | |
const T & | a_lhs, | |||
const T & | a_rhs | |||
) | [inline, virtual] |
virtual void AMRLevelOp< T >::assignCopier | ( | T & | a_lhs, | |
const T & | a_rhs, | |||
const Copier & | a_copier | |||
) | [inline, virtual] |
Reimplemented in AMRPoissonOp, and EBAMRPoissonOp.
Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::zeroCovered().
virtual void AMRLevelOp< T >::zeroCovered | ( | T & | a_lhs, | |
T & | a_rhs, | |||
const Copier & | a_copier | |||
) | [inline, virtual] |
Reimplemented in AMRPoissonOp.
virtual Real AMRLevelOp< T >::localMaxNorm | ( | const T & | a_phi | ) | [inline, virtual] |
Reimplemented in AMRPoissonOp, EBAMRPoissonOp, EBConductivityOp, EBViscousTensorOp, NWOEBConductivityOp, and NWOEBViscousTensorOp.
virtual void AMRLevelOp< T >::AMRProlongS | ( | T & | a_correction, | |
const T & | a_coarseCorrection, | |||
T & | a_temp, | |||
const Copier & | a_copier | |||
) | [inline, virtual] |
optimization of AMRProlong that sends in the existing temporary and copier
Reimplemented in AMRPoissonOp.
virtual void AMRLevelOp< T >::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 | |||
) | [inline, virtual] |
optimization of AMRProlong that sends in the existing temporary and copier -- high order
Reimplemented in AMRPoissonOp.
virtual void AMRLevelOp< T >::AMRRestrictS | ( | T & | a_resCoarse, | |
const T & | a_residual, | |||
const T & | a_correction, | |||
const T & | a_coarseCorrection, | |||
T & | scratch, | |||
bool | a_skip_res = false | |||
) | [inline, virtual] |
Reimplemented in AMRPoissonOp.
virtual unsigned int AMRLevelOp< T >::orderOfAccuracy | ( | void | ) | const [inline, virtual] |
virtual void AMRLevelOp< T >::enforceCFConsistency | ( | T & | a_coarseCorrection, | |
const T & | a_correction | |||
) | [inline, virtual] |
This routine is for operators with orderOfAccuracy()>2.