##### Copyright (C) 1998-2009 ABINIT group (CD)
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, bigdft, contains tests which exercise parts
    of the ABINIT package, especially those features acquired
    during the inclusion of the BigDFT library (wavelet based computations).
    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.

    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,2,3 is related to the basic ground state computation with H atoms.
    Tests 4,5 is related to the basic ground state computation with several atoms.
    Tests 8 is related to the basic ground state computation with ETSF restart from datasets.
    Test  9 is supposed to test the tail correction.
    Test 10 is supposed to test the reformating of wavefunction and rho reallocation.

    Tests 2x are dealing with the Poisson solver.

    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 "v1" (for Tests_v1) and either
       the index of a test case, i.e.
       (run-standard-tests name_of_machine v1 22) >& log_file
       or a whole range of test cases (two indices), i.e.
       (run-standard-tests name_of_machine v1 02 08) >& log_file
       or, if you want to run all the test cases of this directory
       (run-standard-tests name_of_machine v1) >& log_file
       This will send stdout and stderr to log_file.
       The script 'run-standard-tests', will create a subdirectory of ~abinit/tests/v1,
       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:

     1. H2 molecule with default parameters. No forces are computed, with steepest decent
        for the direct minimisation of the wavefunctions.

     2. H2 molecule with default parameters. No forces are computed, with DIIS
        for the direct minimisation of the wavefunctions.

     3. H2 molecule with default parameters. Forces are computed.

     4. SiH4 molecule with default parameters. This routine tests the program with several
        different atoms.

     5. Galaborane molecule to test the HGH pseudo-potentials.

     9. SiH4 molecule with truncated convergence to test the computation of the tail
        correction (see the tl_radius) parameter in the input file.

    10. H2 molecule with geometry optimisation using BFGS (test the reformating part
        of the code).

    11. Si single atom with fractional occupation.

    12. Pt single atom with semi-core electrons, Krack pseudopotentials (pspcod = 10),
        and colinear spin polarisation (GGA functional).

    13. Same than test 12 (platine atom) but with a double spin up (fixmom parameter).

    20. Simple test for real space computation (using a wavelet based poisson solver),
         no forces, just an H atom in an empty box. The cut-off is unrealistic. This
         test tests the following part of the code :
          * psp spline generation for real space ;
          * local part of potential from pseudo ;
          * ion-ion interaction computation (instead of Ewald) ;
          * Hartree potential with Poisson's solver.

    21. Idem but check that non cubic boxs can be used with equivalent x, y and z
        directions.

    22. Water molecule with HGH pseudo-potentials. This checks that a negative
        value in rhor will not make the Poisson solver crashes on XC computation.