Chombo + EB  3.0
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
EBBackwardEuler Class Reference

#include <EBBackwardEuler.H>

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. More...
 

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
 

Detailed Description

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

Constructor & Destructor Documentation

◆ ~EBBackwardEuler()

EBBackwardEuler::~EBBackwardEuler ( )

◆ EBBackwardEuler() [1/3]

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() [2/3]

EBBackwardEuler::EBBackwardEuler ( const EBBackwardEuler a_opin)
inlineprivate

References MayDay::Error().

◆ EBBackwardEuler() [3/3]

EBBackwardEuler::EBBackwardEuler ( )
inlineprivate

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

References MayDay::Error().

Member Function Documentation

◆ oneStep()

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

◆ resetAlphaAndBeta()

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

◆ computeDiffusion()

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 
)

◆ solveHelm()

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

◆ createEulerRHS()

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

◆ createData()

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

◆ newOp()

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

◆ operator=()

void EBBackwardEuler::operator= ( const EBBackwardEuler a_opin)
inlineprivate

References MayDay::Error().

Member Data Documentation

◆ m_ops

Vector<TGAHelmOp<LevelData<EBCellFAB> > * > EBBackwardEuler::m_ops
private

◆ m_rhst

Vector< LevelData<EBCellFAB>* > EBBackwardEuler::m_rhst
private

◆ m_level0Domain

ProblemDomain EBBackwardEuler::m_level0Domain
private

◆ m_refRat

Vector<int> EBBackwardEuler::m_refRat
private

◆ m_solver

RefCountedPtr<AMRMultiGrid< LevelData<EBCellFAB> > > EBBackwardEuler::m_solver
private

◆ m_verbosity

int EBBackwardEuler::m_verbosity
private

◆ m_numLevels

int EBBackwardEuler::m_numLevels
private

◆ m_dataCreated

bool EBBackwardEuler::m_dataCreated
private

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