AMRTGA< T > Class Template Reference

#include <AMRTGA.H>

List of all members.


Detailed Description

template<class T>
class AMRTGA< T >

Template implementation of the TGA algorithm to solve the heat equation.

Public Member Functions

TGAHelmOp< T > * newOp (const ProblemDomain &a_indexSpace, const AMRLevelOpFactory< T > &a_opFact)
 ~AMRTGA ()
 AMRTGA (const RefCountedPtr< AMRMultiGrid< T > > &a_solver, const AMRLevelOpFactory< T > &a_factory, const ProblemDomain &a_level0Domain, const Vector< int > &a_refRat, int a_numLevels=-1, int a_verbosity=0)
void oneStep (Vector< T * > &a_phiNew, Vector< T * > &a_phiOld, Vector< T * > &a_source, const Real &a_dt, int a_lbase, int a_lmax, Real a_timeOld=0)
void resetAlphaAndBeta (const Real &a_alpha, const Real &a_beta)
void setTime (Real time)

Protected Member Functions

void solveHelm (Vector< T * > &a_ans, Vector< T * > &a_rhs, int a_lbase, int a_lmax, Real a_mu, Real a_dt)
void applyHelm (Vector< T * > &a_ans, Vector< T * > &a_source, int a_lbase, int a_lmax, Real a_mu, Real a_dt, bool a_homogeneousBC)
void setMu ()
void createData (Vector< T * > &a_source, int a_lbase, int a_lmax)

Private Member Functions

 AMRTGA (const AMRTGA< T > &a_opin)
void operator= (const AMRTGA< T > &a_opin)
 AMRTGA ()
 weak construction is bad. Ref Counted pointers are your friends.

Private Attributes

Vector< TGAHelmOp< T > * > m_ops
ProblemDomain m_level0Domain
Vector< int > m_refRat
RefCountedPtr< AMRMultiGrid< T > > m_solver
Real m_mu1
Real m_mu2
Real m_mu3
Real m_mu4
int m_verbosity
int m_numLevels
bool m_dataCreated
Vector< T * > m_rhst
Vector< T * > m_srct

Constructor & Destructor Documentation

template<class T>
AMRTGA< T >::~AMRTGA (  )  [inline]

template<class T>
AMRTGA< T >::AMRTGA ( const RefCountedPtr< AMRMultiGrid< T > > &  a_solver,
const AMRLevelOpFactory< T > &  a_factory,
const ProblemDomain a_level0Domain,
const Vector< int > &  a_refRat,
int  a_numLevels = -1,
int  a_verbosity = 0 
) [inline]

template<class T>
AMRTGA< T >::AMRTGA ( const AMRTGA< T > &  a_opin  )  [inline, private]

References MayDay::Error().

template<class T>
AMRTGA< T >::AMRTGA (  )  [inline, private]

weak construction is bad. Ref Counted pointers are your friends.

References MayDay::Error().


Member Function Documentation

template<class T>
TGAHelmOp<T>* AMRTGA< T >::newOp ( const ProblemDomain a_indexSpace,
const AMRLevelOpFactory< T > &  a_opFact 
) [inline]

template<class T>
void AMRTGA< T >::oneStep ( Vector< T * > &  a_phiNew,
Vector< T * > &  a_phiOld,
Vector< T * > &  a_source,
const Real a_dt,
int  a_lbase,
int  a_lmax,
Real  a_timeOld = 0 
) [inline]

This advances a parabolic pde from a_phiOld to a_phiNew using TGA on a non-moving domain with source term a_source If your operator is time-dependent, be sure to send the time.

References AMRTGA< T >::applyHelm(), AMRTGA< T >::createData(), AMRTGA< T >::m_dataCreated, AMRTGA< T >::m_mu1, AMRTGA< T >::m_mu2, AMRTGA< T >::m_mu3, AMRTGA< T >::m_mu4, AMRTGA< T >::m_ops, AMRTGA< T >::m_rhst, AMRTGA< T >::m_srct, AMRTGA< T >::m_verbosity, pout(), AMRTGA< T >::setTime(), and AMRTGA< T >::solveHelm().

template<class T>
void AMRTGA< T >::resetAlphaAndBeta ( const Real a_alpha,
const Real a_beta 
) [inline]

template<class T>
void AMRTGA< T >::setTime ( Real  time  )  [inline]

template<class T>
void AMRTGA< T >::solveHelm ( Vector< T * > &  a_ans,
Vector< T * > &  a_rhs,
int  a_lbase,
int  a_lmax,
Real  a_mu,
Real  a_dt 
) [inline, protected]

template<class T>
void AMRTGA< T >::applyHelm ( Vector< T * > &  a_ans,
Vector< T * > &  a_source,
int  a_lbase,
int  a_lmax,
Real  a_mu,
Real  a_dt,
bool  a_homogeneousBC 
) [inline, protected]

template<class T>
void AMRTGA< T >::setMu (  )  [inline, protected]

template<class T>
void AMRTGA< T >::createData ( Vector< T * > &  a_source,
int  a_lbase,
int  a_lmax 
) [inline, protected]

template<class T>
void AMRTGA< T >::operator= ( const AMRTGA< T > &  a_opin  )  [inline, private]

References MayDay::Error().


Member Data Documentation

template<class T>
Vector<TGAHelmOp<T> * > AMRTGA< T >::m_ops [private]

template<class T>
ProblemDomain AMRTGA< T >::m_level0Domain [private]

Referenced by AMRTGA< T >::AMRTGA().

template<class T>
Vector<int> AMRTGA< T >::m_refRat [private]

Referenced by AMRTGA< T >::AMRTGA().

template<class T>
RefCountedPtr<AMRMultiGrid<T> > AMRTGA< T >::m_solver [private]

template<class T>
Real AMRTGA< T >::m_mu1 [private]

template<class T>
Real AMRTGA< T >::m_mu2 [private]

template<class T>
Real AMRTGA< T >::m_mu3 [private]

template<class T>
Real AMRTGA< T >::m_mu4 [private]

template<class T>
int AMRTGA< T >::m_verbosity [private]

template<class T>
int AMRTGA< T >::m_numLevels [private]

Referenced by AMRTGA< T >::AMRTGA().

template<class T>
bool AMRTGA< T >::m_dataCreated [private]

template<class T>
Vector<T*> AMRTGA< T >::m_rhst [private]

template<class T>
Vector<T*> AMRTGA< T >::m_srct [private]


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

Generated on Fri Apr 5 04:24:53 2019 for Chombo + EB by  doxygen 1.5.5