EBBackwardEuler Class Reference

#include <EBBackwardEuler.H>

List of all members.


Detailed Description

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

Public Member Functions

 ~EBBackwardEuler ()
 EBBackwardEuler (const RefCountedPtr< AMRMultiGrid< LevelData< EBCellFAB > > > &a_solver, const AMRLevelOpFactory< LevelData< EBCellFAB > > &a_factory, const ProblemDomain &a_level0Domain, const Vector< int > &a_refRat, int a_numLevels=-1, int a_verbosity=3)
void oneStep (Vector< LevelData< EBCellFAB > * > &a_phiNew, Vector< LevelData< EBCellFAB > * > &a_phiOld, Vector< LevelData< EBCellFAB > * > &a_source, const Real &a_dt, int a_lbase, int a_lmax, bool a_zeroPhi=true, const bool a_kappaWeighted=false)
void resetAlphaAndBeta (const Real &a_alpha, const Real &a_beta)
void computeDiffusion (Vector< LevelData< EBCellFAB > * > &a_diffusiveTerm, Vector< LevelData< EBCellFAB > * > &a_phiOld, Vector< LevelData< EBCellFAB > * > &a_src, Real a_oldTime, Real a_dt, int a_lbase, int a_lmax, bool a_zeroPhi)

Protected Member Functions

void solveHelm (Vector< LevelData< EBCellFAB > * > &a_ans, Vector< LevelData< EBCellFAB > * > &a_rhs, int a_lbase, int a_lmax, Real a_dt, bool a_zeroPhi)
void createEulerRHS (Vector< LevelData< EBCellFAB > * > &a_ans, Vector< LevelData< EBCellFAB > * > &a_source, Vector< LevelData< EBCellFAB > * > &a_phiOld, int a_lbase, int a_lmax, Real a_dt, const bool a_kappaWeighted=false)
void createData (Vector< LevelData< EBCellFAB > * > &a_source, int a_lbase, int a_lmax)
TGAHelmOp< LevelData
< EBCellFAB > > * 
newOp (const ProblemDomain &a_indexSpace, const AMRLevelOpFactory< LevelData< EBCellFAB > > &a_opFact)

Private Member Functions

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

Private Attributes

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

Constructor & Destructor Documentation

EBBackwardEuler::~EBBackwardEuler (  ) 

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

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

References MayDay::Error().

EBBackwardEuler::EBBackwardEuler (  )  [inline, private]

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

References MayDay::Error().


Member Function Documentation

void EBBackwardEuler::oneStep ( Vector< LevelData< EBCellFAB > * > &  a_phiNew,
Vector< LevelData< EBCellFAB > * > &  a_phiOld,
Vector< LevelData< EBCellFAB > * > &  a_source,
const Real a_dt,
int  a_lbase,
int  a_lmax,
bool  a_zeroPhi = true,
const bool  a_kappaWeighted = false 
)

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

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

void EBBackwardEuler::computeDiffusion ( Vector< LevelData< EBCellFAB > * > &  a_diffusiveTerm,
Vector< LevelData< EBCellFAB > * > &  a_phiOld,
Vector< LevelData< EBCellFAB > * > &  a_src,
Real  a_oldTime,
Real  a_dt,
int  a_lbase,
int  a_lmax,
bool  a_zeroPhi 
)

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

void EBBackwardEuler::createEulerRHS ( Vector< LevelData< EBCellFAB > * > &  a_ans,
Vector< LevelData< EBCellFAB > * > &  a_source,
Vector< LevelData< EBCellFAB > * > &  a_phiOld,
int  a_lbase,
int  a_lmax,
Real  a_dt,
const bool  a_kappaWeighted = false 
) [protected]

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

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

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

References MayDay::Error().


Member Data Documentation


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

Generated on Mon Mar 27 03:42:59 2017 for Chombo + EB by  doxygen 1.5.5