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< IntVectSet > m_cfivsFine [SpaceDim *2]
LayoutData< IntVectSet > m_cfivsCoar [SpaceDim *2]
LayoutData< VoFIterator > m_vofitBufCoar [SpaceDim *2]
LayoutData< VoFIterator > m_vofitBufFine [SpaceDim *2]
LayoutData< VoFIterator > m_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