63             mytype_.insertMember( 
"r", HOFFSET(
ctype, real), PredType::NATIVE_DOUBLE);
    64             mytype_.insertMember( 
"i", HOFFSET(
ctype, imag), PredType::NATIVE_DOUBLE);
    67             DataSpace s1(RANK1,q1);
    68             aversion=file_.createAttribute(
"file_version",PredType::NATIVE_INT,s1);
    69             aversion.write(PredType::NATIVE_INT,&version);
    76         template<
class MultiIndex>
    89         template<
class MultiIndex>
    93             set_coeff_dim(packet);
    96             set_group_structure(dt);
   102             set_file_dataspace();
   111             select_elem_hyperslabs();
   119             wrlist[
"packet"]=flag;
   127             wrlist[
"energy"]=flag;
   143             timestepsize_packet=timestep;
   151             timestepsize_norms=timestep;
   159             timestepsize_epot=timestep;
   160             timestepsize_ekin=timestep;
   168             timestepsize_epot=timestep;
   176             timestepsize_ekin=timestep;
   186             constexpr 
int dim = D; 
   188             hsize_t chunk_dims6[]={1};
   189             plist_time.setChunk(RANK1,chunk_dims6);
   190             plist_time.setFillValue(PredType::NATIVE_INT,&iref);
   194                 hsize_t chunk_dims1[]={1,dim,1};
   195                 plist_qp.setChunk(RANK3,chunk_dims1);
   198                 hsize_t chunk_dims2[]={1,dim,dim};
   199                 plist_QP.setChunk(RANK3,chunk_dims2);
   202                 hsize_t chunk_dims3[]={1,1,1};
   203                 plist_S.setChunk(RANK3,chunk_dims3);
   206                 hsize_t chunk_dims5[2];
   208                 chunk_dims5[1]=csize;
   209                 plist_c.setChunk(RANK2,chunk_dims5);
   214                 hsize_t chunk_dims4[]={1,1};
   215                 plist_energy.setChunk(RANK2,chunk_dims4);
   216                 plist_energy.setFillValue(PredType::NATIVE_DOUBLE,&dref);
   221                 hsize_t chunk_dims6[]={1,1};
   222                 plist_norms.setChunk(RANK2,chunk_dims6);
   223                 plist_norms.setFillValue(PredType::NATIVE_DOUBLE,&dref);
   237             DataSpace t6(RANK1,timeelem);
   240             constexpr 
int dim = D;
   246                 DataSpace t1(RANK3,qpelem);
   251                 DataSpace t2(RANK3,QPelem);
   256                 DataSpace t3(RANK3,Selem);
   261                 DataSpace t5(RANK2,celem);
   268                 DataSpace t4(RANK2,energyelem);
   275                 DataSpace t6(RANK2,normelem);
   288             H5std_string a1=datablock_string;
   289             gblock = std::make_shared<Group>(file_.createGroup(a1));
   291             DataSpace s1(RANK1,q1);
   292             apacket=gblock->createAttribute(
"packet",PredType::NATIVE_INT,s1);
   293             aenergy=gblock->createAttribute(
"energy",PredType::NATIVE_INT,s1);
   294             anorm=gblock->createAttribute(
"norm",PredType::NATIVE_INT,s1);
   295             adt=gblock->createAttribute(
"dt",PredType::NATIVE_DOUBLE,s1);
   296             adt.write(PredType::NATIVE_DOUBLE,&dt);
   301                 apacket.write(PredType::NATIVE_INT,&ap);
   302                 H5std_string a2=(datablock_string+wavepacket_group_string);
   303                 gpacket = std::make_shared<Group>(file_.createGroup(a2));
   304                 H5std_string a3=(datablock_string+wavepacket_group_string+packet_group_string);
   305                 gPi = std::make_shared<Group>(file_.createGroup(a3));
   306                 H5std_string a4=(datablock_string+wavepacket_group_string+coefficient_group_string);
   307                 gcoefficient = std::make_shared<Group>(file_.createGroup(a4));
   312                 apacket.write(PredType::NATIVE_INT,&ap);
   314             H5std_string a7=datablock_string+observables_group;
   315             gobservables=std::make_shared<Group>(file_.createGroup(a7));
   319                 aenergy.write(PredType::NATIVE_INT,&ae);
   320                 H5std_string a5 = (datablock_string+observables_group+energies_group);
   321                 genergy = std::make_shared<Group>(file_.createGroup(a5));
   326                 aenergy.write(PredType::NATIVE_INT,&ae);
   331                 anorm.write(PredType::NATIVE_INT,&an);
   332                 H5std_string a6 = (datablock_string+observables_group+norms_group);
   333                 gnorms = std::make_shared<Group>(file_.createGroup(a6));
   338                 anorm.write(PredType::NATIVE_INT,&an);
   349             constexpr 
int dim = D;
   351             hsize_t count6[]={1};
   352             hsize_t start6[]={0};
   353             hsize_t stride6[]={1};
   354             hsize_t block6[]={1};
   355             timelemspace.selectHyperslab(H5S_SELECT_SET, count6, start6, stride6, block6);
   360                 hsize_t count1[]={1,dim,1};
   361                 hsize_t start1[]={0,0,0};
   362                 hsize_t stride1[]={1,1,1};
   363                 hsize_t block1[]={1,1,1};
   365                 hsize_t count2[]={1,dim,dim};
   366                 hsize_t start2[]={0,0,0};
   367                 hsize_t stride2[]={1,1,1};
   368                 hsize_t block2[]={1,1,1};
   370                 hsize_t count3[]={1,1,1};
   371                 hsize_t start3[]={0,0,0};
   372                 hsize_t stride3[]={1,1,1};
   373                 hsize_t block3[]={1,1,1};
   376                 qpelemspace.selectHyperslab(H5S_SELECT_SET, count1, start1, stride1, block1);
   378                 QPelemspace.selectHyperslab(H5S_SELECT_SET, count2, start2, stride2, block2);
   380                 Selemspace.selectHyperslab(H5S_SELECT_SET, count3, start3, stride3, block3);
   386                 hsize_t start4[]={0,0};
   387                 hsize_t stride4[]={1,1};
   388                 hsize_t block4[]={1,1};
   389                 celemspace.selectHyperslab(H5S_SELECT_SET, count4, start4, stride4, block4);
   393                 hsize_t count5[]={1,1};
   394                 hsize_t start5[]={0,0};
   395                 hsize_t stride5[]={1,1};
   396                 hsize_t block5[]={1,1};
   397                 energyelemspace.selectHyperslab(H5S_SELECT_SET, count5, start5, stride5, block5);
   401                 hsize_t count6[]={1,1};
   402                 hsize_t start6[]={0,0};
   403                 hsize_t stride6[]={1,1};
   404                 hsize_t block6[]={1,1};
   405                 normelemspace.selectHyperslab(H5S_SELECT_SET, count6, start6, stride6, block6);
   418             constexpr 
int dim = D;
   422                 hsize_t dim1[]={1,dim,1};
   423                 DataSpace d1(RANK3,dim1,maxdims3);
   427                 hsize_t dim2[]={1,dim,dim};
   428                 DataSpace d2(RANK3,dim2,maxdims3);
   432                 hsize_t dim3[]={1,1,1};
   433                 DataSpace d3(RANK3,dim3,maxdims3);
   441                 DataSpace d5(RANK2,dim5,maxdims2);
   445                 DataSpace dt1(RANK1,dimt1,maxdims1);
   446                 timespace_packet=dt1;
   450                 hsize_t dim4[]={1,1};
   451                 DataSpace d4(RANK2,dim4,maxdims2);
   456                 DataSpace dt2(RANK1,dimt2,maxdims1);
   462                 hsize_t dim5[]={1,1};
   463                 DataSpace d5(RANK2,dim5,maxdims2);
   467                 DataSpace dt3(RANK1,dimt3,maxdims1);
   481                 H5std_string pack=datablock_string+wavepacket_group_string+packet_group_string;
   482                 qs=std::make_shared<DataSet>(file_.createDataSet(pack+
"/q",mytype_,qspace,plist_qp));
   483                 ps=std::make_shared<DataSet>(file_.createDataSet(pack+
"/p",mytype_,pspace,plist_qp));
   484                 Qs=std::make_shared<DataSet>(file_.createDataSet(pack+
"/Q",mytype_,Qspace,plist_QP));
   485                 Ps=std::make_shared<DataSet>(file_.createDataSet(pack+
"/P",mytype_,Pspace,plist_QP));
   486                 Ss=std::make_shared<DataSet>(file_.createDataSet(pack+
"/S",mytype_,Sspace,plist_S));
   487                 adQs=std::make_shared<DataSet>(file_.createDataSet(pack+
"/adQ",mytype_,adQspace,plist_S));
   488                 H5std_string tpack=datablock_string+wavepacket_group_string;
   489                 times_packet=std::make_shared<DataSet>(file_.createDataSet(tpack+
"/timegrid",PredType::NATIVE_INT,timespace_packet,plist_time));
   491                 H5std_string cff=datablock_string+wavepacket_group_string+coefficient_group_string;
   492                 coeffs=std::make_shared<DataSet>(file_.createDataSet(cff+
"/c_0",mytype_,cspace,plist_c));
   496                 H5std_string ename=datablock_string+observables_group+energies_group;
   497                 H5std_string enameepot=ename+
"/potential";
   498                 energys_epot=std::make_shared<DataSet>(file_.createDataSet(enameepot,PredType::NATIVE_DOUBLE,energyspace_epot,plist_energy));
   499                 H5std_string enameekin=ename+
"/kinetic";
   500                 energys_ekin=std::make_shared<DataSet>(file_.createDataSet(enameekin,PredType::NATIVE_DOUBLE,energyspace_ekin,plist_energy));
   501                 H5std_string engtime1=ename+
"/timegrid_pot";
   502                 times_epot=std::make_shared<DataSet>(file_.createDataSet(engtime1,PredType::NATIVE_INT,timespace_epot,plist_time));
   503                 H5std_string engtime2=ename+
"/timegrid_kin";
   504                 times_ekin=std::make_shared<DataSet>(file_.createDataSet(engtime2,PredType::NATIVE_INT,timespace_ekin,plist_time));
   508                 H5std_string tmm=datablock_string+observables_group+norms_group+
"/norm";
   509                 normss=std::make_shared<DataSet>(file_.createDataSet(tmm,PredType::NATIVE_DOUBLE,normspace,plist_norms));
   510                 H5std_string tmt=datablock_string+observables_group+norms_group+
"/timegrid";
   511                 times_norms=std::make_shared<DataSet>(file_.createDataSet(tmt,PredType::NATIVE_INT,timespace_norms,plist_time));
   523                 exnorms[0]=index_norm;
   525                 ex_timegrid_norms[0]=index_norm;
   529             std::cout<<
"ERROR: setup_extension_norms called with bool=false\n";
   541                 exepot[0]=index_epot;
   543                 ex_timegrid_epot[0]=index_epot;
   547                 std::cout<<
"ERROR: setup_extension_epot called with bool=false\n";
   559                 exekin[0]=index_ekin;
   561                 ex_timegrid_ekin[0]=index_ekin;
   565                 std::cout<<
"ERROR: setup_extension_ekin called with bool=false\n";
   578                 exqp[0]=index_packet;
   581                 exQP[0]=index_packet;
   590                 ex_timegrid_packet[0]=index_packet;
   594                 std::cout<<
"ERROR: setup_extension_packet called with bool=false\n";
   617                 times_packet->extend(ex_timegrid_packet);
   621                 std::cout<<
"ERROR: extend_dataset_packet called with bool=false\n";
   633                 normss->extend(exnorms);
   634                 times_norms->extend(ex_timegrid_norms);
   638                 std::cout<<
"ERROR: extend_dataset_norms called with bool=false\n";
   650                 energys_epot->extend(exepot);
   651                 times_epot->extend(ex_timegrid_epot);
   655                 std::cout<<
"ERROR: extend_dataset_epot called with bool=false\n";
   667                 energys_ekin->extend(exekin);
   668                 times_ekin->extend(ex_timegrid_ekin);
   672                 std::cout<<
"ERROR: extend_dataset_ekin called with bool=false\n";
   684                 energyspace_ekin=energys_ekin->getSpace();
   685                 timespace_ekin=times_ekin->getSpace();
   689                 std::cout<<
"ERROR: update_filespace_ekin called with bool=false\n";
   701                 energyspace_epot=energys_epot->getSpace();
   702                 timespace_epot=times_epot->getSpace();
   706                 std::cout<<
"ERROR: update_filespace_epot called with bool=false\n";
   718                 normspace=normss->getSpace();
   719                 timespace_norms=times_norms->getSpace();
   723                 std::cout<<
"ERROR: update_filespace_norms called with bool=false\n";
   736                 qspace=qs->getSpace();
   737                 pspace=ps->getSpace();
   739                 Qspace=Qs->getSpace();
   740                 Pspace=Ps->getSpace();
   742                 Sspace=Ss->getSpace();
   743                 adQspace=adQs->getSpace();
   744                 cspace=coeffs->getSpace();
   745                 timespace_packet=times_packet->getSpace();
   749                 std::cout<<
"ERROR: update_filespace_packet called with bool=false\n";
   759         void transform(std::vector<ctype>& newdata,Eigen::Matrix<complex_t,D,D> mat)
   762             newdata.resize(dim*dim);
   763             std::complex<double>* tmp(mat.data());
   764             for(
int p=0;
p<dim*dim;++
p)
   766                 newdata[
p].real=tmp[
p].real();
   767                 newdata[
p].imag=tmp[
p].imag();
   777         void transform(std::vector<ctype>& newdata,Eigen::Matrix<real_t,D,1> mat)
   781             double* tmp(mat.data());
   782             for(
int p=0;
p<dim;++
p)
   784                 newdata[
p].real=tmp[
p];
   798             newarg.
real=arg.real();
   799             newarg.
imag=arg.imag();
   800             newdata.push_back(newarg);
   809         void transform(std::vector<ctype>& newdata,Eigen::Matrix<complex_t, Eigen::Dynamic, 1> cmat)
   811             newdata.resize(csize);
   812             for(
int q=0;q<csize;++q)
   814                 newdata[q].real=cmat[q].real();
   815                 newdata[q].imag=cmat[q].imag();
   830             newdata.push_back(newarg);
   839         template<
class MultiIndex>
   845                 if(tindex_packet%timestepsize_packet==0)
   847                     select_file_writespace_packet();
   849                     std::vector<ctype> myc;
   851                     coeffs->write(myc.data(),mytype_,celemspace,cspace);
   853                     std::vector<ctype> myQ;
   854                     transform(myQ,params.Q());
   855                     Qs->write(myQ.data(),mytype_,QPelemspace,Qspace);
   857                     std::vector<ctype> myP;
   858                     transform(myP,params.P());
   859                     Ps->write(myP.data(),mytype_,QPelemspace,Pspace);
   861                     std::vector<ctype> myq;
   862                     transform(myq,params.q());
   863                     qs->write(myq.data(),mytype_,qpelemspace,qspace);
   865                     std::vector<ctype> myp;
   866                     transform(myp,params.p());
   867                     ps->write(myp.data(),mytype_,qpelemspace,pspace);
   869                     std::vector<ctype> myS;
   870                     transform(myS,params.S());
   871                     Ss->write(myS.data(),mytype_,Selemspace,Sspace);
   873                     std::vector<ctype> myadQ;
   874                     transform(myadQ,params.sdQ());
   875                     adQs->write(myadQ.data(),mytype_,Selemspace,adQspace);
   877                     times_packet->write(&tindex_packet,PredType::NATIVE_INT,timelemspace,timespace_packet);
   885                 std::cout<<
"ERROR: store_packet called with bool=false\n";
   897                 if(tindex_ekin%timestepsize_ekin==0)
   899                     select_file_writespace_ekin();
   900                     energys_ekin->write(&ekin_,PredType::NATIVE_DOUBLE,energyelemspace,energyspace_ekin);
   901                     times_ekin->write(&tindex_ekin,PredType::NATIVE_INT,timelemspace,timespace_ekin);
   905                 if(tindex_epot%timestepsize_epot==0)
   907                     select_file_writespace_epot();
   908                     energys_epot->write(&epot_,PredType::NATIVE_DOUBLE,energyelemspace,energyspace_epot);
   909                     times_epot->write(&tindex_epot,PredType::NATIVE_INT,timelemspace,timespace_epot);
   916                 std::cout<<
"ERROR: store_energies called with bool=false\n";
   924         template<
class MultiIndex>
   929                 if(tindex_norm%timestepsize_norms==0)
   931                     double mynorm = waveblocks::observables::norm<D,MultiIndex>(packet);
   932                     select_file_writespace_norm();
   933                     normss->write(&mynorm,PredType::NATIVE_DOUBLE,normelemspace,normspace);
   934                     times_norms->write(&tindex_norm,PredType::NATIVE_INT,timelemspace,timespace_norms);
   941                 std::cout<<
"ERROR: store_norms called with bool=false\n";
   955                 hsize_t count1[]={1,dim,1};
   957                 start1[0]=index_packet-1;
   960                 hsize_t stride1[]={1,1,1};
   961                 hsize_t block1[]={1,1,1};
   963                 hsize_t count2[]={1,dim,dim};
   965                 start2[0]=index_packet-1;
   968                 hsize_t stride2[]={1,1,1};
   969                 hsize_t block2[]={1,1,1};
   971                 hsize_t count3[]={1,1,1};
   973                 start3[0]=index_packet-1;
   976                 hsize_t stride3[]={1,1,1};
   977                 hsize_t block3[]={1,1,1};
   979                 qspace.selectHyperslab(H5S_SELECT_SET, count1, start1, stride1, block1);
   980                 pspace.selectHyperslab(H5S_SELECT_SET, count1, start1, stride1, block1);
   982                 Qspace.selectHyperslab(H5S_SELECT_SET, count2, start2, stride2, block2);
   983                 Pspace.selectHyperslab(H5S_SELECT_SET, count2, start2, stride2, block2);
   985                 Sspace.selectHyperslab(H5S_SELECT_SET, count3, start3, stride3, block3);
   986                 adQspace.selectHyperslab(H5S_SELECT_SET, count3, start3, stride3, block3);
   993                 start4[0]=index_packet-1;
   995                 hsize_t stride4[]={1,1};
   996                 hsize_t block4[]={1,1};
   997                 cspace.selectHyperslab(H5S_SELECT_SET, count4, start4, stride4, block4);
   999                 hsize_t countt1[]={1};
  1001                 startt1[0]=index_packet-1;
  1002                 hsize_t stridet1[]={1};
  1003                 hsize_t blockt1[]={1};
  1004                 timespace_packet.selectHyperslab(H5S_SELECT_SET, countt1, startt1, stridet1, blockt1);
  1008                 std::cout<<
"ERROR: select_file_writespace_packet called with bool=false\n";
  1020             setup_extension_packet();
  1021             extend_dataset_packet();
  1022             update_filespace_packet();
  1031             if(wrlist[
"energy"])
  1033                 hsize_t count5[]={1,1};
  1035                 start5[0]=index_ekin-1;
  1037                 hsize_t stride5[]={1,1};
  1038                 hsize_t block5[]={1,1};
  1039                 energyspace_ekin.selectHyperslab(H5S_SELECT_SET, count5, start5, stride5, block5);
  1041                 hsize_t countt2[]={1};
  1043                 startt2[0]=index_ekin-1;
  1044                 hsize_t stridet2[]={1};
  1045                 hsize_t blockt2[]={1};
  1046                 timespace_ekin.selectHyperslab(H5S_SELECT_SET, countt2, startt2, stridet2, blockt2);
  1050                 std::cout<<
"ERROR: select_file_writespace_ekin called with bool=false\n";
  1062             setup_extension_ekin();
  1063             extend_dataset_ekin();
  1064             update_filespace_ekin();
  1073             if(wrlist[
"energy"])
  1075                 hsize_t count5[]={1,1};
  1077                 start5[0]=index_epot-1;
  1079                 hsize_t stride5[]={1,1};
  1080                 hsize_t block5[]={1,1};
  1081                 energyspace_epot.selectHyperslab(H5S_SELECT_SET, count5, start5, stride5, block5);
  1083                 hsize_t countt3[]={1};
  1085                 startt3[0]=index_epot-1;
  1086                 hsize_t stridet3[]={1};
  1087                 hsize_t blockt3[]={1};
  1088                 timespace_epot.selectHyperslab(H5S_SELECT_SET, countt3, startt3, stridet3, blockt3);
  1092                 std::cout<<
"ERROR: select_file_writespace_epot called with bool=false\n";
  1104             setup_extension_epot();
  1105             extend_dataset_epot();
  1106             update_filespace_epot();
  1117                 hsize_t count6[]={1,1};
  1119                 start6[0]=index_norm-1;
  1121                 hsize_t stride6[]={1,1};
  1122                 hsize_t block6[]={1,1};
  1123                 normspace.selectHyperslab(H5S_SELECT_SET, count6, start6, stride6, block6);
  1125                 hsize_t countt4[]={1};
  1127                 startt4[0]=index_norm-1;
  1128                 hsize_t stridet4[]={1};
  1129                 hsize_t blockt4[]={1};
  1130                 timespace_norms.selectHyperslab(H5S_SELECT_SET, countt4, startt4, stridet4, blockt4);
  1134                 std::cout<<
"ERROR: select_file_writespace_norms called with bool=false\n";
  1146             setup_extension_norm();
  1147             extend_dataset_norm();
  1148             update_filespace_norm();
  1160             setup_extension_packet();
  1161             extend_dataset_packet();
  1173             setup_extension_ekin();
  1174             extend_dataset_ekin();
  1186             setup_extension_epot();
  1187             extend_dataset_epot();
  1199             setup_extension_norm();
  1200             extend_dataset_norm();
  1209             if(wrlist[
"packet"])
  1217             if(wrlist[
"energy"])
  1228         std::map<std::string,bool> wrlist={{
"packet",1},{
"energy",0},{
"norm",0}};
  1237         H5std_string packet_group_string=
"/Pi";
  1238         H5std_string datablock_string=
"/datablock_0";
  1239         H5std_string coefficient_group_string=
"/coefficients";
  1240         H5std_string wavepacket_group_string=
"/wavepacket";
  1241         H5std_string energies_group=
"/energies";
  1242         H5std_string norms_group=
"/norm";
  1243         H5std_string observables_group=
"/observables";
  1254         const hsize_t maxdims1[1]={H5S_UNLIMITED};
  1255         const hsize_t maxdims2[2]={H5S_UNLIMITED,H5S_UNLIMITED};
  1256         const hsize_t maxdims3[3]={H5S_UNLIMITED,H5S_UNLIMITED,H5S_UNLIMITED};
  1264         hsize_t ex_timegrid_norms[1];
  1265         hsize_t ex_timegrid_epot[1];
  1266         hsize_t ex_timegrid_ekin[1];
  1267         hsize_t ex_timegrid_packet[1];
  1274         hsize_t energyelem[2];
  1276         hsize_t timeelem[1];
  1280         hsize_t normelem[2];
  1286         int timestepsize_norms=1;
  1287         int timestepsize_ekin=1;
  1288         int timestepsize_epot=1;
  1289         int timestepsize_packet=1;
  1293         int tindex_packet=0;
  1303         std::shared_ptr<DataSet> 
qs;
  1305         std::shared_ptr<DataSet> 
ps;
  1307         std::shared_ptr<DataSet> 
Qs;
  1309         std::shared_ptr<DataSet> 
Ps;
  1311         std::shared_ptr<DataSet> 
Ss;
 DataSpace timespace_epot
space for timegrid epot 
Definition: hdf5writer.hpp:1320
void cleanup_epot(void)
reverse last dataset extension for epot 
Definition: hdf5writer.hpp:1183
The ctype struct for writing complex numbers. 
Definition: hdf5writer.hpp:34
void set_write_packet(bool flag)
sets bool value for writing the packet(matrices and coefficients) 
Definition: hdf5writer.hpp:117
DataSpace timelemspace
space of timegrid element written from program to file needed by HDF interface 
Definition: hdf5writer.hpp:1277
std::shared_ptr< Group > gPi
group for matrices in packet 
Definition: hdf5writer.hpp:1297
void setup_extension_epot(void)
setup extension for epot 
Definition: hdf5writer.hpp:537
void allocate_datasets(void)
allocate space for datasets 
Definition: hdf5writer.hpp:477
Definition: coefficients_file_parser.cpp:10
void extend_dataset_epot(void)
extend dataset for next timestep for epot 
Definition: hdf5writer.hpp:646
std::shared_ptr< DataSet > Ss
dataset for packet.S() in file 
Definition: hdf5writer.hpp:1311
DataSpace energyelemspace
space of energy element written from program to file needed by HDF interface 
Definition: hdf5writer.hpp:1275
DataSpace Sspace
space for packet.S() in file 
Definition: hdf5writer.hpp:1310
DSetCreatPropList plist_S
PropList for packet.S() 
Definition: hdf5writer.hpp:1246
DataSpace pspace
space for packet.p() in file 
Definition: hdf5writer.hpp:1304
std::shared_ptr< Group > gcoefficient
group for coefficients in packet 
Definition: hdf5writer.hpp:1298
H5std_string filename_
placeholder for filename 
Definition: hdf5writer.hpp:1225
DataSpace qpelemspace
space of q,p element written from program to file needed by HDF interface 
Definition: hdf5writer.hpp:1269
void setup_extension_norm(void)
setup extension for norms 
Definition: hdf5writer.hpp:519
function p(by, bw, bv)
Definition: jquery.js:23
void select_elem_hyperslabs(void)
From HDF interface select element hyperslabs. 
Definition: hdf5writer.hpp:347
void prestructuring(waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > packet, double dt)
prestructure after knowing bool values and packet 
Definition: hdf5writer.hpp:90
DataSpace timespace_ekin
space for timegrid ekin 
Definition: hdf5writer.hpp:1318
void set_timestep_epot(int timestep)
set timestep for writing epot 
Definition: hdf5writer.hpp:166
void store_packet(const waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > &packetto)
store ScalarHaWp<D,Multiindex> packet 
Definition: hdf5writer.hpp:840
void set_timestep_norm(int timestep)
set timestep for writing norms 
Definition: hdf5writer.hpp:149
void advance_ekin(void)
advance writing position for ekin and extends set 
Definition: hdf5writer.hpp:1059
DataSpace timespace_packet
space for timegrid for packet in file 
Definition: hdf5writer.hpp:1316
void set_file_dataspace(void)
set dataspace used in file 
Definition: hdf5writer.hpp:416
H5File file_
H5File placeholder. 
Definition: hdf5writer.hpp:1227
void store_energies(double epot_, double ekin_)
store energies in chosen timestep 
Definition: hdf5writer.hpp:893
void cleanup_norm(void)
reverse last dataset extension for norms 
Definition: hdf5writer.hpp:1196
std::shared_ptr< DataSet > energys_ekin
dataset for ekin in file 
Definition: hdf5writer.hpp:1325
double imag
Definition: hdf5writer.hpp:36
DataSpace timespace_norms
space for timegrid in file 
Definition: hdf5writer.hpp:1322
std::shared_ptr< DataSet > times_packet
dataset for timegrid for packet in file 
Definition: hdf5writer.hpp:1317
std::complex< real_t > complex_t
Definition: types.hpp:15
void update_filespace_ekin(void)
update ekin filespace 
Definition: hdf5writer.hpp:680
Attribute aenergy
attribute to save bool energy in datablock_0 
Definition: hdf5writer.hpp:1230
double real_t
Definition: types.hpp:14
void advance_epot(void)
advance writing position for epot and extends set 
Definition: hdf5writer.hpp:1101
DSetCreatPropList plist_QP
PropList for packet.Q() packet.P() 
Definition: hdf5writer.hpp:1245
void select_file_writespace_packet(void)
select file writespace for packet 
Definition: hdf5writer.hpp:949
std::shared_ptr< Group > gobservables
group for observables 
Definition: hdf5writer.hpp:1301
DataSpace QPelemspace
space of Q,P element written from program to file needed by HDF interface 
Definition: hdf5writer.hpp:1271
void set_group_structure(double dt)
set up group structure in file 
Definition: hdf5writer.hpp:286
var ap
Definition: jquery.js:23
void set_timestep_energies(int timestep)
set timestep for writing energies 
Definition: hdf5writer.hpp:157
std::shared_ptr< DataSet > times_ekin
dataset for timegrid for ekin in file 
Definition: hdf5writer.hpp:1319
std::shared_ptr< DataSet > coeffs
dataset for coefficients in file 
Definition: hdf5writer.hpp:1315
void update_filespace_packet(void)
update packet filespace 
Definition: hdf5writer.hpp:731
void setup_extension_packet(void)
setup extension for packet 
Definition: hdf5writer.hpp:573
std::shared_ptr< DataSet > Qs
dataset for packet.Q() in file 
Definition: hdf5writer.hpp:1307
std::shared_ptr< DataSet > qs
dataset for packet.q() in file 
Definition: hdf5writer.hpp:1303
hdf5writer(std::string name)
Construction of hdf5 writer class with a name. 
Definition: hdf5writer.hpp:60
DSetCreatPropList plist_norms
PropList for norms. 
Definition: hdf5writer.hpp:1250
std::shared_ptr< DataSet > times_norms
dataset for timegrid in file 
Definition: hdf5writer.hpp:1323
void cleanup_ekin(void)
reverse last dataset extension for ekin 
Definition: hdf5writer.hpp:1170
std::shared_ptr< DataSet > energys_epot
dataset for epot in file 
Definition: hdf5writer.hpp:1327
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> 
Definition: hdf5writer.hpp:809
int csize
runtime size coefficients 
Definition: hdf5writer.hpp:1294
std::shared_ptr< DataSet > adQs
dataset for packet.sdQ() in file 
Definition: hdf5writer.hpp:1313
std::shared_ptr< Group > gnorms
group for norms 
Definition: hdf5writer.hpp:1300
void set_timestep_packet(int timestep)
set timestep for writing packet 
Definition: hdf5writer.hpp:141
DSetCreatPropList plist_time
PropList for timegrids. 
Definition: hdf5writer.hpp:1249
std::shared_ptr< DataSet > times_epot
dataset for timegrid for epot in file 
Definition: hdf5writer.hpp:1321
std::shared_ptr< Group > genergy
group for energies 
Definition: hdf5writer.hpp:1299
double real
Definition: hdf5writer.hpp:35
DSetCreatPropList plist_qp
PropList for packet.q() packet.p() 
Definition: hdf5writer.hpp:1244
DataSpace Pspace
space for packet.P() in file 
Definition: hdf5writer.hpp:1308
void select_file_writespace_epot(void)
select file writespace for epot 
Definition: hdf5writer.hpp:1071
DataSpace normelemspace
space of norm element written from program to file needed by HDF interface 
Definition: hdf5writer.hpp:1281
HaWpParamSet< D > & parameters()
Grants writeable access to the Hagedorn parameter set  of the wavepacket. 
Definition: hawp_commons.hpp:230
void transform(std::vector< ctype > &newdata, real_t arg)
transform real_t to std::vector<ctype> 
Definition: hdf5writer.hpp:825
DSetCreatPropList plist_c
PropList for coefficients. 
Definition: hdf5writer.hpp:1248
void update_filespace_norm(void)
update norms filespace 
Definition: hdf5writer.hpp:714
void update_filespace_epot(void)
update epot filespace 
Definition: hdf5writer.hpp:697
void transform(std::vector< ctype > &newdata, complex_t arg)
transform a std::complex variable into std::vector<ctype> 
Definition: hdf5writer.hpp:795
void set_write_norm(bool flag)
sets bool value for writing norms 
Definition: hdf5writer.hpp:133
void store_norm(const waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > &packet)
store norms in chosen timestep 
Definition: hdf5writer.hpp:925
std::shared_ptr< DataSet > normss
dataset for norms in file 
Definition: hdf5writer.hpp:1329
void advance_norm(void)
advance writing position for norms and extends set 
Definition: hdf5writer.hpp:1143
std::shared_ptr< DataSet > ps
dataset for packet.p() in file 
Definition: hdf5writer.hpp:1305
void extend_dataset_packet(void)
extend dataset for next timestep for packet 
Definition: hdf5writer.hpp:602
std::shared_ptr< Group > gpacket
group for packet 
Definition: hdf5writer.hpp:1296
void set_coeff_dim(waveblocks::wavepackets::ScalarHaWp< D, MultiIndex > packet)
runtime function to evaluate number of coefficients 
Definition: hdf5writer.hpp:77
DataSpace normspace
space for norms 
Definition: hdf5writer.hpp:1328
DSetCreatPropList plist_energy
PropList for energies. 
Definition: hdf5writer.hpp:1247
void set_chunk_dim(void)
Set up chunk dimension for the written variables. 
Definition: hdf5writer.hpp:184
void transform(std::vector< ctype > &newdata, Eigen::Matrix< real_t, D, 1 > mat)
transform Eigen::Matrix<real_t,D,1> into std::vector<ctype> 
Definition: hdf5writer.hpp:777
DataSpace cspace
space for coefficients in file 
Definition: hdf5writer.hpp:1314
Concrete implementation of a scalar Hagedorn wavepacket. 
Definition: hawp_commons.hpp:209
void extend_dataset_ekin(void)
extend dataset for next timestep for ekin 
Definition: hdf5writer.hpp:663
void select_file_writespace_ekin(void)
select file writespace for ekin 
Definition: hdf5writer.hpp:1029
Attribute anorm
attribute to save bool norm in datablock_0 
Definition: hdf5writer.hpp:1231
struct waveblocks::io::ctype instanceof
void extend_dataset_norm(void)
extend dataset for next timestep for norms 
Definition: hdf5writer.hpp:629
DataSpace energyspace_ekin
space for ekin in file 
Definition: hdf5writer.hpp:1324
DataSpace adQspace
space for packet.sdQ() in file 
Definition: hdf5writer.hpp:1312
Our HDF5 writer class. 
Definition: hdf5writer.hpp:47
void transform(std::vector< ctype > &newdata, Eigen::Matrix< complex_t, D, D > mat)
transform Eigen::Matrix<complex_t,D,D> into std::vector<ctype> 
Definition: hdf5writer.hpp:759
DataSpace Qspace
space for packet.Q() in file 
Definition: hdf5writer.hpp:1306
void poststructuring(void)
last resize for exact length 
Definition: hdf5writer.hpp:1207
var b
Definition: jquery.js:16
void setup_extension_ekin(void)
setup extension for ekin 
Definition: hdf5writer.hpp:555
void select_file_writespace_norm(void)
select file writespace for norms 
Definition: hdf5writer.hpp:1113
Attribute aversion
attribute to save file version 
Definition: hdf5writer.hpp:1233
Definition: adaptors.hpp:146
DataSpace Selemspace
space of S element written from program to file needed by HDF interface 
Definition: hdf5writer.hpp:1273
CompType mytype_
declaration of H5:CompType member used for HDF interface to write ctype* 
Definition: hdf5writer.hpp:1226
void set_write_energies(bool flag)
sets bool value for writing the energies 
Definition: hdf5writer.hpp:125
DataSpace energyspace_epot
space for epot in file 
Definition: hdf5writer.hpp:1326
void set_elem_space(void)
Set up elem space for HDF interface. 
Definition: hdf5writer.hpp:233
Attribute adt
attribute to save dt in datablock_0 
Definition: hdf5writer.hpp:1232
Attribute apacket
attribute to save bool packet in datablock_0 
Definition: hdf5writer.hpp:1229
std::shared_ptr< DataSet > Ps
dataset for packet.P() in file 
Definition: hdf5writer.hpp:1309
void advance_packet(void)
advance writing position for packet and extends set 
Definition: hdf5writer.hpp:1017
std::shared_ptr< Group > gblock
group for datablock 
Definition: hdf5writer.hpp:1295
void cleanup_packet(void)
reverse last dataset extension for packet 
Definition: hdf5writer.hpp:1157
DataSpace qspace
space for packet.q() in file 
Definition: hdf5writer.hpp:1302
void set_timestep_ekin(int timestep)
set timestep for writing ekin 
Definition: hdf5writer.hpp:174
DataSpace celemspace
space of coefficient element written from program to file needed by HDF interface ...
Definition: hdf5writer.hpp:1279