The Absolute Beginners Guide to MOPAC

David Young
Cytoclonal Pharmaceutics Inc.


This is to teach the beginner how to use the MOPAC semiempirical computational chemistry program. This guide is intended for use by someone who has never used the program before.

This guide is in no way intended to be a comprehensive or advance guide to MOPAC. Also, this is not an explanation of the theory behind the different methods or their strengths, weaknesses, accuracy, etc.

The term "semiempirical" refers to methods which use the general process dictated by molecular orbital quantum mechanics, but simplify it to gain speed then correct for the simplification by the use of some experimental data.

MOPAC is a program for doing semiempirical calculations on atoms and molecules. The program is operated by making an ASCII input file using any convenient text editor then running the program. The results of the calculation are put in one or more output files. MOPAC itself currently has no provisions for graphical or interactive inputs or outputs. However, such things do exist for use with MOPAC and can be obtained from other sources.

This guide gives an input description by showing three sample input files and describing what they mean. The section listing available options is not comprehensive, but lists a number of the most frequently used options.

Input file for an atom:

The input file name is given an extention to tell the program that it is an input file. For most systems, the input file has the extension ".dat". Here is a sample input file for a single atom calculation.

am1 triplet vectors 
Oxygen triplet atom  


Line 1: "am1 triplet vectors" This is telling the program what type of calculations to do. "am1" is the semiempirical method being used. "triplet" specifies two unpaired electrons. "vectors" asks the program to include the molecular orbital coeficients in the output file.

Line 2:"Oxygen triplet atom" Line 2 is a comment for the users reference only.

Line 3 is also designated as a comment line.

Line 4: "O" is specifying an oxygen atom.

Input example for a diatomic molecule:

Here is a sample input for a diatomic molecule

PM3 singlet bonds dipole mullik force
Carbon Monoxide
PM3 bond length optimization
O  0.955000  1                                1  0  0

Only significant differences from the atom input file will be mentioned.

Line 1: "PM3 singlet bonds dipole mullik force" The "PM3" specifies the PM3 semiempirical method. "singlet" specifies all electrons paired. "dipole" is asking for calculation of a dipole moment. "mullik" is asking for a mulliken population analysis. "force" will result in calculation of normal mode vibrational frequencies.

Line 4: "C" specifies a carbon atom.

Line 5: "O 0.955000 1 1 0 0" The "O" specifies an oxygen atom. The "0.955000" specifies a bond length. The first "1" designates this bond length to be optimized (0 would specify no optimization). "1 0 0" specify which bond length angle and dihedral angle. "1" means that the bond length on that line refers to a distance between that atom and atom number 1 (the Carbon). "0 0" these are zero because this molecule has no angles or dihedral angles.

Input file for a polyatomic molecule:

Here is an input file for a formaldehyde molecule.

singlet vectors local bonds mullik symmetry
formaldehyde MNDO optimization with symmetry
with local orbital analysis
O  1.200000  1                 				1  0  0
H  1.080000  1   120.000000  1              		1  2  0
H  1.080000  0   120.000000  0  180.000000  0 		1  2  3
0  0.000000  0     0.000000  0    0.000000  0  	  	0  0  0
 3,  1,  4,
 3,  2,  4,

Line 1: "singlet vectors local bonds mullik symmetry" The "local" keyword will result in doing a local orbital analysis. The "bonds" keyword will result in a bond order matrix. The "symmetry" keyword specifies that certain geometrical parameters will be forced to have the same value - this requires inputs with the format shown in the last three lines. When no semempirical method is specified, the program does a MNDO calculation.

Line 6: "H 1.080000 1 120.000000 1 1 2 0" This specifies a hydrogen atom with a bond length of 1.080000 to be optimized "1". A bond angle of 120.000000 is to be optimized "1". The "1 2 0" means that the bond length referes to the distance to atom 1 (Carbon), the angle is that with atom 1 and atom 2 and there is no dihedral angle "0".

Line 7: "H 1.080000 0 120.000000 0 180.000000 0 1 2 3" specifies a hydrogen bonded to atom 1 with a length of 1.08000 not to be optimized separately "0". The angle of 120.000000 with atom 1 and atom 2 is not to be optimized "0". The dihedral angle of 180.000000 with atoms 1, 2 and 3 is not to be optimized "0".

Line 8: "0 0.000000 0 0.000000 0 0.000000 0 0 0 0" tells the program that all atoms have now been defined.

Line 9: " 3, 1, 4," specifies that atoms 3 and 4 have an identical geometric parameter which is the first "1" parameter, therefore the bond length.

Line 10: " 3, 2, 4," specifies that atoms 3 and 4 have an identical geometric parameter which is the second "2" parameter or the angle.

This input will result in a geometry optimization of three variable, the carbon-oxygen bond length, the carbond-hydrogen bond length and the oxygen-carbon-hydrogen bond angle. All other parameters are either identical by definition (i.e. the second hydrogen) or not optimized (i.e. the dihedral angle). Thus we have defined that our molecule has C2V symmetry and that we will only calculate geometries corresponding to this symmetry.

Output files:

A number of output files are created. Usually, the file with the extension ".out" is the output that contains the information of interest.

In some versions of the program, running a second job with the same input file name results in overwriting the output files. In other versions, running a second job results in a second set of output files being created with filenames contiaining a numerical code to distinguish them.

List of keywords:

This is a list of the keywords to specify what is to be calculated. This is not a comprehensive list. This list is provided for the sake of seeing what is available. For other options and how to use these options, see the MOPAC manual.

aigin - use a Gaussian zmatrix geometry specification
biradical- system has two unpaired electrons
bonds - print bond order matrix
C.I. - configuration interaction (useful for excited states)
charge=N - charge for ions
dfp - Davidson-Fletcher-Powell method for geometry optimization
dipole - fit the ESP to the calculated dipole
drc - dynamic reaction coordinate calculation
esp - electrostatic potential calculation
esr - calculate rhf unpaired spin density
excited - optimize first excited singlet state
force - force calculation (vibrational frequencies)
geo-ok - override interatomic distance check
hyperfine- hyperfine coupling constants to be calculated
irc - intrinsic reaction coordinate calculation
k=(n,n) - one dimensional Brillouin zone structure (polymer)
localize - print localized orbitals
mmok - use molecular mechanics correction to CONH bonds
mullik - mulliken population analysis
nomm - do not use molecular mechanics correction to CONH bonds
open - open shell rhf calculation
pi - resolve density matrix into sigma and pi bonds
polar - calculate first, second and third order polarizablilities
precise - criteria to be increased by 100 times
pulay - use Pulay's converger to obtain a scf
restart - calculation restarted
root=n - root n to be optimized in a C.I. calculation
rot=n - symmetry number of the system is n
saddle - optimize transition state
scale - scaling factor for Van der Waals distance in ESP
symmetry - impose symmetry conditions
uhf - unrestricted calculation
vectors - print final eigenvectors (molecular orbital coeficients)
xyz - do all geometric operations in cartesian coordinates

Semiempirical methods available:

Not specifying a method results in the default MNDO method. The other methods are specified with the appropriate keyword on line 1 of the input file. These keywords are "AM1", "PM3" and "MINDO/3".

Spin multiplicity:

The spin multiplicity is specified by the use of a keyword on the first line of the input file. The available multiplicities are

singlet - 0 unpaired electrons
doublet - 1 unpaired electrons
triplet - 2 unpaired electrons
quartet - 3 unpaired electrons
quintet - 4 unpaired electrons
sextet - 5 unpaired electrons


These methods were originally created with organic chemistry in mind, so the entire periodic table is not available. However the AM1 and PM3 methods do include some "less organic" atoms such as a few transition metals, alkalai metals and semimetals. See the manual for which elements are available in your version of MOPAC.

Return to table of contents.