18
18
< body bgcolor ="CCFFCC ">
19
19
20
20
< center > < h1 > Manual for FermiSurfer</ h1 > </ center >
21
- < center > < h2 > Version 1.5 </ h2 > </ center >
21
+ < center > < h2 > Version 1.6 </ h2 > </ center >
22
22
< center > < h2 > Mitsuaki Kawamura</ h2 > </ center >
23
23
24
24
< hr >
@@ -54,11 +54,14 @@ <h1><a name="introduction">1, Introduction</a></h1>
54
54
< hr > < h1 > < a name ="files-in-this-package "> 3, Files in this package</ a > </ h1 >
55
55
56
56
< dl >
57
- < p > < code > bin/fermisurfer.exe</ code > : Executable for Windows</ p >
57
+ < p > < code > bin/fermisurfer.exe</ code > : Executable for Windows (Main program)</ p >
58
+ < p > < code > bin/bxsf2frmsf.exe</ code > : Executable for Windows (Utility to convert file)</ p >
58
59
< p > < code > doc/manual_en.pdf</ code > : Manual (English)</ p >
59
60
< p > < code > doc/manual_ja.pdf</ code > : Manual (Japanese)</ p >
60
- < p > < code > examples/mgb2_vfz.frmsf</ code > : Sample input file</ p >
61
- < p > < code > src/fermisurfer.c</ code > : Source file</ p >
61
+ < p > < code > examples/mgb2_vfz.frmsf</ code > : Sample input file for < code > fermisurfer</ code > </ p >
62
+ < p > < code > examples/pb.bxsf</ code > : Sample input file for < code > bxsf2frmsf</ code > </ p >
63
+ < p > < code > src/fermisurfer.c</ code > : Source file (Main program)</ p >
64
+ < p > < code > src/bxsf2frmsf.c</ code > : Source file (Utility to convert file)</ p >
62
65
< p > < code > src/Makefile</ code > : Makefile for Linux & Mac OSX</ p >
63
66
</ dl >
64
67
@@ -109,7 +112,9 @@ <h1><a name="introduction">1, Introduction</a></h1>
109
112
110
113
< hr > < h2 id ="installation-in-windows "> 4.3, Installation in Windows</ h2 >
111
114
112
- < p > Use an executable < code > bin/fermisurfer.exe</ code > </ p >
115
+ < p > Use an executable < code > bin/fermisurfer.exe</ code > .
116
+ You can also compile < code > fermisurfer</ code > manually
117
+ by using freeglut library.</ p >
113
118
114
119
< hr > < h1 > < a name ="input-file "> 5, Input file</ a > </ h1 >
115
120
@@ -123,9 +128,6 @@ <h1><a name="introduction">1, Introduction</a></h1>
123
128
< li > < p > The orbital energy at each band and $k$ (We call it "energy") .</ p > </ li >
124
129
< li > < p > Variables that you want to plot with color (We call it "matrix elements").</ p > </ li >
125
130
</ ul >
126
- < p > This program supports two kind of uniform $k$ grid,
127
- a grid (${\rm \Gamma}$ centered) and grid with a half-grid shift.
128
- The latter is used when the matrix element becomes singular at ${\rm \Gamma}$.</ p >
129
131
< p > The input file is as follows (< code > mgb2_vfz.fs</ code > ):</ p >
130
132
< pre > < code >
131
133
40 40 36 (1)
@@ -154,18 +156,84 @@ <h1><a name="introduction">1, Introduction</a></h1>
154
156
-10.315671
155
157
</ code > </ pre >
156
158
< ol >
157
- < li > < p > The $k$ point grid</ p > </ li >
158
- < li > < p > 0 for ${\rm \Gamma}$ centered grid. 1 for shifted grid.</ p > </ li >
159
+ < li > < p > The number of $k$ in each direction</ p > </ li >
160
+ < li > < p > Switch to specify type of $k$ grid (Choose from < code > 0, 1, 2</ code > )</ p >
161
+ < p > $k$ grid is represented as follows:< p >
162
+ < p > $$\begin{aligned}
163
+ {\boldsymbol k}_{i,j,k} =
164
+ x_i {\boldsymbol b}_1
165
+ +y_j {\boldsymbol b}_2
166
+ +z_k {\boldsymbol b}_3,
167
+ \end{aligned}$$</ p >
168
+ where $i, j, k = 1 \cdots N_1, 1 \cdots N_2, 1 \cdots N_3$,
169
+ and $N_1, N_2, N_3$ are the number of $k$ in each direction.
170
+ </ p > $x_i, y_j,z_k$ can be chosen from below:</ p >
171
+ < ul >
172
+ < li > < p > < code > 0</ code > (Monkhorst-Pack grid) :
173
+ $x_i = \frac{2 i - 1 - N_1}{2 N_1}$</ p >
174
+ </ li >
175
+ < li > < p > < code > 1</ code > :
176
+ $x_i = \frac{i - 1}{N_1}$</ p >
177
+ </ li >
178
+ < li > < p > < code > 2</ code > :
179
+ $x_i = \frac{2 i - 1}{2 N_1}$</ p >
180
+ </ li >
181
+ </ ul >
182
+ </ li >
159
183
< li > < p > The number of bands</ p > </ li >
160
184
< li > < p > Reciprocal lattice vector 1 (arbitrary unit)</ p > </ li >
161
185
< li > < p > Reciprocal lattice vector 2</ p > </ li >
162
186
< li > < p > Reciprocal lattice vector 3</ p > </ li >
163
- < li > < p > Energy</ p > </ li >
164
- < li > < p > Matrix elements</ p > </ li >
187
+ < li > < p > Energy</ p >
188
+ < p > < code > fermisurfer</ code > assume that the Fermi energy is < code > 0.0</ code >
189
+ in the default.
190
+ You can shift the Fermi energy by using
191
+ < code > Shift Fermi Energy</ code > menu described at the section 6.5.</ p > </ li >
192
+ < li > < p > Matrix elements</ p >
193
+ < p > If you have no quantity to plot on Fermi surfaces,
194
+ please use < code > Unicolor</ code > switch in
195
+ < code > Color scale mode</ code > menu described at section 6.7.
196
+ In that case, although this "Matrix elements"
197
+ is not used by < code > fermisurfer</ code > ,
198
+ please fill them with arbitrary numbers.</ p >
199
+ </ li >
165
200
</ ol >
166
201
202
+ < hr > < h2 > 5.2, Converting bxsf file</ h2 >
203
+
204
+ < p >
205
+ You can generate input files for < code > fermisurfer</ code > from
206
+ an input file for XCrysDen (the bxsf format)
207
+ by using the utility program < code > bxsf2frmsf</ code > .
208
+ </ p >
209
+ < p > 使い方は次のとおりです.< code > examples/</ code > ディレクトリにある< code > pb.bxsf</ code >
210
+ ファイルを例として使います.</ p >
211
+
212
+ < h3 > 5.2.1, For Linuxの場合</ h2 >
213
+
214
+ < p > You can launch generated executable as follows:</ p >
215
+ < pre > < code >
216
+ $ bxsf2frmsf pb.bxsf
217
+ </ code > </ pre >
218
+ < p > You need a space between the command and input-file name.
219
+ After it finishes, the following files are generated:</ p >
220
+ < ul >
221
+ < li > < code > pb_vf.frmsf</ code > : Absolute value of the Fermi velocity</ li >
222
+ < li > < code > pb_vfx.frmsf</ code > : $x$ component of the Fermi velocity</ li >
223
+ < li > < code > pb_vfy.frmsf</ code > : $y$ component of the Fermi velocity</ li >
224
+ < li > < code > pb_vfz.frmsf</ code > : $z$ component of the Fermi velocity</ li >
225
+ < li > < code > pb_vfa1.frmsf</ code > : Component of the Fermi velocity (along ${a_1}$)</ li >
226
+ < li > < code > pb_vfa2.frmsf</ code > : Component of the Fermi velocity (along ${a_2}$)</ li >
227
+ < li > < code > pb_vfa3.frmsf</ code > : Component of the Fermi velocity (along ${a_3}$)</ li >
228
+ </ ul >
229
+
230
+ < h3 > 5.2.2, For Windows</ h3 >
231
+
232
+ < p > Click mouse right button on the input file.
233
+ Choose "Open With ..." menu, then choose < code > bxsf2frmsf.exe</ code > .</ p >
234
+
167
235
< hr > < h2 id ="how-to-produce-the-input-file-in-c-and-fortran-programs ">
168
- 5.2 , How to produce the input file in C and fortran programs</ h2 >
236
+ 5.3 , How to produce the input file in C and fortran programs</ h2 >
169
237
170
238
< p > fortran</ p >
171
239
< pre > < code >
@@ -216,19 +284,19 @@ <h1><a name="introduction">1, Introduction</a></h1>
216
284
217
285
FILE* fo;
218
286
int ibnd, ik1, ik2, ik3;
219
-
220
- fo = fopen(" sample.fs", "w" );
221
- ierr = fprintf(fo, "%d %d %d", nk1, nk2, nk3);
222
- ierr = fprintf(fo, "%d, iswitch);
223
- ierr = fprintf(fo, "%d, nbnd);
224
- ierr = fprintf(fp , "%e %e %e", bvec1[0], bvec1[1], bvec1[2]);
225
- ierr = fprintf(fp , "%e %e %e", bvec2[0], bvec2[1], bvec2[2]);
226
- ierr = fprintf(fp , "%e %e %e", bvec3[0], bvec3[1], bvec3[2]);
287
+
288
+ fo = fopen(“ sample.frmsf”, “w” );
289
+ ierr = fprintf(fo, "%d %d %d\n ", nk1, nk2, nk3);
290
+ ierr = fprintf(fo, "%d\n" , iswitch);
291
+ ierr = fprintf(fo, "%d\n" , nbnd);
292
+ ierr = fprintf(fo , "%e %e %e\n ", bvec1[0], bvec1[1], bvec1[2]);
293
+ ierr = fprintf(fo , "%e %e %e\n ", bvec2[0], bvec2[1], bvec2[2]);
294
+ ierr = fprintf(fo , "%e %e %e\n ", bvec3[0], bvec3[1], bvec3[2]);
227
295
for (ibnd = 0; ibnd < nbnd; ++ibnd) {
228
296
for (ik1 = 0; ik1 < nk1; ++ik1) {
229
297
for (ik2 = 0; ik2 < nk2; ++ik2) {
230
298
for (ik3 = 0; ik3 < nk3; ++ik3) {
231
- ierr = fprintf(fo, "%e", eig[ibnd][ik1][ik2][ik3]);
299
+ ierr = fprintf(fo, "%e\n ", eig[ibnd][ik1][ik2][ik3]);
232
300
}
233
301
}
234
302
}
@@ -237,7 +305,7 @@ <h1><a name="introduction">1, Introduction</a></h1>
237
305
for (ik1 = 0; ik1 < nk1; ++ik1) {
238
306
for (ik2 = 0; ik2 < nk2; ++ik2) {
239
307
for (ik3 = 0; ik3 < nk3; ++ik3) {
240
- ierr = fprintf(fo, "%e", x[ibnd][ik1][ik2][ik3]);
308
+ ierr = fprintf(fo, "%e\n ", x[ibnd][ik1][ik2][ik3]);
241
309
}
242
310
}
243
311
}
@@ -427,6 +495,12 @@ <h1><a name="introduction">1, Introduction</a></h1>
427
495
428
496
< p > This finishes < code > fermisurfer</ code > .</ p >
429
497
498
+ < hr > < h2 > 6.14, Saving images</ h2 >
499
+
500
+ < p > < code > fermisurfer</ code > does not have any functions to
501
+ save images to a file.
502
+ Please use the screenshot on your PC.</ p >
503
+
430
504
< hr > < h1 > < a name ="gallery "> 7, Gallery</ a > </ h1 >
431
505
432
506
< p > Contributions of each Fermi surfaces to the Hall effect in IrO$_2$
0 commit comments