Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM > Class Template Reference

Class LocallyActiveDataPatchLevelManager is a utility class for managing data on a patch level where each data item may be defined on a different set of patches; i.e., the data is "locally-active". A separate object of this class is needed for each patch level on which locally-active data is defined. Typical usage involves constructing an instance of this class with a patch level and then defining the active patches for each patch data integer identifier. Then, this class supports various patch level operations asscociated with the locally-active data, such as allocation and deallocation of data and iteration over patches for which a particular data id is active. More...

#include <source/hierarchy/variables/LocallyActiveDataPatchLevelManager.h>

List of all members.

Public Types

typedef LocallyActiveDataPatchLevelIterator<
DIM > 
Iterator

Public Member Functions

 LocallyActiveDataPatchLevelManager ()
 LocallyActiveDataPatchLevelManager (const hier::PatchLevel< DIM > &level)
 LocallyActiveDataPatchLevelManager (const tbox::Pointer< hier::PatchLevel< DIM > > level)
 ~LocallyActiveDataPatchLevelManager ()
Iterator getIterator (int patch_data_index) const
Iterator getIterator (const tbox::Pointer< hier::Variable< DIM > > variable) const
tbox::Pointer< hier::PatchLevel<
DIM > > 
getPatchLevel () const
bool checkLevel (const hier::PatchLevel< DIM > &level) const
bool checkLevel (const tbox::Pointer< hier::PatchLevel< DIM > > level) const
bool checkLevel (const hier::PatchLevel< DIM > *level) const
void reset (const hier::PatchLevel< DIM > &level)
void reset (const tbox::Pointer< hier::PatchLevel< DIM > > level)
bool getPatchDataActive (int patch_data_index, int patch_number) const
const hier::ComponentSelectorgetAllPatchDataActive (int patch_number) const
void setPatchDataActive (int patch_data_index, int patch_number)
void setPatchDataActive (const hier::ComponentSelector &active_indices, int patch_number)
void setAllPatchDataActive (int patch_number)
void setPatchDataActive (const hier::ComponentSelector &active_indices)
void setPatchDataInactive (int patch_data_index, int patch_number)
void setAllPatchDataInactive (int patch_number)
void setAllPatchDataInactive ()
void clearAllActiveDataInfo ()
bool checkAllocated (int patch_data_index) const
void allocatePatchData (int patch_data_index, double timestamp=0.0, tbox::Pointer< tbox::Arena > pool=0) const
void allocateAllPatchData (double timestamp=0.0, tbox::Pointer< tbox::Arena > pool=0) const
void allocateAllPatchData (int patch_number, double timestamp=0.0, tbox::Pointer< tbox::Arena > pool=0) const
void deallocatePatchData (int patch_data_index) const
void deallocateAllPatchData () const
void deallocateAllPatchData (int patch_number) const
void printClassData (ostream &os=tbox::plog) const

Friends

class LocallyActiveDataPatchLevelIterator< DIM >


Detailed Description

template<int DIM>
class SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >

Class LocallyActiveDataPatchLevelManager is a utility class for managing data on a patch level where each data item may be defined on a different set of patches; i.e., the data is "locally-active". A separate object of this class is needed for each patch level on which locally-active data is defined. Typical usage involves constructing an instance of this class with a patch level and then defining the active patches for each patch data integer identifier. Then, this class supports various patch level operations asscociated with the locally-active data, such as allocation and deallocation of data and iteration over patches for which a particular data id is active.

See also:
hier::PatchLevel

hier::ComponentSelector

hier::LocallyActiveDataPatchLevelIterator


Member Typedef Documentation

template<int DIM>
typedef LocallyActiveDataPatchLevelIterator<DIM> SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::Iterator
 

An iterator over patches on the patch level. The iterator will enumerate the patches that live on the local processor and on which a given patch data index is active (see constructor for LocallyActiveDataPatchLevelIterator).

Use iterator LocallyActiveDataPatchLevelManager::Iterator instead of LocallyActiveDataPatchLevelIterator<DIM>, since the iterator may be defined as a nested class in the future.


Constructor & Destructor Documentation

template<int DIM>
SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::LocallyActiveDataPatchLevelManager  ) 
 

Default constructor for LocallyActiveDataPatchLevelManager class. The object state is invalid, hence the object cannot do anything useful, until it is set using the initialize() member function.

template<int DIM>
SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::LocallyActiveDataPatchLevelManager const hier::PatchLevel< DIM > &  level  ) 
 

Construct a new LocallyActiveDataPatchLevelManager object and initialize it based on the given patch level reference.

Parameters:
level const reference to patch level.

template<int DIM>
SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::LocallyActiveDataPatchLevelManager const tbox::Pointer< hier::PatchLevel< DIM > >  level  ) 
 

Construct a new LocallyActiveDataPatchLevelManager object and initialize it based on the given patch level pointer.

Parameters:
level const pointer to patch level.
When assertion checking is active, an assertion will result when the patch level pointer is null.

template<int DIM>
SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::~LocallyActiveDataPatchLevelManager  ) 
 

Destructor for LocallyActiveDataPatchLevelManager class frees internal storage.


Member Function Documentation

template<int DIM>
LocallyActiveDataPatchLevelManager< DIM >::Iterator SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::getIterator int  patch_data_index  )  const [inline]
 

Return an iterator that will enumerate the patches on the local processor and on which the given patch data index is active.

Returns:
iterator.
Parameters:
patch_data_index integer patch data index.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level, or the data index is invalid (< 0).

template<int DIM>
LocallyActiveDataPatchLevelManager< DIM >::Iterator SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::getIterator const tbox::Pointer< hier::Variable< DIM > >  variable  )  const [inline]
 

Return an iterator that will enumerate the patches on the local processor and on which data for the given variable is active. Note that we assume that a variable is associated with only one patch data index.

Returns:
iterator.
Parameters:
variable pointer to variable.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level, or if the variable is not registered with the locally-active variable database.

Parameters:
variable const smart pointer to variable.

template<int DIM>
tbox::Pointer< hier::PatchLevel< DIM > > SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::getPatchLevel  )  const [inline]
 

Return pointer to patch level associated with this manager object.

template<int DIM>
bool SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::checkLevel const hier::PatchLevel< DIM > &  level  )  const [inline]
 

Return true if argument level is same as that with which this LocallyActiveDataPatchLevelManager object was initialized; otherwise return false.

Parameters:
level const reference to level.

template<int DIM>
bool SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::checkLevel const tbox::Pointer< hier::PatchLevel< DIM > >  level  )  const [inline]
 

Return true if argument level is same as that with which this LocallyActiveDataPatchLevelManager object was initialized; otherwise return false.

Parameters:
level const smart pointer to level.

template<int DIM>
bool SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::checkLevel const hier::PatchLevel< DIM > *  level  )  const [inline]
 

Return true if argument level is same as that with which this LocallyActiveDataPatchLevelManager object was initialized; otherwise return false.

Parameters:
level const pointer to level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::reset const hier::PatchLevel< DIM > &  level  ) 
 

Reset the state of the LocallyActiveDataPatchLevelManager object to that associated with the given level. If the object was previously initialized based on a different level, that information is destroyed. and replaced with information from the argument level. Note that, at that point, it is impossible to recover the manager state associated with the previous level via this object.

Parameters:
level const reference to patch level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::reset const tbox::Pointer< hier::PatchLevel< DIM > >  level  ) 
 

Initialize the state of the LocallyActiveDataPatchLevelManager object to that associated with the given level. If the object was previously initialized based on a different level, that information is destroyed. and replaced with information from the argument level. Note that, at that point, it is impossible to recover the manager state associated with the previous level via this object.

Parameters:
level const smart pointer to patch level.
When assertion checking is active, an assertion will result when the patch level pointer is null.

template<int DIM>
bool SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::getPatchDataActive int  patch_data_index,
int  patch_number
const [inline]
 

Check whether given patch data index is active on given patch and return boolean true if data is active on patch; false otherwise.

Parameters:
patch_data_index integer patch data index.
patch_number integer patch number.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level, when the patch number is invalid for the level, or the data index is invalid (< 0).

template<int DIM>
const hier::ComponentSelector & SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::getAllPatchDataActive int  patch_number  )  const [inline]
 

Return const reference to component selector indicating active/inactive patch data indices for given patch.

Parameters:
patch_number integer patch number.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level, or hen the patch number is invalid for the level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::setPatchDataActive int  patch_data_index,
int  patch_number
[inline]
 

Set specified patch data active on given patch. Note that this function does not allocate the corresponding patch data.

Parameters:
patch_data_index integer patch data index.
patch_number integer patch number.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level, when the patch number is invalid for the level, or the data index is invalid (< 0).

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::setPatchDataActive const hier::ComponentSelector active_indices,
int  patch_number
[inline]
 

Set patch data active/inactive for given patch based on component selector information. Note that this function does not allocate/deallocate the corresponding patch data.

Parameters:
active_indices const reference to component selector containing active/inactive patch data index information.
patch_number integer patch number.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level or when the patch number is invalid for the level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::setAllPatchDataActive int  patch_number  )  [inline]
 

Set all patch data active for given patch. Note that this function does not allocate the corresponding patch data.

Parameters:
patch_number integer patch number.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level or when the patch number is invalid for the level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::setPatchDataActive const hier::ComponentSelector active_indices  )  [inline]
 

Set patch data active/inactive for all patches based on component selector information. Note that this function does not allocate/deallocate the corresponding patch data.

Parameters:
active_indices const reference to component selector containing active/inactive patch data index information.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::setPatchDataInactive int  patch_data_index,
int  patch_number
[inline]
 

Set specified patch data inactive on given patch. Note that this function does not deallocate the corresponding patch data.

Parameters:
patch_data_index integer patch data index.
patch_number integer patch number.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level, when the patch number is invalid for the level, or the data index is invalid (< 0).

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::setAllPatchDataInactive int  patch_number  )  [inline]
 

Set all patch data inactive for given patch. Note that this function does not deallocate the corresponding patch data.

Parameters:
patch_number integer patch number.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level or when the patch number is invalid for the level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::setAllPatchDataInactive  )  [inline]
 

Set all patch data inactive for all patches. Note that this function does not deallocate any patch data.

When assertion checking is active, an assertion will result when the manager has not been initialized with a level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::clearAllActiveDataInfo  )  [inline]
 

Clear all information from locally-active data patch level manager object, setting object state to that created by the default constructor.

Note that this function does not deallocate any patch data.

template<int DIM>
bool SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::checkAllocated int  patch_data_index  )  const
 

Check if data corresponding to given index is allocated on all active patches on the level.

Returns:
bool true if data is allocated on all active patches; false otherwise. Note that if no patch is active for data, true is returned.
Parameters:
patch_data_index integer patch data index.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level or when the data index is invalid (< 0).

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::allocatePatchData int  patch_data_index,
double  timestamp = 0.0,
tbox::Pointer< tbox::Arena pool = 0
const
 

Allocate data for given patch data index on all level patches on which the data is active. Each allocated patch data object will be stamped with the given time value.

Parameters:
patch_data_index integer patch data index.
timestamp optional double data timestamp.
pool optional pointer to memory arena for data.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level or when the data index is invalid (< 0).

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::allocateAllPatchData double  timestamp = 0.0,
tbox::Pointer< tbox::Arena pool = 0
const [inline]
 

Allocate all active patch data on all level patches associated with this manager object. Each allocated patch data object will be stamped with the given time value.

Parameters:
timestamp optional double data timestamp.
pool optional pointer to memory arena for data.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::allocateAllPatchData int  patch_number,
double  timestamp = 0.0,
tbox::Pointer< tbox::Arena pool = 0
const [inline]
 

Allocate all active patch data for given patch. Each allocated patch data object will be stamped with the given time value.

Parameters:
patch_number integer patch number.
timestamp optional double data timestamp.
pool optional pointer to memory arena for data.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level or when the patch number is invalid for the level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::deallocatePatchData int  patch_data_index  )  const
 

Deallocate data for given patch data index on all level patches on which the data is active. Note that the state of this manager object remains intact after this operation.

Parameters:
patch_data_index integer patch data index.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level or when the data index is invalid (< 0).

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::deallocateAllPatchData  )  const [inline]
 

Deallocate all active patch data on all level patches associated with this manager object. Note that the state of this manager object remains intact after this operation.

When assertion checking is active, an assertion will result when the manager has not been initialized with a level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::deallocateAllPatchData int  patch_number  )  const [inline]
 

Deallocate all active patch data for given patch. Note that the state of this manager object remains intact after this operation.

Parameters:
patch_number integer patch number.
When assertion checking is active, an assertion will result when the manager has not been initialized with a level or when the patch number is invalid for the level.

template<int DIM>
void SAMRAI::hier::LocallyActiveDataPatchLevelManager< DIM >::printClassData ostream &  os = tbox::plog  )  const
 

Print all active patch data information contained in the locally-active box set to the specified output stream.

Parameters:
os optional reference to output stream (default is plog).


Friends And Related Function Documentation

template<int DIM>
friend class LocallyActiveDataPatchLevelIterator< DIM > [friend]
 


The documentation for this class was generated from the following files:
Generated on Fri Dec 2 11:24:40 2005 for SAMRAI by  doxygen 1.4.2