input - initializes files prior to a run of Psi
The program input is a preliminary program which reads the
input data for the molecule (geometry, basis set, etc. ) and generates a
working file called which is the real starting point of each calculation.
The input program can handle a total of 100 atoms and 1500 unique
primitive gaussian functions. The input program limits the use of
symmetry point groups to D2h and its subgroups.
For STO basis sets:
- 1.
- W. J. Hehre, R. F. Stewart and J.A. Pople, J. Chem. Phys. 51 (1969)
2657.
- 2.
- W. J. Hehre, R. Ditchfield, R. F. Stewart and J.A. Pople, J. Chem. Phys.
52 (1970) 2769.
For DZ and the old TZ basis sets:
- 1.
- S. Huzinaga, J. Chem. Phys. 42 (1965) 1293.
- 2.
- T. H. Dunning, J. Chem. Phys. 53 (1970) 2823.
For DZP basis sets:
for Li and Be;
- 1.
- A. J. Thakkar, T. Koga, M. Saito, R. E. Hoffmeyer, Inter. J. Quant. Chem.
Symp. 27 (1993) 343.
for Na and Mg;
- 1.
- S. Huzinaga, Approximate Atomic Wavefunction II, Dept. of Chem. Report,
Univ. of Alberta, Edmonton, Alberta, Canada, 1971.
For the Rydberg and negative ion basis sets:
- 1.
- T. H. Dunning, Jr. and P. J. Hay, in Modern Theoretical Chemistry, Volume
3, Ed. H. F. Schaefer III, Plenum Press, NY, 1977.
For the new TZ basis sets:
- 1.
- T. H. Dunning, J. Chem. Phys. 55, (1971) 716.
- 2.
- A. D. McLean and G. S. Chandler, J. Chem. Phys., 72 (1980) 5639.
For the general contracted basis sets:
- 1.
- T. H. Dunning Jr., J. Chem. Phys. 90, (1989).
- 2.
- F. B. van Duijneveldt, IBM Res. Rep. RJ 945 (1971).
For the Wachters basis sets:
- 1.
- A. J. H. Wachters, J. Chem. Phys. 52, (1970) 1033.
For the cc-pVXZ (X=D,T,Q) basis sets for hydrogen and the
first row atoms B-Ne:
- 1.
- T.H. Dunning, Jr., J. Chem. Phys. 90, 1007 (1989).
For the aug-cc-pVXZ (X=D,T,Q) basis sets for H and B-Ne:
- 1.
- R.A. Kendall, T.H. Dunning, Jr., and R.J. Harrison, J. Chem. Phys. 96,
6796 (1992).
For the cc-pVXZ and aug-cc-pVXZ (X=D,T,Q) sets for the
second row atoms Al-Ar:
- 1.
- D.E. Woon and T.H. Dunning, Jr., J. Chem. Phys. 98, 1358 (1993).
For the cc-pVXZ (X=D,T,Q) basis sets for helium; cc-pV5Z and
aug-cc-pV5Z basis sets for H, B-Ne, and Al-Ar:
- 1.
- D.E. Woon, K.A. Peterson, and T.H. Dunning, Jr. (unpublished).
For the cc-pVXZ and aug-cc-pVXZ (X=D,T,Q) basis sets for
lithium, beryllium, and sodium; cc-pV5Z and aug-cc-pV5Z
basis sets for beryllium:
- 1.
- D.E. Woon and T.H. Dunning, Jr. (unpublished).
Also see
- 1.
- R. Poirier, R. Kari and I. G. Csizmadia, "Handbook of Gaussian Basis
Sets" Phys. Sci. Data 24 (Elsevier, 1985), and references therein.
In addition to the standard command-line options supported by all
Psi 3 modules, the following command-line arguments are available:
- --keep_chkpt
- This option will cause input to keep the checkpoint file and possibly
overwrite the information. By default, input will delete the checkpoint
file and create a new one.
- --chkptgeom
- This option will cause input to read the geometry from checkpoint file
rather than from the input file.
- --chkptmos
- This option will cause INPUT to try to recover molecular orbitals
from a previous calculation archived in the checkpoint file. If found,
occupied MOs will be projected onto the new basis. The virtual space is
filled up by the virtual MOs obtained by diagonalizing the core
Hamiltonian (even if the new and old basis sets are identical). This will
not affect the subsequent SCF procedure in any way, but should be kept in
mind.
- --noproject
- This option will prevent projection of MOs onto the new basis. Useful in
combination with the previous option.
- --noreorient
- This option will prevent the reorientation of the molecule to the
reference inertia frame prior to the determination of the point
group.
- --nocomshift
- This option will prevent shift of the center of mass of the molecule to
the origin prior to the determination of the point group.
- --savemos
- This option will cause INPUT to try to recover molecular orbitals
from a previous calculation archived in the checkpoint file. If found, the
SCF eigenvector and other information will be stored to file 42.
The input program searches through the default keyword path
(first INPUT and then DEFAULT) for the following keywords:
- LABEL =
string
- This is a descriptive label for the calculation. There is no default.
- NORMBASIS =
boolean
- If NORMBASIS=YES, the molecular orbital coefficients of the
occupied orbitals are given in terms of normalized contracted basis
functions. This should always be true. The default is true.
- PRIMNORM =
boolean
- If PRIMNORM=YES, the contraction coefficients of the D, F, and G
primitive functions that are input should be the ones corresponding to the
normalized D(XX), F(XXX) and G(XXXX) primitives. All of the basis sets
provided with Psi require that this be true. The default is true.
- SUBGROUP =
string
- This is the subgroup to be used in the calculation. For the C1 point group
use string = C1; for Cs use CS; for Ci use CI;
for C2 use C2; for C2h use C2H; for C2v use C2V; and
for D2 use D2; There is no default.
- UNIQUE_AXIS
= string
- This keyword specifies which axis in the original (before the principal
axis reorientation) coordinate system should be chosen as the unique axis
in the subgroup specification. For example, if one wants to perform a
calculation on a D2h molecule in C2v symmetry, one has to specify which of
the three C2 axes has to serve as the unique axis. There's no default.
- UNITS =
string
- If string is BOHR, then the GEOMETRY array is in
bohr. If string is ANGSTROM, then the GEOMETRY array
is in angstoms. The default is BOHR.
- GEOMETRY =
array
- The array is a vector of cartesian coordinates of EACH atom. Each
element of this vector is another vector in the form (
atom_name x y z). There is no default.
- ZMAT =
array
- The array is a Z-matrix for the molecule. Each element of this
vector is another vector in the general form ( atom_name
atom1 bond_distance atom2 valence_angle
atom3 torsional_angle). The first three atoms don't
require all of the parameters to be specified There is no default.
- PUREAM =
boolean
- If boolean is TRUE, then shells with pure angular momentum
will be used. Thus, a D shell will have five function, a F shell will have
seven functions, a G shell will have nine functions, etc. The default is
false.
- BASIS =
string/string_vector
- If basis set is given as a single string, the same basis set will be used
for all atoms. Basis set for EACH atom can be specified in a
one-dimensional string vector, however, user must be careful, since only
basis sets for unique atoms will be read from the vector. Basis set for
each element type can be specified analogously, however each element of
the basis set vector must be a vector consisting of two elements: element
name and basis set name. There is no default.
- BASIS_FILE
= string
- This keyword specifies the name of an alternate file to be searched for
basis set information. Either an absolute path to the file or a path
relative to the current directory can be used. If the string is terminated
by "/" (only directory is specified) then the default file name
"basis.dat" will be appended.
- NO_REORIENT
= boolean
- This keyword is a hack to give user more control in certain situations
when reorientation into the principal frame leaves some symmetry elements
undetected. When set to TRUE, the program will skip this
reorientation step. The user then becomes responsible for providing an
initial orientation that is oriented properly for all symmetry elements to
be detected. This can be tricky with Z-matrices, hence only experts should
use this keyword.
- KEEP_REF_FRAME
= boolean
- When this keyword is set to true Psi will keep track of the original
coordinate frame, i.e. the coordinate frame right after the center of mass
shift and before the reorientation into the principal frame. That frame is
called reference frame and, in general, is different from the canonical
coordinate frame adopted at the end of input run and used for computations
by all Psi modules programs henceforth. The information about the
reference frame thus need to be stored in the checkpoint file if Psi
modules (such as CINTS) need to transform their frame-dependent
results (such as forces on the nuclei) into the original reference frame
for external programs to use. This keyword becomes useful in finite
difference computations where changes in point group may cause the
molecule to reorient - when KEEP_REF_FRAME is set to TRUE
all gradients in FILE11 will be printed in the same coordinate
frame.
- PRINT =
integer
- This controls the amount of information to be printed out. The greater the
number - the more information gets printed. Default (PRINT = 1)
should be enough for routine use.
The input program searches through the BASIS keyword
path for the basis set information. It first searches through the user's
file, then searches through a file in the working directory (if one exists),
and then through a user specified basis file specified by the
BASIS_FILE keyword (if any). Finally, it searches through the file in
the Psi library directory. The name of the basis set which is searched for
is obtained by appending the atom name to the basis name with a ':'
inbetween. The format of the basis set information is best understood by
looking in the file.
Psi can use use standard basis sets which are provided in a file
named in the Psi library directory. Many of the basis set names contain
nonalphanumeric characters. These names must be surrounded by `"'.
- STO
- This gets the STO-3G basis set which is available for hydrogen-argon. The
STO-3G basis sets for the atoms sodium-argon contain a D function.
- DZ
- This gets double zeta (DZ) basis set, which is (4s/2s) for hydrogen,
(9s5p/4s2p) for boron-fluorine, and (11s7p/6s4p) for
aluminum-chlorine.
- (4S/2S)
- This gets a DZ basis set for hydrogen.
- (9S5P/4S2P)
- This gets a DZ basis set for boron-fluorine.
- (11S7P/6S4P)
- This gets a DZ basis set for aluminum-chlorine.
- DZP-OLD
- This is a DZ basis set with a shell of polarization functions added. The
exponents of these functions are the old value. It is available for
hydrogen, boron-fluorine, and aluminum-chlorine.
- TZ-OLD
- The old triple zeta (TZ) basis set is (4s/3s) for hydrogen, (9s5p/5s3p)
for boron-fluorine, and (11s7p/7s5p) for aluminum-chlorine. The TZ basis
set is triple zeta in the valence only. This basis is provided for
verification of old results; do not use it.
- TZP-OLD
- This is the old TZ basis set with the old polarization functions added. It
is available for hydrogen, boron-fluorine, and aluminum-chlorine. This
basis is provided for verification of old results; do not use it.
- (5S/3S)
- This gets a TZ basis set for hydrogen.
- (10S6P/5S3P)
- This gets a TZ basis set for boron-neon. The TZ basis set is triple zeta
in the valence only.
- (12S9P/6S5P)
- This gets a TZ basis set for sodium-argon. The TZ basis set is triple zeta
in the valence only.
- 1P_POLARIZATION
- This gets a set of polarization functions for hydrogen.
- 1D_POLARIZATION
- This gets a set of polarization functions for boron-fluorine and
aluminum-chlorine.
- 2P_POLARIZATION
- This gets two sets of polarization functions for hydrogen.
- 2D_POLARIZATION
- This gets two sets of polarization functions for boron-fluorine and
aluminum-chlorine.
- 1D_POLARIZATION
- This gets a set of second polarization functions for hydrogen.
- 1F_POLARIZATION
- This gets a set of second polarization functions for boron-fluorine and
aluminum-chlorine.
- DZP
- This gets a (4S/2S) basis with a "1P_POLARIZATION" function for
hydrogen, a (9S5P/4S2P) basis with a "1D_POLARIZATION" funtion
for lithium-flourine, a (11S5P/7S2P) plus two even-tempered p functions
for sodium and magnesium, and a (11S7P/6S4P) basis with a
"1D_POLARIZATION" function for aluminium-chlorine.
- TZ2P
- This gets a (5S/3S) basis with "2P_POLARIZATION" functions for
hydrogen, a (10S6P/5S3P) basis with "2D_POLARIZATION" funtions
for boron-flourine, and a (12S9P/6S5P) basis with
"2D_POLARIZATION" functions for aluminium-chlorine.
- DZ_DIF
- This gets a DZ basis with a diffuse s for hydrogen, and a diffuse s and
diffuse p for boron-flourine, and aluminum-chlorine.
- TZ_DIF
- This gets a TZ basis with a diffuse s for hydrogen, and a diffuse s and
diffuse p for boron-flourine, and aluminum-chlorine.
- DZP_DIF
- This gets the DZP basis with a diffuse s for hydrogen, and a diffuse s and
diffuse p for boron-flourine, and aluminum-chlorine.
- TZ2P_DIF
- This gets the TZ2P basis with a diffuse s for hydrogen, and a diffuse s
and diffuse p for boron-flourine, and aluminum-chlorine.
- TZ2PF
- This gets the TZ2P basis and adds "1D_POLARIZATION" for hydrogen
and "1F_POLARIZATION" for boron-flourine, and
aluminum-chlorine.
- TZ2PD
- This gets the TZ2PF basis set for hydrogen.
- TZ2PF_DIF
- This gets a TZ2PF basis and adds the appropriate s diffuse functions for
hydrogen and s and p diffuse functions for boron-flourine, and
aluminum-chlorine.
- CCPVDZ
- This gets the segmentally contracted correlation consistent basis set
cc-pVDZ, which is (4s1p/2s1p) for hydrogen and helium, (9s4p1d/3s2p1d) for
lithium - neon, and (12s8p1d/4s3p1d) for sodium and aluminum - argon.
- CCPVTZ
- This gets the segmentally contracted correlation consistent basis set
cc-pVTZ, which is (5s2p1d/3s2p1d) for hydrogen and helium,
(10s5p2d1f/4s3p2d1f) for lithium - neon, and (15s9p2d1f/5s4p2d1f) for
sodium and aluminum - argon.
- CCPVQZ
- This gets the segmentally contracted correlation consistent basis set
cc-pVQZ, which is (6s3p2d1f/4s3p2d1f) for hydrogen and helium,
(12s6p3d2f1g/5s4p3d2f1g) for lithium - neon, and (16s11p3d2f1g/6s5p3d2f1g)
for sodium and aluminum - argon.
- CCPV5Z
- This gets the segmentally contracted correlation consistent basis set
cc-pV5Z, which is (8s4p3d2f1g/5s4p3d2f1g) for hydrogen and helium,
(14s8p4d3f2g1h/6s5p4d3f2g1h) for beryllium - neon, and
(20s12p4d3f2g1h/7s6p4d3f2g1h) for aluminum - argon.
-
- PLEASE NOTE: The correlation consistent basis sets cc-pVXZ (X = D,
T, Q, 5) are designed for use with pure angular momentum functions.
- AUGCCPVDZ
- This gets the correlation consistent basis set aug-cc-pVDZ, which is the
cc-pVDZ basis set augmented with optimized diffuse functions. This is a
diffuse (1s1p) set for hydrogen and helium and a diffuse (1s1p1d) set for
lithium - neon, sodium, and aluminum - argon.
- AUGCCPVTZ
- This gets the correlation consistent basis set aug-cc-pVTZ, which is the
cc-pVTZ basis set augmented with optimized diffuse functions. This is a
diffuse (1s1p1d) set for hydrogen and helium and a diffuse (1s1p1d1f) set
for lithium - neon, sodium, and aluminum - argon.
- AUGCCPVQZ
- This gets the correlation consistent basis set aug-cc-pVQZ, which is the
cc-pVQZ basis set augmented with optimized diffuse functions. This is a
diffuse (1s1p1d1f) set for hydrogen and helium and a diffuse (1s1p1d1f1g)
set for lithium - neon, sodium, and aluminum - argon.
- AUGCCPV5Z
- This gets the correlation consistent basis set aug-cc-pV5Z, which is the
cc-pV5Z basis set augmented with optimized diffuse functions. This is a
diffuse (1s1p1d1f1g) set for hydrogen and helium and a diffuse
(1s1p1d1f1g1h) set for beryllium - neon and aluminum - argon.
- GCVDZ
- A general contracted basis set for hydrogen, for which it is (4s)/[2s],
and for boron-neon for which it is (9s4p)/[3s2p].
- GCVTZ
- A general contracted basis set for hydrogen, for which it is (5s)/[3s],
and for boron-neon for which it is (10s5p)/[4s3p].
- GCVQZ
- A general contracted basis set for hydrogen, for which it is (6s)/[4s],
and for boron-neon for which it is (12s6p)/[5s4p].
- GCV1P
- This gets one P polarization shell for hydrogen (for use with GCVDZ).
- GCV2P
- This gets two P polarization shells for hydrogen (for use with
GCVTZ).
- GCV3P
- This gets three P polarization shells for hydrogen (for use with
GCVQZ).
- GCV1D
- This gets one D polarization shell for hydrogen (for use with GCVTZ) and
boron-neon (for use with GCVDZ).
- GCV2D
- This gets two D polarization shells for hydrogen (for use with GCVQZ) and
boron-neon (for use with GCVTZ).
- GCV3D
- This gets three D polarization shells for boron-neon (for use with
GCVQZ).
- GCV1F
- This gets one F polarization shell for hydrogen (for use with GCVQZ) and
boron-neon (for use with GCVTZ).
- GCV2F
- This gets two F polarization shells for boron-neon (for use with
GCVQZ).
- GCV1G
- This gets one G polarization shell for boron-neon (for use with GCVQZ).
- GCV1DPURE
- This is GCV1D with pure angular momentum explicitly turned on.
- GCV2DPURE
- This is GCV2D with pure angular momentum explicitly turned on.
- GCV3DPURE
- This is GCV3D with pure angular momentum explicitly turned on.
- GCV1FPURE
- This is GCV1F with pure angular momentum explicitly turned on.
- GCV2FPURE
- This is GCV2F with pure angular momentum explicitly turned on.
- GCV1GPURE
- This is GCV1G with pure angular momentum explicitly turned on.
- GCVDZP
- A general contracted basis set for hydrogen, for which it is
(4s1p)/[2s1p], and for boron-neon, for which it is (9s4p1d)/[3s2p1d].
- GCVTZP
- A general contracted basis set for hydrogen, for which it is
(5s2p1d)/[3s2p1d], and for boron-neon, for which it is
(10s5p2d1f)/[4s3p2d1f].
- GCVQZP
- A general contracted basis set for hydrogen, for which it is
(6s3p2d1f)/[4s3p2d1f], and for boron-neon for which it is
(12s6p3d2f1g)/[5s4p3d2f1g].
- DUNNING_RYDBERG_3S
- This gets a Rydberg shell for boron-fluorine.
- DUNNING_RYDBERG_3P
- This gets a Rydberg shell for boron-fluorine.
- DUNNING_RYDBERG_3D
- This gets a Rydberg shell for boron-fluorine and aluminum-chlorine.
- DUNNING_RYDBERG_4S
- This gets a Rydberg shell for boron-fluorine and aluminum-chlorine.
- DUNNING_RYDBERG_4P
- This gets a Rydberg shell for boron-fluorine and aluminum-chlorine.
- DUNNING_RYDBERG_4D
- This gets a Rydberg shell for boron-fluorine.
- DUNNING_NEGATIVE_ION_2P
- This gets a diffuse shell for boron-fluorine and aluminum-chlorine.
- WACHTERS
- This gets a (14s11p6d/10s8p3d) basis set for potassium,scandium-zinc.
- 321G
- This gets a 3-21G basis set for hydrogen-argon.
- 631G
- This gets a 6-31G basis set for hydrogen-argon.
- 6311G
- This gets a 6-311G basis set for hydrogen-neon.
- 631GST
- This gets a 6-31G* basis set for hydrogen-argon.
- 631PGS
- This gets a 6-31+G* basis set for hydrogen-argon.
- 6311PPGSS
- This gets a 6-311++G** basis set for hydrogen-neon.
- PLUSS
- This gets a diffuse S (Pople) for hydrogen-argon.
- PLUSP
- This gets a diffuse P (Pople) for hydrogen-argon.
The following input is for the water molecule:
default: (
)
input: (
basis = dzp
geometry = ((o 0.0 0.00000000 0.00000000)
(h 0.0 -1.49495900 0.99859206)
(h 0.0 1.49495900 0.99859206))
)
The following input is equivalent to the above example:
default: (
)
input: (
basis = ( (o dzp)
(h dzp) )
geometry = ((oxygen 0.0 0.00000000 0.00000000)
(hydrogen 0.0 -1.49495900 0.99859206)
(hydrogen 0.0 1.49495900 0.99859206))
)
The following is an example of Z-matrix specification
default: (
)
input: (
basis = ( (oxygen ccpv6z)
(hydrogen ccpv5z) )
zmat = ((x)
(o 1 1.0)
(h 2 0.995 1 127.75)
(h 2 0.995 1 127.75 3 180.0)
)
)
The following lines input could be placed in an input file to
redefine the hydrogen DZP basis set. Note that double quotes must be used
when a basis set name has special characters in it.
basis: (
% definition for hydrogen's DZP basis:
hydrogen:dzp = (
% inserts hydrogen:dz:
(get "DZ")
% uses pbasis.dat for polarization:
(get "DUNNING_POLARIZATION")
)
% definition for hydrogen's DZ basis:
hydrogen:dz = (
% inserts hydrogen:"HUZINAGA-DUNNING_(9S/4S)":
(get "HUZINAGA-DUNNING_(9S/4S)")
)
% definition for hydrogen's (9s/4s) basis:
hydrogen:"HUZINAGA-DUNNING_(9S/4S)" = (
(S ( 19.2406 0.032828)
( 2.8992 0.231208)
( 0.6534 0.817238))
(S ( 0.1776 1.0))
)
)
The following lines input could be placed in an input file to
define an alternate location to look for basis set information. Note that
double quotes must be used when a string has special characters in it.
input: (
basis = (mydzp mydzp mydzp)
geometry = ((o 0.0 0.00000000 0.00000000)
(h 0.0 -1.49495900 0.99859206)
(h 0.0 1.49495900 0.99859206))
% I like to keep everything in my chem applications
% sub directory.
% Basis set is in
% /home/general/user/chem/my_very_own.basis
basis_file = "/home/general/user/chem/my_very_own.basis"
)
input: (
basis_file = "/home/general/user/basis/dzp_plus_diff/"
% I like to keep everything in it's own directory.
% Basis set is in
% /home/general/user/basis/dzp_plus_diff/basis.dat
basis = dzpdiff
geometry = ((o 0.0 0.00000000 0.00000000)
(h 0.0 -1.49495900 0.99859206)
(h 0.0 1.49495900 0.99859206) )
)
This program has been written by Edward F. Valeev, Dr. Justin T.
Fermann, and Timothy J. Van Huis. Authors would like to thank Dr. T. Daniel
Crawford and Rollin A. King for help. Any problems should be e-mailed to
evaleev@schroedinger.ccqc.uga.edu.