#include <EBGraph.H>
Collaboration diagram for EBGraph:
Public Types | |
enum | TAG { AllRegular = 0, AllCovered, HasIrregular } |
Public Methods | |
EBGraph () | |
~EBGraph () | |
Vector< VolIndex > | getVoFs (const IntVect &a_iv) const |
int | numVoFs (const IntVect &a_iv) const |
bool | isAllRegular () const |
bool | hasIrregular () const |
bool | isAllCovered () const |
bool | isIrregular (const IntVect &a_iv) const |
bool | isCovered (const Box &a_box) const |
bool | isRegular (const Box &a_box) const |
bool | isRegular (const IntVect &a_iv) const |
bool | isCovered (const IntVect &a_iv) const |
bool | isConnected (const VolIndex &a_vof1, const VolIndex &a_vof2) const |
Vector< FaceIndex > | getFaces (const VolIndex &a_vof, const int &a_idir, const Side::LoHiSide &a_sd) const |
Vector< Vector< VolIndex > > | getVoFSets (const Box &a_region) const |
Vector< VolIndex > | refine (const VolIndex &a_coarVoF) const |
Vector< FaceIndex > | refine (const FaceIndex &a_coarFace, const EBGraph &a_fineGraph) const |
FaceIndex | coarsen (const FaceIndex &a_coarFace) const |
VolIndex | coarsen (const VolIndex &a_fineVoF) const |
EBGraph (const Box &a_box, int a_comps) | |
void | buildGraph (const BaseFab< int > &a_regIrregCovered, const Vector< IrregNode > &a_irregGraph, const Box &a_validRegion, const Box &a_domain) |
void | checkGraph (const BaseFab< int > &a_regIrregCovered, const Vector< IrregNode > &a_irregGraph, const Box &a_validRegion, const Box &a_domain) |
void | setToAllRegular () |
void | setToAllCovered () |
void | define (const Box &box) |
void | copy (const Box &a_regionFrom, const Interval &Cd, const Box &a_regionto, const EBGraph &a_source, const Interval &Cs) |
const Box & | getRegion () const |
const Box & | getDomain () const |
bool | isDefined () const |
bool | isDomainSet () const |
void | coarsenVoFs (const EBGraph &a_fineGraph, const Box &a_coarRegion) |
void | coarsenFaces (const EBGraph &a_coarGhostGraph, const EBGraph &a_fineEBIS) |
void | fixFineToCoarse (EBGraph &a_fineEBIS) const |
Vector< int > | coarsenFaces (const VolIndex &a_coarVoF, const EBGraph &a_coarGhostGraph, const EBGraph &a_fineGraph, const int &a_idir, const Side::LoHiSide &a_sd) |
void | setDomain (const Box &box) |
IntVectSet | getIrregCells (const Box &a_subbox) const |
IntVectSet | getMultiCells (const Box &a_subbox) const |
EBGraph & | operator= (const EBGraph &ebiin) |
EBGraph (const EBGraph &a_ebiin) | |
Vector< FaceIndex > | getAllFaces (const IntVect &a_iv, const int &a_idir, const Side::LoHiSide &a_sd) const |
EBGraph (const Box &box) | |
bool | operator== (const EBGraph &a_ebiin) |
pointer comparison | |
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) |
Static Public Methods | |
int | preAllocatable () |
Private Attributes | |
RefCountedPtr< EBGraphImplem > | m_implem |
EBGraph represents the geometric information of the domain at a given refinement within the boundaries of a particular box. This is a refcounted object with all that implies.
|
The EBGraph can be all regular or all covered or contain irregular cells. |
|
Makes an EBGraph whose contents are undefined. |
|
|
|
Define an all-regular EBGraph with the input box as its region. The component argument is ignored. This function is required by LevelData. |
|
|
|
|
|
Completely construct the graph from IrregNodes. This makes a DENSE representation of the graph. To make sparse representations of all regular or all covered graphs, use setToAllRegular or setToAllCovered.\ irregGraph contains a complete list of irregular vofs. \ validRegion is the the region of the graph \ domain is the domain of compuation \ regIrregCovered = 1 for regular, 0 for irregular, -1 for covered. regIrregCovered must contain the valid region grown by 1. \ In chombospeak, \ regIrregCovered.box().contains(grow(validRegion, 1) & domain); \ otherwise an error will result |
|
|
|
Returns the corresponding VoF from the next coarser EBGraph (same solution location, different index space, factor of two refinement ratio). |
|
Returns the corresponding face from the next coarser EBGraph (factor of two refinement). This only makes sense if there is a coarser level. |
|
|
|
|
|
|
|
Copy the information from a_source to the over the intersection of the box a_region, the box of the current EBGraph and the box of a_source. The Interval arguments are ignored. This function is required by LevelData. |
|
Define an all-regular EBGraph with the input box as its region. |
|
|
|
|
|
|
|
Return the faces on the side and direction of the input VoF. |
|
|
|
|
|
|
|
Return the VoFs in the cell. |
|
|
|
Return true neither all regular nor all covered |
|
Return true if every cell in the EBGraph is a covered cell. |
|
Return true if every cell in the EBGraph is a regular cell. |
|
|
|
|
|
Return true if every cell in a_box is a covered cell. |
|
|
|
|
|
Return true if a_iv is an irregular cell. |
|
|
|
Return true if every cell in a_box is a regular cell. |
|
|
|
|
|
|
|
|
|
pointer comparison
|
|
|
|
Returns the corresponding set of faces from the next finer EBGraph (factor of two refinement). The result is only defined if this {\tt EBGraph} was defined by coarsening. |
|
Returns the corresponding set of VoFs from the next finer EBGraph (factor of two refinement). The result is only defined if this {\tt EBGraph} was defined by coarsening. |
|
|
|
Set the graph to all covered cells (sparse); |
|
Set the graph to all regular cells (sparse); |
|
This stuff required by LevelData in parallel: |
|
|