![]() |
kspaceFirstOrder3D-OMP
1.2
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
|
Output stream for quantities sampled in the whole domain. More...
#include <WholeDomainOutputStream.h>


Public Member Functions | |
| WholeDomainOutputStream ()=delete | |
| Default constructor not allowed. | |
| WholeDomainOutputStream (Hdf5File &file, MatrixName &datasetName, const RealMatrix &sourceMatrix, const ReduceOperator reductionOp, float *bufferToReuse=nullptr) | |
| Constructor links the HDF5 File, SourceMatrix, and SensorMask together. More... | |
| WholeDomainOutputStream (const WholeDomainOutputStream &)=delete | |
| Copy constructor not allowed. | |
| virtual | ~WholeDomainOutputStream () |
| Destructor. More... | |
| WholeDomainOutputStream & | operator= (const WholeDomainOutputStream &)=delete |
| operator= is not allowed. | |
| virtual void | create () |
| Create a HDF5 stream and allocate data for it. More... | |
| virtual void | reopen () |
| Reopen the output stream after restart and reload data. More... | |
| virtual void | sample () |
| Sample data into buffer and apply reduction, or flush to disk (no sensor mask here). More... | |
| virtual void | postProcess () |
| Apply post-processing on the buffer and flush it to the file. More... | |
| virtual void | checkpoint () |
| Checkpoint the stream and close. More... | |
| virtual void | close () |
| Close stream (apply post-processing if necessary, flush data and close). More... | |
Public Member Functions inherited from BaseOutputStream | |
| BaseOutputStream ()=delete | |
| Default constructor not allowed. | |
| BaseOutputStream (Hdf5File &file, MatrixName &rootObjectName, const RealMatrix &sourceMatrix, const ReduceOperator reduceOp, float *bufferToReuse=nullptr) | |
| Constructor. More... | |
| BaseOutputStream (const BaseOutputStream &src) | |
| Copy constructor not allowed. | |
| virtual | ~BaseOutputStream () |
| Destructor. More... | |
| BaseOutputStream & | operator= (const BaseOutputStream &src) |
| Operator = not allowed (we don't want any data movements). | |
Protected Member Functions | |
| virtual void | flushBufferToFile () |
| Flush the buffer to the file. More... | |
Protected Member Functions inherited from BaseOutputStream | |
| virtual void | allocateMemory () |
| Allocate memory using proper memory alignment. More... | |
| virtual void | freeMemory () |
| Free memory. More... | |
Protected Attributes | |
| hid_t | mDataset |
| Handle to a HDF5 dataset. | |
| size_t | mSampledTimeStep |
| Time step to store (N/A for aggregated). | |
Protected Attributes inherited from BaseOutputStream | |
| Hdf5File & | mFile |
| Handle to HDF5 output file. | |
| std::string | mRootObjectName |
| HDF5 group/dataset in the output file where to store data in. | |
| const RealMatrix & | mSourceMatrix |
| Source matrix to be sampled. | |
| const ReduceOperator | mReduceOp |
| Reduction operator. | |
| bool | mBufferReuse |
| if true, the container reuses another matrix as scratch place, e.g. Temp_1_RS3D, Temp_2_RS3D, Temp_3_RS3D. | |
| size_t | mBufferSize |
| Buffer size. | |
| float * | mStoreBuffer |
| Temporary buffer for store - only if Buffer Reuse = false! | |
Additional Inherited Members | |
Public Types inherited from BaseOutputStream | |
| enum | ReduceOperator { ReduceOperator::kNone, ReduceOperator::kRms, ReduceOperator::kMax, ReduceOperator::kMin } |
| How to aggregate data. More... | |
Static Protected Attributes inherited from BaseOutputStream | |
| static constexpr size_t | kChunkSize4MB = 1048576 |
| chunk size of 4MB in number of float elements. | |
Output stream for quantities sampled in the whole domain. The data is stored in a single dataset (aggregated quantities only).
Definition at line 44 of file WholeDomainOutputStream.h.
| WholeDomainOutputStream::WholeDomainOutputStream | ( | Hdf5File & | file, |
| MatrixName & | datasetName, | ||
| const RealMatrix & | sourceMatrix, | ||
| const ReduceOperator | reductionOp, | ||
| float * | bufferToReuse = nullptr |
||
| ) |
| [in] | file | - HDF5 file to write the output to |
| [in] | datasetName | - The name of the HDF5 group. This group contains datasets for particular cuboids |
| [in] | sourceMatrix | - Source matrix to be sampled |
| [in] | reductionOp | - Reduction operator |
| [in] | bufferToReuse | - If there is a memory space to be reused, provide a pointer |
Constructor - links the HDF5 dataset and SourceMatrix.
| [in] | file | - HDF5 file to write the output to |
| [in] | datasetName | - The name of the HDF5 group. This group contains datasets for particular cuboids |
| [in] | sourceMatrix | - Source matrix to be sampled |
| [in] | reductionOp | - Reduction operator |
| [in] | bufferToReuse | - If there is a memory space to be reused, provide a pointer |
Definition at line 55 of file WholeDomainOutputStream.cpp.
|
virtual |
Destructor.
Definition at line 71 of file WholeDomainOutputStream.cpp.
|
virtual |
Checkpoint the stream
Implements BaseOutputStream.
Definition at line 224 of file WholeDomainOutputStream.cpp.
|
virtual |
Close stream (apply post-processing if necessary, flush data and close).
Implements BaseOutputStream.
Definition at line 234 of file WholeDomainOutputStream.cpp.
|
virtual |
Create a HDF5 stream for the whole domain and allocate data for it.
Implements BaseOutputStream.
Definition at line 82 of file WholeDomainOutputStream.cpp.
|
protectedvirtual |
Flush the buffer down to the file at the actual position.
Definition at line 254 of file WholeDomainOutputStream.cpp.
|
virtual |
Apply post-processing on the buffer and flush it to the file.
Reimplemented from BaseOutputStream.
Definition at line 212 of file WholeDomainOutputStream.cpp.
|
virtual |
Reopen the output stream after restart and reload data.
Implements BaseOutputStream.
Definition at line 113 of file WholeDomainOutputStream.cpp.
|
virtual |
Sample all grid points, line them up in the buffer an flush to the disk unless a reduction operator is applied.
Implements BaseOutputStream.
Definition at line 148 of file WholeDomainOutputStream.cpp.