16 #ifndef GEOS_HISTORYCOLLECTIONBASE_HPP
17 #define GEOS_HISTORYCOLLECTIONBASE_HPP
19 #include "HistoryCollection.hpp"
21 #if defined(GEOS_USE_PYGEOSX)
22 #include "fileIO/python/PyHistoryCollectionType.hpp"
53 real64 const eventProgress,
64 #if defined(GEOS_USE_PYGEOSX)
69 virtual PyTypeObject * getPythonType()
const override
70 {
return python::getPyHistoryCollectionType(); }
Partition of the decomposed physical domain. It also manages the connexion information to its neighbo...
Intermediate class for code factorisation. It mainly deals with collector and buffer management....
HistoryCollectionBase(string const &name, Group *parent)
Constructor.
TimeBufferProvider m_timeBufferProvider
Callbacks to get the current time buffer head to write time data into.
dataRepository::Group const * getTargetObject(DomainPartition const &domain, string const &objectPath) const
Retrieve the target object from the data repository.
HistoryCollection & getMetaDataCollector(localIndex metaIdx) override
Get a collector of meta-information for this collector.
virtual void collect(DomainPartition const &domain, localIndex const collectionIdx, buffer_unit_type *&buffer)=0
Collect history information into the provided buffer. Typically called from HistoryCollection::execut...
bool m_targetIsMeshObject
whether the target object is associated with mesh entities (fields, etc)
void initializePostSubGroups() override
Forwarding public initializing function...
localIndex m_collectionCount
The number of discrete collection operations described by metadata this collection collects.
std::vector< std::unique_ptr< HistoryCollection > > m_metaDataCollectors
The set of metadata collectors for this collector.
void registerBufferProvider(localIndex collectionIdx, BufferProvider bufferProvider) override
Register a callback that provides the current head of the time history data buffer.
virtual bool execute(real64 const time_n, real64 const dt, integer const cycleNumber, integer const eventCounter, real64 const eventProgress, DomainPartition &domain) override
Main extension point of executable targets.
localIndex numCollectors() const override
Get the number of discrete collection operations this collector conducts.
std::vector< BufferProvider > m_bufferProviders
Callbacks to get the current buffer head to write history data into.
HistoryMetadata getTimeMetaData() const override
Get a metadata object relating the the Time variable itself.
void registerTimeBufferProvider(TimeBufferProvider timeBufferProvider) override
Register a callback that gives the current head of the time data buffer.
std::function< buffer_unit_type *() > TimeBufferProvider
Type of time buffer provider.
std::function< buffer_unit_type *(localIndex) > BufferProvider
Type of buffer provider.
A minimal class to specify information about time history information being collected and output.
double real64
64-bit floating point type.
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).
std::int32_t integer
Signed integer type.
signed char buffer_unit_type
Type stored in communication buffers.