WaveBlocksND
Public Member Functions | Private Attributes | Friends | List of all members
waveblocks::io::hdf5writer< D > Class Template Reference

Our HDF5 writer class. More...

#include <hdf5writer.hpp>

Public Member Functions

 hdf5writer (std::string name)
 Construction of hdf5 writer class with a name. More...
 
template<class MultiIndex >
void set_coeff_dim (waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > packet)
 runtime function to evaluate number of coefficients More...
 
template<class MultiIndex >
void prestructuring (waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > packet, double dt)
 prestructure after knowing bool values and packet More...
 
void set_write_packet (bool flag)
 sets bool value for writing the packet(matrices and coefficients) More...
 
void set_write_energies (bool flag)
 sets bool value for writing the energies More...
 
void set_write_norm (bool flag)
 sets bool value for writing norms More...
 
void set_timestep_packet (int timestep)
 set timestep for writing packet More...
 
void set_timestep_norm (int timestep)
 set timestep for writing norms More...
 
void set_timestep_energies (int timestep)
 set timestep for writing energies More...
 
void set_timestep_epot (int timestep)
 set timestep for writing epot More...
 
void set_timestep_ekin (int timestep)
 set timestep for writing ekin More...
 
void set_chunk_dim (void)
 Set up chunk dimension for the written variables. More...
 
void set_elem_space (void)
 Set up elem space for HDF interface. More...
 
void set_group_structure (double dt)
 set up group structure in file More...
 
void select_elem_hyperslabs (void)
 From HDF interface select element hyperslabs. More...
 
void set_file_dataspace (void)
 set dataspace used in file More...
 
void allocate_datasets (void)
 allocate space for datasets More...
 
void setup_extension_norm (void)
 setup extension for norms More...
 
void setup_extension_epot (void)
 setup extension for epot More...
 
void setup_extension_ekin (void)
 setup extension for ekin More...
 
void setup_extension_packet (void)
 setup extension for packet More...
 
void extend_dataset_packet (void)
 extend dataset for next timestep for packet More...
 
void extend_dataset_norm (void)
 extend dataset for next timestep for norms More...
 
void extend_dataset_epot (void)
 extend dataset for next timestep for epot More...
 
void extend_dataset_ekin (void)
 extend dataset for next timestep for ekin More...
 
void update_filespace_ekin (void)
 update ekin filespace More...
 
void update_filespace_epot (void)
 update epot filespace More...
 
void update_filespace_norm (void)
 update norms filespace More...
 
void update_filespace_packet (void)
 update packet filespace More...
 
void transform (std::vector< ctype > &newdata, Eigen::Matrix< complex_t, D, D > mat)
 transform Eigen::Matrix<complex_t,D,D> into std::vector<ctype> More...
 
void transform (std::vector< ctype > &newdata, Eigen::Matrix< real_t, D, 1 > mat)
 transform Eigen::Matrix<real_t,D,1> into std::vector<ctype> More...
 
void transform (std::vector< ctype > &newdata, complex_t arg)
 transform a std::complex variable into std::vector<ctype> More...
 
void transform (std::vector< ctype > &newdata, Eigen::Matrix< complex_t, Eigen::Dynamic, 1 > cmat)
 transform an Eigen::Matrix<complex_t,Eigen::Dynamic,1> to std::vector<ctype> More...
 
void transform (std::vector< ctype > &newdata, real_t arg)
 transform real_t to std::vector<ctype> More...
 
template<class MultiIndex >
void store_packet (const waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > &packetto)
 store ScalarHaWp<D,Multiindex> packet More...
 
void store_energies (double epot_, double ekin_)
 store energies in chosen timestep More...
 
template<class MultiIndex >
void store_norm (const waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > &packet)
 store norms in chosen timestep More...
 
void select_file_writespace_packet (void)
 select file writespace for packet More...
 
void advance_packet (void)
 advance writing position for packet and extends set More...
 
void select_file_writespace_ekin (void)
 select file writespace for ekin More...
 
void advance_ekin (void)
 advance writing position for ekin and extends set More...
 
void select_file_writespace_epot (void)
 select file writespace for epot More...
 
void advance_epot (void)
 advance writing position for epot and extends set More...
 
void select_file_writespace_norm (void)
 select file writespace for norms More...
 
void advance_norm (void)
 advance writing position for norms and extends set More...
 
void cleanup_packet (void)
 reverse last dataset extension for packet More...
 
void cleanup_ekin (void)
 reverse last dataset extension for ekin More...
 
void cleanup_epot (void)
 reverse last dataset extension for epot More...
 
void cleanup_norm (void)
 reverse last dataset extension for norms More...
 
void poststructuring (void)
 last resize for exact length More...
 

Private Attributes

H5std_string filename_
 placeholder for filename More...
 
CompType mytype_
 declaration of H5:CompType member used for HDF interface to write ctype* More...
 
H5File file_
 H5File placeholder. More...
 
std::map< std::string, bool > wrlist ={{"packet",1},{"energy",0},{"norm",0}}
 maps string to bool for constructing und writing defined variables More...
 
Attribute apacket
 attribute to save bool packet in datablock_0 More...
 
Attribute aenergy
 attribute to save bool energy in datablock_0 More...
 
Attribute anorm
 attribute to save bool norm in datablock_0 More...
 
Attribute adt
 attribute to save dt in datablock_0 More...
 
Attribute aversion
 attribute to save file version More...
 
double dref =0.
 fillvalue for energys for allocation More...
 
int version =2
 version number More...
 
int iref =0
 fillvalue for timegrids for allocation More...
 
H5std_string packet_group_string ="/Pi"
 String for H5Group to save packet to. Default:Pi. More...
 
H5std_string datablock_string ="/datablock_0"
 String for H5Group for datablock.default. datablock_0. More...
 
H5std_string coefficient_group_string ="/coefficients"
 String for H5Group of coefficients. Default:coefficients. More...
 
H5std_string wavepacket_group_string ="/wavepacket"
 String for H5Group for packet and coefficients. Default:wavepacket. More...
 
H5std_string energies_group ="/energies"
 name for group energies Default:energies More...
 
H5std_string norms_group ="/norm"
 name for group norms Default:norm More...
 
H5std_string observables_group ="/observables"
 name for group observables Default:observables More...
 
DSetCreatPropList plist_qp
 PropList for packet.q() packet.p() More...
 
DSetCreatPropList plist_QP
 PropList for packet.Q() packet.P() More...
 
DSetCreatPropList plist_S
 PropList for packet.S() More...
 
DSetCreatPropList plist_energy
 PropList for energies. More...
 
DSetCreatPropList plist_c
 PropList for coefficients. More...
 
DSetCreatPropList plist_time
 PropList for timegrids. More...
 
DSetCreatPropList plist_norms
 PropList for norms. More...
 
const int RANK1 =1
 rank 1 identifier More...
 
const int RANK2 =2
 rank 2 identifier More...
 
const int RANK3 =3
 rank 3 identifier More...
 
const hsize_t maxdims1 [1] ={H5S_UNLIMITED}
 max dim identifier for rank1 for extension More...
 
const hsize_t maxdims2 [2] ={H5S_UNLIMITED,H5S_UNLIMITED}
 max dim identifier for rank2 for extension More...
 
const hsize_t maxdims3 [3] ={H5S_UNLIMITED,H5S_UNLIMITED,H5S_UNLIMITED}
 max dim identifier for rank3 for extension More...
 
hsize_t exqp [3]
 extension for packet.q() packet.p() More...
 
hsize_t exQP [3]
 extension for packet.Q() packet.P() More...
 
hsize_t exS [3]
 extension for packet.S() and packet.sdQ() More...
 
hsize_t exc [2]
 extension for coefficients More...
 
hsize_t exekin [2]
 extension for ekin More...
 
hsize_t exepot [2]
 extension for epot More...
 
hsize_t exnorms [2]
 extension for norms More...
 
hsize_t ex_timegrid_norms [1]
 extension for timegrid for norms More...
 
hsize_t ex_timegrid_epot [1]
 extension for timegrid for epot More...
 
hsize_t ex_timegrid_ekin [1]
 extension for timegrid for ekin More...
 
hsize_t ex_timegrid_packet [1]
 extension for timegrid for packet More...
 
hsize_t qpelem [3]
 size of q,p element written from program to file needed by HDF interface More...
 
DataSpace qpelemspace
 space of q,p element written from program to file needed by HDF interface More...
 
hsize_t QPelem [3]
 size of Q,P element written from program to file needed by HDF interface More...
 
DataSpace QPelemspace
 space of Q,P element written from program to file needed by HDF interface More...
 
hsize_t Selem [3]
 size of S element written from program to file needed by HDF interface More...
 
DataSpace Selemspace
 space of S element written from program to file needed by HDF interface More...
 
hsize_t energyelem [2]
 size of energy element written from program to file needed by HDF interface More...
 
DataSpace energyelemspace
 space of energy element written from program to file needed by HDF interface More...
 
hsize_t timeelem [1]
 size of timegrid element written from program to file needed by HDF interface More...
 
DataSpace timelemspace
 space of timegrid element written from program to file needed by HDF interface More...
 
hsize_t celem [2]
 size of coefficient element written from program to file needed by HDF interface More...
 
DataSpace celemspace
 space of coefficient element written from program to file needed by HDF interface More...
 
hsize_t normelem [2]
 size of coefficient element written from program to file needed by HDF interface More...
 
DataSpace normelemspace
 space of norm element written from program to file needed by HDF interface More...
 
int index_packet =1
 index used for storing packet More...
 
int index_norm =1
 index used for storing norm More...
 
int index_ekin =1
 index used for storing ekin More...
 
int index_epot =1
 index used for storing epot More...
 
int timestepsize_norms =1
 timestepsize for norm timegrid More...
 
int timestepsize_ekin =1
 timestepsize for ekin timegrid More...
 
int timestepsize_epot =1
 timestepsize for epot timegrid More...
 
int timestepsize_packet =1
 timestepsize for packet timegrid More...
 
int tindex_ekin =0
 timeindex for modulo writing ekin More...
 
int tindex_epot =0
 timeindex for modulo writing epot More...
 
int tindex_norm =0
 timeindex for modulo writing norms More...
 
int tindex_packet =0
 timeindex for modulo writing packet More...
 
int csize
 runtime size coefficients More...
 
std::shared_ptr< Group > gblock
 group for datablock More...
 
std::shared_ptr< Group > gpacket
 group for packet More...
 
std::shared_ptr< Group > gPi
 group for matrices in packet More...
 
std::shared_ptr< Group > gcoefficient
 group for coefficients in packet More...
 
std::shared_ptr< Group > genergy
 group for energies More...
 
std::shared_ptr< Group > gnorms
 group for norms More...
 
std::shared_ptr< Group > gobservables
 group for observables More...
 
DataSpace qspace
 space for packet.q() in file More...
 
std::shared_ptr< DataSet > qs
 dataset for packet.q() in file More...
 
DataSpace pspace
 space for packet.p() in file More...
 
std::shared_ptr< DataSet > ps
 dataset for packet.p() in file More...
 
DataSpace Qspace
 space for packet.Q() in file More...
 
std::shared_ptr< DataSet > Qs
 dataset for packet.Q() in file More...
 
DataSpace Pspace
 space for packet.P() in file More...
 
std::shared_ptr< DataSet > Ps
 dataset for packet.P() in file More...
 
DataSpace Sspace
 space for packet.S() in file More...
 
std::shared_ptr< DataSet > Ss
 dataset for packet.S() in file More...
 
DataSpace adQspace
 space for packet.sdQ() in file More...
 
std::shared_ptr< DataSet > adQs
 dataset for packet.sdQ() in file More...
 
DataSpace cspace
 space for coefficients in file More...
 
std::shared_ptr< DataSet > coeffs
 dataset for coefficients in file More...
 
DataSpace timespace_packet
 space for timegrid for packet in file More...
 
std::shared_ptr< DataSet > times_packet
 dataset for timegrid for packet in file More...
 
DataSpace timespace_ekin
 space for timegrid ekin More...
 
std::shared_ptr< DataSet > times_ekin
 dataset for timegrid for ekin in file More...
 
DataSpace timespace_epot
 space for timegrid epot More...
 
std::shared_ptr< DataSet > times_epot
 dataset for timegrid for epot in file More...
 
DataSpace timespace_norms
 space for timegrid in file More...
 
std::shared_ptr< DataSet > times_norms
 dataset for timegrid in file More...
 
DataSpace energyspace_ekin
 space for ekin in file More...
 
std::shared_ptr< DataSet > energys_ekin
 dataset for ekin in file More...
 
DataSpace energyspace_epot
 space for epot in file More...
 
std::shared_ptr< DataSet > energys_epot
 dataset for epot in file More...
 
DataSpace normspace
 space for norms More...
 
std::shared_ptr< DataSet > normss
 dataset for norms in file More...
 

Friends

struct ctype
 

Detailed Description

template<int D>
class waveblocks::io::hdf5writer< D >

Our HDF5 writer class.

This class is templated on the Dimension D which is also used to also define the dimensionality of the HaWpBasisVector. Also after ctor is called there has to follow a prestructuring<MultiIndex>() for correct construction

Constructor & Destructor Documentation

template<int D>
waveblocks::io::hdf5writer< D >::hdf5writer ( std::string  name)
inline

Construction of hdf5 writer class with a name.

Parameters
namefor construction

Construction of hdf5 writer from std::string

Parameters
namewhere also implicitly the definition of our H5:CompType is hidden. Also the H5::File gets constructed by the
namewhere it is open with H5F_ACC_TRUNC value

Member Function Documentation

template<int D>
void waveblocks::io::hdf5writer< D >::advance_ekin ( void  )
inline

advance writing position for ekin and extends set

Wrapper for index_ekin++, set_up_extension_ekin(), extend_dataset_ekin() and update_filespace_ekin()

template<int D>
void waveblocks::io::hdf5writer< D >::advance_epot ( void  )
inline

advance writing position for epot and extends set

Wrapper for index_epot++, set_up_extension_epot(), extend_dataset_epot() and update_filespace_epot()

template<int D>
void waveblocks::io::hdf5writer< D >::advance_norm ( void  )
inline

advance writing position for norms and extends set

Wrapper for index_norm++, set_up_extension_norms(), extend_dataset_norms() and update_filespace_norms()

template<int D>
void waveblocks::io::hdf5writer< D >::advance_packet ( void  )
inline

advance writing position for packet and extends set

Wrapper for index_packet++, set_up_extension_packet(), extend_dataset_packet() and update_filespace_packet()

template<int D>
void waveblocks::io::hdf5writer< D >::allocate_datasets ( void  )
inline

allocate space for datasets

Allocate all datasets in file depending on the set bool values. This is called once and uses shared_ptr for easy use no garbage collection needed.

template<int D>
void waveblocks::io::hdf5writer< D >::cleanup_ekin ( void  )
inline

reverse last dataset extension for ekin

Last writing process extended set although it is the last one. This just reverses the last extension so the dataset is exactly as big as the number of timesteps written.

template<int D>
void waveblocks::io::hdf5writer< D >::cleanup_epot ( void  )
inline

reverse last dataset extension for epot

Last writing process extended set although it is the last one. This just reverses the last extension so the dataset is exactly as big as the number of timesteps written.

template<int D>
void waveblocks::io::hdf5writer< D >::cleanup_norm ( void  )
inline

reverse last dataset extension for norms

Last writing process extended set although it is the last one. This just reverses the last extension so the dataset is exactly as big as the number of timesteps written.

template<int D>
void waveblocks::io::hdf5writer< D >::cleanup_packet ( void  )
inline

reverse last dataset extension for packet

Last writing process extended set although it is the last one. This just reverses the last extension so the dataset is exactly as big as the number of timesteps written.

template<int D>
void waveblocks::io::hdf5writer< D >::extend_dataset_ekin ( void  )
inline

extend dataset for next timestep for ekin

Called after a subset was written and extension is set.

template<int D>
void waveblocks::io::hdf5writer< D >::extend_dataset_epot ( void  )
inline

extend dataset for next timestep for epot

Called after a subset was written and extension is set.

template<int D>
void waveblocks::io::hdf5writer< D >::extend_dataset_norm ( void  )
inline

extend dataset for next timestep for norms

Called after a subset was written and extension is set.

template<int D>
void waveblocks::io::hdf5writer< D >::extend_dataset_packet ( void  )
inline

extend dataset for next timestep for packet

Called after a subset was written and extension is set.

template<int D>
void waveblocks::io::hdf5writer< D >::poststructuring ( void  )
inline

last resize for exact length

Wrapper for all cleanup calls

template<int D>
template<class MultiIndex >
void waveblocks::io::hdf5writer< D >::prestructuring ( waveblocks::wavepackets::ScalarHaWp< D, MultiIndex >  packet,
double  dt 
)
inline

prestructure after knowing bool values and packet

Parameters
packetused for evaluation number of coefficients
dtto save timestepsize as attribute
template<int D>
void waveblocks::io::hdf5writer< D >::select_elem_hyperslabs ( void  )
inline

From HDF interface select element hyperslabs.

These elements are selected such that in every timestep it can be written to file. This is onlye called once because the elemantary spaces should never change.

template<int D>
void waveblocks::io::hdf5writer< D >::select_file_writespace_ekin ( void  )
inline

select file writespace for ekin

Called always before ekin is written to evaluate space to write.

template<int D>
void waveblocks::io::hdf5writer< D >::select_file_writespace_epot ( void  )
inline

select file writespace for epot

Called always before epot is written to evaluate space to write.

template<int D>
void waveblocks::io::hdf5writer< D >::select_file_writespace_norm ( void  )
inline

select file writespace for norms

Called always before norms are written to evaluate space to write.

template<int D>
void waveblocks::io::hdf5writer< D >::select_file_writespace_packet ( void  )
inline

select file writespace for packet

Called always before packet is written to evaluate space to write.

template<int D>
void waveblocks::io::hdf5writer< D >::set_chunk_dim ( void  )
inline

Set up chunk dimension for the written variables.

The HDF Interface needs that the PropList exits with chunked dimension otherwise it is not possible to extend this particular DataSet

template<int D>
template<class MultiIndex >
void waveblocks::io::hdf5writer< D >::set_coeff_dim ( waveblocks::wavepackets::ScalarHaWp< D, MultiIndex >  packet)
inline

runtime function to evaluate number of coefficients

Parameters
packetto deduce number of coefficients Used in prestructuring<MultiIndex>
template<int D>
void waveblocks::io::hdf5writer< D >::set_elem_space ( void  )
inline

Set up elem space for HDF interface.

The HDF Interface needs a DataSpace for elements written from data to the file. A dataspace is constructet from a rank identifier and corresponding hsize_t dimension array which has to be of size rank

template<int D>
void waveblocks::io::hdf5writer< D >::set_file_dataspace ( void  )
inline

set dataspace used in file

Initial construction of the spaces for all sets. Also called only once because later with extensions it has to be resett in every extension call with new sizes.

template<int D>
void waveblocks::io::hdf5writer< D >::set_group_structure ( double  dt)
inline

set up group structure in file

Parameters
dtfor writing global timestep

This is needed for the correct subtructure of all datasets. It also sets Attributes in datablock to save which datasets were written and its correspondig global timestep.

template<int D>
void waveblocks::io::hdf5writer< D >::set_timestep_ekin ( int  timestep)
inline

set timestep for writing ekin

Parameters
timestep
template<int D>
void waveblocks::io::hdf5writer< D >::set_timestep_energies ( int  timestep)
inline

set timestep for writing energies

Parameters
timestep
template<int D>
void waveblocks::io::hdf5writer< D >::set_timestep_epot ( int  timestep)
inline

set timestep for writing epot

Parameters
timestep
template<int D>
void waveblocks::io::hdf5writer< D >::set_timestep_norm ( int  timestep)
inline

set timestep for writing norms

Parameters
timestep
template<int D>
void waveblocks::io::hdf5writer< D >::set_timestep_packet ( int  timestep)
inline

set timestep for writing packet

Parameters
timestep
template<int D>
void waveblocks::io::hdf5writer< D >::set_write_energies ( bool  flag)
inline

sets bool value for writing the energies

Parameters
flag
template<int D>
void waveblocks::io::hdf5writer< D >::set_write_norm ( bool  flag)
inline

sets bool value for writing norms

Parameters
flag
template<int D>
void waveblocks::io::hdf5writer< D >::set_write_packet ( bool  flag)
inline

sets bool value for writing the packet(matrices and coefficients)

Parameters
flag
template<int D>
void waveblocks::io::hdf5writer< D >::setup_extension_ekin ( void  )
inline

setup extension for ekin

Called after a subset was written.

template<int D>
void waveblocks::io::hdf5writer< D >::setup_extension_epot ( void  )
inline

setup extension for epot

Called after a subset was written.

template<int D>
void waveblocks::io::hdf5writer< D >::setup_extension_norm ( void  )
inline

setup extension for norms

Called after a subset was written.

template<int D>
void waveblocks::io::hdf5writer< D >::setup_extension_packet ( void  )
inline

setup extension for packet

Called after a subset was written.

template<int D>
void waveblocks::io::hdf5writer< D >::store_energies ( double  epot_,
double  ekin_ 
)
inline

store energies in chosen timestep

Parameters
epot_
ekin_
template<int D>
template<class MultiIndex >
void waveblocks::io::hdf5writer< D >::store_norm ( const waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > &  packet)
inline

store norms in chosen timestep

Extendable for norms user is interested in.

template<int D>
template<class MultiIndex >
void waveblocks::io::hdf5writer< D >::store_packet ( const waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > &  packetto)
inline

store ScalarHaWp<D,Multiindex> packet

Uses the the transformer PacketToCoefficients<wavepackets::ScalarHaWp<D,MultiIndex>>to(packet) and the packet.parameters() function to call their corresponding transform function which then can be written to dataset.

template<int D>
void waveblocks::io::hdf5writer< D >::transform ( std::vector< ctype > &  newdata,
Eigen::Matrix< complex_t, D, D >  mat 
)
inline

transform Eigen::Matrix<complex_t,D,D> into std::vector<ctype>

Parameters
newdata
matTransforms an Eigen::Matrix<complex_t,D,D> into a writeable ctype*
template<int D>
void waveblocks::io::hdf5writer< D >::transform ( std::vector< ctype > &  newdata,
Eigen::Matrix< real_t, D, 1 >  mat 
)
inline

transform Eigen::Matrix<real_t,D,1> into std::vector<ctype>

Parameters
newdata
matTransforms an Eigen::Matrix<real_t,D,1> into a writable std::vector<ctype>
template<int D>
void waveblocks::io::hdf5writer< D >::transform ( std::vector< ctype > &  newdata,
complex_t  arg 
)
inline

transform a std::complex variable into std::vector<ctype>

Parameters
newdata
argTransform a complex_t type into writable std::vector<ctype>
template<int D>
void waveblocks::io::hdf5writer< D >::transform ( std::vector< ctype > &  newdata,
Eigen::Matrix< complex_t, Eigen::Dynamic, 1 >  cmat 
)
inline

transform an Eigen::Matrix<complex_t,Eigen::Dynamic,1> to std::vector<ctype>

Parameters
newdata
cmatTransform a Eigen::Matrix<complex_t,Eigen::Dynamic,1> into writable std::vector<ctype>
template<int D>
void waveblocks::io::hdf5writer< D >::transform ( std::vector< ctype > &  newdata,
real_t  arg 
)
inline

transform real_t to std::vector<ctype>

Parameters
newdata
argTransforms a real_t into writeable std::vector<ctype>
template<int D>
void waveblocks::io::hdf5writer< D >::update_filespace_ekin ( void  )
inline

update ekin filespace

Needs to be done after extending this dataset

template<int D>
void waveblocks::io::hdf5writer< D >::update_filespace_epot ( void  )
inline

update epot filespace

Needs to be done after extending this dataset

template<int D>
void waveblocks::io::hdf5writer< D >::update_filespace_norm ( void  )
inline

update norms filespace

Needs to be done after extending this dataset

template<int D>
void waveblocks::io::hdf5writer< D >::update_filespace_packet ( void  )
inline

update packet filespace

Needs to be done after extending this dataset

Friends And Related Function Documentation

template<int D>
friend struct ctype
friend

Member Data Documentation

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::adQs
private

dataset for packet.sdQ() in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::adQspace
private

space for packet.sdQ() in file

template<int D>
Attribute waveblocks::io::hdf5writer< D >::adt
private

attribute to save dt in datablock_0

template<int D>
Attribute waveblocks::io::hdf5writer< D >::aenergy
private

attribute to save bool energy in datablock_0

template<int D>
Attribute waveblocks::io::hdf5writer< D >::anorm
private

attribute to save bool norm in datablock_0

template<int D>
Attribute waveblocks::io::hdf5writer< D >::apacket
private

attribute to save bool packet in datablock_0

template<int D>
Attribute waveblocks::io::hdf5writer< D >::aversion
private

attribute to save file version

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::celem[2]
private

size of coefficient element written from program to file needed by HDF interface

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::celemspace
private

space of coefficient element written from program to file needed by HDF interface

template<int D>
H5std_string waveblocks::io::hdf5writer< D >::coefficient_group_string ="/coefficients"
private

String for H5Group of coefficients. Default:coefficients.

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::coeffs
private

dataset for coefficients in file

template<int D>
int waveblocks::io::hdf5writer< D >::csize
private

runtime size coefficients

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::cspace
private

space for coefficients in file

template<int D>
H5std_string waveblocks::io::hdf5writer< D >::datablock_string ="/datablock_0"
private

String for H5Group for datablock.default. datablock_0.

template<int D>
double waveblocks::io::hdf5writer< D >::dref =0.
private

fillvalue for energys for allocation

template<int D>
H5std_string waveblocks::io::hdf5writer< D >::energies_group ="/energies"
private

name for group energies Default:energies

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::energyelem[2]
private

size of energy element written from program to file needed by HDF interface

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::energyelemspace
private

space of energy element written from program to file needed by HDF interface

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::energys_ekin
private

dataset for ekin in file

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::energys_epot
private

dataset for epot in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::energyspace_ekin
private

space for ekin in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::energyspace_epot
private

space for epot in file

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::ex_timegrid_ekin[1]
private

extension for timegrid for ekin

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::ex_timegrid_epot[1]
private

extension for timegrid for epot

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::ex_timegrid_norms[1]
private

extension for timegrid for norms

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::ex_timegrid_packet[1]
private

extension for timegrid for packet

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::exc[2]
private

extension for coefficients

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::exekin[2]
private

extension for ekin

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::exepot[2]
private

extension for epot

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::exnorms[2]
private

extension for norms

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::exqp[3]
private

extension for packet.q() packet.p()

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::exQP[3]
private

extension for packet.Q() packet.P()

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::exS[3]
private

extension for packet.S() and packet.sdQ()

template<int D>
H5File waveblocks::io::hdf5writer< D >::file_
private

H5File placeholder.

template<int D>
H5std_string waveblocks::io::hdf5writer< D >::filename_
private

placeholder for filename

template<int D>
std::shared_ptr<Group> waveblocks::io::hdf5writer< D >::gblock
private

group for datablock

template<int D>
std::shared_ptr<Group> waveblocks::io::hdf5writer< D >::gcoefficient
private

group for coefficients in packet

template<int D>
std::shared_ptr<Group> waveblocks::io::hdf5writer< D >::genergy
private

group for energies

template<int D>
std::shared_ptr<Group> waveblocks::io::hdf5writer< D >::gnorms
private

group for norms

template<int D>
std::shared_ptr<Group> waveblocks::io::hdf5writer< D >::gobservables
private

group for observables

template<int D>
std::shared_ptr<Group> waveblocks::io::hdf5writer< D >::gpacket
private

group for packet

template<int D>
std::shared_ptr<Group> waveblocks::io::hdf5writer< D >::gPi
private

group for matrices in packet

template<int D>
int waveblocks::io::hdf5writer< D >::index_ekin =1
private

index used for storing ekin

template<int D>
int waveblocks::io::hdf5writer< D >::index_epot =1
private

index used for storing epot

template<int D>
int waveblocks::io::hdf5writer< D >::index_norm =1
private

index used for storing norm

template<int D>
int waveblocks::io::hdf5writer< D >::index_packet =1
private

index used for storing packet

template<int D>
int waveblocks::io::hdf5writer< D >::iref =0
private

fillvalue for timegrids for allocation

template<int D>
const hsize_t waveblocks::io::hdf5writer< D >::maxdims1[1] ={H5S_UNLIMITED}
private

max dim identifier for rank1 for extension

template<int D>
const hsize_t waveblocks::io::hdf5writer< D >::maxdims2[2] ={H5S_UNLIMITED,H5S_UNLIMITED}
private

max dim identifier for rank2 for extension

template<int D>
const hsize_t waveblocks::io::hdf5writer< D >::maxdims3[3] ={H5S_UNLIMITED,H5S_UNLIMITED,H5S_UNLIMITED}
private

max dim identifier for rank3 for extension

template<int D>
CompType waveblocks::io::hdf5writer< D >::mytype_
private

declaration of H5:CompType member used for HDF interface to write ctype*

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::normelem[2]
private

size of coefficient element written from program to file needed by HDF interface

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::normelemspace
private

space of norm element written from program to file needed by HDF interface

template<int D>
H5std_string waveblocks::io::hdf5writer< D >::norms_group ="/norm"
private

name for group norms Default:norm

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::normspace
private

space for norms

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::normss
private

dataset for norms in file

template<int D>
H5std_string waveblocks::io::hdf5writer< D >::observables_group ="/observables"
private

name for group observables Default:observables

template<int D>
H5std_string waveblocks::io::hdf5writer< D >::packet_group_string ="/Pi"
private

String for H5Group to save packet to. Default:Pi.

template<int D>
DSetCreatPropList waveblocks::io::hdf5writer< D >::plist_c
private

PropList for coefficients.

template<int D>
DSetCreatPropList waveblocks::io::hdf5writer< D >::plist_energy
private

PropList for energies.

template<int D>
DSetCreatPropList waveblocks::io::hdf5writer< D >::plist_norms
private

PropList for norms.

template<int D>
DSetCreatPropList waveblocks::io::hdf5writer< D >::plist_qp
private

PropList for packet.q() packet.p()

template<int D>
DSetCreatPropList waveblocks::io::hdf5writer< D >::plist_QP
private

PropList for packet.Q() packet.P()

template<int D>
DSetCreatPropList waveblocks::io::hdf5writer< D >::plist_S
private

PropList for packet.S()

template<int D>
DSetCreatPropList waveblocks::io::hdf5writer< D >::plist_time
private

PropList for timegrids.

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::ps
private

dataset for packet.p() in file

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::Ps
private

dataset for packet.P() in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::pspace
private

space for packet.p() in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::Pspace
private

space for packet.P() in file

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::qpelem[3]
private

size of q,p element written from program to file needed by HDF interface

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::QPelem[3]
private

size of Q,P element written from program to file needed by HDF interface

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::qpelemspace
private

space of q,p element written from program to file needed by HDF interface

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::QPelemspace
private

space of Q,P element written from program to file needed by HDF interface

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::qs
private

dataset for packet.q() in file

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::Qs
private

dataset for packet.Q() in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::qspace
private

space for packet.q() in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::Qspace
private

space for packet.Q() in file

template<int D>
const int waveblocks::io::hdf5writer< D >::RANK1 =1
private

rank 1 identifier

template<int D>
const int waveblocks::io::hdf5writer< D >::RANK2 =2
private

rank 2 identifier

template<int D>
const int waveblocks::io::hdf5writer< D >::RANK3 =3
private

rank 3 identifier

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::Selem[3]
private

size of S element written from program to file needed by HDF interface

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::Selemspace
private

space of S element written from program to file needed by HDF interface

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::Ss
private

dataset for packet.S() in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::Sspace
private

space for packet.S() in file

template<int D>
hsize_t waveblocks::io::hdf5writer< D >::timeelem[1]
private

size of timegrid element written from program to file needed by HDF interface

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::timelemspace
private

space of timegrid element written from program to file needed by HDF interface

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::times_ekin
private

dataset for timegrid for ekin in file

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::times_epot
private

dataset for timegrid for epot in file

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::times_norms
private

dataset for timegrid in file

template<int D>
std::shared_ptr<DataSet> waveblocks::io::hdf5writer< D >::times_packet
private

dataset for timegrid for packet in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::timespace_ekin
private

space for timegrid ekin

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::timespace_epot
private

space for timegrid epot

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::timespace_norms
private

space for timegrid in file

template<int D>
DataSpace waveblocks::io::hdf5writer< D >::timespace_packet
private

space for timegrid for packet in file

template<int D>
int waveblocks::io::hdf5writer< D >::timestepsize_ekin =1
private

timestepsize for ekin timegrid

template<int D>
int waveblocks::io::hdf5writer< D >::timestepsize_epot =1
private

timestepsize for epot timegrid

template<int D>
int waveblocks::io::hdf5writer< D >::timestepsize_norms =1
private

timestepsize for norm timegrid

template<int D>
int waveblocks::io::hdf5writer< D >::timestepsize_packet =1
private

timestepsize for packet timegrid

template<int D>
int waveblocks::io::hdf5writer< D >::tindex_ekin =0
private

timeindex for modulo writing ekin

template<int D>
int waveblocks::io::hdf5writer< D >::tindex_epot =0
private

timeindex for modulo writing epot

template<int D>
int waveblocks::io::hdf5writer< D >::tindex_norm =0
private

timeindex for modulo writing norms

template<int D>
int waveblocks::io::hdf5writer< D >::tindex_packet =0
private

timeindex for modulo writing packet

template<int D>
int waveblocks::io::hdf5writer< D >::version =2
private

version number

template<int D>
H5std_string waveblocks::io::hdf5writer< D >::wavepacket_group_string ="/wavepacket"
private

String for H5Group for packet and coefficients. Default:wavepacket.

template<int D>
std::map<std::string,bool> waveblocks::io::hdf5writer< D >::wrlist ={{"packet",1},{"energy",0},{"norm",0}}
private

maps string to bool for constructing und writing defined variables


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