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