GEOSX
Public Member Functions | Static Public Member Functions | List of all members
geos::PackCollection Class Reference

#include <PackCollection.hpp>

Inheritance diagram for geos::PackCollection:
Inheritance graph
[legend]

Public Member Functions

 PackCollection (string const &name, Group *parent)
 Constructor. More...
 
virtual void initializePostSubGroups () override
 
virtual HistoryMetadata getMetaData (DomainPartition const &domain, localIndex collectionIdx) const override
 Get the metadata for what this collector collects. More...
 
virtual const stringgetTargetName () const override
 Get the name of the object being targeted for collection. More...
 
virtual void updateSetsIndices (DomainPartition const &domain) override final
 Update the indices related to the sets being collected. More...
 
virtual localIndex numMetaDataCollectors () const override final
 Get the number of collectors of meta-information (set indices, etc) writing time-independent information during initialization. More...
 
- Public Member Functions inherited from geos::HistoryCollectionBase
 HistoryCollectionBase (string const &name, Group *parent)
 Constructor. More...
 
void initializePostSubGroups () override
 
localIndex numCollectors () const override
 Get the number of discrete collection operations this collector conducts. More...
 
virtual bool execute (real64 const time_n, real64 const dt, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
 
void registerBufferProvider (localIndex collectionIdx, BufferProvider bufferProvider) override
 Register a callback that provides the current head of the time history data buffer. More...
 
HistoryMetadata getTimeMetaData () const override
 Get a metadata object relating the the Time variable itself. More...
 
void registerTimeBufferProvider (TimeBufferProvider timeBufferProvider) override
 Register a callback that gives the current head of the time data buffer. More...
 
HistoryCollectiongetMetaDataCollector (localIndex metaIdx) override
 Get a collector of meta-information for this collector. More...
 
- Public Member Functions inherited from geos::HistoryCollection
 HistoryCollection (string const &name, Group *parent)
 Constructor. More...
 
void initializePostSubGroups () override
 Forwarding public initializing function...
 

Static Public Member Functions

static string catalogName ()
 Catalog name interface. More...
 

Additional Inherited Members

- Public Types inherited from geos::HistoryCollection
using BufferProvider = std::function< buffer_unit_type *(localIndex) >
 Type of buffer provider.
 
using TimeBufferProvider = std::function< buffer_unit_type *() >
 Type of time buffer provider.
 
- Protected Member Functions inherited from geos::HistoryCollectionBase
const dataRepository::GroupgetTargetObject (DomainPartition const &domain, string const &objectPath) const
 Retrieve the target object from the data repository. More...
 
- Protected Attributes inherited from geos::HistoryCollectionBase
bool m_targetIsMeshObject
 whether the target object is associated with mesh entities (fields, etc)
 
localIndex m_collectionCount
 The number of discrete collection operations described by metadata this collection collects.
 
TimeBufferProvider m_timeBufferProvider
 Callbacks to get the current time buffer head to write time data into.
 
std::vector< BufferProviderm_bufferProviders
 Callbacks to get the current buffer head to write history data into.
 
std::vector< std::unique_ptr< HistoryCollection > > m_metaDataCollectors
 The set of metadata collectors for this collector. More...
 

Detailed Description

A task class for serializing history information using the MPI communication packing routines.

Definition at line 29 of file PackCollection.hpp.

Constructor & Destructor Documentation

◆ PackCollection()

geos::PackCollection::PackCollection ( string const &  name,
Group parent 
)

Constructor.

Parameters
nameThe name of this Group.
parentThe parent Group.

Member Function Documentation

◆ catalogName()

static string geos::PackCollection::catalogName ( )
inlinestatic

Catalog name interface.

Returns
This type's catalog name

Definition at line 42 of file PackCollection.hpp.

◆ getMetaData()

virtual HistoryMetadata geos::PackCollection::getMetaData ( DomainPartition const &  domain,
localIndex  collectionIdx 
) const
overridevirtual

Get the metadata for what this collector collects.

Parameters
[in]domainThe DomainPartition.
[in]collectionIdxWhich collected item to get metadata for.
Returns
A HistoryMetadata object describing the history data being collected by this collector.

Implements geos::HistoryCollection.

◆ getTargetName()

virtual const string& geos::PackCollection::getTargetName ( ) const
inlineoverridevirtual

Get the name of the object being targeted for collection.

Returns
The collection target's name

Implements geos::HistoryCollection.

Definition at line 50 of file PackCollection.hpp.

◆ numMetaDataCollectors()

virtual localIndex geos::PackCollection::numMetaDataCollectors ( ) const
finaloverridevirtual

Get the number of collectors of meta-information (set indices, etc) writing time-independent information during initialization.

Returns
The number of collectors of meta-information for this collector.

Implements geos::HistoryCollection.

◆ updateSetsIndices()

virtual void geos::PackCollection::updateSetsIndices ( DomainPartition const &  domain)
finaloverridevirtual

Update the indices related to the sets being collected.

Parameters
[in]domainThe domain partition.
Note
This is only required because we don't want to copy/move the indices each collection execution, because that causes data movement when collecting data from the device.
Deprecated:
Refactoring the packing functions to allow direct usage of set indices from SortedArrayView instead of only ArrayViews will remove this duplication.

The documentation for this class was generated from the following file: