The validation suite is in src/bin/mpqc/validate
. The input files are divided into several categories:
h2o
h2omp2
h2ofrq
mbpt
ckpt
symm1
symm2
symm3
basis1
basis2
methods
clscf
hsosscf
uscf
dft
To generate the input files change into the src/bin/mpqc/validate
subdirectory of your object directory (where you compiled MPQC) and type make inputs
. This will create a run
subdirectory containing MPQC input files ending with the .in
suffix. Files ending with a .qci
suffix will also be placed in the run
directory. These contain a description of the calculation that is used by the utility program that checks the results of the validation suite.
Next you need to run the calculations. You might want to start with the h2o
input files first since they shouldn't take too long to run. For the ckpt
calculations you should run the calculations alphabetically by input file name. This ensures that the checkpoint files will be created before they are needed.
While the test calculations are running you can begin monitoring the results by typing make checkrun
in the src/bin/mpqc/validate
directory. This will first do some consistency checks between pairs of files selected from the ckpt
, dft
, mbpt
, symm1
, and symm2
groups of calculations (see below for a discussion of the output for comparison of two files). Then each file is individually checked. An ok
is printed next the test name, if it looks like the calculation made it to the end. A missing
means the output file could not be found. A failed
means that the output file has problems (or the calculation may still be running).
Next you will want to see if your compiled MPQC produces the same answer as ours. Note that our reference validation suite has not been verified relative to an independent code, except for a few spot checks. If you find that MPQC doesn't produce the same answer as another quantum chemistry program that you trust, then please promptly notify us and send all the details. The reference validation suite is distributed separately from MPQC. Obtain it (hopefully it is available where you got the source code) and untar it in the src/bin/mpqc/validate
subdirectory of your MPQC object code directory. This will create the ref
subdirectory. Now you can type make check
and outputs in the ref
and run
directories will be pairwise compared.
When files are pairwise compared first the status (ok
, missing
, or failed
) for each file is printed. If both statuses are ok
then an E:
is printed followed by the number of digits to which the energies agree. If they agree to all digits 99
is printed. If a gradient was computed, then Grad:
is printed followed by the number of digits to which the gradients in least agreement agree. Other properties checked in this way include frequencies, diagnostics, and populations.
If two numbers do not agree to the expected accuracy, then an asterisk, *
, is printed after the number of digits in agreement.
Finally, you can do a detailed comparison of the contents of the ref
and run
subdirectories by typing make diff
.