Chombo + EB
3.0
|
#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 |
Solves dphi/dt = L phi + rho using backward euler. Uses TGAHelmOp functionaltity.
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 |
||
) |
|
inlineprivate |
References MayDay::Error().
|
inlineprivate |
weak construction is bad. Ref Counted pointers are your friends.
References MayDay::Error().
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::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 |
|
protected |
|
protected |
|
protected |
|
inlineprivate |
References MayDay::Error().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |