(This program is not a function within MOPAC, instead it is a utility program for building data sets for
polymers, layer systems, and solids. MAKPOL was extensively rewritten in
January, 2018. A copy of the MAKPOL executable for use on WINDOWS
systems is available for download.)
MAKPOL can convert a file in PDB or ENT format into a MOPAC data-set.
These files have exactly the same format, so in principle either suffix could be
used. However, since MOPAC can generate files that have the PDB suffix,
it's better to use files with the suffix .ENT with MAKPOL; there is less chance that ENT
files would be accidentally over-written. ENT files can either be
created by the user or generated from a CIF file. Two good sources are the
Cambridge Structural Database, the CSD,
for organic solids, and the Inorganic Crystal Structure Database, the
ICSD, for inorganic solids.
Download the MAKPOL executable and extract the files
in the ZIP file to a convenient place, for example to Users/yourname/MAKPOL.
Then place a shortcut on the desktop. To do this, copy the MOPAC
executable and paste a shortcut on the desktop. Then drag-and drop any of
the examples in the ZIP file onto the shortcut. The job will run very fast
- most systems will run in less than one second.
Starting with a PDB or ENT file
Files in PDB format normally include data on the unit cell. These data
can be seen in the line that starts with the letters "CRYST1"
To prevent accidental over-writing of the input file, if the file's suffix is
PDB re-name the suffix to ENT. Then "drag-and-drop" the ENT file onto the
MAKPOL shortcut icon. The job should run in about a second, and produce
two files. These will be named <file>.mop and Make_<file>.dat.
<file>.mop is an ordinary MOPAC data-set. If any changes need to be made
to the cluster in <file>.mop, the easiest way to make these changes is to edit
Make_<file>.dat and then run Make_<file>.dat using MAKPOL. That will
Because files in PDB format do not contain MOPAC keywords, a mechanism exists
that allows MOPAC keywords to be added, see below.
Starting with a MOPAC-type file
Any file in MOPAC format (keywords - title - comment - geometry) that has
enough information to allow the translation vectors to be generated can be used
with MAKPOL. Suitable names for data-sets in MOPAC format are <file>.dat
and Make_<file>.dat, although almost any other name could be used. Avoid a
name that is the same as the file-name created by MAKPOL, i.e., avoid
When MAKPOL is run, it will create a file Make_<file>.dat, if that file does
not already exist. This file is in MOPAC format, and can be edited as
necessary, and then used as a data-set for MAKPOL. That allows changes to
be made easier than if the changes had to be made to the original data-set.
Any of the keywords used by MOPAC can be used in a MAKPOL data set, but, only a few keywords will be used by MAKPOL; the rest will be ignored. Keywords that are used in MAKPOL are given below.
When BCC is added all odd unit cells are omitted. An odd unit cell is one for which the addition of the cell indices results in an odd number, thus (0,0,0) and (1,1,0) would be allowed, but (1,1,1) and (2,1,0) would not. Diamond is an example of
where keyword BCC would be used.
When CELL is present, the unit cell parameters are read in. The
format of this keyword is CELL(a b c alpha beta gamma) where a
b c alpha beta and gamma are the conventional unit cell parameters in
Ångstroms and degrees, for example
CELL(13.7005 6.05090 15.17890 90 103.1550, 90)
Separators can be spaces, commas, or semicolons. CELL is useful when CIF files are
used. Although a CIF file contains the unit cell parameters, these
parameters are usually deleted when the CIF file is converted into Cartesian
coordinates. This keyword provides MAKPOL with the information needed
for generating a MOPAC data-set. This keyword is deleted by MAKPOL before
the MOPAC data-set is generated.
Convert the geometry generated by MAKPOL into internal coordinates.
useful mainly for high-symmetry systems. Avoid using INT for
biochemical or other low-symmetry systems, there is an increased possibility
that the internal-coordinate geometry will have faults caused by angles that
accidentally are near to "magic" angles, for example an angle near to 0.0 or
180.0 degrees could make the dihedral angle unpredictable. Do NOT attempt to
make a large unit cell, e.g. MER=(2,2,2), then reduce that cell using
MERS=(1,1,1). Such an operation has a much increased possibility of
geometric errors - use Cartesian coordinates, and when the system looks
good, convert it to internal coordinates, if necessary.
This keyword is
deleted by MAKPOL before the MOPAC data-set is generated.
The default, when LET is not
present, is to re-arrange the atoms so as to make entire molecules, if possible.
This step is not done when LET is present.
This keyword is deleted
by MAKPOL before the MOPAC data-set is generated.
The number of unit cells in each direction is defined by n3, n2, and n1.
For Brillouin zone work the number of unit cells in each direction must be odd
and larger than 2, so the smallest allowed value for a solid is MERS=(3,3,3).The total number of unit cells generated will be
n3.n2.n1, or, if BCC is used, (n3.n2.n1)/2. If the supplied
data-set is a multiple of the repeat unit cell, then that will be automatically
recognized and the repeat unit cell will be used as the starting point.
For example, if MERS=(2,2,10) is used, and the supplied cluster consists of 10
unit cells in the first direction, 2 in the second, and 2 in the third, then the
resulting cluster will consist of 2 unit cells in the first direction, 2 in the
second, and 10 in the third. In the event that the repeat unit cell cannot
be recognized, a warning message will be printed. In such a case, use MERS=(x.xx,
y.yy,z.zz) where x.xx, y.yy, and z.zz are the reciprocal number of unit cells in
the supplied data set. So, if the supplied data-set consists of 2 unit
cells in the first direction, 3 in the second, and 5 in the third, then MERS=(0.5,0.333,0.2)
would generate a MOPAC data set for one repeat unit.
This keyword has two distinct functions. When SYMMETRY is specified, then any symmetry data present in the input data set will be used. This is useful for reducing the number of variables that need to be changed on going from one system to another (for example, on going from diamond to cubic boron nitride). If no symmetry data are present, then this function will not be used.
The second function of SYMMETRY is to impose symmetry conditions on the resulting cluster data set. Only four symmetry conditions are recognized: bond-lengths that are equal, bond angles that are equal, equal dihedral angles, and dihedral angles that are the negative of reference dihedrals.
For high symmetry systems, the cluster data set should be edited to increase
the symmetry. For example, in diamond, all angles and dihedrals are symmetry
defined, so all the optimization flags for these variables should be set to
zero, and all symmetry functions involving angles and dihedrals should be
deleted. In addition, all "bond lengths" in diamond are simple multiples of the
fundamental C-C distance, so symmetry function 19 should be added. If this is done correctly, then only one geometric variable will be left.
A rarely-used keyword. When present, this keyword prevents the translation
vector lengths from being changed. An example of where this is needed is
in the graphite system, see the example "Graphite (3,5,5) for MAKPOL.dat", where
atom 2 is half way between atom 1 (the origin of the coordinate system) and the
first translation vector. Without TV, MAKPOL would
automatically reduce the length of the first translation vector by 50%.
This keyword is deleted by MAKPOL before the MOPAC data-set is generated.
TV=(x.xx, y.yy, z.zz)
Another rarely-used keyword. If present, this keyword defines the primitive
translation vector lengths to be used when the translation vectors are not
available. An example would be if a crystal lattice existed, but there is
no information on the translation vectors. In such a case, use a graphical
user interface to measure the distances from atom 1 to its equivalent position
in the next unit cell, in each direction. Use these data for the
quantities x.xx, y.yy, z.zz. The translation vectors will then be
generated when the job is run using MAKPOL.
This keyword is deleted by MAKPOL before the MOPAC data-set is generated.
For examples for Brillouin-zone work see Program
It is often convenient to have a set of keywords in the <file>.mop file
generated by MAKPOL, that are intended for use in a MOPAC job. To allow
this, a second data-set file, named "keywords for MAKPOL.txt" can be used by
MAKPOL. This file should contain all the keywords that the resulting MOPAC
data-set should contain. This file can be empty or it can hold
commonly-used MOPAC keywords, such as "0SCF HTML" Avoid having MAKPOL
keywords in this file - it's easy to forget that they're present and can cause
confusion when selecting MAKPOL keywords.