AMRLevelAdvectDiffuse Class Reference

#include <AMRLevelAdvectDiffuse.H>

Inheritance diagram for AMRLevelAdvectDiffuse:

Inheritance graph
[legend]

List of all members.


Detailed Description

AMRLevel for advection-diffusion.

Public Member Functions

 AMRLevelAdvectDiffuse ()
 Default constructor.
 AMRLevelAdvectDiffuse (const AdvectPhysics &a_gphys, AdvectionVelocityFunction a_advFunc, BCHolder a_bcFunc, const Real &a_cfl, const Real &a_domainLength, const Real &a_refineThresh, const int &a_tagBufferSize, const Real &a_initialDtMultiplier, const bool &a_useLimiting, const Real &a_nu)
 Full constructor. Arguments are same as in define().
void makeDiffusiveSource (LevelData< FArrayBox > &a_diffusiveSource)
void define (const AdvectPhysics &a_gphys, AdvectionVelocityFunction a_advFunc, BCHolder a_bcFunc, const Real &a_cfl, const Real &a_domainLength, const Real &a_refineThresh, const int &a_tagBufferSize, const Real &a_initialDtMultiplier, const bool &a_useLimiting, const Real &a_nu)
 Defines this AMRLevelAdvectDiffuse.
virtual ~AMRLevelAdvectDiffuse ()
virtual void define (AMRLevel *a_coarserLevelPtr, const Box &a_problemDomain, int a_level, int a_refRatio)
 Never called: historical.
virtual void define (AMRLevel *a_coarserLevelPtr, const ProblemDomain &a_problemDomain, int a_level, int a_refRatio)
 Define new AMRLevelAdvectDiffuse from coarser.
virtual Real advance ()
 Advance by one timestep.
virtual void postTimeStep ()
 Things to do after a timestep.
virtual void tagCells (IntVectSet &a_tags)
 Create tags for regridding.
virtual void tagCellsInit (IntVectSet &a_tags)
 Create tags at initialization.
virtual void regrid (const Vector< Box > &a_newGrids)
 Set up data on this level after regridding.
virtual void initialGrid (const Vector< Box > &a_newGrids)
 Initialize grids.
virtual void initialData ()
 Initialize data.
virtual void postInitialize ()
 Things to do after initialization.
virtual void writeCheckpointHeader (HDF5Handle &a_handle) const
 Write checkpoint header.
virtual void writeCheckpointLevel (HDF5Handle &a_handle) const
 Write checkpoint data for this level.
virtual void readCheckpointHeader (HDF5Handle &a_handle)
 Read checkpoint header.
virtual void readCheckpointLevel (HDF5Handle &a_handle)
 Read checkpoint data for this level.
virtual void writePlotHeader (HDF5Handle &a_handle) const
 Write plotfile header.
virtual void writePlotLevel (HDF5Handle &a_handle) const
 Write plotfile data for this level.
virtual Real computeDt ()
 Returns the dt computed earlier for this level.
virtual Real computeInitialDt ()
 Compute dt using initial data.
LevelData< FArrayBox > & getStateNew ()
LevelData< FArrayBox > & getStateOld ()

Protected Member Functions

void setSolverCoef (Real a_alpha, Real a_beta)
void interpolateInTime (LevelData< FArrayBox > &a_interp, const LevelData< FArrayBox > &a_old, const LevelData< FArrayBox > &a_new, Real a_time, Real a_tOld, Real a_tNew)
void getHierarchyAndGrids (Vector< AMRLevelAdvectDiffuse * > &a_hierarchy, Vector< DisjointBoxLayout > &a_grids, Vector< int > &a_refRat, ProblemDomain &a_lev0Dom, Real &a_lev0Dx)
void doImplicitReflux ()
void printRefluxRHSMax (const std::string &a_preflix)
Real diffusiveAdvance (LevelData< FArrayBox > &a_diffusiveSource)
void defineSolvers ()
void getCoarseDataPointers (LevelData< FArrayBox > **a_coarserDataOldPtr, LevelData< FArrayBox > **a_coarserDataNewPtr, LevelFluxRegister **a_coarserFRPtr, LevelFluxRegister **a_finerFRPtr, Real &a_tCoarserOld, Real &a_tCoarserNew)
void fillAdvectionVelocity ()
void levelSetup ()
AMRLevelAdvectDiffusegetCoarserLevel () const
AMRLevelAdvectDiffusegetFinerLevel () const

Protected Attributes

BCHolder m_bcFunc
LevelData< FArrayBoxm_UOld
LevelData< FArrayBoxm_UNew
LevelData< FArrayBoxm_dU
LevelData< FluxBoxm_advVel
Vector< string > m_stateNames
bool m_isDefined
Real m_cfl
Real m_domainLength
Real m_refineThresh
int m_tagBufferSize
Real m_initialDtMultiplier
bool m_useLimiting
Real m_nu
Real m_dx
RefCountedPtr< AdvectPhysicsm_advPhys
AdvectionVelocityFunction m_advFunc
FineInterp m_fineInterp
CoarseAverage m_coarseAverage
Real m_dtNew
int m_numGhost
LevelAdvect m_levelGodunov
LevelFluxRegister m_fluxRegister
bool m_hasCoarser
bool m_hasFiner
bool m_doImplicitReflux
bool m_hasDiffusion
DisjointBoxLayout m_grids

Static Protected Attributes

static RefCountedPtr< LevelTGAs_diffuseLevTGA
static RefCountedPtr
< AMRMultiGrid< LevelData
< FArrayBox > > > 
s_diffuseAMRMG
static RefCountedPtr
< AMRLevelOpFactory< LevelData
< FArrayBox > > > 
s_diffuseOpFact
static BiCGStabSolver
< LevelData< FArrayBox > > 
s_botSolver

Private Member Functions

void operator= (const AMRLevelAdvectDiffuse &)
 AMRLevelAdvectDiffuse (const AMRLevelAdvectDiffuse &)

Constructor & Destructor Documentation

AMRLevelAdvectDiffuse::AMRLevelAdvectDiffuse (  )  [inline]

Default constructor.

References m_isDefined.

AMRLevelAdvectDiffuse::AMRLevelAdvectDiffuse ( const AdvectPhysics a_gphys,
AdvectionVelocityFunction  a_advFunc,
BCHolder  a_bcFunc,
const Real a_cfl,
const Real a_domainLength,
const Real a_refineThresh,
const int &  a_tagBufferSize,
const Real a_initialDtMultiplier,
const bool &  a_useLimiting,
const Real a_nu 
) [inline]

Full constructor. Arguments are same as in define().

References define().

virtual AMRLevelAdvectDiffuse::~AMRLevelAdvectDiffuse (  )  [virtual]

AMRLevelAdvectDiffuse::AMRLevelAdvectDiffuse ( const AMRLevelAdvectDiffuse  )  [private]


Member Function Documentation

void AMRLevelAdvectDiffuse::makeDiffusiveSource ( LevelData< FArrayBox > &  a_diffusiveSource  ) 

void AMRLevelAdvectDiffuse::define ( const AdvectPhysics a_gphys,
AdvectionVelocityFunction  a_advFunc,
BCHolder  a_bcFunc,
const Real a_cfl,
const Real a_domainLength,
const Real a_refineThresh,
const int &  a_tagBufferSize,
const Real a_initialDtMultiplier,
const bool &  a_useLimiting,
const Real a_nu 
)

Defines this AMRLevelAdvectDiffuse.

Parameters:
a_gphys  advection physics class
a_advFunc  velocity function providing the advection velocity
a_bcFunc  boundary condition class for diffusion solve
a_cfl  CFL number
a_domainLength  physical length of domain
a_refineThresh  undivided gradient size over which a cell will be tagged for refinement
a_tagBufferSize  number of buffer cells around each tagged cell that will also be tagged
a_initialDtMultiplier  CFL number at beginning of calculation
a_useLimiting  whether to use van Leer limiting
a_nu  diffusion coefficient

Referenced by AMRLevelAdvectDiffuse().

virtual void AMRLevelAdvectDiffuse::define ( AMRLevel a_coarserLevelPtr,
const Box a_problemDomain,
int  a_level,
int  a_refRatio 
) [inline, virtual]

Never called: historical.

Reimplemented from AMRLevel.

References MayDay::Error().

virtual void AMRLevelAdvectDiffuse::define ( AMRLevel a_coarserLevelPtr,
const ProblemDomain a_problemDomain,
int  a_level,
int  a_refRatio 
) [virtual]

Define new AMRLevelAdvectDiffuse from coarser.

Reimplemented from AMRLevel.

virtual Real AMRLevelAdvectDiffuse::advance (  )  [virtual]

Advance by one timestep.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::postTimeStep (  )  [virtual]

Things to do after a timestep.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::tagCells ( IntVectSet a_tags  )  [virtual]

Create tags for regridding.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::tagCellsInit ( IntVectSet a_tags  )  [virtual]

Create tags at initialization.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::regrid ( const Vector< Box > &  a_newGrids  )  [virtual]

Set up data on this level after regridding.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::initialGrid ( const Vector< Box > &  a_newGrids  )  [virtual]

Initialize grids.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::initialData (  )  [virtual]

Initialize data.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::postInitialize (  )  [virtual]

Things to do after initialization.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::writeCheckpointHeader ( HDF5Handle a_handle  )  const [virtual]

Write checkpoint header.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::writeCheckpointLevel ( HDF5Handle a_handle  )  const [virtual]

Write checkpoint data for this level.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::readCheckpointHeader ( HDF5Handle a_handle  )  [virtual]

Read checkpoint header.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::readCheckpointLevel ( HDF5Handle a_handle  )  [virtual]

Read checkpoint data for this level.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::writePlotHeader ( HDF5Handle a_handle  )  const [virtual]

Write plotfile header.

Implements AMRLevel.

virtual void AMRLevelAdvectDiffuse::writePlotLevel ( HDF5Handle a_handle  )  const [virtual]

Write plotfile data for this level.

Implements AMRLevel.

virtual Real AMRLevelAdvectDiffuse::computeDt (  )  [virtual]

Returns the dt computed earlier for this level.

Implements AMRLevel.

virtual Real AMRLevelAdvectDiffuse::computeInitialDt (  )  [virtual]

Compute dt using initial data.

Implements AMRLevel.

LevelData<FArrayBox>& AMRLevelAdvectDiffuse::getStateNew (  )  [inline]

References m_UNew.

LevelData<FArrayBox>& AMRLevelAdvectDiffuse::getStateOld (  )  [inline]

References m_UOld.

void AMRLevelAdvectDiffuse::setSolverCoef ( Real  a_alpha,
Real  a_beta 
) [protected]

void AMRLevelAdvectDiffuse::interpolateInTime ( LevelData< FArrayBox > &  a_interp,
const LevelData< FArrayBox > &  a_old,
const LevelData< FArrayBox > &  a_new,
Real  a_time,
Real  a_tOld,
Real  a_tNew 
) [protected]

void AMRLevelAdvectDiffuse::getHierarchyAndGrids ( Vector< AMRLevelAdvectDiffuse * > &  a_hierarchy,
Vector< DisjointBoxLayout > &  a_grids,
Vector< int > &  a_refRat,
ProblemDomain a_lev0Dom,
Real a_lev0Dx 
) [protected]

void AMRLevelAdvectDiffuse::doImplicitReflux (  )  [protected]

void AMRLevelAdvectDiffuse::printRefluxRHSMax ( const std::string &  a_preflix  )  [protected]

Real AMRLevelAdvectDiffuse::diffusiveAdvance ( LevelData< FArrayBox > &  a_diffusiveSource  )  [protected]

void AMRLevelAdvectDiffuse::defineSolvers (  )  [protected]

void AMRLevelAdvectDiffuse::getCoarseDataPointers ( LevelData< FArrayBox > **  a_coarserDataOldPtr,
LevelData< FArrayBox > **  a_coarserDataNewPtr,
LevelFluxRegister **  a_coarserFRPtr,
LevelFluxRegister **  a_finerFRPtr,
Real a_tCoarserOld,
Real a_tCoarserNew 
) [protected]

void AMRLevelAdvectDiffuse::fillAdvectionVelocity (  )  [protected]

void AMRLevelAdvectDiffuse::levelSetup (  )  [protected]

AMRLevelAdvectDiffuse* AMRLevelAdvectDiffuse::getCoarserLevel (  )  const [protected]

AMRLevelAdvectDiffuse* AMRLevelAdvectDiffuse::getFinerLevel (  )  const [protected]

void AMRLevelAdvectDiffuse::operator= ( const AMRLevelAdvectDiffuse  )  [private]


Member Data Documentation

Referenced by getStateOld().

Referenced by getStateNew().

Reimplemented from AMRLevel.

Referenced by AMRLevelAdvectDiffuse().


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

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