Gromacs

Test Set

    Version as of 01:42, 24 Aug 2019

    to this version.

    Return to Version archive.

    View current version

    The test set is broken. Don't bother trying to use it.

     

    A test set useful for testing GROMACS 3 versions has been available for some years. While there has been a release of the test set aimed at GROMACS 4 (gmxtest-4.0.4.tgz), it is not terribly useful and has a number of known failure cases. Accordingly, attempting to test your GROMACS 4 release with that test is not strongly recommended. There has been some work done to improve this situation, and the version of the regression tests in the public git repository should be useful for checking the correctness of a GROMACS 4 installation, and feedback on it is highly desirable. See the section below for getting access to this version.

    The tests consist of four parts.

    • simple: a number of tests aimed at checking the different bonded potentials
    • complex: complete systems of varying composition and with different mdp options (cut-offs etc.)
    • kernel: a set of systems testing all the nonbonded kernels (63 at the time of writing) in their various forms
    • pdb2gmx: runs pdb2gmx on a few pdb files with different flags and force fields, does an energy minimization and compares the resulting energy

    All these tests can be run in single and double precision (reference results are provided) and in parallel. The results are checked by comparing energies and forces, for runs varying between 1 and 50-100 time steps. In some cases the results from a free energy calculation are compared to reference values as well. By doing these short simulations we effectively also test reproducibility of integrators, constraint algorithms, temperature and pressure scaling, and so on. The ambition is to add more tests, in order to cover all potentials present in GROMACS. There should also be tests for analysis tools, but these have not be made yet. Within the test set there is a README file with some additional information.

    Note It is normal for GROMACS 4.0-4.0.5 to fail gmxtest-4.0.4 on tip4p, tip4pflex, perhaps some others, and a host of [0-4]2[0-4] kernels for Buckingham-style VDW interactions. These are caused by various known issues which will be resolved in a future release of gmxtest.

    Obtaining the test set

    A distribution can be found at the GROMACS ftp site:

    You can also get the test through git. See Basic Git Usage for more information, but if you have git installed and web access then

    git clone git://git.gromacs.org/regressiontests.git

     will download the test set. Be warned, uncompressed it is around 70MB - git does compress as it downloads, but it will still take some time. There are some known issues awaiting developer attention, which are mentioned here.

    Running the tests

    The whole test is run from a single Perl script (gmxtest.pl). If run without arguments it will give you usage information:

    Usage: ./gmxtest.pl [ -np N ] [-verbose ] [ -double ] [ simple | complex | kernel | pdb2gmx | all ]
      or: ./gmxtest.pl clean | refclean | dist
    

    Typically one should run all tests at once (./gmxtest.pl all) and get a PASSED or FAILED result. Note however that passing the test is not a guarantee that everything is hunky-dory, because not all combination of options can be tested. Failing the test on the other hand should lead to an investigation of the particular component of the test that failed.

    If the tests fail, then you should start by doing a fresh install (unless you just did one), by either unpacking the distribution in a fresh directory or running make distclean in the GROMACS directory. After re-installation you should run the tests again. Now you should start trouble-shooting, and perhaps post to the gmx-users List.

     

    Example test session

    A typical testing session might look like this:

    [kahlo:~/GROMACS/gmxtest] % ./gmxtest.pl all
    All 16 simple tests PASSED
    All 13 complex tests PASSED
    All 63 kernel tests PASSED
    [kahlo:~/GROMACS/gmxtest] % ./gmxtest.pl -double all
    All 16 simple tests PASSED
    All 13 complex tests PASSED
    All 63 kernel tests PASSED
    [kahlo:~/GROMACS/gmxtest] % ./gmxtest.pl -np 2 all
    Will test on 2 processors
    All 16 simple tests PASSED
    FAILED. Check files in dec+water
    1 out of 13 complex tests FAILED
    All 63 kernel tests PASSED
    [kahlo:~/GROMACS/gmxtest] % setenv NOASSEMBLYLOOPS 1
    [kahlo:~/GROMACS/gmxtest] % ./gmxtest.pl all
    All 16 simple tests PASSED
    FAILED. Check files in dec+water
    1 out of 13 complex tests FAILED
    All 63 kernel tests PASSED
    [kahlo:~/GROMACS/gmxtest] % ./gmxtest.pl -double all
    All 16 simple tests PASSED
    All 13 complex tests PASSED
    All 63 kernel tests PASSED
    

    Here we have performed all tests on mdrun, in single and double precision and with and without assembly inner loops, and we got errors one one system. When we investigate the error, by first re-running only the complex tests (since the double precision test did not give any errors all output files have been removed):

    [kahlo:~/GROMACS/gmxtest] % ./gmxtest.pl complex
    FAILED. Check files in dec+water
    1 out of 13 complex tests FAILED
    

    We then chdir complex/dec+water and check the file checkpot.out, where we find:

    There are 5 terms to compare in the energy files
    
    LJ (SR)          step  34:     -0.176025,  step  34:     -0.21167
    LJ (SR)          step  49:       3.21021,  step  49:      3.04639
    

    In the parallel test the error was very similar:

    There are 5 terms to compare in the energy files
    
    LJ (SR)          step  34:     -0.176025,  step  34:    -0.161865
    

    This means that we have a small deviation in the Lennard Jones energy at two time steps, however in this particular case the forces and virial have not generated errors. We got this error because of numerical accuracy in adding up many interactions. We always compare numbers such that they should be identical within a certain tolerance (specified in the script), and the reason the current tests failed is because the numbers are very close to zero, while the energy fluctuations are on the order of hundreds of kJ/mol. In other words we can disregard this error as unimportant.

    Page last modified 11:35, 13 Oct 2010 by mabraham