Chombo + EB  3.2
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
EBDataImplem Class Reference

#include <EBData.H>

Public Member Functions

 EBDataImplem ()
 
 ~EBDataImplem ()
 
void define (const Box &box, int comps)
 
 EBDataImplem (const Box &a_box, int a_comps)
 
void copy (const Box &a_regionFrom, const Interval &a_Cd, const Box &a_regionto, const EBDataImplem &a_source, const Interval &a_Cs)
 
void define (const EBGraph &a_graph, const Vector< IrregNode > &a_irregData, const Box &a_validBox, const Real &a_dx, bool a_hasMoments)
 define the whole thing More...
 
void define (const EBGraph &a_graph, const Box &a_region, const Real &a_dx, bool a_hasMoments)
 
void coarsenVoFs (const EBDataImplem &a_fineEBDataImplem, const EBGraph &a_fineGraph, const EBGraph &a_coarGraph, const Box &a_validRegion)
 
void coarsenFaces (const EBDataImplem &a_fineEBDataImplem, const EBGraph &a_fineGraph, const EBGraph &a_coarGraph, const Box &a_validRegion)
 
const RealvolFrac (const VolIndex &a_vof) const
 
const RealareaFrac (const FaceIndex &a_face1) const
 
const RealVectcentroid (const FaceIndex &facein) const
 
const RealVectcentroid (const VolIndex &a_vof) const
 
const RealVectbndryCentroid (const VolIndex &a_vof) const
 
const RealVectbndryCentroid (const VolIndex &a_vof, int face) const
 
const RealbndryArea (const VolIndex &a_vof) const
 
const RealbndryArea (const VolIndex &a_vof, int face) const
 
const RealVectnormal (const VolIndex &a_vof) const
 
const RealVectnormal (const VolIndex &a_vof, int face) const
 
int facePhase (const VolIndex &a_vof, int aface) const
 used by multi-fluid applications More...
 
const VolIndexfaceIndex (const VolIndex &a_vof, int face) const
 used by multi-fluid code More...
 
void setFacePhase (const VolIndex &a_vof, int face, int phase)
 used by multi-fluid code More...
 
void setFaceIndex (const VolIndex &a_vof, int face, const VolIndex &index)
 used by multi-fluid code More...
 
int numFacePhase (const VolIndex &a_vof) const
 
void clearMultiBoundaries ()
 
void setBoundaryPhase (int phase)
 
int size (const Box &R, const Interval &comps) const
 
void linearOut (void *buf, const Box &R, const Interval &comps) const
 
void linearIn (void *buf, const Box &R, const Interval &comps)
 
BaseIVFAB< VolData > & getVolData ()
 
const BaseIVFAB< VolData > & getVolData () const
 
bool hasMoments () const
 return true if higher order moments are available More...
 
void addFullIrregularVoFs (const IntVectSet &a_vofsToChange, const EBGraph &a_newGhostGraph, const BaseIVFAB< VolData > &a_newGhostData, const EBGraph &a_oldGhostGraph)
 
void addEmptyIrregularVoFs (const IntVectSet &a_vofsToChange, const EBGraph &a_newGraph)
 multifluid angels dancing on the heads of pins. More...
 
IndMomSpaceDim getVolumeMoments (const VolIndex &a_vof) const
 get the moment at the VoF associated with the monomial with the input exponents More...
 
IndMomSpaceDim getEBMoments (const VolIndex &a_vof) const
 get the normal the irregular face associated with the monomial with the input exponents More...
 
IndMomSDMinOne getFaceMoments (const FaceIndex &a_face) const
 get the moment at the face associated with the monomial with the input exponents More...
 
IndMomSDMinOne getAreaMoments (const FaceIndex &a_face) const
 I am sick of guessing this name wrong. More...
 
IndMomSpaceDim getEBNormalPartialDerivs (const VolIndex &a_vof, int normalComponent) const
 
IndMomSpaceDim getEBNormalMoments (const VolIndex &a_vof, int normalComponent) const
 get the normal*moment at the irregular face associated with the monomial with the input exponents More...
 

Static Public Member Functions

static int preAllocatable ()
 
static void setVerbose (bool a_verbose)
 
static void setVerboseDebug (bool a_verboseDebug)
 

Private Member Functions

bool irregFace (const FaceIndex &a_face) const
 
bool irregVoF (const VolIndex &a_vof) const
 
void defineVoFData (const EBGraph &a_graph, const Box &a_region)
 each data holder is defined over the irregular cells of the graph More...
 
void defineFaceData (const EBGraph &a_graph, const Box &a_region)
 each data holder is defined over the irregular cells of the graph More...
 
void setVolumeMomentsToZero (const VolIndex &a_vof)
 
void setAreaMomentsToZero (const FaceIndex &a_face)
 
void setCoveredAndRegular ()
 
void shiftAndIncrement (IndMomSpaceDim &a_output, const IndMomSpaceDim &a_input, const RealVect &a_shiftRV)
 
void shiftAndIncrement (IndMomSDMinOne &a_output, const IndMomSDMinOne &a_input, const RealVect &a_shiftRV, int faceDir)
 
void operator= (const EBDataImplem &ebiin)
 
 EBDataImplem (const EBDataImplem &ebiin)
 
void coarsenFaceCentroid (RealVect &a_centroidCoar, const Vector< RealVect > &a_centroidsFine, const Vector< Real > &a_areaFracFine, const Vector< FaceIndex > &a_facesFine, const FaceIndex &a_faceCoar)
 
void coarsenAreaFrac (Real &a_areaFracCoar, const Vector< Real > &a_areaFracFine)
 
void coarsenVolFracAndCentroid (Real &a_volFracCoar, RealVect &a_volCentroidCoar, const Vector< Real > &a_volFracFine, const Vector< RealVect > &a_volCentroidFine, const Vector< VolIndex > &a_fineVoFs, const VolIndex &a_coarVoF)
 
void coarsenBoundaryAreaAndNormal (Real &a_bndryAreaCoar, RealVect &a_normalCoar, const Vector< Real > &a_bndryAreaFine, const Vector< RealVect > &a_normalFine)
 
RealVect fineToCoarseTransform (const RealVect &a_finePoint, const IntVect &a_coarCell, const IntVect &a_fineCell)
 
void coarsenBndryCentroid (RealVect &a_bndryCentroidCoar, const Vector< RealVect > &a_bndryCentroidFine, const Vector< Real > &a_bndryAreaFine, const Vector< VolIndex > &a_fineVoFs, const VolIndex &a_coarVoF)
 
void fetch (std::list< const VolData * > &fineVols, const Vector< VolIndex > &vofsFine) const
 

Private Attributes

BaseIVFAB< VolDatam_volData
 
IndMomSDMinOne m_regularAreaMoments
 
IndMomSpaceDim m_regularVolumeMoments
 
BaseIFFAB< FaceDatam_faceData [SpaceDim]
 
bool m_isFaceDataDefined
 
bool m_isVoFDataDefined
 
bool m_hasMoments
 
Real m_dx
 

Static Private Attributes

static bool s_verbose
 
static bool s_verboseDebug
 

Friends

class EBIndexSpace
 
class EBISLevel
 

Detailed Description

This class contains all the geometric information for an ebisbox.

Constructor & Destructor Documentation

EBDataImplem::EBDataImplem ( )
EBDataImplem::~EBDataImplem ( )
EBDataImplem::EBDataImplem ( const Box a_box,
int  a_comps 
)
inline

noop — real constructor more complicated

References define().

EBDataImplem::EBDataImplem ( const EBDataImplem ebiin)
inlineprivate

Member Function Documentation

void EBDataImplem::define ( const Box box,
int  comps 
)
inline

noop—real defines are more complicated

Referenced by EBData::define(), and EBDataImplem().

void EBDataImplem::copy ( const Box a_regionFrom,
const Interval a_Cd,
const Box a_regionto,
const EBDataImplem a_source,
const Interval a_Cs 
)

Copy the information from a_source to the over the intersection of the box a_region, the box of the current EBDataImplem and the box of a_source. The Interval arguments are ignored. This function is required by LevelData.

Referenced by EBData::copy().

void EBDataImplem::define ( const EBGraph a_graph,
const Vector< IrregNode > &  a_irregData,
const Box a_validBox,
const Real a_dx,
bool  a_hasMoments 
)

define the whole thing

void EBDataImplem::define ( const EBGraph a_graph,
const Box a_region,
const Real a_dx,
bool  a_hasMoments 
)
void EBDataImplem::coarsenVoFs ( const EBDataImplem a_fineEBDataImplem,
const EBGraph a_fineGraph,
const EBGraph a_coarGraph,
const Box a_validRegion 
)

Referenced by EBData::coarsenVoFs().

void EBDataImplem::coarsenFaces ( const EBDataImplem a_fineEBDataImplem,
const EBGraph a_fineGraph,
const EBGraph a_coarGraph,
const Box a_validRegion 
)

Referenced by EBData::coarsenFaces().

const Real& EBDataImplem::volFrac ( const VolIndex a_vof) const

Referenced by EBData::volFrac().

const Real& EBDataImplem::areaFrac ( const FaceIndex a_face1) const

Referenced by EBData::areaFrac().

const RealVect& EBDataImplem::centroid ( const FaceIndex facein) const

Referenced by EBData::centroid().

const RealVect& EBDataImplem::centroid ( const VolIndex a_vof) const
const RealVect& EBDataImplem::bndryCentroid ( const VolIndex a_vof) const

Referenced by EBData::bndryCentroid().

const RealVect& EBDataImplem::bndryCentroid ( const VolIndex a_vof,
int  face 
) const
const Real& EBDataImplem::bndryArea ( const VolIndex a_vof) const

Referenced by EBData::bndryArea().

const Real& EBDataImplem::bndryArea ( const VolIndex a_vof,
int  face 
) const
const RealVect& EBDataImplem::normal ( const VolIndex a_vof) const

Referenced by EBData::normal().

const RealVect& EBDataImplem::normal ( const VolIndex a_vof,
int  face 
) const
int EBDataImplem::facePhase ( const VolIndex a_vof,
int  aface 
) const

used by multi-fluid applications

used by multi-fluid code

Referenced by EBData::facePhase().

const VolIndex& EBDataImplem::faceIndex ( const VolIndex a_vof,
int  face 
) const

used by multi-fluid code

Referenced by EBData::faceIndex().

void EBDataImplem::setFacePhase ( const VolIndex a_vof,
int  face,
int  phase 
)

used by multi-fluid code

Referenced by EBData::setFacePhase().

void EBDataImplem::setFaceIndex ( const VolIndex a_vof,
int  face,
const VolIndex index 
)

used by multi-fluid code

Referenced by EBData::setFaceIndex().

int EBDataImplem::numFacePhase ( const VolIndex a_vof) const

Referenced by EBData::numFacePhase().

void EBDataImplem::clearMultiBoundaries ( )
void EBDataImplem::setBoundaryPhase ( int  phase)
int EBDataImplem::size ( const Box R,
const Interval comps 
) const

This stuff required by LevelData in parallel:

Referenced by EBData::size().

void EBDataImplem::linearOut ( void *  buf,
const Box R,
const Interval comps 
) const

Referenced by EBData::linearOut().

void EBDataImplem::linearIn ( void *  buf,
const Box R,
const Interval comps 
)

Referenced by EBData::linearIn().

static int EBDataImplem::preAllocatable ( )
inlinestatic
BaseIVFAB<VolData>& EBDataImplem::getVolData ( )
inline

References m_volData.

Referenced by EBData::getVolData().

const BaseIVFAB<VolData>& EBDataImplem::getVolData ( ) const
inline

References m_volData.

bool EBDataImplem::hasMoments ( ) const
inline

return true if higher order moments are available

References m_hasMoments.

Referenced by EBData::hasMoments().

void EBDataImplem::addFullIrregularVoFs ( const IntVectSet a_vofsToChange,
const EBGraph a_newGhostGraph,
const BaseIVFAB< VolData > &  a_newGhostData,
const EBGraph a_oldGhostGraph 
)
void EBDataImplem::addEmptyIrregularVoFs ( const IntVectSet a_vofsToChange,
const EBGraph a_newGraph 
)

multifluid angels dancing on the heads of pins.

Referenced by EBData::addEmptyIrregularVoFs().

static void EBDataImplem::setVerbose ( bool  a_verbose)
static
static void EBDataImplem::setVerboseDebug ( bool  a_verboseDebug)
static
IndMomSpaceDim EBDataImplem::getVolumeMoments ( const VolIndex a_vof) const

get the moment at the VoF associated with the monomial with the input exponents

Given VoF variables x, y, z, p = mono(0), q = mono(1), r = mono(2), returns integral_over_VoF(x^p y^q z^r dV) for all p q

Referenced by EBData::getVolumeMoments().

IndMomSpaceDim EBDataImplem::getEBMoments ( const VolIndex a_vof) const

get the normal the irregular face associated with the monomial with the input exponents

Given VoF variables x, y, z, p = mono(0), q = mono(1), r = mono(2), returns integral_over_VoF((x^p y^q z^r) dV) for p q r

Referenced by EBData::getEBMoments().

IndMomSDMinOne EBDataImplem::getFaceMoments ( const FaceIndex a_face) const

get the moment at the face associated with the monomial with the input exponents

Given face variables x, y, p = mono(0), q = mono(1)), returns integral_over_face(x^p y^q dA) for all p q

Referenced by getAreaMoments(), and EBData::getFaceMoments().

IndMomSDMinOne EBDataImplem::getAreaMoments ( const FaceIndex a_face) const
inline

I am sick of guessing this name wrong.

References getFaceMoments().

IndMomSpaceDim EBDataImplem::getEBNormalPartialDerivs ( const VolIndex a_vof,
int  normalComponent 
) const

gets the partial derivs of the normal component.

Referenced by EBData::getEBNormalPartialDerivs().

IndMomSpaceDim EBDataImplem::getEBNormalMoments ( const VolIndex a_vof,
int  normalComponent 
) const

get the normal*moment at the irregular face associated with the monomial with the input exponents

Given VoF variables x, y, z, p = mono(0), q = mono(1), r = mono(2), returns integral_over_VoF(((x-x0)^p (y-y0)^q (z-z0)^r)*n_i dV) for p q r, and (x0,y0,z0) is the center of the cell

Referenced by EBData::getEBNormalMoments().

bool EBDataImplem::irregFace ( const FaceIndex a_face) const
private
bool EBDataImplem::irregVoF ( const VolIndex a_vof) const
private
void EBDataImplem::defineVoFData ( const EBGraph a_graph,
const Box a_region 
)
private

each data holder is defined over the irregular cells of the graph

void EBDataImplem::defineFaceData ( const EBGraph a_graph,
const Box a_region 
)
private

each data holder is defined over the irregular cells of the graph

void EBDataImplem::setVolumeMomentsToZero ( const VolIndex a_vof)
private
void EBDataImplem::setAreaMomentsToZero ( const FaceIndex a_face)
private
void EBDataImplem::setCoveredAndRegular ( )
private
void EBDataImplem::shiftAndIncrement ( IndMomSpaceDim a_output,
const IndMomSpaceDim a_input,
const RealVect a_shiftRV 
)
private
void EBDataImplem::shiftAndIncrement ( IndMomSDMinOne a_output,
const IndMomSDMinOne a_input,
const RealVect a_shiftRV,
int  faceDir 
)
private
void EBDataImplem::operator= ( const EBDataImplem ebiin)
inlineprivate
void EBDataImplem::coarsenFaceCentroid ( RealVect a_centroidCoar,
const Vector< RealVect > &  a_centroidsFine,
const Vector< Real > &  a_areaFracFine,
const Vector< FaceIndex > &  a_facesFine,
const FaceIndex a_faceCoar 
)
private
void EBDataImplem::coarsenAreaFrac ( Real a_areaFracCoar,
const Vector< Real > &  a_areaFracFine 
)
private
void EBDataImplem::coarsenVolFracAndCentroid ( Real a_volFracCoar,
RealVect a_volCentroidCoar,
const Vector< Real > &  a_volFracFine,
const Vector< RealVect > &  a_volCentroidFine,
const Vector< VolIndex > &  a_fineVoFs,
const VolIndex a_coarVoF 
)
private
void EBDataImplem::coarsenBoundaryAreaAndNormal ( Real a_bndryAreaCoar,
RealVect a_normalCoar,
const Vector< Real > &  a_bndryAreaFine,
const Vector< RealVect > &  a_normalFine 
)
private
RealVect EBDataImplem::fineToCoarseTransform ( const RealVect a_finePoint,
const IntVect a_coarCell,
const IntVect a_fineCell 
)
private
void EBDataImplem::coarsenBndryCentroid ( RealVect a_bndryCentroidCoar,
const Vector< RealVect > &  a_bndryCentroidFine,
const Vector< Real > &  a_bndryAreaFine,
const Vector< VolIndex > &  a_fineVoFs,
const VolIndex a_coarVoF 
)
private
void EBDataImplem::fetch ( std::list< const VolData * > &  fineVols,
const Vector< VolIndex > &  vofsFine 
) const
private

Friends And Related Function Documentation

friend class EBIndexSpace
friend
friend class EBISLevel
friend

Member Data Documentation

bool EBDataImplem::s_verbose
staticprivate
bool EBDataImplem::s_verboseDebug
staticprivate
BaseIVFAB<VolData> EBDataImplem::m_volData
private

Referenced by getVolData().

IndMomSDMinOne EBDataImplem::m_regularAreaMoments
private
IndMomSpaceDim EBDataImplem::m_regularVolumeMoments
private
BaseIFFAB<FaceData> EBDataImplem::m_faceData[SpaceDim]
private
bool EBDataImplem::m_isFaceDataDefined
private
bool EBDataImplem::m_isVoFDataDefined
private
bool EBDataImplem::m_hasMoments
private

Referenced by hasMoments().

Real EBDataImplem::m_dx
private

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