#include <EBGraph.H>
Collaboration diagram for EBGraphImplem:

Public Types | |
| enum | TAG { AllRegular = 0, AllCovered, HasIrregular } |
Public Methods | |
| EBGraphImplem () | |
| ~EBGraphImplem () | |
| 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 EBGraphImplem &a_fineGraph) const |
| FaceIndex | coarsen (const FaceIndex &a_coarFace) const |
| VolIndex | coarsen (const VolIndex &a_fineVoF) const |
| 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) |
| EBGraphImplem (const Box &box) | |
| void | copy (const Box &a_regionFrom, const Interval &Cd, const Box &a_regionto, const EBGraphImplem &a_source, const Interval &Cs) |
| const Box & | getRegion () const |
| const Box & | getDomain () const |
| 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) |
| bool | isDefined () const |
| bool | isDomainSet () const |
| void | coarsenVoFs (const EBGraphImplem &a_fineGraph, const Box &a_coarRegion) |
| void | coarsenFaces (const EBGraphImplem &a_coarGhostGraph, const EBGraphImplem &a_fineEBIS) |
| void | fixFineToCoarse (EBGraphImplem &a_fineEBIS) const |
| Vector< int > | coarsenFaces (const VolIndex &a_coarVoF, const EBGraphImplem &a_coarGhostGraph, const EBGraphImplem &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 |
| Vector< FaceIndex > | getAllFaces (const IntVect &a_iv, const int &a_idir, const Side::LoHiSide &a_sd) const |
Static Public Methods | |
| int | preAllocatable () |
Private Methods | |
| void | operator= (const EBGraphImplem &ebiin) |
| EBGraphImplem (const EBGraphImplem &ebiin) | |
Private Attributes | |
| Box | m_region |
| box over which this graph is defined | |
| Box | m_domain |
| computational domain at this level of refinement | |
| TAG | m_tag |
| BaseFab< GraphNode > | m_graph |
| bool | m_isDefined |
| bool | m_isDomainSet |
| IntVectSet | m_irregIVS |
| IntVectSet | m_multiIVS |
EBGraphImplem represents the geometric information of the domain at a given refinement within the boundaries of a particular box.
|
|
The EBGraphImplem can be all regular or all covered or contain irregular cells. |
|
|
Makes an EBGraphImplem whose contents are undefined. |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
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 EBGraphImplem (same solution location, different index space, factor of two refinement ratio). |
|
|
Returns the corresponding face from the next coarser EBGraphImplem (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 EBGraphImplem and the box of a_source. The Interval arguments are ignored. This function is required by LevelData. |
|
|
Define an all-regular EBGraphImplem 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 EBGraphImplem is a covered cell. |
|
|
Return true if every cell in the EBGraphImplem 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. |
|
||||||||||||||||
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
Returns the corresponding set of faces from the next finer EBGraphImplem (factor of two refinement). The result is only defined if this {\tt EBGraphImplem} was defined by coarsening. |
|
|
Returns the corresponding set of VoFs from the next finer EBGraphImplem (factor of two refinement). The result is only defined if this {\tt EBGraphImplem} 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: |
|
|
computational domain at this level of refinement
|
|
|
the graph description of the box. If the pointer GraphNode.m_thisNode == 0, the cell is covered. If the pointer GraphNode.m_thisNode == 1, the cell is regular. Otherwise, the pointer goes to the node of the graph. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
box over which this graph is defined
|
|
|
If this is allregular or allcovered, the BaseFab below is undefined. |
1.2.16