File: psi-driver.tex

package info (click to toggle)
psicode 3.3.0-3
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 32,284 kB
  • ctags: 12,083
  • sloc: ansic: 218,247; cpp: 35,679; fortran: 10,489; perl: 5,413; sh: 3,881; makefile: 1,874; yacc: 110; lex: 52; csh: 12
file content (116 lines) | stat: -rw-r--r-- 3,845 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
\section{\PSIthree\ Driver} \label{psi-driver}

The \PSIthree\ suite of programs is built around a modular design. Any module
can be run independently or the driver module, {\tt psi3}, can parse the
input file, recognize the calculation desired, and run all the necessary
modules in the correct order. {\tt psi3} reads the file {\tt psi.dat} by
default. {\tt psi.dat} contains macros for several standard calculations, 
however, anything in {\tt psi.dat} can be overriden by the user.  

\subsection{Environment Variables}

\begin{description}

\item[PSIDATADIR]\mbox{}\\
This flag is used to specify an alternate location for platform-independent
read-only files such as {\tt psi.dat} and {\tt pbasis.dat}.
By default, \PSIthree\ will look for these files under {\tt \$psipath/share}.

\end{description}

\subsection{Command-Line Options}

\begin{description}

\item[-i or -f]\mbox{}\\
This flag is used to specify the input file name, e.g. {\tt psi3 -i
h2o.in} where {\tt h2o.in} is the name of the input file. By default,
{\tt psi3} and the other \PSIthree\ modules look for {\tt input.dat}.

\item[-o]\mbox{}\\
This flag is used to specify the output file name, e.g. {\tt psi3 -o
h2o.out} where {\tt h2o.out} is the name of the output file. By default,
{\tt psi3} and the other \PSIthree\ modules look for {\tt output.dat}.

\item[-p]\mbox{}\\
This flag is used to specify the \PSIthree\ file prefix, e.g. {\tt psi3 -p
h2o.dzp} where {\tt h2o.dzp} is the prefix that will be used for all
\PSIthree\ files. By default, {\tt psi3} and the other \PSIthree\ modules 
use {\tt psi} for the file prefix. Hence, the checkpoint file is by 
default called {\tt psi.32}.

\item[-n]\mbox{}\\
This flag tells {\tt psi3} not to run the {\tt input} module. This
flag is useful for scripting and debugging.

\item[-c]\mbox{}\\
This flag tells {\tt psi3} to check the input and print out the list
of programs which would be executed to STDOUT. Equivalent to 
{\tt check = true} in the input file.

\item[-m]\mbox{}\\
This flag tells {\tt psi3} not to run the cleanup module {\tt psiclean}.
Usually, {\tt psiclean} is invoked by the {\tt \$done} macro in 
{\tt psi.dat}. This flag is useful for scripting and debugging.

\end{description}

\subsection{Input Format}

The {\tt psi3} module searches through the default keyword path 
(first {\tt PSI} then {\tt DEFAULT}) for the following keywords:

\begin{description}

\item[JOBTYPE = string]\mbox{}\\
This keyword specifies what kind of calculation to run.

\item[WFN = string]\mbox{}\\
This keyword specifies the type of wave function.

\item[REFERENCE = string]\mbox{}\\
This keyword specifies the spin-reference.

\item[DERTYPE = string]\mbox{}\\
This keyword specifies the order of the derivative to be used.
The default is {\tt none}.

\item[OPT = boolean]\mbox{}\\
Set equal to {\tt true} if performing a geometry optimization.
The default is {\tt false}.

\item[CHECK = boolean]\mbox{}\\
If {\tt true}, {\tt psi3} will parse your input file and print
the sequence of programs to be executed to STDOUT. The default is 
{\tt false}.

\item[EXEC = string vector]\mbox{}\\
The {\tt EXEC} vector contains a list of commands to be executed by
{\tt psi3}. Explicit commands can be entered in double quotes, or
preset variables can be entered using the convention \$variable, 
e.g.
\begin{verbatim}
psi: (
  exec = ("ints")
)
\end{verbatim}
or
\begin{verbatim}
psi: (
  ints = "ints"
  exec = ($ints)
)
\end{verbatim}

\end{description}

\subsection{Loop Control}

Loop control is handled with the {\tt repeat} and {\tt end} commands.
The syntax is:
\begin{verbatim}
repeat n [commands to be executed] end
\end{verbatim}
where {\tt n} is the number of times to repeat the loop. An inspection
of the {\tt psi.dat} file will show that this is how geometry optimizations
and finite displacements are performed.