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 August 2002 and February 2003:
J.-M. Beuken, J.-F. Briere, R. Caracas, S. Erwin, S. Goedecker,
Ph. Ghosez, I. Hamada, F. Jollet, A. Masago, M. Mikami, L. Pizzagalli,
V. Olevano, J.-Y. Raty, L. Sindic, Y. Suzukawa, M. Torrent, B. Van Renterghem,
M. Veithen, M. Verstraete, G. Zerah, M. Zhang.

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.0, released on January 9, 2003.

Changes with respect to version 3.4 :

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 algorithm for the initialisation of the wavefunctions has been
    completely changed. Previously, a pseudorandom, sequential, series
    was used : in the parallel case, each processor had his own series.
    Now, the algorithm is deterministic, and can give
    the same results in sequential and parallel executions.
    It was seen that the present initialisation is, on average,
    slightly less effective than the random one. For some test cases,
    one more SCF cycle was needed to reach the same convergence.
    In exceptional cases, more SCF cycles are needed, but also, in some cases,
    the new initialisation is faster. In practice, the difference
    is usually negligible, compared to the total time, and the advantage
    for automatic testing is obvious.

A2. The primitive cell generated by
    angdeg 3*90
    has changed : rprim is now 1 0 0 0 1 0 0 0 1

A3. The name of the ABINIT utility "IFC" was changed to "anaddb",
    to avoid confusion with the Intel Fortran Compiler...

__________________________________________________________________

B.  Most noticeable achievements

B0. There are milestones in important projects (PAW,
    FFT parallelisation), however not available for production yet,
    see D1 and D2.

B1. The electronic Density-Of-States can now
    be computed using the tetrahedron method (M. Verstraete).
    See the input variable prtdos=2, as well as the
    automatic test number 46 of test_v3, as an example.

B2. The 2n+1 theorem of perturbation theory has been
    implemented. It is working for electro-optic coefficients
    (implemented and tested).
    The computation of the Raman cross-section is implemented,
    and now under testing. If you want to use these features,
    contact M. Veithen. Example : Test_v3#83 .
    (M. Veithen, +some help from Ph. Ghosez and XG)

B3. The work on the Shubnikov magnetic group has been finished :
    (1) all the 1191 Shubnikov groups
    can be generated, see the input variables spgroupma (or genafm)
    (2) their magnetic point group is recognized, as well as
    their magnetic Bravais lattice.
    The automatic recognition of magnetic symmetry operations
    was already available previously.
    There are numerous examples (all groups are tested !):
    Test_v3#20,23,24,32 to 39 ; Test_v4#21 to 29 (R. Caracas + XG)

B4. The Time-Dependent DFT computation of excitation energies
    and oscillator strengths has been parallelized (J.-Y. Raty)

B5. ABINIT can output CML files (CML means "Chemical Markup Language",
    a XML-based markup language), see the input variable prtcml .
    It can also read CML files (the CML parser is rather
    primitive, but works for the files generated from ABINIT),
    see the input variable cmlfile .

B6. A "community" Web repository has been created, by S. Erwin .
    See http://cst-www.nrl.navy.mil/~erwin/abinit
    Many ppt presentations, from the 1st ABINIT developer workshop,
    Louvain-la-Neuve 6-8 Nov 2002 are gathered, as well as
    some theory documents (see D12).

B7. The AIM (Atom-In-Molecule) post-processor has been made more robust,
   more transferable, and much better documented. New automatic
   tests are available. Please, read the AIM help file, even
   if you had read it previously.

__________________________________________________________________

C. Most noticeable changes for the developers

C1. The script "abirules", whose goal is the automatic modification
  of the Fortran source, in view of the fulfilment
  of the ABINIT coding rules, has been made more powerful (L. Sindic) :
  it can automatically reorder (using alphabetic classification)
  the variables in declaration lines.
  This means that the developer should not worry too much now about
  the fulfilment of this rule, it will be done automatically.
  Other improvements have been made to abirules as well, for cheking
  purposes.
  For those interested, the command to be executed to apply abirules is
  make abirules
  from the main directory. The abirules script is in ~abinit/abirules .

C2. The arrays indpw (and indpw_k, indpw_diel, indpw_sus, indpw_prc ...) have been
  eliminated due to changes in fourwf, themselves due to the new FFT, see D2.
  The second dimension of npwarr (or npwar1, npwarr_sus, npwarr_diel ...)
  have been removed. The routines boundy.f, indfft.f have been eliminated.
  The content of the k+G temporary files (unkg,unkgs,unkg1 ...) has been reduced.
  The counter variable iind has been eliminated.
  The arguments of many routines have been changed, especially the often used
  rdnpw, kpgio, fourwf .
  The routine rdnpw now reads two lines (check on the first, skip the second)

C3. The information about the reduced coordinates of each of the
  planewaves used to expand the wavefunctions is now present
  in the wavefunction files (_WFK, _WFQ ...).
  This is described in the abinis_help.html file, see section 6.7 .

__________________________________________________________________

D.  Other changes
(or on-going developments, not yet finalized, but integrated in v4.0).

D1. The first self-consistent total energy computation based on
    PAW has been achieved.
    See the automatic tests 4 and 5 of Test_v4. Need still some effort
    to have a real production tool.
    (F. Jollet, M. Torrent, G. Zerah)

D2. A new FFT implementation is available, see the input variable fftalg .
    It was developed by SGoedecker, and has achieved excellent MPI/OpenMP
    parallelism, in standalone, up to 128 processors.
    Its implementation in ABINIT in sequential
    mode is nearly finished (fftalg 400 and 401 are OK, see
    Test_v1#87,88, Test_v3#50). The modifications
    of ABINIT for parallelism on real and reciprocal space are
    still numerous, and will be a goal for the coming months.

D3. As a minor (but useful) improvement of the ABINIT parser :
    sqrt(xx) and yy/zz are parsed, and interpreted as the square root of xx
    and the division of yy by zz. For example, instead of
    xred 0.333333333333333 0 0
    one can specify
    xred 1/3 0 0
    Note however, that it is not possible to combine sqrt and a fraction,
    e.g.  sqrt(3/4) is invalid

D4. The Lattice Wannier Function program has completed a first determination
    of a Wannier function : it seems to work, but should be tested more.
    Automatic tests are present : Test_v3#88 and 89.

D5. In the directory Test_paral, the shell script "Run" has been translated
    to perl ("Run.pl"), so that it will work under DOS (L. Sindic)

D6. Some of the memory bottlenecks of the GW part of ABINIT
    have been eliminated (J.-F. Briere)
    Also, some routines have been cleaned for portability.

D7. Angular analysis of the wavefunctions (s-, p-, d- character) is now possible,
    within cut3D. Next step will be to obtain angular-momentum
    decomposition of DOS (M. Verstraete)

D8. It is now possible to compile routines in different directories using different
    compiler options ;
    previously this was restricted to FFTS, NONLOCAL and IOWFDENPOT

D9. A tutorial for GW has been set up (V. Olevano), but it is not yet
     operational : it does not yet work on PC/Intel.

D10. Data analyser from Mike Zhang, in Utilities/MatLab_data_analysis

D11. New makefile_macros :
 - Intel PIV IFC_MPICH , Nec SX5 by I. Hamada and A. Masago
 - SGI Origin 2000 R14000 (Spinoza)
 - Sun (sunfire) (by B. Van Renterghem)

D12. In the framework of the self-documentation project
 (M. Mikami, helped by Y. Suzukawa), the content
 of the Infos/Theory directory has been increased (contribs by VOlevano,
 GZerah). Other contributions have been made available on the community Web site,
 see B6, by S. Erwin (contribs by F. Jollet, XG).

D13. The "sponsor" Web page has been created (J.-M. Beuken, XG)

D14. The Src_2cut3d dir has been renamed Src_9cut3d

D15. new option for cut3d : OpenDX format for density as well as wavefunction,
    and associated coordinates in XYZ format (L. Pizzagalli)

D16. More codes are mentioned in Infos/other_codes (from A. Oganov)