All executable programs are in the main directory. The TB-LMTO package consists of four classes of programs.
(i) Programs to construct and check the data in the main input file (CTRL):
lminit.run generates a CTRL file with the structural data.
lmhart.run generates overlapping potentials from atomic Hartree potentials or finds MT-radii.
lmovl.run calculates and displays sphere overlaps.
lmes.run finds interstitial spheres.
lmctl.run rewrites the CTRL file according to the parameters in the original CTRL and atomic files and inserts default values.
lmscell.run increases the basis for super cell calculations.
lmnghbr.run produces a table of neighbors for each atom.
lmclean.run reduces the CTRL file to the essential crystallographic data.
(ii) Programs to calculate the structure constants and performe self-consistent calculations:
lmstr.run generates the structure constants.
lm.run is the main LMTO program performing self-consistency iterations.
(iii) Programs to calculate the data to be displayed:
lmbnd.run generates bands for plotting.
lmdos.run generates density of states for plotting.
lm.run generates output for lmdos.run and charge density for plotting. (This is the same as under (ii) above, but run with different options.)
(iv) Plot programs. The programs with extension exec will (1) execute the program with the same name but extension run, which produces data files for the GNUPLOT program, (2) call the GNUPLOT program to make the plot, and (3) delete the temporary data files.
gnudos.exec: For density of states plot.
gnubnd.exec: For energy bands plot.
gnucharge.exec: For charge density plots.
gnufs.exec: For Fermi surface plots.
All these executable programs are made by the UNIX make command which compiles and links the source codes in the subdirectories. All information about how this should be done is in the makefile, which is also located in the main directory. The main programs for the first three classes of programs above are made from the content of the file lmall.f in the main directory. This is done by make using the information in makefile, getmain, and the program ccomp. ccomp and its source ccomp.c are in the main directory. The latter is the only program written in the language C. For a description of ccomp.c see Appendix A. The reason why the main programs are constructed in this way is that when changes are made, this only has to be done once, namely in lmall.f.