EBFastFR Class Reference

#include <EBFastFR.H>

Collaboration diagram for EBFastFR:

Collaboration graph
[legend]

List of all members.


Detailed Description

EBFastFR-A class to encapsulate a levels worth of flux registers.

A EBFastFR handles all the data choreography necessary to create a levels worth of flux registers. This only does the elliptic flux register stuff for now (no interacting with redistribution, no RZ, no regular and regular separate).

Public Member Functions

 EBFastFR ()
 EBFastFR (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar)
 ~EBFastFR ()
void define (const EBLevelGrid &a_eblgFine, const EBLevelGrid &a_eblgCoar, const int &a_nref, const int &a_nvar)
void setToZero ()
void incrementCoarseBoth (const EBFaceFAB &a_coarseFlux, const Real &a_scale, const DataIndex &a_coarseDataIndex, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
void incrementFineBoth (const EBFaceFAB &a_fineFlux, const Real &a_scale, const DataIndex &a_fineDataIndex, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
void reflux (LevelData< EBCellFAB > &a_uCoarse, const Interval &a_variables, const Real &a_scale)
void incrementDensityArray (LevelData< EBCellFAB > &a_coarMass, const Interval &a_variables, const Real &a_scale)
bool isDefined () const

Protected Member Functions

void incrementFineIrreg (const EBFaceFAB &a_fineFlux, const Real &a_newScale, const DataIndex &a_fineDatInd, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
void incrementCoarIrreg (const EBFaceFAB &a_coarFlux, const Real &a_scale, const DataIndex &a_coarDatInd, const Interval &a_variables, const int &a_dir, const Side::LoHiSide &a_sd)
void irregSetToZero ()
void cacheOldSolution (const LevelData< EBCellFAB > &a_uCoar, const Interval &a_variables)
void restoreOldSolution (LevelData< EBCellFAB > &a_uCoar, const Interval &a_variables)
void irregReflux (LevelData< EBCellFAB > &a_uCoar, const Interval &a_variables, const Real &a_scale)

Static Protected Member Functions

static int index (int a_dir, Side::LoHiSide a_side)

Protected Attributes

LevelFluxRegister m_levelFluxReg
bool m_isDefined
EBLevelGrid m_eblgFine
EBLevelGrid m_eblgCoar
int m_refRat
int m_nComp
EBISLayout m_ebislBufCoar [2 *SpaceDim]
EBISLayout m_ebislBufFine [2 *SpaceDim]
LayoutData< Vector< DataIndex > > m_coarIndexMap [SpaceDim *2]
LayoutData< bool > m_noEBCFine [SpaceDim *2]
LayoutData< bool > m_noEBCCoar [SpaceDim *2]
DisjointBoxLayout m_bufGridsFine [SpaceDim *2]
DisjointBoxLayout m_bufGridsCoar [SpaceDim *2]
LevelData< BaseIVFAB< Real > > m_regsCoar [SpaceDim *2]
LevelData< BaseIVFAB< Real > > m_regsFine [SpaceDim *2]
LayoutData< IntVectSetm_cfivsFine [SpaceDim *2]
LayoutData< IntVectSetm_cfivsCoar [SpaceDim *2]
LayoutData< VoFIteratorm_vofitBufCoar [SpaceDim *2]
LayoutData< VoFIteratorm_vofitBufFine [SpaceDim *2]
LayoutData< VoFIteratorm_vofitCoar
LevelData< BaseIVFAB< Real > > m_scratchc [SpaceDim *2]
LayoutData< BaseIVFAB< Real > > m_saveoldc
Real m_nrefdmo
bool m_hasEBCF

Private Member Functions

void operator= (const EBFastFR &out)
 EBFastFR (const EBFastFR &out)


Constructor & Destructor Documentation

EBFastFR::EBFastFR (  ) 

Default constructor. Leaves object undefined.

EBFastFR::EBFastFR ( const EBLevelGrid a_eblgFine,
const EBLevelGrid a_eblgCoar,
const int &  a_nref,
const int &  a_nvar 
)

Full constructor. Calls the define function which creates a levels worth of flux registers.

EBFastFR::~EBFastFR (  ) 

EBFastFR::EBFastFR ( const EBFastFR out  )  [inline, private]

References MayDay::Error().


Member Function Documentation

void EBFastFR::define ( const EBLevelGrid a_eblgFine,
const EBLevelGrid a_eblgCoar,
const int &  a_nref,
const int &  a_nvar 
)

Full define function. Creates a levels worth of flux registers.

void EBFastFR::setToZero (  ) 

Initialize values of registers to zero.

void EBFastFR::incrementCoarseBoth ( const EBFaceFAB a_coarseFlux,
const Real a_scale,
const DataIndex a_coarseDataIndex,
const Interval a_variables,
const int &  a_dir,
const Side::LoHiSide a_sd 
)

void EBFastFR::incrementFineBoth ( const EBFaceFAB a_fineFlux,
const Real a_scale,
const DataIndex a_fineDataIndex,
const Interval a_variables,
const int &  a_dir,
const Side::LoHiSide a_sd 
)

void EBFastFR::reflux ( LevelData< EBCellFAB > &  a_uCoarse,
const Interval a_variables,
const Real a_scale 
)

void EBFastFR::incrementDensityArray ( LevelData< EBCellFAB > &  a_coarMass,
const Interval a_variables,
const Real a_scale 
)

Increments mass array with left-over mass from reflux divergence. this is to test this pig. Ordinarily this mass would go into redistribution. this is used in the test suite to check whether a constant flux refluxed and then unrefluxed (this function) ends up with a constant solution. Correction at each cell = (1-kappa)refluxCorrection.

bool EBFastFR::isDefined (  )  const

static int EBFastFR::index ( int  a_dir,
Side::LoHiSide  a_side 
) [static, protected]

void EBFastFR::incrementFineIrreg ( const EBFaceFAB a_fineFlux,
const Real a_newScale,
const DataIndex a_fineDatInd,
const Interval a_variables,
const int &  a_dir,
const Side::LoHiSide a_sd 
) [protected]

void EBFastFR::incrementCoarIrreg ( const EBFaceFAB a_coarFlux,
const Real a_scale,
const DataIndex a_coarDatInd,
const Interval a_variables,
const int &  a_dir,
const Side::LoHiSide a_sd 
) [protected]

void EBFastFR::irregSetToZero (  )  [protected]

void EBFastFR::cacheOldSolution ( const LevelData< EBCellFAB > &  a_uCoar,
const Interval a_variables 
) [protected]

void EBFastFR::restoreOldSolution ( LevelData< EBCellFAB > &  a_uCoar,
const Interval a_variables 
) [protected]

void EBFastFR::irregReflux ( LevelData< EBCellFAB > &  a_uCoar,
const Interval a_variables,
const Real a_scale 
) [protected]

void EBFastFR::operator= ( const EBFastFR out  )  [inline, private]

References MayDay::Error().


Member Data Documentation

bool EBFastFR::m_isDefined [protected]

int EBFastFR::m_refRat [protected]

int EBFastFR::m_nComp [protected]

LayoutData<bool> EBFastFR::m_noEBCFine[SpaceDim *2] [protected]

LayoutData<bool> EBFastFR::m_noEBCCoar[SpaceDim *2] [protected]

bool EBFastFR::m_hasEBCF [protected]


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

Generated on Tue Apr 14 14:23:15 2009 for Chombo + EB by  doxygen 1.5.5