# Manual¶

EMTO is divided into 5 subprograms called BMDL, KSTR, SHAPE, KGRN, and KFCD. In a typical calculation the programs are also executed in this order.

## BMDL¶

BMDL calculates the *Madelung potentials*, which only depend on the crystal structure of the system. Below are the input parameters of BMDL.

Parameter | Explanation | Default value |
---|---|---|

`JOBNAM` |
Name for the output files | … |

`DIR001` |
Directory, where the Madelung matrix `JOBNAM.mdl` will be stored. |
… |

`NL` |
Number of orbitals in the Madelung matrix. | `5, 6 or 7` |

Rest of the input parameters are exactly same as in KSTR. |

## KSTR¶

KSTR computes the energy dependent slope matrix in real space.

Parameter | Explanation | Default value |
---|---|---|

`JOBNAM` |
Name for the output files | … |

`DIR001` |
Directory, where the slope matrix `JOBNAM.tfh` will be stored. |
… |

`DIR006` |
Directory, where the output file `JOBNAM.prn` will be stored. |
… |

`MSGL` |
Determines what/how much will be printed on screen. | `1` |

`MODE` |
Bulk (`B` ) or a surface (`S` ) calculation. |
`B` |

`STORE` |
Store the slope matrix (`Y` ). Do not store the slope matrix
(`N` ). |
`Y` (always) |

`HIGH` |
Compute (`Y` ) or do not compute (`N` ) terms, for which
\(l'>l_{max}\). |
`Y` (always) |

`NL` |
Number of orbitals (possible choices: 1, 2, 3, 4 or 5). | `4` |

`NLH` |
The number of terms, for which \(l'>l_{max}\). | `9` or `11` |

`NLW` |
The number of positive energy Watson spheres. |
`9` |

`NDER` |
The number of slope matrix energy derivatives. | `6` (at least `4` ) |

`ITRANS` |
Screening matrix. | `3` (always) |

`NPRN` |
Determines the level of output printing in `JOBNAM.prn` |
… |

`(K*W^2)` |
The reference point of the slope matrix Taylor expansion. | `0` |

`DMAX` |
The radius of the effective cluster in units of lattice constant `A` . Its value depends on the crystal structure and should be carefully chosen, because it determines the amount of lattice vectors and atomic sites. |
… |

`RWATS` |
Determines the radius of the Watson sphere, which radius becomes
`DMAX + RWATS` . |
`0.1` |

`NQ` |
The number of atomic sites in the unit cell. | … |

`LAT` |
Determines the underlying Bravais lattice: | |

`1` : Simple cubic |
||

`2` : Face centered cubic |
||

`3` : Body centered cubic |
||

`4` : Hexagonal close packed |
||

`5` : Simple tetragonal |
||

`6` : Body centered tetragonal |
||

`7` : Rhombohedral |
||

`8` : Simple orthogonal |
||

`9` : Base centered orthorhombic |
||

`10` : Body centered orthorhombic |
||

`11` : Face centered orthorhombic |
||

`12` : Simple monoclinic |
||

`13` : Base centered monoclinic |
||

`14` : Triclinic |
||

`IPRIM` |
`1` if default primitive lattice vectors are used. `0` if user
defined vectors are used. |
… |

`NGHBP` |
Number of unit cells in the effective cluster | `13` |

`A,B,C` |
Lattice constants | … |

`BSX,BSY,BSZ` |
Lattice vectors in units of `A` |
… |

`QX,QY,QZ` |
Basis vectors in units of `A` |
… |

`a/w` |
Hard sphere radius in units the Wigner-Seitz radius | `0.7` |

`LAMDA` |
Constants in the Madelung matrix Ewald sum | … |

## SHAPE¶

SHAPE reads the slope matrix `JOBNAM.tfh`

created by KSTR and computes the so called *shape function*, which transforms any integral over the unit cell into an integral over a sphere surrounding the unit cell.

Parameter | Explanation | Default value |
---|---|---|

`JOBNAM` |
Name of the input and output files | … |

`FOR001` |
Directory of the slope matrix `JOBNAM.tfh` |
… |

`DIR002` |
Directory, where the shape function `JOBNAM.shp` will be stored |
… |

`DIR006` |
Directory, where the output file `JOBNAM.prn` will be stored |
… |

`MSGL` |
Determines what/how much will be printed on screen. | `1` |

`Lmax` |
The number of orbitals in the shape function | `30` |

`NSR` |
Number of points in the radial grid the shape functions are calculated over | `129` |

`NFI` |
Number of points on the numerical integral grid | `30` |

`NPRN` |
If `1` , the radial grid will be printed in the output file `JOBNAM.prn` . If `0` , it will not be printed |
… |

`IVEF` |
Determines the break points of the shape function Voronoi polyhedron for the radial grid | `3` |

`0` : No break points |
||

`1` : Only faces |
||

`2` : Faces and edges |
||

`3` : Faces, edges, and vertices |

## KGRN¶

KGRN solves the actual self-consistent Kohn-Sham equations by using the so called Korringa-Kohn-Rostoker *Green’s function* technique.

Parameter | Explanation | Default value |
---|---|---|

`JOBNAM` |
Name of the input and output files | … |

`STRT` |
`A` = Start the calculation from scratch. `B` = Resume using former results. `N` = Start a new calculation, but using former kmesh etc. |
`A` |

`FOR001` |
Directory of the slope matrix `*.tfh` |
… |

`DIR002` |
Directory, where the potential `JOBNAM.pot` will be stored |
… |

`DIR003` |
Directory, where the atomic information `JOBNAM.atm` will be stored |
… |

`FOR004` |
Directory of the Madelung matrix `*.mdl` |
… |

`DIR006` |
Directory, where the output file `JOBNAM.prn` will be stored |
… |

`DIR009` |
Directory, where the energy mesh `JOBNAM.zms` will be stored |
… |

`DIR010` |
Directory, where the charge density `JOBNAM.chd` will be stored |
… |

`MSGL` |
Determines what/how much will be printed on screen. | `1` |

`EXPAN` |
Single (`S` ), double (`D` ) or modified double (`M` ) Taylor expansion for the slope matrix in the kink-elimination equation. When the semicore states lie far from the Fermi level, the single expansion (`S` ) might not be accurate enough to describe all of the occupied electronic states of the valence band in which case `D` or `M` becomes necessary. |
`S` |

`FCD` |
`Y` , if the full charge density should be calculated. `N` , if not. |
`Y` |

`FUNC` |
Determines whether to use the atomic sphere approximation (`ASA` ) or the spherical cell approximation (`SCA` ) to solve the Poisson equation of the electrostatic potential. |
`SCA` |

`NITER` |
Maximum number of iterations in the main self-consistent DFT loop. | `50` |

`NLIN` |
Maximum number of iterations in the Dyson equation. |
`30` |

`NPRN` |
Determines what/how much will be printed in the output file `JOBNAM.prn` |
… |

`NCPA` |
Maximum number of iterations in coherent potential approximation (CPA) loop. |
`7` |

`NT` |
The total number of so called sublattices. Atomic sites, which are occupied by identical elements and have identical spatial symmetry (except for a simple rotation) and magnetic moments, belong in the same sublattice. Using sublattices makes the calculations faster, because only one atomic site needs to calculated; the information is then just copied to the rest of the atomic sites in the same sublattice. | … |

`MNTA` |
The number of different atomic species in a given atomic site. For a “normal” calculation this value is always `1` and for a CPA calculation it would be > `1` |
… |

`MODE` |
`2D` or `3D` space. |
`3D` (always) |

`FRC` |
Determines whether (`Y` ) or not (`N` ) forces should be calculated. |
`N` |

`DOS` |
With `D` the density of states (DOS) will be calculated. With `F` the Fermi surface. With `N` neither. |
`N` |

`OPS` |
Not used. | `N` (always) |

`AFM` |
Calculation is: ferromagnetic (`F` ), non magnetic (`P` ), fixed total spin (`M` , check also `MMOM` ), or fixed individual spins (`m` , check also `Fix` ). |
… |

`CRT` |
`M` or `m` for a metallic system. `I` for an insulator. |
`M` |

`Lmaxh` |
The number of orbitals in the full charge density calculation. | `8` or `10` |

`Lmaxt` |
The number of tails. | `2` - `4` |

`NFI` |
Determines the number of mesh points in the numerical Gaussian integration method. | `31` |

`FIXG` |
Determines the way the so called muffin-tin zero \(V_0\) is calculated. The muffin-tin zero is defined as an average of the true potential in the interstitial region: \(V_0 = \frac{1}{\Omega - \sum_R \frac{4\pi s_R^3}{3}}\int_{int} V(r)\,dr\). |
`2` (always) |

`SHF` |
Determines the point where the electrostatic, kinetic, and the exchange-correlation stress tensors are calculated. | `0` |

`SOFC` |
`Y` = soft-core approximation. `N` = frozen core approximation. `Z` = all-electron frozen core contribution. In soft-core approximation the core states are updated after every self-consistent iteration. Frozen core approximation uses fixed atomistic core states throughout the calculation. |
`Y` |

`KMSH` |
Determines the k-mesh generation algorithm. |
`G` |

`IBZ` |
Determines the Brillouin zone. Should be the same number as `LAT` in BMDL and KSTR. |
… |

`NKX,NKY,NKZ` |
The number of k points. |
… |

`FBZ` |
`Y` , if the full Brillouin zone should be used. `N` , if not. |
`N` |

`KMESH2` |
Not used. | … |

`ZMSH` |
Determines the shape of the z-mesh, along which the Green’s function is calculated. | `C` |

`NZ1` |
Ceiling for the number of points in the z-mesh. After each iteration the number of points becomes \(NZ=\min(NZ+2,NZ1)\). | `16` |

`NZ2,NZ3,NRES` |
Parameters for the Fermi function integral. | `16,8,4` |

`NZD` |
The number of energy points in the DOS calculation. | `200` |

`DEPTH` |
Determines the width of the z-mesh. This value should be chosen in such a way that all valence states lie inside the area defined by the z-mesh contour integral. | … |

`IMAGZ` |
DOS and the Fermi surface calculations use their own z-mesh and this parameter controls the imaginary part of the complex points in that z-mesh. | `0.005` - `0.05` |

`EPS` |
Parameter related to the energy integral. | `0.1` - `0.2` |

`ELIM` |
Defines the crossing point of the z-mesh and the real axis as \(E_F - ELIM\), where \(E_F\) is the Fermi energy (`ZMSH` = `M` or `m` ). Used especially with semicore states. |
… |

`AMIX` |
Density mixing parameter of the simple linear mixing scheme. | `0.01` - `0.1` |

`EFMIX` |
Mixing parameter for the Fermi energy mixing. | `1.0` or `0.4` , if `CRT` = `I` |

`VMTZ` |
This parameter can be used to shift the muffin-tin zero (`FIXG` = `3` ). |
… |

`MMOM` |
Total magnetic moment in a fixed spin calculation (`AFM` = `M` ). |
… |

`TOLE` |
Convergence criterion of the total energy. | `1.d-7` |

`TOLEF` |
Convergence criterion of the Fermi energy. | `1.d-7` |

`TOLCPA` |
Convergence criterion of the CPA loop. | `1.d-6` |

`TFERMI` |
The Fermi temperature in Kelvins. Used when `ZMSH` = `F` . |
`500` |

`SWS` |
The average Wigner-Seitz radius, i.e. the volume of the unit cell, in bohr. | … |

`NSWS` |
Not used. | … |

`DSWS` |
Not used. | … |

`ALPCPA` |
The screened impurity model parameter of CPA. Technically its value should be determined by doing a supercell calculation without CPA. Normally `0.6` is used for systems like Fe-Cr and `0.9` for systems like Pd-Ag. |
`0.6` - `1.0` |

`EFGS` |
Initial guess for the Fermi level. | `0.0` |

`HX` |
The distance between points on the linear path. The linear path is a part of the Fermi energy z-mesh lying slightly above the presumed Fermi level on the real axis. It is used to easily find the Fermi level by closing the z-mesh contour at different points on the linear path without changing the rest of the z-mesh. | `0.1` (< `0.3` ) |

`NX` |
The number of trial points on the z-mesh linear path. | `5` |

`NZ0` |
Initial number of z-mesh points. | <= `NZ1` |

`STMP` |
`Y` = Temporary disk storage at `DIR011` will be used. `A` = RAM will be used. `N` = No temporaty storage is used. The option `A` is the fastest, but one needs to make sure that there is enough RAM available. |
`Y` or `A` |

`Symb` |
List of elements present in a calculation. | … |

`IQ` |
Atomic site. | … |

`IT` |
Sublattice. | … |

`ITA` |
The types of atoms occupying a given atomic site (in a CPA calculation). | … |

`NZ` |
Atomic number. | … |

`CONC` |
The concentration of a type of atom in a given atomic site. In a CPA calculation the concentrations have to add up to unity at each atomic site. | … |

`Sm(ws)` |
The size of the local muffin-tin zero in units of `S` . |
`1.0` |

`S(ws)` |
The size of the potential spheres in units of `WS` |
`1.0` |

`WS(wst)` |
The size of the atomic spheres in ASA in units of the atomic Wigner-Seitz spheres. | `1.0` |

`QTR` |
Initial charge transfer. | … |

`SPLT` |
Initial magnetic moment. | … |

`Fix` |
When `AFM=m` this spin is fixed to the value of `SPLT` (`Y` ) or it is not fixed (`N` ). |
`N` |

`IEX` |
Determines which exchange-correlation functional to use. | `4` (LDA) |

`NP` |
The number of radial grid points in the Poisson equation solver. | `251` |

`NES` |
The number of times the atomic orbital energies are adjusted in the Dirac equation solver. |
`15` |

`NITER` |
The maximum number of iterations in the Dirac solver. | `100` |

`IWAT` |
If `IWAT` = `1` , the potential `DV(I)` is corrected either with a term `ION/RWAT` or `ION/DR(I)` , where `ION` is the number of electrons of a given atomic species. `DR(I)` is the point `I` of the radial mesh. If `IWAT` = `0` , this correction is not performed. |
`0` |

`NPRNA` |
Determines how much information will be printed in the output file `JOBNAM.prn` . If `NPRNA` = `1` , the radial mesh, potentials, electron density, and the orbitals will be printed in addition to the normal printouts. |
`0` |

`VMIX` |
Mixing parameter of the potential. | `0.3` |

`RWAT` |
The radius of the Watson sphere. | `3.5` |

`RMAX` |
Controls the distribution of points in the atomic radial mesh. | `20.0` |

`DX` |
A step size controlling the number of points in the atomic radial mesh. Small values of `DX` lead to high number of points and vice versa. |
`0.03` |

`TEST` |
Convergence criterion in the Poisson equation and the orbital Dirac equations. | `1.0E-12` |

`TESTE` |
Convergence criterion in the Poisson equation and the orbital Dirac equations. | `1.0E-12` |

`TESTY` |
Convergence criterion in the Poisson equation and the orbital Dirac equations. | `1.0E-12` |

`TESTV` |
Convergence criterion in the Poisson equation and the orbital Dirac equations. | `1.0E-12` |

## KFCD¶

KFCD takes the converged total electron density created by KGRN and evaluates the DFT total energy functional in order to produce the ground state total energy of the system. The exchange-correlation energy is calculated as a perturbative correction over the exchange-correlation treatment of KGRN.

Parameter | Explanation | Default value |
---|---|---|

`JOBNAM` |
Name of the input and output files. | … |

`STRNAM` |
Name of the structure output files of BMDL, KSTR, and SHAPE. | … |

`DIR001` |
Directory of the slope matrix `STRNAM.tfh` . |
… |

`DIR002` |
Directory of the electron density `JOBNAM.chd` . |
… |

`DIR003` |
Directory of the shape function `STRNAM.shp` . |
… |

`DIR004` |
Directory of Madelung matrix `STRNAM.mdl` . |
… |

`DIR006` |
Directory where the output file `JOBNAM.prn` will be stored. |
… |

`MSGL` |
Determines what/how much will be printed on screen. | `1` |

`Lmaxs` |
When the shape function is expanded as a sum of spherical harmonics \(Y_L(r)\), `Lmaxs` determines the number of terms in this sum. |
`30` |

`NTH` |
The number of points in the spherical numerical grid for the polar angle \(\theta\). | `41` |

`NFI` |
The number of points in the spherical numerical grid for the azimuthal angle \(\phi\). | `81` |

`FPOT` |
Determines whether the full potential is calculated (`Y` ) or not (`N` ). EXPERIMENTAL FEATURE! |
`N` |

`OVCOR` |
If `OVCOR` = `Y` , a correction is added to the electrostatic potential, which is meant to mitigate the overlap error between adjacent unit cells. This overlap error is caused by the divergence of the potential at large \(l\) values. If `OVCOR` = `N` , the correction is not added to the potential. |
`Y` |

`UBG` |
If `UBG` = `Y` , a test for the accuracy of the Coulomb term is performed. In this test the Madelung constant is calculated for point charges embedded in a uniform field and then compared to the Madelung constant calculated in KSTR. If `UBG` = `N` , this test is not performed. |
`N` |

`NPRN` |
Determines how much information will be printed in the output file `JOBNAM.prn` . |
`N` |