~ubuntu-branches/ubuntu/oneiric/mpqc/oneiric

« back to all changes in this revision

Viewing changes to src/bin/mpqc/mpqcval.dox

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2005-11-27 11:41:49 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051127114149-zgz9r3gk50w8ww2q
Tags: 2.3.0-1
* New upstream release.
* debian/rules (SONAME): Activate awk snippet for automatic so-name
  detection again, resulting in a bump to `7' and making a `c2a' for
  the C++ allocator change unnecessary; closes: #339232.
* debian/patches/00list (08_gcc-4.0_fixes): Removed, no longer needed.
* debian/rules (test): Remove workarounds, do not abort build if tests
  fail.
* debian/ref: Removed.
* debian/control.in (libsc): Added Conflict against libsc6c2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/** \page mpqcval Validating MPQC
2
2
 
3
 
 After you compile MPQC, you should run it through the validation suite.
 
3
 After you compile MPQC, you should run the validation suite.
4
4
You should also run the validation suite if you upgrade your operating
5
5
system software, since this could change shared libraries that are linking
6
6
with MPQC and could affect the results.
7
 
 
8
 
 The validation suite is in <tt>src/bin/mpqc/validate</tt>.  The
9
 
input files are divided into several categories:
 
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:
10
69
<dl>
11
70
  <dt><tt>h2o</tt><dd>These are simple tests that exercise many of MPQC's
12
71
        features.
34
93
 
35
94
  <dt><tt>basis2</tt><dd>Basis sets test for second row atoms.
36
95
 
37
 
  <dt><tt>methods</tt><dd>Tests the self-consistent-field methods and the
38
 
                  density functional theory functionals.
 
96
  <dt><tt>methods</tt><dd>Basic tests of several of MPQC's methods.
39
97
 
40
98
  <dt><tt>clscf</tt><dd>More tests of methods based on CLSCF.
41
99
 
45
103
 
46
104
  <dt><tt>dft</tt><dd>More tests of the CLKS method.
47
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
 
48
112
</dl>
49
113
 
50
 
  To generate the input files change into the
51
 
<tt>src/bin/mpqc/validate</tt> subdirectory of your object directory (where
52
 
you compiled MPQC) and type <tt>make inputs</tt>.  This will create a
53
 
<tt>run</tt> subdirectory containing MPQC input files ending with the
54
 
<tt>.in</tt> suffix.  Files ending with a <tt>.qci</tt> suffix will also be
55
 
placed in the <tt>run</tt> directory.  These contain a description of the
56
 
calculation that is used by the utility program that checks the results of
57
 
the validation suite.
58
 
 
59
 
  Next you need to run the calculations.  You might want to start with the
60
 
<tt>h2o</tt> input files first since they shouldn't take too long to run.
61
 
For the <tt>ckpt</tt> calculations you should run the calculations
62
 
alphabetically by input file name.  This ensures that the checkpoint files
63
 
will be created before they are needed.
64
 
 
65
 
  While the test calculations are running you can begin monitoring the
66
 
results by typing <tt>make checkrun</tt> in the
67
 
<tt>src/bin/mpqc/validate</tt> directory.  This will first do some
68
 
consistency checks between pairs of files selected from the <tt>ckpt</tt>,
69
 
<tt>dft</tt>, <tt>mbpt</tt>, <tt>symm1</tt>, and <tt>symm2</tt> groups of
70
 
calculations (see below for a discussion of the output for comparison of
71
 
two files).  Then each file is individually checked.  An <tt>ok</tt> is
72
 
printed next the test name, if it looks like the calculation made it to the
73
 
end.  A <tt>missing</tt> means the output file could not be found.  A
74
 
<tt>failed</tt> means that the output file has problems (or the calculation
75
 
may still be running).
76
 
 
77
 
  Next you will want to see if your compiled MPQC produces the same answer
78
 
as ours.  Note that our reference validation suite has not been verified
79
 
relative to an independent code, except for a few spot checks.  If you find
80
 
that MPQC doesn't produce the same answer as another quantum chemistry
81
 
program that you trust, then please promptly notify us and send all the
82
 
details.  The reference validation suite is distributed separately from
83
 
MPQC.  Obtain it (hopefully it is available where you got the source code)
84
 
and untar it in the <tt>src/bin/mpqc/validate</tt> subdirectory of your
85
 
MPQC object code directory.  This will create the <tt>ref</tt>
86
 
subdirectory.  Now you can type <tt>make check</tt> and outputs in the
87
 
<tt>ref</tt> and <tt>run</tt> directories will be pairwise compared.
88
 
 
89
 
  When files are pairwise compared first the status (<tt>ok</tt>,
90
 
<tt>missing</tt>, or <tt>failed</tt>) for each file is printed.  If both
91
 
statuses are <tt>ok</tt> then an <tt>E:</tt> is printed followed by the
92
 
number of digits to which the energies agree.  If they agree to all digits
93
 
<tt>99</tt> is printed.  If a gradient was computed, then <tt>Grad:</tt> is
94
 
printed followed by the number of digits to which the gradients in least
95
 
agreement agree.  Other properties checked in this way include frequencies,
96
 
diagnostics, and populations.
97
 
 
98
 
  If two numbers do not agree to the expected accuracy, then an asterisk,
99
 
<tt>*</tt>, is printed after the number of digits in agreement.
100
 
 
101
 
  Finally, you can do a detailed comparison of the contents of the
102
 
<tt>ref</tt> and <tt>run</tt> subdirectories by typing <tt>make diff</tt>.
103
 
 
104
114
*/