1Group: mf_header 2Content: Information from the WFN file. 3#=============================================================================== 4 5 6Group: eps_header 7Content: Everything but the dielectric matrices. 8#=============================================================================== 9 10 Dataset: versionnumber 11 Type: integer 12 Rank: 0 13 Value: Version number of this particular file. 14 15 Dataset: flavor 16 Type: integer 17 Rank: 0 18 Value: 1 for Real, 2 for CPLX. 19 20 21 Group: params 22 Content: General parameters. 23 #=============================================================================== 24 25 Dataset: matrix_type 26 Type: integer 27 Rank: 0 28 Value: Controls what matrix we compute: 0=epsilon^{-1} (epsmat.h5), 29 1=epsilon (not implemented), 2=chi0 (chimat.h5). 30 31 Dataset: has_advanced 32 Type: integer/logical 33 Rank: 0 34 Value: Whether we store the advanced matrix. This is the default in 35 BerkeleyGW 1.1.x, but only for FF calculations with CPLX flavor. 36 37 Dataset: nmatrix 38 Type: integer 39 Rank: 0 40 Value: Number of matrices we store. If we store dielectric matrices, 41 this is (has_advanced+1). For polarizability calculations, this is 42 (has_advanced+1)*nspin. 43 44 Dataset: matrix_flavor 45 Type: integer 46 Rank: 0 47 Value: Whether we represent the dielectric matrix with real or complex numbers. 48 This will be 2 (i.e., we store complex numbers), unless we have a static 49 calculation run with the real code. 50 51 Dataset: icutv 52 Type: integer 53 Rank: 0 54 Value: Truncation flag. See Epsilon/inread.f90 for the meaning of each icutv. 55 56 Dataset: ecuts 57 Type: double 58 Rank: 0 59 Value: Cutoff for screened Coulomb interaction. 60 61 Dataset: nband 62 Type: integer 63 Rank: 0 64 Value: Total number of bands included in the epsilon calculation. 65 66 Dataset: efermi 67 Type: double 68 Rank: 0 69 Value: Fermi level determined by the code, in ryd. 70 71 72 Dataset: subsampling 73 Type: integer/logical 74 Rank: 0 75 Value: See Epsilon/epsilon.inp. 76 77 Dataset: subspace 78 Type: logical 79 Rank: 0 80 Value: true if the epsilon matrices have been generated using the static subspace approximation 81 (only works in combination with full-frequency contour-deformation approach) 82 83 84 Group: qpoints 85 Content: Q-points-related datasets 86 #=============================================================================== 87 88 Dataset: nq 89 Type: integer 90 Rank: 0 91 Value: Number of q-points. 92 93 Dataset: qpts 94 Rank: 2 95 Dims(1): 3 #(the three crystal coordinates) 96 Dims(2): nq 97 Value: Q-points. 98 99 Dataset: qgrid 100 Type: integer 101 Rank: 1 102 Dims(1): 3 103 Value: Q-grid used in epsilon calculation. 104 105 Dataset: qpt_done 106 Type: integer/logical 107 Rank: 1 108 Dims(1): nq 109 Value: 1 is the calculation for a particular q-point is done, 0 if not. 110 111 112 Group: freqs 113 Content: Frequency-related datasets 114 #=============================================================================== 115 116 Dataset: freq_dep 117 Type: integer 118 Rank: 0 119 Value: Frequency dependency (same as in epsilon.inp and sigma.inp). 120 121 Dataset: nfreq 122 Type: integer 123 Rank: 0 124 Value: Number of frequency points. 125 126 Dataset: nfreq_imag 127 Type: integer 128 Rank: 0 129 Value: Number of imaginary frequency points. Used for CD calculations. 130 131 Dataset: freqs 132 Type: double 133 Rank: 2 134 Dims(1): 2 #(Real/complex part) 135 Dims(2): nfreq 136 Value: Frequencies, including broadening. 137 138 139 Group: gspace 140 Content: G-vectors-related datasets 141 #=============================================================================== 142 143 Dataset: nmtx 144 Type: integer 145 Rank: 1 146 Dims(1): nq 147 Value: Number of matrix elements we actually compute for each q-point. 148 149 Dataset: nmtx_max 150 Type: integer 151 Rank: 0 152 Value: Same as maxval(nmtx(1:nq)). 153 154 Dataset: ekin 155 Type: double 156 Rank: 2 157 Dims(1): ng 158 Dims(2): nq 159 Value: Kinetic energies |G+q|^2, in Rydberg. Note: the G-vectors are sorted 160 wrt the RHO G-space |G|^2, and not wrt epsilon G-space |G+q|^2! 161 162 Dataset: gind_eps2rho 163 Type: integer 164 Rank: 2 165 Dims(1): ng 166 Dims(2): nq 167 Value: Given a row/column ig_eps from the epsilon matrix (in the epsilon G-space), 168 map_eps2rho(ig_eps,iq) is the index of the corresponding G-vector in the RHO G-space. 169 170 Dataset: gind_rho2eps 171 Type: integer 172 Rank: 2 173 Dims(1): ng 174 Dims(2): nq 175 Value: Given a G-vector ig from the RHO G-space, map_rho2eps(ig,iq) is the corresponding 176 row/column in the epsilon matrix (i.e., the index in the epsilon G-space). 177 178 Group: subspace 179 Content: Static subspace approximation (SSA) related parameters, it is created 180 only if the calcuation is performed within the static subspace approximation 181 (this forces to check the existence of the group and thus help to keep portability 182 for .h5 matrices generated with older versions of the code). Again this works 183 (for now) only in combination with full-frequency contour-deformation approach 184 #=============================================================================== 185 186 Dataset: keep_full_eps_static 187 Type: logical 188 Rank: 0 189 Value: Set to true if the inverse static dielectric matrix has to be retained in the 190 eps0mat.h5 and epsmat.h5 191 192 Dataset: matrix_in_subspace_basis 193 Type: logical 194 Rank: 0 195 Value: Set to true if the inverse dielectric matrices are stored in the subspace basis 196 197 Dataset: eps_eigenvalue_cutoff 198 Type: double 199 Rank: 0 200 Value: Set the cutoff for the selection of the eigenvectors which will build the 201 static subspace (namely all eigenvectors with eigenvalue larger than eps_eigenvalue_cutoff) 202 203 Dataset: neig_max 204 Type: integer 205 Rank: 0 206 Value: Define the maximum size (number of eigenvectors) that will be used for the generation 207 of the static subspace, can be given in input (see nbasis_subspace in epsilon.inp) otherwise 208 it will be set automatically to 20% of the max nmtx 209 210 Dataset: neig 211 Rank: 1 212 Dims(1): nq 213 Value: give the actual number of eigenvectors employed for the generation of the static subspace for 214 each q-point 215 216 217 218Group: mats 219Content: Matrix-elements-related datasets 220#=============================================================================== 221 222 Dataset: matrix 223 Type: double 224 Rank: 6 225 Dims(1): matrix_flavor 226 Dims(2): nmtx_max #rows of the matrix 227 Dims(3): nmtx_max #columns of the matrix 228 Dims(4): nfreq 229 Dims(5): nmatrix 230 Dims(6): nq 231 Value: Matrix elements (see matrix_type dataset). Rows/columns are sorted wrt epsilon(q) G-space, 232 |q+G|^2. Note: for each q-point, we only really compute values up to nmtx(q). 233 234 Dataset: matrix-diagonal 235 Type: double 236 Rank: 3 237 Dims(1): matrix_flavor 238 Dims(2): nmtx_max #diagonal elements of the matrix 239 Dims(3): nq 240 Value: Static diagonal elements from "matrix" dataset. Not used when matrix_type==2. 241 242 Dataset: matrix_subspace 243 Type: double 244 Rank: 6 245 Dims(1): matrix_flavor 246 Dims(2): neig_max #rows of the matrix 247 Dims(3): neig_max #columns of the matrix 248 Dims(4): nfreq 249 Dims(5): nmatrix 250 Dims(6): nq 251 Value: Matrix elements of the inverse dielectric matrix in the subspace basis, for each q-point, we only 252 really compute and store values up to neig(q) 253 254 Dataset: matrix_eigenvec 255 Type: double 256 Rank: 6 257 Dims(1): matrix_flavor 258 Dims(2): nmtx_max #rows of the matrix 259 Dims(3): neig_max #columns of the matrix 260 Dims(4): 1 #frequency independent 261 Dims(5): nmatrix 262 Dims(6): nq 263 Value: Eigenvectors of the static dielectric matrix for each q-point, we only 264 really compute and store the rows/cols to nmtx(q)/neig(q) (defined with 265 rank 6 so we can reuse the same routines used for the previous arrays) 266 267 Dataset: matrix_fulleps0 268 Type: double 269 Rank: 6 270 Dims(1): matrix_flavor 271 Dims(2): nmtx_max #rows of the matrix 272 Dims(3): nmtx_max #columns of the matrix 273 Dims(4): 1 #frequency independent 274 Dims(5): nmatrix 275 Dims(6): nq 276 Value: Static dielectric matrix for each q-point (if keep_full_eps_static is set to true), we only 277 really compute and store the rows/cols to nmtx(q) (defined with 278 rank 6 so we can reuse the same routines used for the previous arrays) 279