Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

ShiftIterator Class Reference

Class to manage box-shifting used to enforce periodic BC's. More...

#include <ProblemDomain.H>

Collaboration diagram for ShiftIterator:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ShiftIterator ()
 Basic constructor.

 ShiftIterator (const bool *a_isPeriodic)
 Defining Constructor.

 ShiftIterator (const ShiftIterator &a_shiftIt)
 Copy constructor.

 ~ShiftIterator ()
 Destructor.

ShiftIteratoroperator= (const ShiftIterator &a_src)
 Assignment operator.

void computeShifts (const bool *a_isPeriodic)
 Recompute shift vectors based on periodic directions.

IntVect operator() () const
 Returns the current shift unit vector.

IntVect i () const
 Equivalent to the () operator.

void operator++ ()
 Increment to the next shift unit vector.

void incr ()
 Equivalent to the ++ operator.

bool ok () const
 Is the iterator still within its range of shift vectors?

void reset ()
 Reset to first shift unit vector.

void begin ()
 Equivalent to reset().

void end ()
 Skip the iterator to the end.


Detailed Description

Class to manage box-shifting used to enforce periodic BC's.

The ShiftIterator class contains a list of shift vectors necessary to enforce periodic boundary conditions (enforced by shifting the Box of each Fab, then copying any overlapping valid cells with ghost cells of the shifted Fab. Depending on the number of periodic directions, the list of shift vectors over which to iterate differs.


Constructor & Destructor Documentation

ShiftIterator::ShiftIterator  )  [inline]
 

Basic constructor.

ShiftIterator::ShiftIterator const bool *  a_isPeriodic  ) 
 

Defining Constructor.

Builds a ShiftIterator based on the periodicity in a_isPeriodic

ShiftIterator::ShiftIterator const ShiftIterator a_shiftIt  )  [inline]
 

Copy constructor.

ShiftIterator::~ShiftIterator  ) 
 

Destructor.


Member Function Documentation

void ShiftIterator::begin  )  [inline]
 

Equivalent to reset().

void ShiftIterator::computeShifts const bool *  a_isPeriodic  ) 
 

Recompute shift vectors based on periodic directions.

void ShiftIterator::end  )  [inline]
 

Skip the iterator to the end.

ok() will return false after this method is called.

IntVect ShiftIterator::i  )  const [inline]
 

Equivalent to the () operator.

void ShiftIterator::incr  )  [inline]
 

Equivalent to the ++ operator.

bool ShiftIterator::ok  )  const [inline]
 

Is the iterator still within its range of shift vectors?

IntVect ShiftIterator::operator()  )  const [inline]
 

Returns the current shift unit vector.

void ShiftIterator::operator++  )  [inline]
 

Increment to the next shift unit vector.

ShiftIterator & ShiftIterator::operator= const ShiftIterator a_src  )  [inline]
 

Assignment operator.

void ShiftIterator::reset  )  [inline]
 

Reset to first shift unit vector.


The documentation for this class was generated from the following file:
Generated on Wed Jun 2 13:59:07 2004 for Chombo&INSwithParticles by doxygen 1.3.2