| 
    Chombo + EB
    3.2
    
   | 
 
Internal class to find parts of a box outside the valid region of a level. More...
#include <CFIVS.H>
Public Member Functions | |
| CFIVS () | |
| Null constructor.  More... | |
| ~CFIVS () | |
| Destructor.  More... | |
| void | define (const IntVectSet &a_IVS) | 
| Explicit define based on an IntVectSet.  More... | |
| void | define (const DataIndex &a_dataIndex, const DisjointBoxLayout &a_grids, const Box &a_ghostBox) | 
| General define for any box using NeighborIterators.  More... | |
| void | coarsen (int a_ref) | 
| Coarsen the stored cells.  More... | |
| const Box & | packedBox () const | 
| Returns packed box for when isPacked() is true.  More... | |
| const Box & | minBox () const | 
| Returns minbox for when isPacked() is false (but can also be used if true)  More... | |
| const IntVectSet & | getIVS () const | 
| Get the set of IntVects.  More... | |
| bool | isPacked () const | 
| Returns "true" if this CF IntVectSet can be represented as a simple Box.  More... | |
| bool | isEmpty () const | 
| Returns "true" if the defined IVS is empty.  More... | |
| bool | isDefined () const | 
| Returns "true" if the object has been defined.  More... | |
Legacy members  | |
New uses of CFIVS should avoid these routines  | |
| CFIVS (const Box &a_domain, const Box &a_boxIn, const DisjointBoxLayout &a_fineBoxes, int a_direction, Side::LoHiSide a_hiorlo) | |
| (Deprecated) constructor  More... | |
| CFIVS (const ProblemDomain &a_domain, const Box &a_boxIn, const DisjointBoxLayout &a_fineBoxes, int a_direction, Side::LoHiSide a_hiorlo) | |
| (Deprecated) full constructor  More... | |
| void | define (const Box &a_domain, const Box &a_boxIn, const DisjointBoxLayout &a_fineBoxes, int a_direction, Side::LoHiSide a_hiorlo) | 
| (Deprecated) define function  More... | |
| void | define (const ProblemDomain &a_domain, const Box &a_boxIn, const DisjointBoxLayout &a_fineBoxes, int a_direction, Side::LoHiSide a_hiorlo) | 
| (Deprecated) full define function  More... | |
| void | define (const ProblemDomain &a_domain, const Box &a_boxIn, const Vector< Box > &a_periodicfineBoxes, int a_direction, Side::LoHiSide a_hiorlo) | 
| is the face on the hi or lo side of the box?  More... | |
| void | define (const ProblemDomain &a_domain, const DataIndex &a_dataIndex, const DisjointBoxLayout &a_grids, int a_direction, Side::LoHiSide a_hiorlo) | 
| const IntVectSet & | getFineIVS () const | 
| Get fine intvects which need to be interpolated.  More... | |
Static Public Attributes | |
| static long long | s_packCount | 
| static long long | s_sparseCount | 
Protected Member Functions | |
| void | setDefaultValues () | 
| void | decrementCounts () | 
| Decrement counts (during redefine)  More... | |
| void | packIVS () | 
| Pack the IVS.  More... | |
Protected Attributes | |
| IntVectSet | m_IVS | 
| IntVects that are outside the level.  More... | |
| Box | m_packedBox | 
| bool | m_packed | 
| bool | m_empty | 
| bool | m_defined | 
| Has this object been defined?  More... | |
Internal class to find parts of a box outside the valid region of a level.
Typically used to find the ghost cells between this and a coarser level. These cells are represented by an IntVectSet and, if possible, packed into a box. This class should only be used through a CFRegion which breaks down the parts of a box into regions that have a high probability of being packed.
| CFIVS::CFIVS | ( | ) | 
Null constructor.
| CFIVS::~CFIVS | ( | ) | 
Destructor.
| CFIVS::CFIVS | ( | const Box & | a_domain, | 
| const Box & | a_boxIn, | ||
| const DisjointBoxLayout & | a_fineBoxes, | ||
| int | a_direction, | ||
| Side::LoHiSide | a_hiorlo | ||
| ) | 
(Deprecated) constructor
The ProblemDomain class has replaced the Box domain Replaces Box domain with a ProblemDomain and calls define fn.
| CFIVS::CFIVS | ( | const ProblemDomain & | a_domain, | 
| const Box & | a_boxIn, | ||
| const DisjointBoxLayout & | a_fineBoxes, | ||
| int | a_direction, | ||
| Side::LoHiSide | a_hiorlo | ||
| ) | 
(Deprecated) full constructor
CFRegion should specify the region and call general define for a box Calls corresponding define function.
| void CFIVS::define | ( | const IntVectSet & | a_IVS | ) | 
Explicit define based on an IntVectSet.
| void CFIVS::define | ( | const DataIndex & | a_dataIndex, | 
| const DisjointBoxLayout & | a_grids, | ||
| const Box & | a_ghostBox | ||
| ) | 
General define for any box using NeighborIterators.
| void CFIVS::coarsen | ( | int | a_ref | ) | 
Coarsen the stored cells.
      
  | 
  inline | 
Returns packed box for when isPacked() is true.
References CH_assert, isPacked(), and m_packedBox.
      
  | 
  inline | 
Returns minbox for when isPacked() is false (but can also be used if true)
References m_packedBox.
      
  | 
  inline | 
Get the set of IntVects.
References m_IVS.
      
  | 
  inline | 
Returns "true" if this CF IntVectSet can be represented as a simple Box.
Returns 'true' if this coarse-fine IntVectSet can be represented as just a Box, ie. a user can perform a dense computation instead of a pointwise calculation using IVSIterator.
References CH_assert, m_defined, and m_packed.
Referenced by packedBox().
      
  | 
  inline | 
      
  | 
  inline | 
Returns "true" if the object has been defined.
References m_defined.
      
  | 
  protected | 
      
  | 
  protected | 
Decrement counts (during redefine)
      
  | 
  protected | 
Pack the IVS.
| void CFIVS::define | ( | const Box & | a_domain, | 
| const Box & | a_boxIn, | ||
| const DisjointBoxLayout & | a_fineBoxes, | ||
| int | a_direction, | ||
| Side::LoHiSide | a_hiorlo | ||
| ) | 
(Deprecated) define function
CFRegion should specify the region and call general define for a box Replaces Box domain with a ProblemDomain and calls define fn.
| void CFIVS::define | ( | const ProblemDomain & | a_domain, | 
| const Box & | a_boxIn, | ||
| const DisjointBoxLayout & | a_fineBoxes, | ||
| int | a_direction, | ||
| Side::LoHiSide | a_hiorlo | ||
| ) | 
(Deprecated) full define function
CFRegion should specify the region and call general define for a box
| a_boxIn | Problem domain at the fine level | 
| a_fineBoxes | fine-level grid box | 
| a_direction | fine-level grids | 
| a_hiorlo | direction of the face of interest | 
| void CFIVS::define | ( | const ProblemDomain & | a_domain, | 
| const Box & | a_boxIn, | ||
| const Vector< Box > & | a_periodicfineBoxes, | ||
| int | a_direction, | ||
| Side::LoHiSide | a_hiorlo | ||
| ) | 
is the face on the hi or lo side of the box?
(Deprecated) faster define function. Requires the use of CFStencil::buildPeriodicVector static function. CFRegion should specify the region and call general define for a box
| void CFIVS::define | ( | const ProblemDomain & | a_domain, | 
| const DataIndex & | a_dataIndex, | ||
| const DisjointBoxLayout & | a_grids, | ||
| int | a_direction, | ||
| Side::LoHiSide | a_hiorlo | ||
| ) | 
(Deprecated) Updated define function that uses NeighborIterators instead of traversing the entire list of boxes. CFRegion should specify the region and call general define for a box. However, at least this one is using the recommended technology, Neighbor iterators.
      
  | 
  inline | 
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  protected | 
IntVects that are outside the level.
Referenced by getFineIVS(), and getIVS().
      
  | 
  protected | 
If m_packed is true, the Box with which the coarse-fine IntVectSet can be represented. If m_packed is false, same as m_IVS.minBox().
Referenced by minBox(), and packedBox().
      
  | 
  protected | 
Can the coarse-fine IntVectSet be represented as a Box? Set to false if the IVS is empty
Referenced by isPacked().
      
  | 
  protected | 
Is the IVS empty - cached here for fast lookup
Referenced by isEmpty().
      
  | 
  protected | 
Has this object been defined?
Referenced by isDefined(), isEmpty(), and isPacked().
 1.8.13