developers:pseudos:psp8_format
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
developers:pseudos:psp8_format [2015/02/25 13:30] – created Matteo Giantomassi | developers:pseudos:psp8_format [2020/08/10 18:04] (current) – Xavier Gonze | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ==== Information on the format 8 for pseudopotentials ==== | ||
+ | |||
+ | (Note: the implementation of format 8 was done by D. R. Hamann). | ||
+ | |||
+ | The format 8 for ABINIT pseudopotentials is designed to allow users | ||
+ | who wish to experiment with pseudopotentials, | ||
+ | features, to have great flexibility in doing so. | ||
+ | It does not correspond to any publicly available tabulation. | ||
+ | The open-source ONCVPSP package available at www.mat-simresearch.com produces pseudopotentials in this | ||
+ | format. | ||
+ | |||
+ | An annotated example is presented in detail below, followed by a second | ||
+ | example incorporating spin-orbit coupling. | ||
+ | below the examples, with a separate section discussing spin-orbit as produced by ONCVPSP. | ||
+ | |||
+ | When first producing a pseudopotential in this format, it would be a very | ||
+ | good idea to do a well-converged calculation of an isolated atom in a big | ||
+ | box to confirm that you are correctly recreating the atomic valence levels you intend. | ||
+ | |||
+ | The format is best explained by an example, which is presented in | ||
+ | detail below. | ||
+ | Another example of pspcod=8 is Psps_for_tests/ | ||
+ | All but the last data block of this file are read in subroutine psp8in.f. | ||
+ | The " | ||
+ | Nor are blank lines. | ||
+ | |||
+ | <code bash> | ||
+ | #Header | ||
+ | # line 1 - Title | ||
+ | # line 2 - atomic number, pseudoion charge, date | ||
+ | # line 3 - pspcod=8 identifies this format | ||
+ | # pspxc=2 identifies the exchange-correlation functional (see | ||
+ | # ixc list in the input variables documentation) | ||
+ | # lmax=2 gives the largest angular momentum potential present | ||
+ | # lloc=4 (which is >lmax) indicates that the local potential | ||
+ | # is independent of that for any angular momentum. | ||
+ | # | ||
+ | # that of a particular angular momentum channel. | ||
+ | # of 4 is arbitrary, but the index of the corresponding data block | ||
+ | # below must be consistent with the value assigned in the header.) | ||
+ | # mmax=313, giving the number of radial grid points (arbitrary). | ||
+ | # r2well=0 is an historical header holdover, and is not used | ||
+ | # line 4 - rchrg=6.18.. is the radius beyond which the model core | ||
+ | # | ||
+ | # | ||
+ | # fchrg=1.0 signals that a model core charge is present. | ||
+ | # value >0.0 will do, and the value is not used otherwise. | ||
+ | # qchrg=0.0 is a historical holdover, not used. | ||
+ | # line 5 - number of Bloechl-Kleinman-Bylander projectors nproj for each | ||
+ | # angular momentum l=0 to l=lmax. | ||
+ | # must be 0 (if lloc <= lmax). | ||
+ | # line 6 - extension_switch=0, | ||
+ | # be utilized to signal the presence of additonal lines of header | ||
+ | # information for special-purpose use in the future. | ||
+ | # The value 2 is now used to indicate the presence os spin-orbit | ||
+ | # projectors (see SPIN-ORBIT section below). | ||
+ | </ | ||
+ | |||
+ | self-intraction-corrected psp for calcium (D. R. Hamann) | ||
+ | | ||
+ | | ||
+ | 6.18295050 | ||
+ | | ||
+ | | ||
+ | |||
+ | <code shell> | ||
+ | #First data block | ||
+ | # first line - angular momentum l=0, ekb(ii) for ii=1, | ||
+ | # following lines labeled 1, | ||
+ | # 1st column: radial grid index | ||
+ | # 2nd column: radial grid mesh point (LINEAR mesh starting at 0.0) | ||
+ | # 3rd column: first BKB projector for l=0 | ||
+ | # 4th column: second BKB projector for l=0 | ||
+ | # The projectors should go smoothly to zero, or decay to negligible | ||
+ | # values within the range of the radial grid. | ||
+ | # In general there are nproj ekb and projector columns for each l, as | ||
+ | # many as you want. | ||
+ | # If nproj is zero, AND lloc/= the current l, this block is omitted. | ||
+ | # While some may be absent, l blocks must be in ascending order. | ||
+ | </ | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ..... | ||
+ | ..... | ||
+ | |||
+ | <code shell> | ||
+ | #Second data block | ||
+ | # first line - angular momentum l=1, ekb(ii) for ii=1, | ||
+ | # following lines labeled 1, | ||
+ | # 1st column: radial grid index | ||
+ | # 2nd column: radial grid mesh point | ||
+ | # 3rd column: first (only) | ||
+ | </ | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ..... | ||
+ | ..... | ||
+ | |||
+ | <code shell> | ||
+ | # Third data block | ||
+ | # as above, for l=2 | ||
+ | </ | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | ..... | ||
+ | ..... | ||
+ | |||
+ | <code shell> | ||
+ | #Fourth data block | ||
+ | # first line - index corresponding to lloc in header. | ||
+ | # the local potential does not correspond to that for any angular | ||
+ | # momentum. | ||
+ | # and this block must follow the blocks for projectors with l <=lmax. | ||
+ | # following lines labeled 1, | ||
+ | # 1st column: radial grid index | ||
+ | # 2nd column: radial grid mesh point | ||
+ | # 3rd column: local potential | ||
+ | # If lloc< | ||
+ | # among the blocks of nonlocal projectors. | ||
+ | # The last line should, ideally, be equal to -zion/ | ||
+ | # numerical data should approach -zion/r as continuously as possible, | ||
+ | # since the Fourier transform is extended to infinity analytically | ||
+ | # assumming this functional form. This isn't precisely satisfied for | ||
+ | # the expeimental potential in the example, and the result will be a | ||
+ | # small-amplitude Gibbs oscillation as a function of the Q of the | ||
+ | # Fourier-transformed local potenial with a period of 2*Pi/ | ||
+ | </ | ||
+ | |||
+ | 4 | ||
+ | | ||
+ | | ||
+ | | ||
+ | ..... | ||
+ | ..... | ||
+ | | ||
+ | |||
+ | <code shell> | ||
+ | #Fifth (last) data block (read in psp8cc.f) | ||
+ | # lines labeled 1, | ||
+ | # 1st column: radial grid index | ||
+ | # 2nd column: radial grid mesh point (LINEAR mesh starting at 0.0) | ||
+ | # 3rd column: rhoc = 4*Pi*model core charge density | ||
+ | # 4th column: d rhoc / dr | ||
+ | # 5th column: d^2 rhoc / dr^2 | ||
+ | # 6th column: d^3 rhoc / dr^3 | ||
+ | # 7th column: d^4 rhoc / dr^4 | ||
+ | # This block is only read if the header variable fchrg >0.0. | ||
+ | </ | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | ..... | ||
+ | ..... | ||
+ | |||
+ | SPIN-ORBIT | ||
+ | ---------- | ||
+ | |||
+ | Spin-orbit coupling is present in the file Psps_for_tests/ | ||
+ | This pseudopotential treats the 5s and 5p core states as valence. | ||
+ | details are given in the spin-orbit portion of the discussion section | ||
+ | |||
+ | <code shell> | ||
+ | #Header - lines 1-4 as above | ||
+ | # line 5 - number of Vanderbilt-Kleinman-Bylander projectors nproj for | ||
+ | # the scalar-relativistic non-local potential for each | ||
+ | # angular momentum l=0 to l=lmax. The value of nproj for lloc | ||
+ | # must be 0 (if lloc <= lmax). | ||
+ | # line 6 - extension_switch=2 indicating spin-orbit projectors are present | ||
+ | # line 7 - number of Vanderbilt-Kleinman-Bylander projectors nprojso for | ||
+ | # the spin-orbit non-local potential for each angular momentum | ||
+ | # l=1 to l=lmax. | ||
+ | </ | ||
+ | |||
+ | |||
+ | Pt NOPTPSP | ||
+ | | ||
+ | | ||
+ | 4.99000000 | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | <code shell> | ||
+ | #Data blocks 1-4 are as-above for the scalar-relativistic non-local projector | ||
+ | # coefficients (" | ||
+ | |||
+ | #Data block 5 is the local potential lloc=4 as above. | ||
+ | |||
+ | #Data blocks 6-8 are as-above for the spin-orbit non-local projector | ||
+ | # coefficients (" | ||
+ | |||
+ | #Non-linear core corrections are not used in this example, but if they | ||
+ | #were, the model core charge and its derivatives would be the last data | ||
+ | #block | ||
+ | </ | ||
+ | |||
+ | DISCUSSION | ||
+ | ---------- | ||
+ | |||
+ | This introduces a norm-conserving pseudopotential input file format | ||
+ | designed by D. R. Hamann which offers additional flexibility over | ||
+ | previously available Abinit psp formats, as well as possible improvements | ||
+ | in performance in certain respects. | ||
+ | |||
+ | (1) | ||
+ | Numerical psp's, which offer the ability to experiment beyond existing | ||
+ | tabulated collections. | ||
+ | are easily convertible to this format. | ||
+ | |||
+ | (2) | ||
+ | Linear radial grids, which have the following advantages: | ||
+ | |||
+ | (a) Computational efficiency compared to log grids because the | ||
+ | core region of those grids is highly redundant for psp's. | ||
+ | |||
+ | (b) Increased accuracy at large ecut values. | ||
+ | mesh points for log grids at larger radii, where there are | ||
+ | usually still significant contributions to the psp's, becomes | ||
+ | too large and introduces aliasing noise into the Fourier- | ||
+ | transform psp' | ||
+ | triple, etc. the linear grid and interpolate prior to performing | ||
+ | the transform to ensure accuracy, based on ecut. | ||
+ | |||
+ | (c) Storage economy (probably not important in modern computers, but | ||
+ | the files are easier to read). | ||
+ | |||
+ | (d) While redundant, repeating the grid in the data block with each | ||
+ | function facilitates inspection and plotting of the various inputs. | ||
+ | |||
+ | (3) | ||
+ | Allowance for any number of nonlocal projectors for each anugular | ||
+ | momentum channel, previously available for several formats but without | ||
+ | the current flexibility. | ||
+ | |||
+ | (4) | ||
+ | Direct input of the Bloechl-Kleinman-Bylander projectors rather | ||
+ | than wave functions and semi-local potentials. | ||
+ | flexibility important for some exploratory applications such | ||
+ | as self-interaction-corrected psp' | ||
+ | to the wave functions as the following operators | ||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | The conventional Kleinman-Bylander choice for a single projector (single n) would be | ||
+ | |||
+ | | ||
+ | |||
+ | where V(r,l) is the semi-local norm-conserving pseudopotential for | ||
+ | angular momentum l, V_loc(r) is the local potential, and u(r,l) is | ||
+ | the radial Schroedinger equation solution (bound or scattering).[1, | ||
+ | Note that u(r) has the conventional " | ||
+ | In this case, the " | ||
+ | for the above definition of fkb) are | ||
+ | |||
+ | | ||
+ | |||
+ | (no 4*Pi factor). | ||
+ | Other possible generalizations include the treatment of self- | ||
+ | interaction corrections as additional projectors.[4] | ||
+ | |||
+ | Finally, creating numerical projectors as part of the psp generation | ||
+ | process (rather than within Abinit) allows one to solve the radial | ||
+ | Schrodinger equation in its fully nonlocal form and compare logarithmic | ||
+ | derivatives of the pseudo and all-electron wave functions over a wide | ||
+ | energy range. | ||
+ | locate shallow "ghost resonances" | ||
+ | states, which would be missed in the standard ghost tests [5] but | ||
+ | can lead to poor results. | ||
+ | |||
+ | (5) | ||
+ | Ability to use an arbitrary local potential rather than that for | ||
+ | one particular angular momentum channel. | ||
+ | eliminating ghost states.[5] | ||
+ | |||
+ | In the example above, a calcium pseudopotential, | ||
+ | choice of the d-channel (lloc=2) for the local potential is particuarly | ||
+ | bad because the incipient d shell represented by a shallow d | ||
+ | resonance leads to a very deep d potential. | ||
+ | local, it is nearly impossible to avoid ghost states. | ||
+ | the local potential would avoid this, but would place a spurious | ||
+ | core-orthogonalization repulsive term in channels for higher angular | ||
+ | momenta (f, g, h, ...) which could lead to errors in, for example, | ||
+ | lattice constants. | ||
+ | smooth (polynomial) extrapolation of the tail-region all-electron | ||
+ | potential to the origin. | ||
+ | include the ability to form the local potential as a simple average | ||
+ | over semi-local potentials, the d potential would likely still cause | ||
+ | problems in this case. | ||
+ | |||
+ | (6) | ||
+ | Spherical bessel functions for Fourier transforms in the psp8*.f | ||
+ | routines are computed by a highly accurate recursion method in sbf8.f, | ||
+ | and all angular momentum channels are treated simultaneously, | ||
+ | increasing accuracy and efficiency compared to sin/cos formulations, | ||
+ | especially for large and small arguments. | ||
+ | |||
+ | (7) | ||
+ | The ability to experiment with various model core charges for the | ||
+ | non-linear core correction[6] is advantageous. | ||
+ | not sufficiently smooth can lead to potentially severe convergence | ||
+ | errors, especially in response function calculations. | ||
+ | formats, Abinit internally generates higher derivatives of the model | ||
+ | core charge up to the 4th derivative, and piecewise-constructed | ||
+ | model functions that LOOK smooth can cause havoc. | ||
+ | that all the derivatives to be present in the input file permits | ||
+ | early detection of such problems, and aids their remediation. | ||
+ | |||
+ | (8) | ||
+ | Release 7.x introduces the ablity to include spin-orbit coupling. | ||
+ | Pt pseudopotential used as an example above was initially generated | ||
+ | with two non-local projectors each from Dirac wave functions with j=l+1/ | ||
+ | and j=l-1/2 using Vanderbilt generalized norm conservation, | ||
+ | gives much greater accuracy than the Bloechl construction discussed | ||
+ | above.[7] | ||
+ | were separately re-diagonalized to produce efficient orthonormal | ||
+ | projectors for the scalar-relativistic and spin-orbit terms which are | ||
+ | required internally by abinit. | ||
+ | projectors, see Ref. 7. The operation of SR and SO terms on the | ||
+ | spinor wave functions is a straightforward generalization of | ||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | where " | ||
+ | " | ||
+ | dimensions energy. | ||
+ | (<2E-5 Ha at present) are neglected. | ||
+ | to use other methods to generate the SR and SO terms. | ||
+ | |||
+ | REFERENCES | ||
+ | |||
+ | [1] " | ||
+ | Phys. Rev. B 40, 2980 (1989); " | ||
+ | D. R. Hamann, M. Schlueter, and C. Chiang, Phys. Rev. Lett. 43, | ||
+ | 1494 (1979). | ||
+ | |||
+ | [2] " | ||
+ | and D. M. Bylander, Phys. Rev. Lett. 48, 1425 (1982). | ||
+ | |||
+ | [3] " | ||
+ | | ||
+ | |||
+ | [4] "Ab Initio Electronic-Structure Calculations for II-VI | ||
+ | | ||
+ | D. Vogel, P. Krueger, and J. Pollmann, Phys. Rev. B 52, 14316 (1995). | ||
+ | |||
+ | [5] "Ghost States for Separable, Norm-Conserving, | ||
+ | | ||
+ | Phys. Rev. B 41, 12,264 (1990); " | ||
+ | X. Gonze, Phys. Rev. B 44, 8503 (1991). | ||
+ | |||
+ | [6] " | ||
+ | | ||
+ | Rev. B26, 1738 (1982). | ||
+ | |||
+ | [7] " | ||
+ | | ||