AMRLevelOp< T > Class Template Reference

#include <AMRMultiGrid.H>

Inheritance diagram for AMRLevelOp< T >:

Inheritance graph
[legend]
Collaboration diagram for AMRLevelOp< T >:

Collaboration graph
[legend]

List of all members.


Detailed Description

template<class T>
class AMRLevelOp< T >

Operator class for AMR Multigrid

Public Member Functions

virtual ~AMRLevelOp ()
virtual Real AMRNorm (const T &a_coarResid, const T &a_fineResid, const int &a_refRat, const int &a_ord)
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)=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 AMRRestrictS (T &a_resCoarse, const T &a_residual, const T &a_correction, const T &a_coarseCorrection, T &scratch)

Constructor & Destructor Documentation

template<class T>
virtual AMRLevelOp< T >::~AMRLevelOp (  )  [inline, virtual]


Member Function Documentation

template<class T>
virtual Real AMRLevelOp< T >::AMRNorm ( const T &  a_coarResid,
const T &  a_fineResid,
const int &  a_refRat,
const int &  a_ord 
) [inline, virtual]

template<class T>
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, ResistivityOp, VCAMRPoissonOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, and EBViscousTensorOp.

Referenced by AMRMultiGrid< T >::init().

template<class T>
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, ResistivityOp, VCAMRPoissonOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, and EBViscousTensorOp.

template<class T>
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, ResistivityOp, VCAMRPoissonOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, and EBViscousTensorOp.

template<class T>
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, ResistivityOp, VCAMRPoissonOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, and EBViscousTensorOp.

template<class T>
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, ResistivityOp, VCAMRPoissonOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, and EBViscousTensorOp.

template<class T>
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, ResistivityOp, VCAMRPoissonOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, and EBViscousTensorOp.

template<class T>
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, ResistivityOp, VCAMRPoissonOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, and EBViscousTensorOp.

template<class T>
virtual void AMRLevelOp< T >::AMRRestrict ( T &  a_resCoarse,
const T &  a_residual,
const T &  a_correction,
const T &  a_coarseCorrection 
) [pure virtual]

a_resCoarse = I[h-2h]( a_residual - L(a_correction, a_coarseCorrection))

Implemented in AMRNodeOp, AMRPoissonOp, ResistivityOp, VCAMRPoissonOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, and EBViscousTensorOp.

Referenced by AMRLevelOp< LevelData< NodeFArrayBox > >::AMRRestrictS().

template<class T>
virtual void AMRLevelOp< T >::AMRProlong ( T &  a_correction,
const T &  a_coarseCorrection 
) [pure virtual]

template<class T>
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, ResistivityOp, VCAMRPoissonOp, ViscousTensorOp, EBAMRPoissonOp, EBConductivityOp, and EBViscousTensorOp.

template<class T>
virtual void AMRLevelOp< T >::createCoarsened ( T &  a_lhs,
const T &  a_rhs,
const int &  a_refRat 
) [pure virtual]

template<class T>
virtual void AMRLevelOp< T >::buildCopier ( Copier a_copier,
const T &  a_lhs,
const T &  a_rhs 
) [inline, virtual]

Reimplemented in AMRPoissonOp.

Referenced by AMRMultiGrid< T >::init().

template<class T>
virtual void AMRLevelOp< T >::assignCopier ( T &  a_lhs,
const T &  a_rhs,
const Copier a_copier 
) [inline, virtual]

template<class T>
virtual void AMRLevelOp< T >::zeroCovered ( T &  a_lhs,
T &  a_rhs,
const Copier a_copier 
) [inline, virtual]

Reimplemented in AMRPoissonOp.

template<class T>
virtual Real AMRLevelOp< T >::localMaxNorm ( const T &  a_phi  )  [inline, virtual]

Reimplemented in AMRPoissonOp, and EBAMRPoissonOp.

template<class T>
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.

template<class T>
virtual void AMRLevelOp< T >::AMRRestrictS ( T &  a_resCoarse,
const T &  a_residual,
const T &  a_correction,
const T &  a_coarseCorrection,
T &  scratch 
) [inline, virtual]

Reimplemented in AMRPoissonOp.


The documentation for this class was generated from the following file:

Generated on Tue Apr 14 14:22:46 2009 for Chombo + EB by  doxygen 1.5.5