Electronic Shells in Spherical Metal Clusters Complementing material to the book “Simple Models of Many-Fermion Systems” by J.A. Maruhn, P.-G. Reinhard, and E. Suraud Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 The Constituents and Their Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 The Jellium Model for the Ionic Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 The Hamiltonian for the Valence Electrons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Observables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Reduction to Spherical Symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Radial Wavefunctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Bookkeeping of States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Numerical Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Representation and Operations on a Radial Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Storage of Wavefunctions and Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Iterative Solution of the Kohn–Sham Equations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Explanation of Input and Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 First Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 2 3 5 6 6 7 9 9 11 12 15 17 19 1 Introduction This package provides a code for computing the valence electron shells in simple metal clusters. The aim is twofold: First, we have an example for self-consistent calculations in a finite many-Fermion system based on density-functional theory (see Chap. 6 of the book). Second, we exemplify the physics metal clusters and their pronounced electronic shell effects (see Chap. 3 of the book). The prototypes of self-consistent models are the Hartree and Hartree–Fock approaches used since long for atoms [17]. They are often summarized under the notion of “mean-field” models and those have been extended to almost any field in physics dealing with the many-Fermion problem. It turns out, however, that straightforward Hartree–Fock employing the basic two-body forces fails in most cases as it misses the correlations effects which are crucial in almost all systems, may it be atoms, molecules, or nuclei. The success of empirical shell models, on the one hand, and the urgent need for an independent particle basis, on the other hand, have led to the development of mean-field approaches with effective interactions where all 1 2 Electronic Shells in Spherical Metal Clusters complicated correlation effects are built into the effective Hamiltonian of the model. The key word for this procedure is energy-density formalism. It is well developed and microscopically founded for many-electron systems, for reviews see [8, 15]. It is somewhat more phenomenological in nuclear or hadron physics. A pedagogical example for a nuclear self-consistent code was given earlier [30]. A much similar code is available for metal clusters, and this is what is being presented here. Metal clusters are small pieces of a bulk metal. They are often created by sputtering that piece off a metal surface using the brute force of an intense laser field. A more swift production technique is condensation of the metal drop out of gaseous supersonic expansion process. For reviews on clusters in general and their experimental aspects, see [13, 35]. The properties of the clusters are thus much related to the properties of the corresponding bulk material. And metals are distinguished by the existence of a conduction band where the valence electrons can move freely over long distances covering several elementary cells. A particular interesting case are the simple metals which are simple because the valence electrons are energetically well separated from all other electrons bound more tightly to the atoms. The alkaline atoms, Li, Na, K, Cs, and Rb, are typical simple metals having all valence charge one. We will in the following concentrate on this class of materials. The structure of metal clusters is dominated by the shell structure of the valence electrons; for a theoretical review, see [7]. Unlike nuclei, clusters can be produced at any size, and thus they have been the ideal tool to study the appearance of super-shells in very large systems [23]. We will use them here as handy examples for spherical shell structure. Before going into the details, we need to clarify the units: We are using here and in the code the natural units which means that all energies are given in Ry (Rydberg = 13.6 eV) and all length are given in Bohr radii a0 = 0.53Å. 2 The Constituents and Their Description 2.1 The Jellium Model for the Ionic Background The energetic separation of the core electrons makes them inert, and thus the simple metals can be viewed as a lattice of fixed ions and a cloud of freely wandering valence electrons. Although this provides an already much simplified picture, the necessary optimization of ionic positions is very cumbersome and limits that level of description to small clusters with nowadays N ≤ 40. Models with full ionic structure are described in [6, 19, 22]. An even simpler approach is obtained by recurring to the jellium picture where the ions are smeared out to a homogenous positive background. This approach is often employed to study the electronic structure of simple metals in bulk material and on metal surfaces [2, 33]. It is justified by arguing that the prevailing electronic effects are connected with long wavelengths which are insensitive to details of ionic structure. The jellium model has also been used successfully for simple metal clusters [3, 9, 7]. It is well adapted for the present 2 The Constituents and Their Description 3 Table 1 The Wigner–Seitz radii rs and the core radii rc for the alkaline metals Element rs [a0 ] Li Na K Rb Cs 3.25 3.96 4.86 5.20 5.62 purpose of presenting a code which gives first insight into the electronic structure of metal clusters. Thus we will model the positive background of the cluster as ρ J (r ) = ρ0 √ 1 + exp rr −R / 3 , ρ0 = 3 4πrs , 1/3 R = r s NI , (1) c where rs is the bulk Wigner–Seitz radius of the system, ρ0 the bulk equilibrium density, R the radius of the system, and NI the number of atoms (= ions) in the cluster. Note that this jellium model has a Woods–Saxon surface profile with a finite width. Most applications of the jellium model employ a steep surface profile which is recovered from the form (1) in the limit rc → 0. A finite width can account to some extent for the folding with the ionic pseudo-potential [5, 31, 28]. This is achieved when inserting the Ashcroft empty core radius rc in the above profile. The pseudo-potential describes the effective interaction between a valence electron and the ion including all its core electrons [1]. The rc is determined such that a bulk model with ionic structure has the desired empirical equilibrium density and rs . Last not least, the background profile (1) with finite surface width is numerically preferable because a smooth function is easier to represent on a grid. After all these very quick explanations, one is right if one suspects more subtle theoretical aspects behind these pseudo-potentials. Nonetheless, we cannot extend too much on that topic and refer the interested reader to the corresponding references. For the purposes of this program, we assume the soft jellium model just as a working prescription. To make it practical, we supply in Table 1 the Wigner–Seitz and cutoff radii (in units of the Bohr radius a0 ) for the alkaline metals. The values are taken from [2, 20]. 2.2 The Hamiltonian for the Valence Electrons The valence electrons are the main constituents determining the structure of simple metal clusters. They are to be described in more detail. We will use for this the Kohn–Sham scheme based on the energy-density functional approach, for reviews see [8, 15]. The aim is to have a microscopic description in terms of a set of single-electron wavefunctions {ϕα (r)}. The reduction to a picture of independent single-particle states means that we are dealing effective with quasi-particles from which observables are to be deduced with care. The total energy and all observables 4 Electronic Shells in Spherical Metal Clusters related with the spatial density distribution are on the safe side of an appropriate energy functional is used which encompasses all correlation effects in an effective exchange-correlation functional E xc . Actually, we are using the functional of [12] which reads E tot = E kin (ϕα ) + E Coul (ρel − ρJ ) + E xc (ρel ), E kin = d 3 r wα |∇ϕα |2 , (2) (3) α E Coul (ρ) = e2 2 E xc = d 3r d 3r ρ(r)ρ(r ) |r − r | , e2 = 2 Ry a0 , (4) d 3 r ρel [x (ρel ) + c (ρel )], (5) 1/3 0.916 3 Rya0 , rs (ρel ) = , rs 4πρel 1 1 , c (ρel ) = −0.066 Ry (1 + x 3 ) log (1 + x −1 ) + x − x 2 − 2 3 x (ρel ) = − ρel (r) = |ϕα (r)|2 , (6) x= rs , 11.4 a0 (7) (8) α where the units are given here in Ry = 13.6eV and Bohr radii a0 = 0.53 Å. The kinetic energy and the Coulomb energy are obvious. The x models the exchange in a local approximation. It is, in fact, the well-known Slater approximation [8]. The c is a local correlation functional which is derived from a correlated calculation in homogenous electron matter. Note that the accumulation of kinetic energy (3) and density (8) invokes occupation weights wα . These should be 0 or 1 in a strict Kohn– Sham scheme. We allow for broken occupation to deal with non-closed electron shells. In this case, the occupation weights are to be determined by giving the system some temperature and requiring thermal equilibrium occupations. The Kohn–Sham equations are derived from a variation of the energy functional with respect to the electronic wavefunctions. This yields from the above energy functional the Kohn–Sham equation (h KS (ρel ) − εα ) ϕα = 0, (9) where the Kohn–Sham Hamiltonian is derived formally as h KS ϕα = ∂E ∂ϕα+ (10) 2 The Constituents and Their Description 5 and reads explicitely h KS = − 2 2 ∇ + UC (r) + Uxc (r), 2m ΔUC = 4πρel , Uxc = (11) (12) 4 11.4 a0 x (ρel (r)) − 0.066 Ry log 1 + 3 rs (ρel (r)) , (13) where we have recurred to expression x for the exchange potential and the abbreviation rs , both specified in Eq. (6). Having the single-particle energies εα at hand, one can determine the thermal occupation weights as wα = 1 , F 1 + exp εα −ε T (14) where T is the assumed temperature and εF the Fermi energy, to be determined such that the desired particle number Nel = wα (15) α is obtained. The occupation weights can be set simply to wα = 1 if exactly as many states are provided as particles are contained in the system, which is typically the case in closed shell clusters. The shell sequence for spherical clusters will be discussed in Sect. 3.2. The Eq. (9) is a nonlinear equation for the single-particle wavefunctions ϕα , and occasionally the occupation weights wα . This poses a self-consistent problem because the Hamiltonian depends itself on the solution. Iterative methods are the natural strategy for this kind of problems. Our special solution technique will be discussed in Sect. 3.2 dealing with the numerical aspects, in particular in Sect. 4.3. 2.3 Observables Once the Kohn–Sham equations have been successfully solved, one can extract several observables from the solution. The most important of all is, of course, the energy E. It could be computed in a straightforward manner directly as defined in Eqs. (2), (3), (4), (5), (6), (7) and (8). The kinetic energy, however, is a bit cumbersome to compute. We exploit that it is already contained in the single-particle energies εα and compute the energy as follows: 1 E= wα εα − (16) d 3r (ρel − ρJ )UC − d 3 r ρel2 ∂ρ cx , 2 α 6 Electronic Shells in Spherical Metal Clusters where the two last terms subtract contributions which are over-counted in the mere sum of single-particle energies. This total energy, however, should not be compared with the true binding energy of a cluster, because it is evaluated with the inappropriate Coulomb energy of the smooth jellium background. The ionic structure has an important effect on the total binding. Yet, it can be incorporated into an extended version of the jellium model, the structure-averaged jellium model which is discussed in detail in [21]. Although the total energy is to be taken with care, one can very well deduce relative energies, as, e.g., the change in energy when increasing the temperature. This will deliver the properties of the heath bath of electrons. More about that in Sect. 5. Another important result is the electron density ρel . It may be looked at as such, or one can deduce various global parameters from it. For example, the root-meansquare radius rel = d 3 r 2 ρel d 3 ρel (17) or the formfactor Fel (q) by Fourier transformation. The formfactor allows to extract two further important observables, the diffraction radius Rel and the surface thickness σel . For details of its definition and evaluation, see [11, 10]. The single-particle energies εα as such provide also interesting insight into the shell structure of the electron cloud. One has to keep in mind, however, that these are not directly observable and reach a bit beyond the safe grounds of energy density formalism. Finally, one can evaluate quantities which are related to the thermal occupation which are the entropy S = − α wα log (wα ) and the free energy F = E − T S. These quantities are, of course, negligible for closed shell systems. This fact can serve as a quick indicator of the shell structure. 3 Reduction to Spherical Symmetry 3.1 Radial Wavefunctions In the following we specialize the consideration to spherical clusters. The jellium background (1) was already designed to be spherical. We assume, furthermore, that the valence electron cloud provides a spherical density. Thus all mean-field potentials in the mean-field Hamiltonian h are radially symmetric. As a consequence, the single-particle wavefunctions can be separated as ϕα (r) = Rn α lα (r ) Ylα m α (θ, φ)χνα , r (18) 3 Reduction to Spherical Symmetry 7 where Y is a spherical harmonics [14] and χ is a spinor. We will consider only even clusters which are spin-saturated such that the spinor degree-of-freedom plays no role and can be dropped in the following. The spherical separation (18) reduces the overlap matrix elements to mere radial integration ϕα |ϕβ = 0 ∞ dr Rn α lα (r )Rn β lβ (r ) . (19) The kinetic energy reduces to radial derivatives and the Kohn-Sham equation remains as an equation for the radial wavefunction 2 lα (lα + 1) 2 d 2 + + UKS (r ) Rn α lα = εα Rn α lα − 2m d 2r 2m r2 . (20) The spherical symmetry makes all states with the same n α and lα but different magnetic quantum number m α to be degenerate. Thus the single particle energies do not depend on m α as indicated in the labeling εα . Subsequently the occupation weights wα , as determined by Eq. (14), become also degenerated and are denoted now by wn α lα . The self-consistent Kohn–Sham potential requires the electron density (8) as input. It becomes also radially symmetric and it is sampled from the radial wavefunctions as ρ(r ) = 2(2lα + 1)wn α lα Rn2α lα (r ) n α lα r2 , (21) where the factor 2 stands for the spin degeneracy and the factor 2lα + 1 accounts for the degeneracy of the m α . 3.2 Bookkeeping of States These few relations (19), (20), and (21) suffice to reduce the treatment to effectively one-radial dimension. We have seen already that this induces a labeling of the states in terms of the radial quantum number n α and orbital angular momentum lα together with a 2lα + 1-fold degeneracy with respect to the magnetic quantum number. The question remains which of the states (n α , lα ) contribute significantly to a cluster with given electron number Nel . The impact of a state is regulated by its occupation weight wα and the weights depend on the single-particle energies εα according to Eq. (14). Thus it is desirable to have an ordering of the states with respect to the expected single-particle energies. And a simple, analytical expression for these is given in the harmonic oscillator model [17] yielding 1 , εα = ω 2n α + lα + 2 n α ∈ {1, 2, 3, . . .}, lα ∈ {0, 1, 2, . . .} . (22) 8 Electronic Shells in Spherical Metal Clusters This ordering groups the shells into degenerate blocks which then constitute what one calls the magic numbers. For the oscillator model we would obtain the sequence of magic numbers as Nel = 2, 8, 20, 40, 70, and further. This sequence is at variance with the actual magic numbers for metal clusters above Nel = 40 which reads 2, 8, 20, 40, 58, 92, 138, and further. The reason for this deviation is that the actual mean-field resembles more a Woods–Saxon potential where the potential approaches smoothly the value 0 for large distances, whereas the oscillator grows quadratically to infinity. Thus states with large probability at the outer bounds, i.e., states with high angular momentum, have less energy in a realistic potential than in the oscillator. This downshift grows with system size and it has reached the next lower shell for the state with n = 1 and l = 4. Subsequently, there appears a shell closure already for Nel = 58 rather than for the full next oscillator shell Nel = 70. The trend continues and the next shell closures include always the highest l state from the next oscillator shell. For even larger systems (Nel > 200), the sequence turns over once more and counts the next two high l states to the past shell. Actual turning points for very large systems depend somewhat on the model. Thus one needs to explore each system carefully when going higher up in electron number. In Table 2, we produce the assumed energy ordering and indicate shell closures for the predictable shells. This information will be used later on to arrange the level ordering and the automatic selection of states in the code. It is one of the first exercises when exploring this code to look at the spectra of single-particle energies; see Sect. 5. Table 2 The labeling and ordering of the spherical shells. The column “name” displays the naming of the state in the convention of atomic physics. The column “deg.”(=degeneracy) shows the number of degenerated states. The column “acc.”(=accumulated particle number) provides the particle number when filling up to and including the present state. Magic shell closures are indicated by a horizontal line Nr. n l naming deg. acc. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 1 1 2 1 2 1 2 3 1 2 3 1 2 3 4 1 0 1 2 0 3 1 4 2 0 5 3 1 6 4 2 0 7 1s 1p 1d 2s 1f 2p 1g 2d 3s 1h 2f 3p 1i 2g 3d 4s 1j 2 6 10 2 14 6 18 10 2 22 14 6 26 18 10 2 30 2 8 18 20 34 40 58 68 70 92 106 112 138 154 164 168 198 4 Numerical Implementation 9 4 Numerical Implementation 4.1 Representation and Operations on a Radial Grid 4.1.1 The Radial Grid After the spherical separation (18) there remain only dependences on the radial distance r in the radial wavefunctions Rn α lα and in the densities and fields. We represent all these spatially dependent quantities on an equidistant radial grid. Any radial function f (r ) is then handled as f (r ) ≡ f i = f (ri ) , ri = (i − 1)Δr , i = 1, . . . , Nr , (23) where Δr is the grid spacing and Nr the number of grid points. Radial integration is done by the simple trapezoidal rule as ∞ dr F(r ) = Δr 0 1 F 2 1 + N r −1 Fi + 12 FNr ≈ Δr i=2 Nr Fi , (24) i=2 where we exploit that all integrands which occur in spherical calculations vanish at the origin (i = 1) and are negligible at the boundary (i = Nr ). It is to be remarked that this simple trapezoidal rule is very precise for integrands which vanish at the boundaries and have vanishing first derivative there. The precision becomes comparable or even better than a five-point integration formula. The reason is that one actually works with a trapezoidal rule complemented by the Euler–McLaurin corrections using the first derivatives [25], and it happens that these derivative corrections just accumulate to zero under the given conditions. 4.1.2 Derivatives on the Grid For the derivatives, we use five-point precision throughout. That means 1 Δr 1 (∂r2 f )i = 2 Δr (∂r f )i = 1 − 12 f i+2 + 2 f 3 i+1 − 2 f 3 i−1 1 − 12 f i+2 + 4 f 3 i+1 − 5 f 2 i + + 1 f 12 i−2 4 f 3 i−1 − , 1 f 12 i−2 (25) . (26) These formulas cease to work at the boundaries of the grid because they would call the function f at points outside the grid, e.g., f 0 or f −1 . Fortunately, all functions have well-defined reflection symmetry about the lower bound r = 0. The radial wavefunctions behave as Rn α lα ∝ r lα +1 P(r 2 ), where P can be any polynomial, and all densities and potentials are radially symmetric thus belonging to angular momentum l = 0, i.e., they behave ∝ P(r 2 ). Thus we can define the function at the missing grid points by f0 = Π f2 , f −i = Π f i+2 , (27) 10 Electronic Shells in Spherical Metal Clusters where the parity of the field f is Π = (−)lα +1 for the radial wavefunctions Rn α lα and Π = +1 for any density or potential. The extension beyond the boundary is not so straightforward at the upper bound of the grid. But all wavefunctions and fields should be very small there. Thus one may very well switch to a less precise treatment. We assume that the wavefunctions and fields simply dissappear beyond the boundary, thus setting f Nr +1 = 0 , f Nr +2 = 0 . (28) A special treatment is devised for the second derivative in the inversion of the meanfield Hamiltonian. This will be discussed in the next section. 4.1.3 Efficient Inversion with Five-Point Precision The five-point formula (26) for the second derivative makes the Hamiltonian of the kinetic energy on the grid to be a sparse matrix with two off-diagonal lines. This could easily and quickly be inverted by a Gaussian elimination scheme. However, there is an even faster scheme [34, 16]. We write the five-point approach to the second derivative as Δ5 = D3 −1 Δ3 1 (D3 f )i = 12 f i+1 + 5 f 6 i + 1 f , 12 i−1 (Δ3 f )i = f i+1 − 2 f i + f i−1 . (29) (30) The inversion problem, e.g., for the kinetic energy inversion, ψ= p2 + E0 2m −1 ϕ, (31) can be formulated as an inhomogeneous linear equation p2 + E0 ψ = ϕ 2m (32) to be solved for ψ. We insert the second derivative in the approach (29) and operate with D3 from left. Thus we have to solve 2 − Δ3 + E 0 D3 ϕ = D3 ψ. 2m (33) The matrix to be inverted is now sparse with the structure of the three-point finite differences, i.e., with only one off-diagonal line. This can be inverted in a standard and stable manner by a Gaussian elimination scheme. Thus we obtain five-point precision at the low cost of three-point finite differences. It costs only the bit more 4 Numerical Implementation 11 care to evaluate the three-point foldings D3 before running the elimination scheme. Altogether, we have now at hand a quick scheme for the important operation of inversion (31). 4.1.4 The Coulomb Solver The Coulomb potential UC for a given charge density ρC is determined as the solution of the Poisson equation (12) which reduces for radially symmetric fields to ∂r2 (rUC ) = 4πrρC . (34) This is an inhomogeneous linear equation of the type (32) which can be solved with the techniques discussed in the previous Sect. 4.1.3. There is only one point which differs from all other inversions: The Coulomb potential decays very slowly and thus has a finite value at the boundary of the grid UC (r Nr ) = e 2 4π dr r 2 ρC (r ) r Nr . (35) This boundary value has to be supplied when starting to run the Gaussian elimination scheme backward, i.e., from i = Nr down to i = 1. 4.2 Storage of Wavefunctions and Fields The spatial fields for the densities and the potentials are stored in linear arrays [1 . . . Nr ]. For the wavefunctions comes in addition the label of the state α ≡ (n α , lα ). Each wavefunction as such is again a linear array [1 . . . Nr ]. We stack them on above another in a large linear array and handle the pointers to the first element of a given wavefunction explicitely. The order of stacking follows the double quantum number (n α , lα ). The first block contains all states with lα = 0. There are several states n α ∈ {1, . . . , n max }(lα = 0). These are stacked in the order of n α . Then follows the second block for lα = 1 running up to n max (1). And so forth until we have finished with lmax . The access to the wavefunctions is handled by a pointer field NPLA(n,l). For given angular momentum l and radial quantum number n, NPLA(n,l) points to the position of the first element of the wavefunction. The single-particle energies εα and weights wα are stored in linear arrays using the same ordering as for stacking the wavefunctions. But each state occupies now only one element instead of Nr subsequent elements. We use the pointer field to access also the single-particle energies and weights. The actual position in their array is computed as NPLSHL=NPLA(n,l)/Nr + 1, where we use integer division delivering the next full integer result. 12 Electronic Shells in Spherical Metal Clusters 4.3 Iterative Solution of the Kohn–Sham Equations 4.3.1 The Gradient Iteration The Kohn–Sham equations (9), (10), (11), (12) and (13) are nonlinear in the wavefunctions. Thus an iterative solution is needed to resolve the nonlinearity. It is advisable then to use also an iterative scheme for solving the differential equation (9) because the intermediate solutions for the wavefunctions are discarded anyway. The simplest and most robust iteration scheme to find an eigenvalue of h is ϕβ(n+1) = hϕβ(n) . This scheme will converge toward h max , the maximum eigenvalue of h. However, we are interested rather on the opposite, the minimum eigenvalue h min . To this end, we have to iterate a modified Hamiltonian whose maximum eigenvalue corresponds to h min . This is achieved by the gradient iteration ϕα(n+1) = O [1 − δh (n) ]ϕα(n) , δ< 2 h max , (36) where O means ortho-normalization of all ϕβ in ascending order of the singleparticle states ϕα . The restriction on δ guarantees that h min produces a maximal 1 − δh. Note that h (n) depends on the iteration because the Kohn–Sham equations are nonlinear equations in ϕα(n) . There is a complementing point-of-view on that gradient iteration. Remind that the Kohn–Sham equations have been derived from a minimization of the energy functional (2). And remind Eq. (10) which expresses the Kohn–Sham Hamiltonian h KS as gradient of the energy with respect to the wavefunctions. Thus we can rewrite the step (36) before ortho-normalization as ϕα(n+1) = ϕα(n) − δ ∂E , ∂ϕα+ (37) which makes it obvious that this step proceeds just along the gradient of the energy landscape, that is where its name comes from. The gradient step is simple and robust. But it can become extremely slow due to large h max in a good numerical representation of the ϕα . For example, with the kinetic energy in a finite difference scheme with five-point precision we obtain 2 16 h max ≈ 2mΔr 2 ( 3 + l max (l max + 1)) which can easily reach 2, 000 eV for a medium large cluster. On the other hand, we are looking for single-particle energies in the eV range. Thus one needs typically a few thousand iterations to obtain satisfying precision from the simple gradient iteration (36). 4.3.2 The Damped Gradient Iteration The problem with the large h max , and thus the slow convergence of the gradient step, can be easily localized for the Kohn–Sham Hamiltonian (11): it is the kinetic energy which rises to those annoyingly large values of thousands of eV whereas 4 Numerical Implementation 13 the potential energy stays typically within the range of 1–10 eV. This suggests to improve the step by damping the components with high kinetic energy and leads to the damped gradient step ϕα(n+1) =O ϕα(n) − x0 p̂2 2m + E0 h (n) − ϕα(n) |h (n) | ϕα(n) ϕα(n) , (38) where x0 and E 0 are numerical parameters to be adjusted for optimal speed and stability. The E 0 is to mimic the typical variation of the local mean-field, i.e., E 0 ≈ 1 U , which amounts to E 0 ≈ 0.5 Ry for the case of Na clusters. It needs to be 2 min readjusted for other materials. The overall step size x0 should be chosen as large as possible for optimum speed. But one ought to be careful. A small increase can turn the step to divergence. In practice it is better to go a bit below optimum to be on the safer side. We will use typically x0 ≈ 0.2 − 0.8. The lower values apply for large clusters where convergence is more critical due to the high angular momenta and kinetic energies involved. The subtraction of the expectation value h is necessary to avoid deadlock oscillations. It is physically motivated by variation with constraint on the norm ϕα |ϕα = 1 for which the single-particle energy ea is actually the Lagrangian multiplier. The subtraction serves also to switch off the step as soon as the Kohn–Sham equation (9) is fulfilled. The damped gradient step (38) is a substantial improvement over the simple gradient step. One usually obtains five digits precision within about 30–50 iteration steps. The method has been applied successfully in many different problems with different representations of the fields (finite differences, fast Fourier, Bsplines) and different dimensions (spherical 1D, axially symmetric 2D, full Cartesian 3D) [32, 29]. For applications in more than one dimension one can reduce the potentially expensive inversion of the kinetic energy by a separable approach, 2 p2 (1 + 2mp E0 ) ≈ i=x,y,z (1 + 2m iE0 ). Thus one needs inversions only successively in one dimension which makes the damped gradient an extremely fast scheme in higher dimensions; for a detailed discussion see [4]. The wavefunction iteration with the damped gradient step is so fast that the change in the potential fields gives rise to unwanted oscillations. We damp them away by mixing only a fraction ADDNEW of the new potential U (n) with the previous potential U (n−1) . In one-dimensional calculations, it is even conceivable to invert the full Kohn– p2 in the damped gradient step (38) by Sham Hamiltonian h KS . One can then replace 2m h KS . One finds that optimum convergence is achieved at parameter combinations x0 and E 0 such that the step becomes a mere inversion of h KS . This leads to the inverse −1 (n) ϕα(n) . This step converges a bit gradient step [24, 26] propagating as h KS − Umin faster than the damped gradient step (38). But we will stay here with the damped gradient step because it is more general and it is worth gaining experience with that. Those who want to have a closer look can recur to the nuclear example provided in [30]. 14 Electronic Shells in Spherical Metal Clusters Initializations in INITFC, INITGR and INITWF (n ) (n ) Given {ϕ α , α = 1 , .., A} Given {w α , α = 1 , .., A} (n ) Compute ρ el with Eq. (8) in DENSIT (n ) Compute h KS , with eqs. (11–13) and accumulat energy corrections (16) in KSPOT (n ) ( n =1) Iterate ϕ α → ϕ α step (38) in WELFDR with ( n +1) εα Compute (n ) (n ) (n ) = ϕ α | h KS | ϕ α in WELFDR ( n +1) Solve for F,q according to condition (15) in TEMPDN Check convergence Final analysis and prints of energy, radius, etc. Fig. 1 Schematic flow diagram of the code 4 Numerical Implementation 15 4.3.3 Iteration of Thermal Occupation It remains to determine the thermal occupation (14) which means to find for given single-electron energies εα a Fermi energy which allows to meet the condition (15) on the particle number. This is a typical root finding problem which we solve by the standard secant iteration [25]. It is not worth to spend much labor in optimization of this part as it costs negligible time anyway. The occupation numbers are determined in each iteration step after the new single-particle energies have been determined and before the new density is to be accumulated. 4.3.4 Summary of the Procedure The main program, HAFOMN, serves only as a short master routine which sets default values to some of the parameters, which contains exclusively all READ statements, and which then quickly calls the principle subroutine HAFOSU which performs all other tasks, as initialization, iteration, final analysis, and printing. All transfer to and from HAFOSU is done via common blocks. For detailed information on the I/O see the comments on top of HAFOSU. A full explanation of each variable in each of the COMMON blocks is given at the top of the master routine HAFOMN. The Kohn–Sham equations together with the thermal occupation are solved by an interleaved simultaneous iteration, preceeded by an initialization phase and followed by an analyzing (and printing) phase. The structure of the code within HAFOSU is shown diagrammatically in Fig. 1. 4.4 Explanation of Input and Output A typical input file ‘for005’ is shown in Table 3. The left half contains the variable to be put in. The right half carries comments for the user. Input will work without the right half. But one will soon be lost without it. Thus one better keeps a copy of this input and edits only the value on the left side according to the desired calculations. An empty entry, i.e. just a comma, recurs to the default values set in the package. In the following we will explain quickly the input parameters and provide the systems default values: IWUNIT determines the output unit (0 → file FOR006, 1 → terminal) or terminates the program (−1). TITLE is a text line carried by the program to label output by a comment. That can be used to mark results. NELECT number of electrons. NIONS number of ions = charge of jellium background. NMAXSH Maximum number of spherical shells in harmonic oscillator sequence. The code computes automatically the appropriate NMAXSH for given NELECT if NMAXSH = 0 is entered. Default = 0 RS Wigner–Seitz radius. Default = 4, i.e., Na clusters. 16 Electronic Shells in Spherical Metal Clusters RC Ashcroft √ empty core radius. It delivers the width of the Woods–Saxon shape as rc / 3. Setting rc = 0 runs the steep jellium model. TEMPRT temperature T in Ry. IFRCRS option for automatic setting of rc according to given rs : 0 = rc taken as input in ‘rc’; 1 = rc computed automatically. IENCAS option for the energy functional: 0 = full functional from [12]; 1 = only exchange, no correlations; 2 = no exchange, no correlations. IFERHO option to read the background density explicitely. IFERHO=1 overrides computation of jellium background and reads the density line by line from ‘for005’ after all other parameters have been read. NGRID = Nr = number of radial grid points. If NGRID = 0 is entered, the program computes automatically a reasonable grid size according to the number of electrons. Default = 0. RSTEP = Δr = grid spacing in units of a0 . Default = 0.6 which is appropriate for Na clusters. IWR = print level. Possible values are −2, −1, 0, 1. The higher the value the more is printed. Default = –1. IFPLOT = Switch for output on a plot file FOR011 (Default = 0): 0 → no plot file is written, 1 → a short plotfile is written up to the single-particle energies, 2 → in addition the densities are given, 3 → furthermore the formfactor is given. PLNAME = the first name of plot files to be written. Six digits must be specified. The densities and the potential will then be written to ‘plname’.rho and a protocol of convergence to ‘plname’.cnv . No plot files will be written if an empty string, i.e. ‘ ’, is entered. Note that subsequent runs will overwrite the files. One needs to give different names if one wants to keep all information. The plot files have a header with a # in the first column. Thus they are immediately applicable for plotting with GNUPLOT. DABR = relative error in radius which needs to be achieved before the iteration terminates. Default = 0.00001. DABE = relative error in energy which needs to be achieved before the iteration terminates. Default = 0.00001. ITMAX = maximum number of iterations. Default = 500 ITPR = number of secant iteration steps to determine ε F . Default = 50. X0DAMP = δ = step size of damped gradient step (38). Default = 0.3. E0DAMP = E 0 = energy parameter in the kinetic energy damping (38). Default −3/2 = 5rs . The default will work for neutral or not too highly charged clusters. ADDNEW = weight for mixing the new potentials U (n) to the previous potentials U (n−1) to stabilize the iteration. Default = 0.3. The actual example, shown in Table 3, runs three subsequent cases. First, a neutral small cluster, Na8 , using default values; but the defaults have been explicitely put in via ‘for005’. Second, a positively charged small cluster, Na+ 9 , employing the default 5 First Applications 17 Table 3 Typical input file ‘for005’ 0, ‘test case Na8, show defaults’, 8,8,0, 4.0,0.0,0.0001, 1,0,0, 0,0.0, -1,2,‘ ’, 0.3,0.6,0.3, 3.0E-6,1.0E-7,50,500, 0, ‘test case Na9+, use defaults’ 8,9,, ,,, ,,, ,,, ,,, ,,, ,,,, 0, ‘test case Na8, different settings’ 8,8,7, 3.96,0.0,0.001, 0,0,0, 0,0.8, -1,3,‘Na8tst’, 0.3,0.6,0.3, 1.0E-6,1.0E-7,50,500, -1, iwunit title nelect,nions,nmaxsh rs,rc,temprt ifrcrs,iferho,iencas ngrid,rstep iwr,ifplot,plname x0damp,e0damp,addnew dabr,dabe,itpr,itmax iwunit title nelect,nions,nmaxsh rs,rc,temprt ifrcrs,iferho,iencas ngrid,rstep iwr,ifplot,plname x0damp,e0damp,addnew dabr,dabe,itpr,itmax iwunit title nelect,nions,nmaxsh rs,rc,temprt ifrcrs,iferho,iencas ngrid,rstep iwr,ifplot,plname x0damp,e0damp,addnew dabr,dabe,itpr,itmax iwunit values by putting a mere comma where the default is desired; this is the simplest way to vary the system (sizes and rs ) without bothering too much about the numerical parameters. And the third case runs again Na8 but now with non-default settings. Note in particular the larger space of single-particle states (NMAXSH). This will display in file ‘for011’ also the energies of the first few unoccupied states. 5 First Applications The first step is, of course, to install the code and to test it by running the above sample input. To this end, one generates a new directory for that code and copies the Fortran source ‘spherclu.f’ as well as all include files ‘*.inc’ into it. The code uses Fortran77 with a few nonstandard extension, in particular the ‘do . . . enddo’ clause. It compiles on most modern Fortran compilers. But it is important to set the ‘static’ option of the compiler to enforce that all variables are kept in core (and not removed when leaving a subroutine). A first test is to run the sample input. A sample output to compare with is provided in the file ‘for011.smp’. When the code has been successfully installed, there opens a wide variety of possible investigations. We will hint in the following a few of the possibilities. 18 Electronic Shells in Spherical Metal Clusters 1. To get an idea of the structure, one can compute a series of magic clusters, Na2 , Na8 , Na20 , Na40 , Na58 , Na92 , Na138 , and Na198 (all of them will work well with the default shell selection NMAXSH=0) and plot their densities as well as their potentials (mind to give different plot-file names ‘plname’ for different clusters). One sees the system grow in radius while the average central density is about constant. The density profiles look like a Woods–Saxon shape bat have oscillations about it. These oscillations are due to shell structure [27]. The potentials behave much similar. It is also interesting to compare the electron density and the jellium density and to plot also the difference of both densities, i.e., the net charge density. Particularly for the larger clusters we see how the Coulomb force has arranged a neutralization in the bulk. It is only at the surface that the electrons reach farther out due to quantum effects. 2. In a next step, one can compare the densities from the smoothened jellium model (IFRCRS=1, RC=0) with those of the steep jellium model (IFRCRS=0, RC=0), for one fixed clusters, e.g. Na92 . There is not much of a change in the interior but the density profiles at the surface differ. Look in particular at the net charge density. There is a much stronger fluctuation for the steep jellium model. 3. Variation of the charge state is another important direction. Take, e.g., the magic electron number Nel = 92 and vary the ion number Nion = 91, 92, 93, 94, and 95. Plot again densities and potentials. The potentials will become deeper with increasing net charge, and accordingly the electron spill out at the surface will shrink. You can go even higher in the charge state. But at some point you need to enhance the value of E0DAMP because the default setting is tuned to neutral clusters and their neighbors. 4. For all above variations, it is also worthwhile to look at the trends of the singleparticle energies. These are provided at the end of file ‘for011’. You have to develop your own strategy how to visualize the spectra. 5. An extension of the studies, still concerned with the physical properties, is to switch on temperature. To this end, one has to choose the number of shells larger than the minimum necessary, see the output of the above tests or Table 2. Typical temperatures are in the range T = 0.002−0.02 Ry. Lower temperatures may run into trouble in the root finding routine for magic systems. For higher temperatures, the electron cloud dissolves (watch the occupation of continuum states). With temperature switched on, all clusters, magic as well as non-magic ones, can be computed on an equal footing. It is interesting to study the trend of the binding energy with temperature. Look, e.g., for the specific heat per particle (i.e., ∂∂T NE ) and compare it for magic systems Nel = 8, 20, 40 and for non-magic ones Nel = 14, 30. Compare the result also with the predictions of the Fermi gas model (see a textbook of statistical physics for this). 6. It is also interesting to study the numerical aspects of the procedure. Take a test case like Na92 and vary the convergence parameters X0DAMP and/or E0DAMP. The plot output of the convergence is found on ‘plname’.cnv. It is also worthwhile to check the stability of the results with the grid spacing RSTEP of box size RSTEP*NGRID. For a discussion of these numerical aspects of the method, see [26, 4]. References 19 Note that the code actually has built in more shells than displayed Table 2. But the higher states require some experience. You can develop your own picture while setting a large number of states and running the code with a very low temperature. The emerging single-particle states and occupation weights give you insight into the shell structure. References 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. N.W. Ashcroft, D.C. Langreth, Phys. Rev. 155 682 (1067) N.W. Ashcroft, N.D. Mermin, Solid State Physics (Saunders, Philadelphia, 1976) D.E. Beck, Sol. St. Comm. 49 381 (1984) V. Blum, G. Lauritsch, J.A. Maruhn, P.-G. Reinhard, J. Comp. Phys. 100 364 (1992) S.A. Blundell, C. Guet, Z. Phys. D28 81 (1993) V. Bonačić-Koutecký, P. Fantucci, J. Koutecký, Chem. Rev. 91 1035 (1991) M. Brack, Rev. Mod. Phys. 65 677 (1993) R.M. Dreizler, E.K.U. Gross, Density Functional Theory (Springer, Berlin, 1990) W. Ekardt, Phys. Rev. Lett. 52 1925 (1984) J. Friedrich, P.-G. Reinhard, Phys. Rev. C33 335 (1986) J. Friedrich, N. Voegeler, Nucl. Phys. A373 191 (1982) O. Gunnarsson, B.I. Lundqvist, Phys. Rev. B13 4274 (1976) H. Haberland (ed.), Clusters of Atoms and Molecules (Springer, Heidelberg, 1994) J.D. Jackson, Classical Electrodynamics (Wiley, New York, NY, 1975) R.O. Jones, O. Gunnarsson, Rev. Mod. Phys. 61 689 (1989) S.E. Koonin, Computational Physics, Ch. 3.1 (Addison-Wesley, New York, NY, 1986) L.D. Landau, E.M. Lifschitz, Lehrbuch der Theoretischen Physik, Band III: Quantenmechanik (Akademie, Berlin, 1965) G. Lauritsch, P.-G. Reinhard, Int. J. Mod. Phys. C 5 65 (1994) J.L. Martins, J. Buttet, R. Car, Phys. Rev. B 31 1804 (1985) B. Montag, PhD thesis, University of Erlangen (1995) B. Montag, J. Meyer, P.-G. Reinhard, Z. Phys. D32 125 (1994) B. Montag, P.-G. Reinhard, Z. Phys. D33 265 (1995) J. Pedersen et al., Nature 353 733 (1991) H. Pfeiffer, P.-G. Reinhard, D. Drechsel, Z. Phys. A292 375 (1979) W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery, Numerical Recipes (Cambridge University Press, Cambridge, 1992) P.-G. Reinhard, R.Y. Cusson, Nucl. Phys. A378 418 (1982) P.-G. Reinhard, J. Friedrich, N. Voegeler, Z. Phys. A316 207 (1984) P.-G. Reinhard, O. Genzken, M. Brack, Ann. Phys. (Leipzig) 5 1 (1996) P.-G. Reinhard, F. Grümmer, K. Goeke, Z. Phys. A317 339 (1984) P.-G. Reinhard, in Computational Nuclear Physics I, edited by K. Langanke, S.E. Koonin, J.A. Maruhn, p. 28 (Springer, Berlin,1990) Ll. Serra, G.B. Bachelet, N. Van Giai, E. Lipparini, Phys. Rev. B48 14708 (1993) M.R. Strayer, R.Y. Cusson, A.S. Umar, P.-G. Reinhard, D.A. Bromley, W. Greiner, Phys. Lett. B135 261 (1984); R.Y. Cusson, P.-G. Reinhard, M.R. Strayer, J.A. Maruhn and W. Greiner, Z. Phys. A320 475 (1985) K.-D. Tsuei, E.W. Plummer, A. Liebsch, E. Pehlke, K. Kempa, P. Bakshi, Surf. Sci. 247 302 (1991) R. Zurmühl, Praktische Mathematik, Chap. VII, Sect. 3 (Springer, Berlin, 1963) W. de Heer, Rev. Mod. Phys. 65 611 (1993)