exchange_val_hf.F90 23.6 KB
 Gregor Michalicek committed Jun 18, 2018 1 2 3 4 5 6 ``````!-------------------------------------------------------------------------------- ! Copyright (c) 2016 Peter Grünberg Institut, Forschungszentrum Jülich, Germany ! This file is part of FLEUR and available as free software under the conditions ! of the MIT license as expressed in the LICENSE file in more detail. !-------------------------------------------------------------------------------- `````` Daniel Wortmann committed Jun 21, 2017 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 ``````! Calculates the HF exchange term ! ! s s* s s* ! phi (r) phi (r) phi (r') phi (r') ! occ. n_1k n'k+q n'k+q n_2k ! exchange(n,q) = - SUM INT INT ------------------------------------------- dr dr' ! k,n' | r - r' | ! ! occ s s ~ ~ s s ! = - SUM SUM v < phi | phi M > < M phi | phi > ! k,n' I,J k,IJ n'k+q n_1k q,I q,J n_2k n'k+q ! ! for the different combinations of n_1 and n_2 and where n' runs only over the valence states. ! ( n_1,n_2: valence-valence, core-core,core-valence ) ! ! ! At the Gamma point (k=0) v diverges. After diagonalization of v at k=0 the divergence is ! restricted to the head element I=1. Furthermore, we expand <...> with kp perturbation theory. ! As a result, the total I=1 element is given by a sum of a divergent 1/k**2-term and an ! angular dependent term. The former is separated from the numerical k-summation and treated ! analytically while the latter is spherically averaged and added to the k=0 contribution of ! the numerical k-summation. (A better knowledge of the integrand's behavior at the BZ edges ! might further improve the integration.) ! ! The divergence at the Gamma point is integrated with one of the following algorithms: ! (1) Switching-Off Function ! In a sphere of radius k0=radshmin/2 a switching-off function g(k)=1-(k/k0)**n*(n+1-n*k/k0) ! (n=npot) is defined. The 1/k**2 divergence is subtracted from the BZ integral in the form ! g(k)/k**2 and integrated analytically. The non-divergent rest is integrated numerically. ! (2) Periodic Function (similar to the one used by Massidda PRB 48, 5058) ! The function F(k) = SUM(G) exp(-expo*|k+G|**3) / |k+G|**2 is subtracted from the BZ integral ! and integrated analytically. The non-divergent rest is integrated numerically. ! The parameter expo is chosen such that exp(-expo*q**3)=1/2 ! with q = radius of sphere with same volume as BZ. ! (3) Periodic Function (same as Massidda's) with expo->0 ! The function F(k) = lim(expo->0) SUM(G) exp(-expo*|k+G|**2) / |k+G|**2 is subtracted from ! the BZ integral and integrated analytically. The contribution to the BZ integral including ! the "tail" is ! vol/(8*pi**3) INT F(k) d^3k - P SUM(k) F(k) ( P = principal value ) . ! For expo->0 the two terms diverge. Therefore a cutoff radius q0 is introduced and related to ! expo by exp(-expo*q0**2)=delta ( delta = small value, e.g., delta = 1d-10 ) . ! The resulting formula ! vol/(4*pi**1.5*sqrt(expo)) * erf(sqrt(a)*q0) - sum(q,0