1 | /** \page mpqcval Validating MPQC
|
---|
2 |
|
---|
3 | After you compile MPQC, you should run the validation suite.
|
---|
4 | You should also run the validation suite if you upgrade your operating
|
---|
5 | system software, since this could change shared libraries that are linking
|
---|
6 | with MPQC and could affect the results.
|
---|
7 | Note that the reference validation suite has not been verified
|
---|
8 | relative to an independent code, except for a few spot checks. If you find
|
---|
9 | that MPQC doesn't produce the same answer as another quantum chemistry
|
---|
10 | program that you trust, then please promptly notify us and send all the
|
---|
11 | details.
|
---|
12 |
|
---|
13 | The top-level Makefile has several targets that can be used to check
|
---|
14 | an MPQC build. MPQC must be built before one of these targets is used:
|
---|
15 | <dl>
|
---|
16 | <dt><tt>check</tt><dd>The same as <tt>check0</tt> below. This
|
---|
17 | is only available from the top-level directory
|
---|
18 | and <tt>src/bin/mpqc/validate</tt>.
|
---|
19 | <dt><tt>check0</tt><dd>Run the smallest MPQC verification suite.
|
---|
20 | It tests basic functionality. This
|
---|
21 | is only available from the top-level directory
|
---|
22 | and <tt>src/bin/mpqc/validate</tt>.
|
---|
23 | <dt><tt>check1</tt><dd>Run the intermediate MPQC verification suite.
|
---|
24 | It runs most of the tests, only leaving out
|
---|
25 | very expensive runs. This
|
---|
26 | is only available from the top-level directory
|
---|
27 | and <tt>src/bin/mpqc/validate</tt>.
|
---|
28 | <dt><tt>check2</tt><dd>Run the complete MPQC verification suite.
|
---|
29 | Depending on the compilation and runtime
|
---|
30 | environment, tests that are not expected
|
---|
31 | to work will be omitted. This
|
---|
32 | is only available from the top-level directory
|
---|
33 | and <tt>src/bin/mpqc/validate</tt>.
|
---|
34 | <dt><tt>check_clean</tt><dd>Remove MPQC verification suite output files.
|
---|
35 | This is only available from the top-level directory
|
---|
36 | and <tt>src/bin/mpqc/validate</tt>.
|
---|
37 | <dt><tt>testbuild</tt><dd>Verify that a variety of small test programs
|
---|
38 | compile. If static libraries are used, this
|
---|
39 | will require a substantial amount of disk space.
|
---|
40 | <dt><tt>testrun</tt><dd>Run a variety of small test programs. This
|
---|
41 | will build them if necessary.
|
---|
42 | </dl>
|
---|
43 |
|
---|
44 | The check targets will run mpqc with the mpqcrun (see \ref mpqcrun)
|
---|
45 | command. You can give arguments to mpqcrun by setting
|
---|
46 | the <tt>MPQCRUN_ARGS</tt> variable on the make command line.
|
---|
47 |
|
---|
48 | The verification suite is in <tt>src/bin/mpqc/validate</tt>. After running
|
---|
49 | it, the output files can be found in <tt>src/bin/mpqc/validate/run</tt>.
|
---|
50 | The check targets will compare outputs that your build produced to
|
---|
51 | the reference files in <tt>src/bin/mpqc/validate/ref</tt>. The input files
|
---|
52 | can be found with the reference files.
|
---|
53 | For each comparison, first the status (<tt>ok</tt>,
|
---|
54 | <tt>missing</tt>, or <tt>failed</tt>) for each file is printed. If both
|
---|
55 | statuses are <tt>ok</tt> then an <tt>E:</tt> is printed followed by the
|
---|
56 | number of digits to which the energies agree. If they agree to all digits
|
---|
57 | <tt>99</tt> is printed. If a gradient was computed, then <tt>Grad:</tt> is
|
---|
58 | printed followed by the number of digits to which the gradients in least
|
---|
59 | agreement agree. Other properties checked in this way include frequencies,
|
---|
60 | diagnostics, and populations.
|
---|
61 |
|
---|
62 | If two numbers do not agree to the expected accuracy, then an asterisk,
|
---|
63 | <tt>*</tt>, is printed after the number of digits in agreement.
|
---|
64 |
|
---|
65 | Finally, you can do a detailed comparison of the contents of the
|
---|
66 | <tt>ref</tt> and <tt>run</tt> subdirectories by typing <tt>make diff</tt>.
|
---|
67 |
|
---|
68 | The input files in the verification suite are divided into several categories:
|
---|
69 | <dl>
|
---|
70 | <dt><tt>h2o</tt><dd>These are simple tests that exercise many of MPQC's
|
---|
71 | features.
|
---|
72 |
|
---|
73 | <dt><tt>h2omp2</tt><dd>Tests that further exercise MP2.
|
---|
74 |
|
---|
75 | <dt><tt>h2ofrq</tt><dd>Tests of H<sub>2</sub>O frequencies with a variety
|
---|
76 | of methods.
|
---|
77 |
|
---|
78 | <dt><tt>mbpt</tt><dd>These tests exercise MP2 as well as the open-shell
|
---|
79 | perturbation theory methods. The various available
|
---|
80 | algorithms are tested as well.
|
---|
81 |
|
---|
82 | <dt><tt>ckpt</tt><dd>Tests the checkpoint and restart capabilities.
|
---|
83 |
|
---|
84 | <dt><tt>symm1</tt><dd>Tests of point group symmetry.
|
---|
85 |
|
---|
86 | <dt><tt>symm2</tt><dd>More point group symmetry tests. These use basis
|
---|
87 | sets with higher angular momentum than #symm1#.
|
---|
88 |
|
---|
89 | <dt><tt>symm3</tt><dd>Tests automatic point group determination.
|
---|
90 |
|
---|
91 | <dt><tt>basis1</tt><dd>A variety of basis sets are tested for first row
|
---|
92 | atoms along with hydrogen and helium.
|
---|
93 |
|
---|
94 | <dt><tt>basis2</tt><dd>Basis sets test for second row atoms.
|
---|
95 |
|
---|
96 | <dt><tt>methods</tt><dd>Basic tests of several of MPQC's methods.
|
---|
97 |
|
---|
98 | <dt><tt>clscf</tt><dd>More tests of methods based on CLSCF.
|
---|
99 |
|
---|
100 | <dt><tt>hsosscf</tt><dd>More tests of methods based on HSOSSCF.
|
---|
101 |
|
---|
102 | <dt><tt>uscf</tt><dd>More tests of methods based on UnrestrictedSCF.
|
---|
103 |
|
---|
104 | <dt><tt>dft</tt><dd>More tests of the CLKS method.
|
---|
105 |
|
---|
106 | <dt><tt>mp2r12</tt><dd>More tests of MP2-R12.
|
---|
107 |
|
---|
108 | <dt><tt>ccaintv3</tt><dd>Tests of embedded CCA integrals components using <tt>intv3</tt>.
|
---|
109 |
|
---|
110 | <dt><tt>ccacints</tt><dd>Tests of embedded CCA integrals components using <tt>cints</tt>.
|
---|
111 |
|
---|
112 | </dl>
|
---|
113 |
|
---|
114 | */
|
---|