basis_sets.rst 17.3 KB
 anoop chandran committed Dec 16, 2018 1 2 3 4 5 6 .. _basis_sets: =================== Basis sets ===================  anoop chandran committed Dec 16, 2018 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 LAPW basis ============== The reader is supposed to be familiar with the LAPW basis set. This section is intended as a short recapitulation and to define the notation used in the manual. The LAPW method relies on a partitioning of space into non-overlapping MT spheres centered at the atomic nuclei and the interstitial region. The basis functions are defined differently in the two regions, plane waves in the interstitial and numerical functions in the spheres, consisting of a radial part :math:{u_{lp}^a(r)} (:math:{a} is the atomic index) and the spherical harmonics :math:{Y_{lm}(\hat{\mathbf{r}})}. :math:{p} is an index to distinguish different types of radial functions: :math:{u_{l0}^a=u_l^a}, :math:{\,u_{l1}^a=\dot{u}_l^a=\partial u_l^a/\partial\epsilon}, :math:{\,u_{lp}^a=u_l^{a,\mathrm{LO}},\,p\ge 2}, where we have used the usual notation of LAPW. Augmented plane waves are formed by matching linear combinations of the :math:{u} and :math:{\dot{u}} to the interstitial plane waves, forming the standard LAPW basis set. Local orbitals :math:{u^\mathrm{LO}} can be used to extend the basis set, to enable the description of semicore and high-lying conduction states. The plane waves and the angular part of the MT functions can be converged straightforwardly with the reciprocal cutoff radius :math:{g_\mathrm{max}} and the maximal l quantum number :math:{l_\mathrm{max}}, respectively, whereas the radial part of the MT functions is more difficult to converge. MTACCUR -------- (*) The accuracy of the radial MT basis can be analyzed with the keyword MTACCUR e1 e2, which gives the MT representation error [Phys. Rev. B 83, 081101] in the energy range between e1 and e2. (If unspecified, e1 and e2 are chosen automatically.) The results are written to the output files spex.mt.t where t is the atom type index, or spex.mt.s.t with the spin index s(=1 or 2) for spin-polarized calculations. The files contain sets of data for all l quantum numbers, which can be plotted separately with gnuplot (e.g., plot "spex.mt.1" i 3 for :math:{l=3}). +----------+------------------+--------------------------------------+ | Examples | MTACCUR -1 2 | | Calculate MT representation error | | | | | between -1 and 2 Hartree. | +----------+------------------+--------------------------------------+ | | MTACCUR | Automatic energy range. | +----------+------------------+--------------------------------------+  anoop chandran committed Dec 16, 2018 25 .. _mbp:  anoop chandran committed Dec 16, 2018 26   anoop chandran committed Dec 16, 2018 27 28 Mixed product basis ===================  anoop chandran committed Dec 16, 2018 29 30 31 32 33 34 35 36 37 38 39 40  The methods implemented in Spex distinguish themselves from conventional DFT with local or semilocal functionals by the fact that individual two-particle scattering processes are described explicitly. In such processes, the state of an incoming particle and the state that it scatters into form products of wave functions. Many of the physical quantities, such as the Coulomb interaction, the polarization function, and the dielectric function, become matrices when represented in a suitable product basis. In the context of the FLAPW method, the mixed product basis is an optimal choice. It consists of two separate sets of functions that are defined only in one of the spatial regions, while being zero in the other, the first is defined by products of the LAPW MT functions and the second by interstitial plane waves. (The products of plane waves are plane waves again.) The corresponding parameters are defined in the section MBASIS of the input file. GCUT (MBASIS) --------------- If :math:{N} is the number of LAPW basis functions, one would naively expect the number of product functions to be roughly :math:{N^2}. In the case of the interstitial plane waves, this is not so, since, with a cutoff :math:{g_\mathrm{max}}, the maximum momentum of the product would be :math:{2g_\mathrm{max}}, leading to :math:{8N} as the number of product plane waves. Fortunately, it turns out that the basis size can be much smaller in practice. Therefore, we introduce a reciprocal cutoff radius :math:{G_\mathrm{max}} for the interstitial plane waves and find that, instead of :math:{G_\mathrm{max}=2g_\mathrm{max}}, good convergence is achieved already with :math:{G_\mathrm{max}=0.75g_\mathrm{max}}, the default value. The parameter :math:{G_\mathrm{max}} can be set to a different value with the keyword GCUT in the section MBASIS of the input file. +---------+--------------+--+------------------------------------------------+ | Example | GCUT 2.9 | | Use a reciprocal cutoff radius of 2.9 | | | | | :math:Bohr^{-1} for the product plane waves. | +---------+--------------+--+------------------------------------------------+  anoop chandran committed Dec 16, 2018 41 42 43 44 .. _lcut: LCUT (MBASIS) --------------  anoop chandran committed Dec 16, 2018 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 The MT functions are constructed from the products :math:{u_{lp}^a(r)Y_{lm}(\hat{\mathbf{r}})u_{l'p'}^a(r)Y_{l'm'}(\hat{\mathbf{r}})}. (Obviously, the atom index :math:{a} must be indentical.) The product of spherical harmonics exands into a linear combination of :math:{Y_{LM}(\hat{\mathbf{r}})} with :math:{L=|l-l'|,...,l+l'} and :math:{|M|\le L}. In principle, this leads to a cutoff of :math:{2l_\mathrm{max}} for the products, but, as with the plane waves, one can afford to use a much smaller cutoff parameter in practice. We use :math:{L_\mathrm{max}=l_\mathrm{max}/2} as the default. The corresponding keyword in the input file is called LCUT. +---------+--------------+------------------------------------------------------------+ | Example | LCUT 5 4 | Use l cutoffs of 5 and 4 for two atom types in the system. | +---------+--------------+------------------------------------------------------------+ SELECT (MBASIS) ---------------- In the LAPW basis, the matching conditions at the MT boundaries require large :math:{l} cutoff radii, typically around :math:{l=10}, giving a correspondingly large number of radial functions. Not all of these functions must be considered in the product basis set. The keyword SELECT enables a specific choice of the radial functions. When specified, an entry for each atom type is required. The default is l;l+1 with l being the LCUT. The best way to describe the syntax of SELECT is with examples: +----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+ | Examples | SELECT 2;3 | | Use products of :math:{u_{lp} u_{l'p'}} with :math:{l\le 2} and :math:{l'\le 3} | | | | | for :math:{p=0} (so-called :math:{u}) and no function of :math:{p=1} (so-called :math:{\dot{u}}). | +----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+ | | SELECT 2,1;3,2 | | Same as before but also include the :math:{\dot{u}} functions with :math:{l\le 2} and :math:{l'\le 3}. | +----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+ | | SELECT 2,,1100;3,,1111 | | Same as first line but also include the local orbitals | | | | | :math:{p\ge 2}, which are selected (deselected) by "1" ("0"): | | | | | here, the first two and all four LOs, respectively. The default behavior is | | | | | to include semicore LOs but to exclude the ones at higher energies. | +----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+ | | SELECT 2,1,1100;3,2,1111 | | Same as second line with the LOs. | +----------+--------------------------------+------------------------------------------------------------------------------------------------------------------+ The LOs are selected by series of 1s and 0s. If there are many LOs, a definition like 0000111 can be abbreviated to 4031 (four times 0, three times 1). It is important to note that the wave-function products that must be represented consist mostly of occupied-unoccupied pairs. So, the first set of parameters before the semicolon refers to the occupied state, the set after the semicolon refers to the unoccupied state. TOL (MBASIS) ------------------ (*) The set of MT products selected by SELECT can still be highly linearly dependent. Therefore, in a subsequent optimization step one diagonalizes the MT overlap matrix and retains only those eigenfunctions whose eigenvalues exceed a predefined tolerance value. This tolerance is 0.0001 by default and can be changed with the keyword TOL in the input file. +---------+-----------------+-------------------------------------------------------------------------------+ | Example | TOL 0.00001 | Remove linear dependencies that fall below a tolerance of 0.00001 (see text). | +---------+-----------------+-------------------------------------------------------------------------------+ OPTIMIZE (MBASIS) -----------------  Anoop Chandran committed Dec 18, 2018 81 The mixed product basis can still be quite large. In the calculation of the screened interaction, each matrix element, when represented in the basis of Coulomb eigenfunctions, is multiplied by :math:{\sqrt{v_\mu v_\nu}} with the Coulomb eigenvalues :math:{\{v_\mu\}}. This gives an opportunity for reducing the basis-set size further by introducing a Coulomb cutoff :math:{v_\mathrm{min}}. The reduced basis set is then used for the polarization function, the dielectric function, and the screened interaction. The parameter :math:{v_\mathrm{min}} can be specified after the keyword OPTIMIZE MB in three ways: first, as a "pseudo" reciprocal cutoff radius :math:{\sqrt{4\pi/v_\mathrm{min}}} (which derives from the plane-wave Coulomb eigenvalues :math:{v_\mathbf{G}=4\pi/G^2}), second, directly as the parameter :math:{v_\mathrm{min}} by using a negative real number, and, finally, as the number of basis functions that should be retained when given as an integer. The so-defined basis functions are mathematically close to plane waves. For testing purposes, one can also enforce the usage of plane waves (or rather projections onto plane waves) with the keyword OPTIMIZE PW, in which case the Coulomb matrix is known analytically. No optimization of the basis is applied, if OPTIMIZE is omitted.  anoop chandran committed Dec 16, 2018 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126  +----------+-----------------------+-------------------------------------------------------------------------------------------------------------+ | Examples | OPTIMIZE MB 4.0 | Optimize the mixed product basis by removing eigenfunctions with eigenvalues below 4\pi/4.5^2. | +----------+-----------------------+-------------------------------------------------------------------------------------------------------------+ | | OPTIMIZE MB -0.05 | Optimize the mixed product basis by removing eigenfunctions with eigenvalues below 0.05. | +----------+-----------------------+-------------------------------------------------------------------------------------------------------------+ | | OPTIMIZE MB 80 | Retain only the eigenfunctions with the 80 largest eigenvalues. | +----------+-----------------------+-------------------------------------------------------------------------------------------------------------+ | | OPTIMIZE PW 4.5 | Use projected plane waves with the cutoff 4.5 \mathrm{Bohr}^{-1} (for testing only, can be quite slow). | +----------+-----------------------+-------------------------------------------------------------------------------------------------------------+ In summary, there are a number of parameters that influence the accuracy of the basis set. Whenever a new physical system is investigated, it is recommendable to converge the basis set for that system. The parameters to consider in this respect are GCUT, LCUT, SELECT, and OPTIMIZE. Finally, we show a section MBASIS for a system with three atom types as an example .. code-block:: bash SECTION MBASIS GCUT 3.0 LCUT 5 4 4 SELECT 3,2;4;2 2;3 2;3 TOL 0.0001 OPTIMIZE MB 4.5 END NOAPW (MBASIS) -------------- (*) By default, Spex constructs augmented plane waves from the mixed product basis in a similar way as in the LAPW approach. In this way, the unphysical "step" at the MT sphere boundaries is avoided. It also leads to a further reduction of the basis set without compromising accuracy. This APW construction can be avoided with the keyword NOAPW. ADDBAS (MBASIS) ------------------ (*) This keyword augments the mixed product basis by the radial :math:{u_{lp}} functions, the :math:{l} and :math:{p} parameters are according to first part of the SELECT definition. This improves the basis convergence for COHSEX calculations. CHKPROD (MBASIS) ----------------- (*) Checks the accuracy of the MT product basis. WFADJUST (MBASIS) ------------------ (**) Removes wavefunction coefficients belonging to radial functions that are not used to construct the MT product basis. (Currently the coefficients are actually not removed from the memory.) FFT (WFPROD) -------------- When the interaction potential is represented in the mixed product basis, the coupling to the single-particle states involve projections of the form :math:{\langle M_{\mathbf{k}\mu} \phi_{\mathbf{q}n} | \phi_{\mathbf{k+q}n'} \rangle\,.}  Anoop Chandran committed Dec 18, 2018 127 The calculation of these projections can be quite expensive. Therefore, there are a number of keywords that can be used for acceleration. Most of them are, by now, somewhat obsolete. An important keyword, though, is FFT in the section WFPROD of the input file. When used, the interstitial terms are evaluated using Fast Fourier Transformations (FFTs), i.e., by transforming into real space (where the convolutions turn into products), instead of by explicit convolutions in reciprocal space. For small systems the latter is faster, but for large systems it is recommendable to use FFTs because of a better scaling with system size. A run with FFTs can be made to yield results identical to the explicit summation. This requires an FFT reciprocal cutoff radius of :math:{2G_\mathrm{max}+g_\mathrm{max}}, which can be achieved by setting FFT EXACT, but such a calculation is quite costly. It is, therefore, advisable to use smaller cutoff radii, thereby sacrificing a bit of accuracy but speeding up the computations a lot. If given without an argument, Spex will use 2/3 of the above *exact* cutoff. One can also specify a cutoff by a real-valued argument explicitly, good compromises between accuracy and speed are values between 6 and 8 Bohr'^-1^'.  anoop chandran committed Dec 16, 2018 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142  +----------+---------------+-------------------------------------------------------------------------------+ | Examples | FFT 6 | Use FFTs with the cutoff 6 Bohr'^-1^'. | +----------+---------------+-------------------------------------------------------------------------------+ | | FFT | Use the default cutoff :math:{\frac{2}{3}(2G_\mathrm{max}+g_\mathrm{max})}. | +----------+---------------+-------------------------------------------------------------------------------+ | | FFT EXACT | Use the exact cutoff :math:{2G_\mathrm{max}+g_\mathrm{max}}. | +----------+---------------+-------------------------------------------------------------------------------+ APPROXPW (WFPROD) ------------------ (**) Since version 02.03 the interstitial part of the projections is calculated exactly, leading to favorable convergence with respect to GCUT. However, the exact evaluation takes considerably more time. If APPROXPW is set, the old and approximate calculation of the products is used instead. (Only included for testing.) LCUT MTTHR (MBASIS) --------------------  anoop chandran committed Dec 16, 2018 143 (**) The MT part of the projections can be accelerated as well with the keywords LCUT and MTTHR in the section WFPROD. (Note the other unrelated :ref:lcut keyword in MBASIS.) The first can be used to restrict the l cutoff of the wave functions (only for the projections), one l cutoff for each atom type. The second is a threshold value below which wave-function coefficients are neglected. By default, the two options are unused.  anoop chandran committed Dec 16, 2018 144 145 146 147 148  MINCPW (MBASIS) ---------------- (**) The keyword MINCPW modifies the plane-wave wave-function coefficients such that their absolute values become as small as possible. This reduces the error in the evaluation of the wave-function products arising from the finite G cutoff and leads to better convergence with respect to GCUT and smoother band structures, when APPROXPW is used. The coefficients can be modified, because the set of IPWs is overcomplete. If set, the eigenvectors of the overlap matrix with the n smallest eigenvalues are used for this modification. Note that it only makes sense to use this together with APPROXPW.  anoop chandran committed Dec 16, 2018 149 .. _wannier:  anoop chandran committed Dec 16, 2018 150   anoop chandran committed Dec 16, 2018 151 Wannier orbitals  anoop chandran committed Dec 16, 2018 152 153 154 155 ============================= ...