The program is written in Fortran 90 and heavily uses LAPACK libraries. It was tested under Linux SuSe 8.0 with Portland Group (PGF90) and Intel Fortran compilers. Under Windows operating system it is tested using Compaq Visual Fortran 6.6 and CXML library. Download the program from the download section, unpack and run make in the command line (change the first line in Makefile accordingly to the used compiler). It is assumed that LAPACK libraries are installed and available in the standard library path. Once compilation is successful the executable file ksum will appear in the directory with Fortran files. One can execute ksum from any place just specifying the proper path. The data files necessary for the execution can be located anywhere too as the program allows specifying input directory and output directory. The following files should be presented in the data directory in order the program could start successfully:
ham.dat 
The Hamiltonian 
olp.dat 
The overlap 
cix.dat 
Correlation index 
bz.dat 
Brillouin zone data 
grp.dat 
Space group data 
wig.dat 
Space group data 
idx.dat 
Auxiliary index pointer 
opar.dat 
Factorization of the overlap 
Sk.dat 
Structure constants 
sigma.dat 
The selfenergy for correlated block 
siginf.dat 
HartreeFock selfenergy matrix 
dcount.dat 
The doublecounting matrix 
The file cix.dat
contains the so called correlation index for each of the orbitals in the
Hamiltonian. This index can be used when the selfenergy is added into
calculation. One has to specify to which orbital the selfenergy should be
added. Thus the orbitals will be assigned an index from zero to ncorr where zero denotes an uncorrelated orbital and
a nonzero index corresponds to data in the selfenergy file. If the file cix.dat does not
exist it is assumed that all orbitals are uncorrelated with the same
correlation index, equal to 0. The file will be generated during the first
attempt to run the program. Once the file is available one can also specify a
constant energy shift (tshift) for a particular
orbital which is the fourth column of the file.
Quantity 
Variable 
Correlation index 
idnsu (1:ndim) 
Energy shift 
tshift(1:ndim) 
The file sigma.dat
contains the selfenergy for correlated orbitals. If sigmat option is
ON the selfenergy is read as matrix. The selfenergy is complex this is why 2*ncorr dimension of temporary array sigma_tmpa
is used. Each element of the selfenergy should be presented as two real
numbers (one is real part of the selfenergy and the other is imaginary).
Number of rows is equal to ncorr as it should be in
the case of ncorr orbitals defined. If the sigma is
OFF then only diagonal elements of the selfenergy is read and one needs only 2*ncorr values (real and imaginary parts) of the selfenergy
diagonal elements.
Quantity 
Variable 
Selfenergy in infinity (matrix form of the selfenergy) 
sigma_tmpa (1:2*ncorr,1:ncorr) (if sigmat is ON) 
Selfenergy in infinity (vector) 
Sigma_tmp
(1:2*ncorr) 
The file siginf.dat
contains the HartreeFock values of the selfenergy for correlated orbitals. Its structure is the same as for the
selfenergy.
The file dcount.dat
contains the doublecounting matrix for related orbitals. The matrix structure is the same as the
selfenergy.
The program can be run in several different computational modes depending on what information is desired. The selfenergy is needed for all these modes even in the noninteracting LDA calculations. The selfenergy file should contain at least three columns: frequency, real and imaginary parts of the selfenergy. But total number of columns will depend on number of correlated orbitals, for each correlated orbital one should add two columns (Re and Im parts) of the selfenergy. Possible computational modes are listed below:
dos

To compute the density of states. 
Eq. (1.8) 
gf

To compute the Green’s function. 
Eq. (1.6) 
gf0

To compute the Weiss GF.

Eq. (1.9)

tay

To compute impurity levels & matrix
elements.

Eq. (1.11)

orth

To orthogonalize system with overlap matrix O
= 1


so

Spinorbital case.


sigmat 
To input / output the selfenergy, GF,
in matrix form


_{}The program writes out several files that contain information about the progress of the program and the results of computations.
1. sum.info This file contains information about the progress of the program. Most of the information is written out during the preparation process. It contains such things as the dimensions of the Brillouin zone data, information about the Hamiltonian and the overlap matrices.
2. dos.out This file contains the density of states data.
·
Column #1:
Frequency
·
Column #2: Total Density Of States
· Column #n+2: Density of states for the Hamiltonian orbital #n.
3. gloc.out This file contains the local GF.
·
Column #1:
Frequency
·
Column #2: Real part of the
local Green’s function
· Column #3: Imaginary part of the local Green’s function
4. g0.out This file contains the Weiss GF.
·
Column #1:
Frequency
·
Column #2: Real part of the
local Green’s function
· Column #3: Imaginary part of the local Green’s function
5. matel.out This file contains matrix elements, something like
_{}etc, as well as impurity levels
(see Eq. (1.11)) .
Number of columns if equal to 2*ncorr
and number of rows is
equal to ncorr.