EBDataImplem Class Reference

#include <EBData.H>

List of all members.


Detailed Description

This class contains all the geometric information for an ebisbox.

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
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
const VolIndexfaceIndex (const VolIndex &a_vof, int face) const
 used by multi-fluid code
void setFacePhase (const VolIndex &a_vof, int face, int phase)
 used by multi-fluid code
void setFaceIndex (const VolIndex &a_vof, int face, const VolIndex &index)
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
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.
IndMomSpaceDim getVolumeMoments (const VolIndex &a_vof) const
 get the moment at the VoF associated with the monomial with the input exponents
IndMomSpaceDim getEBMoments (const VolIndex &a_vof) const
 get the normal the irregular face associated with the monomial with the input exponents
IndMomSDMinOne getFaceMoments (const FaceIndex &a_face) const
 get the moment at the face associated with the monomial with the input exponents
IndMomSDMinOne getAreaMoments (const FaceIndex &a_face) const
 I am sick of guessing this name wrong.
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

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
void defineFaceData (const EBGraph &a_graph, const Box &a_region)
 each data holder is defined over the irregular cells of the graph
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

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  )  [inline, private]


Member Function Documentation

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

noop---real defines are more complicated

Referenced by 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.

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 
)

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

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

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

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

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

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

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

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

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

const RealVect& EBDataImplem::normal ( const VolIndex a_vof  )  const

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

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

used by multi-fluid code

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

used by multi-fluid code

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

used by multi-fluid code

int EBDataImplem::numFacePhase ( const VolIndex a_vof  )  const

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:

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

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

static int EBDataImplem::preAllocatable (  )  [inline, static]

BaseIVFAB<VolData>& EBDataImplem::getVolData (  )  [inline]

References m_volData.

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.

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.

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

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

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().

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.

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

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  )  [inline, private]

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 [static, private]

bool EBDataImplem::s_verboseDebug [static, private]

Referenced by getVolData().

Referenced by hasMoments().


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

Generated on Fri Apr 5 04:25:02 2019 for Chombo + EB by  doxygen 1.5.5