MFBackwardEuler Class Reference

#include <MFBackwardEuler.H>

List of all members.


Detailed Description

Solves dphi/dt = L phi + rho using backward euler. Uses TGAHelmOp functionaltity.

Public Member Functions

 ~MFBackwardEuler ()
 MFBackwardEuler (const RefCountedPtr< AMRMultiGrid< LevelData< MFCellFAB > > > &a_solver, const AMRLevelOpFactory< LevelData< MFCellFAB > > &a_factory, const ProblemDomain &a_level0Domain, const Vector< int > &a_refRat, int a_numLevels=-1, int a_verbosity=3)
void oneStep (Vector< LevelData< MFCellFAB > * > &a_phiNew, Vector< LevelData< MFCellFAB > * > &a_phiOld, Vector< LevelData< MFCellFAB > * > &a_source, const Real &a_dt, int a_lbase, int a_lmax, Real a_told=0, bool a_zeroPhi=true)
void residual (Vector< LevelData< MFCellFAB > * > &a_error, Vector< LevelData< MFCellFAB > * > &a_phiNew, Vector< LevelData< MFCellFAB > * > &a_phiOld, Vector< LevelData< MFCellFAB > * > &a_source, const Real &a_dt, int a_lbase, int a_lmax, Real a_told)
void resetAlphaAndBeta (const Real &a_alpha, const Real &a_beta)
void setTime (Real a_time)

Protected Member Functions

void solveHelm (Vector< LevelData< MFCellFAB > * > &a_ans, Vector< LevelData< MFCellFAB > * > &a_rhs, int a_lbase, int a_lmax, Real a_dt, bool a_zeroPhi)
void applyHelm (Vector< LevelData< MFCellFAB > * > &a_ans, Vector< LevelData< MFCellFAB > * > &a_phi, int a_lbase, int a_lmax, Real a_mu, Real a_dt, bool a_homogeneousBC)
void createEulerRHS (Vector< LevelData< MFCellFAB > * > &a_ans, Vector< LevelData< MFCellFAB > * > &a_source, Vector< LevelData< MFCellFAB > * > &a_phiOld, int a_lbase, int a_lmax, Real a_dt)
void createData (Vector< LevelData< MFCellFAB > * > &a_source, int a_lbase, int a_lmax)
TGAHelmOp< LevelData
< MFCellFAB > > * 
newOp (const ProblemDomain &a_indexSpace, const AMRLevelOpFactory< LevelData< MFCellFAB > > &a_opFact)

Private Member Functions

 MFBackwardEuler (const MFBackwardEuler &a_opin)
void operator= (const MFBackwardEuler &a_opin)
 MFBackwardEuler ()
 weak construction is bad. Ref Counted pointers are your friends.

Private Attributes

Vector< RefCountedPtr
< TGAHelmOp< LevelData
< MFCellFAB > > > > 
m_ops
Vector< LevelData< MFCellFAB > * > m_rhst
ProblemDomain m_level0Domain
Vector< int > m_refRat
RefCountedPtr< AMRMultiGrid
< LevelData< MFCellFAB > > > 
m_solver
int m_verbosity
int m_numLevels
bool m_dataCreated

Constructor & Destructor Documentation

MFBackwardEuler::~MFBackwardEuler (  ) 

MFBackwardEuler::MFBackwardEuler ( const RefCountedPtr< AMRMultiGrid< LevelData< MFCellFAB > > > &  a_solver,
const AMRLevelOpFactory< LevelData< MFCellFAB > > &  a_factory,
const ProblemDomain a_level0Domain,
const Vector< int > &  a_refRat,
int  a_numLevels = -1,
int  a_verbosity = 3 
)

MFBackwardEuler::MFBackwardEuler ( const MFBackwardEuler a_opin  )  [inline, private]

References MayDay::Error().

MFBackwardEuler::MFBackwardEuler (  )  [inline, private]

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

References MayDay::Error().


Member Function Documentation

void MFBackwardEuler::oneStep ( Vector< LevelData< MFCellFAB > * > &  a_phiNew,
Vector< LevelData< MFCellFAB > * > &  a_phiOld,
Vector< LevelData< MFCellFAB > * > &  a_source,
const Real a_dt,
int  a_lbase,
int  a_lmax,
Real  a_told = 0,
bool  a_zeroPhi = true 
)

This advances a parabolic pde from a_phiOld to a_phiNew using TGA on a non-moving domain with source term a_source

void MFBackwardEuler::residual ( Vector< LevelData< MFCellFAB > * > &  a_error,
Vector< LevelData< MFCellFAB > * > &  a_phiNew,
Vector< LevelData< MFCellFAB > * > &  a_phiOld,
Vector< LevelData< MFCellFAB > * > &  a_source,
const Real a_dt,
int  a_lbase,
int  a_lmax,
Real  a_told 
)

void MFBackwardEuler::resetAlphaAndBeta ( const Real a_alpha,
const Real a_beta 
)

void MFBackwardEuler::setTime ( Real  a_time  ) 

void MFBackwardEuler::solveHelm ( Vector< LevelData< MFCellFAB > * > &  a_ans,
Vector< LevelData< MFCellFAB > * > &  a_rhs,
int  a_lbase,
int  a_lmax,
Real  a_dt,
bool  a_zeroPhi 
) [protected]

void MFBackwardEuler::applyHelm ( Vector< LevelData< MFCellFAB > * > &  a_ans,
Vector< LevelData< MFCellFAB > * > &  a_phi,
int  a_lbase,
int  a_lmax,
Real  a_mu,
Real  a_dt,
bool  a_homogeneousBC 
) [protected]

void MFBackwardEuler::createEulerRHS ( Vector< LevelData< MFCellFAB > * > &  a_ans,
Vector< LevelData< MFCellFAB > * > &  a_source,
Vector< LevelData< MFCellFAB > * > &  a_phiOld,
int  a_lbase,
int  a_lmax,
Real  a_dt 
) [protected]

void MFBackwardEuler::createData ( Vector< LevelData< MFCellFAB > * > &  a_source,
int  a_lbase,
int  a_lmax 
) [protected]

TGAHelmOp<LevelData<MFCellFAB> >* MFBackwardEuler::newOp ( const ProblemDomain a_indexSpace,
const AMRLevelOpFactory< LevelData< MFCellFAB > > &  a_opFact 
) [protected]

void MFBackwardEuler::operator= ( const MFBackwardEuler a_opin  )  [inline, private]

References MayDay::Error().


Member Data Documentation


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

Generated on Tue Oct 24 03:27:13 2017 for Chombo + EB + MF by  doxygen 1.5.5