latest verified revisions
** ------------------------------------- **
rev verified tests
2604 ALL+QM
2546 ALL+QM (CPMD r7992)
2521 ALL+QM (CPMD r7984)
2441 ALL+QM
2333 ALL+QM
2309 ALL+QM
2297 ALL+QM
2260 ALL+QM
2245 ALL+QM
2192 ALL+QM
** ------------------------------------- **
To verify that the iffi executable you built is valid, a test suite is available,
which offers reference results for a variety of setups.
Make sure your testsuite has the same subversion revision as your code.
Note: unlike the setups found in the examples folder, the testsuite setups do not neccessarily have any physical meaning (i.e. regarding model parameters, system setup, etc..). The iffi test suite was adapted from the CPMD test suite (http://cpmd.org/).
Here's a quick how-to (cd to the testsuite folder first):
./iffi_test_suite.sh -h # show help
Choosing tests:
./iffi_test_suite.sh -ALL # all tests
./iffi_test_suite.sh -MM # MM (PMM, QM) tests
./iffi_test_suite.sh -file minimal.tests # only some very basic tests
./iffi_test_suite.sh -file failed.tests # run only tests that were not passed before
./iffi_test_suite.sh -ALL -compile -arch LINUX_GNU_MPI -vcupd -vcopt "-r6151"
( check out revision 6151, compile with ARCH=LINUX_GNU_MPI, performs tests (works only with clean working copy) )
./iffi_test_suite.sh -ALL -accur 2 # ignores last 2 digits in numerical comparisons
Depending on yout directory structure, it might be necessary to specify the directory and/or name of the executable:
./iffi_test_suite.sh -ALL ... -bindir /my_path/ -exe my_iffi.exe
typical workflow:
./iffi_test_suite.sh -ALL -compile -arch LINUX_GNU_MPI
if all tests PASS: congrats! You're done! However, normally tests FAIL or CRASH. Look at $SUITEDIR/TS.OUT/Errors.log to see what happened.
compare results again with reduced numerical accuracy
./iffi_test_suite.sh -file failed.tests -norun -accur 2
Note: It is very unlikely that you are using the exact same hardware and software platform that was used for creating the references. Therefore, don't worry if tests fail due to numerics. Reference architecture: -arch LINUX_GNU_MPI (-arch CPMD_LINUX_GNU_MPI for QM/MM tests). For BMO users: compile executable and run test suite on machine ulme.
Help! all tests CRASH!
First, check if the executable iffi.gnu.mpi lies in ../program/bin . If you are using another directory/executable name, specifiy the -bindir and/or -exe options (see above).
Second, check for input problems: go to the directory of the CRASHED tests (e.g. cd MM/1_TIP3P_DIMER/NEAR/ ), run
../../../../program/bin/iffi.gnu.mpi test.in.1
or
/my_path/my_iffi.exe test.in.1
and check for input error messages. Sometimes the scheme for the control file changes, the then invalid input makes Iphigenie fail at startup. Fix your input accordingly.
** CPMD tests **
For the CPMD tests in the testsuite, currently the following pseudopotential files
are needed from pseudo_extlib.tar.gz (download from cpmd.org):
H_MT_BLYP.psp, H_MT_BP.psp, O_MT_BP.psp, O_SPRIK_BLYP.psp, P_MT_BLYP.psp.
Set your $PP_LIBRARY_PATH environment variable to the folder containing these files.
** Setting Defaults **
Most of the options shown by
./iffi_test_suite.sh -h
can be also set (and changed) in the defaults.cfg file in the main testsuite directory.
** valgrind **
The test suite can be used to run all test systems with the valgrind memory checker in
order to detect memory leaks or segmentation violations. Just use the mpicmd option:
./iffi_test_suite.sh -mpicmd valgrind -exe iffi.gnu.seq.dbg -ALL
valgrind writes its messenges to stderr, thus, all its output is collected in TS.OUT/no_msg.log.