<<

Computer Physics Communications 79 (1994) 447—465 Computer Physics North-Holland Communications

Simultaneous calculation of the equilibrium atomic structure and its electronic using density-functional theory

Roland Stumpf and Matthias Scheffler Fritz-Haber-Institut der Max-Planck-Gesellschaft, Faradayweg 4-6, D-14 195 Berlin (Dahlem), Germany

Received 12 October 1993

This computer program solves self-consistently the Kohn—Sham equations for the valence electrons using the iterative method suggested by Car and Parrinello. The atomic geometry is determined simultaneously using a damped dynamics approach. The computer code can handle isolated atoms, clusters, crystals, surfaces, and defects. The materials can be semiconductors and metals. The code is especially optimized to treat systems with hundreds of atoms, yet the hardware needs are just a <15k$ workstation.

PROGRAM SUMMARY

Title of program: f h i 93 c p No. of lines in distributed program, including test data, etc.: 48230 Catalogue number: ACTF Keywords: density-functional theory, local-density approxima- Program obtainable from: CPC Program Library, Queen’s tion, ab-initio pseudopotentials, plane-wave basis, supercell, University of Belfast, N. Ireland (see application form in this chemical binding, total-, structure optimization, crys- issue) tals, defects in crystals, surfaces, molecules

Licensing provisions: Persons requesting the program must Nature of physical problem sign the standard CPC non-profit use license (see license In poly-atomic systems, such as molecules [1,2], crystals and agreement printed in every issue). defects in crystals [3,4], and surfaces [5—9], it is highly desirable to evaluate the electronic structure and to deter- Computer for which the program is designed and others on mine the stable as well as metastable atomic geometry from which it has been tested: first principles and without introducing severe approxima- Computer: IBM RS/6000 370, CONVEX C-220, CRAY tions. For a correct treatment of the chemical binding it is Y-MP, IBM-PC; Installation: Fritz-Haber-Institut der Max- most important to take the quantum-mechanical kinetic-en- Planck-Gesellschaft, Berlin ergy operator as well as the self-consistent electronic into account. The main challenge of state-of-the-art Operating system: UNIX calculations is to treat systems composed of 100 or more atoms without any restrictions to the system symmetry. Programming language used: FORTRAN 77 The computer code described below enables such calcula- tions, where the only (possibly relevant) approximation is the Memory required to execute with typical data: 2—500 MB exchange-correlation energy functional, which is taken in the local-density approximation [101. We use the frozen-core No. of bits in a word: 32 approximation, treating the ions by ab-initio, fully separable pseudopotentials [11,12]. Memory required to execute with typical data: 4 MB Method of solution

______The -space method [4,13] is the most efficient way Correspondence to: R. Stumpf, Sandia National Laboratories, to calculate the Hamiltonian in a plane-wave basis set. To Albuquerque, NM 87185-1111, USA (present address). E-mail: [email protected].

0010-4655/94/$07.00 © 1994 — Elsevier Science BY. All rights reserved SSDI 0010-4655(93)E0137-C 448 R. Stumpf, M Scheffler / Simultaneous calculation of the equilibrium atomic structure solve the eigenvalue problem and to achieve self-consistency [4] WE. Pickett, Comput. Phys. Rep. 9 (1989) 117. Car and Parrinello [14] proposed an iterative approach, where [5] J. Hebenstreit, M. Heinemann, and M. Scheffler, Phys. in each iteration the Hamilton operator is applied to the wave Rev. Lett. 67 (1991) 1031. functions. This gives the analog of a on each wave-func- J. Hebenstreit and M. Scheffler, Phys. Rev. B 46 (1992) tion coefficient which points towards the electronic ground 10134. state. The program uses this iterative approach for the [6] J. Neugebauer and M. Scheffler, Phys. Rev. B 46 (1992) electronic wave functions and optimizes the total energy with 16067. respect to the atomic-structure degrees of freedom by a [7] 0. Pankratov and M. Scheffler, Phys. Rev. Lett. 70 (1983) damped dynamics, using the Hellman—Feynman on the 351. ions. [8] R. Stumpf and P.M. Marcus, Phys. Rev. B 47 (1993) 16016. Restrictions on the complexity of the problem [9] R. Stumpf and M. Scheffler, Phys. Rev. Lett. 72 (1994) Only pseudopotentials with s- or p-non-locality can be used in 254. the present version and they should be given in a separable [10] D.M. Ceperley and B.J. Alder, Phys. Rev. Lett. 45 (1980) form, as for example listed in ref. [12]. The shape and size of 1814. the cell may not change during the calculation. [11] L. Kleinman and D.M. Bylander, Phys. Rev. Lett. 48 (1982) 1425. Typical running : 6 mm [12] X. Gonze, R. Stumpf and M. Scheffler, Phys. Rev. B 44 (1991) 8503. References R. Stumpf and M. Scheffler, Research report of the [1] W. Andreoni, F. Gygi and M. Parrinello, Phys. Rev. Lett. Fritz-Haber-Institut (1990). 68 (1992) 823. [13] J. Ihm, A. Zunger and ML. Cohen, J. Phys. C 12 (1979) [2] N. Troullier and J.L. Martins, Phys. Rev. B 46 (1992) 4409. 1754. [14] R. Car and M. Parrinello, Phys. Rev. Lett. 55 (1985) [3] J. Dabrowski and M. Scheffler, Phys. Rev. Lett. 60 (1988) 2471. 2183; Phys. Rev. B 40 (1989) 10391.

LONG WRITE-UP 1. Introduction The plane-wave, ab-initio pseudopotential methods in density-functional theory (DVF) for the electronic structure have been used successfully in recent years to describe the electronic, structural, elastic, and vibrational properties of poly-atomic aggregates [1—9]. Car and Parrinello [14] introduced several technically important ideas which reduce the computational task to solve the Kohn—Sham equations [151of density-functional theory (DFT) self-consistently. Using a plane-wave basis set the Hamiltonian Z is represented as a M x M matrix, which is not diagonalized explicitly, but only has to be repeatedly applied to the N lowest trial eigenfunctions ~ Here N is slightly larger than the number of occupied states but clearly smaller than M. This multiplication of Z can be done efficiently, using the fast Fourier transformation (FFT) technique and fully separable, ab-initio pseudopotentials [4,11—13].The computer code described below can be applied to metals as well as to insulators and semiconductors. For metals, the Fermi smearing of occupation numbers according to the single-particle eigenvalues e~is introduced. In this case the free energy F at the electronic temperature T~1is minimized and the energy is then extrapolated to the Tel —* 0 value, E zero By using single precision when ever possible for data storage (computations are always done in double precision!), and by making efficient use of virtual memory, the fast memory needs are kept low (see, e.g., our technique for doing the orthogonalization of the wavefunctions in routine g r a h a m). The evaluation of the non-local part of the pseudopotential of atoms sitting at lattice sites is speeded up dramatically, avoiding a repeated evaluation of the same integrals. Much effort was taken to reduce the number of iterations necessary to achieve the self-consistent convergence and for increasing the convergence stability. As a starting charge density we use a superposition of contracted atomic densities. This way the starting charge density becomes already R. Stumpf, M. Scheffler / Simultaneous calculation of the equilibrium atomic structure 449

similar to the self-consistent charge density [16]. To generate the first set of wave-functions the Kohn—Sham Hamiltonian constructed from this charge density is diagonalized in a reduced plane-wave basis set. The resulting electron density is mixed with a large fraction (90%) of the starting density in order to suppress long wavelength charge density oscillations from the beginning (charge sloshing, 1/G2 instability, see ref. [4]). This mixing is reduced gradually to zero during the first seven iterations. The change of the energy and the displacement of the wavefunctions is monitored during the self-consistency iterations. By adjustment of the iterative timestep and the mixing coefficient and by moving the atoms only after forces are converged, instabilities are avoided. To get a smooth convergence for metallic systems, additionally the change of Fermi occupation numbers is damped by introducing fictitious eigenvalues [17]. These eigenvalues follow a damped equation of motion where the driving forces point towards the correct eigenvalues, so that in the end both sets of eigenvalues will be the same. The fictitious eigenvalues are used to calculate the occupation numbers according to a Fermi distribution. In calculations of slab systems with an intrinsic dipole moment a compensating electric is used. Its change during a calculation also has to be damped to avoid oscillations. In the following section 2 we recall briefly the method. The computer code and the input data are then described in section 3. Section 4 explains how the program shall be installed and the input and output of the test run are described in section 5.

2. Self-consistent solution of the Kohn—Sham equations

The key quantity of density-functional theory is the electron density n(r), which is calculated from the single-particle wave functions ~

n(r) = EfJOCC I~(r)I2, (1) 1=1 where f~°~are the occupation numbers typically given by the Fermi distribution. The wave functions obey the Kohn—Sham equations [15]

(2)

We use atomic units. The exchange-correlation potentials is given by

~xc(n(r)) = ~[n(r) xc(n(r))J (3) where exc(n(r)) is the exchange-correlation energy per electron. It is taken from the results of the homogeneous electron gas by Ceperley and Alder [10] as parametrized by Perdew and Zunger [19]. V’~is the Hartree potential, giving the electrostatic interaction with the other electrons. ~ represents the external potential operator, generated by the ionic pseudopotentials VPS of all atoms. For each atom we use the separable, fully non-local formulation after Kleinman and Bylander [11], where the pseudopoten- tial operator V~ is constructed from the local (V~~0c)and the i-dependent parts (~V 1’~)of the semi-local pseudopotentials after ref. [18] as

lmax—1 / Iz1V~~s(r)~Ps(r))K~VPs(r) I1j’~(r)I

= VI~5~b04(r)+ ~ (~PS( \ ~J~pS( \\ . (4) 1—0 in——i ~ 1m~’J I ~r1 lmkTJ/ 450 R. Stumpf M. Scheffler / Simultaneous calculation of the equilibrium atomic structure

Here ~Pj~(r)= l’im(T/t) Rr(r) are the atomic pseudo wavefunctions ~, which are also used in a contracted form [16] to generate the starting charge density. The starting wave functions 11,0 are generated by a diagonalization of the starting Hamiltonian in a reduced plane-wave basis. The steepest descent procedure for the self-consistency iterations is simply

i~t+1 = 1~Jt.t+ ~t ~~‘1J~+ orthonormality constraints (5) and ends, when the ~!‘J do not change any more The system we calculate is always contained within a periodically repeated supercell spanned by the three vectors a1, a2, and a3. The wave functions are expanded in plane waves with wave vectors G, which are linear combinations (with integer coefficients) of the reciprocal lattice vectors b1, b2, and b3 of the supercell, and sampled at the ~k points k in reciprocal space

~(r) = ~ CJG+k exp(i(G+k)r). (6) k IG+ki~Gmax The total energy in the momentum space formulation [4,13] is evaluated as

Etot = E’°’~+ ~l~s~0c + EPs,fbn_b0~ + EXC + Eion~o~~ (7) N,nk,G”~ 2(G+k)2+~I12G”~”~ 4irn(G) n(G) j,k,G~ fj°~wkIcJG+kI G*0

~ N,n~,n 5

+ (1 ~ S(G) V~~l0c(G)n(G) + ~ fOCCw~PS~flOfl_lOC

+fn(r) ~w(n(r))dr + ion-ion interaction and G=0 terms. (8)

(1 is the volume of the supercell, ~a the index of the ~a atoms. The Wk are the weights of the k-points, and S is the structure factor

S(G) = ~exp(iGR~). (9)

The ion—ion interaction and the terms containing n(G = 0), which diverge separately, are calculated partially in G-space and partially in real space by an Ewald summation [20,21].

2.1. Efficient evaluation of the non-local part of the pseudopotential

The most complicated and time consuming part of the total-energy calculation for systems containing many atoms is the non-local pseudopotential contribution

m~-i ~ I~G~ki,~,Im(G+k) cJG+kI 2 (10 1 0 m i K~(r)I~V~(r)I~(r)>’ ps,non—loc = I

* The Yim are the spherical harmonics.

** Instead of the procedure of eq. (5) often the Williams—Soler [24] algorithm is used for the convergency iterations. It gives for some systems a faster rate of convergency. R. Stumpf M Scheffler / Simultaneous calculation of the equilibrium atomic structure 451 with 4’n~i’ G+k Aii,im(G+k) = ~~(IG~I) Yim( IG+kI ) exp(i(G+k)R~) (11) and

~(IG+kI)=fr24VjPs(r) Rr(r) j1(IG+kI) dr. (12)

The j~are spherical Bessel functions. With the normal choice of ~ = 2, i.e. taking the d-potential as local, and using a small number of k-points, which is normally the case for large systems, the sums belonging to the non-local part of the pseudopotential (fourth term in eq. (8) and sums in eq. (10)) essentially reduce to a triple sum of the order N X na X n~. nG is the number of plane waves with 3a Q(Ec~1t)2/3. Notea (Gm~)that the evaluation of V~ff1P,,with the effective potential ~ being the sum of the Hartree potential, the local part of the pseudopotential, and the exchange-correlation potential, is performed in real space using fast Fourier transforms (FFT). So this calculation only scales as nG log ~ If a folding in G-space was done instead it scaled as n~.Thus, together with the orthogonalization of the wave functions (scaling a N2nG, but with a smaller prefactor), the evaluation of the non-local pseudopotential consumes the largest share of computer time for large systems. We reduce the computational effort to evaluate the non-local pseudopotential contribution by reordering the above triple sum for those atoms i~f~aIwhich are sitting on lattice sites. The coordinates of those atoms can be written as r 1~e~,= ~ with the rn’s and n’s being integer. For these atoms the exponential exp(i(G + k)Rj~a)of eq. (11) can only assume a small number (~scm.~ n0) of different values. nscm is the smallest common multiple of n1, n2, and n3. The relation between G-vectors and these n~mdifferent values for the exponential exp(i(G + k)Rji~ai)is similar for different atoms ~ Appropriate ordering, exploiting this similarity, then allows for the partitioning of the sum over G of eq. (10) into nclass sub-sums, which for every atom ~ideal are multiples of one of the ~scm exponentials. These ndlass sub-sums, multiplied by the according exponential, are then summed up instead of the previous sum of nG. The number ~cIassis independent of ~ and scales roughly like n0, depending on the type of the atomic lattice. For E~~t= 8 Ry the number of operations for the evaluation of the non-local pseudopotential contributions is lowered by about a factor of 10.

2.2. Finite electronic temperature

In order to stabilize the convergence in the calculation of a metal [61, the electronic states can be occupied according to a Fermi distribution f(e, Tel), with t~, being the eigenvalue K1If~I Z Therefore the functional which is minimized with respect to n(r) is not the total energy Etot I n(r)], but the free energy

F[n] =Etot[n] — Tdlsel, (13) with the entropy

sdl = —2kB~[f ~ ln fOCC + (1 _fOCC) ln(1 _fOCC)1 (14)

We denote the density at the minimum of F[n] as ñ(r). In order to find the equilibrium position we minimize the function F~({R~}).A better treatment would be to minimize the function E~°((R1})=

E~0t({R1)) — TdSd/2 which equals the total energy at zero temperature with an error of the order of 452 R. Stumpf, M. Scheffler / Simultaneous calculation of the equilibrium atomic structure

3) [6,22]. For the small values of kBT~, i.e. smaller than about 0.2 eV, both functions, F~({R ~9((Tel) 1}) and E,~°((R1})give practically the same geometry. For calculated binding , however, one should take the results of E~°.

2.3. Relaxation of the atomic structure

The minimization with respect to the atomic geometry is done by damped Newtonian dynamics for every coordinate X, expressed in form of a finite difference equation

XT+l=XT+~(XT_XT~) +6F~, (15) with i~ and ~ controlling damping and speed of motion. For a optimum choice of ~ this dynamics combines fast movement towards the next local minimum with vanishing oscillations around the minimum (the aperiodic limit). Increasing the damping coefficient will provide for a more robust atomic relaxation, reducing it will allow for eventual barriers to be overcome, which can lead to another, lower minimum. In all cases the minimization will make implicit use ofT —the1)~ knowledge of the history of displacementsFor fast convergencewhich is storedthe implementationin the coordinatesof this“”algorithm(XTis—optimizedX for atomic displacements as large as possible. After such a large displacement the electronic system is distorted considerably. To relax the electronic system again purely electronic iterations are performed. The next atomic displacement is performed when the atomic forces have stabilized. Important for the time consumption is, that during these purely electronic iterations the contributions to the atomic forces by the non-local part of the pseudopotentials are not evaluated. These contributions dominate the costs for the calculations of atomic forces.

2.4. Dipole correction and treatment of core-valence exchange

The program also allows for the compensation of an internal dipole moment as to avoid an artificial electrostatic field. Furthermore it is possible to apply an external field deliberately [6,25]. Implemented is also the possibility to treat the core—valence-electron XC interaction exactly by using the core charge density explicitly. This non-linear interaction is often accounted for within the pseudopo- tential in a linearized form only. The correct evaluation of the XC interaction of the core and the valence electrons is important if there is a significant overlap of core and valence electrons like in alkali-metals [5,23].

3. Program structure

The arrays, whose dimensions are system size dependent, are all dimensioned statically by parameters defined in the file pa r a me t e r - h and they are explained in table 1. The control input for the program is read from 2 units, in h e ad e r from unit 5, which is the standard input in UNIX, and in I n I t 1 from unit 10 from a file named f o r t - 1 0 - Information on these input variables is given in table 2 and 3. The information about the pseudopotentials and atomic pseudowavefunctions is read in I n I t 1 from fort.11, fort 12,..., depending on the number of atomic species. Typically Hartree atomic units are used within the program, with some exceptions: eigenvalues are transformed to eV and G-vectors are given in 2 IT/a lat with alat being a length characterizing the size of the supercell. R. Stumpf, M. Scheffler / Simultaneous calculation of the equilibrium atomic structure 453

Table 1 Dimensioning parameters in include file pa ra me t er . h. After this file is changed it is necessary that all the routines in D c p are recompiled. Parameter Comment ns a number of atomic species n a x maximum number of atoms of any species n x number of wave functions to calculate 2XE~”t)2”3 ngwx maximum number of plane waves: ngwx ~ fl/(6~rr ng w i x maximum number of plane waves for starting diagonalization n r1 x, n r2 x, n r 3 x dimensions for three-dimensional FFT mesh. The sampling theorem and experience tells that e.g. n r 1 x 0.8(2/~r)a 1i/~~is a good choice (a1 is one of the three supercell vectors). But one has to choose multiples of small primes, depending on the FFT routine used. n kp t x number of k-points used for sampling the wave function

The program starts with the routine ma I n, which calls h e ad e r and the initialization routine I n I t 1, before performing and controlling the iterations for the electronic and atomic relaxation. In I n I t 1 all the variables needed for the iterations are initialized. First control and pseudopotential information is read. Then I a t g en is called, which generates the direct and reciprocal lattice vectors and generates the matrix s of the symmetry operations according to pg 1 n d. I a t g en also calls a tp os for the generation of the ideal atomic coordinates, controlled by the variables I b r a v and c e 11 d m. After that the G and G + k vectors are calculated in g g en and g v k. If a continuation run is done, the wave-function coefficients cO and positions t a u 0 are read in by I — wave from unit 70. Taking the information about the atomic coordinates from unit 10, unit 70, and of the routine a t ~0 s and adding eventually some random contribution the final starting positions are generated. So in ph f a c the phase factors exp(i(G + k)R,) can be calculated. There additionally the sorting of the exponentials into classes is done as described in section 2. In for c s it is checked, if the atomic positions conform to the symmetry operations and the matrices for the symmetrization of the forces are prepared. The structure factors S, for the different species are calculated in strucf, their “generalized” form factors are calculated in form f (local part of the pseudopotential and the gaussian pseudo charge) and in n I s k b (non-local part of pseudopotential). If an initial diagonalization of the hamiltonian shall be done, now the charge density has to be generated. This can be done, depending on nrho, in formf a from contracted atomic pseudowavefunctions, in r hoof r from the read in wavefunctions, or from reading in the charge density on a mesh from unit 72. For every k-point the Hamiltonian matrix, developed in plane waves up to ecu t I, is then generated, with the local potential, called the effective potential, calculatedin v of r ho. The lowest eigenvalues and according eigenvectors are determined in d i ago n. The eigenvalues are used in f e r m I to determine the Fermi distribution for the occupation numbers. Now, back in ma I n, the iterations can begin:

1. For the first iterations after the initial diagonalization the long wavelength changes in the charge density are very large. This would induce oscillations in the electronic system. Therefore the old charge density is mixed with the new one at a proportion given by r h 0_rn I x_f a c - r h 0_rn I xf a c is set in the beginning to 0.90 (this means that only 10% of the charge of the new wavefunctions is mixed in!), and then continuously reduced to 0 in the first seven timesteps. For later iterations it is checked if the total energy and the mean square change of the wavefunction (e k I n c) decreases. If not, then the timestep d e I t is reduced for 3 iterations by 40%. The mixing of the charge density is switched on again (with r horn i x_f a c set to 0.3), if the atomic forces do not converge within 10 iterations after an atomic move. Mixing is done until the oscillations are damped out. 454 R. Stumpf, M Scheffler / Simultaneous calculation of the equilibrium atomic structure

Table 2 Input parameters for unit 5. Variable Type Comment nbc g i Determines if the calculation shall start with a diagonalization in I n I t 1, if set to — 1, or if the starting wave-functions shall be read in from the wave-function file fort .70, ifwet to —2. riom o r e i Gives the number of electronic timesteps that shall be executed in a run with purely electronic minimization, or, if tf o r set to true, how many ionic moves shall be done. I p r i n t i Period between output of additional information on unit 6. d e I t r The timestep in the steepest descent algorithm for the electronic mini- mizaton. Note that the factor by which the electronic forces are mul-

tiplied is d a I t * * 2 / 33 - 333 (for historical reasons). A good value for Al is 3.0, for the stiffer As pseudopotential del t should be reduced to Ca. 2.0. A reduction because of long wavelength charge density sloshing is necessary for large systems. ied y n i The index for the method used for minimization of the elec- tronic degrees of freedom. Up to now only two are implemented: 0 normal steepst descent; 1 integration in imaginary time by the formula of Williams and Soler [24], which sometimes allows for a larger timestep, especially in high symmetry situations. n at e p e i The maximum number of electronic iteratons to be done until the forces are converged again after an atomic move. If the forces do not converge, the program stops. I o r t ho i Chooses the algorithm for orthogonalization of the wavefunctions. Cur- rently only the Gram—Schmidt orthogonalization is implemented, but the routine or t ho for the lagrangian method of ref. [14] is included in the program archive to be used for real molecular dynamics. t ran e, I, r Flag (t ran e) if the electronic wavefunctions should be randomized before a ap r e the iterations, and by which amplitude (am pr e). Randomization is useful if some spurious symmetry of the wavefunctions should be overcome faster than it is done by normal equations of motion. t ra n p, I, r Flag (t r anp) if the atomic positions should be randomized before the amprp iterations, and by which amplitude (amprp). t d I p0 1 1 If set to true, the dipole correction in z-direction is done for the poten- tial, the energies and the forces. This is useful e.g. for unsymmetrical adsorption systems to decouple the surfaces and for a correct determi- nation of the work function. See section 2 and ref. [6]. tf I e I d, I, r An electrostatic field in z-direction of the given voltage is applied, if voltage tf I e Id is true. See section 2 and ref. [6]. t_a d so r b a t e I If set to true, then the atomis of the last species are regarded as ad- sorbates, which only makes a difference for how their coordinates are generated and changed in atomic moves.

tc 00 rd 1 Controls for any of the three coordinates of the adsorbates if they should ad (3) be read in from the wavefunction file and moved normally (case true),

or if they should be read in from fort . 1 0 and kept mixed during the calculation. t I mequeue r The time in the run may last at most. e ps e I r If in several successive timesteps the change of total energy is smaller than e pse I (Hartree), than the electronic system is assumed to be con- verged and the program stops. a pa f o r r Convergence criterion for atomic relaxation. If all forces are smaller than epa f o r, the atomic system is assumed to be relaxed. epa e k I n c r Additional convergency criterion for electronic convergency. ek I n c mea- sures the mean square change of an electronic coordinate per timestep. R. Stumpf, M Scheffler / Simultaneous calculation of the equilibrium atomic structure 455

Table 2 (continued)

Variable Type Comment tcondyn, ... I If t_con_dyn is set to true, then n condyn atoms are moved in a smooth (called constrained dynamic) way to some final posi- tions. The atoms and positions are specified by the next parameters: I s_con_dyn species; i acondyn atom index; t au_con_dy n (3) final coordinates; ntcondyn move to final position in nt condyn timesteps.

2. In n I r h k b the first part of applying the non-local part of the pseudopotential on the wave functions (see eq. (4)) is done. This also gives the non-local pseudopotential energy Ej~S,~bo~~— bc (see eq. (8)), as well as the non-local contributions to the forces on the atoms. The non-local contributions to the forces are costly to compute, therefore this calculation is only done in those iterations where the atoms are really moved. 3. r hoof r is the routine which calculates the kinetic energy E kin and the charge density n(r) of the wave functions (except for tband true). FFT is used to transform the wave functions to real space. n(r) is symmetrized according to pg i n d. 4. In v of r ho the effective potential l’,ff(G) is calculated and the routine e w a I d is called to do the Ewald summation for the ion-ion interaction. The contributions of both terms to the Hellman—Feynman forces on the atoms are calculated. vo f rho also determines the total energy Ebot as well as F and Ezero. For t met a I set to true (see section 2.2). 5. In d f o r c e the force on the wave functions Z1I1,k is calculated, which in ma I n is used to generate the new wavefunctions after eq. (5) or the Williams—Soler [24] algorithm, and to get the eigenvalues K~P,kI71 V’k>. The local part of the force is calculated in real space, so FFT is used twice for every wave function. 6. In g r a ham the wave functions at every k-point are orthonormalized, using Gram-Schmidt orthogonalization in a special technique called blocking. Always a set (= block) of wavefunctions is orthogonalized to the rest of the wavefunctions instead of doing this only for a single wavefunction. This way the wavefunctions have to be run through less often which saves dramatically on hard-disk access in the case where not all wavefunction coefficients fit into main memory. Another technique used in this routine is the flipping of the direction for running through large arrays for every run-trough. This also reduces disk access. 7. f e r m I is the routine to occupy the wavefunctions according to the eigenvalues and the Fermi distribution at temperature ekt. But changing of occupation numbers has to be damped, which is difficult to do for the occupation numbers directly, as they are constraint to give charge neutrality and to be in the range between 0 and 2. Therefore we use fictitious eigenvalues, instead of the calculated ones, and let them change in time after a damped equation of motion with the difference to the correct eigenvalues being the driving force. The occupation numbers then are chosen according to the ideal fermi distribution for the fictitious eigenvalues. Obviously, if everything is converged, fictitious and correct eigenvalues are equal. 8. In for c s2 the atomic forces are symmetrized according to the symmetry operations calculated in for cs. 9. f I on s c controls the calculation of forces and the relaxation of the atoms. In the first 4 timesteps after an atomic move, no forces are calculated. Then the local contributions to the forces are calculated for those atoms with t f o r d true, until their mean change in an iteration is less than 30%. In the next iteration also the non-local contributions to the forces are calculated, the forces are extrapolated, taking 456 R. Stumpf M. Scheffler / Simultaneous calculation of the equilibrium atomic structure

Table 3 Input parameters for unit 10. Variable Type Comment i bra v i Index of Bravais lattice for the supercell, e.g. 1 = sc, 2 = fcc, 3 = bce, 4 = hexagonal and all I b r a v starting with 8 are orthorhomic. i b r a v determines together with cc II d m the form and size ofthe supercell, i.e. the lattice vectors a 1, a 2, a3, and the atomic positions generated in atpoa. pg 1 rid i Point group index of the symmetry operations (see routine pg sym, fccs yin, shornb s,..). Every symmetry operation keeps the origin un- changed. Having symmetry reduces the number of k-points needed. cc 11dm (6) r cc 11dm (1) is the conventional lattice constant, or a multiple of it. celldm(2) and celldm(3), if not set toO, give in the old fashioned kind of input the extensions of the supercell in units of cc I I d rn (1). Recom- mended is for this purpose to use cc drn (4. . 6) which give the number of primitive cells the supercell shall contain in any of the 3 directions. n e I i The total number of valence electrons. The number of conduction states to calculate additionally, is given by the difference of the parameter n r a and (nel+1)/2. tine t a I I Flag that tells if Fermi occupation numbers shall be used. Should be set always to true, even for non-metals, as this is more save. ek t r The temperature of the electrons for the Fermi distribution in eV. t d e g en 1 Ifset to true, all the occupation numbers are read in later on from this file and frozen in during the calculation (see comment in routine I n I t 1). e C Ut r The kinetic energy (in Ry) of the highest wave function component G + k used for the plane-wave expansion. e c u t I r Reduced cut off energy (in Ry) for the starting hamiltonian for the initial diagonalization. m o I d I flag that indicates, if iterations should be done after the starting diagonalization. t b a n d 1 Ifset to true, the charge density and therefore the potential is never up- dated during the iterations. So e.g. a non-self consistent band structure can be calculated with non-special k-points, one does not want to use for the calculation of the total energy. The total energy for t band =. true. normally has no meaning. n rho i n r h o chooses where the starting charge density shall come from: 1 from the possibly contracted atomic pseudo charges;

2 from the wave function input file fort . 70; 3 from the charge density input file fort .72. t ps me s h I If set to true, the pseudopotentials are read from the radial logarithmic mesh, otherwise it is calculated from the fitted parameters given in the beginning of the pseudopotential input files. coo r d wave 1 Tells the program, if in a continuation run the atomic coordinates shall be read from the wave-function input file f 0 r t . 70 or not. n kpt i The number of k-points used to sample the wave-functions. Eventually n kpt is multiplied by the product of the three integers in if a Cs. If a c a (3) i Gives the number of times the k-points shall be folded in any of the 3 directions. This is an easy way to make k-space sampling similar in all dimensions. x k (3, n kpt) r The coordinates of the k-points in units of 2Tr / a 1~1or in units of recip- rocal lattice vectors b 1, b 2, and b 3, depending on the chosen I b r a v. w kpt (n k pt) r The weights of the k-points, which can be different in the multiplicity of the k-points are different for the symmetry operations given. nrvac vacancy (n r_va c) i The number and the indices of atoms to remove from the regular atomic lattice generated in the routine a t pos. this way certain atoms can be cut out of e.g. a surface to generate a surface vacancy or a step. R. Stumpf M Scheffler / Simultaneous calculation of the equilibrium atomic structure 457

Table 3 (continued) Variable Type Comment t co r, n s co r 1, i Flag if the non-linear XC-correction for species n S CO r should be per- formed. In this case the according pseudopotential file must additionally contain the core charge density, which should be smoothed at low radii for a better k-space convergency. See section 2 and [23,5]. nsp i The number of different atomic species. atom (I a) a The name of the atomic species. na (I s) i The number of atoms of this species. zv (I s) i The number of a valence electrons of this species. I onfa c (1 s) r For the special kind of damped dynamics we do in routine f I on s ~, this is 2/m in the factor to multiply the forces. It is equivalent to the factor ~dt the normal equation of motion. The stiffer the atomic pseudopotential is, the smaller I on_f a c hs to be. Examples of good values are: for Na = 15, Al = 7, Si = 5, As = 3. i on damp (1 s) r This is the damping factor, multiplying the velocity of the atoms, in our special damped dynamics scheme. Special means, that the damping is increased to (1 —10 n darnp (1 s)), for those components, where force and speed point in opposite directions. This special kind of damped dynamics effectively inhibits oscillations, without reducing the speed of convergency too much. r (i a) r The radius of the gaussian pseudocharge of species I a. It should be chosen smaller than ~ of the smallest atom-atom distance but not too small for a low plane-wave cutoff, e.g. rgauss > =1.0 for eCut=6 .0. If small changes of r g aus s change the converged total energy, than the choice was wrong. 110 c (I s) i The I-value (+ 1) of the component of the pseudopotential that shall be regarded as local. This is normally the d-potential and therefore 11 o c = 3. Setting the p-potential to local saves time and might work for the ailcalines, but with e.g. Al and Si, it gives wrong results.

t a U 0 (1 , i a, i a) r This array contains the atomic coordinates. Ifa coordinate is set to 0.0 in for t . 1 0, then the according coordinate is taken from the routine

at po S. t fo rd (I a, 1 s) I For every atom this flag determines, if the force on it shall be calculated and if it shall be moved. For atoms with t fo r d false only the local contributions to the forces in the last iteration are calculated. t ra n s_I a t t (1 —3) r This is the vectorwhich is added to the atomic positions as they are generated in a tp os. It can be used to make the atoms symmetric to a symmetry plane, which always must contain the origin to be used as symmetry operation in the program.

into account the changes in the last iterations, and then the atoms are moved with the special damped dynamics controlled by i on_f a c and i on_damp (see table 3). 10. If atoms have been moved, in ph f a C their phase factors exp(i(G + k)R~)and in s t r u c f the structure factor have to be recalculated.

11. Several output routines, whose names all beginning with o —, write interesting quantities like eigenvalues, positions, forces, etc. to units 80—88 in form of MATHEMATICA commands [26], so that the information written out can be easily analyzed. The changing positions and forces are written to unit 1, the eigenvalues and occupation numbers to unit 87. The momentary wave functions, the atomic positions and other information necessary to continue the calculation is written out on unit 71 in binary form to the so called wave-function file. The electronic charge density in binary form is given out to unit 73. 458 R. Stumpf M Scheffler / Simultaneous calculation of the equilibrium atomic structure

12. During the run of the program the variables d e I t (timestep) and n o m o r e (number of iterations to do) can be changed by writing new values to the files d e I t and stop f I I e.

The program either stops when the iteration limit is reached or the convergency conditions are fulfilled. The run can be continued, using the wavefunction file as input, as described above.

4. Making of the program

The program is written in lower case in FORTRAN 77. Non-standard is that, no line numbers are used, comment lines can be longer than 80 characters, and some variable names are longer than 6 characters. I M P L I C I I NONE declarations are used in all routines. We declare explicitly the precision in bytes for all the floating point variables, choosing REAL * 4 respectively COMPLEX * 8 for the longer arrays, where ever this is possible without significant loss of accuracy. The file pa ram e t e r - h is made known by the FORTRAN I N C LU D E statement in every routine which uses arrays with variable dimensions. The most important COMMON variables are shared among the routines by including the files commoni . h or common2 - h, where the commons are declared. There are some routines, which don’t need these includes, some BLAS routines and the EISPACK routines to find the lowest eigenvectors and eigenvalues of a general hermitian matrix. These routines we put into a library called f_too I s - a in the subdirectory Df_tools with its own makefile. For finding the lowest eigenvectors we use in our implementation (in the subroutine d i ago n) the single precision ES S L routine C H PS V (see ref. [27]), which can be replaced by EISPACK routines in f_too I s • a if necessary. Also from ESSL the three-dimensional, complex to complex, single-precision FFT routine SC F 13 is used, which can be replaced in the two subroutines f f t and f f t_f as t by the FFT routine available at the site. Information on how to do either replacement can be found in comments in the specific routines. The program, the makefile, and the data files are contained in a single tar archive, which should be extractable on any UNIX machine. The makefiles possibly have to be adapted to the computer used. Three directories are generated, Dc p, D f_too I s and D run, which contain the main program, the support library f_too I s - a, and the set of files to run the program. Calling the UNIX make command in D c p generates the program. Running the shell script run_f h I 93 c p generates the program and runs the test calculation. This shell script is also a convenient starting point for developing one’s own run time environment.

5. Test run

The test system consists of a Si atom, sitting in a surface vacancy of a 2 x 2 Al(111) slab of two layer thickness. So we have two species, Al and Si, whose pseudopotentials are taken from ref. [12]. We have a dipole moment and we get some relaxation. Four k-points and a cut off of E~~t= 8 Ry are used. The input from parameter - h, unit 5 and fort .10 togetherwith parts of the output on unit 6 is given in at the end of this paper. The input files for t - 11 and for t - 1 2, which contain the pseudopotential information for Al and Si respectively [12], and all the output files are contained in the tar file of the program distribution.

References

[1] W. Andreoni, F. Gygi and M. Parrinello, Phys. Rev. Lett. 68 (1992) 823. [2] N. Troullier and J.L. Martins, Phys. Rev. B 46 (1992) 1754. R. Stumpf M. Scheffler / Simultaneous calculation of the equilibrium atomic structure 459

[3] J. Dabrowski and M. Scheffler, Phys. Rev. Lett. 60 (1988) 2183; Phys. Rev. B 40 (1989) 10391. [4] W.E. Pickett, Comput. Phys. Rep. 9 (1989), 117. [5] J. Hebenstreit, M. Heinemann and M. Scheffler, Phys. Rev. Lett. 67 (1991) 1031. J. Hebenstreit and M. Scheffler, Phys. Rev. B 46 (1992) 10134. [6] J. Neugebauer and M. Scheffler, Phys. Rev. B 46 (1992) 16067. [7] 0. Pankratov and M. Scheffler, Phys. Rev. Lett. 70 (1993) 351. [8] R. Stumpf and P.M. Marcus, Phys. Rev. B 47 (1993) 16016. [9] R. Stumpf and M. Scheffler, Phys. Rev. Lett. 72 (1994) 254. [10] D.M. Ceperley and B.J. Alder, Phys. Rev. Lett. 45 (1980) 1814. [11] L. Kleinman and D.M. Bylander, Phys. Rev. Lett. 48 (1982) 1425. [12] X. Gonze, R. Stumpf and M. Scheffler, Phys. Rev. B 44 (1991) 8503. R. Stumpf and M. Scheffler, Research report of the Fritz-Haber-Institut (1990). [13] J. Ihm, A. Zunger and M.L. Cohen, J. Phys. C 12 (1979) 4409. [14] R. Car and M. Parrinello, Phys. Rev. Lett. 55 (1985) 2471. [15] W. Kohn and L.J. Sham, Phys. Rev. A 140 (1965) 1133. [16] M.W. Finnis, J. Phys. Cond. Mat. 2 (1990) 331. [17] M.R. Pederson and K.A. Jackson, Phys. Rev. B 43 (1991) 7312. [18]G.B. Bachelet, DR. Hamann and M. Schlüter, Phys. Rev. B 26 (1982) 4199. [19]J.P. Perdew and A. Zunger, Phys. Rev. B 23 (1981) 5048. [20]A.A. Maradudin, E.W. Montroll, G.H. Weiss, and I.P. Ipatova, Solid State Physics, Suppl. 3, ed. Montroll et al. (1971). [21] G.P. Srivastava and D. Weaire, Adv. Phys. 36 (1987) 463. [22] M.J. Gillan, J. Phys. Cond. Mat. 1(1989) 689. [23] S.G. Louie, S. Froyen and M.L. Cohen, Phys. Rev. B 26 (1982) 1738. [24] A. Williams and J. Soler, Bull. Am. Phys. Soc. 32 (1952) 409. [25] J. Neugebauer and M. Scheffler, Surf. Sci. 287/288 (1983) 572. [26] 5. Wolfram, MATHEMATICA, 2nd ed. (Addison—Wesley, Reading, MA 1991). [27] IBM Engineering and Scientific Subroutine Library Guide and Reference, IBM publication (1992). 460 R. Stumpf M Scheffler / Simultaneous calculation of the equilibrium atomic structure

TEST RUN

Include file parameter. h

integer nsx, flax, nx, ngwx, ngx, ngwix, nrlx, nr2x, nr3x integer nnrx, nkptx, nlmax, mrnaxx, n_fft_store c SPECIES ATOMS STATES parameter(nsx=2, nax=7, nx=18) c FULL BASIS parameter (ngwx=835, ngx=8*ngwx) c INITIAL BASIS parameter(ngwix30l) c FFT: X-MESH Y-MESH Z-MESH 3x=36 ,nnrx(nrlx+1)*nr2x*nr3x) paraxneter(nrlx=16,nr2x=16,nr c K—POINTS parameter (nkptx4) c Number of ffts to be stored between rhoofr and dforce parameter(n_fft_storel) c Number of lm-components and max length of radial mesh

parameter (nlmax4 , mmnaxx300)

Input for unit 5

-1 15 15 3600 nbeg, nomore, iprint, timequeue 3.0 1 1 delt, i_edyn, i_ortho .false. 0.01 .false. 0.02 tra.ne, ampre, tramp, amprp .true. .false. 18 tfor, tsdp, nstepe .true. .true. .true. .true. tadsorbate, t_coor&ad(3) .true. .false. 0.0 tdipol, t_field, voltage le—5 le—3 0.18 epsel, epsfor, epsekinc

Input for unit 10

81 2 7.52 0 0 1 2 5 ibrav, pgind, celldm(1—6) 25 .true. 0.1 .false. nel, tmetal, ekt, tdegen 8.0 4.0 ecut, ecuti .true. .false. 1 tmold, tband, nrho 2 2 .false. .true. .true. nsp, nscor, tcor, tpsmesh, coordwave R. Stumpf, M. Scheffler / Simultaneous calculation of the equilibrium atomic structure 461

1 2 2 1 nkpt, i...facs(1—3) 0.25 0.25 0.0 1.0 xk(1—3), wkpt(ikp) 1 nr...vac 1 vacancy(i) ‘aluminum’ 7 3 7.0 atom(is), na(is), zv(is), ion_fac(is) 0.7 1.0 3 ion_damp(is), rgauss(is), l_loc(is) 0.0 0.0 0.0 .t. tauO(1—3), tford 0.0 0.0 0.0 .t. tauO(1—3), tford 0.0 0.0 0.0 .t. tauO(1—3), tford 0.0 0.0 0.0 .f. tau0(1—3), tford 0.0 0.0 0.0 .f. tau0(1—3), tford 0.0 0.0 0.0 .f. tau0(1—3), tford 0.0 0.0 0.0 .f. tau0(1—3), tford ‘silicon’ 1 4 5.0 atom(is), na(is), zv(is), ion...fac(is) 0.7 1.0 3 ion_dainp(is), rgauss(is), lloc(is) 0.0 0.0 9.0 .t. tau0(1—3), tford 0.0 0.0 0.0 trans...latt(1—3) 462 R. Stumpf M. Scheffler / Simultaneous calculation of the equilibrium atomic structure

Test Run Output on Unit 6

this is FHI93CP ibm—RS6000 version ******* R. Stumpf, Sep 1993 ******** >>>nbeg= -1 nomore= 15 iprint= 20 >>>electronic time step 3.0000 ==> electronic force—fac= .2700 >accuracy for convergency: epsel= .00001 epsfor= .00100 epsekinc= .18000

>latgen:anx,any,anz 1.0000 2.0000 5.0000 >orthorhombic: ibrav,ibravh= 8 81 >celldm: 7.5200 .0000 .0000 1.0000 2.0000 5.0000 >alat 9.210081 alat_bulk 7.520000 omega= 2126.295040 al 9.21008143286474912 0. 000000000000000000E+00 0 .000000000000000000E+00 a2 0.00000000000000000E+00 10.6348859890456726 0. 000000000000000000E+00 a3 0. 00000000000000000E+00 0. 000000000000000000E+00 21.7083701215299278 bi 1 .00000000000000022 0. 000000000000000000E+00 0. 00000000000000000E+00 b2 0.000000000000 000000E+00 0.866025403784438930 0. 00000000000000000E+00 b3 0. 000000000000000000E+00 0. 000000000000000000E+00 0.424264068711928566 >>nx= 1 ny= 2 nzmax= 2 nlay= 5 n_in_plane= 4 itrans= 1 atpos: ineq_pos 6 4 5 positions tau0 from unitlO and atpos = tau_ideal .0000 5.3174 8.6833 4.6050 2.6587 8.6833 4.6050 7.9762 8.6833 3.0700 .0000 13.0250 3.0700 5.3174 13.0250 7.6751 2.6587 13.0250 7.6751 7.9762 13.0250 .0000 .0000 9.0000 1 >>ggen: ratios of FFT mesh dimensions to sampling theorem .965 .836 .921 >gvk: ngwx and max nr. of plane waves: 835 820 >ibrav 8 pgind 2 nrot 2 alat 9.210 omega 2126.2950 mesh= 16 16 36 >ecut= 8.0 ryd gcut 68.76 ng= 6393 gcutw 17.19 nkpt= 4 k-point weight # of g—vectors 1 —.12 —.11 .00 .1250 802 2 .38 —.11 .00 .1250 811 3 —.12 .32 .00 .1250 807 4 .38 .32 .00 .1250 820 Weigthed number of plane waves npw: 809.973 Ratio of actual nr. of PWs to ideal nr.: .99693 >Shell-analysis of quality of k-points after Chadi/Cohen >Number of Am0 shells N = 5 >weighted sum of A_ms= .0001501 (should be small for good k—sampling of electrons= 25, # of valence states 13, * of conduction states= 5 atomic data for 2 atomic species pseudopotentialparameters for aluminum >nr. of at.: 7, valence charge: 3.0, force fac: 7.00, speed damp: .70 > lloc:3 . of gaussian charge:1.000 pseudopotentialparameters for silicon >nr. of at.: 1, valence charge: 4.0, force fac: 5.00, speed damp: .70 > lloc:3 rad. of gaussian charge:1.000 Final starting positions: .0000 5.3174 8.6833 4.6050 2.6587 8.6833 4.6050 7.9762 8.6833 3.0700 .0000 13.0250 3.0700 5.3174 13.0250 7.6751 2.6587 13.0250 7.6751 7.9762 13.0250 .0000 .0000 9.0000 R. Stumpf, M Scheffler / Simultaneous calculation of the equilibrium atomic structure 463 phfac: is, n_ideal: 1 4 phfac: is, n_ideal: 2 0 phfac:Lscm, n_class(is) 60 60 0 >nlskb:is 1 wnl: 1 .0261286 2 .2204559 3 .2204559 4 .2204559 >nlskb:is 2 wnl: 1 .0179321 2 .1301626 3 .1301626 4 .1301626 ECUTI: energy cut-off for the starting wavefunctions: 4.00

starting density calculated from pseudo-atom formf a: rho, scalat and rscal for start rho of at. 2.678 5.000 4.500 1 formf a: rho, scalat and rscal for start rho of at. 3.595 5.000 4.000 2 >rhonor: diff between correct and actual # of el. 2.64891011 initi stores starting density for mixing in c_fft.store >>vofrho: starting dipol voltage -.137896 >s(isym) in latt coord: 1 0 0 0 1 0 0 0 >sym(..) in cart coord: 1.000 .000 .000 .000 1.000 .000 .000 .000 1.000 >s(isym) in latt coord: 1 0 0 0 -1 0 0 0 >sym(..) in cart coord: 1.000 .000 .000 .000-1.000 .000 .000 .000 1.000 >Center of symmetry symO .000000 .000000 .000000 Table of symmetry relations of atoms, iasym=nr. of symmetric at., xneutauo+ is ia lasym isym tauO xneu 1 1 1 1 .00000 5.31744 8.68335 .00000 5.31744 8.68335 1 1 1 2 .00000 5.31744 8.68335 .00000 —5.31744 8.68335 1 2 2 1 4.60504 2.65872 8.68335 4.60504 2.65872 8.68335 1 2 3 2 4.60504 2.65872 8.68335 4.60504 -2.65872 8.68335

> 1 start H: k-point: —.125 -.108 .000 no. pws: 288 > -9.718 —6.446 —6.091 —5.218 -4.090 -2.948 -2.624 -2.268 -2.059 —1.337 -.530 .412 .809 1.090 1.292 > 2.122 2.269 2.446 > 2 start H: k—point: .375 -.108 .000 no. pws: 294 > -8.990 -7.436 -5.675 -5.358 -4.151 -3.921 -3.433 —2.585 -1.528 -1.369 -.568 -.043 .274 1.484 1.548 > 1.945 3.079 3.218

***** starting eigenvalues and occupation numbers ***** nel damp true_efermi efermi ekt seq sneq 25 .700 .70048 .70048 .100 .89845 .89845

k-point —.125 -.108 .000, eigenvalues and occupation numbers: eig -9.718 -6.446 —6.091 -5.218 —4.090 —2.948 —2.624 -2.268 —2.059 -1.337 eig —.530 .412 .809 1.090 1.292 2.122 2.269 2.446 0CC 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 0CC 2.0000 1.8937 .5042 .0400 .0054 .0000 .0000 .0000 (non—eq) free energy -19.927058 a.u.

(non—eq) total energy —19.923756 a.u. Harris energy = -18.170248 a.u. kinetic energy = 6.525260 a.u. electrostatic energy = —21.688194 a.u. real hartree energy = 24.937346 a.u. pseudopotential energy = -2.656708 a.u. 464 R. Stumpf, M. Scheffler / Simultaneous calculation of the equilibrium atomic structure

n-l pseudopotential energy = 4.503707 a.u. exchange-correlation energy = -6.607793 a.u. exchange-correlation potential energy = -8.609267 au.

kohn - sham orbital energy = -3.191721 a.u. self energy = 31.516440 a.u. esr energy = .000009 a.u. gaussian energy = 39.615255 a.u.

k-point - .125 -.108 .000, eigenvalues and occupation numbers: eig -9.913 -6.623 -6.217 —5.394 -4.260 —3.073 -2.788 -2.387 —2.207 —1.485 eig -.662 .264 .661 .957 1.182 1.987 2.161 2.297 occ 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 0CC 2.0000 1.9025 .5249 .0399 .0046 .0000 .0000 .0000

>>>n_it nfl Ekinc Etot Eharr Ezero mForce mChange Seq Sneq Efermi Dvolt W_a >>> 1 0 8.7409 —19.92376 —18.17025 —19.92545 .00000 .000 .9473 .9200 .5674 .036 .000 >>>main mixes old charge with rho_mix_f ac= .800 >>> 2 0 5.9074 -19.71952 —18.16424 -19.72124 .00000 .000 1.0810 .9383 .2064 .459 3.245

>fionsc: mean displacement per coord = .020952 with tsdp= F >>> 11 0 .5783 -18.45440 —18.45346 -18.45644 .00774 .159 1.0990 1.1085 —.2211 —.108 4.650

>>> 95 12 .1728 —18.46113 —18.46137 —18.46306 .00007 .026 1.0475 1.0474 -.0542 -.056 4.280

internal energy at zero temperature = -18.463056 a.u. non-equillibrium entropy = 1.047353 kB equillibrium entropy = 1.047459 kB kT energy = .100 eV (non-eq) free energy = -18.464980 a.u. (non-eq) total energy -18.461131 a.u. Harris energy = -18.461372 a.u. kinetic energy = 6.868027 a.u. electrostatic energy = -21.013482 a.u. real hartree energy = 23.527742 a.u. pseudopotential energy = -2.217524 au. n-l pseudopotential energy = 4.405246 a.u. exchange-correlation energy = -6.503399 a.u. exchange-correlation potential energy = -8.472576 a.u.

kohn - sham orbital energy = -3.930642 a.u. self energy = 31.516440 a.u. &&s atomic positions and local+nl forces on ions: aluminum >&&s-n .006966 5.317443 8.550038 -.000240 .000000 .000045 >&&s—n 4.621964 2.700385 8.510903 .000049 .000078 .000213 >&&s-n 4.621964 7.934501 8.510903 .000049 -.000078 .000213 >&&s-l 3.070027 .000000 13.025022 - .004406 .000000 -.027103 >&&s-l 3.070027 5.317443 13.025022 -.004209 .000000 -.036022 >&&s-1 7.675068 2.658721 13.025022 .004045 .004204 -.026937 R. Stumpf, M. Scheffier / Simultaneous calculation of the equilibrium atomic structure 465

>&&s-l 7.675068 7.976164 13.025022 .004045 -.004204 —.026937 silicon >&&s-n .041806 .000000 8.768970 -.001645 .000000 .001864

> 1. k-point -.125 -.108 .000, ngw 802, EWs and OCCs: >eig:-10.495 -7.394 -6.935 -5.877 -4.760 -3.903 —3.251 -2.916 -2.626 -2.436 —1. 491 -.324 .024 .184 .483 >eig: 1.038 1.501 1.561 >occ: 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0 00 1.8756 .6353 .1708 .0093 >0cc: .0000 .0000 .0000