The WIEN97 package consists of several independent programs which are linked via C-SHELL SCRIPTS described below.
The flow and usage of the different programs is illustrated in the following diagram (Fig. 4.2):
The initialization consists of running a series of small auxiliary programs, which generates the inputs for the main programs. One starts in the respective case/ subdirectory and then this initialization can be invoked with the script init_lapw (see sec. 3.4 and 5.1.2), and consists of running:
- NN
- a program which lists the nearest neighbors up to a specified distance and thus helps to determine the atomic sphere radii.
- LSTART
- generates free atomic densities and determines how the different orbitals are treated in the band structure calculations (i.e. as core or band states, with or without local orbitals,...).
- SYMMETRY
- generates from a raw case.struct file the space group symmetry operations, determines the point group of the individual atomic sites, generates the LM expansion for the lattice harmonics and determines the local rotation matrices.
- KGEN
- generates a k-mesh in the BZ.
- DSTART
- generates a starting density for the scf cycle by superposition of atomic densities generated in LSTART.
Then a self-consistency cycle is initiated and repeated until convergence criteria are met (see 3.5 and 5.1.3). This cycle can be invoked with a script run_lapw, and consists of the following steps:
- LAPW0
- (POTENTIAL) generates potential from density
- LAPW1
- (BANDS) calculates valence bands (eigenvalues and eigenvectors)
- LAPW2
- (RHO) computes valence densities from eigenvectors
- LCORE
- computes core states and densities
- MIXER
- mixes input and output densities