Release notes

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

    J.-M. Beuken, M. Boulet, F. Bruneval, M. Cote', A. Garcia, D. Hamann,
    Hasegawa-san, Iguchi-san, J. Iniguez,
    J. Jansen, F. Jollet, M. Lee, M. Merli, Mikami-san, J.-P. Minet, Y.-M. Niquet,
    Nishida-san, A. Oganov, V. Olevano, V. Recoules, A. Roy, L. Sindic, I. Souza, M. Torrent,
    F. Tournus, D. Vanderbilt, M. Veithen, M. Verstraete, 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.3, released on February 18, 2004.

    Changes with respect to version 4.2 :

    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. Several input variables, related to the GW calculations, have been renamed :
         nbndsto is now nbandkss
         ncomsto is now npwkss
         the routine outstat is now outkss
         ngwpt   is now nkptgw
         ecutmat is now ecutsigx
         npwmat  is now npwsigx
         nshmat  is now nshsigx
         plasfrq is now ppmfrq.

    A2. The file format "_EM1", used in GW, has been transformed to "_SCR", to avoid
        some undesirable effect in the multi-dataset mode (the last character
        of "_EM1" is a digit). Thus the variable "geteps" has been renamed "getscr",
        and the input variable "irdeps" has been renamed "irdscr".

    __________________________________________________________________

    B.  Most noticeable achievements

    B1. The development of the features related to strain perturbation continues :

        - the computation of the piezoelectricity tensor has been implemented (D. Hamann),
         See Test_v4 #65-66.
        - the analysis of the DDB containing response to strain perturbation
         has been implemented : one start from
         clamped ion elastic tensor, clamped ion piezoelectric tensor, as well as
         clamped ion internal strains, in order to compute corresponding
        "relaxed ions" quantities (Xifan Wu and Don Hamann).
         See Test_v4 #67-70
        - related documentation, from D. Vanderbilt : ~abinit/Infos/Theory/lr.pdf

        So, in short : you can now compute the physical tensors (elastic constant
        and piezoelectricity coefficients).

        Remember : there are still limitations
        in the use of this strain perturbation : LDA only,
        non-spin-polarized systems, no spin-orbit coupling.

    B2. The tutorial GW is now fully operational.
        See ~/Infos/Tutorial/welcome.html. Contributions by V. Olevano, F. Bruneval and XG .
        There is also a considerable speed-up of sigma (optdriver=4) on
        vector architecture (VOlevano) and on superscalar architectures (XG).

    B3. The help file for cut3d has been translated in html, and is now accessible
        from the Web.

    B4. One can use the MPI I/O library to access the files in parallel, on massively parallel machines
        (not clusters, where the temporaries are local to each machine), with a centralized
        disk space, to which all processors have access : in case of mkmem=0,
        avoid degradation of performance (by MBoulet). See the input variable accesswff .
        One needs also to specify the -DMPIO compilation flag, see ~/Infos/makefile_macros_help .

    B5. New Time-dependent XC kernels for the ACFD computation
        of the correlation energy have been implemented : the BPG kernel, the energy-optimized
        kernels for Dobson and Wang. That part of ABINIT has been cleaned completely.
        There are 7 new tests : Test_v4#80-86. Work by YM Niquet.

    B6. The finite-electric field formalism has been implemented (for insulators only,
        with nsppol=1, nspinor=1). Documentation is provided for the input variable berryopt=4.
        Also consult the automatic test Test_v4#78 .
        This work has been done by MVeithen, starting from the implementation
        done using an earlier version of ABINIT, by J. Iniguez and I. Souza .

    B7. The constrained-polarization formalism (Na Sai et al, PRB 66, 104108 (2002))
        has been implemented in ANADDB, by MVeithen. There are 3 tests of this implementation,
        see Test_v4#75,76,77.

    B8. The berry phase routine has been rewritten, so that it works now in parallel.
        Please, see the variable berryopt. However, not all options available with the
        old berryphase routine are available with the new one.
        This work has been done by M Veithen.

    __________________________________________________________________

    C. Most noticeable changes for the developers

    C1. Due to modification B4, there have been large modifications of all routines
        in which there were IOs to a wavefunction file. A library
        of routines to access the Wavefunction files has been written,
        and is located in Src_0basis (a directory in which parallel
        routines can be stored, unlike Src_4iowfdenpot).
        A new datastructure "wffile_type" has been created, to contain
        all the information that allows to access a wavefunction file.
        This also prepare the use of NetCDF.
        Work by MBoulet and XG

    C2. The NetCDF library v3.5.0 has been included in the ABINIT package.
        It can be compiled thanks to 'make netcdf' (modifications
        of the makefile_macros might be needed - see
        makefile_macros.PGI_dummy, as an example, as well as the
        explanation given in the fourth section of makefile_macros_help ).
        The set-up use in a ABINIT program is exemplified in the
        'make abinetcdf' and 'make testabinet'.
        Work by JP Minet

    C3. The XMLf90 library v1.1 of A. Garcia has been included in the
        ABINIT distribution. However, it is not yet used.

    C4. All the definitions of structured datatypes have been
        gathered in one unique file ~abinit/src/defs/defs_datatypes .
        Indeed, the previously imagined system, in which supposedly
        the datastructures most specifically linked to one Src directory
        would be defined in the corresponding defs file, was not followed
        in practice. Moreover, one had observed a large increase of the number of
        defs files, sometimes one for only one datatype. Finally,
        it was difficult to see to which file belong each definition.
        On the other hand, there is apparently little problem
        in having only one big file for all datatype definitions :
        - everybody knows in which file are the definitions
        - with the single instruction "use defs_datatypes", all the datatypes are accessible
         for the compilation of a file
        - there is no increase in CPUtime or memory due to this concentration

    C5. The treatment of the sequential and parallel versions have been
        made more similar, thanks to the more extensive use of the mpi_enreg
        datatype (see, in ~/Src_defs/defs_datatypes,
        the new records of this datatype : paral_compil_kpt and paral_compil_fft),
        as well as the encapsulation of all operations summing
        data over groups of processors. Because of this, most of the sections
        that were selected by the -DMPI flag do not call anymore the MPI library
        (only small subroutine do it), and the corresponding routines have been
        taken out of the Src_8seqpar directory (the latter contained routines
        whose sequential and parallel version differed).
        Work by MBoulet and XG

    C6. The directory Src_1managempi has been created. It contains
        some routines previously in Src_8seqpar or Src_0basis. See modif C5.

    C7. Due to modification A2, there have been numerous changes in the names
        of routines : rdem1 to rdscr , wrem1 to wrscr , testepsm1 to testscr ,
        rdepsm1 to rdppscr .

    C8. The extension of all current *.htm files has been changed to *.html . The
        hyperlinks to these files have been updated.

    C9. The automatic tests are now driven by the script "RunTests", present
        in the main directory. Configuration files "*.cnf" are present
        in the Test subdirectories. The writing of automatic test has been
        largely simplified by this new script.
        Work by L. Sindic.

    C10. makemake has been modified so that CPP is used for all library
        directories (while it was only used for fftnew until now).

    __________________________________________________________________

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

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

    D2. New test J for parallelism : use of disk for GS and RF

    D3. Parallelization of berry phase calculations. Should be tested.
        By M Veithen.

    D4. Output of cut3d for Open DX : given now in Angstrom.
        From M Cote

    D5. New makefile_macros for "stardust" HP machine, from AOganov
        New makefile_macros for an Itanium2 machine, from Mikami-san

    D6. PAW in progress. Numerous modifications, for speed. From MTorrent and FJollet.
        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 !

    D7. Bug fix : iexit=1 from gstate, not being related to an abinit.exit
        file. From Don Hamann.

    D8. For OpenVMS, use of VMS version numbers in case a file already
        exist. From JJansen.

    D9. New input variables : boxcutmin , optforces

    D10. The Fermi level has been generalized to the case of insulators :
        the so-called "HOMO" (highest occupied molecular orbital) energy
        is now delivered, in case of an insulator (occopt==0,1 or 2).

    D11. The average exchange-correlation potential is now printed
        in the main output file. Because the averages of the local potential and Hartree
        potential are set to zero (they are actually undefined), this is also
        the average of the local part of the Hamiltonian.

    D12. Work on delocalised coordinates and on electron-phonon interaction
        has started. Some routines are included in v4.3, but debugging
        is going on (M. Verstraete).

    D13. FFT parallelism is going on. Work by ARoy and XG.

    D14. In spin-polarized case, cut3d can deal now directly with the total density,
         not only the spin up, spin down or magnetization densities.

    D15. There is now a manual for the conducti utility : conducti_manual.tex
         (from V. Recoules).

    D16. Bug fixes, small modifications, etc ... by F. Tournus, M. Lee, Nishida-san,
        Mikami-san, M. Merli, J.-M. Beuken, D. Hamann, Hasegawa-san, F. Bruneval,
        M. Verstraete, A. Oganov, M. Torrent, A. Roy, M. Veithen, Y. Pouillon,
        J. Junquera, V. Recoules