~ubuntu-branches/ubuntu/quantal/psicode/quantal

« back to all changes in this revision

Viewing changes to tests/cc19/cc19.test.pl

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2006-09-10 14:01:33 UTC
  • Revision ID: james.westby@ubuntu.com-20060910140133-ib2j86trekykfsfv
Tags: upstream-3.2.3
ImportĀ upstreamĀ versionĀ 3.2.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/perl  
 
2
 
 
3
while ($ARGV = shift) {
 
4
  if   ("$ARGV" eq "-q") { $QUIET = 1; }
 
5
  elsif("$ARGV" eq "-i") { $SRC_PATH = shift; }
 
6
  elsif("$ARGV" eq "-x") { $EXEC_PATH = shift; }
 
7
}
 
8
 
 
9
if($SRC_PATH ne "") {
 
10
  require($SRC_PATH . "/../psitest.pl");
 
11
}
 
12
else {
 
13
  require("../psitest.pl");
 
14
}
 
15
 
 
16
# build the command for the psi3 driver
 
17
$PSICMD = build_psi_cmd($QUIET, $SRC_PATH, $EXEC_PATH);
 
18
 
 
19
$TOL = 10**-7;
 
20
$PTOL = 10**-4;
 
21
if($SRC_PATH ne "") {
 
22
  $REF_FILE = "$SRC_PATH/output.ref";
 
23
}
 
24
else {
 
25
  $REF_FILE = "output.ref";
 
26
}
 
27
$TEST_FILE = "output.dat";
 
28
$NDOF = 3;
 
29
$RESULT = "cc19.test";
 
30
 
 
31
system ("$PSICMD");
 
32
 
 
33
$FAIL = 0;
 
34
 
 
35
open (RE, ">$RESULT") || die "cannot open $RESULT: $!";
 
36
select (RE);
 
37
printf "CC19:\n";
 
38
 
 
39
if (abs(seek_nuc($REF_FILE) - seek_nuc($TEST_FILE)) > $TOL) {
 
40
  fail_test("Nuclear Repulsion Energy"); $FAIL = 1;
 
41
}
 
42
else {
 
43
  pass_test("Nuclear Repulsion Energy");
 
44
}
 
45
 
 
46
if (abs(seek_scf($REF_FILE) - seek_scf($TEST_FILE)) > $TOL) {
 
47
  fail_test("RHF Energy"); $FAIL = 1;
 
48
}
 
49
else {
 
50
  pass_test("RHF Energy");
 
51
}
 
52
 
 
53
if (abs(seek_ccsd($REF_FILE) - seek_ccsd($TEST_FILE)) > $TOL) {
 
54
  fail_test("CCSD Energy"); $FAIL = 1;
 
55
}
 
56
else {
 
57
  pass_test("CCSD Energy");
 
58
}
 
59
 
 
60
if (abs(seek_lambda($REF_FILE) - seek_lambda($TEST_FILE)) > $TOL) {
 
61
  fail_test("CCSD Lambda Overlap"); $FAIL = 1;
 
62
}
 
63
else {
 
64
  pass_test("CCSD Lambda Overlap");
 
65
}
 
66
 
 
67
@polar_ref = seek_ccsd_polar($REF_FILE);
 
68
@polar_test = seek_ccsd_polar($TEST_FILE);
 
69
 
 
70
if(!compare_arrays(\@polar_ref,\@polar_test,3,3,$PTOL)) {
 
71
  fail_test("CCSD Polarizability"); $FAIL = 1;
 
72
}
 
73
else {
 
74
  pass_test("CCSD Polarizability");
 
75
}
 
76
close(RE);
 
77
 
 
78
system("cat $RESULT");
 
79
 
 
80
exit($FAIL);
 
81