##### Copyright (C) 2003 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 June 2003 and September 2003 :

    J.-M. Beuken, M. Boulet, F. Bruneval, M. Cote', A. Garcia, D. Hamann,
    J. Jansen, F. Jollet, G. Jomard, J. Junquera, M. Mikami,
    A. Oganov, P. Ordejon, D. Prendergast, L. Sindic,  J.-M. Soler,
    M. Storr, M. Tijssens, M. Torrent, D. Vanderbilt, M. Veithen, M. Verstraete,
    E. Willighagen, X. Wu

    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.2, released on September 23, 2003.

    Changes with respect to version 4.1 :

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

    __________________________________________________________________

    A.  WARNINGS

    A1. The header of the wavefunction, density and potential
        files have been changed, and contain now the additional information concerning
        the STM voltage bias (stmbias)
        See the description of the new header in section 6.4 of abinis_help.html .
        The files containing the old header should still be read
        correctly (so, there is backward compatibility, as usual).

    A2. The pseudopotential section of the DDB now contains the "usepaw"
        variable.

    A3. The total energy in the PAW code has been redefined : a core charge
        term has been added between v4.2.2 and v4.2.3 .

    __________________________________________________________________

    B.  Most noticeable achievements

    B1. The strain perturbation is now available, for both uniaxial and
        shear cases, with access to the "rigid-ion" elastic constants,
        second-derivatives of the total energy with respect to strain,
        and the "internal strains" mixed second-derivatives of the
        total energy with respect to strain and atomic positions.
        We thank D. Hamann for this "tour-de-force". There are still limitations
        in the use of this strain perturbation : insulators only, LDA only,
        non-spin-polarized systems, no spin-orbit coupling.
        pointer to html ... Additional tests have been performed by Xifan Wu
        Related automatic tests : Test_v4 #61-#63 .

    B2. A new utility "macroave" has been provided by J. Junquera and P. Ordejon (including
        routines by J. Soler and A. Garcia).
        The Macroave program implements the macroscopic average technique,
        introduced by A. Baldereschi and coworkers
        (A. Baldereschi, S. Baroni, and R. Resta, Phys. Rev. Lett. {\bf 61}, 734 (1988) ),
        to analyse heterojunctions.
        This method relates microscopic quantities, typical outputs of first-principles codes,
        with macroscopic magnitudes,
        needed to perform electrostatic analysis.
        Within this methodology, one is able of washing out all the
        wiggles of the rapidly-varying functions of position (resembling
        the underlying atomic structure) of the microscopic quantities,
        blowing up only the macroscopic features.
        See the content of the ~abinit/Infos/Macroave_Docs directory .
        Related automatic tests : Test_v4 #40-#45 .

    B3. As concern the PAW project, Marc Torrent, Francois Jollet and Gerald Jomard
        have written a translator allowing to use N. Holzwarth and co-workers
        PAW-potential generator in ABINIT. They have fully documented this translator in
        https://www.abinit.org/ABINIT/AtomPAW2Abinit-Manual-html/HolzwarthPAW.htm
        The translator is available on the ABINIT Web site, at
        https://www.abinit.org/ABINIT/AtomPAW2Abinit-Manual-html/AtomPAW2Abinit.tar.gz
        Tests show excellent agreement with available results for several solids.
        For information :
        - they have also generated other PAW-potential files, based
        on David Vanderbilt's ultrasoft pseudopotential generators (details to be provided
        later ...), that can be used by ABINIT ;
        - the PAW part of ABINIT seems to be quite stable now
        As announced in v4.1, the PAW part of ABINIT is available for BETA TESTING,
        although forces and stresses remain still to be implemented.
        Two pseudopotentials are available in ~abinit/tests/Psps_for_tests, while
        for other pseudos ... use the translator !
        Note the Warning A3.

    B4. It is now possible to build the charge density corresponding to the states
        close to the Fermi energy, below or above, in a range of energies specified
        by the input variable stmbias (see also A1), and print it, thanks to the input variable
        prtstm. Such a charge density map allows to build approximate
        Scanning Tunneling Microscope profiles of a surface.
        Later, such an analysis should be provided in cut3d.
        Also, more accurate treatments of STM might be developed in the future.
        Related automatic tests : Test_v4 #46 .

    __________________________________________________________________

    C. Most noticeable changes for the developers

    C1. The derived datatype anaddb_dtset is now used to contain
        all the input variables inside anaddb. So, the anaddb utility
        main routine has been simplified. In the future,
        the creation of new input variables and their transfer to inner routines
        will be easier. Routines that were modified : anaddb.f,
        invars9.f, outvars9.f, defs_common.f, thm9.f, mkifc9.f, diel9.f

    C2. The new directory Lib_macroave has been created.
        This directory contains library subroutines used
        by the macroave utility, see B2.

    C3. The variable "nfft" is now the number of points treated by that
        particular processor, in the framework of the space parallelism
        (or FFT parallelism - these terms will be used as equivalent).
        The total number of FFT points is "nfftot".
        The variable "npw" (or similar variables) is now the number of
        planewaves treated by that particular processor. The total
        number of planewaves is "npwtot".

        A new input variable "exchn2n3" has been introduced, in order
        to develop the use of the new FFT routines, that are parallelized.
        The exchange of y and z for the spreading of planewaves is operational.
        The document ~abinit/doc/developers/FFT_in_parallel
        describes the steps to be taken, at this stage of the
        FFT parallelism development.

        At present, the space (or FFT) parallelism is not yet available,
        but developers should pay attention to the nfft/nfftot
        and npw/npwtot distinctions:
        the space parallelism should be available in a few months.
        Also, operations that involve global treatment of the space
        (like scalar product of plane waves,
        or computation of average potential) should be
        made by relying on the routines contained in the Src2_spacepar
        directory, that will soon be parallelized over the space.

        These are mostly basic numerical routines, in the
        spirit of BLAS, but adapted to wavefunctions or
        density and potentials, in which one has to take
        into account, on one side, the nspinor, isrtwfk, nspden
        or cplex characteristics, and, on the other side,
        the specific spread of the components in G- or R- space
        for parallelisation.

    __________________________________________________________________

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

    D1. ABINIT can now be used under OpenVMS. The needed modifications
        have been made by JJansen.

    D2. The input variable "dosdeltae" has been introduced. It allows
        to control the grid of energy on which the DOS is computed.

    D3. Improvements to the Infos directory content (FAQ, Miscellaneous)
        have been made by Mikami-san.

    D4. The input files and README of the Test* and Tutorial directories
        have been included in the binary tar.gz file. This library
        of input files can prove very useful to people who are directly
        dumping binaries from the Web site.

    D5. The makefile_macros file for the T3Efhi has been removed, as well as
        all occurences of the T3Efhi CPP definition, in abinit. Actually, that
        feature had been produced at the time when the compiler of that particular
        CRAY T3E was buggy, and unable to compile correctly opernl4a .

    D6. Discussion notes by D. Vanderbilt and Xifan Wu : systematic treatment
        of crystal displacements, strains and polarization.
        ~abinit/Infos/Theory/lr.pdf

    D7. A library of input files is now available on the Web. It is the
        set of input files present in Test_fast, Test_v1, Test_v2, Test_v3 and Test_v4.
        Later, one should have a "How To" section in the Web page, referring to
        these input files.

    D8. The preparation of GW calculations can now be done in parallel (debugging
        of outstat.f by M. Torrent)

    D9. Availability of static binary executables for P6 (for both IFC and PGI compilers)

    D10. Bug fixes, small modifications, etc ... by M. Boulet, M. Verstra,
        E. Willighagen, M. Storr, M. Cote, M. Veithen, M. Tijssens, D. Prendergast,
        L. Sindic, A. Oganov, J.-M. Beuken, F. Bruneval.