File: lesson_optic.html

package info (click to toggle)
abinit 7.8.2-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 278,292 kB
  • ctags: 19,095
  • sloc: f90: 463,759; python: 50,419; xml: 32,095; perl: 6,968; sh: 6,209; ansic: 4,705; fortran: 951; objc: 323; makefile: 43; csh: 42; pascal: 31
file content (350 lines) | stat: -rw-r--r-- 15,949 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
<html>
<head>
<title>Tutorial "Optic"</title>
</head>
<body bgcolor="#ffffff">
<hr>
<h1>ABINIT, lesson "Optic":</h1>
<h2>Frequency-dependent linear and second order nonlinear optical response </h2>
<hr>

<p>This lesson aims at showing how to get the following physical properties, for semiconductors :
  <ul>
    <li>Frequency dependent linear dielectric tensor
    <li>Frequency dependent second order nonlinear susceptibility tensor
  </ul>
  in the simple "Random-Phase Approximation" or "Sum-over-states" approach.
  This tutorial will help you to discover the <a href="../users/optic_help.html" target="helpsimg">optic help file</a>.
<p>This lesson should take about 1 hour. </p>

<h5>Copyright (C) 2005-2014 ABINIT group (SS,XG)
<br> This file is distributed under the terms of the GNU General Public License, see
~abinit/COPYING or <a href="http://www.gnu.org/copyleft/gpl.txt">
http://www.gnu.org/copyleft/gpl.txt </a>.
<br> For the initials of contributors, see ~abinit/doc/developers/contributors.txt .
</h5>

<script type="text/javascript" src="list_internal_links.js"> </script>

<h3><b>Contents of lesson "Optic" :</b></h3>

<ul>
  <li><a href="lesson_optic.html#1">1.</a> Computing the momentum matrix elements.
  <li><a href="lesson_optic.html#2">2.</a> Computing the linear and nonlinear optical response.
  <li><a href="lesson_optic.html#3">3.</a> Faster computation of the imaginary part of the linear optical response.
</ul>
<hr>

<a name="1">&nbsp;</a>
<h3><b>
1. Computing the momentum matrix elements.
</b></h3>

<p><i>Before beginning, you might consider to work in a different
subdirectory as for the other lessons.
Why not create "Work_optic" in ~abinit/tests/tutorespfn/Input ?
</i>

<p>In order to use the Optic utility, you should first have some theoretical
background. Could you read the
<a href="../users/optic_help.html#1" target="helpsimg">introduction of the optic help file</a>,
then the
<a href="../users/optic_help.html#2" target="helpsimg">section 2</a> of this help file ?

<p>Now, you are ready to run ABINIT and prepare the needed file.
<p>Copy the files ~abinit/tests/tutorespfn/Input/toptic_1.files and ~abinit/tests/tutorespfn/Input/toptic_1.in in "Work_optic".
Issue :
<li><i> abinit < toptic_1.files >& log </i></li>
<p>We now examine the files. The computation concerns a crystal of GaAs,
in the Zinc-blende structure (2 atoms per primitive cell).
<br>The <i>toptic_1.files</i> is a typical ABINIT "files" file (nothing special).
By contrast, it is worth to take
some time to examine the other file <i>toptic_1.in</i>. Edit it.
<br>It has six datasets.
The first dataset is a quite standard self-consistent determination of the ground
state for a fixed geometry. Only the occupied bands are treated. The density is printed.
<br>The second dataset is a non-self-consistent calculation, where the number of bands
has been increased to include unoccupied states. The k points are restricted
to the Irreducible Brillouin Zone.
<br>The third dataset uses the result of the second one to produce the
wavefunctions for all the bands, for the full Brillouin Zone (this step might be skipped
but is included for later CPU time saving).
<br>The fourth to sixth datasets correspond to the computation of the ddk matrix
elements. Note that the number of bands is the same as for dataset 2 and 3. Note also
that these are non-self-consistent calculations, moreover, restricted to
<a href="../input_variables/varbas.html#nstep" target="kwimg">nstep</a>=1 and
<a href="../input_variables/vargs.html#nline" target="kwimg">nline</a>=0 .
Indeed, only the matrix elements between explicitly computed states are required.
Using a larger nstep would lead to a full computation of derivative of the wavefunction
with respect to the wavevector, while only the matrix elements are needed. Such a larger
value of nstep would not lead to erroneous matrix elements, but would be a waste of time.
<p>
In order to have a sufficiently fast tutorial, the k point sampling was chosen to be ridiculously
small. Instead of 4x4x4 FCC (256 k points), it should be something like 28x28x28 FCC (about 100000 k points).
Also, the cut-off energy (2 Ha) is too small. As often, convergence studies
are the responsibility of the user.
<p>
The run is less than one minute on a 2.8 GHz PC. The files
toptic_1o_DS3_WFK, toptic_1o_DS4_1WF7, toptic_1o_DS5_1WF8 and
toptic_1o_DS6_1WF9 are the four files requested for the Optic run.
The three latter ones contain the matrix elements.
<p> Real preparation runs (with adequate k point sampling and cut-off energy)
can last several hours (days) on such a PC.

<hr>

<a name="2">&nbsp;</a>
<h3><b>

2. Computing the linear and nonlinear optical response.
</b></h3>

Next step is to compute the linear and nonlinear optical response:
once the momentum matrix elements are available you are ready to determine the
optical response (up to second order in the current implementation) for material under study.

<p>
First, read the
<a href="../users/optic_help.html#3" target="helpsimg">section 3</a> of the Optic help file.

<p>Copy the files ~abinit/tests/tutorespfn/Input/toptic_2.files and ~abinit/tests/tutorespfn/Input/toptic_2.in in "Work_optic".
<p>
The toptic_2.in is your input file. You should edit it, read it carefully.
For help on various input parameters in this file please see the help file.

<p>
When you have read the input file, you can run the code, as usual, using the
following command (assuming optic can be accessed thanks to "optic" - copy the executable in the current directory if needed)

<pre>
optic < toptic_2.files > log &
</pre>

It will take a few seconds to run. You have produced numerous
output files. Now, you can examine some of these output files. The header
contains the information about the calculation. See the
<a href="../users/optic_help.html#4" target="helpsimg">section 4</a> of the Optic help file.
These files can be plotted in
xmgrace, please do so using the following command and look at the results.
(If you do not have xmgrace installed on your computer, please get it from the Web,
 and install it, or alternatively, use your preferred plotting package).
<p>
We will first have a look at the linear optic file.
<pre>
xmgrace toptic_2_0001_0001-linopt.out
</pre>
On the graph, you should see three curves.
One of them is positive, and always larger than the two others.
It is the modulus of the dielectric function. Another one is also always positive, it is the
imaginary part of the dielectric function. The last one is the real part.
<br>
There are a large number of peaks. This is at variance with the experimental
spectra, that are much smoother. The origin of this discrepancy is to be found
in the very bad k point sampling that we used in order to be able to perform the
tutorial. In the next section, we will improve this sampling, and start a convergence study.
<p>
Concerning the non-linear optics, the graphs for the xyz components are also quite bad,
with many isolated (but broadened) peaks. However,
the yyy ones are perfect ... Indeed, they vanish due to symmetry reasons !
Please visualize the Imaginary part :
<pre>
xmgrace toptic_2_0002_0002_0002-ChiTotIm.out
</pre>
and the Real part:
<pre>
xmgrace toptic_2_0002_0002_0002-ChiTotRe.out
</pre>

<p>
It might be the perfect time to finish the optic help file, with
<a href="../users/optic_help.html#5" target="helpsimg">section 5</a>.
<p>
For comparison, we have included in the tutorial, three files that have been obtained
with a much better k point sampling (still with a low cut-off energy and a number
of bands that should be larger). You can visualize them :
<pre>
xmgrace ~abinit/doc/tutorial/lesson_optic/toptic_ref_0001_0001-linopt.out
</pre>
for the linear optics, obtained with a 28x28x28 grid (keeping everything else fixed), and
<pre>
xmgrace ~abinit/doc/tutorial/lesson_optic/toptic_ref_0001_0002_0003-ChiTotIm.out
</pre>
as well as
<pre>
xmgrace ~abinit/doc/tutorial/lesson_optic/toptic_ref_0001_0002_0003-ChiTotRe.out
</pre>
for the non-linear optics, obtained with a 18x18x18 grid (keeping everything else fixed).
<p>
Concerning the linear spectrum, we will now compare this (underconverged) result
toptic_ref_0001_0001-linopt.out with
experimental data and converged theoretical results.
<br>
The book by Cohen M.L. and Chelikowsky, "Electronic Structure and Optical
Properties of Semiconductors" (Springer-Verlag, Berlin, 1988)
presents a comparison of experimental data with the
empirical pseudopotential method spectrum. If you do not have acess to this book,
you can see an experimental spectrum in e.g. H.R. Phillips, H. Ehrenreich, Phys. Rev. 127, 1550 (1963),
and a theoretical spectrum in e.g. M.-Z. Huang  and W. Y. Ching, Phys. Rev. B 47, 9449 (1993)
(well, there are numerous papers that present such data).
<p>
We discuss first the imaginary spectrum.
Prominent experimental features of this spectrum are two peaks located close to 3 eV and 5 eV,
both with the same approximate height. The spectrum is zero
below about 1.5 eV (the direct band gap), and decreases with some wiggles beyond 5.5 eV.
Converged theoretical spectra also show two peaks at about the same location,
although their heights are markedly different : about 10 for the first one (at 3 eV),
and 25 for the second one (at 5 eV). Other features are rather similar to the
experimental ones. In the linear optic spectrum of toptic_ref_0001_0001-linopt.out, we note that
there is a shoulder at around 3 eV, and a peak at 4.2 eV, with respective approximate heights of
7 and 25. Some comments are in order :
<ul>
 <li>The main different between experimental and converged theoretical spectra is due
     to the presence of excitons (electron-hole bound states), not treated at all in this
     rather elementary theoretical approach : excitons transfer some oscillator strength
     from the second peak (at 5 eV) to the first one (at 3 eV). Going beyond the Sum-Over-State
     approach, but still keeping the independent-electron approximation, e.g. in the framework
     of the TDDFT (adiabatic LDA) will not correct this problem. One needs to use the
     Bethe-Salpether approximation, or to rely on fancy exchange-correlation kernels, to produce
     an optical spectrum in qualitative agreement with the experimental data. Still, trends
     should be correct (e.g. change of the peak positions with pressure, comparison between
     different semiconductors, etc).
 <li>In many early theoretical spectra (including the ones in the Cohen-Chelikowsky book),
     the agreement between the theoretical and experimental
     band gap is artificially good. In straight DFT, one cannot avoid the band gap problem.
     However, it is possible to add an artifical "scissor shift", to make the theoretical
     band gap match the experimental one.
 <li>Our theoretical spectrum present additional deficiencies with respect to the other
     ones, mostly due to a still too rough sampling of the k space (there are too many
     wiggles in the spectrum), and to an rather inaccurate band structure (the
     cut-off energy was really very low, so that the first peak only appears
     as a shoulder to the second peak).
</ul>
<p>
The real part of the spectrum is related by the Kramers-Kronig relation
to the imaginary part. We note that the deficiencies of the imaginary part of the
spectrum translate to the real part : the first peak is too low, and the second peak too high,
while the spectrum correctly changes sign around 5 eV, and stays negative below 8 eV.
In our simulation, more states should be needed to obtain a better behaviour. Also,
the limiting low-frequency value is only 4.3, while it should be on the order of 10.
This can be corrected by increasing the cut-off energy, the k point sampling
and the number of unoccupied states.
<p>
Similar considerations apply to the non-linear spectra.



<hr>

<a name="3">&nbsp;</a>
<h3><b> 3. Faster computation of the imaginary part of the linear optical response.
</b></h3>
In the case of the imaginary part of the linear optical response, there are several
points that make the calculation easier :
<ul>
<li>The time-reversal symmetry can be used to decrease the number of k points
    by a factor of two  (this is also true for the computation of the real spectrum);
<li>The number of unoccupied bands can be reduced to the strict minimum needed to span
    the target range of frequencies.
</ul>
We will focus on the energy range from 0 eV to 8 eV, for which only
5 unoccupied bands are needed.

<p>Copy the files toptic_3.files and toptic_3.in in "Work_optic" :
<li><i>cp ../toptic_3.files . </i></li>
<li><i>cp ../toptic_3.in . </i></li>
<p>
Issue :
<li><i> abinit < toptic_3.files >& log </i></li>
<p>
Now, examine the file toptic_3.in . Therer are two important changes with respect to
the file toptic_1.in :
<ul>
 <li>the number of unoccupied bands has been reduced, so that the total number
of bands is 9 instead of 20 </li>
 <li>when applicable, the value of kptopt 3 in our previous simulation
has been changed to 2, in order to take advantage of the time-reversal symmetry</li>
</ul>
<p>
When the run is finished (it is only 8 secs on a 2.8 GHz PC), you can process
the WFK files and obtain the linear optic spectra.
Copy the files toptic_4.files and toptic_4.in in "Work_optic" :
<li><i>cp ../toptic_4.files . </i></li>
<li><i>cp ../toptic_4.in . </i></li>
<p>
Examine the toptic_4.in file : only the linear optic spectra will be build.
<p>
When you have read the input file, you can run the code, as usual using the
following command

<pre>
optic < toptic_4.files > log &
</pre>
Then, you can vizualize the files toptic_2_0001_0001-linopt.out and
toptic_4_0001_0001-linopt.out using xmgrace and compare them.
The spectra looks completely
identical. However, a careful look at these files, by editing them,
show that indeed, the imaginary part is very similar :
<pre>
 # Energy(eV)         Im(eps(w))
 #calculated the component:  1  1  of dielectric function
 #broadening:    0.000000E+00    2.000000E-03
 #scissors shift:    0.000000E+00
 #energy window:    3.982501E+01eV    1.463542E+00Ha
    8.163415E-03    7.204722E-04
    1.632683E-02    1.441005E-03
    2.449025E-02    2.161659E-03
    3.265366E-02    2.882494E-03
 ....
</pre>
But the real part slightly differ (this is seen at lines 1007 and beyond):
<pre>
 # Energy(eV)         Re(eps(w))
    8.163415E-03    1.186677E+01
    1.632683E-02    1.186693E+01
    2.449025E-02    1.186720E+01
    3.265366E-02    1.186758E+01
  ...
</pre>
for toptic_2_0001_0001-linopt.out and
<pre>
 # Energy(eV)         Re(eps(w))
    8.163415E-03    1.177773E+01
    1.632683E-02    1.177789E+01
    2.449025E-02    1.177816E+01
    3.265366E-02    1.177854E+01
  ...
</pre>
for toptic_4_0001_0001-linopt.out . This small difference is due
to the number of bands (nband=20 for toptic_2_0001_0001-linopt.out
and nband=9 for toptic_4_0001_0001-linopt.out).
<p>
Then, you can increase the number of k points, and watch the change
in the imaginary part of the spectrum. There will be more and more peaks,
until they merge, and start to form a smooth profile (still not completely
smooth with 28x28x28). For information, we give
some timings of the corresponding ABINIT run for a 2.8 GHz PC :
<pre>
k-point grid     CPU time
4x4x4            8 secs
6x6x6            20 secs
8x8x8            43 secs
10x10x10         80 secs
12x12x12         138 secs
16x16x16         338 secs
20x20x20         702 secs
24x24x24         1335 secs
28x28x28         2633 secs
</pre>
For grids on the order of 16x16x16, the treatment by optics also
takes several minutes, due to IO (30 minutes for the 28x28x28 grid).
<br>
You might note how the first peak slowly develop with increasing number
of k points ... but nevertheless
stays much smaller than the converged one, and even smaller than the
experimental one.

<script type="text/javascript" src="list_internal_links.js"> </script>

</body>
</html>