| 
    Chombo + EB
    3.2
    
   | 
 
Geometric description within a box. More...
#include <EBGraph.H>
Public Types | |
| enum | TAG { AllRegular = 0, AllCovered, HasIrregular } | 
Public Member Functions | |
| EBGraph () | |
| ~EBGraph () | |
| const BaseFab< char > & | getMask (int &a_regIrregCovered) const | 
| Vector< VolIndex > | getVoFs (const IntVect &a_iv) const | 
| long long | numVoFs (const IntVect &a_iv) const | 
| long long | numVoFs (const Box &a_box) 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 | isMultiValued (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 ProblemDomain &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 ProblemDomain & | 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 ProblemDomain &a_domain) | 
| 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 | 
| Vector< FaceIndex > | getIrregFaces (const Box &a_box, int a_dir) const | 
| void | fillMask (BaseFab< char > &a_mask) const | 
| void | fillCellTypeMask (BaseFab< char > &a_mask) const | 
| EBGraph (const Box &box) | |
| bool | operator== (const EBGraph &a_ebiin) | 
| pointer comparison  More... | |
| bool | operator< (const EBGraph &a_ebiin) const | 
| pointer comparison  More... | |
| 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) | 
| void | addFullIrregularVoFs (const IntVectSet &a_vofsToChange, const EBGraph &a_ghostGraph) | 
| void | addEmptyIrregularVoFs (const IntVectSet &a_vofsToChange) | 
| void | getRegNextToMultiValued (IntVectSet &a_vofsToChange, const EBGraph &a_ghostGraph) const | 
| Vector< FaceIndex > | getMultiValuedFaces (const int &a_idir, const Box &a_box) const | 
| long long | numFaces (const Box &a_box, int a_dir) const | 
| const FaceIterator & | FaceIteratorCache (const IntVectSet &ivs, int a_direction, FaceStop::WhichFaces a_loc) const | 
| const FaceIterator & | FaceIteratorCache (const Box &a_region, int a_direction, FaceStop::WhichFaces a_loc) const | 
| const VoFIterator & | VoFIteratorCache (const IntVectSet &ivs) const | 
Static Public Member Functions | |
| static int | preAllocatable () | 
Private Attributes | |
| RefCountedPtr< EBGraphImplem > | m_implem | 
Friends | |
| class | EBIndexSpace | 
| class | EBISLevel | 
Geometric description within a box.
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.
| enum EBGraph::TAG | 
The EBGraph can be all regular or all covered or contain irregular cells.
| Enumerator | |
|---|---|
| AllRegular | |
| AllCovered | |
| HasIrregular | |
| EBGraph::EBGraph | ( | ) | 
Makes an EBGraph whose contents are undefined.
| EBGraph::~EBGraph | ( | ) | 
| EBGraph::EBGraph | ( | const Box & | a_box, | 
| int | a_comps | ||
| ) | 
| EBGraph::EBGraph | ( | const EBGraph & | a_ebiin | ) | 
| EBGraph::EBGraph | ( | const Box & | box | ) | 
1 = regular 0 = irregular -1 = covered
      
  | 
  inline | 
If the graph has irregular cells get a mask over the size of the graph. -1 for covered cells or multivalued cells, 0 for singlevalued irregular, and 1 for regular. If the graph is all regular, regIrregCovered returns 1 and the mask is undefined. If the graph is all regular, regIrregCovered returns -1 and the mask is undefined.
Return the VoFs in the cell.
Referenced by EBISBox::getVoFs().
      
  | 
  inline | 
Referenced by MiniIVFAB< Real >::define(), and EBISBox::numVoFs().
      
  | 
  inline | 
      
  | 
  inline | 
Return true if every cell in the EBGraph is a regular cell.
Referenced by EBISBox::isAllRegular().
| bool EBGraph::hasIrregular | ( | ) | const | 
Return true neither all regular nor all covered
      
  | 
  inline | 
Return true if every cell in the EBGraph is a covered cell.
Referenced by EBISBox::isAllCovered().
      
  | 
  inline | 
Return true if a_iv is an irregular cell.
Referenced by EBISBox::isIrregular().
      
  | 
  inline | 
Return true if every cell in a_box is a covered cell.
Referenced by EBISBox::isCovered().
      
  | 
  inline | 
Return true if every cell in a_box is a regular cell.
Referenced by EBISBox::isRegular().
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
Referenced by EBISBox::isMultiValued().
      
  | 
  inline | 
Return the faces on the side and direction of the input VoF.
Referenced by EBISBox::getFaces().
Returns the corresponding face from the next coarser EBGraph (factor of two refinement). This only makes sense if there is a coarser level.
Returns the corresponding VoF from the next coarser EBGraph (same solution location, different index space, factor of two refinement ratio).
      
  | 
  inline | 
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
      
  | 
  inline | 
Set the graph to all regular cells (sparse);
      
  | 
  inline | 
Set the graph to all covered cells (sparse);
References coarsenVoFs().
| void EBGraph::define | ( | const Box & | box | ) | 
Define an all-regular EBGraph with the input box as its region.
      
  | 
  inline | 
Referenced by MiniIFFAB< Real >::size().
      
  | 
  inline | 
Referenced by BaseIFFAB< FaceStencil >::define().
      
  | 
  inline | 
| bool EBGraph::isDomainSet | ( | ) | const | 
References coarsenFaces(), and m_implem.
Referenced by setToAllCovered().
References fixFineToCoarse(), and m_implem.
Referenced by coarsenVoFs().
      
  | 
  inline | 
References m_implem.
Referenced by coarsenFaces().
| Vector<int> EBGraph::coarsenFaces | ( | const VolIndex & | a_coarVoF, | 
| const EBGraph & | a_coarGhostGraph, | ||
| const EBGraph & | a_fineGraph, | ||
| const int & | a_idir, | ||
| const Side::LoHiSide & | a_sd | ||
| ) | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
Referenced by EBISBox::getAllFaces().
| void EBGraph::fillMask | ( | BaseFab< char > & | a_mask | ) | const | 
| void EBGraph::fillCellTypeMask | ( | BaseFab< char > & | a_mask | ) | const | 
0 outside priblem domain 1 covered 2 regular 3 irregular
      
  | 
  inline | 
pointer comparison
References m_implem.
This stuff required by LevelData in parallel:
      
  | 
  inlinestatic | 
| void EBGraph::addFullIrregularVoFs | ( | const IntVectSet & | a_vofsToChange, | 
| const EBGraph & | a_ghostGraph | ||
| ) | 
| void EBGraph::addEmptyIrregularVoFs | ( | const IntVectSet & | a_vofsToChange | ) | 
| void EBGraph::getRegNextToMultiValued | ( | IntVectSet & | a_vofsToChange, | 
| const EBGraph & | a_ghostGraph | ||
| ) | const | 
| long long EBGraph::numFaces | ( | const Box & | a_box, | 
| int | a_dir | ||
| ) | const | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  friend | 
      
  | 
  friend | 
      
  | 
  private | 
Referenced by coarsenFaces(), coarsenVoFs(), copy(), fixFineToCoarse(), operator<(), operator=(), operator==(), and refine().
 1.8.13