<html>
<head>
<title>etsf_xc : README</title>
</head>
<body>

<h5>Copyright (C) 2006-2009 ABINIT group (YP)
<br>This file is distributed under the terms of the GNU General Public License, see
~abinit/COPYING or <a href="http://www.gnu.org/copyleft/gpl.txt">
http://www.gnu.org/copyleft/gpl.txt </a>.
<br> For the initials of contributors, see ~abinit/doc/developers/contributors.txt .
</h5>

<pre>

This directory, etsf_xc, contains tests which exercise parts 
of the ABINIT package, related to the use of the libXC library.
This file gives first a very brief description
of the tests, then a much longer one.

These tests are designed primarily to exercise parts of the code
quickly, NOT necessarily to give physically sensible results.
For tests of correctness, see directory physics (under development).
For greater speed, some tests are not run to full convergence.
Also the quality parameters (especially ecut) are sometimes minimal, i.e.
the calculations are underconverged.

A classification of the tests is provided now. Later, each test is described
in more detail, with accompanying notes and references (some of the notes
might have to be updated, due to the small possible drift related to improvement
of the accuracy of the code).

Tests 1 to 5 examine different exchange-correlation functionals from
the ETSF exchange-correlation library. 

To run these tests, do the following:

0. Be sure that the perl script "run-standard-tests", in the main directory,
   has been generated from the primitive file "run-standard-tests.pl",
   thanks to the command "make perl"
   issued in ~abinit (see the installation notes on the Web).

1. Submit the "run-standard-tests" script, specifying a machine, and
   the keyword "etsf_xc" (for Tests_etsf_xc) and either
   the index of a test case, i.e.
   (run-standard-tests name_of_machine etsf_xc 22) >& log_file
   or a whole range of test cases (two indices), i.e.
   (run-standard-tests name_of_machine etsf_xc 02 08) >& log_file
   or, if you want to run all the test cases of this directory
   (run-standard-tests name_of_machine etsf_xc) >& log_file
   This will send stdout and stderr to log_file. 
   The script 'run-standard-tests', will create a subdirectory of ~abinit/tests/etsf_xc,
   with the name_of_machine and the
   date, where all the results will be placed.

2. In that directory, you will find for each test case that you have
   run, a log file (with the name of the test case), an output
   file, but also a 'diff.xxx' file, automatically created by making
   a 'diff' with respect to the "Refs" subdirectory output files.
   It contains output files from a recent version of the ABINIT code.
   There may be large differences in timing but there should only
   be minor differences in the output of physical quantities.

3. There is also a global report file, generated by the use of the
   fldiff script. Its name is fldiff.report . See the last
   version of the  ~abinit/doc/install_notes/install** file
   in the Infos directory for information about the use of this file.
   This file is the most convenient for a quick look at the correctness
   of results. When the results are not correct, one has often to
   rely on the 'diff.xxx' file to understand what was going wrong.

**********

Test cases:


01. Isolated Helium atom
    Compare the results using the native XC library and the
    corresponding ones of LibXC, in the non-spin-polarized case :
    5 LDAs (Teter93, Perdew-Zunger, Wigner, Hedin-Ludqvist, PW92)
    7 GGAs (PBE, RPBE, HCTH93, HCTH120, HCTH147, HCTH407, WuCohen)
    Results are excellent (better than 10 microHa), except for HCTH 147 (must be a bug somewhere).

02. Isolated Bismuth atom
    Compare the results using the native XC library and the
    corresponding ones of LibXC, in the spin-polarized case :
    2 LDAs (Teter93, PW92)
    7 GGAs (PBE, RPBE, HCTH93, HCTH120, HCTH147, HCTH407, WuCohen)
    Results are excellent (better than 10 microHa), except for HCTH 147 and Wu Cohen (must be a bug somewhere).

03. Isolated Oxygen atom
    Test a few functionals for which HGH pseudopotentials are available (from M. Krack),
    that are present also in the lib XC, but not in the native ABINIT set of functionals.

04. Isolated Helium atom
    Test all functionals from XC. This is to check the portability for different platform.
    Extremely quick (nstep=1, nline=1). Less than 15 secs to test 45 functionals ...

05. Isolated Bismuth atom
    Test all functionals from XC. This is to check the portability for different platform.
    Extremely quick (nstep=1, nline=1). Less than 20 secs to test 45 functionals ...

</pre>
