#include <CFIVS.H>
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.
Public Member Functions | |
| CFIVS () | |
| Null constructor. | |
| ~CFIVS () | |
| Destructor. | |
| void | define (const IntVectSet &a_IVS) |
| Explicit define based on an IntVectSet. | |
| void | define (const DataIndex &a_dataIndex, const DisjointBoxLayout &a_grids, const Box &a_ghostBox) |
| General define for any box using NeighborIterators. | |
| void | coarsen (int a_ref) |
| Coarsen the stored cells. | |
| const Box & | packedBox () const |
| Returns packed box for when isPacked() is true. | |
| const Box & | minBox () const |
| Returns minbox for when isPacked() is false (but can also be used if true). | |
| const IntVectSet & | getIVS () const |
| Get the set of IntVects. | |
| bool | isPacked () const |
| Returns "true" if this CF IntVectSet can be represented as a simple Box. | |
| bool | isEmpty () const |
| Returns "true" if the defined IVS is empty. | |
| bool | isDefined () const |
| Returns "true" if the object has been defined. | |
Legacy members | |
| CFIVS (const Box &a_domain, const Box &a_boxIn, const DisjointBoxLayout &a_fineBoxes, int a_direction, Side::LoHiSide a_hiorlo) | |
| (Deprecated) constructor | |
| CFIVS (const ProblemDomain &a_domain, const Box &a_boxIn, const DisjointBoxLayout &a_fineBoxes, int a_direction, Side::LoHiSide a_hiorlo) | |
| (Deprecated) full constructor | |
| void | define (const Box &a_domain, const Box &a_boxIn, const DisjointBoxLayout &a_fineBoxes, int a_direction, Side::LoHiSide a_hiorlo) |
| (Deprecated) define function | |
| 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 | |
| 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? | |
| 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. | |
Static Public Attributes | |
| static long long | s_packCount |
| static long long | s_sparseCount |
Protected Member Functions | |
| void | setDefaultValues () |
| void | decrementCounts () |
| Decrement counts (during redefine). | |
| void | packIVS () |
| Pack the IVS. | |
Protected Attributes | |
| IntVectSet | m_IVS |
| IntVects that are outside the level. | |
| Box | m_packedBox |
| bool | m_packed |
| bool | m_empty |
| bool | m_defined |
| Has this object been defined? | |
| 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 | |||
| ) |
| 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.
| const Box & CFIVS::packedBox | ( | ) | const [inline] |
| const Box & CFIVS::minBox | ( | ) | const [inline] |
| const IntVectSet & CFIVS::getIVS | ( | ) | const [inline] |
| bool CFIVS::isPacked | ( | ) | const [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().
| bool CFIVS::isEmpty | ( | ) | const [inline] |
| bool CFIVS::isDefined | ( | ) | const [inline] |
| void CFIVS::setDefaultValues | ( | ) | [protected] |
| void CFIVS::decrementCounts | ( | ) | [protected] |
Decrement counts (during redefine).
| void CFIVS::packIVS | ( | ) | [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 | |||
| ) |
| 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 | |||
| ) |
| const IntVectSet & CFIVS::getFineIVS | ( | ) | const [inline] |
long long CFIVS::s_packCount [static] |
long long CFIVS::s_sparseCount [static] |
IntVectSet CFIVS::m_IVS [protected] |
Box CFIVS::m_packedBox [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().
bool CFIVS::m_packed [protected] |
Can the coarse-fine IntVectSet be represented as a Box? Set to false if the IVS is empty
Referenced by isPacked().
bool CFIVS::m_empty [protected] |
Is the IVS empty - cached here for fast lookup
Referenced by isEmpty().
bool CFIVS::m_defined [protected] |
1.5.5