Copyright (C) 2006 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 contributors to the ABINIT project
between February 2006 and November 2006. These release notes
are relative to improvements of ABINITv5.2 with respect to v5.1.
The list of contributors includes :
B. Amadon, P.-M. Anglade, N. Bandeira, F. Bottin, M. Boulet,
D. Caliste, M. Cote, T. Deutsch, L. Genovese,
M. Giantomassi, S. Goedecker, D. Hamann, F. Jollet,
F. Lambert, Bo Liu, Deyu Lu,
S. Mazevet, Y. Pouillon, V. Recoules, L. Sindic, M. Torrent,
M. Verstraete, Xinjie Wang, C. Wiegert, G. Zerah, Zhou "Bob John"
Also, P.M. Anglade and D. Caliste have contributed a lot to finding
errors during the merge of the different branches.
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 5.2, released on August 14, 2006.
Changes with respect to version 5.1 :
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. For the developers, there are important changes described in
section C . Please, also have a look at the new installation notes,
(either from the Web, or in
~abinit/doc/install_notes/install_v5.2.html )
A2. The default value of ntime has been changed from 5 to 0. Indeed
a non-zero value was misleading (some people did not care about that variable,
and got underconverged results without noticing it).
See indefo.F90, and https://www.abinit.org/Infos_v5.2/input_variables/varrlx.html#ntime
A3. In v5.2.3, a bug with some bearing on numerical results,
related to molecular dynamics and optimization
has been removed. Bug found by Craig Wiegert.
Precisely : instead of correctly removing the average force from
the force felt by each atom, the total force acting on the cell
was removed from the force felt by each atom. This was the case
for the Broyden algorithm (brdmin.F90 routine) as well as the
Molecular Dynamics (moldyn.F90 routine). Of course, if the XC grid
was sufficiently fine, such overall force should tend to zero,
and the coding error should have little effect.
Still, this bug might perhaps explain some painfully
slow relaxations previously observed.
A4. In v5.2.4, a bug that might have an important effect on numerical
results has been removed. Test case given by Bo Liu.
This bug could only appear in phonon dynamical matrix calculations,
for non-zero wavevectors, in case in the list of admitted
symmetries for that wavevector, an atom
would send an atom to an equivalent atom in another cell, and the
difference vector between the two atoms
would have non-zero scalar product with the wavevector.
Precisely : in the non-stationary generation of dynamical matrix
elements, the action of the symmetrizer for the non-local part included
an erroneous phase. None of the automatic tests of phonon generations
tested that possibility. A new test case has been created,
test v5#21 , from input files by Bo Liu
__________________________________________________________________
B. Most noticeable achievements
(B0. This version is the first v5 to lead to a full production version. The
build system seems stable, at least ...).
B1. The computation of phonon band structure in the presence of
a finite electric field is now possible
(contribution by Xinjie Wang, with help by David Vanderbilt and Don Hamann)
See Test_v4#80 , as well as the description of the input variable berryopt
1. Run a scf ground-state calculation at zero electric field
to get wave functions for the ground-state calculation in finite electric fields.
2. Run a scf ground-state calculation in finite electric field. The
electric field is controlled by the input variable 'efield'. And
'berryopt' should be 4. The input variable 'kptopt' should be set to be 2.
3. Based on the wave functions obtained in step (2), perform phonon
calculation by setting 'berryopt=4','kptopt=3' and 'efield'.
nsym should be set to 1 currently but this restriction may be
removed later . The other
parameters are the same as phonon calculation at zero electric field.
The choice of k-point sampling N x N x N should be the same in the three runs
and N should be an even number.
B2. The treatment of Hartree potential with open boundary
conditions has been included by Damien Caliste.
This might be useful for treating molecules or clusters in a big empty box
(not periodic solids, slabs, or 1D systems)
It is based on a wavelet Poisson solver (from S. Goedecker,
T. Deutsch, L. Genovese - BIGDFT project).
The local part of potential created by ions is also treated
in real space (when GTH pseudo-potentials are involved) and the Ewald
energy has been replaced by a simple Coulombian ion-ion interaction.
The treatment in real space is control by the input variable
icoultrtmt. An other input variable nscforder) is used to tune the scaling
functions basis used by the Poisson solver. See Test_v5#07 which tests these
two variables for the hydrogen atom. The forces can also be computed with
this real space computation but is still in an early stage of
implementation.
B3. The generation of wavefunction files following the SpecFFNQ
specification has been coded.
(Note : the merge of this development is not yet done, likely for v5.2.4)
__________________________________________________________________
C. Changes for the developers
C1. Interfaces are now automatically generated, thanks to the
script abilint.py, written by T. Deutsch.
This guarantees a better coherence between the F90 files,
compilers being able to cross-check the content of the
arguments.
Note, however, that each time a new argument is introduced
in a subroutine, one have to run
*/abilint . .
in the top directory. See the explanations in the installation
notes, section 6 (either from the Web, or in
~abinit/doc/install_notes/install_v5.2.html )
C2. A brief report is now issued when automatic tests
are performed, mentioning that each test has
succeeded (no worry anymore), passed (usually it is OK),
passed marginally (within 1.5 of the usually accepted deviation)
or failed. This mechanism is activated in case
all automatic tests in one test directory are performed.
As examples, this happen when one issues, in the tests directory :
make tests_acc
or
make tests_min
or also
make tests_fast
and for similar targets.
This mechanism is based on the fact that now, the (usual)
fldiff.report files contain a one-line summary of the behaviour of each
test (this has been added by L. Sindic), and these one-line
summaries are examined, and compared with a database
(see the files tests/*/Input/report.in ).
The output is a file named "report", that is present in
the directory where the tests were performed.
See also the section X of the installation notes
(either from the Web, or in
~abinit/doc/install_notes/install_v5.2.html ).
C3. The new directory tests/v5 was started by Pierre-Matthieu Anglade and Damien Caliste
to accomodate new features.
C4. The new task "make tests_speed" is available in the tests directory,
to test quickly the speed of the code, after installation.
This produces results, to be compared
to those of https://www.abinit.org/documentation/?text=benchmarks .
C5. To new parameters have been defined : czero and cone (for
complex zero and complex one). See defs_basis.F90 .
They can be used in call to zgemm or other blas or lapack routines,
in case the argument has to be complex instead of real.
__________________________________________________________________
D. Other changes
(or on-going developments, not yet finalized).
D1. Implementation of LDA+U in the PAW framework is underway.
Test cases and doc must still be added.
Work by F. Jollet and coworkers B. Amadon
D2. In ANADDB, related to electron-phonon interaction,
it is now possible to compute and print the nesting factor.
See the input variable prtnest (of ANADDB). Implemented by Matteo Giantomassi.
See also automatic test elphon_5 .
D3. In ANADDB, related to electron-phonon interaction, it is now
possible to output the Fermi surface, in a format compatible with XCrysDen.
Implemented by Matteo Giantomassi.
Still need an automatic test ...
D4. Better use of memory and more efficient coding of XC routines, from Luigi Genovese
D5. Improvements of the PAW implementation, by Marc Torrent.
D6. Debugging and bug fixes of the build system by Yann Pouillon, as well as Damien Caliste.
D7. Some output values are exported into XML files when the input variable
outputxml is set. The corresponding
DTD is distributed as extras/post_processing/abinitRun.dtd. All the DTD is not
yet implemented and this one is currently restricted to ground computations
(and derivative such as geometry optimisation). Development by Damien Caliste.
D8. A restart for molecular dynamics has been coded by Stephane Mazevet
Still need to be documented, with test cases.
D9. Computation of the conductivity has been coded within PAW, by V. Recoules.
Still need to be documented, with test cases.
D10. Two new SCF preconditioners are under development :
one is based on a real space treatment of the density-potential
relationship, and the other is based on Thomas-Fermi-Von Weiszacker
model. This has been developed by Pierre-Matthieu Anglade.
D11. FFT parallelism has been tested, in a selected regime, and has shown
excellent performance. However, it is not yet in production stage.
Full generality should be reached, automatic tests and documentation are still lacking.
(contribution by Mireille Boulet, Gilles Zerah)
D12. A "Materials studio to ABINIT" converter has been written by Zhou (bobjohn.lzu@gmail.com).
It is available at util/users/Cell2Abinit.py .
D13. Debugging of memory use (deallocate missing) by Deyu Lu and PM Anglade, as well as DCaliste.
Other debugging by Nuno Bandeira, MVerstraete, DCaliste, MTorrent, GZerah, MBoulet,
BAmadon, FBottin, FLambert
D14. The documentation of the input variable kptbounds has been improved a lot : it indicates
now the coordinate of different k points, for FCC, BCC and exagonal lattices, as well as
typical paths in reciprocal space, useful for drawing electronic (and phononic band structures).