DESCRIPTION
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.
REFERENCES
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.
INPUT FORMAT
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.
BASIS SETS
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.
STANDARD BASIS SETS
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.
EXAMPLE
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)
)
)
BASIS SET EXAMPLE
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))
)
)
FILES SUBSECTION EXAMPLE
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) )
)
LAST THINGS
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 [email protected].