|
274. CNINDO-DYNAM: CNDO and INDO Molecular Orbital
Program with Dynamic Data Storage
by Alice Chung Phillips, Department of Chemistry, Miami
University, Oxford, Ohio 45056
This program is a modification of QCPE 141.
Modifications include: 1. conversion of the old main
routine and part of subroutine INTGRL to the new main
routine and subroutine DYNAM1; 2. replacement of the
old subroutine COEFFT with the new functions Y and Z
and subroutine FIND; and 3. correction of certain ill-
defined limits for DO loops in the old subroutines
HUCKOP, SCFOPN, and OPRINT.
The special feature of this program is dynamic data
storage. In the subprograms, the arrays originally
stored in COMMON /ARRAYS/, /INFO/, /GAB/, and /INFO1/
of CNINDO are converted to dynamic arrays or arrays
with variable dimensions. The integer variables used
to specify these dimensions are NATOMS, the number of
atoms, and N, the number of atomic orbitals. In the
main program, the dynamic arrays are placed end-to-end
into a single storage block. The individual dimensions
of the arrays are no longer declared explicitly.
Instead, the size of the storage block, NTOTAL, is
specified. NTOTAL is an integer constant and may be
changed before each execution. NTOTAL also represents
the maximum storage allocated for all the dynamic
arrays. The storage actually occupied by the dynamic
arrays in the storage block, ITOTAL, is equal to M,
M+1,or M+2words, whereM =
NATOMS(10+2NATOMS)+N(15+6N). With this formula, a user
may estimate ITOTAL for the molecules involved and
assign a proper number of words to NTOTAL, provided
NTOTAL > ITOTAL.
In the QCPE version of CNINDO-DYNAM, NTOTAL is chosen
as 25,000 words. The size of the storage block is
defined by the statements "Integer*4 A", "REAL*8 B",
"DIMENSION A (25000)", "DIMENSION B (12500)", and
"EQUIVALENCE (A(1),B(1))". Note that the number of
elements in B is one-half of that in A. To change the
amount of storage allocated for the dynamic arrays,
simply change the number in the two DIMENSION
statements described here and in the statement
"NTOTAL=25000". These changes require very little
effort, since all three statements concerned appear in
the main routine only.
The program no longer has specific limits for NATOMS
and N. (In CNINDO, the respective limits are 35 and
80.) The present limit is for ITOTAL. This limit is
just NTOTAL, a number the user sets up to suit his own
needs. For NTOTAL=25000 words, the limiting molecule
is somewhere between C9H20 and C10H22. Also, the
program requires 192 Kb of core storage without overlay
and 154 Kb with overlay. An overlay deck is provided.
Documentation of the program appears as COMMENT
statements in the main routine and subroutine DUMMY.
The latter is to be removed for execution. Two test
decks are provided, ethane (CNDO CLSD) and allyl
radical (INDO OPEN).
FORTRAN IV (IBM 360/370)
Lines of Code: 2021
Recommended Citation: A. C. Phillips, QCPE 11, 274
(1975).
|