Last updated -- 17 December 1999

The ``Static'' Tight-Binding Program: Example I -- Setup Part 2

This page shows how to construct an input file for the our sample run of the ``Static'' Tight-Binding program. For information on the files needed, see the first Setup page.

On the previous page we saw how to obtain the tight-binding parameters, k-point meshes, and space group files necessary to run tight-binding calculations using our method.

This page describes the setup of the input necessary to determine total energy as a function of lattice constant for fcc and bcc Pd.

The final result will be the creation of a sample SKIN (Slater-Koster INput) file. The file will allow us to calculate the energy of an fcc Pd lattice at lattice constants a = 6.8, 7.0, 7.2, 7.4, and 7.6 atomic units, and the energy of the bcc Pd lattice at a = 5.3, 5.5, 5.7, 5.9, and 6.1 atomic units.



  1. The header of the SKIN file contains the lines:
    Mode=4               (Calculate E(V) and P(V))
    0.005  0.500         (T_{Fermi}, Eigenvalue cutoff for P calculation)
    pd_par
    
    1. The first line is for Mode selection. The Static program offers several mode options:
      • Mode = 3: Calculate the energy of the system
      • Mode = 4: Calculate the energy and pressure of the system
      • Mode = 6: Print the eigenvalues for each k-point, along with information about the angular momentum character of each eigenstate (e.g., suitable for angular momentum decomposed electronic density of state calculations)
      • Mode = 8: Print the eigenvalues only for each k-point (e.g., suitable for band structure plots)
      • Mode = 9: Print a variant version of Mode = 6, with no angular momentum information
      • Other modes may be added by the user as necessary.


    2. The second line contains information about the energy scales associated with the calculation.
      • The "0.005" is the Fermi temperature in Rydbergs. To calculate that eigenvalue sums we "smear out" the eigenvalues using a Fermi distribution. Lower temperatures (nearer to 0) require more k-points to yield a converged energy. High temperatures allow calculations with fewer k-points, but less accuracy. We find 0.005 Ry to be a useful compromise.
      • The "0.500" is a cutoff energy, in Rydbergs. This is only used in Mode=4 and Mode=6 calculations. Eigenvalues above 0.500 Ry will not be considered in the calculation. If this number is too small then the calculation of the pressure will suffer. If this number is too large, the execution time will be larger as the program considers states that cannot possibly be occupied. This number must be at least 20 × the Fermi broadening temperature (here 0.100 Ry) above the maximum Fermi level energy (eF) expected to be encountered in this calculation. In our case we will see that the maximum eF will be about 0.3 Ry, hence a value of 0.5 Ry is sufficient.


    3. The third line contains the name of the Palladium tight-binding parameter file we previously saved. This name can be a full path name of up to 79 characters if the file is not in the current directory.

  2. The next 16 lines describe the construction of one Palladium fcc lattice, and the input of the space-group and k-point information.
    Palladium FCC (A1)
     fcc  6.80           (20 character label for SKENG)
     0.00                (Electrons in addition to nominal Pd charge (=10/atom))
     1                   (fcc lattice, read in cubic lattice constant a)
     6.80                (lattice constant in Bohr)
     0                   (No additional strains applied)
     1                   (Atoms in the unit cell)
     4 4 4               (Neighbor search cutoff indicies)
    F                    (Logical variable -- no internal displacements)
     1  0.000  0.000  0.000  0 0 0   (Position of atom in Lattice coordinates)
    NEWSYM=T             (Generate new set of k-points)
    LATTIC=1             (Lattice type / Next is spacegroup file name:)
    spcgrp.fcc
    ILAT=F               (Space group file in Cartesian Coordinates)
    -1313                (Read k-points from a file/ Next is file name:)
    fcc.08
    
    1. The first line is an internal label for the program. It will appear in the SKOUT and standard output listings, but not in the SKENG file.

    2. The second line is a "short label" of at most 20 characters. This string is output in the SKENG file as a part of the information about the current lattice. Here the label is the type of lattice (fcc) and the cubic lattice constant (6.80 Bohr).

    3. The third line contains the number of excess electrons in the unit cell. As we saw in the Pd parameter file, Palladium has a nominal charge of 10 electrons. If we wanted to study a charged system we could change this number. Zero indicates that we want a neutral system, so there will be 10 electrons in the fcc unit cell of Palladium.

    4. The fourth line tells the program what kind of lattice to construct. The "1" indicates a face-centered cubic (fcc) lattice, with the input as the cubic lattice constants. The possible options for this input are enumerated on the Lattice Types page.

      IMPORTANT! Since we are going to be using pre-generated k-points, the primitive vectors generated here must match that in the fcc k-point page. Other, equally valid, representations of the fcc lattice will give the wrong results when used with these k-points. As far as possible we've adjusted the pre-defined lattice types so that their primitive vectors agree with the pregenerated k-point meshes.

    5. The next line is for the input of the lattice parameters required for this lattice. In this case there is only one, the cubic lattice constant.

    6. This is followed by any possible lattice strains. In this case we are not going to further strain the lattice.

    7. The next line ("1") is the number of atoms in the unit cell.

    8. The next line ("4 4 4") determines the number of unit cells we will search to find atoms inside the cutoff distance R_{cut}. These particular numbers tell the code to search out to 4 times the length of a primitive lattice vector in the direction of that vector. This number should be large enough so that all unit cells which are within R_{cut} of the central unit cell are considered.

    9. The next line ("F") is set to "T" if there is an internal strain of the basis vectors of the lattice, for example, when trying to calculate a phonon frequency using the frozen-phonon approximation.

    10. The next line (or lines, if there is more than one atom in the unit cell) gives information about the atoms inside the unit cell.
        The "1" indicates the type of atom, i.e., in a multiple atom calculation this would be the first type of atom in the parameter file.
      • The next three numbers indicate the position of this atom in lattice coordinates. Here, of course, the atom is at the origin.
      • The triplet ("0 0 0") is used to indicate a phase factor multiplying the orbitals of this atom. We'll leave this at zero.


    11. The remaining lines are for use in determining the k-point mesh. They indicate that:
      1. we are going to use a new set of k-points ("NEWSYM=T");
      2. there are no special conditions attached to this lattice (LATTIC=1);
      3. The space group information can be read from a file named "spcgrp.fcc".
      4. The space group information is in Cartesian coordinates (ILAT=F), not lattice coordinates (which would be ILAT=T);
      5. The k-point information is in an external file (would you like a flag of "-666" any better?); and
      6. The k-point file is named "fcc.08". Like "pd_par" and "spcgrp.fcc", this may be a fully qualified or relative path name of up to 79 characters.
      7. If you don't like our selection of k-points, you can use this program to generate your own.

    12. The next 11 lines contain the information for constructing an fcc lattice with lattice constant 7.00 a.u.:
      Palladium FCC (A1)
       fcc  6.90           (20 character label for SKENG)
       0.00                (Electrons in addition to nominal Pd charge (=10/atom))
       1                   (fcc lattice, read in cubic lattice constant a)
       6.90                (lattice constant in Bohr)
       0                   (No additional strains applied)
       1                   (Atoms in the unit cell)
       4 4 4               (Neighbor search cutoff indicies)
      F                    (Logical variable -- no internal displacements)
       1  0.000  0.000  0.000  0 0 0   (Position of atom in Lattice coordinates)
      NEWSYM=F             (Use previous set of k-points)
      

      There are only two differences from the first lattice:

      • We've changed the cubic lattice constant from 6.80 to 7.00
      • Since we are going to use the same k-point mesh, we simply set "NEWSYM=F"

    13. The remaining fcc lattice calculations have the identical form. Only the lattice constant changes.
    14. We next do the calculations for the bcc lattice. The first bcc structure has an input much like the first fcc input:
      Palladium BCC (A2)
       bcc  5.30           (20 character label for SKENG)
       0.00                (Electrons in addition to nominal Pd charge (=10/atom))
       2                   (bcc lattice, read in cubic lattice constant a)
       5.30                (lattice constant in Bohr)
       0                   (No additional strains applied)
       1                   (Atoms in the unit cell)
       4 4 4               (Neighbor search cutoff indicies)
      F                    (Logical variable -- no internal displacements)
       1  0.000  0.000  0.000  0 0 0   (Position of atom in Lattice coordinates)
      NEWSYM=T             (Generate new set of k-points)
      LATTIC=1             (Lattice type / Next is spacegroup file name:)
      spcgrp.bcc
      ILAT=F               (Space group file in Cartesian Coordinates)
      -1313                (Read k-points from a file/ Next is file name:)
      bcc.08
      

      The only changes are

      • The choice of lattice;
      • The lattice constant;
      • The space group file; and
      • The k-point mesh.

    15. The remaining bcc structures have a similar form, except that we do not have to specify the k-point mesh:
      Palladium BCC (A2)
       bcc  5.40           (20 character label for SKENG)
       0.00                (Electrons in addition to nominal Pd charge (=10/atom))
       2                   (bcc lattice, read in cubic lattice constant a)
       5.40                (lattice constant in Bohr)
       0                   (No additional strains applied)
       1                   (Atoms in the unit cell)
       4 4 4               (Neighbor search cutoff indicies)
      F                    (Logical variable -- no internal displacements)
       1  0.000  0.000  0.000  0 0 0   (Position of atom in Lattice coordinates)
      NEWSYM=F             (Use previous set of k-points)
      

    Got all that? Good. Be sure to save the sample SKIN file in your work directory. We're now ready to run the code and examine the output.

    Return to the first setup page

    Go on to the sample output page

    Look at other examples


    static Home Page   Introduction   About Version 1.11   Installation   List of Files   Usage   Input Files   Output Files   Trouble Shooting   Appendix

    Return to the static Reference Manual.