1================================================================================ 2GW code: Epsilon 3================================================================================ 4 5 Version 2.0 (May, 2018) 6 To be announced. 7 8 Version 1.2 (Aug, 2016) 9 F. H. da Jornada, J. Deslippe, D. Vigil-Fowler, J. I. Mustafa, T. Rangel, 10 F. Bruneval, F. Liu, D. Y. Qiu, D. A. Strubbe, G. Samsonidze, J. Lischner. 11 12 Version 1.1 (June, 2014) 13 Version 1.0 (September, 2011) 14 Version 0.5 J. Deslippe, D. Prendergast, L. Yang, F. Ribeiro, G. Samsonidze (2008) 15 Version 0.2 S. Ismail-Beigi (2002) 16 Version 0.1 G. M. Rignanese, E. Chang, X. Blase (1998) 17 Version 0.0 M. Hybertsen (1985) 18 19------------------------------------------------------------------------------- 20 21Description: 22 23Epsilon is the name of the code that generates the polarizability matrix and 24the inverse dielectric matrix for a bulk or nanoscale system. The main 25result of the Epsilon code is the generation of epsmat which can be used 26in a Sigma or BSE calculation. 27 28------------------------------------------------------------------------------- 29 30Required Input: 31 32 epsilon.inp Input parameters. See example in this directory. 33 WFN This is linked to the unshifted grid. 34 WFNq This is linked to the shifted grid. 35 When a shift is not required, this can be the same file as WFN 36 (i.e. for semiconductor or graphene screening with spherical or 37 box truncation). 38 39Auxiliary Files: (output files from previous runs, used as input to speed up calculation) 40 41 chimat(.h5) Polarizability matrix. No need to recalculate matrix elements. 42 The file has a ".h5" extension if the code is compiled 43 with HDF5 support (for specification, see epsmat.h5.spec). 44 chi0mat(.h5) Polarizability matrix at q=0. No need to recalculate matrix elements. 45 The file has a ".h5" extension if the code is compiled 46 with HDF5 support (for specification, see epsmat.h5.spec). 47 48 49 The files below are used if eqp_corrections is set in epsilon.inp. 50 The corrected eigenvalues are used for constructing the polarizability matrix. 51 eqp.dat A list of quasiparticle energy corrections for the bands in WFN. 52 eqp_q.dat A list of quasiparticle energy corrections for the bands in WFNq. 53 54------------------------------------------------------------------------------- 55 56 epsilon.inp Please see example epsilon.inp in this directory 57 for more complete options. 58 59------------------------------------------------------------------------------- 60 61Output Files: 62 63 espmat(.h5) Inverse dielectric matrix (q<>0). 64 The file has a ".h5" extension if the code is compiled 65 with HDF5 support (for specification, see epsmat.h5.spec). 66 eps0mat(.h5) Inverse dielectric matrix (q->0). 67 The file has a ".h5" extension if the code is compiled 68 with HDF5 support (for specification, see epsmat.h5.spec). 69 70 71 epsilon.log The log file containing values of chimat and epsmat. 72 chi_converge.dat Convergence chi with respect to empty orbitals. 73 Columns: number of conduction bands, 74 Re chi(G=0,G'=0,q), extrapolated Re chi(G=0,G'=0,q), 75 Re chi(G=Max,G'=Max,q), extrapolated Re chi(G=Max,G'=Max,q) 76 77------------------------------------------------------------------------------- 78 79Tricks and hints: 80 811. Comments on convergence of epsilon_cutoff 82 83There are many ways to check convergence of this parameter: 84 85-Ideally, the inverse epsilon matrix is almost diagonal for large 86G vectors. So, for small ( G , G' ) it is usually large but, for 87 G or G' close to G_max, it is smaller by a factor of 100, more or 88less. Check if the ratio between the greatest and lowest matrix 89elements is large. 90 91-Alternatively, one can check if epsinv( G_max , G'_max ) is close 92to 1 for G = G'. It should be about 0.999 or so. Note that 0.9 isn't 93"close to 1" in this case! Also check if epsinv( G_max , G'_max ) is 94indeed small for G != G'. 95 962. Comments on the null point 97 98The null point (Gamma point) is treated in a special manner. In input, 99declare it as slightly shifted from the true Gamma point: 100 101 0.0000 0.0050 0.0050 1.0 1 102 103This is the only k-point with itestq=1 instead of 0! 104 105The magnitude of this vector must be small: of order 0.01 or smaller 106for less than 100 points in full Brillouin zone. If the density 107of points in BZ increases, that magnitude should decrease accordingly. 108 1093. Macroscopic dielectric constant 110 111In GW, the screened interaction gives the formula: 112 113 eps(G,G';q) = delta_GG' - [4pi e^2/(q+G)^2 ] chi(G,G';q) 114 115where chi(G,G';q) is the polarizability (P in the literature). 116 117 if G=0 and q=0 118 119 then we let 120 121 eps(0,G';q) = delta_0G' - lim(q->0) [4pi/(q)^2] chi(0,G';q) 122 123always check chi(0,0;q->0) and eps^(-1)(0,0;q->0) 124in epsilon.log 125 1261/eps^(-1)(0,0;q->) should be the macroscopic epsilon, 127 local-field effects 1281/(1-4*pi*chi(0,0;q->0)*V_c(0) should also be (roughly) the macroscopic epsilon, 129 without local-field effects 130 1314. Merging epsmat files 132 133The Epsilon code is complicated and involves lots of computation. Frequently, 134it is useful to calculate the epsilon matrix for a small number 135of q-points, and later put all those pieces of matrix into a big 136epsmat file. Use epsmat_merge to do this. See below. 137 138Notes: 139-epsilon cutoff *must* be the same for all files to be merged 140-The ordering of q-points in the input file must correspond to the ordering of 141epsmat files: the first file has the first set of points, the second file 142has the second and so on. 143 1445. Utilities: 145 146------------------------------------------------------------------------------- 147Epsilon: binary/ASCII conversion 148------------------------------------------------------------------------------- 149 150TOOLS: epsbinasc, epsascbin 151 152USAGE: simply type name of executable. 153 154The input file is named epsconv.inp. 155 156------------------------------------------------------------------------------- 157-------- WFN/RHO/VXC binary/ASCII conversion ------------------------ 158------------------------------------------------------------------------------- 159 160TOOL: mf_convert_wrapper.sh 161 162USAGE: ./mf_convert_wrapper.sh infile outfile 163 164Real/complex, bin/asc, file type, is automatically detected. 165 166------------------------------------------------------------------------------- 167Epsilon: merging 168------------------------------------------------------------------------------- 169 170TOOL: epsmat_merge 171 172USAGE: epsmat_merge.[real/cplx].x 173 174Merges the content of multiple binary epsmat files into an output file 175called 'epsmat', concatenating data. See input file epsmat_merge.inp, 176for specification of cutoff, q-points, and input epsmat filenames. 177