[0b990d] | 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 | */
|
---|