Release notes

##### Copyright (C) 2005-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 .

    Many thanks to the following contributors to the ABINIT project
    between March 2005 and September 2005:

    N. Bandeira, J.-M. Beuken, F. Bottin, P. Boulanger, M. Cote,
    J.-F. Danel, T. Deutsch, K. Dewhurst, P. Fons, M. Gatti, Ph. Ghosez,
    D. Hamann, F. Jollet, Lu Jianmin, C. Morari, Mikami-san, G. Onida,
    S. Pesant, Y. Pouillon, G.-M. Rignanese, A. Roy,
    R. Shaltaf, S. Sharma, K.V. Shavanas, W. Shelton,
    M. Torrent, D. Vanderbilt, B. Van Renterghem, M. Veithen,
    M. Verstraete, E. Walter, C. Wiegert, X. Wu, G. Zerah, 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 4.6, released on July 16, 2005.

    Changes with respect to version 4.5 :

    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

    A1. The number of filenames to be specified in anaddb.files has increased to 6.
        The help file has been accordingly modified, see ~abinit/doc/users/anaddb_help.html

    A2. The input variable zatnum has been definitely suppressed
        (it was replaced by znucl since v3.4, more than two years ago, but still tolerated).

    __________________________________________________________________

    B.  Most noticeable achievements

    B1. The outstanding achievement of this version 4.6 is the creation of
        more than a dozen of new tutorials, for the summer school at UCSB, end of August 2005.
        Here is the list (ref. to the directory ~/Infos/Tutorial), with main contributors :
        lesson_spin            Gilles Zerah
        lesson_tddft           Xavier Gonze
        lesson_anaysis_tools   Michel Cote
        lesson_paw1            Marc Torrent + Francois Jollet
        lesson_paw2            Marc Torrent + Francois Jollet + Francois Bottin
        lesson_parallelism     Yann Pouillon
        lesson_source_code     Yann Pouillon
        lesson_rf2             Xavier Gonze
        lesson_optic           Sangeeta Sharma + Xavier Gonze
        lesson_elphon          Matthieu Verstraete
        lesson_elastic         Don Hamann
        lesson_nlo             Philippe Ghosez + Marek Veithen
        lesson_ffield          Philippe Ghosez + Marek Veithen
        All these tutorials correspond to automated tests. Hence,
        the CPU time needed to execute the Tutorial automatic tests
        has increased a lot.

    B2. GW part of ABINIT  (improvements by R. Shaltaf and G.M. Rignanese):
        (1) Introduction of the Hybertsen-Louie Generalized Plasmon Pole model
                for GW calculations. New input variable : ppmodel.
        (2) Possibility to split the correlation part into different contributions :
                see the new input variable spitsigc
        (3) It is now possible to compute the dielectric matrix for a restricted
                set of q-points. The "_SCR" files that are produced from different runs are
                then merged with the new "mrgscr" program...
                The list of q-points is specified through nqptdm and qptdm.

    B3. PAW part of ABINIT (Marc Torrent and Francois Jollet)
        Lot of work, fine tuning, rationalization and cleaning, so that PAW can be considered
        now to be in beta-testing. Should be in production in v5.0 .

        Conjugate gradient routines have been rationalized and cleaned.
        Now they are compatible with the generalized eigenproblem (PAW).
        New options have been introduced (in particular an option to
        perform a modified CG like in Kresse, Furthmuller, PRB 54, 11169 (1996)
        The blocked algorithm has been cleaned and all communications have
        been set in cgwf.F90, in order to allow the introduction of future
        minimization algorithms in vtowfk.F90.
        The conjugate gradient has been optimized in order to decrease the cpu
        time when resolving a generalized eigenvalues problem.
        Mixing of the spherical part in case of PAW (mixing of rhoij)
                has been completely rewritten
        New variables : iboxcut, pawoptmix
        Modified variables (for PAW) : wfoptalg, ortalg, iscf
        Suppressed variables : pawmixtyp, pawvlbox, toldet
        See also change D1.

    B4. Concerning the responses to strain and electric field, many different
        thermodynamic conditions have been coded by Xifan Wu (with the cooperation
        of D. Hamann and D. Vanderbilt).
        See the input variables elaflag (new values 4 and 5),
        piezoflag (new values 4 to 7) and dieflag.

        Relaxed ion elastic and compliance tensors when the stress correction are available.
        Generally, when the cell is not fully relaxed, we must consider the stress correction
        to the elastic tensors, which is not trivial.
        We basically following the paper by Don Hamann Phys. Rev. B, 71, 035117 (2005).
        Add several other new features:
        1. Calculate piezoelectric d, g, h tensors (relaxed ion).
        2. Calculate relaxed ion and free stress dielectric tensor.
        3. Calculate fixed Displacement Field elastic and compliance
            tensors (relaxed ion).
        For the details, see the paper:
        http://arxiv.org/abs/cond-mat/0501548

    B5. There are new SCF options, coded by MTorrent and FBottin (iscf=7,12,13,14,17), to
        perform the SCF. In particular, the near-optimal Pulay algorithm
        is now available for both norm-conserving and PAW SCF.
        You are invited to test this algorithm for your preferred test case,
        and report it to the forum (well, the developer forum for v4.6.2)
        The possibility to have SCF with respect to the density (instead of the potential)
        has also been coded. Mixing over the density is a better choice for PAW runs
        (because it needs less operations).
        See the input variable iscf and npulayit .

    __________________________________________________________________

    C. Changes for the developers

    C1. In the file RunTests.pl,
        add the ncdump program in the list of program (CODE_NCDUMP) that can be called
        during a test. The path is (in the abinit folder): Lib_netcdf/bin/ncdump
        When called, ncdump generate an ASCII file of the netCDF file and then the function
        fldiff is used to compare this file with the reference(ASCII file).
        Add the Cut3d option "-nofld". When Cut3d is called during a test and the option
        is "-nofld", Cut3d run but the fldiff function is not called after.
        New Tests_v4#100 and 101, Test_v4/README..
        From M. Coté .

    __________________________________________________________________

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

    D1. On-going work on band parallelisation in lobpcgccwf (A. Roy and G. Zerah).
        (See mail ARoy 050531).

    D2. J Zwanziger has developed an utility called abchk (~abinit/Utilities),
        to check the input file, and identify the mispelling, with respect
        to a pre-defined list of admitted keywords (input variables).
        L Sindic has improved the treatment, leading to the script chkinabi,
        to be found in the same directory.

    D3. There is an additional option 13 of cut3d (to analyze the wavefunctions),
        from N Bandeira : XCrysden files with negative and positive isosurface data.

    D4. Shanavas K.V. has written a bash script "abi2sxf" to extract
        from abinit output file XCrysDen xsf/axsf format.
        See ~abinit/Utilities .

    D5. The new input variable "symmorphi" has been introduced, in order
        to be able to prepare and run GW calculations, for which non-symmorphic
        symmetry operations are not yet allowed.

    D6. In the framework of the energy- and orbital-dependent functional theory,
        implementation of chi_0*kxc in real space, Giovanni Onida, Matteo Gatti,
        Yann Pouillon, Xavier Gonze. New input variable : suskxcrs .

    D7. Improvements of abilint.py by TDeutsch

    D8. Improvements of the Wan-T interface by C. Morari.

    D9. Improvements of abirules from LSindic

    D10. Improvements of electron-phonon part of anaddb by M. Verstra
        Also, introduction of the new input variable rifcsph and prtgkk .

    D11. Bug fixes by : E. Walter, C. Wiegert, K. Dewhurst, LuJianmin ....

    D12. New makefile_macros by M. Verstraete, B. Van Renterghem : g95, pathscale ...