-
Notifications
You must be signed in to change notification settings - Fork 5
Tutorial 1: Lattice of Hydrogen atoms
This tutorial should take roughly 20 min to complete. The time was based on 4 thread processing.
The following is the Hydrogen Supercell:
- Create a working directory called 6-atom2D
mkdir 6-atom2D
-
Download 6-atom2D.struct and 6-atom2D.klist_band files from (https://github.com/rubel75/fold2Bloch/tree/master/Tutorials/Tutorial_1) into your working directory.
-
Run Wien2k initialization:
init_lapw -b -numk 100
or -h for help
- Run regular SCF calculation:
run_lapw
- Generate the vector file (6-atom2D.vector) for the list of k-points in 6-atom2D.klist_band Please make sure that the
SCRATCH
variable points to your work directory. In the case of bash shell, just type
export SCRATCH=$PWD
x lapw1 -band
The list of k-points spans the path shown on the figure below.
- Once LAPW1 finishes, make sure that the vector file is created:
ls -l *.vector
The vector files are usually large. In this case the volume is 5,993 KB, but in real scenario they reach over 1 GB.
- Create a new sub-directory f2b:
mkdir f2b
and copy *.vector, *.struct and *.klist_band files to the f2b directory
cp 6-atom2D.vector 6-atom2D.struct 6-atom2D.klist_band f2b
cd f2b
Rename 6-atom2D.klist_band to 6.atom2D.klist:
mv 6-atom2D.klist_band 6-atom2D.klist
(Note: if the 6-atom2D.klist has been tampered with or is missing, fold2Bloch will still run and perform all the calculations, but it will advise you if it's missing or the number of K-points is inconsistent with the 6-atom2D.vector)
- Now we have all the files in place and can run fold2Bloch:
~/fold2Bloch/fold2Bloch -c 6-atom2D.vector "'1 0 0:0 2 0:0 0 3'"
Here 1, 2, 3 refers to the supercell, which was constructed by repeating the primitive cell once, twice, and three times along 1st, 2nd, and 3rd primitive lattice vectors. The option -c
indicates complex calculation (default); for real calculation you do need to specify -r
option.
After running fold2Bloch, you should see the following output:
*********************** ** Fold2Bloch V 1.05 ** ** Build May 29, 2014 ** *********************** Complex calculation indicated FILE TO PROCESS: 6-atom2D.vector /\/\/\ UNFOLDING VECTOR FILE /\/\/\ Processing K-Point: 0.000 0.950 0.000 Processing K-Point: 0.000 0.900 0.000 ... Processing K-Point: 0.000 0.000 0.133 Processing K-Point: 0.000 0.000 0.067 \/\/\/ UNFOLDING FINISHED SUCCESSFULLY \/\/\/ Number of K points processed: 34 Data was written to: 6-atom2D.f2b_01 Data format: KX, KY, KZ, Eigenvalue(Ry), Weight 6-atom2D.klist matches the vector file.
Notice the message "6-atom2D.klist matches the vector files", which indicates that .klist and .vector files have the same number of k-points.
- The newly created file 6-atom2D.f2b contains the list of unfolded k-points, corresponding eigenvalues (Ry) and weights (0...1):
[stud2@feynman f2b]$ head 6-atom2D.f2b 0.000000 0.454545 0.000000 -0.874353 0.000000 0.000000 0.454545 0.333333 -0.874353 0.000000 0.000000 0.454545 -0.333333 -0.874353 0.000000 0.000000 -0.045455 0.000000 -0.874353 1.000000 0.000000 -0.045455 0.333333 -0.874353 0.000000 0.000000 -0.045455 -0.333333 -0.874353 0.000000 0.000000 0.454545 0.000000 -0.424257 0.000000 0.000000 0.454545 0.333333 -0.424257 0.000000 0.000000 0.454545 -0.333333 -0.424257 0.000000 0.000000 -0.045455 0.000000 -0.424257 0.000000
The complete 6-atom2D.f2b can be found here: 6-atom2D.f2b
- We can plot the infolded band structure using the MATLAB script ubs_dots.m along the k-path. There are a few variables that should be adjusted to match the case:
KPATH = [0 1/2 0; ...
0 0 0; ...
0 0 1/2];
Dp2s = [1 0 0
0 2 0
0 0 3]; % transformation matrix used to transform a primitive cell to a supercell
KLABEL = {'Y'; 'G'; 'Z'};
finpt = '6-atom2D.f2b';
Ef = 0.0460363511;
ERANGE = [Ef-1 Ef+0.4];
...
G = [ 0.333333 0.000000 0.000000;
0.000000 0.166667 0.000000;
0.000000 0.000000 0.111111];
The resultant band structure should resemble a cosine-like disperion relation inherent to s-states