The program is capable of evaluating sets of integrals:
The following data sets will be used by the programs:
In the following sections the data directives for INTEGW are presented.
The TITLE directive allows the user to define up to a 80 character title for a calculation. This directive extends over two data lines. The first line contains the text TITLE in the first data field, the second the required title. example: TITLE H2O CASE - INTEGRALS
The MULTIPOLE directive allows the user to define the maximum order of the multipoles to be computed. example: MULTIPOLE 3 Multipole integrals up to and including octupoles will be computed and stored on the DUMP file (with thanks to Peter Knowles).
This directive may be used to specify the units (Angstroms or Atomic Units) which the user may wish to specify the Cartesian co-ordinates of nuclei (see GEOMETRY or GEOMGEN directives) or symmetry centres (see SYMCEN directive). The directive consists of a single data line read to variables TEXTA,TEXTB using format (2A). TEXTA should be set to the character string CONVERT. TEXTB can be set to either ANGSTROM or AU. ANGSTROM means that the input Cartesian co-ordinates will be assumed to be in Angstrom, and would be converted to atomic units by division by 0.529177249D0. AU (or A.U.) means the input co-ordinates will be assumed to be in atomic units. The CONVERT directive may be omitted, when atomic units will be selected in default.
The GEOMETRY directive is used to define the molecular geometry. The first data line, the directive initiator, is read to variables TEXTA, TEXTB using format (2A). TEXTA should be set to the string GEOMETRY. TEXTB may be set to one of the strings AU (or A.U.) or ANGSTROM, and is used to define the units in which the Cartesian co-ordinates will be specified. If TEXTB is omitted, the units will be as specified in a preceding CONVERT or GEOMGEN directive, or atomic units in default. The last line of the GEOMETRY directive, the directive terminator, consists of the text END in the first data field. Lines appearing between the initiator and terminator are the 'nucleus definition' lines. Each line defines a given nuclear centre, and is read to variables X,Y,Z,CHARGE,TAG using format (4F,2A). X,Y,Z are the Cartesian co-ordinates of the given centre, in the appropriate units. CHARGE is the charge of a given nucleus, the units being such that the charge of the proton is unity. Negative, zero and fractional charges are allowed, as well as more usual postive integer values. It is also possible to specify the text DUMMY instead of a number centre for the CHARGE parameter. In this case the centre will take no part in the calculation of molecular integrals (so that basis functions cannot be sited on a DUMMY centre). DUMMY centres have been allowed to simplify the generation of molecular geometries when using the GEOMGEN directive, and for no other purpose. TAG is used to give the centre a name by which it will be subsequently known. TAG may be up to 8 characters long, and should not include the 'space' character. If the m'th nucleus definition line is presented without a TAG parameter, the system will supply the character string representation of m (expressed as a decimal number) by default. example 1: GEOMETRY 0 2.656347 0 1 H1 -1.533643 0 0 1 H2 1.533643 0 0 1 H3 0 .885449 .719722 7 N END example 2: GEOMETRY 0 2.656347 0 1 -1.533643 0 0 1 1.533643 0 0 1 0 .885449 .719722 7 END The difference between these two examples is the omission of the TAG parameters in example 2. Thus centres which the user TAGged H1,H2,H3 and N in example 1, are TAGged 1,2,3 and 4 respectively by the program in example 2.
The GEOMGEN directive may also be used to define the molecular geometry, either in conjunction with the GEOMETRY directive described previously or alone. The first data line, the directive initator, is read to variables TEXTA,TEXTB using format (2A). TEXTA should be set to the string GEOMGEN. TEXTB should be set to one of the strings AU (or A.U.) or ANGSTROM, and is used to define the units in which the Cartesian co-ordinates will be specified. If TEXTB is omitted, the units will be as specified in a preceeding CONVERT or GEOMETRY directive, or atomic units in default. The last line of the GEOMGEN directive, the directive terminator, consists of the text END in the first data field. Lines between the directive initator and terminator are of different 'types', each 'type' of line being distinguished by the contents of the first data field. This data field is always read in A format, and should contain one of the following characters S,C,A or P. 'S' type lines: Such lines are characterised by the appearance of the character S in the first data field, and are used to assign a floating point value to a symbol. The second data field is also read in A format to SYMB, and should be set to the symbol whose value you wish to define. The symbol can be up to 8 characters in length, and any ASCII characters are allowed. Successive data fields are read in pairs, using format (A,X). Before proceeding further it is necessary to explain the format X, which is non-standard, and used only in the energy integrals program. When a data field is read under format X, the field may contain either: (a) A valid number as readable with format F. (b) A symbol, whose value has been previously defined. In both cases a REAL variable will be initialised. In case (a), the field will be read in F format, and the REAL variable initialised accordingly. In case (b), the REAL variable will be set equal to the previously defined value of the symbol. At the time when the 'S' type line is read in, a REAL variable VALUE is initialised to zero. Each pair of (A,X) data fields is read and causes the contents of VALUE to be altered according to the specification of OPER and the value of GAMMA, as summarised in Table 1. When processing of all (A,X) fields is complete, the enity of VALUE can subsequently be accessed symbolically by SYMB. Table 1 _______ Interpretation of (A,X) pairs of data fields on 'S' type lines ______________________________________________________________ OPER RESULT ____ ______ + VALUE = VALUE + GAMMA - VALUE = VALUE - GAMMA * VALUE = VALUE * GAMMA / VALUE = VALUE / GAMMA SQRT or +SQRT VALUE = VALUE + DSQRT(GAMMA) -SQRT VALUE = VALUE - DSQRT(GAMMA) *SQRT VALUE = VALUE * DSQRT(GAMMA) /SQRT VALUE = VALUE / DSQRT(GAMMA) SIN or +SIN VALUE = VALUE + DSIN(GAMMA) -SIN VALUE = VALUE - DSIN(GAMMA) *SIN VALUE = VALUE * DSIN(GAMMA) /SIN VALUE = VALUE / DSIN(GAMMA) COS or +COS VALUE = VALUE + DCOS(GAMMA) -COS VALUE = VALUE - DCOS(GAMMA) *COS VALUE = VALUE * DCOS(GAMMA) /COS VALUE = VALUE / DCOS(GAMMA) ASIN or +ASIN VALUE = VALUE + DARSIN(GAMMA) -ASIN VALUE = VALUE - DARSIN(GAMMA) *ASIN VALUE = VALUE * DARSIN(GAMMA) /ASIN VALUE = VALUE / DARSIN(GAMMA) ACOS or +ACOS VALUE = VALUE + DARCOS(GAMMA) -ACOS VALUE = VALUE - DARCOS(GAMMA) *ACOS VALUE = VALUE * DARCOS(GAMMA) /ACOS VALUE = VALUE / DARCOS(GAMMA) The following supplementary notes on 'S' type lines may be helpful. (a) If the symbol to be assigned a value is not one of S,C,A,P or END, the line may be punched omitting the introductory S. For example, the two data lines: S COSX COS 25.0 COSX COS 25.0 are equivalent, both resulting in the symbol COSX being given the value cos(25). (b) If the first operation is +, you may omit it. For example, the three data lines: S SIGMA + 1.4 S SIGMA 1.4 SIGMA 1.4 all set the value to SIGMA to 1.4. (c) The argument for COS and SIN functions should be in degrees. (d) The result from the ACOS and ASIN routines will be in degrees, and in the range 0 to 180 (for ACOS) or -90 to 90 (for ASIN). (e) The symbol T is assigned the value 109.471220634491 (the tetrahedral angle). (f) The user may reset any symbol (including T) any number of times. The maximum number of symbols allowed is 100. (g) The user is permitted to set a symbol which takes the form of a number readable in F format. If this number appears in subsequent data fields which are read in X format, the symbolically ascribed value is used. The sequence: S 1.9 1.8 S F 1.9 will ascribe the value 1.8 to F. example 1: The following sequence R 1.4 ALPHA 30 RX R *COS ALPHA RY R *SIN ALPHA gives the values 1.4, 30, 1.4cos(30) and 1.4sin(30) to the variables R,ALPHA,RX and RY respectively. example 2: It is required to compute the cos of half the tetrahedral angle and place the result in X. The correct sequence is: X T / 2 X COS X The line X COS T / 2 will not do. The result would be X=COS(T)/2 rather than X=COS(T/2). example 3: It is required to assign the value 1.6 to equal the symbol S, and 1.3 to the symbol P. The following sequence is required: S S 1.6 S P 1.3 Notice that the introductory S is required for both these cases, as they belong to the S,C,A,P and END group of symbols. 'C' type lines: Such lines are characterised by the appearence of the character C in the first data field, and are used to define the Cartesian co-ordinates of a given centre in a manner closely similar to that employed by the GEOMETRY directive. The line is read to variables TEXT,X,Y,Z,CHARGE,TAG,TSTSYM using format (A,4X,2A). TEXT should be set to the character C. X,Y,Z are the Cartesian co-ordinates of the centre, and these fields may be set as valid floating point numbers, or as previously defind symbols. CHARGE is the charge of the given nucleus in atomic number representation, and this field may be set as a floating point number, or as a previously defined symbol. It is also possible to specify the text DUMMY, and in this case the centre will take no part in the calculation of molecular integrals. Notice that the centre will still be declared DUMMY, even if the user has assigned a value to the symbol DUMMY. DUMMY centres have been allowed so as to permit simplification of molecular geometries when using 'A' type lines. TAG is used to give the centre a name by which it will be subsequently known. If the TAG parameter is omitted, and this is the m'th centre to be defined (including any centres defined in previous GEOMETRY directives), TAG will be set as the decimal character string representation of m by default. 'P' type lines: Such lines are characterised by the appearence of the string P in the first data field, and are used to define the co-ordinates of the present centre with respect to the co-ordinates of a previously defined centre. The line is read to variables TEXT,TAGX, AX,AY,AZ,CHARGE,TAG,TSTSYM using the format (5A,X,2A). TEXT should be set to the character P. TAGX should be set to the TAG of a previously defined centre, which may have been declared DUMMY. AX,AY,AZ these A-fields may be set to any of the character strings X,Y,Z,-X,-Y or -Z. Thus if AX is set to -Z, the 'x' co-ordinate of the present centre will be set to minus the 'z' co-ordinate of the centre nominated by TAGX. CHARGE see definition in above. TAG see definition in above. example 1: The following data line P H1 -X Y Z 1 H2 defines the x, y and z co-ordinates of H2 to be equal to -x, y and z co-ordinates respectively of a previously defined centre, H1. example 2: The following data line P C1 -Y X -Z 6 C2 defines the x,y and z co-ordinates of C2 to be equal to -y, x and -z co-ordinates respectively of a previously defined centre, C1. 'A' type lines: Such lines are characterised by the appearence of the character A in the first data field, and are used to define the co-ordinates of the present centre by defining bond lengths and angles with respect to three previously defined centres (some or all of which may have been declared DUMMY). The line is read to variables TEXT,TAGA, TAGB,TAGC,R,THETA,ALPHA,CHARGE,TAG using format (4A,4X,2A). TEXT should be set to the character A. TAGA,TAGB,TAGC should be set to the TAGs of three previously defined centres, which will be referred as A,B and C. These centres should *not* be collinear. R should be set equal to the bond length AD, where D will denote the centre whose co-ordinates one wishes to define. R may be defined by means of a symbol, or a floating point number, and will be assumed to be in atomic units or Angstrom, according to the user's specifications on the GEOMGEN, GEOMETRY or CONVERT directives. THETA should be set equal to the DAB angle (in degrees), and should be less than 180 degrees. ALPHA should be set equal to the dihedral angle (in degrees) by which one must rotate D about the A-B bond (in a clockwise direction) so that the bonds AD and BC are eclipsed. The user should imagine looking down the AB bond from A to B when performing this rotation. CHARGE see definition in above. TAG see definition in above.
The GTOS directive provides one method of defining the basis set. The first line, the directive initiator, consists of the character string GTOS or GAUSSIAN in the first data field. The last line of the directive, the directive terminator, consists of the text END in the first data field. Lines between the initiator and terminator define the basis set, and consist of 'group definition' and 'primitive definition' lines. The data for each group of contracted functions is introduced in turn, as follows: (a) The group definition line is read to variables TYPE, TAGA, IFNORM using (2A,I,A). TYPE should be set to one of the characters S,P,D,F,G,H or I These symbols defines the type of group of basis functions being introduced. TAGA should be set to a TAG of one of the centres (not a DUMMY centre) defined in a GEOMETRY or GEOMGEN directive. The group of basis functions will be sited on the nominated centre. IFNORM = 0 the contractions are to be normalised. = -1 the contractions are to be left unnormalised. = 999 the normalisation procedure used, and the orbital exponent and contraction coefficients of the primitives are to be as selected for the preceding group of basis functions in the data stream. Note: ===== IFNORM has a different meaning in INTEGW. Use only 0 or 999 when using this program. (b) The primitive definition lines follow the group definition line, and are used to define the contraction coefficients and orbital exponents of the primitive associated with the group. If NTERM primitives are to be used (NTERM<21), NTERM primitive definition lines are required, each read to CTRAN,ZETA using format (2F). CTRAN the contraction coefficient of the primitive. ZETA the orbital exponent of the primitive. The following example defines a poor basis set for Ammonia, the centre TAGging conventions being used are the example given in the GEOMETRY directive. GTOS S H1 0.18 10.25 0.86 2.346 S H2 999 S H3 999 S H1 1.0 0.255 S H2 999 S H3 999 S N 0.16 3474.0 0.24 216.6 S N 0.8 68.48 0.61 8.566 S N 1.0 0.906 P H1 1.0 0.1 P H2 999 P H3 999 P N 0.22 13.95 0.43 1.598 P N 1.0 0.2609 END Note that there is no restriction as to the ordering of the groups in the input stream. However the program will internally re-organise the data to produce a list of ordered functions. A copy of the orginal list, together with the re-ordered list is printed.
*Warning*: This directive has never been used in Nijmegen! The LIB1 directive may be used to define the basis set, either in conjunction with the GTOS directive or alone. The program, when under control of the LIB1 directive, makes reference to a library of basis functions, the latter being normally stored on a data set assigned to the program using the local file name, ED0. The procedure for construction and maintence of a LIBRARY file may be found in the LIBRARY program [3]. The first data line, the directive initiator, is read to variables TEXT,DDLIB,IBLIB using format (2A,I). TEXT should be set to one of the character strings LIBRARY,STOS or SLATERS. DDLIB should be set to the local ATMOL name used to assign the LIBRARY file. IBLIB should be used to specify the starting block of the LIBRARY file, and hence is normally 1. If the LIBRARY file is on a dataset assigned to the ATMOL file, ED0, starting at block 1, then both DDLIB and IBLIB may be omitted. The last line, the directive terminator, has the character string END in the first data field. Data between the directive initiator and terminator defines the basis functions, one data line per group of basis functions, read to variables NAME,TAGC,SCALE,MERGE using format (2A,F,A). NAME the name of the contraction held on the LIBRARY file, as defined when the contraction was placed in the file by the LIBRARY program. TAGC should be set to the TAG of a centre (not a DUMMY centre) as defined in a GEOMGEN or GEOMETRY directive. The group of basis functions will be sited at the nominated centre. SCALE the orbital exponents of the primitives as read from the library will be multiplied by SCALE**2. MERGE the MERGE paramter is detailed for the GTOS directive, and if omitted, the default NEW is assumed. Basis functions will be reordered by the program so that the lowest principal quantum number will come first. example : The following defines a minimal basis set for ammonia, in which Slater orbitals were expanded (least squares fit) in terms of three Cartesian Gaussians. The LIBRARY file has been assigned assigned to the ATMOL data stream MT0: LIB1 MT0 1 1S3 H1 1.0 1S3 H2 1.0 1S3 H3 1.0 1S3 N 6.7 2S3 N 1.95 2P3 N 1.95 END The example illustrates the following points: (a) Library contractions names of the form nAm, where n and m are decimal digits, and A denotes one of the principle quantum number characters reserved in the system library to denote 'least squares' expansions of Slater orbitals of unit exponent into linear combinations of Gaussians. Character n, denotes the principal quantum number of the Slater orbital, whilst m denotes the number of Gaussian primitives used in the expansion. For example, 2S3 is used for the least squares expansion of a Slater 2s orbital of unit exponent in terms of three 1s Gausssians. All expansions of this type were taken from [4]. (b) To generate the least squares expansion of a Slater orbital of arbitary exponent, given the corresponding expansion for a Slater orbital of unit exponent, it is necessary to multiply the exponents of the Gaussian primitives by (Slater exponents)**2, hence the use of the SCALE parameter in the shown example. (c) Basis functions are intoduced in groups, as for the GTOS directive. Notice that the presence of the COMBINE directive (not in the INTEGW program) in the data stream will cause the D groups to be of spherical harmonic form.
This directive consists of a single data line, read to variables TEXT,I,J,K using format (A,2I). TEXT should be set to the character string ACCURACY. I a threshold factor, ACC1=10**(-I), is computed. If the absolute value of a 2-electron integral is less than ACC1, that integral will be omitted from the output to the MAIN FILE. J a threshold factor, ACC2=10**(-J), is computed. If the estimated absolute value of a two-centrum 2-electron integral over primitives is less than ACC2, that integral is not computed, and hence not taken into account to form the total integral over the contracted functions. K a threshold factor, ACC3=10**(-K), is computed. If the estimated absolute value of a four-centrum 2-electron integral over primitives is less than ACC3, that integral is not computed, and hence not taken into account to form the total integral over the contracted functions. Notes on the ACCURACY directive: (a) Defaults: 11, 12, and 8 for I, J, and K, respectively. (b) The smaller the value of I, the smaller will be the size of the MAIN FILE. (c) The smaller the values of J and K, the shorter will be the computer time required. (d) J must be greater than I. (e) For large cases, the ACCURACY directive should be set to: ACCURACY 7 11 7 to minimise the MAIN FILE size and the computational expense without serious degradation to the accuracy of the final result.
*Warning* The IMIN and IMAX directives have never been used in Nijmegen! The IMIN directive may be used to effect control of the looping of the program when evaluating 2-electron integrals. The directive consists of a single data line read to variables TEXT,ILOW,JLOW,KLOW,LLOW using the format (A,4I). TEXT should be set to the character string IMIN. ILOW,JLOW,LOW,LLOW should be set to the integers between 1 and NGROUP inclusive, where NGROUP denotes the number of groups of basis functions. The presence of the IMIN directive will cause the program to commence looping at a user specified point. The following points should be noted when using this directive: (a) ILOW should be greater or equal to the JLOW value. (b) KLOW should be greater or equal to the LLOW value. (c) Let M = (ILOW*(ILOW-1))/2 + JLOW and N = (KLOW*(KLOW-1))/2 + LLOW then M should be greater or equal to N.
The IMAX directive may be used to effect control of the looping of the program when evaluating 2-electron integrals. The directive consists of a single data line read to variables TEXT,IHI,JHI,KHI,LHI using format (A,4I). TEXT should be set to the character string IMAX. IHI,JHI,KHI,LHI may be set to positive values. Imagine the program has dumped, such that the 2-electron integrals are incomplete, and that the batch of integrals are positioned at the stage where I=IHI, J=JHI, K=KHI and L=LHI values. The program has ceased computation of integrals, and initiated a standard dump, recording the present state of the task to section 191 of the DUMP FILE. Any attempt to restart the task (either with RESTORE or RESTART) without resetting IHI JHI KHI LHI parameters will prove fruitless, no more integrals will be computed until a suitable IMAX directive is issued.
The MAINFILE directive consists of a single dataline read to variables TEXT,DDMAIN using format (2A). TEXT should be set to the character string MAINFILE. DDMAIN should be set to the ATMOL file used to assign the dataset to be used for the output of the 2-electron integrals. The ATMOL file specified must be one of ED1-ED7 or MT0-MT7. The MAINFILE directive may be omitted, when 2-electron integrals will be routed to the ATMOL file ED2. example : MAINFILE ED5
The DUMPFILE directive consists of a single dataline read to variables TEXT,DDDUMP using format (2A). TEXT should be set to the character string DUMPFILE. DDDUMP should be set to the ATMOL file used to assign the dataset to be used for the output of 1-electron integrals and dump control information. The ATMOL file can be one of the files ED1-ED7 or MT0-MT7. The following points should be noted: (a) The DUMPFILE and MAINFILE can reside on the same dataset, although different areas of the dataset must be used. (b) The DUMPFILE directive may be omitted, when this occurs DUMPFILE information is routed to the ATMOL file, ED3. (c) The DUMPFILE directive must appear before ENTER,RESTORE or RESTART directives. (d) Only one DUMPFILE directive is permitted. example : DUMPFILE ED1
The IBLOCK directive consists of a single dataline, read to variables TEXT,IBLK using format (A,I). TEXT should be set to the character string IBLOCK. IBLK is the integer used to specify the starting block number to which the 2-electron integrals is to commence on the MAIN FILE. An IBLOCK directive must appear in the datastream for startup runs. The IBLOCK directive is ignored in restart runs containing the RESTART directive, and may optionally be present in restart runs containing the RESTORE directive. example : IBLOCK 101
The MAXBLOCK directive consists of a single dataline, read to variables TEXT,MXBLK using format (A,I). TEXT should be set to the character string MAXBLOCK. MXBLK is an integer used to specify the highest block number to which writing of 2-electron integrals is allowed on the MAIN FILE. The following points should be noted: (a) The MAXBLOCK directive may be omitted, when the default value of 99999 will be used for MXBLK. (b) When the MXBLK block has been written to, the program initiates a standard dump of the task, and terminates execution. (c) The MAXBLOCK directive can be used to prevent overlapping of MAIN FILEs where a number of distinct cases are being run using the same dataset at the same instant. (d) The MAXBLOCK directive can be used to prevent the program from exceeding the physical bounds of the dataset. (e) In cases of high symmetry, and in particular if a large number of d groups (or higher) are present in the basis set, the size of a batch of integrals may rise to a very large value. Because the program is unable to monitor the MXBLK setting during the output of a batch of integrals, it is possible to commence output at a block position beneath MXBLK, but to have exceeded the MXBLK parameter when output of the batch is complete. It is recommended that the user consider the accuracy of the program monitoring of MXBLK be not greater than within 5 blocks, as such this should be considered when assigning the space for the ATMOL dataset. (f) The MAXBLOCK directive is not functional within the INTEGW program. example : MAXBLOCK 12500
The SIZE directive consists of a single dataline, read to variables TEXT,ISIZE using format (A,I). TEXT should be set to the character string SIZE. ISIZE is an integer which specifies the maximum size (in blocks, 1 block = 512 words) to which the DUMP FILE is allowed to grow too. If the SIZE directive is omitted, then the maximum permitted size of the DUMP FILE is 99999 blocks. example : SIZE 121
The STOP directive consists of a single dataline, read to variable TEXT format (A). TEXT should be set to the character string STOP. Geometry and orbitals are read in, dump file is prepared and execution stops. Directive should come before the ENTER directive. This directive may be used to check integral input.
The NOPRINT directive consists of a single dataline, read to variables TEXTA TEXTB TEXTC TEXTD TEXTE format (5A). TEXTA should be set to the character string NOPRINT. TEXTB should be set to any of DIST, GROUP, GTOS, or BASIS. TEXTC should be set to any of DIST, GROUP, GTOS, or BASIS. TEXTD should be set to any of DIST, GROUP, GTOS, or BASIS. TEXTE should be set to any of DIST, GROUP, GTOS, or BASIS. Meaning of strings: DIST --> suppress printing of distance matrix GROUP --> suppress list of ordered groups GTOS --> suppress list of ordered GTOS BASIS --> suppress list of input basis This directive should come before the GEOMETRY and GTOS directive.
The BYPASS directive consists of a single dataline, read to variable TEXTA, TEXTB format (2A). TEXTA should be set to the character string BYPASS. TEXTB should be set to any the character strings TWO, 2, ONE, 1, PROP, or PROPERTY. If ONE (or 1) is specified the computation of one-electron integrals will be bypassed, if TWO (or 2) is specified the computation of two-electron integrals will be bypassed, if PROPERTY (or PROP) is specified no multipole moments will be calculated. example : BYPASS TWO The two-electron integrals will not be calculated. This directive is convenient in the computation of basis set superposition errors and counterpoise corrections, since only nuclear attraction integrals (which are one-electron integrals) are affected by a ghost orbital treatment.
The INTEGRAL program monitors the computer time remaining for a run, and when there is insufficient time to continue, a standard dump procedure is initiated, and execution terminated. The criterion used for initiating a time controlled dump is : Let B = The computer time required to complete the previous block of integrals (in Sec's). S = A safety factor (in Sec's). X = The time remaining to the run (in Sec's). A dump will be initiated if: 2.5 * B + S is greater or equal to X The default value of S is 20 Sec's. The SAFETY directive has been incorporated so that the user may alter S. The directive consists of a single dataline read to variables TEXT,S using format (A,F). TEXT should be set to the character string SAFETY. S should be set to the required timing safety margin (in units of Sec's). example : SAFETY 35
The ENTER directive consists of one dataline, read to variables TEXT,M using format (A,I). TEXT should be set to the character string ENTER. I is an integer which should set the block number at which writing of the DUMP FILE is to commence. The ENTER directive is responsible for the assembly and much of the checking ofthe previously presented data, and causes integral evaluation to commence. Therefore, the ENTER directive appears last in the data stream. example : ENTER 121
The following conditions may cause the program to initiate a standard dump: (a) Insufficient computer time remaining. (b) The logical end of the MAIN FILE (as set by the MAXBLOCK directive), has been reached. (c) The IMAX condition has been realised. After such a dump, the user will wish to restart the integrals task, and if the reason for the dump was (a), the RESTART directive may be used. The RESTART directive consists of a single dataline, read to variables TEXT,N using format (A,I). TEXT should be set to the character string RESTART. N should be set to the starting block of the DUMP FILE, as specified by the ENTER directive of the startup run. The following points should be noted: (a) The only directives which may precede the RESTART directive are SAFETY,DUMPFILE and MAINFILE. All other directives will either be ignored or cause an error condition. (b) The RESTART mode causes retrieval of the dump control information from section 191 of the DUMP FILE, and initiates the commencement of integral evaluation from an appropriate point. (c) A RESTART job may itself run out of time and initiate a dump. If this occurs, resubmit the RESTART job until the message END OF 1-ELECTRON INTEGRALS is seen on the printed output. example : RESTART 121
Suppose an integrals task has produced a standard dump because either the logical end of the MAIN FILE has been reached, or the IMAX condition has been invoked. The RESTORE directive may be used to restart the task, and consists of a single dataline read to variables TEXT,N using format (A,I). TEXT should be set to the character string RESTORE. N should be set to the starting block of the DUMP FILE as specified by the ENTER directive of the startup run. The RESTORE mode causes retrieval of dump control information from section 191 of the DUMP FILE. The program then processes further directives, which in general will cause various items of data in the dump control area to be overwritten, until an ENTER directive is met, when the program will commence integral evaluation using the revised dump control area for control purposes. The directives IMIN,IMAX, IBLOCK,MAIN FILE,MAXBLOCK,SIZE and SAFETY may appear between the RESTORE and ENTER directives, whilst the directives SAFTEY,DUMPFILE and MAINFILE may precede a RESTORE directive. example 1: If the integral task has reached the logical end of the MAIN FILE. Then the calculation if to be completed, the 2-electron integrals must be routed to a new ATMOL data file (starting at block 1), the ATMOL file being assigned to MT2. It is assumed that the DUMP FILE starts at block 121 on the ATMOL file assigned to ED4. To complete the task (given enough time) the data would look like: DUMP FILE ED4 MAIN FILE MT2 RESTORE 121 IBLOCK 1 MAXBLOCK 8000 ENTER 121 example 2: A task has required two restarts, and routed its MAIN FILE output to a ATMOL file dataset assigned to ED2. Lineprinter output produced by the three jobs gave: Run 1 -Startup Job __________________ IMIN JMIN KMIN LMIN 1 1 1 1 MAIN FILE STARTING AT BLOCK 1 NEXT BATCH 9 6 7 4 MAIN FILE AT BLOCK 22 Run 2 -First Restart Job ________________________ IMIN JMIN KMIN LMIN 9 6 7 4 MAIN FILE STARTING AT BLOCK 22 NEXT BATCH 13 1 12 4 MAIN FILE AT BLOCK 38 Run 3 -Second Restart Job _________________________ IMIN JMIN KMIN LMIN 13 1 12 4 MAIN FILE STARTING AT BLOCK 38 END OF 2-ELECTRON INTEGRALS MAIN FILE AT BLOCK 72 It was subsequently found that block 28 of the MAIN FILE is unusable. Note from above that block 28 was produced in run 2, so that it is now necessary to repeat run 2, routing output of 2-electron integrals to some other dataset (or possibly the same dataset but in a different area). Assume in the rescue run, MAIN FILE output is routed to an ATMOL dataset assigned to MT2, starting at block 1, and the original DUMP FILE is on an ATMOL dataset assigned to ED3, starting at block 121. The data for the rescue job would look like: MAIN FILE MT2 RESTORE 121 IBLOCK 1 IMIN 9 6 7 4 IMAX 13 1 12 4 ENTER 121 The rescue run will produce the following line printer output: IMIN JMIN KMIN LMIN 9 6 7 4 MAIN FILE STARTING AT BLOCK 1 NEXT BATCH 13 1 12 4 MAIN FILE AT BLOCK 17 At SCF evaluation, the MAIN FILE would be split into three sections spread over two datasets: ATMOL NAME ED2 MT2 ED2 STARTING BLOCK 1 1 38 TERMINATOR BLOCK 22 17 0 (endfile) The terminator block number for the third section of the MAIN FILE is given as zero, since this section will be ended by an endfile block.
For the user to startup an Integral job, the following directives must be present within the data input stream; GEOMETRY or GEOMGEN, GTOS or LIB1 (or both), IBLOCK and lastly ENTER. All other directives are optional extras, which the user is free to choose from.
The possible ATMOL error codes with a brief explanation are given in the following table: Error Code Explanation __________ ___________ 10 Absolute value of contraction coefficient less than 10**(-8). 11 Invalid number of centres (should be 2< and <201). Note that the DUMMY centres are included for error diagnostics. 12 A TAG parameter presented in a GEOMETRY or GEOMGEN directive is not unique. 13 Invalid number of groups of basis functions. Should be between 1 and 350 inclusive. 15 Invalid number of basis functions (1< NBASIS< 512). 16 Directive unknown. 17 Invalid sequence of parameters in IMIN directive. 18 DUMP FILE directive appears twice, or after a RESTORE directive. 20 Basis function on undefined centre. 21 Invalid number of primitives in a contraction. Valid range between 1 and 20 inclusive. 22 MERGE parameter in LIBRARY or GTOS directive not recognised. 23 The first group of basis functions in a GTOS directive has IFNORM=999. 24 The NAME of a library contraction is not known, may occur in the LIBRARY directive. 26 Exponent of primitive Gaussian less then 10**(-8). 28 Invalid parameters on ACCURACY directive. 42 Unrecognised ATMOL file name 50 Invalid parameter in the WIDTH directive. 61 Index block of DUMP FILE not in correct format. 62 ATMOL block with invalid checksum has been read, or input/output error on ATMOL file. 64 The dump control area (Section 191) on the DUMP FILE is not defined, an attempt has been made to access this Section, via a RESTORE or RESTART directive. 66 ATMOL data set not assigned. 67 Illegal search of an ATMOL data set. 68 A data field was read in F-format, and an illegal character found. 69 A data field was read in I-format, and an illegal character found. 70 SIZE directive specifies a maximum size less than the current length. 71 An attempt has been made to write beyond the logical end of the DUMP FILE. 120 Attempt to "EQUAL" basis sets for undefined centers. 401 An operator does not appear between two symbols on an S type line of the GEOMGEN directive. 402 Too many symbols have been defined in the GEOMGEN directive (Maximum is 100). 403 An attempt to divide by a number whose absolute value is less than 10**(-8) whilst trying to evaluate a symbol. 404 Less than three centres have been defined, and an A type line has been met in a GEOMGEN directive. 405 Centre not known. This diagonostic may be produced when processing A type lines of the GEOMGEN directive. 406 The centres A, B and C defined on an A type line of the GEOMGEN directive are collinear. 407 No centres have been defined, and a P type line in the GEOMGEN directive has been met. 408 The TAGX paramter of a P type line in the GEOMGEN directive is not known. 409 The fields AX, AY, AZ have not been set to any of X, Y, Z, -X, -Y or -Z in a P type line of a GEOMGEN directive. 415 The distance between two centres has been found to be less than 10**(-3) atomic units. 416 The paramter of the CONVERT, GEOMETRY or GEOMGEN line was not set to AU, A.U. or ANGSTROM. Omission of this parameter will not, however, cause an error diagnostic. 501 The MOLECULE directive was called more than once. 502 The maximum number of molecules was exceeded in the MOLECULE directive. 503 The total number of atoms in the MOLECULE directive exceeded the maximum. 666 End of file condition detected on FORTRAN unit 5. The program requires more data. 999 Insufficient main memory for the program to continue.
TITLE (H2O) INTEGW CONVERT ANGSTROM GEOMGEN OH 0.957 ALPHA 104.52 ALP2 ALPHA / 2 RZ OH *COS ALP2 RY OH *SIN ALP2 C 0.0 0.0 0.0 8 O1 C 0.0 RY RZ 1 H1 P H1 X -Y Z 1 H2 END GTOS S O1 0.002031 7816.54 0.015436 1175.82 0.073771 273.188 0.247606 81.1696 0.611832 27.1836 0.241205 3.41360 S O1 1.0 9.5322 S O1 1.0 0.9398 S O1 1.0 0.2846 P O1 0.019580 35.1832 0.124189 7.9040 0.394727 2.3051 0.627375 0.7171 P O1 1.0 0.2137 D O1 1.0 0.88 S H1 0.032828 19.2406 0.231208 2.8992 0.817238 0.6534 S H2 999 S H1 1.0 0.1776 S H2 999 P H1 1.0 1.20 P H2 999 END MAINFILE ED2 DUMPFILE ED3 ACCURACY 7 11 IBLOCK 1 ENTER 1