Chombo + EB + MF  3.2
Public Member Functions | List of all members
LevelTGAHelmOp< T, TFlux > Class Template Referenceabstract

#include <AMRTGA.H>

Inheritance diagram for LevelTGAHelmOp< T, TFlux >:
Inheritance graph
[legend]

Public Member Functions

 LevelTGAHelmOp ()
 
 LevelTGAHelmOp (bool a_isTimeIndependent)
 
virtual ~LevelTGAHelmOp ()
 Destructor. More...
 
virtual void fillGrad (const T &a_phi)=0
 These functions are part of the LevelTGA interface...... More...
 
virtual void getFlux (TFlux &a_flux, const T &a_data, const Box &a_grid, const DataIndex &a_dit, Real a_scale)=0
 
- Public Member Functions inherited from TGAHelmOp< T >
 TGAHelmOp ()
 
 TGAHelmOp (bool a_isTimeDependent)
 
virtual ~TGAHelmOp ()
 Destructor. More...
 
virtual void setAlphaAndBeta (const Real &a_alpha, const Real &a_beta)=0
 
virtual void diagonalScale (T &a_rhs, bool a_kappaWeighted)
 
virtual void kappaScale (T &a_rhs)
 for eb only. kappa weight the rhs but do not multiply by the identity coefficient More...
 
virtual void diagonalScale (T &a_rhs)
 
virtual void divideByIdentityCoef (T &a_rhs)=0
 
virtual void applyOpNoBoundary (T &a_ans, const T &a_phi)=0
 
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 T & identityCoef ()
 Allows access to the identity coefficient data for the operator. More...
 
- Public Member Functions inherited from AMRLevelOp< T >
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 ()
 

Detailed Description

template<class T, class TFlux>
class LevelTGAHelmOp< T, TFlux >

This subclass of TGAHelmOp proves additional functionality for computing fluxes at refinement level boundaries.

Template Parameters
TThe LevelData class that holds solution data.
TFluxThe FArrayBox class that holds flux data within a LevelData.

Constructor & Destructor Documentation

◆ LevelTGAHelmOp() [1/2]

template<class T, class TFlux>
LevelTGAHelmOp< T, TFlux >::LevelTGAHelmOp ( )
inline

Base class default constructor. This constructs a time-independent LevelTGAHelmOp.

◆ LevelTGAHelmOp() [2/2]

template<class T, class TFlux>
LevelTGAHelmOp< T, TFlux >::LevelTGAHelmOp ( bool  a_isTimeIndependent)
inline

Base class constructor which specifies explicitly whether this operator is time-dependent.

Parameters
a_isTimeDependentIf set to true, this Helmholtz operator will be treated as a time-dependent operator.

◆ ~LevelTGAHelmOp()

template<class T, class TFlux>
virtual LevelTGAHelmOp< T, TFlux >::~LevelTGAHelmOp ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ fillGrad()

template<class T, class TFlux>
virtual void LevelTGAHelmOp< T, TFlux >::fillGrad ( const T &  a_phi)
pure virtual

◆ getFlux()

template<class T, class TFlux>
virtual void LevelTGAHelmOp< T, TFlux >::getFlux ( TFlux &  a_flux,
const T &  a_data,
const Box a_grid,
const DataIndex a_dit,
Real  a_scale 
)
pure virtual

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