The Atlas ATMOL Manual is no longer available. This version of the Manual dates from 1982 after ATMOL was ported to the Cyber 205 at UMRCC.
The ATMOL programs for the computation of molecular integrals over contracted Gaussian orbitals is outlined. The programs are capable of evaluating set of integrals:
The restrictions which the present programs place on the user are as follows:
Data is accepted from FORTRAN stream 5, and consists of a sequence of directives. Printed output is routed to FORTRAN stream 6. These streams need not be explicitly mentioned in the JCL.
The following data sets will be used by the programs, and should be mentioned in the JCL, in REQUEST, ATTACH, MFLINK or GETFEP commands:
MAIN FILE: This dataset contains the evaluated 2-electron atomic integrals. In default mode this dataset is routed to the ATMOL stream ED2. This may be changed through the use of the MAIN FILE directive.
DUMP FILE: This dataset contains information on the geometry and basis set of the system under investigation. It also holds the evaluated 1-electron atomic integrals. The DUMP FILE is assigned in default mode to ATMOL stream ED3. This can be changed through the use of the DUMP FILE directive.
All pre-directives [1] are applicable and should be presented before the program specific directives described in the subsequent paragraphs. The default memory requirement for the INTEGV program is such that it should always be allocated 3 large pages of main memory. For the INTEGW program, the default memory at present has been set at 3 large pages, although usually 1 or 2 large pages of main memory would suffice.
In the following sections the data directives for INTEGV and INTEGW are presented, with a brief explanation on how they can be used and what purpose they serve.
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
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.529177. 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.
This directive consists of a single data line, read to variable TEXT, using A-format.
TEXT should be set to character string NODI.
The NODI directive surpress the distance matrix and must precede the GEOMETRY or GEOMGEN directives.
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, TSTSYM 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 positive 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.
TSTSYM one of the strings SYSCEN, CENSYM or SYM, means that this centre will be used as a 'symmetry centre'. If TSTSYM is omitted, the centre will not be used as a 'symmetry centre'. This parameter may be neglected when using the INTEGW program, since this module does not use symmetry in the evaluation of the molecular integrals.
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.
7.1 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 varaibles 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.
7.2 '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 EBCDIC 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:
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.
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.
S COSX COS 25.0 COSX COS 25.0are equivalent, both resulting in the symbol COSX being given the value cos(25).
S SIGMA + 1.4 S SIGMA 1.4 SIGMA 1.4all set the value to SIGMA to 1.4.
S 1.9 1.8 S F 1.9will 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.
7.3 'C' type lines: Such lines are characterised by the appearance 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 defined 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.
TSTSYM one of the strings SYMCEN, CENSYM or SYM, means that this centre will be used as a 'symmetry centre'. If TSTSYM is omitted, the centre will not be used as a symmetry centre. This directive is not applicable to the INTEGW program, since no symmetry is employed in the molecular integral evaluation.
7.4 'P' type lines: Such lines are characterised by the appearance 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 varaibles 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 7.3.
TAG see definition in 7.3.
TSTSYM see definition in 7.3.
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.
7.5 'A' type lines: Such lines are characterised by the appearance 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,TSTSYM 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 7.3.
TAG see definition in 7.3.
TSTSYM see definition in 7.3.
The appearance of both directives in the same input document is allowed, the effect being to append the data within the second directive to that of the first. The multiple appearance of the GEOMETRY and GEOMGEN directives (or both) is also allowed, the centres defined by successive directives being appended to the list.
The SYMCEN directive consists of one data line, read to variables TEXT,X,Y,Z using format (A,3X).
TEXT should be set to one of the character strings SYSCEN, CENSYM or SYM.
X,Y,Z defines the Cartesian co-ordinates of a point to be used by the program as a 'symmetry centre'. These parameters may be set either with the use of symbols defined in a previous GEOMGEN directive, or by means of standard F format. The units of distance will be as specified in a previous GEOMETRY, GEOMGEN or CONVERT directive, or atomic units in default.
The program will consider symmetry operations (such as rotations by 90 or 180 degrees about the x,y,z axis passing through the symmetry centre) in order to classify any 2-electron integrals which may be of equal value, or equal in absolute value but of opposite sign, so as to produce savings in computer time by the elimination of redundant computation when such integrals are evaluated. The user is asked to note the following points:
It should be noted that the SYSCEN directive is not valid for the INTEGW program, since no symmetry is employed in the molecular integral evaluation.
The NOSYM directive, if used, causes the program to evaluate molecular integrals without using algorithms designed to improve efficiency by means of molecular symmetry. The directive consists of a single data line, with the text NOSYM in the first data field.
It is not recommend the user to enforce this directive, since it was designed to permit the evaluation of the efficiency of the 'symmetry' algorithms.
The COMBINE directive consists of a single data line, with the text COMBINE in the first data field. If used, the directives causes D groups of basis functions to be constructed in 'spherical harmonic' form. If the COMBINE directive is omitted, the D group of basis function will be in standard 'Cartesian' form.
The COMBINE directive does not apply to the INTEGW program since this program evaluates the molecular integrals in terms of 'spherical harmonic' functions. Invoking the COMBINE directive when using INTEGW, will produce an error status.
12.1 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:
The group definition line is read to variables TYPE,TAGA,INFORM, MERGE using (2A,I,A).
TYPE should be set to one of the characters S,P,D,F,G,H or I, only S,P and D are valid when using INTEGV. 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.
INFORM= 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.
MERGE consists of a three character code word.
MERGE=NEW:the group of basis functions has not appeared in a previous reference calculation.
MERGE=OLD:the group of basis functions has appeared in a previous reference calculation
The MERGE parameter may be omitted, when it is given the default value NEW. In this case, INFORM may also be omitted, the default value of 0 being used for the latter.
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<11), 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.
12.2 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
12.3 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 original list, together with the re-ordered list is printed.
The MERGE parameter, which appears in the group definition lines of the GTOS directive, has been implemented so that the 2-electron integrals computed in a previous reference calculation which are in common with integrals required in the current calculation are not recomputed, but re-used.
In the current calculation, the integrals program computes and outputs to the MAIN FILE all 2-electron integrals not common with any of those available from the reference calculation. Such integrals are characterised by the fact at least one basis function involved in the integral has been declared NEW in the current calculation. This MAIN FILE produces a NEWFILE mainfile.
The ATMOL SERVICE program [2] is used to isolate from the MAIN FILE produced in the reference calculation those integrals which are common to both calculations. That is, those integrals where all four basis functions are declared OLD in the current calculation. The SERVICE program produces a file which will be called the MERGEFILE. The NEWFILE and MERGEFILE, which between them contain all the necessary integrals for the current calculation, may now be passed on to the SCF program for processing.
Basis functions are deleted by simply removing all reference to such functions from the input data for the current calculations.
The user should note that a MERGE strategy is not employed for the 1-electron integrals, these being computed afresh for each case.
This directive consists of a single data line, which may be repeated, and is read to variable TEXT,nTAG using format (A,nA).
TEXT should be set to the character string EQUAL.
nTAG should be set to the TAG centres (see GEOMETRY or GEOMGEN directives). The first TAG centre is the defining basis centre and the remainder of the TAGged parameters are equivalenced with that set of basis functions.
Example :
EQUAL H1 H2 H3 H4
The TAGged labels H2,H3,H4 are equated with the H1 TAGged label. The use of the EQUAL directive may be used instead of the GTOS subdirective, INFORM=999. Mixing of EQUAL and INFORM=999 is permitted.
The molecule directive is meant as a tool for counterpoise calculations. The counterpoise approach is the way to calculate Basis Set Superposition Error (BSSE) free interaction energies. To calculate the interaction energy of 2 molecules one calculates the energy of the supermolecule system and of each molecule in the total basis set of the 2 molecules. The interaction energy is the difference between the supermolecule energy and the molecule energies. The 3 energy calculations differ only in the 1-electron integrals.
The molecule directive offers a means to specify which nuclei make up a molecule and the section number where the 1-electron integrals for that molecule (in the total basis) will be stored. The syntax of the molecule directive is:
MOLECULE ISMOL MOLA ISECA ATMA1 [ ATMA2 ATMA3 .. ] [ MOLB ISECB ATMB1 [ ATMB2 ATMB3 .. ] ] END
Note that the molecule directive is restricted to a maximum of 10 molecules and a maximum of 200 atoms totally.
For a counterpoise calculation on a O2 - H2O supermolecule the following molecule directive may be specified,
Example:
MOLECULE 50 H2O 51 H1 H2 O3 O2 52 O1 O2 END
This results in:
The LIBRARY 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 LIBRARY 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 parameter 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:
LIBRARAY 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:
The appearance of both directives in the data stream is allowed, the effect being to append the data within the second directive to that of the first. The multiple appearance of LIBRARY or GTOS (or both) directives is also allowed, the basis functions from successive directives being appended to the list.
This directive consists of a single data line, read to variables TEXT,I,J 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 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.
Notes on the ACCURACY directive:
ACCURACY 7 11to minimise the MAIN FILE size and the computational expense without serious degradation to the accuracy of the final result.
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:
Let M = (ILOW*(ILOW-1))/2 + JLOW
and N = (KLOW*(KLOW-1))/2 + LLOW
then M should be greater or equal to N.
IMIN 161 1 1 1causes the program to completely bypass processing of the 2-electron integrals, so that only the 1-electron integrals are produced.
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 varaibles 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.
In a normal run, the value 161 is assigned to IHI,JHI,KHI and LHI. As with the IMIN directive, IMAX is at present not functional within the INTEGW program.
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:
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:
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 to.
If the SIZE directive is omitted, then the maximum permitted size of the DUMP FILE is 99999 blocks.
Example :
SIZE 121
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 SBU's). S = A safety factor (in SBU's). X = The time remaining to the run (in SBU's). A dump will be initiated if: 2.5 * B + S is greater or equal to X
The default value of S is 15 SBU's. The SAFETY directive has been incorporated so that the user may alter S. The directive consists of a single data line 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 SBU's).
Example :
SAFETY 35
This directive is not functional in the INTEGW program.
The ENTER directive consists of one data line, 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 of the 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:
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 data line, 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:
END OF 1-ELECTRON INTEGRALSis 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.
As with the RESTART directive in the INTEGW program, the RESTORE mode cannot be invoked in this program, since there is no control over the dumping of the task information in INTEGW.
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 LIBRARY (or both), IBLOCK and lastly ENTER. All other directives are optional extras, which the user is free to choose from.
Detailed information on the numerical procedures used for the evaluation of molecular integrals over Gaussian type orbitals, together with a discussion on the general strategy employed may be found in [5].
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 <101). 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 160 inclusive. 15 Invalid number of basis functions (1< NBASIS< 256). Note that the spherical harmonic D groups count as six basis functions for error condition (INTEGV program), although only five basis functions are actually generated. 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 10 inclusive. 22 MERGE paramter in LIBRARY or GTOS directive not recognised. 23 The first group of basis functions in a GTOS directive has INFORM=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. 30 ACCURACY, COMBINE, GEOMETRY, GEOMGEN, GTOS, LIBRARY, NOSYM or SYMCEN directives appears after a RESTORE directive. 42 AFN is not known. 50 Invalid parameter in the WIDTH pre-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. If the latter, a finite VSOS error code will be given whose explanation will be found in [6]. 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 diagnostic 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 parameter 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 parameter 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 stream 5. The program requires more data. 999 Insufficient main memory for the program to continue. 3333 AFN not recognized in the FILE pre-directive.
Specimen Job 1
The example detailed below illustrates the use of the INTEGV program. The example shown is the H2O molecule, where the basis set for the atomic constituents is of double zeta + polarization quality. Note the COMBINE option, invoking spherical harmonic functions for the D orbitals. The DUMP FILE and MAIN FILE are made permanent, and are the datasets used in subsequent examples in the ATMOL manuals.
/*JOB JOBNAME,ACCOUNT,ST=(C20,LP=3,WS=512),PW=PASSWORD,TI=32,C=B REQUEST,ED2V,RT=U. REQUEST,ED3V,RT=U. PATTACH,ATMOL. INTEGV. DEFINE,ED2V. DEFINE,ED3V. ####S CHANGE ED2 ED2V ED3 ED3V TITLE (H2O) INTEGV CONVERT ANGSTROM GEOMETRY 0.0 0.0 0.0 8 O1 0.0 0.7569537 -0.5858829 1 H1 0.0 -0.7569537 -0.5858829 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 COMBINE IBLOCK 1 ENTER 1 ####S
Specimen Job 2
Again the same basis set is used as in the previous example, to illustrate the H2O molecule. Here the INTEGW program is used to evaluate the Gaussian integrals. Unlike the previous example the input geometry is supplied by the GEOMGEN directive, and not the explicit cartesian co-ordinates. In both examples the total number of basis functions generated is 25.
/*JOB JOBNAME,ACCOUNT,ST=(C20,LP=1,WS=256),PW=PASSWORD,TI=32,C=B REQUEST,ED2W,RT=U. REQUEST,ED3W,RT=U. PATTACH,ATMOL. INTEGW. DEFINE,ED2W. DEFINE,ED3W. ####S LPAGE 1 CHANGE ED2 ED2W ED3 ED3W 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 ####S
Specimen Job 3
This test example will be used in subsequent manuals to illustrate large runs. As shown below, the test calculation is on the H2O dimer. Geometry is supplied through cartesian input and invoking spherical harmonic D function through the use of the COMBINE option. The EQUAL directive is used in place of the sub-directive 999 in GTOS to equivalence the atomic basis on similar constituents. Note that the MAIN FILE, DIMED2, has been pre-directed to one of the scratch packs to ensure sufficient disc allocation.
/*JOB JOBNAME,ACCOUNT,ST=(C20,LP=3,WS=512),PW=PASSWORD,TI=1000,C=D PATTACH,ATMOL. REQUEST,DIMED2,RT=U,P=PACK04. REQUEST,DIMED3,RT=U. INTEGV. DEFINE,DIMED2. DEFINE,DIMED3. ####S FILE ED2 DIMED2 ED3 DIMED3 TITLE (H2O)2 INT BASIS CONVERT ANGSTROM GEOMETRY 0.0 0.0 0.0 8 O1 0.0 0.0 2.976 8 O2 0.0 0.0 2.0188 1 H1 0.0 0.926627 3.2159891 1 H2 0.7569537 -0.4968579 -0.310471 1 H3 -0.7569537 -0.4968579 -0.310471 1 H4 END GTOS S O1 0.00048212 30664.50 0.00378034 4573.201 0.01985916 1029.552 0.08398973 285.9047 0.28203618 90.36965 0.69772239 31.21958 S O1 0.68681696 11.60777 0.34697835 4.592760 S O1 1.0 1.305070 S O1 1.0 0.484731 S O1 1.0 0.183737 P O1 0.00618675 78.70294 0.04356102 18.40926 0.17000290 5.753084 0.39118432 2.110711 0.54417585 0.837121 P O1 1.0 0.360031 P O1 1.0 0.140437 D O1 1.0 1.669792 D O1 1.0 0.512491 S H1 0.00672778 68.16 0.05113115 10.2465 0.24483852 2.34648 0.77646525 0.67332 S H1 1.0 0.233868 S H1 1.0 0.085587 P H1 1.0 1.273843 P H1 1.0 0.312600 END EQUAL H1 H2 H3 H4 EQUAL O1 O2 ACCURACY 7 11 COMBINE IBLOCK 1 ENTER 1 ####S
[1] D. Moncrieff and V.R. Saunders, ATMOL-Introductory Notes.
[2] D. Moncrieff and V.R. Saunders, ATMOL-SERVICE program.
[3] D. Moncrieff and V.R. Saunders, ATMOL-LIBRARY program.
[4] R.F. Stewart, J. Chem. Phys.,431,52,(1970).
[5] V.R. Saunders, 'An Introduction to Molecular Integral Evaluation', in 'Computational Techniques in Quantum Chemistry and Molecular Physics', eds: G.H.F. Diercksen, B.T. Sutcliffe and A. Veillard, 347, (1975).
V.R. Saunders, 'Molecular Integrals for Gaussian Type Functions', in 'Methods in Computational Molecular Physics', eds: G.H.F. Diercksen and S. Wilson, 1, (1983).
[6] CDC VSOS Manual, Form 60459410, Control Data Corporation; VSOS Reference Manual, NAT 208, University of Manchester Regional Computer Centre, (1985).