kspaceFirstOrder3D-OMP  1.1
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
 All Classes Files Functions Variables Typedefs Enumerations Friends Pages
THDF5_FileHeader Class Reference

Class for HDF5 header. More...

#include <HDF5_File.h>

Collaboration diagram for THDF5_FileHeader:

Public Types

enum  THDF5_FileHeaderItems {
  hdf5_fhi_created_by = 0, hdf5_fhi_creation_date = 1, hdf5_fhi_file_description = 2, hdf5_fhi_major_version = 3,
  hdf5_fhi_minor_version = 4, hdf5_fhi_file_type = 5, hdf5_fhi_host_name = 6, hdf5_fhi_total_memory_consumption = 7,
  hdf5_fhi_peak_core_memory_consumption = 8, hdf5_fhi_total_execution_time = 9, hdf5_fhi_data_load_time = 10, hdf5_fhi_preprocessing_time = 11,
  hdf5_fhi_simulation_time = 12, hdf5_fhi_postprocessing_time = 13, hdf5_fhi_number_of_cores = 14
}
 List of all header items.
 
enum  THDF5_FileType { hdf5_ft_input = 0, hdf5_ft_output = 1, hdf5_ft_checkpoint = 2, hdf5_ft_unknown = 3 }
 HDF5 file type.
 
enum  THDF5_FileVersion { hdf5_fv_10 = 0, hdf5_fv_11 = 1, hdf5_fv_unknown = 2 }
 HDF5 file version.
 

Public Member Functions

 THDF5_FileHeader ()
 Constructor. More...
 
 THDF5_FileHeader (const THDF5_FileHeader &other)
 Copy constructor. More...
 
 ~THDF5_FileHeader ()
 Destructor. More...
 
void ReadHeaderFromInputFile (THDF5_File &InputFile)
 Read header from the input file. More...
 
void ReadHeaderFromOutputFile (THDF5_File &OutputFile)
 Read Header from output file (necessary for checkpoint-restart). More...
 
void ReadHeaderFromCheckpointFile (THDF5_File &CheckpointFile)
 Read Header from checkpoint file (necessary for checkpoint-restart). More...
 
void WriteHeaderToOutputFile (THDF5_File &OutputFile)
 Write header to the output file. More...
 
void WriteHeaderToCheckpointFile (THDF5_File &CheckpointFile)
 Write header to the output file. More...
 
void SetCodeName (const string &CodeName)
 Set code name. More...
 
void SetActualCreationTime ()
 Set creation time. More...
 
void SetMajorFileVersion ()
 Set major file version.
 
void SetMinorFileVersion ()
 Set minor file version.
 
THDF5_FileVersion GetFileVersion ()
 Set major file version in a string. More...
 
bool CheckMajorFileVersion ()
 Check major file version. More...
 
bool CheckMinorFileVersion ()
 Check minor file version. More...
 
THDF5_FileHeader::THDF5_FileType GetFileType ()
 Get File type. More...
 
void SetFileType (const THDF5_FileHeader::THDF5_FileType FileType)
 Set file type. More...
 
void SetHostName ()
 Set host name. More...
 
void SetMemoryConsumption (size_t TotalMemory)
 Set memory consumption. More...
 
void SetExecutionTimes (const double TotalTime, const double LoadTime, const double PreProcessingTime, const double SimulationTime, const double PostprocessingTime)
 Set execution times. More...
 
void GetExecutionTimes (double &TotalTime, double &LoadTime, double &PreProcessingTime, double &SimulationTime, double &PostprocessingTime)
 Get execution times stored in the output file header. More...
 
void SetNumberOfCores ()
 Set number of cores. More...
 

Static Public Member Functions

static string GetCurrentHDF5_MajorVersion ()
 Get string version of current Major version. More...
 
static string GetCurrentHDF5_MinorVersion ()
 Get string version of current Minor version. More...
 

Private Member Functions

void PopulateHeaderFileMap ()
 Populate the map with the header items. More...
 

Private Attributes

map< THDF5_FileHeaderItems,
string > 
HDF5_FileHeaderValues
 map for the header values.
 
map< THDF5_FileHeaderItems,
string > 
HDF5_FileHeaderNames
 map for the header names.
 

Static Private Attributes

static const string HDF5_FileTypesNames [] = {"input","output", "checkpoint", "unknown"}
 String representation of different file types.
 
static const string HDF5_MajorFileVersionsNames [] = {"1"}
 String representations of Major file versions.
 
static const string HDF5_MinorFileVersionsNames [] = {"0","1"}
 String representations of Major file versions.
 

Detailed Description

This class manages all information that can be stored in the input output or checkpoint file.

Definition at line 749 of file HDF5_File.h.

Constructor & Destructor Documentation

THDF5_FileHeader::THDF5_FileHeader ( )

Constructor.

Definition at line 1295 of file HDF5_File.cpp.

Here is the call graph for this function:

THDF5_FileHeader::THDF5_FileHeader ( const THDF5_FileHeader other)

Copy constructor.

Parameters
[in]other

Definition at line 1307 of file HDF5_File.cpp.

THDF5_FileHeader::~THDF5_FileHeader ( )

Destructor.

Definition at line 1319 of file HDF5_File.cpp.

Member Function Documentation

bool THDF5_FileHeader::CheckMajorFileVersion ( )
inline

Check major file version.

Returns
true if ok

Definition at line 863 of file HDF5_File.h.

Here is the caller graph for this function:

bool THDF5_FileHeader::CheckMinorFileVersion ( )
inline

Check minor file version.

Returns
true if ok

Definition at line 872 of file HDF5_File.h.

Here is the caller graph for this function:

static string THDF5_FileHeader::GetCurrentHDF5_MajorVersion ( )
inlinestatic

Get string version of current Major version.

Returns
current version

Definition at line 829 of file HDF5_File.h.

Here is the caller graph for this function:

static string THDF5_FileHeader::GetCurrentHDF5_MinorVersion ( )
inlinestatic

Get string version of current Minor version.

Returns
current minor version

Definition at line 839 of file HDF5_File.h.

Here is the caller graph for this function:

void THDF5_FileHeader::GetExecutionTimes ( double &  TotalTime,
double &  LoadTime,
double &  PreProcessingTime,
double &  SimulationTime,
double &  PostprocessingTime 
)

Get execution times stored in the output file header

Parameters
[out]TotalTime
[out]LoadTime
[out]PreProcessingTime
[out]SimulationTime
[out]PostprocessingTime

Definition at line 1668 of file HDF5_File.cpp.

Here is the caller graph for this function:

THDF5_FileHeader::THDF5_FileType THDF5_FileHeader::GetFileType ( )

Get File type.

Returns
FileType

Definition at line 1514 of file HDF5_File.cpp.

Here is the caller graph for this function:

THDF5_FileHeader::THDF5_FileVersion THDF5_FileHeader::GetFileVersion ( )

Get File Version an enum

Returns
file version as an enum

Definition at line 1543 of file HDF5_File.cpp.

void THDF5_FileHeader::PopulateHeaderFileMap ( )
private

Create map with names for the header.

Definition at line 1705 of file HDF5_File.cpp.

Here is the caller graph for this function:

void THDF5_FileHeader::ReadHeaderFromCheckpointFile ( THDF5_File CheckpointFile)

Read the file header form the checkpoint file. We need the header to verify the file version and type

Parameters
[in]CheckpointFile

Definition at line 1413 of file HDF5_File.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void THDF5_FileHeader::ReadHeaderFromInputFile ( THDF5_File InputFile)

Read header from the input file.

Parameters
[in]InputFile- Input file to read from

Definition at line 1332 of file HDF5_File.cpp.

Here is the call graph for this function:

void THDF5_FileHeader::ReadHeaderFromOutputFile ( THDF5_File OutputFile)

Read header from output file (necessary for checkpoint-restart). Read only execution times (the others are read from the input file, or calculated based on the very last leg of the simulation). This function is called only if checkpoint-restart is enabled.

Parameters
[in]OutputFile

Definition at line 1374 of file HDF5_File.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void THDF5_FileHeader::SetActualCreationTime ( )

Set actual date and time.

Definition at line 1565 of file HDF5_File.cpp.

Here is the caller graph for this function:

void THDF5_FileHeader::SetCodeName ( const string &  CodeName)
inline

Set code name to the header.

Parameters
CodeName- code version

Definition at line 816 of file HDF5_File.h.

Here is the caller graph for this function:

void THDF5_FileHeader::SetExecutionTimes ( const double  TotalTime,
const double  LoadTime,
const double  PreProcessingTime,
const double  SimulationTime,
const double  PostprocessingTime 
)

Set execution times in file header.

Parameters
[in]TotalTime
[in]LoadTime
[in]PreProcessingTime
[in]SimulationTime
[in]PostprocessingTime

Definition at line 1634 of file HDF5_File.cpp.

Here is the caller graph for this function:

void THDF5_FileHeader::SetFileType ( const THDF5_FileHeader::THDF5_FileType  FileType)

Set file type.

Parameters
[in]FileType

Definition at line 1532 of file HDF5_File.cpp.

Here is the caller graph for this function:

void THDF5_FileHeader::SetHostName ( )

Set Host name.

Definition at line 1586 of file HDF5_File.cpp.

Here is the caller graph for this function:

void THDF5_FileHeader::SetMemoryConsumption ( size_t  TotalMemory)

Set memory consumption.

Parameters
[in]TotalMemory

Definition at line 1613 of file HDF5_File.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void THDF5_FileHeader::SetNumberOfCores ( )

Set Number of cores.

Definition at line 1686 of file HDF5_File.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void THDF5_FileHeader::WriteHeaderToCheckpointFile ( THDF5_File CheckpointFile)

Write header to the output file (only a subset of all possible fields are written).

Parameters
[in]CheckpointFile

Definition at line 1473 of file HDF5_File.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void THDF5_FileHeader::WriteHeaderToOutputFile ( THDF5_File OutputFile)

Write header into the output file.

Parameters
[in]OutputFile

Definition at line 1451 of file HDF5_File.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:


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