Last Modified 17 December 1999
Example I showed how to use static to generate energy versus volume curves for both fcc and bcc Palladium. This example will show how to use the skingen script to construct the SKIN file for part of this problem: the calculation of the energy of fcc Palladium as a function of volume. We can't use skingen to redo the entire problem, fcc and bcc, because the script is limited to one lattice type per SKIN file.
Note that you can press h<cr> and get help at any prompt which gives you this option.
$ skingen<cr>
Welcome to the NRL SKIN file generator Enter the mode you want to use (1-9, h for help): 4<cr> Using mode 4Now we need to enter the Fermi broadening temperature. In the example this was 0.005 Rydbergs. We also used a cutoff of 0.500 Rydbergs.
Enter the Fermi temperature for the electron states (>=0, h==help): 0.005<cr> Enter the eigenvalue cutoff energy (>=0, default = 100, h==help): 0.500<cr>The tight-binding parametrization file should be named ``pd_par'' and saved in this directory, so
Enter the path to the tight-binding parameterization file: pd_par<cr>The ``long label'' is a description of the current calculation which appears in the SKOUT file. The ``short label'' is a 20 character maximum description which appears in the SKENG file. Here we follow the form in the Example. Note that both labels have blank default values. These defaults will change later in the script, as we go to a new structure.
Enter the long label for structure 1. The default is ' ': Palladium FCC (A1)<cr> Enter the short (20 character) label (Default ' '): fcc 6.80<cr>We know, or by pressing ``h'' can find out, that an fcc lattice with size specified by the lattice parameter ``a'' is lattice type 1:
Enter the lattice type (-13,...,13,h=help): 1<cr>The first lattice constant we want is 6.80 Bohr. Note the blank default value:
Enter the lattice constant a (Default ' '): 6.80<cr>We are not straining the lattice, so use the 0 option:
Enter the strain type [0=none, h=help]: 0<cr>Use the default neighbor search cutoff:
How far should we search for neighbors along each primitive lattice vector? (default = "4 4 4") <cr>Note that the fcc lattice has only one atom in the unit cell, that this atom is type 1 in the pd_par parameter file, and that the atom is located at the origin. (If you don't see this, look back to Example 1.) Since this occurs quite often in these kind of calculations, the program selects these values as the logical default.
How many atoms in this structure (Default 1)? <cr> Enter atomic positions in (1) lattice (default) or (2) Cartesian coordinates: <cr> The atomic positions will be in lattice coordinates Enter the index number of atom 1 (Default 1): <cr> Enter the atomic position in lattice coordinates, separated by spaces (Default: '0.000 0.000 0.000': <cr>Now for the fun part. In Example 1 we had to look up all of the space-group and k-point information ourselves. The skingen installation provides several common space groups and k-point meshes. In fact, it provides all of the files that can be found on the k-point page. Here we have an fcc lattice, and we know we want the ``Regular Order-8'' k-point mesh.
Select a space group: (0=general,1=fcc/bcc/sc/diamond,2=hcp/hexagonal/graphite,3=path,h=help): 1<cr> Finally, choose a k-point set for this calculation: (1) predefined, available for some structures (2) your own premade k-point file (3) let the program create a mesh (h) help (default) Your choice? 1<cr> Pre-defined k-points are available for (1) fcc/diamond, (2) bcc, (3) sc, (4) hexagonal/hcp lattices. Please pick one: 1<cr>This is just a directory of the installed fcc k-point meshes:
total 118 -r--r--r-- 14 mehl bind 729 May 30 1996 regular.04 -r--r--r-- 12 mehl bind 3532 Sep 24 1996 regular.06 -r--r--r-- 16 mehl bind 3468 Jun 1 1995 regular.08 -r--r--r-- 13 mehl bind 4350 Mar 29 1996 regular.10 -r--r--r-- 14 mehl bind 18090 Jul 2 1996 regular.12 -r--r--r-- 12 mehl bind 26494 Nov 23 1993 regular.14 -r--r--r-- 13 mehl bind 10003 Jul 28 1997 spcgrp.fcc -r--r--r-- 12 mehl bind 314 May 20 1994 special.04 -r--r--r-- 12 mehl bind 2162 Dec 8 1993 special.06 -r--r--r-- 12 mehl bind 2226 Nov 15 1993 special.08 -r--r--r-- 12 mehl bind 2866 Nov 15 1993 special.10 -r--r--r-- 12 mehl bind 14020 Nov 23 1993 special.12 -r--r--r-- 12 mehl bind 21566 Nov 23 1993 special.14 Your choice? regular.08<cr>This completes the first structure. The remaining structures only need a limited amount of input, as we will see below. Note that all of these inputs have default values. The only ones we will change will be the short label, which passes the lattice constant to the SKIN file, and the lattice constant itself. Everything else can remain unchanged from structure to structure. Note that pressing ^D (Control-D) will end the script and save the SKIN file.
To add another structure, continue answering questions as before. To exit, hit ^D at the next prompt. Enter the long label for structure 2. The default is 'Palladium FCC (A1)': <cr> Enter the short (20 character) label (Default ' fcc 6.80'): fcc 6.90<cr> Enter the lattice constant a (Default '6.80'): 6.90<cr> Enter the index number of atom 1 (Default 1): <cr> Enter the atomic position in lattice coordinates, separated by spaces (Default: '0.000 0.000 0.000': <cr>I'm not going to repeat all this. Do it again for 7.0, 7.1, 7.2, ... up to 7.6, then exit from the program.
To add another structure, continue answering questions as before. To exit, hit ^D at the next prompt. Enter the long label for structure 12. The default is 'Palladium FCC (A1)': ^D<cr> Thank you for using skingen
NEWSYM=T (Construct new k-point mesh)
LATTIC=1
/home/main1/mehl/public_html/static/scripts/fcc/spcgrp.fcc
ILAT=F (Cartesian coordinate space group file)
-1313
/home/main1/mehl/public_html/static/scripts/fcc/regular.08
$ static > output
$ ls -l
total 83
-rw-r--r-- 1 mehl bind 858 Jul 14 17:24 SKENG
-rw-r--r-- 1 mehl bind 3941 Jul 14 17:19 SKIN
-rw-r--r-- 1 mehl bind 27540 Jul 14 17:24 SKOUT
-rw-r--r-- 1 mehl bind 32352 Jul 14 17:24 output
-r--r--r-- 2 mehl bind 7162 May 25 1998 pd_par
fcc 6.80 78.608000 .256797277 .038518611 .004624940 fcc 6.90 82.127250 .242276268 .024020018 .003607059 fcc 7.00 85.750000 .228826554 .012851841 .002567833 fcc 7.10 89.477750 .216099374 .005144880 .001585545 fcc 7.20 93.312000 .203907640 .000802042 .000703127 fcc 7.30 97.254250 .192381931 -.000433135 -.000048809 fcc 7.40 101.306000 .181915501 .001011535 -.000625782 fcc 7.50 105.468750 .172358630 .004490358 -.001055989 fcc 7.60 109.744000 .163145676 .009793201 -.001410457we see that it gives exactly the same results as the first part of the Example I SKENG file:
fcc 6.80 78.608000 .256797277 .038518611 .004624940 fcc 6.90 82.127250 .242276268 .024020018 .003607059 fcc 7.00 85.750000 .228826554 .012851841 .002567833 fcc 7.10 89.477750 .216099374 .005144880 .001585545 fcc 7.20 93.312000 .203907640 .000802042 .000703127 fcc 7.30 97.254250 .192381931 -.000433135 -.000048809 fcc 7.40 101.306000 .181915501 .001011535 -.000625782 fcc 7.50 105.468750 .172358630 .004490358 -.001055989 fcc 7.60 109.744000 .163145676 .009793201 -.001410457
Return to the skingen page.
Look at other other skingen examples.
Look at other static examples.
Get other parameters from the Tight-binding periodic table.
Return to the static Reference Manual.