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() [1/3]

EBDataImplem::EBDataImplem ( )

◆ ~EBDataImplem()

EBDataImplem::~EBDataImplem ( )

◆ EBDataImplem() [2/3]

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

noop — real constructor more complicated

References linearIn(), and linearOut().

◆ EBDataImplem() [3/3]

EBDataImplem::EBDataImplem ( const EBDataImplem ebiin)
inlineprivate

Member Function Documentation

◆ define() [1/3]

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

noop—real defines are more complicated

◆ copy()

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.

◆ define() [2/3]

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

◆ define() [3/3]

void EBDataImplem::define ( const EBGraph a_graph,
const Box a_region,
const Real a_dx,
bool  a_hasMoments 
)

◆ coarsenVoFs()

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

◆ coarsenFaces()

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

◆ volFrac()

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

◆ areaFrac()

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

◆ centroid() [1/2]

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

◆ centroid() [2/2]

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

◆ bndryCentroid() [1/2]

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

◆ bndryCentroid() [2/2]

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

◆ bndryArea() [1/2]

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

◆ bndryArea() [2/2]

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

◆ normal() [1/2]

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

◆ normal() [2/2]

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

◆ facePhase()

int EBDataImplem::facePhase ( const VolIndex a_vof,
int  aface 
) const

used by multi-fluid applications

used by multi-fluid code

◆ faceIndex()

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

used by multi-fluid code

◆ setFacePhase()

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

used by multi-fluid code

◆ setFaceIndex()

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

used by multi-fluid code

◆ numFacePhase()

int EBDataImplem::numFacePhase ( const VolIndex a_vof) const

◆ clearMultiBoundaries()

void EBDataImplem::clearMultiBoundaries ( )

◆ setBoundaryPhase()

void EBDataImplem::setBoundaryPhase ( int  phase)

◆ size()

int EBDataImplem::size ( const Box R,
const Interval comps 
) const

This stuff required by LevelData in parallel:

◆ linearOut()

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

◆ linearIn()

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

◆ preAllocatable()

static int EBDataImplem::preAllocatable ( )
inlinestatic

◆ getVolData() [1/2]

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

◆ getVolData() [2/2]

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

◆ hasMoments()

bool EBDataImplem::hasMoments ( ) const
inline

return true if higher order moments are available

◆ addFullIrregularVoFs()

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

◆ addEmptyIrregularVoFs()

void EBDataImplem::addEmptyIrregularVoFs ( const IntVectSet a_vofsToChange,
const EBGraph a_newGraph 
)

multifluid angels dancing on the heads of pins.

◆ setVerbose()

static void EBDataImplem::setVerbose ( bool  a_verbose)
static

◆ setVerboseDebug()

static void EBDataImplem::setVerboseDebug ( bool  a_verboseDebug)
static

◆ getVolumeMoments()

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

◆ getEBMoments()

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

◆ getFaceMoments()

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

◆ getAreaMoments()

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

I am sick of guessing this name wrong.

◆ getEBNormalPartialDerivs()

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

gets the partial derivs of the normal component.

◆ getEBNormalMoments()

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

◆ irregFace()

bool EBDataImplem::irregFace ( const FaceIndex a_face) const
private

◆ irregVoF()

bool EBDataImplem::irregVoF ( const VolIndex a_vof) const
private

◆ defineVoFData()

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

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

◆ defineFaceData()

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

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

◆ setVolumeMomentsToZero()

void EBDataImplem::setVolumeMomentsToZero ( const VolIndex a_vof)
private

◆ setAreaMomentsToZero()

void EBDataImplem::setAreaMomentsToZero ( const FaceIndex a_face)
private

◆ setCoveredAndRegular()

void EBDataImplem::setCoveredAndRegular ( )
private

◆ shiftAndIncrement() [1/2]

void EBDataImplem::shiftAndIncrement ( IndMomSpaceDim a_output,
const IndMomSpaceDim a_input,
const RealVect a_shiftRV 
)
private

◆ shiftAndIncrement() [2/2]

void EBDataImplem::shiftAndIncrement ( IndMomSDMinOne a_output,
const IndMomSDMinOne a_input,
const RealVect a_shiftRV,
int  faceDir 
)
private

◆ operator=()

void EBDataImplem::operator= ( const EBDataImplem ebiin)
inlineprivate

◆ coarsenFaceCentroid()

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

◆ coarsenAreaFrac()

void EBDataImplem::coarsenAreaFrac ( Real a_areaFracCoar,
const Vector< Real > &  a_areaFracFine 
)
private

◆ coarsenVolFracAndCentroid()

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

◆ coarsenBoundaryAreaAndNormal()

void EBDataImplem::coarsenBoundaryAreaAndNormal ( Real a_bndryAreaCoar,
RealVect a_normalCoar,
const Vector< Real > &  a_bndryAreaFine,
const Vector< RealVect > &  a_normalFine 
)
private

◆ fineToCoarseTransform()

RealVect EBDataImplem::fineToCoarseTransform ( const RealVect a_finePoint,
const IntVect a_coarCell,
const IntVect a_fineCell 
)
private

◆ coarsenBndryCentroid()

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

◆ fetch()

void EBDataImplem::fetch ( std::list< const VolData *> &  fineVols,
const Vector< VolIndex > &  vofsFine 
) const
private

Friends And Related Function Documentation

◆ EBIndexSpace

friend class EBIndexSpace
friend

◆ EBISLevel

friend class EBISLevel
friend

Member Data Documentation

◆ s_verbose

bool EBDataImplem::s_verbose
staticprivate

◆ s_verboseDebug

bool EBDataImplem::s_verboseDebug
staticprivate

◆ m_volData

BaseIVFAB<VolData> EBDataImplem::m_volData
private

◆ m_regularAreaMoments

IndMomSDMinOne EBDataImplem::m_regularAreaMoments
private

◆ m_regularVolumeMoments

IndMomSpaceDim EBDataImplem::m_regularVolumeMoments
private

◆ m_faceData

BaseIFFAB<FaceData> EBDataImplem::m_faceData[SpaceDim]
private

◆ m_isFaceDataDefined

bool EBDataImplem::m_isFaceDataDefined
private

◆ m_isVoFDataDefined

bool EBDataImplem::m_isVoFDataDefined
private

◆ m_hasMoments

bool EBDataImplem::m_hasMoments
private

◆ m_dx

Real EBDataImplem::m_dx
private

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