The memory required to accomplish a transformation is a function of the number of AOs, the number of the MO's specified in the ACTIVE directive, and the number of passes in the sort procedure specified in the PASS directive and must be specified on the first input line.
User data input and printed output are on FORTRAN standard input and output. Further the following files are required:
Care should be taken if the user assigns the SECONDARY MAINFILE with
the same filename as the MAINFILE. The SECONDARY MAINFILE should not be
allowed to overwrite the MAINFILE except where the latter can be sorted
in one pass. An approximation to the length of the SECONDARY MAINFILE
can be calculated as S=2*L*R, where L defines the length of the MAINFILE
in ATMOL blocks, and R=NACT/NBASIS, with NACT and NBASIS being the
number of active MOs (see the ACTIVE directive
below) and the number of AOs respectively.
TEXT I
where TEXT must be the string CORE and I is the number of Kbytes
set aside for the program.
Example:
CORE 4096
will tell the program to use 4Mbyte of main memory.
The syntax of the second line of data is:
NBASIS IBLKD [ DDUMP [ INTSEC ] ]
Allows the user to define an 80 character title for the run, and
extends over two lines. The first line consists of the string TITLE
in the first data field, the second line comprises the title.
example:
TITLE
H2O - TRANSFORMATION
The SIZE directive may be used to overide the previous SIZE
assignment of the DUMPFILE as given by the Integrals or SCF program.
It is read to TEXT,ISIZE in format (A,I).
TEXT should be set to the character string SIZE.
ISIZE specifies the maximum size (in blocks) of the DUMPFILE.
This directive is read to TEXT,K in the format (A,I).
TEXT should be set to the character string ACCURACY.
K A threshold factor ACC = 10**(-K) is computed, and if the
absolute value of a transformed 2-electron integral is less than ACC,
that integral will not be output to the FINAL MAINFILE. A factor ACC1
= ACC/100 is also computed, and if the absolute value of a partially
transformed 2-electron integral is less than ACC1, that integral will
not be output to the SECONDARY MAINFILE.
The ACCURACY directive may be omitted, when the default value K=10
is assumed. The smaller the value of K, the shorter will be the size
of the SECONDARY and FINAL MAINFILE, and the shorter the computation
time in the second phase of the 4-index transformation.
This directive is used to define the location of the MAINFILE.
The syntax has been given in the description of the directive of the
same name in the ATMOL SCF program.
example 1:
MFILE
ED2
75
0
example 2:
Omission of the MFILE directive is equivalent to:
MFILE
ED2
1
0
This directive is used to specify the destination of the partially
transformed 2-electron integrals, the SECONDARY MAINFILE, and consists
of four lines. The first line conists of the text SFILE in the first
data field, the syntax for the remaining three lines being as for the
MFILE directive above.
example 1:
SFILE
ED2 ED3
1 80
101 0
The first 100 blocks of the SECONDARY MAINFILE will be routed to
ED2 commencing at block 1, while the remainder will be routed to ED3
commencing at block 80.
example 2:
Omission of the SFILE directive is equivalent to:
SFILE
ED4
1
0
This directive is used to specify the destination of the fully
transformed 2-electron integrals, the FINAL MAINFILE, and consists of
four lines. The first line consists of the character string FFILE in
the first data field, the syntax of the remaining three lines being as
for the MFILE or SFILE directives above.
example 1:
FFILE
ED5 ED6
1 1
4001 0
example 2:
Omission of the FFILE directive is equivalent to:
FFILE
ED6
1
0
This directive is read to TEXT,NPASS1,NPASS2 in format (A,2I).
TEXT should be set to the character string PASS.
NPASS1 specifies the minimum number of passes of the MAINFILE in
the first phase of the 4-index transformation.
NPASS2 specifies the minimum number of passes of the SECONDARY
MAINFILE in the second phase of the 4-index transfomation.
In the absence of a PASS directive the program will use the
smallest number of passes possible in both phases. However, the size
of the SORTFILE is inversely proportional to either NPASS1 or NPASS2,
so multi-passing may be necessary if only limited disc space is
available. Note also that the program forms a dump to enable restarts
at the end of each pass, so the more passes, the shorter the time
interval between dumps.
Example:
PASS 3 2
Specifies a 3 and 2 pass sort of the MAINFILE and SECONDARY
MAINFILE respectively.
This directive is used to obtain a MO coefficient matrix from the
DUMPFILE, format (A,I,A):
TEXT ISECV [PRIN]
TEXT should be set to the character string VECTORS. ISECV should
be set to the section number on the DUMPFILE where the MO coefficient
matrix is to be found. This matrix will have been written by the SCF
program, or as natural orbitals by the program MACINTOS. PRIN may be
set to the string PRINT, if printing of the coefficient matrix is
desired. These parameters can be omitted, when MO printing will be
omitted.
If a CTRANS directive was used in the SCF run which created the
MOs, the data associated with the CTRANS directive will be retrieved
from the DUMPFILE.
Example:
VECTORS 1 PRINT
The MO coefficient matrix will be retrieved from Section 1 of the
DUMPFILE, and the MOs will be printed.
This directive specifies those members of the MO set which are
deemed 'active' in the 4-index transformation, so that integrals over
MOs will be computed and output to the FINAL MAINFILE only if all four
MOs are specified using the ACTIVE directive. The syntax of the
directive has been described in the description of the directive of
the same name in the ATMOL SCF program.
example 1:
ACTIVE
3 4 5 6 8 7
END
MOs 3,4,5,6,8 and 7 are made active, they will be re-indexed
1,2,3,4,5 and 6 respectively, and the subsequent programs, such as
TDCHF, the 3BODY suite, POLCOR, or MACINTOS, will refer to the MOs in
this re-indexed convention.
example 2:
ACTIVE
3 TO 6 8 7
end
This example shows the use of the string TO to abbreviate
consecutive sequences of integers, and is equivalent to example 1.
This directive allows a frozen core Fock matrix to be computed.
The first line is read to
TEXT NSECT
TEXT should be set to the character string ONELEC. It initiates
the reading of a frozen core list.
NSECT specifies the section number on the DUMPFILE where the
transformed Fock matrix is to be placed. NSECT must lie between 1 and
190. This line is followed by a specification of a set of frozen core
orbitals and is ended by the string END on a single line.
Example:
ONELEC 50
1 to 5
7 9
END
Note: this directive is seldom used in Nijmegen, see
the old one-electron directive OLDONE.
This directive allows specification of one-electron matrices to be
transformed. The first line is read to
TEXTA TEXTB NSECT [TEXTC NSECTC] ...
TEXTA should be set to the character string OLDONE.
TEXTB is any of S, T, T+V, FOCK, X, Y, Z, or K(Q).
NSECTB specifies the section number on the DUMPFILE where the
transformed 1-electron integrals are to be placed. NSECTB must lie
between 1 and 190.
Examples:
OLDONE S 50 T 51 T+V 52
Transform S, T, and T+V and store into section 50, 51, and 53
of the dumpfile respectively.
OLDONE FOCK 60
This example computes the closed-shell Fock matrix and stores it
on section 60 of the dump file. Here
F = T + V + 2 J[R] - K[R]
The quantity K(Q) is "the half-open shell exchange matrix" required for high spin TDCHF calculations. It is defined by K(Q)_{i,j} = \sum_{p \in open} (ip|jp), where p designates the orbitals in the half-open shell.
X, Y, and Z are components of the dipole operator. This
possibility of transforming dipoles has been made obsolete by the MULTIPOLE directive.
TEXT CHECK
Text must be the character string BRILL and CHECK is the threshold
again which the Brillouin condition is tested.
If any of the virtual-occupied Fock matrix elements is larger
than CHECK, the program abends with error code 211.
The multipole directive is of the form format(A,I,A)
TEXT I [PRINT]
here TEXT should be the string MULT, I is the maximum order
(maximum l) of the multipoles to be transformed and the option print
specifies whether they are to be printed to standard output.
The number I should be less or equal the number specified in
the MULTIPOLE directive of INTEGW.
2.0 1 2 3 4 5 7
Such a line may be shortened by means of TO. Thus the abbreviated form
of the above is
2.0 1 TO 5 7
The occupation definition lines are presented until all the MO's
to be assigned a non-zero occupancy have been specified.
The sequence is terminated by END on a line by itself.
Orbitals not specified will be assigned zero occupancy.
Example:
OCCDEF
2.0 1 TO 11
1.0 12
END
MO's 1 to12 are assigned double occupancy, orbital 12 has single
ocupancy, the remainder being unoccupied.
This directive is used to by-pass either the 2- or 4-index
transformation phase, and is read to TEXT,TPASS in format (2A).
TEXT should be set to the character string BYPASS.
TPASS should be set to one of the strings FOUR or TWO, depending
on which phase of the transformation the user wishes to neglect.
This directive should be last presented, since it causes assembly
of all the preceding data, and execution of the transformation process
to commence. It is read to TEXT,ISECTD in format (A,I).
TEXT should be set to the character string ENTER.
ISECTD specifies the section number on the DUMPFILE where restart
control information is to be deposited. If omitted, when restart
control information will be routed to Section 203. If specified,
ISECTD should lie between 1 and 190. It is normally specified only
when more than one 4-index transformation is running from the same
DUMPFILE and MAINFILE concurrently, when it is essential to set up a
separate control block on the DUMPFILE for each case.
example:
ENTER 140
causes the 4-index transformation process to commence, restart
control information being routed to section 140 of the DUMPFILE.
This directive is used instead of ENTER for a job which has only
partially completed the 4-index transformation, and dumped. It is
read to TEXT,ISECTD in format (A,I).
TEXT should be set to the character string RESTART.
ISECTD should be set to the same value as was used in the startup
job on the ENTER directive. If ISECTD was omitted on the ENTER
directive of the startup job, it should be omitted on the RESTART
directive of the restart job, when it will take the default value 203.
For a restart to be possible, the MAINFILE, SECONDARY MAINFILE and
FINAL MAINFILE should have been permanent files in the startup job,
exactly the same files being presented to the restart job, and
identical MFILE, SFILE and FFILE directives should be used in the
startup and restart jobs. The SORTFILE need not be preserved between
jobs. Suppose that in a startup job a PASS directive was issued of
the form:
PASS 3 3
and the job dumped after the first pass in phase 1. In the restart
job it is necessary to alter the PASS directive to take account of the
already completed first pass in phase 1, so a PASS directive of the
form:
PASS 2 3
should be presented in the restart job. However, if the number of
passes is calculated by the program, due account will be taken of the
number of passes accomplished in the startup job.
A brief explanation of the possible ATMOL error codes is given below:
Error Code Explanation
__________ ___________
1 Illegal value for NATOMS. It should be greater than 0.
3 Basisset is not closed under symmetry operations in the
point group. I.e. space spanned by basisset is of different
symmetry than the geometry of molecule.
15 Illegal value for NBASIS. It should lie between 2 and 255.
16 Directive unknown.
32 The number of sections of the MAINFILE, or SECONDARY
MAINFILE or FINAL MAINFILE as specified in a MFILE,
SFILE or FFILE directive respectively, is invalid.
40 An ENTER or RESTART directive appears before the VECTORS
directive.
42 Atmol file name in MFILE, SFILE or FFILE directive not
known.
51 OCCDEF directive before VECTORS directive.
53 The ACTIVE directive appears before the VECTORS directive.
61 Index block of DUMPFILE not in correct format.
62 ATMOL block with invalid checksum has been read,
or input/output error on ATMOL file.
63 A DUMPFILE Section number outside the allowed range of
1 to 190 has been specified.
64 An attempt has been made to retrieve an
undefined Section from the DUMPFILE.
65 A DUMPFILE Section is of the wrong TYPE.
67 Illegal search of an ATMOL file.
68 Illegal character found in F-format data field.
69 Illegal character found in I-format data field.
70 The SIZE directive specifies a maximum size less
than the current size of the DUMPFILE.
71 An attempt has been made to expand the DUMPFILE beyond
its maximum size (as specified by a SIZE directive).
72 An attempt has been made to overwrite a Section on
the DUMPFILE with a Section of greater length.
80 No active MOs have been specified.
81 Error in ACTIVE directive.
83 Invalid parameter on the BYPASS directive.
85 Dump file specified as ED7 (the sort file).
86 Error in OLDO directive
87 Invalid matrix specified in OLDO directive.
88 Invalid number of passes (NPASS1, NPASS2) specified by the
PASS directive. NPASS1 and NPASS2 must be greater than 0.
210 Sum of closed, open and virtual orbitals not
equal to number of active orbitals.
211 Brillouin check requested and orbitals do not satisfy
Brillouin's theorem.
666 End of file condition detected on FORTRAN stream 5.
The program expects more data.
704 Eigenvectors obtained by the VECTORS directive are
incompatible with the value of NBASIS.
709 Invalid MO specified in the OCCDEF directive.
710 Invalid MO specified in the ACTIVE directive.
711 Invalid MO specified in the SPLICE directive.
888 Insufficient space on the SECONDARY MAINFILE.
889 Insufficient space on the FINAL MAINFILE.
990 Active directive and onelec directive are inconsistent.
999 Insufficient main memory for the program to continue.
This example is based on the H2O monomer. Omission of the MFILE directive causes the program to read AO 2-electron integrals from ED2, while omission of SFILE and FFILE directives will cause the SECONDARY MAINFILE and FINAL MAINFILE to be routed to ED4 and ED6 respectively. The DUMPFILE is assumed to be on ED3, and closed shell SCF vectors are taken from section 1. MOs 2 to 25 are active, while the oxygen 1s inner shell MO is incorporated in the Fock operator. The latter is routed to section 60 of the DUMPFILE by default.
CORE 8000
25 1
TITLE
(H2O) TRANSFORMATION 24 ORBITALS 1 CORE
VECTORS 1
OLDO FOCK 60
ACTIVE PRINT
2 TO 25
END
ENTER