|
577. CRYSTAL 88: An Ab Initio All-Electron LCAO-Hartree-
Fock Program for PeriodicSystems
by R. Dovesi, C. Pisani, C. Poetti, M. Causa,
Dipartimento di Chimica Inorganica, Chimica Fisica e
Chimica dei Materiali, Università di Torino, Torino,
Italy, and V. R. Saunders, Daresbury Laboratory,
Daresbury, Warrington, England WA4 4AD
GENERAL INFORMATION
CRYSTAL is an ab initio all-electron Hartree-Fock LCAO
program for the treatment of periodic systems in three
(CRYSTALS), two (SLABS), one (POLYMERS) and zero
(MOLECULES) dimensions.
"LCAO" in the present case means that each CRYSTALLINE
ORBITAL (the equivalent of the molecular orbital) is a
linear combination of Bloch functions defined in terms
of local functions (hereafter indicated as "ATOMIC
ORBITALS", AOs)
The local functions are in turn combinations of
Gaussian-type functions (GTF) whose exponents and
coefficients are defined by input.
s, p (in the order x,y,z) and d (in the order 2z2-x2-
y2, xy, xz, yz, x2-y2) shells of GTF can be used. Also
available are sp shells (s and p shells sharing the
same set of exponents). The use of sp shells can give
rise to considerable savings in the calculation.
The program can handle any space symmetry (230 space
groups, 80 two-sided plane groups, 99 line groups). In
the case of polymers, it cannot treat helical
structures (translation followed by a rotation about
the periodic axis). However, when commensurate
rotations are involved, a suitably large unit cell can
be adopted; the cost is proportionally higher in the
diagonalization step, whereas the integral part fully
exploits the rototranslational symmetry of the system.
Point symmetries compatible with translation symmetry
are provided for molecules.
Only closed-shell systems can be investigated.
The program computes total and kinetic energies, atomic
and shell charges and multipoles, and, on request, band
structures, densities of states (DOS) and charge
density maps.
LIMITS OF APPLICABILITY OF THE PROGRAM.
We list here a few of the simple limits of CRYSTAL,
related to the size of vectors or matrices:
Maximum number of atoms in the unit cell=
32
Maximum number of shells in the unit cell =
65
Maximum number of AOs in the unit cell = 155
Maximum number of contracted Gaussians per AO
= 10
(6 for d AOs)
Maximum number of non-equivalent reciprocal
vectors where the Fock matrix is diagonalized
= 200
However, there are many "product" dimensions which
reduce the possibilities of use of CRYSTAL. For
example, the number of eigenvalues (which is the
product of the number of k points times the number of
AOs) cannot exceed 8000, whereas the product of the
maximum value for the two factors gives 31000 (200*155:
see above). This means that one can run a case with a
large basis set or a case with large shrinking factor
for the k net but not a case where both sizes are near
their limit.
Consider another example: Suppose we run bulk lithium
under severe computational conditions (say 10-10 as a
threshold for the overlaps) and use more and more
diffuse outer Gaussians; when the exponent a of the
valence shell gets smaller than 0.07 a.u. the program
stops, because the "cluster" of the neighbors of the
central atom contains more than the 500 cells
classified by the program.
It is then difficult to clearly define in a few words
the maximum size of the systems that can be handled by
CRYSTAL. The maximum size is a function of the basis
set, computational conditions, size of the unit cell
and its symmetry. Roughly speaking, a system with
large unit cell and low symmetry cannot be studied with
extended basis sets and/or very strict computational
conditions.
Many STOP conditions have been introduced related to
the product dimension of the program; a short comment
is produced by the STOP condition which indicates the
possible origin of the problem.
A list of recent applications of CRYSTAL will give an
idea of the "size" of the systems which can be
investigated:
* a-quartz with a 6-21 basis set plus d orbitals on
silicon atoms (6 symmetry operators; 9 atoms and 108
AO per cell),
* UREA (two CO(NH2)2 molecules per cell) with a 6-
21** basis set (8 symmetry operators, 16 atoms and 152
orbitals per cell),
* Three dimensional (SN)x with a minimal 3G plus d
on S atoms basis set (4 symmetry operators, 8 atoms
and 76 AOs per cell).
"Good" computational conditions have been adopted in
the three cases.
The most common source of problems with CRYSTAL (apart,
obviously, from typing errors in preparing input or
misunderstanding the input instructions) is probably
connected with the basis set. Attempting to use large
uncontracted molecular or atomic basis sets containing
very diffuse functions can produce (due to the densely
packed nature of many crystalline structures) huge CPU
times, numerical inaccuracies and linear dependence
problems. The basis set problem is analyzed in CHAPTER
V of the documentation.
COMPUTATIONAL INFORMATION ON CRYSTAL
CRYSTAL is about 29000 lines long, contains about 190
subroutines, and is generated as three separate
programs which communicate through disk files.
It is written in FORTRAN and is fully compatible with
the FORTRAN77 standard.
All variables are in SINGLE PRECISION; for compilation
on IBM-type machines, the AUTODOUBLE option of the VS
FORTRAN compiler must be used in order to generate
DOUBLE PRECISION variables.
NOTE:This system will be delivered on a separate,
unlabeled, multiple file tape in a BLKSIZE=4000.
FORTRAN 77 (IBM)
Lines of Code: 29,000
|