Discussion on MC data standard QMCPACK ImplementationWe take a very minimalistic approach to store observables in a hdf5 file ROOT.stat.h5. Each observable is a H5Group and its name is determined by the inputhamiltonian. stat_file=(observable*) observable=(value, value_squared, dictionary?,*)The dimension of an observable can be anything but the first dimension denotes the sample index. In QMCPACK, each sample is a block average of values and squared values. A number of MC steps is executed for each block. An example of stat_file for GeH4The hamiltonian is defined as <hamiltonian name="h0" target="e" type="generic"> <pairpot type="coulomb" name="Vee" source="e" target="e"/> <pairpot type="pseudo" name="PseudoPot" source="i" wavefunction="psi0" format="xml"> <pseudo elementType="H"> <header symbol="H" atomic-number="1" zval="1.0"/> <local> <grid type="linear" ri="0" rf="1" npts="101"/> </local> </pseudo> <pseudo elementType="Ge" href="Ge.casino.pseudo.xml"/> </pairpot> <pairpot type="coulomb" name="Vii" source="i" target="i"/> <pairpot type="cpp" name="CorePol" source="i" target="e"> <element name="Ge" alpha="0.7732" rb="0.9063"/> </pairpot> <estimator type="gofr" name="gofr" source="i"/> </hamiltonian>h5ls -r GeH4.s0000.stat.h5 lists /CorePol Group/CorePol/value Dataset {100/Inf, 1}/CorePol/value_squared Dataset {100/Inf, 1}/Kinetic Group/Kinetic/value Dataset {100/Inf, 1}/Kinetic/value_squared Dataset {100/Inf, 1}/LocalECP Group/LocalECP/value Dataset {100/Inf, 1}/LocalECP/value_squared Dataset {100/Inf, 1}/LocalEnergy Group/LocalEnergy/value Dataset {100/Inf, 1}/LocalEnergy/value_squared Dataset {100/Inf, 1}/LocalPotential Group/LocalPotential/value Dataset {100/Inf, 1}/LocalPotential/value_squared Dataset {100/Inf, 1}/NonLocalECP Group/NonLocalECP/value Dataset {100/Inf, 1}/NonLocalECP/value_squared Dataset {100/Inf, 1}/Vee Group/Vee/value Dataset {100/Inf, 1}/Vee/value_squared Dataset {100/Inf, 1}/Vii Group/Vii/value Dataset {100/Inf, 1}/Vii/value_squared Dataset {100/Inf, 1}/gofr_e_0_0 Group/gofr_e_0_0/cutoff Dataset {1}/gofr_e_0_0/delta Dataset {1}/gofr_e_0_0/dictionary Dataset {1}/gofr_e_0_0/norm_factor Dataset {20}/gofr_e_0_0/value Dataset {100/Inf, 20}/gofr_e_0_0/value_squared Dataset {100/Inf, 20}/gofr_e_0_1 Group/gofr_e_0_1/cutoff Dataset {1}/gofr_e_0_1/delta Dataset {1}/gofr_e_0_1/dictionary Dataset {1}/gofr_e_0_1/norm_factor Dataset {20}/gofr_e_0_1/value Dataset {100/Inf, 20}/gofr_e_0_1/value_squared Dataset {100/Inf, 20}/gofr_e_1_1 Group/gofr_e_1_1/cutoff Dataset {1}/gofr_e_1_1/delta Dataset {1}/gofr_e_1_1/dictionary Dataset {1}/gofr_e_1_1/norm_factor Dataset {20}/gofr_e_1_1/value Dataset {100/Inf, 20}/gofr_e_1_1/value_squared Dataset {100/Inf, 20}/gofr_i_e_Ge Group/gofr_i_e_Ge/cutoff Dataset {1}/gofr_i_e_Ge/delta Dataset {1}/gofr_i_e_Ge/dictionary Dataset {1}/gofr_i_e_Ge/norm_factor Dataset {20}/gofr_i_e_Ge/value Dataset {100/Inf, 20}/gofr_i_e_Ge/value_squared Dataset {100/Inf, 20}/gofr_i_e_H Group/gofr_i_e_H/cutoff Dataset {1}/gofr_i_e_H/delta Dataset {1}/gofr_i_e_H/dictionary Dataset {1}/gofr_i_e_H/norm_factor Dataset {20}/gofr_i_e_H/value Dataset {100/Inf, 20}/gofr_i_e_H/value_squared Dataset {100/Inf, 20} |
