##### Copyright (C) 2006-2009 ABINIT group (YP)
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.txt .

    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 ...