Release notes

##### Copyright (C) 2010-2021 ABINIT group (XG)
This file is distributed under the terms of the GNU General Public License, see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt .
For the initials of contributors, see ~abinit/doc/developers/contributors.txt .

    Many thanks to the contributors to the ABINIT project
    between February 2010 and July 2010. These release notes
    are relative to improvements of ABINITv6.2 with respect to v6.0.

    The list of contributors includes :
    D. Adams, S. Albrecht,  B. Amadon, A. Berger, J.-M. Beuken, F. Bottin,
    P. Boulanger, F. Bruneval, D. Caliste, F. Da Pieve, M. Delaveau,
    T. Deutsch, C. Espejo, G.A. Franco, M. Gatti,
    M. Giantomassi, X. Gonze, P. Hermet, A. Jacques, F. Jollet, G. Jomard,
    A. Lherbier, M. Mancini, S. Miller, T. Nishimatsu, V. Olevano, M. Oliveira, G. Onida, Y. Pouillon,
    T. Rangel, V. Recoules, L. Reining, AH. Romero, F. Sottile,
    M. Stankovski, M. Torrent, M. Verstraete, D. Waroquiers, Z. Zanolli, J. Zwanziger

    It is worth to read carefully
    all the modifications that are mentioned in the present file,
    and examine the links to help files or test cases ...
    This might take some time ...
    (Please note the WARNINGS !)

    Xavier

    __________________________________________________________________

    Version 6.2, released on June 24, 2010.

    Changes with respect to version 6.0 :

    A. WARNINGS.
    B. Most noticeable achievements (for users)
    C. Changes in the package, for developers
    D. Other changes (or on-going developments, not finalized)

    __________________________________________________________________

    A.  WARNINGS AND IMPORTANT REMARKS

    A.1  Solved a bug in the calculation of the head and of the wings of the dielectric matrix in the optical limit
         when PAW is used. The bug mainly affectes optical properties while the errors in the GW results
         for bulk systems were marginal provided that a sufficiently dense k-point sampling was used.
         GW calculations in anisotropic or isolated systems were more severely affected though.

    __________________________________________________________________

    B.  Most noticeable achievements

    B.1. The string method has been implemented. This method allows to find transition paths
         between two known geometries (quite similar to the NEB method). At present it is restricted to
         fixed cell paths (only atomic coordinates can vary). Also it should still be optimized (no parallelism over images yet).
         See the input variables imgmov, dynimage, fxcartfactor, imgmov, ntimimage (later, npimage, to take care of the parallelism).
         Automatic tests Tv6#24 and 25 .
         By AH. Romero and X. Gonze

    B.2 Finite electric field calculations with PAW are now possible.
        See the automatic test v6#43 . Also, the polarization calculation with PAW
        has been debugged, and is now tested in test v6#42 . Calculations may be done in
        parallel over k points. Only kptopt 3 is allowed; development to take advantage of
        symmetries is in progress.
        By J. Zwanziger

    B.3 A first type of meta-GGA is available : from the kinetic energy density
        to the xc potential (like in the Becke Johnson one, ixc -12207).
        This implementation relies on the Libxc (a plug-in of ABINIT), that must
        be available for this feature to work.
        See the automatic test Tlibxc#08 (presently only for ixc -12207, while
        the Rasanen, Pittalis, Proetto functional -12209 is available also,
        but is currently non-tested. Should be available in next ABINIT release).
        By M. Oliveira, A. Lherbier and X. Gonze.

    B.4 Full self-consistency can now be performed in the presence of a positron,
        also giving access to the forces, and thus, relaxation of the atomic coordinates.
        GGA electron-positron correlation is available.
        In particular, see the Tv5#07, as well as the input variable postoldff.
        By G. Jomard and M. Torrent.

    B.5 Delocalised internal coordinates can be used for optimization.
        Corresponds to ionmov 10. For the moment, the specificities of internal
        coordinates are not exploited, so the relaxation is not faster than
        in Broyden mode (ionmov 2). Further, cartesian constraints are not
        implemented, so treatment of isolated or low-D (1D 2D) systems is not
        advised.
        Test v6#23.
        By M. Verstraete.

    B.6 The Bethe-Salpeter equation (BSE) can be used to compute the optical spectra
        of materials. The BSE explicitly treats the effect of excitons.
        This is much more accurate than the optics utility (based on non-interacting particles).
        Related input variables optdriver=99  (to be changed later)
          bs_algorithm bs_haydock_niter bs_haydock_tol bs_exchange_term bs_coulomb_term
          bs_calctype bs_coupling bs_haydock_tol bs_eh_basis_set bs_eh_cutoff bs_freq_mesh .
        Automatic tests : Tv6#91
        Both norm-conserving and PAW implementations have been done. The calculation of the
        excitonic Hamiltonian is parallelized but the diagonalization is still performed in sequential
        (Scalapack version has been implemented but it is still under testing)
        A tutorial should still be written to facilitate the use.

        The BSE routines now present in ABINIT originate from the EXC code,
        by F. Sottile, V. Olevano, L. Reining, M. Gatti, G. Onida, S. Albrecht, with
        the porting, the MPI parallelization  and generalization to PAW having been
        realized by M. Giantomassi.

    B.7 Input from xyz files can be activated, with input variable xyzfile . The atomic types
        number, and positions are read in from the xyz file.
        See test v6#10 for a silane molecule.
        By M. Verstraete

    __________________________________________________________________

    C. Changes for the developers

    C.1 There is an on-going big restructuration of the routines involved in the change
        of the atomic coordinates and cell parameters (called by gstate.F90, linke brdmin.F90), also coupled with on-going
        changes to accomodate the images (above gstate.F90), see B.1 .
        By G.A. Franco .

    C.2 A new test suite has been created tests/buildsys, to test the build system.
        See tests/buildsys/README
        Tests 01 to 03 check the status of the source tree (presence of Bazaar conflict markers,
          lengths of source lines, one - and only one - include of config.h)
        Tests 10 to 12 provide basic build-system consistency checking.
        By Y. Pouillon

    C.3 Quantum-Espresso (PWSCF) routines have been gathered in a new directory 01qespresso_ext

    C.4 Add line number printing for absolute and relative maximal errors, to the post-processor test script fldiff.pl, by M. Verstraete.

    C.5 Large optimization the workload on the test farm, to provide maximal total execution time less than 130 minutes.
        By X. Gonze and J.-M. Beuken

    C.6 Build system modifications : update minimum autotools required version ; had all CPP options comply with naming conventions.
        By Y. Pouillon

    C.7 Upgraded FoX support to version 4.0.4 ; added support for the Atlas library ; detection of math libraries (GSL for now) ;
        new GPU support, detection of CUDA ; improved FFT detection, and also linalg detection
        By Y. Pouillon

    __________________________________________________________________

    D.  Other changes
    (or on-going developments, not yet finalized).

    D.1 The parser is now able to recognize a fraction inside a sqrt expression, like in sqrt(3/4),
        see Tv5#40 . By X. Gonze.

    D.2 Bugs have been fixed in the computation of Raman scattering intensities (for norm-conserving psps)
        in the spin-polarized LDA case.
        See the test case Tv6#66 and 67. Tv6#62 has been removed.
        By F. Da Pieve and X. Gonze.

    D.3 A fine grid method has been introduced to treat electron-phonon coupling (not functional yet).
        The nesting function for the k-point grid can be printed
        Input variables : prtnest and ep_alter_int_gam .
        See tests v6#72 to 77 (including the ANADDB manipulation)
        By M. Verstraete

    D.4 The use of Density Functional Perturbation Theory with PAW
        (phonons and electric field) is in progress,
        by M. Torrent, F. Jollet and J. Zwanziger.

    D.5 Work on finite magnetic field in progress
        Input variable bfield.
        By J. Zwanziger.

    D.6 ABINIT warns the user about potential problems with symmetry breakings,
        and if the input variable chksymbreak is not set to 0, it will even stop.
        By X. Gonze.

    D.7 The use of LDA+Dynamical Mean Field Theory is in progress.
        At present, the following solvers are available : Hubbard I
        and two versions of LDA+U (for testing purposes).
        These solvers are not sufficiently sophisticated to reproduce all the
        possibilities of DMFT: In particular, they fail to describe metals.
        Related input variables usedmft, dmftbandi, dmftbandf,
        dmft_iter, dmft_mxsf, dmft_nwli, dmft_nwlo, dmft_rslf, dmft_solv, dmftcheck
        Automatic tests : 07, 51, 52, 53.
        By B. Amadon

    D.8 Calculation of the Hartree-Fock levels can be done using different ways to the Coulomb divergence
        Test v6#89. icutcoul=6 is new . To be documented.
        icutcoul 4 and 5 have been fixed.
        By F. Bruneval (also, the documentation of icutcoul for the other values should
        be cleaned, and also the one of vcutgeo).

    D.9 Printing of Crystallographic Information Files (CIF) files can be activated, with input variable  prtcif .
        See tests v6#08,09 (for prtcif)
        By M. Verstraete

    D.10 The dipole of a molecule in vacuum (or of the primitive unit cell) can be computed.
         Input variable : prtdipole.
         See Tv6#06 .
         By M. Verstraete

    D.11 An alternative way to scale the cell parameters has been introduced, acting
         directly on the cartesian directions (unlike acell, that scales the primitive vectors).
         This is actually more in line with the usual definition of the cell parameters for a conventional cell.
         See the input variable scalecart. Automatic test v6#16.
         By X. Gonze.

    D.12 A new test case for electric field gradient of indium metal, body-centered tetragonal,
         has been included to check EFG symmetry in this case.
         See Tv6#44 .
         By J. Zwanziger.

    D.13 Implementation of the GW Effective Energy technique, by A. Berger, is in progress,
         with help for the porting by M. Giantomassi. Presently only norm-conserving pseudos are
         supported, parallel implementation in under testing.
         Related input variables (not operational yet) gw_EET and gw_EET_nband.
         Automatic test Tv6#90

    D.14 The input variable bdgw(2,nkptgw) has been generalized for spin, to bdgw(2,nkptgw,nsppol)
         Besides, in the case of SCGW calculations or GW calculations with symsigma=1, bdgw will
         be automatically modified such that all the degenerate states at each k-point are included.
         This change in needed in order to preserve the symmetries of the quasiparticle
         energies and wavefunctions. By M. Giantomassi.

    D.15 A new test v6#78 has been introduced, to test treatment of phonons in fluorite structure.
         Contributed by I. Lukacevic.

    D.16 On-going effort to provide vdW functionals for ABINIT :
         the input variable vxw_xc has been defined, with planned
         access to the vdw-DF functionals by Langreth et al .
         Also, efforts related to Silvestrelli approach.
         The new functional C09, will be provided as native.
         Tests provided in the new directory tests/vdwxc, input variables vdwxc .
         Work by C. Espejo, Y. Pouillon, AH. Romero and X. Gonze.

    D.17 In the PAW case, one can choose the way the compensation charge density
         is taken into account or not, to compute the exchange-correlation potential
         See the input variable usexcnhat, test v5#06 .
         By M. Torrent

    D.18 A new optdriver level has been addded for performing self-consistent GW calculations.
        Related input variables (not operational) gw_nstep, gw_sctype, gw_sctype_name, gw_toldfeig.
        QPSCGW + PAW is still under testing due to some regressions introduced in the previous merges.
        one-shot COHSEX + PAW is available for production, self-consistency with COHSEX + PAW is under testing.
        The memory is better controlled, thanks to the gwmem input variable.
        Two different FFT meshes defined by ecuteps and ecusigx are used to calculate the
        matrix elements the exchange and the correlation part of the self-energy, respectively.
        Extrapolar works with SCGW. Also with PAW.
        On-going effort to take into account the anisotropy of the inverse dielectric matrix in the
        optical limit: the full dielectric tensor is now available thus opening the way to
        a more accurate treatment of the Coulomb divergence in the correlated self-energy thanks to the
        use of the Lebedev-Laikov quadrature scheme on the sphere.
        Preliminary implementation of SCGW with symmetries (not fully operational yet)
        Hermitianicity of HF, COHSEX, SEX is employed to speed up SCGW
        Work by M. Giantomassi

    D.19 The capability to compute the U or J values, within the LDA+U (or GGA+U) approach
        according to the method of Coccocioni and De Gironcoli, is under development.
        Input variable : macro_uj, pawujat, pawujv .
        Automatic tests : Tv5#38, 39, 40, Tv6#41
        Work by D. Adams, with B. Amadon

    D.20 Work on the recursion approach to high-temperature DFT calculations continues + implementation of
         GPU capabilities (CUDA 3.0), by M. Mancini.

    D.21 Use of FFTW3 library is under development. Both complex to complex and real to complex
         transforms are supported. The zero-padding FFT algorithm can be used for transforming the
         wavefunctions. Threaded version is supported but its use is still under testing.
         (by M. Giantomassi, also Y. Pouillon).

    D.22 Parallelism over atoms in PAW is progressing (F. Bottin and M. Torrent)

    D.23 The distribution of processors in the FFT/Band/k point parallelism can be found automatically. Work by F. Jollet.
         (Automatic test to be provided).

    D.24 Check of MD5 sums for download of plug-ins, for better security.
         By G.A. Franco and Y. Pouillon

    D.25 Recognition of irreducible representation for wavefunctions is available with the
         exception of k-points on the Brilouin zone border when the corresponding little group
         contains non-symmorphic operations and a non-zero umklapp vector is required to
         preserve the crystalline momentum. Both PAW and norm-conserving pseudopotentials are supported.
         For the time being, this feature is only accessible in the GW part of the code.
         (Automatic test to be provided). By M. Giantomassi

    D.26 Spinorial wavefunctions available with the triple parallelization (paral_kgb=1)
        By M. Delaveau and M. Torrent.
        (Not tested !)
        Also, Wannier90 interface now works with spinor wavefunctions.
        By T. Rangel

    D.27 The variable cell string method is under development.
         By AH. Romero and X. Gonze

    D.28 Numerous miscellaneous bug fixes (to the sources, as well as to the build system, including the plug-ins),
         and improvements of documentation by
         B. Amadon, A. Berger, J.-M. Beuken, P. Boulanger, F. Bruneval, D. Caliste,
         M. Delaveau, T. Deutsch, G.A. Franco,
         M. Giantomassi, X. Gonze, P. Hermet, A. Jacques, F. Jollet, S. Miller, T. Nishimatsu, Y. Pouillon,
         T. Rangel, V. Recoules, M. Stankovski, M. Torrent, M. Verstraete, D. Waroquiers, J. Zwanziger