PREFACE _______ This manual describes the ATMOL Transformation program, as implemented on the Cyber-205 at UMRCC. This document is one in a series of twelve, supporting the ATMOL packages on the Cyber-205. ATMOL MANUALS _____________ 1. Introduction. 2. Allocator. 3. Gaussian Integrals. 4. Gaussian Library. 5. SCF. 6. APSG. 7. Transformation. 8. Direct CI. 9. Mulliken Analysis. 10. Graphical Analysis. 11. Property. 12. Service. TABLE OF CONTENTS _________________ 1. Introduction. 1 2. The First Line of Data. 2 3. The TITLE Directive. 2 4. The SIZE Directive. 2 5. The ACCURACY Directive. 3 6. The SORT Directive. 3 7. The MFILE Directive. 3 8. The SFILE Directive. 4 9. The FFILE Directive. 4 10. The PASS Directive. 5 11. The VECTORS Directive. 5 12. The ACTIVE Directive. 6 13. The FROZEN Directive. 6 14. The DIPOLE Directive. 8 15. The PHAM Directive. 8 16. The BYPASS Directive. 8 17. The ENTER Directive. 9 18. The RESTART Directive. 9 19. Error Monitoring. 10 20. Specimen Jobs. 11 21. References. 13
The ATMOL program for the transformation of 1 and 2-electron integrals over atomic orbitals (AOs) to the corresponding set over molecular orbitals (MOs) is described. To invoke the Transformation program on the Cyber-205 at UMRCC, use the following JCL: PATTACH,ATMOL. TRAN. By default the program will request 3 large pages of main memory, although this can be increased by means of the pre-directives LPAGE or MEMORY . Very large cases can be run in the default memory allocation, but at the cost of many passes of integral files, and a general loss of efficiency. The memory required to accomplish a transformation is a function of the number of AOs, the number of active MOs (see the ACTIVE directive below), the blocking factor used for the SORTFILE (see the SORT directive below) and the number of passes of the AO integral file required in the Yoshimine  sort procedure (see the PASS directive below). Data input and printed output are on FORTRAN streams 5 and 6 respectively. These streams need not normally be mentioned in the JCL. The following datasets will be used by the program, and should be mentioned in the JCL, in REQUEST, ATTACH, MFLINK or GETFEP commands: MAINFILE: A dataset containing the 2-electron integrals over AOs may be assigned using any ATMOL file name (AFN). The programs INTEGV or INTEGW  will normally have been used to generate this dataset. The MFILE directive (see below) may be used to specify the MAINFILE, but in default it will be assumed to be on ED2. SECONDARY MAINFILE: Partially transformed 2-electron integrals are output to a dataset referred to as the SECONDARY MAINFILE, and the user may direct this dataset to any ATMOL file, using the SFILE directive (see below). In default, the file will be assigned as ED4. Care should be taken if the user assigns the SECONDARY MAINFILE with the same AFN as the MAINFILE. The SECONDARY MAINFILE should not be allowed to overwrite the MAINFILE except where the latter can be sorted in one pass. The MAINFILE should not be overwritten if it is proposed to perform a 2-index transformation of a Fock operator involving frozen MOs (see the FROZEN directive below). 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. FINAL MAINFILE: Fully transformed 2-electron integrals over the MOs are output to a dataset referred to as the FINAL MAINFILE, and the user may direct this dataset to any ATMOL file, using the FFILE directive (see below). In default the file will be assigned as ED6. The FINAL MAINFILE may overwrite the MAINFILE, unless it is proposed to perform a 2-index transformation of a Fock operator involving frozen MOs. The FINAL MAINFILE should not be allowed to overwrite the SECONDARY MAINFILE unless the latter can be sorted in one pass. The approximate size of the FINAL MAINFILE is L*(R**2) blocks. SORTFILE: A dataset normally assigned with the VSOS local file name (LFN) SORT will be used as a scratchfile during sorting of the MAINFILE and the SECONDARY MAINFILE. The VSOS LFN of the SORTFILE can be specified by means of the SORT directive described below, as can the blocking factor of this dataset. The latter has considerable bearing on the efficiency with which it is processed. An approximation to the length of the SORTFILE can be computed as the greater of 2*L/NPASS1 or S/NPASS2, where NPASS1 and NPASS2 denote the number of passes required to sort the MAINFILE and the SECONDARY MAINFILE respectively. DUMPFILE: The file used by the Gaussian integrals program for the output of 1-electron integrals over the AOs can be assigned using any AFN. In default it will be assigned as ED3. The DUMPFILE is used as a source of MO coefficients (produced by the SCF program , for example), 1-electron integrals over AOs, and for output of dump control information to enable restarts, and for output of 1-electron integrals over the MOs. The user should take every precaution to prevent overwriting of the DUMPFILE.
NBASIS IBLKD [ DDUMP [ INTSEC ] ]where
The TITLE Directive
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 - TRANSFORMATIONThe SIZE Directive
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.The ACCURACY Directive
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.The SORT Directive
This directive is read to TEXT,KSIZE,ATEXT in the format (A,I,A). TEXT should be set to the character string SORT, ( BLKSIZE is also acceptable). KSIZE specifies the blocking factor (in units of ATMOL blocks) to be used in data transfers involving the SORTFILE. The maximum blocking factor is 24 (12K words), and if the user specifies greater than this, the program adjusts the value back to the maximum. The larger the blocking factor, the more efficiently will the sort phases of the program operate. However a large KSIZE value may lead to many passes being required to sort the MAINFILE or SECONDARY MAINFILE, or to a large main memory allocation being required. For further discussion, see the PASS directive below. ATEXT may be used to specify the VSOS LFN of the SORTFILE. If omitted, the default ATEXT=SORT will be assumed.The MFILE Directive
This directive is used to define the location of the MAINFILE. The syntax has been given in the description of the ATMOL SCF program . example 1: MFILE ED2 75 0 example 2: Omission of the MFILE directive is equivalent to: MFILE ED2 1 0The SFILE Directive
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 0The FFILE Directive
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 0The ADAPT Directive
This directive provides a means to transform the AO basis to a symmetry adapted basis. The directive is read to TEXT, ISECT. TEXT should be set to the literal string ADAPT. ISECT should be set to the section number where the transformation matrix will be stored.The CURTAIL Directive
The CURTAIL directive limits the first index of transformation. The syntax of the CURTAIL directive is:
CURTAIL NCURTWhere NCURT is an integer specifying the upper limit of the first index.
The DISP Directive
The DISP directive causes tran to produce integrals needed in a dimer dispersion calculation (ignoring exchange). The total orbital space is divided in two parts each of which may contain upto 255 orbitals. The syntax of the DISP directive is:
DISP NOCCA NBASA NOCCB NBASBwhere
The PASS Directive
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. The main memory required is a function of the number of sort passes, the number of words required to sort the MAINFILE being approximately: (NBASIS**2) * SQRT(KSIZE / NPASS1) * 13 where KSIZE is the blocking factor of the SORTFILE (see the SORT directive above), while the number of words required to sort the SECONDARY MAINFILE is approximately: NBASIS * NACT * SQRT(KSIZE / NPASS2) * 13 example: PASS 3 2 Specifies a 3 and 2 pass sort of the MAINFILE and SECONDARY MAINFILE respectively.The VECTORS Directive
This directive is used to obtain a MO coefficient matrix from the DUMPFILE and is read to TEXT,ISECV,VPRIN,APRIN,CPRIN in format (A,I,3A). 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  or APSG  programs, or perhaps as the natural orbitals resulting from a Direct-CI  calculation. VPRIN,APRIN,CPRIN may be set to one of the strings NOPRINT or PRINT, and if the latter then printing of all, or the active, or the frozen MOs respectively will be activated. 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 NOPRINT PRINT The MO coefficient matrix will be retrieved from Section 1 of the DUMPFILE, and the active MOs will be printed.The ACTIVE Directive
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 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 Direct-CI program 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.The FROZEN Directive
This directive has been discarded. Its functionality has been replace by the SPLICE or ONELEC directive.The SPLICE or ONELEC Directive
This directive allows a 2-index transformed Fock operator to be routed to a specific section of the DUMPFILE. Furthermore, this directive allows the user to factor frozen doubly occupied MOs (such MOs retain their double occupation in all configurations generated by the ATMOL Direct-CI  program, for example) into the Fock Operator (F) where: F = H + 2 J[R] - K[R] H denotes usual 1-electron operator (sum of kinetic and nuclear attraction), R denotes the frozen shells density matrix, and J and K are coulomb and exchange matrices constructed therefrom. The first line is read to TEXT NSECT [ ALL ] [ PRINT ] in format (A,I,A,A). TEXT should be set to the character string SPLICE, although ONELEC is also acceptable. NSECT specifies the section number on the DUMPFILE where the transformed 1-electron integrals are to be placed. If omitted the integrals are routed to section 198. If specified, NSECT must lie between 1 and 190. ALL is a literal string specifying that all 1-electron integral should be transformed and written to a normal (type 2) section. If NSECT is 0 then the input 1-electron integral section is overwritten with the transformed integrals. PRINT is a literal string specifying that the transformed 1-electron integrals should be printed. Subsquent lines specify the frozen doubly occupied MOs as a sequence of integers, corresponding to the MO ordering that came from the SCF program . The sequence can be abbreviated using the string TO, and is terminated by a line containing the string END in the first datafield. example 1: SPLICE 87 1 2 3 4 5 6 END This example routes the transformed 1-electron integrals to section 87 of the DUMPFILE. MOs 1 to 6 have been declared to be doubly occupied and frozen. example 2: SPLICE 87 1 TO 6 END This example shows the use of the string TO to shorten the data input, and is equivalent to example 1. example 3: SPLICE 1 TO 5 7 END This example assumes default routing of the transformed 1-electron integrals, to section 198. MOs 1 to 5 and MO 7 will be frozen. example 4: The SPLICE directive can be omitted, when no MOs will be frozen, and the transformed 1-electron integrals will be routed to section 198 of the DUMPFILE. Omission is equivalent to: SPLICE ENDThe DIPOLE Directive
The DIPOLE directive is read to TEXT,FX,FY,FZ in format (A,3F), and is used to incorporate components of the dipole moment operator into the 1-electron operator discussed under the FROZEN directive above. TEXT should be set to the character string DIPOLE. FX,FY,FZ specify the scaling of the components of the dipole moment operator in the perturbed Fock operator, according to: F = H + ( FX * X + FY * Y + FZ * Z ) * e where e is the charge of the electron (-1 a.u.). The major use of the directive is in the calculation of dipole polarizability with finite field calculations, using the Direct-CI program . Note that the nuclear repulsion energy will be altered by the transformation program to reflect the energy of the nuclei in the applied field. example: DIPOLE 0.01 0.0 0.0 This example specifies that an external perturbing field of 0.01 a.u. be applied in the x-direction.The PHAM Directive
This directive consists of one line with the string PHAM in the the first datafield, and causes printing of the transformed 1-electron operator.The BYPASS Directive
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.The ENTER Directive
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.The RESTART Directive
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 AFN in MFILE, SFILE or FFILE directive not known. 50 Invalid parameter in WIDTH pre-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. If the latter, a finite VSOS error code will be given whose explanation will be found in . 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. 83 Invalid parameter on the BYPASS directive. 88 Invalid number of passes (NPASS1, NPASS2) specified by the PASS directive. NPASS1 and NPASS2 must be greater than 0. 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. 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. 999 Insufficient main memory for the program to continue. 3333 AFN not recognized in the FILE pre-directive.
The following examples do not illustrate all the features of the Transformation program, only a guide is intended. Specimen Job 1: 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 frozen and incorporated into the Fock operator. The latter is routed to section 198 of the DUMPFILE by default. /*JOB JOBNAME,ACCOUNT,ST=(C20,LP=3,WS=512),PW=PASSWORD,TI=25,C=B PATTACH,ATMOL. ATTACH,ED2V,ED3V,ACC=RW. REQUEST,SORT. REQUEST,ED4,RT=U. REQUEST,ED6V,RT=U. TRAN. DEFINE,ED6V. ####S FILE ED2 ED2V ED3 ED3V ED6 ED6V 25 1 TITLE (H2O) TRANSFORMATION 24 ORBITALS 1 CORE VECTORS 1 ACTIVE PRINT 2 TO 25 END SPLICE 1 END PHAM ENTER ####S Specimen Job 2: This example is based on the H2O dimer. As before, the default settings are used to route the 1- and 2-electron transformed integrals. Closed shell SCF vectors from section 1 of the DUMPFILE are used, as illustrated in the dimer example . The active MOs are 3 to 82. The 2 oxygen 1s inner shell MOs are frozen, and the two highest energy virtual MOs are omitted from the ACTIVE list. Note that the blocking factor of the SORTFILE has been set at its maximum. User attention is drawn to the specific routing of the datasets SORT, ED4 and DIMED6(ED6) to PACK01 and PACK04, which are the scratch discs on the UMRCC Cyber-205 system. /*JOB JOBNAME,ACCOUNT,ST=(C20,LP=6,WS=900),PW=PASSWORD,TI=320,C=C PATTACH,ATMOL. ATTACH,DIMED2,DIMED3,ACC=RW. REQUEST,SORT/15000,PACK=PACK04. REQUEST,ED4/20000,PACK=PACK01,RT=U. REQUEST,DIMED6/9200,PACK=PACK04,RT=U. TRAN. DEFINE,DIMED6. ####S FILE ED2 DIMED2 ED3 DIMED3 ED6 DIMED6 LPAGE 6 84 1 TITLE (H2O)2 TRANSFORMATION 80 ORBITALS (2 CORE+ 2 HVO) SORT 24 VECTORS 1 ACTIVE 3 TO 82 END SPLICE 1 2 END ENTER ####S
 D. Moncrieff and V.R. Saunders, ATMOL-Introductory Notes.  M. Yoshimine, J. Comp. Phys., 11, 449, (1973); __ P.S. Bagus, B. Liu, A.D. McLean and M. Yoshimine, Energy, Structure and Reactivity, edited by D.W. Smith and W.B. McRae, (Wiley), 130, (1973); G.H.F. Diercksen, Theor. Chim. Acta, 33, 1, (1974); __ S.T. Elbert, Numerical Algorithms in Chemistry : Algebraic Methods-LBL 8158, edited by C. Moler and I. Shavitt, (Lawrence Berkeley Laboratory, University of California, Berkeley), 129, (1978); V.R. Saunders and J. H. van Lenthe, Mol. Phys., 48, 923, (1983). __  D. Moncrieff and V.R. Saunders, ATMOL-Gaussian Integrals Program.  D. Moncrieff and V.R. Saunders, ATMOL-SCF Program.  D. Moncrieff and V.R. Saunders, ATMOL-Direct-CI Program.  D. Moncrieff and V.R. Saunders, ATMOL-APSG Program.  CDC VSOS Manual, Form 60459410, Control Data Corporation; VSOS Reference Manual, NAT 208, University of Manchester Regional Computer Centre, (1985).