HyperChem® Release 7
for Windows®
Getting Started

Hypercube, Inc.
Publication HC70-00-01-00

January 2002

Copyright © 2002 Hypercube, Inc.
All rights reserved

The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. Thispublication, or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ORIMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE, INC. BE
LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES INCONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF HYPERCUBE, INC.
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY DEFECT OR ERROR IN THESE
MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC., REGARDLESS OF THE FORM OF
ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALS DESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.

Hypercube Trademarks
HyperChem is a registered trademark of Hypercube, Inc. HyperMM+, HyperNewton, HyperEHT, HyperNDO,
HyperGauss, HyperDFT, HyperNMR, ChemPlus, HyperChem Data, and HyperChem Raytrace are trademarks ofHypercube, Inc.

Third Party Trademarks
Microsoft, MS-DOS, and Excel are registered trademarks, and Windows , Windows NT, and Windows 95 aretrademarks of Microsoft Corporation.
MM2 is a trademark of Dr. Norman Allinger, University of Georgia.
CHARMm is a registered trademark of Accelrys Inc.
IBM is a registered trademark of International Business Machines Inc.
All other brand and product names are trademarks or registered trademarks of their respective holders.

PRINTED IN USA

Table of Contents
Introduction

1

Chapter 1

3

Installing HyperChem

Introduction . . . . . . . . . . . . . . . . . . . .
Readme File . . . . . . . . . . . . . . . . .
System Requirements . . . . . . . . . . . . . . . . .
Required Hardware and Software. . . . . . . . . . .
Operating System Software . . . . . . . . . .
Computer . . . . . . . . . . . . . . .
Memory . . . . . . . . . . . . . . . .
Storage/Disk space . . . . . . . . . . . .
CD-ROM . . . . . . . . . . . . . . .
Display . . . . . . . . . . . . . . . .
Pointing Devices . . . . . . . . . . . . .
Optional Hardware . . . . . . . . . . . . . . .
Registering HyperChem . . . . . . . . . . . . . . . .
Licensing Options . . . . . . . . . . . . . . . . . .
Software-Licensed Standalone Installation . . . . . . . . . .
How the Software-license works . . . . . . . . . . .
Installation Instructions . . . . . . . . . . . . .
Licensing HyperChem . . . . . . . . . . .
Installing the license key . . . . . . . . . .
Software-Licensed Network Installation . . . . . . . . . . .
Installation Instructions . . . . . . . . . . . . .
1. Install the Sentinel License Manager Software . . .
2. Fingerprinting the computer; obtaining a license key

3
4
4
4
4
4
4
4
4
5
5
5
5
5
6
6
7
7
8
8
9
9
9

iii

3. Installing HyperChem 7 on Client machines.
Hardware-Licensed Standalone Installation . . . . . . .
How the Hardware Lock Works . . . . . . . .
Before Installing the Hardware Lock . . . . . . .
Types of Standalone Hardware Locks . . . .
Replacing the Hardware Lock . . . . . .
Installation Instructions . . . . . . . . . . .
Installing the Hardware Lock . . . . . . . . .
Converting a Hardware Lock to a Software Lock . . .
Hardware-Licensed Network Installation . . . . . . . .
Installation Instructions . . . . . . . . . . .
1. Install the SuperPro Server Software . . .
3. Installing HyperChem 7 on Client machines.
Evaluation Installation . . . . . . . . . . . . . .
Windows NT, 2000 or XP Professional Issues . . . . . . .
Technical Support . . . . . . . . . . . . . . .
Obtaining Support from Your Dealer . . . . . . .
Obtaining Support from Hypercube, Inc. . . . . .
HyperChem Discussion Group . . . . . . . . .

Chapter 2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Learning HyperChem

Introduction . . .
Before You Begin . .
Using On-line Help .

.
.
.

.
.
.

.
.
.

.
.
.

. 11
. 12
. 13
. 13
. 13
. 14
. 14
. 15
. 16
. 16
. 16
. 16
. 18
. 19
. 19
. 20
. 20
. 20
. 21

23
.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

. 23
. 23
. 24

Tutorial 1 HyperChem Basics

25

Lesson 1 Getting Started

27

Skills Covered in This Lesson . . .
Starting HyperChem . . . . . .
Parts of the HyperChem Window. .
Title Bar . . . . . . .
Menu Bar . . . . . .
Tool Bar . . . . . . .
Workspace . . . . . .
Status Line . . . . . .
Help . . . . . . . .
Control Menu Button . .
Maximize/Minimize Buttons

iv

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

. 27
. 27
. 28
. 28
. 28
. 28
. 29
. 29
. 29
. 29
. 29

Using the Mouse . . . . . . . . . .
Keyboard Alternatives . . . . . . . . .
Keyboard Shortcuts . . . . . . . . . .
Opening a Sample File . . . . . . . . .
Scrolling Through the List of Files . .
Changing Directories . . . . . .
Selecting a File . . . . . . . .
Using Display Settings . . . . . . . . .
Using Labels . . . . . . . . .
Using Different Molecular Renderings .
Exiting HyperChem . . . . . . . . .
For More Information . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Lesson 2 Basic Drawing and Editing Techniques
Skills Covered in This Lesson. . .
Reopening HyperChem . . . .
Expanding the HyperChem Window
Drawing Atoms . . . . . . .
Drawing Bonds . . . . . . .
Selecting Atoms . . . . . . .
Selecting Groups of Atoms . . .
Deleting Atoms . . . . . . .
Copying Atoms to the Clipboard .
Clearing the HyperChem Workspace
For More Information . . . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

45
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

Lesson 3 Creating Small Molecules in 2D and 3D
Skills Covered in This Lesson.
Reopening HyperChem . .
Drawing a 2D Sketch . . .
Saving Your Work in a File .
Changing Bond Orders . .
Making Rings Aromatic . .
Labeling Atoms . . . . .
Editing Individual Atoms . .
Invoking the Model Builder .
Saving the Structure . . .
For More Information . . .

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

29
31
32
33
34
35
35
37
38
39
43
44

.
.
.
.
.
.
.
.
.
.
.

45
45
45
46
48
51
53
55
55
56
56

57
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

57
57
58
58
60
62
63
64
65
67
67

v

Lesson 4 Translating, Rotating, and Scaling Molecules
Skills Covered in This Lesson .
Reopening a HIN file. . . .
XY Translation . . . . .
Z Translation . . . . . .
Using the Zoom Tool . . .
Centering and Scaling . . .
XY Rotation . . . . . .
Z Rotation . . . . . . .
Z Clipping . . . . . . .
Clearing the Workspace . . .
Practice Exercises . . . . .
For More Information . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

69
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Lesson 5 Measuring Structural Properties
Skills Covered in This Lesson . .
Creating a 2D Sketch. . . . .
Editing the Sketch . . . . .
Building the 3D Structure . . .
Atom Characteristics. . . . .
Measuring Bond Distances . . .
Measuring Bond Angles . . . .
Measuring Torsion Angles . . .
Measuring Nonbonded Distances.
Hydrogen Bonds . . . . . .
Practice Exercises . . . . . .
For More Information . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

81
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Lesson 6 Creating a Polypeptide
Skills Covered in This Lesson . . . .
Using the Amino Acids Dialog Box . .
Building and Displaying a Polypeptide .
Creating a Zwitterion . . . . . .
Site-specific Mutagenesis . . . . .
Saving the Structure . . . . . . .
Practice Exercises . . . . . . . .
For More Information . . . . . .

viTable of Contents

. 69
. 69
. 70
. 72
. 73
. 74
. 75
. 76
. 76
. 79
. 79
. 80

. 81
. 81
. 82
. 83
. 84
. 85
. 86
. 87
. 88
. 89
. 90
. 90

91
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

. 91
. 91
. 92
. 93
. 94
. 97
. 97
. 98

Lesson 7 Selecting and Displaying Subsets
Skills Covered in This Lesson.
Creating an Alpha Helix . .
Labeling the Ends . . . .
Selecting the Backbone . .
Coloring the Backbone . .
Displaying Only the Backbone
Displaying the Side Chains .
Complementing a Subset . .
Rectangular Selection . . .
Spherical Selection . . . .
Naming a Selection . . . .
Selecting a Ring . . . . .
Selecting a Side Chain . . .
For More Information . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

99
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

Lesson 8 Working with Macromolecules
Skills Covered in This Lesson. . . . .
Reading a Brookhaven PDB Format File .
Opening the PDB file . . . . . . .
Removing the Water Molecules .
Displaying the Structure . . . . . .
Displaying the Primary Structure.
Displaying the Side Chains . .
Displaying the Alpha Helix . .
Displaying the Disulfide Bridges. . . .
Selecting the Ring Structure . . . . .
Displaying Hydrogen Bonds . . . . .
Site-specific Mutagenesis . . . . . .
Rotating a Side Chain . . . . . . .
For More Information . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 99
. 99
. 100
. 102
. 104
. 104
. 105
. 106
. 107
. 108
. 110
. 111
. 111
. 112

113
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 113
. 113
. 114
. 115
. 116
. 116
. 117
. 118
. 119
. 121
. 122
. 123
. 124
. 126

Tutorial 2 HyperChem Calculations

127

Lesson 9 Minimizing the Energy of a System

129

Skills Covered in This Lesson.
Keeping a Log File .
Choosing the Force Field . .
Building Chair Cyclohexane .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Table of Contents

.
.
.
.

.
.
.
.

. 129
. 130
. 130
. 132
vii

Measuring Structural Properties of
Chair Cyclohexane . . . . . . . .
Performing a Single Point Calculation . . .
Entering Comments in the Log File . . . .
Optimizing the Structure . . . . . . .
Setting Optimization Variables . . .
Running the Calculation . . . .
Measuring Properties of the Minimized System
Transforming from Chair to Boat Cyclohexane
Measuring the Axial Hydrogens . . . . .
Optimizing the Boat Cyclohexane . . . .
Remeasuring the Axial Hydrogens . . . .
Creating Twist Boat Cyclohexane. . . . .
Optimizing Twist Boat Cyclohexane . . . .
Analyzing the Results . . . . . . . .
Stopping the Log File . . . . . . . .
Practice Exercises . . . . . . . . . .
For More Information . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

133
134
134
135
135
136
136
137
139
140
141
141
143
143
144
145
145

Lesson 10 Simulating Dynamic and Equilibrium Behavior 147
Skills Covered in This Lesson . . . . . . . . . .
Exercise 1: Creating the Isolated Alanine Zwitterion . . .
Sketching the Alanine Zwitterion . . . . . .
Editing the Structure . . . . . . . . . .
Assigning Atomic Charges . . . . . . . .
Choosing the Force Field . . . . . . . .
Building and Exploring the 3D Structure . . .
Performing a Single Point Calculation . . . .
Optimizing the Isolated Molecule . . . . . .
Saving the Structure . . . . . . . . . .
Exercise 2: Solvating the Structure . . . . . . . .
Setting up Periodic Boundary Conditions . . .
Specifying the Periodic Box Size . . .
Displaying the Solvated System . . . . . .
Adjusting Cutoffs and Dielectric Options
Optimizing the Solvated Molecule . . . . .
Exercise 3: Using Superposition . . . . . . . . .
Deleting the Water Molecules . . . . . . .
Merging the Two Systems . . . . . . . .
Superposing Molecules . . . . . . . . .
Exercise 4: Simulated Annealing . . . . . . . . .
Setting up Playback Dynamics . . . . . . .
viii

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

147
148
148
149
151
152
153
155
156
157
158
159
159
160
161
162
163
163
165
166
168
170

Setting up Averaging from Molecular Dynamics .
Proceeding with Dynamics . . . . . . .
Reoptimizing the New Structure. . . . . . . . .
Exercise 5: Langevin and Monte Carlo Simulations. . .
Part 1: Langevin Dynamics . . . . . . .
Part 2: Monte Carlo Simulation . . . . . .
To set up the Monte Carlo simulation: .
Setting up Monte Carlo Playback . . .
Setting up Averaging from Monte Carlo.
Proceeding with Simulation and Analysis
Advanced Exercises . . . . . . . . . . . . .
For More Information . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Lesson 11 Molecular Orbital Calculations
Skills Covered in This Lesson. . . .
Creating the Water Molecule . . . .
Using Structure Alignment . . . .
Displaying Atomic Charges . . . .
Calculating a Wave Function. . . .
Plotting the Electrostatic Potential . .
Plotting the Total Charge Density . .
Plotting the Total Spin Density . . .
Plotting Individual Molecular Orbitals.
Saving the Molecule . . . . . .
Advanced Exercises . . . . . . .
For More Information . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

179
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Lesson 12 Interaction of Water with N-methylacetamide
Skills Covered in This Lesson. . . .
Creating the NMA Molecule . . . .
Changing from cis- to trans-NMA . .
Optimizing the NMA Structure . . .
Calculating Atomic Charges . . . .
Solvating the Carboxyl Group . . .
Merging Two Structures . .
Moving the Water Molecule .
Optimizing a Subset of the System . .
Recomputing Hydrogen Bonds . . .
Characterizing the Interacting System .
Advanced Exercises . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

. 171
. 173
. 174
. 174
. 174
. 175
. 175
. 176
. 176
. 177
. 177
. 177

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.

. 179
. 179
. 180
. 182
. 182
. 184
. 188
. 189
. 189
. 196
. 196
. 196

197
.
.
.
.
.
.
.
.
.
.
.
.

. 197
. 197
. 199
. 201
. 202
. 203
. 203
. 204
. 205
. 206
. 206
. 207

ix

Lesson 13 Electronic Properties of Proteins
Skills Covered in This Lesson . . . .
Before You Begin . . . . . . . .
Reading In and Displaying the Molecule
Choosing the Area of Interest . . . .
Choosing a Classical-quantum Boundary
Calculating a Wave Function . . . .
Using the Results in Other Calculations.
Practice Exercises . . . . . . . .
For More Information . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

209
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

Tutorial 3 Ab Initio Calculations

219

Lesson 14 Protonation of Water

221

Skills Covered in This Lesson .
Setup Drawing. . . . . .
Creating H3O+ . . . . .
Choosing a Basis Set . . . .
Minimum Energy Structure .
Protonation Energy . . . .
Practical Exercises. . . . .
For More Information . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

Lesson 15 Vibrations and Transition States of Ammonia
Skills Covered in This Lesson . . . . . . . .
Creating Ammonia . . . . . . . . . . .
Choosing a Basis Set . . . . . . . . . . .
Vibrational Analysis on Pyramidal Ammonia . . .
Optimizing Planar Ammonia . . . . . . . .
Vibrational Analysis on Planar Ammonia . . . .
Finding a Transition State by Eigenvector Following .
Finding a Transition State by Synchronous Transit .
Practical Exercises. . . . . . . . . . . .
For More Information . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

Skills Covered in This Lesson .

Table of Contents

.

.

.

.

.

.

.

.

.

.

.

221
221
222
223
224
224
225
226

227
.
.
.
.
.
.
.
.
.
.

Lesson 16 Lowest Excited Electronic State of Ethylene

x

209
210
210
211
213
214
217
217
218

227
227
228
229
231
232
234
235
239
240

241
.

.

241

Optimizing the Ground State of Ethylene. .
Orbitals of Ground State Ethylene . . . .
CI and the Electronic Spectrum of Ethylene .
Geometry and Energy of Triplet Ethylene . .
Practical Exercises . . . . . . . . .
For More Information . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

. 241
. 242
. 244
. 246
. 248
. 248

Tutorial 4 HyperChem & DDE

251

Lesson 17 Driving HyperChem from Excel

253

Skills Covered in This Lesson. . . . . . . .
Lesson Requirements . . . . . . . . . .
Exercise 1: Calculations on Sets of Molecules . .
Opening HyperChem and Excel . . . .
Setting up the Computation . . . . .
Running the Macro . . . . . . . .
Graphing the Results . . . . . . .
Exercise 2: Manipulating Molecules with Excel . .
Modifying the Macro . . . . . . .
Running the Macro . . . . . . . .
Exercise 3: Plotting Energy vs. Torsion Angle. . .
Creating the Hydrogen Peroxide Molecule
Modifying the Macro . . . . . . .
Creating a Worksheet . . . . . . .
Setting up the Computation . . . . .
Running the Macro . . . . . . . .
Graphing the Results . . . . . . .
For More Information . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Lesson 18 Driving HyperChem from Visual Basic
Skills Covered in This Lesson. . . .
Lesson Requirements . . . . . .
Opening HyperChem and Visual BasicCreating a Form . . . . . . . .
Customizing the Interface . . . .
Entering Visual Basic Code . . . .
Creating the Executable File . . . .
Saving the Visual Basic Files . . . .
Adding test.exe to the Start... menu .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

. 253
. 254
. 254
. 255
. 256
. 258
. 259
. 260
. 260
. 262
. 263
. 263
. 263
. 264
. 266
. 266
. 266
. 267

269
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

. 269
. 269
. 269
. 270
. 272
. 273
. 275
. 275
. 276

xi

Creating Other Programs
For More Information .

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

Tutorial 5 Some Newer Capabilities

277

Lesson 19 DFT Polarizability of H2

279

Skills Covered in This Lesson . . . . . . .
Creating H2 . . . . . . . . . . . .
Choosing an Exchange-Correlation Potential . .
Single Point DFT Calculations in an Electric Field
Polarizability Tensor Calculations . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

Lesson 20 Annotations
Skills Covered in This Lesson .
Create a Molecular System . .
Rectangle Annotations . . .
Line Annotations . . . . .
Text Annotations . . . . .
Saving Annotations . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Skills Covered in This Lesson . . . .
Default CNDO/INDO Parameters . . .
Inspecting TNDO Parameters . . . .
Copying TNDO Parameters to a New Set
Editing TNDO Parameters . . . . .

Index

279
279
280
284
285

287
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Lesson 21 TNDO Parameter Files

xii

276
276

287
287
288
292
293
297

299
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

299
299
301
302
302

305

Introduction
Welcome to HyperChem®, the molecular modeling andsimulation software that lets you perform complex chemical
calculations on your desktop computer. HyperChem comes withfive manuals: Getting Started, Reference Volumes 1 & 2, Modules,
CDK, and Computational Chemistry.
Getting Started contains the following parts:•

Chapter 1, “Installing HyperChem,” contains information on
installation procedures, system requirements, starting HyperChem, and product support.

•

Chapter 2, “Learning HyperChem,” contains four tutorials. The
first tutorial introduces the HyperChem interface and menu
system; the second focuses on chemical calculations; the third
focuses on ab initio quantum mechanical calculations; thefourth gives instruction in communicating with HyperChem
from other software.

•

An index, which covers the topics discussed in Learning HyperChem.

Reference contains the following parts:•“Reference,” which discusses HyperChem features and generalprocedures. Use this manual to find in-depth information on
any topic except those described in the Modules manual.

•

A comprehensive glossary, which lists important terms andconcepts used in the HyperChem documentation.

•

A master index, which covers Getting Started, Reference, Modules, CDK, and Computational Chemistry.

Modules contains the following parts:

1•“HyperChem Data,” which discusses a module for performing
database operation with HyperChem. Use this part to find out
about retrieving and storing molecules and results from HyperChem in a database.

•“HyperNMR,” which discusses a module for calculating NMR
parameters and spectra. Use this part to find out about calculating chemical shifts and coupling constants or simulating a
one-dimensional NMR spectra.

Chemist’s Developer Kit (CDK) contains the following parts:•“Customizing HyperChem,” which discusses how you can use
your own menus and scripts to customize your use of HyperChem.

•“Interfacing to HyperChem”, which shows you how to haveother programs such as Word or Excel or programs written in
C++, Visual Basic, etc. communicate with HyperChem to avail
themselves of HyperChem functionality.

Computational Chemistry contains the following parts:•

The Practical Guide gives you an overview and introduction to
the calculations you can run with HyperChem.

•

Theory and Methods is a technical reference, giving you detailed
information on the specific implementation of calculations inHyperChem. You can find information here on customizing
HyperChem.

•

An index, which covers the topics discussed in Computational
Chemistry.

HyperChem’s standard manual set also includes on-line documentation. Use the HyperChem On-Line Help to give you quick accessto information as you work in HyperChem.
Readme.txt contains information on late developments notincluded in the printed manuals.

2

Introduction

Introduction

Chapter 1
Installing HyperChem
Introduction
This chapter contains information on the following:•

System Requirements•

Registering HyperChem•

Licensing Options•

Software-Licensed Standalone Installation

•

•

•

•

How the Software-License Works•

Installation Instructions

Software-Licensed Network Installation•

Installation Instructions•

Network Version

Hardware-Licensed Standalone Installation•

How the Hardware Lock Works•

Before Installing the Hardware Lock•

Installation Instructions•

Installing the Hardware Lock•

Converting a Hardware Lock to a Software Lock

Hardware-Licensed Network Installation•

Installing the Network License Server Software•

Evaluation Installation•

Windows NT, 2000 or XP Professional Issues•

Technical Support
Installing HyperChem

3

System Requirements

Readme File
After you install HyperChem, be sure to read the readme.txt file.
The readme.txt file contains information on late developmentsthat are not be included in the HyperChem documentation set.
To access the readme.txt file, open the HyperChem Release 7 folder
on the Windows Start Menu and choose Readme.

System Requirements
Required Hardware and Software
The following are required to run HyperChem:

Operating System Software
Microsoft Windows 95, 98, ME, NT4 SP4, 2000, or Windows XP
should be installed on your computer.

Computer
An IBM compatible PC with an Intel Pentium II or compatible
CPU (or appropriate emulator such as Virtual PC).

MemoryHyperChem requires a minimum of 32Mb of RAM. It is recommended that you have 128Mb or more of RAM for better performance.

Storage/Disk space
The full installation of HyperChem requires about 150 Mb of disk
space. The minumal installation requires about 52 MB. Additional
disk space will be required depending on the computational runtime requirements.

CD-ROM
A CD-ROM or compatible DVD device is required to install theHyperChem software.

4

Chapter 1

Registering HyperChem

DisplayHyperChem recommends video displays capable of at least 1024 x
768 resolution at High Color (16 bit depth). The minimul display
capablilites supported are 640 x 480 resolution at 8 bit, 256 color
depth. It is recommended that you use more than 256 colors.
Visualization of the "Save As HTML" pages created by HyperChem
and the Raytrace feature require High Color (16 bit depth).

Pointing Devices
A Microsoft mouse or other pointing device compatible with
Microsoft Windows is required.

Optional Hardware
You can use the Microsoft Windows settings to add and choose a
printer if you want to print the molecular images created with
HyperChem.

Registering HyperChem
Your HyperChem package includes a license agreement that you
should read carefully. It explains our obligations to you, and yours
to us. After reading the agreement, fill out the registration card andmail it back to us.

Licensing Options
The unified product CD-ROM offers a variety of licensing options
that must be specified during the installation of the productaccording to the type of license you have received from Hypercube, Inc.
•

Software-licensed standalone installation•

Software-licensed network installation•

Hardware-licensed stand-alone installation•

Hardware-licensed network installation•

Evaluation installation
Installing HyperChem

5

Software-Licensed Standalone Installation

Software-Licensed Standalone Installation
The standalone software-licensed installation option allows
HyperChem to function on a single computer using a locking
mechanism that is specific to one unique system. If the software
is moved or reinstalled on a different computer, HyperChem will
not work. The purchase of a standalone software-locked version
requires the user to contact Hypercube for a license code during
installation.
For users wishing to install a single license of HyperChem on a single computer, the software-licensed standalone version of HyperChem is the recommended choice.

How the Software-License Works
The software license is a device that locks the HyperChem softwareto the hardware of the PC to which it is licensed.
A locking code based on the computer hardware is generated byHyperChem during every execution. HyperChem will then compare the locking code with the currently installed license. If nolicense has been installed, a Client Activator application will startand prompt the user to license the software. The Client Activator
application will display the Locking Code to the user and allow theuser to open a file containing the license.
If HyperChem has already been licensed, but the current locking
code does not correspond to the license, the Client Activator application will start and display the new Locking Code. This indicatesthat the hardware environment has changed and the user must
relicense HyperChem. The user then shouild contact Hypercube,
Inc. via email at license@hyper.com, to request an initial license or
license transfer. Any change to a computer that affects the Locking
Code requires that the user relicense and submit a License Transfer
Agreement (LTA).
Hypercube, Inc. will generate a license key based on the locking
code and other information and send an email to the user with thelicense key attached. The user will then start the Client Activatoragain and supply the license key. When HyperChem confirmsthat the current Locking Code corresponds to the license installed,
HyperChem will execute normally.

6

Chapter 1

Software-Licensed Standalone Installation

Installation Instructions
Standalone installation is carried out as follows:
1. Install the software-locked standalone version of HyperChem
on your local PC.
2. Learn the locking codes (fingerprint of your local PC) of our
local PC by either trying to execute HyperChem or by runningthe echoid.exe program included with your installation.
3. E-mail license@hyper.com with your HyperChem serial number and the locking codes generated in the previous step.
4. Hypercube, Inc. will e-mail back to you the license key (as afile) that will unlock your software. Place this file (license.lic)
in an appropriate place on your PC such as in the HyperChem
Program folder.
5. Try executing HyperChem again. This time open thelicense.lic file at the appropriate time as requested to permanently install your license. From then on, your local copy ofHyperChem will run as long as the license.lic file remains inthe specified folder.

Licensing HyperChem
When licensing HyperChem for the first time, execute HyperChem from the Start Menu. The Client Activator will start andpresent the option to Activate Now. Select this option to display
the locking code. Send an email message to license@hyper.com
with the following information:
•
•
•
•
•
•
•
•

Name
Email address
Postal Address
Telephone number
Fax number
Serial Number
Locking code
Name of dealer where purchased

Installing HyperChem

7

Software-Licensed Network Installation

Alternately, you may also visit www.hyper.com/support/licensing
to request a license.

Installing the license key
Once you receive the license key by e-mail, save it as a file on thehard disk. Run HyperChem. If the the screen prompts you to ‘Activate Now’, click on the Activate Now button. The next screen will
display the lock code and an empty text box with the icon of afolder next to it. Click on the folder icon. This will allow you tobrowse the files on your current drive, navigate to the folder where
you saved the license file and click on the name of the license fileand then on the OK button. The license key will be displayed in
the text box. Click on the Next button and finish the procedure.
This will install the license on your computer, allowing HyperChem to run.

Software-Licensed Network Installation
The installation of the soft key version of HyperChem 7 for Networks is a three stage process. The first stage requires the installation of the license server software, SentinelLM. The second stage is
obtaining and installing a license key to activate the product. The
third stage is installation of HyperChem 7 on client machines.
Note: Before you begin, please make sure that the network configuration necessary for the License Manager to function correctly is
installed.

First, verify that the TCP/IP protocol is installed on the network
server and client workstations. Also make sure that for Windows
95, 98 and ME computers the 'Client for Microsoft Networks' isinstalled and bound to the TCP/IP protocol. If not, contact Hypercube, Inc. to verify a custom set of protocols.
Also, if HyperChem clients are to be used from outside the local
subnet of the license server, please verify that the names of thecomputer to be used as a license server and all the clients havecomputer names that are properly resolved into IP addresses. If
you are using the Domain Name System (DNS) to issue permanent
IP addresses, the DNS server will also provide name resolution.
However, networks using the Dynamic Host Configuration Protocol (DHCP) to issue temporary IP addresses may use several methods for name resolution. For further details concerning name res8

Chapter 1

Software-Licensed Network Installation

olution, please consult the Name Resolution Overview page at
www.hyper.com/support/TechPub.

Installation Instructions
1. Install the Sentinel License Manager SoftwareOn the computer which is to act as a license key server, insert theHyperChem 7 CD to start the Setup program. If the initial install
screen does not appear, start the Setup program by double clicking
on the 'setup.exe' filename or the setup icon from the CD.
Proceed, following the on-screen instructions. Select to install the'Purchased Product' for product type and 'Networked' for license
type. Then select to install the 'Network License Server' and select'Software-locked' for the license server type.
After entering your registration and dealer information, you will
be presented with a choice for the destination folder. Choose aname for the License server directory (e.g. C:\Hyper7_Server) andclick Finish. This will install the SentinelLM software components
on the target machine. Once this step is completed, the setup program will exit. (This document assumes that C:\Hyper7_Server isthe folder to which the license server application is installed fromthis point forward.)
Using a file browser open the license server folder(C:\Hyper7_Server). You will find folders named 'Admin' and'Server'. The 'Admin' folder contains utilities for the network
administrator to install the licence and maintain the license server
and the 'Server' folder contains the server application.

2. Fingerprinting the Computer and Obtaining a License
Key
Please make sure that the IP address and Hostname of the License
server are permanent. Run the 'echoid.exe' program contained in
the License server folder (usually 'C:\Hyper7_Server\admin'). This
program generates two locking codes. Please note these locking
codes and send them to license@hyper.com along with the following information:••

Contact name
Email address

Installing HyperChem

9

Software-Licensed Network Installation

•
•
•
•
•
•
•
•

Postal address
Telephone number
Fax number
Name of dealer where purchased
Serial number
Locking code
Number of network licenses purchased
A list of IP subnets (maximum of 7) from which the clientcomputers will access the license server.

On receipt of this information, Hypercube, Inc. will generate alicense key and send it to you via e-mail. When you receive theemail containing the license file, copy the attached file to a safe
location on your computer, and install the license following thesteps here.
A. Start the License Manager Service
To install and start the license server under Windows NT, 2000 orXP, execute "loadls.exe" from license server folder (usually'C:\Hyper7_Server\server\winnt'). This utility will prompt you forthe location of the 'lservnt.exe' server file. Click "Add" to installand start the SentinelLM service.
To start the license server under Windows 95, 98 or ME, first startthe 'MS-DOS Prompt' and change to the license server folder (usually 'C:\Hyper7_Server\server\win9x'). Then execute 'lserv9x.exe'
to start the server.
B. Install the license
At the command prompt change to the License Manager administration tools folder (usually 'C:\Hyper7_Server\admin'). Theninstall the license by typing 'lslic -F licensefile.lic' where 'licensefile.lic' is the license file you received from Hypercube, Inc. (Be sure
to type a capital letter for the -F command.)C. Confirm the installation
Two utilities are provided for querying the License Manager Software to confirm the proper installation of the license. A graphicalprogram, "wlmadmin.exe" will scan the subnet for SentinelLM
servers and return the number of licenses installed, current usage,and other diagnostic information. A command-line utility,’lsmon.exe’ gives similar information. These utilities are installed

10

Chapter 1

Software-Licensed Network Installationon the license server computer, typically in the"C:\Hyper7_Server\admin" folder, and on the client computers,
typically in the "C:\Hyper7\admin" folder. Both the client andserver should show the HyperChem Product and the number oflicenses available.
If the client computer does not show available licenses issued by
the server, then the broadcast method used by the License Manager may not work. You will need to include the LSHOST or
LSFORCEHOST environment variable on the client computer todirect HyperChem to the location of the server.
Important: If a router (gateway) is present between the license
server computer and the HyperChem clients, the licensing mechanism will not be able to use the broadcast method of locating thelicense server. Other network equipment may also block broadcast
calls. If this is the case, make sure that the name resolution is possible between the two subnets. For further information, contact
Hypercube, Inc. Technical Support.

For further information on the Rainbow Technologies LicenseManager administration tools, please consult the accompanying
SentinelLM System Administrator's Guide (lmsa61.pdf). Use
Adobe Acrobat Reader to view the Guide.

3. Installing HyperChem 7 on Client machines
1. Place the HyperChem 7 CD in your CD-ROM drive
2. If the Windows Autorun feature is turned on, the installation
options will be displayed automatically. If the installation
options do not appear, open the Windows Start Menu andchoose Run. The Run dialog box opens.
3. Enter the following command in the open text box (assuming
D is your CD-ROM drive):
D:setup
4. Choose OK. The HyperChem setup program initializes and theHyperChem setup dialog box opens.
5. Follow the on screen instructions for product choice andinstallation.
The HyperChem setup program will detect an existing HyperChem installation and offer you the choice of uninstalling or keeping the older version of the program.
Installing HyperChem

11

Hardware-Licensed Standalone Installation

On each of the client machines install HyperChem from theHyperChem 7 CD following the on screen instructions. Select toinstall the 'Purchased Product' for product type and 'Networked'
for license type. Then select 'HyperChem client' component and'From Software locked Server'. Select the type of install: Typical,
Minimal or Custom. Choose the folder into which you want toinstall HyperChem (the default is C:\Hyper7). Click finish to proceed with the installation. After the installation is done setting up
HyperChem, installations for POV-Ray and Acrobat Reader will
follow.
Note: The license server components should not be installed on
the client machines.

Once the license server is activated with the proper license key,
HyperChem can be used from any of the client machines. If thelicense key server is not on the same subnet as the client machines,
acquiring a license by the client machine can be done by any of
the following methods:
A. Set the LSHOST Environment Variable to the IP address of thelicense server.
On a Windows 95, 98 or ME client, set the environment variable
by including the line 'SET LSHOST=<IP address of server>' in theautoexec.bat file of the client computer. You will need to restart
the computer before this change will go into effect.
On a Windows NT, 2000 or XP client set the environment variable
by selecting 'Properties' from My Computer and selecting the'Advanced' tab. Click on 'Environment Variables...' and then click
New under 'User variables.' The variable name should be LSHOST
and the value is the IP address of the license server computer.
B. Alternatively, create a file named "LSHOST", containing the IP
address or hostname of the license server machine. Place this filein the directory containing HyperChem program executables.
Start HyperChem by selecting the icon from the Start Menu.

Hardware-Licensed Standalone Installation
If your copy of HyperChem is a hardware locked copy, you willfind a small device with an electrical connector at each end,
enclosed with your HyperChem manuals and disks. This device isa hardware lock and is also known as a dongle. HyperChem
12

Chapter 1

Hardware-Licensed Standalone Installation

requires the hardware lock to be connected to the parallel or USB
port of your computer for normal operation.

How the Hardware Lock Works
The hardware lock is a copy protection device supplied with
HyperChem. HyperChem interrogates the hardware lock to verify
its presence. The hardware lock should not affect any program
except HyperChem, nor should it affect any peripheral devices
connected to the same parallel interface port or other USB ports.
You do not need to remove the hardware lock to run other programs.
Important: The parallel port hardware lock works on the assumption that the parallel interface is a resource that can be shared bymultiple devices. However, some new peripheral devices, and theirsupport software, work on the assumption that the port should not
be shared with other devices. If you have such a peripheral (examples include some printers and backup devices), its software maycomplain because HyperChem is already using the port; if thatperipheral is connected first, it may not allow HyperChem to communicate with the hardware lock. If this happens, you may needto add another parallel port to your computer so that your peripheral device does not need to share a port with other software andhardware, or you might use a sofware-locked version or network
version of HyperChem or network version of the peripheral so that
another port is not needed. Otherwise, you may need to disable
the device’s driver while you use HyperChem so that it is not trying to take control over the port.

Before Installing the Hardware Lock
Types of Standalone Hardware Locks
The hardware locks are available for either the parallel port or USB
ports. The locks work identically and either one may be used. The
hardware lock requires the Sentinel System Driver version 5.39.2
or later from Rainbow Technologies to function properly with
HyperChem. This driver is installed during the Standalone, Hardware-Licensed HyperChem installation.

Installing HyperChem

13

Hardware-Licensed Standalone Installation

Replacing the Hardware Lock
Only one hardware lock comes with a HyperChem package. If thedevice is lost, stolen or destroyed, you must buy another copyof HyperChem to replace it. We suggest that you insure thedevice for its replacement cost: the full price of your HyperChem
package.
If your hardware lock is damaged or fails in service, contact yourHyperChem dealer. You must return the original lock to receive a
replacement.
Caution: The computer, peripheral devices or hardware lock may
be damaged when parallel port devices are connected or disconnected while the computer is running.

•

Always turn off the computer and peripheral devices before
installing or removing the hardware lock.

•Do not connect or disconnect a peripheral device when thecomputer is running. If the peripheral is disconnected during
operation, low voltages and signals passing through the parallel or USB port interface could damage your computer, peripheral devices, data or lock.

•Do not turn a peripheral device on or off while it is connected
to your computer; this can cause a hardware lock failure.

Installation Instructions
Important: Make sure that the hardware lock is not present on theparallel port or USB port while installing HyperChem. Also, if you
are updating the hardware lock driver, called the Sentinel System
Driver, make sure to remove the hardware lock. The driver installation may cause the hardware lock to become damaged.

1. Insert the HyperChem 7 CD into a CD or compatible drive.
2. If the Windows Autorun feature is enabled, the installation
options will be displayed automatically. If the installation
options do not appear, open the Windows Start Menu andchoose Run. The Run dialog box opens.
3. Enter the following command in the open text box:
D:setup

14

Chapter 1

Hardware-Licensed Standalone Installation

4. Choose OK. The HyperChem setup program initializes and theHyperChem installation options are displayed.
5. Choose HyperChem Installation and follow the on screen
instructions for product choice and installation type. You
must select the Standalone, Hardware-licensed version ofHyperChem.
On Windows 95, 98 and ME, the installation will require the computer to be rebooted. The hardware lock drivers will be installed
when Windows is restarted. On Windows NT, 2000 and XP, theinstallation proceeds without rebooting the computer. The hardware lock may be installed after the HyperChem installation iscomplete.

Installing the Hardware LockTo install the parallel port hardware lock, follow these steps:
1. Make sure that HyperChem is completely installed before
installing the hardware lock. Remember to restart the computer to ensure the Sentinel System Driver is correctly installedon Windows 95, 98 and ME.
2. Shut down the computer and be sure to turn off the computerand all peripheral devices (e.g. printer, etc.).
3. Attach the female computer connector of the hardware lock(at the end labeled “Computer”) to your computer’s parallel
port connector.
Note: If your parallel port connectors are full, disconnect one ofthe peripheral devices, and connect the hardware lock to the open
parallel port. Next, reconnect the disconnected peripheral device
at the female end of the hardware lock, If you like, you can connect the hardware lock in-line with any device connected to theparallel port on your computer (printer, plotter, etc.)

To install the USB port hardware lock, follow these steps:
1. Make sure that HyperChem is completely installed before
installing the hardware lock. Remember to restart the computer to ensure the Sentinel System Driver is correctly installedon Windows 95, 98 and ME.

Installing HyperChem

15

Hardware-Licensed Network Installation

2. Attach the USB lock to your computer’s USB port connector.
The hardware lock should be recognized as a Sentinel SuperProdevice.

Converting a Hardware Lock to a Software LockIn the event that you wish to convert your stand-alone hardware
locked version of HyperChem to a software locked version, you
should contact our sales department for pricing and arrange tohave the hardware lock returned in exchange for a single software
lock. You will need to generate the machine code by running the
Hclicense.exe program located in the License sub-folder of theHyperChem folder. E-mail the machine code and the HyperChem
serial number to license@hyper.com. On receipt of the hardware
lock, a license key will be e-mailed back to you to activate HyperChem.

Hardware-Licensed Network Installation
The hardware-licensed version of HyperChem for Networks uses a
hardware lock to authenticate HyperChem running on client computers. The hardware lock is a physical device, placed on either theparallel port or USB port of any Windows or Novell NetWare.
The hardware-licensed version of HyperChem for Networks isavailable with 1, 2, 3, 5, 10, 25 and unlimited licenses. This version requires the installation of the Sentinel System Driver andSuperPro Server software on the license server computer. HyperChem 7 on client machines also must have the Sentinel System
Driver installed to be able to access the hardware lock.
Note: If using a Windows PC as a license server, verify that the
TCP/IP protocol is installed on the network server and client workstations. If installing on a Novell Netware license server, only the
IPX/SPX protocol is supported.

Also, if HyperChem clients are to be used from outside the local
subnet of the license server or through a router (gateway), pleasecontact Hypercube, Inc. Technical Support "support@hyper.com"
for specific installation instructions.

16

Chapter 1

Hardware-Licensed Network Installation

Installation Instructions
1. Install the SuperPro Server Software
A. Install the SuperPro Server softwareOn the computer which is to act as a license key server, insert theHyperChem 7 CD to start the Setup program. If the initial install
screen does not appear, start the Setup program by double clicking
on the 'setup.exe' filename or the setup icon from the CD.
Proceed, following the on-screen instructions. Select to install the'Purchased Product' for product type and 'Networked' for license
type. Then select to install the 'Network License Server' and select'Hardware-licensed' for the license server type.
After entering your registration and dealer information, you will
be presented with a choice for the destination folder. Choose aname for the License server directory (e.g. C:\Hyper7_Server) andclick Finish. This will install the Sentinel System Driver and theSuperPro Server application. (This document assumes that
C:\Hyper7_Server is the folder to which the license server application is installed from this point forward.)
Important: Make sure that the Sentinel System Driver is completely
installed before attaching the parallel port or USB port hardware
lock. Damage to the hardware lock is possible if the lock is present
during the driver installation. Rebooting the computer will be
required on Windows 95, 98 and ME, to install the Sentinel System
Driver. Also, if you are updating the Sentinel System Driver, makesure to remove the hardware lock.

B. Installing the Hardware lock
When installing the parallel port hardware lock, you should shut
down the server and all parallel port devices. Place the hardware
lock on the license server computer and restart the system. The
USB hardware lock may be installed while the system is running.
C. Start the SuperPro Server
To install and start the license server under Windows NT, 2000 orXP, execute ’loadlserv.exe’ from license server folder (usually'C:\Hyper7_Server\server\winnt'). This utility will prompt you forthe location of the 'lservnt.exe' server file. Click "Install Service" toinstall and start the SentinelLM service.

Installing HyperChem

17

Hardware-Licensed Network Installation

To start the license server under Windows 95, 98 or ME, first startthe 'MS-DOS Prompt' and change to the license server folder (usually 'C:\Hyper7_Server\server\win9x'). Then execute'spnsrv9x.exe' to start the server.
D. Confirm the installation
A monitor utility is provided to query the SuperPro Server for current license usage. The utility will scan the subnet and report the
number of licenses that are installed and in use on all runningservers in the subnet.
Important: If a router (gateway) is present between the license
server computer and the HyperChem clients, the licensing mechanism will not be able to use the broadcast method of locating thelicense server. Other network equipment may also block broadcast
calls. If this is the case, make sure that the name resolution is possible between the two subnets. For further information, contact
Hypercube, Inc. Technical Support "support@hyper.com".

For further information on the Rainbow Technologies SuperPro
server and monitor utility, please consult the accompanying Sentinel SuperPro System Administrator's Guide (SentinelSP Sys
Admin Guide.pdf). Use Adobe Acrobat Reader to view the Guide.

3. Installing HyperChem 7 on Client machines
1. Place the HyperChem 7 CD in your CD-ROM drive
2. If the Windows Autorun feature is turned on, the installation
options will be displayed automatically. If the installation
options do not appear, open the Windows Start Menu andchoose Run. The Run dialog box opens.
3. Enter the following command in the open text box:
D:setup
4. Choose OK. The HyperChem setup program initializes and theHyperChem setup dialog box opens.
5. Follow the on screen instructions for product choice andinstallation.
The HyperChem setup program will detect any existing HyperChem installation and offer you the choice of uninstalling or keeping the older version of the program.

18

Chapter 1

Evaluation Installation

On each of the client machines install HyperChem from theHyperChem 7 CD following the on screen instructions. Select toinstall the 'Purchased Product' for product type and 'Networked'
for license type. Then select 'HyperChem client' component and'From a Hardware-licensed Server'. Select the type of install, Typical, Minimal or Custom. Choose the folder into which you want
to install HyperChem (the default is C:\Hyper7). Click finish toproceed with the installation. After the installation is done setting
up HyperChem, installations for POV-Ray and Acrobat Reader will
follow.
Note: The license server components should not be installed on
the client machines.

Once the license server is activated with the proper hardware lock,
HyperChem can be used from any of the client machines. To
direct HyperChem to a specific server and negating the use ofbroadcast calls to locate a license, set the environment variable,
NSP_HOST, to the IP address of the license server as follows:
On a Windows 95, 98 or ME client, set the environment variable
by including the line 'SET NSP_HOST=<IP address of server>' in theautoexec.bat file of the client computer. You will need to restart
the computer before this change will go into effect.
On a Windows NT, 2000 or XP client set the environment variable
by selecting 'Properties' from My Computer and selecting the'Advanced' tab. Click on 'Environment Variables...' and then click
New under 'User variables.' The variable name should be
NSP_HOST and the value is the IP address of the license server
computer.
Start HyperChem by selecting the icon from the Start Menu.

Evaluation Installation
A special evaluation option is available for those users who wish to
run HyperChem for a before purchasing the software. The Evaluation is a fully functional version of HyperChem that contains afree time-limited license. This option is intended for product evaluation, and will expire after the evaluation period is over. After
expiration, HyperChem will no longer function. The setup screen
will guide you through the evaluation version installation.

Installing HyperChem

19

Windows NT, 2000 or XP Professional Issues

Windows NT, 2000 or XP Professional Issues
On the Windows NT, 2000 and XP operating systems, HyperChem
7 requires Administrator privileges for installation. Unless the user
has adequate privileges to modify system files, the user must log
off and log on as Administrator and install HyperChem.
Important: For any user that intends to use HyperChem, the HyperChem Registry settings must be set up. The HyperChem user Registry is set up by executing

D:\install\Hyper7\NewUser.exe
from the Run... dialog box from the Windows Start Menu, where
D: is the letter of your CD drive.

Technical Support
Obtaining Support from Your DealerYour HyperChem dealer is your main source for technical support– initially and as you continue to work with HyperChem. All
authorized dealers have access to Hypercube’s Scientific and Technical Support Staff and can consult with them for help in solving
any problems you have.
It’s your dealer’s responsibility to offer complete installation andconfiguration services. But getting HyperChem up and running isonly the beginning of your dealer’s commitment to your successwith HyperChem. You can also contract with your dealer for these
additional services: training, telephone and on-site support, andcustomizing HyperChem for your application.

Obtaining Support from Hypercube, Inc.
Before contacting your dealer, you can often save time by checking
some common causes of hardware and software problems. For
example, if you are having trouble with the distribution media,
find out if your device can read other media of the same kind.
If you are experiencing problems using HyperChem, please visit
the HyperCube, Inc. support web site at:www.hyper.com/support
20

Chapter 1

Technical Support

If you think that you have found a bug or error in the software, or
if you have suggestions for improvements or features that you
would like to see in it, please contact us by E-mail at
support@hyper.com
or by the routes for support described in the information in the
product package.

HyperChem Discussion GroupThe HyperChem Discussion Group is designed to encourage users
to share their experiences and ideas to improve their use of HyperChem. Information on scientific and technical issues, such as
Visual Basic tools, HyperChem structures, and product support,
can be posted to this group.
http://www.hyper.com/discussion

Installing HyperChem

21

Technical Support

22

Chapter 1

Chapter 2
Learning HyperChem
Introduction
This chapter outlines how HyperChem works; it has four mainparts:•

Tutorial 1, HyperChem Basics, introduces you to the HyperChem user interface and teaches you how to use the menus
and basic menu items for building and working with molecules.

•

Tutorial 2, HyperChem Calculations, focuses on chemical calculations. It provides step-by-step instructions for performing
single point calculations, optimization/minimization, andmolecular dynamics using both semi-empirical quantum
mechanics and molecular mechanics methods.

•

Tutorial 3, Ab Initio Calculations, focuses on ab initio quantum
mechanical calculations for performing single point calculations, geometry optimization, vibrational analysis, and electronic spectral calculations.

•

Tutorial 4, HyperChem and DDE, shows you how to create links
with other Windows applications using the Dynamic Data
Exchange (DDE) feature of Microsoft® Windows™.

Before You Begin
This chapter assumes that you know how to perform basic operations with your computer, such as starting applications fromMicrosoft Windows; sizing, moving, and scrolling through windows; and using menus.

23

Using On-line Help

Before you begin, make sure that the installation and configuration procedures in Chapter 1, “Installing HyperChem,” is complete.

Using On-line Help
Whenever you want more information about how to use HyperChem, you can access on-line help in the following ways:

24

Chapter 2•

L-click Help on the menu bar.

•L-click on the menu or menu item you want information on
and press [F1].

•

Press [Shift] + [F1] to get the Help cursor, and then L-click on thetool you want information on.

•

For most dialog box options, L-click on the option and thenpress [F1].

Tutorial 1
HyperChem Basics
Tutorial 1 introduces you to the HyperChem user interface anddiscusses using tools, menus, and menu items to build, edit, display, and manipulate molecules. Tutorial 1 has eight lessons, as
described in the following table:

LessonInformation covered

Time tocomplete

Getting Started

Opening HyperChem; introduction to the user interface;
opening and closing a file, andusing labels and molecularrenderings.

20 minutes

Basic Drawing
and Editing
Techniques

Drawing, selecting, copying,and deleting atoms and bonds.

10 minutes

Creating Small
Molecules in 2D
and 3D

Drawing and editing a 2D
sketch of a molecule and transforming it into a 3D model.

10 minutes

Translating,Rotating, andScaling Molecules

Using the tools in the tool bar tomove and manipulate molecular
structures.

10 minutes

Measuring
Structural
Properties

Measuring and adjusting thegeometry of molecular structures.

35 minutes

25

26

Tutorial 1

LessonInformation covered

Time tocomplete

Creating a
Polypeptide

Creating biopolymers using theamino acid and nucleic aciddatabases.

15 minutes

Selecting and
Displaying
Subsets

Using specific selection techniques to select subsets for
movement, display, calculation,
and analysis.

15 minutes

Working with
Macromolecules

Working with molecules fromthe Brookhaven Protein Data
Bank; performing site-specificmutagenesis.

35 minutes

Lesson 1
Getting Started
Skills Covered in This Lesson•

Starting HyperChem•

Using the mouse•

Identifying parts of the HyperChem window•

Using HyperChem menus•

Opening a file•Labeling a molecule•

Using molecular renderings•

Exiting HyperChem

Lesson 1 explains HyperChem basics. First you start the programand identify parts of the HyperChem window. Then you select andopen a file containing the atom types and coordinates for the 60carbon spherical molecule, buckminsterfullerene.

Starting HyperChem
To start HyperChem:
1. Click on the Start button, then Programs, then HyperChem
Release 7. You should see a green beaker icon labelled HyperChem Professional. Click on this item to start HyperChem.
Depending on the version of Windows you are using you may
also see the green beaker icon in other contexts.
The HyperChem window opens. Depending upon the versionof HyperChem you are using, the window may look slightly
different from that below. The differences are not important inthis context.
27

Parts of the HyperChem Window

Control-menu button

title barmaximize/restore button
minimize button

Exitbuttonmenu bar
tool icons

toolbar icons

windowborderworkspacemouse pointerstatus line

current calculation method

Parts of the HyperChem Window
Familiarize yourself with the different parts of the HyperChem
window. Each item is described in this section.

Title Bar
The title bar shows the name of the file you are working on. If you areworking on a file not previously saved, the name appears as untitled.

Menu Bar
The menu bar contains the names of the different HyperChem
menus: File, Edit, Build, Select, Display, Databases, Setup, Compute, Annotations, Cancel, Script, and Help.

Tool BarThe left side of the Tool bar contains the eight tools icons that you
use to draw, select, display, and move atoms and molecules. To the28

Lesson 1

Using the Mouseright are the four tool icons associated with annotations. To theright of this are the toolbar icons which provide shortcuts for operations such as reading and writing files, copying and pasting structures, and using the on-line help.

Workspace
The workspace is where HyperChem displays the current molecular system.

Status LineThe status line shows information such as the number of atoms inthe molecule that is currently displayed, the status of a calculation,or an energy or gradient value. When you choose a menu item, abrief description of the item appears in the status line.

Help
You use the Help menu to gain access to on-line help.

Control Menu Button
The Control menu contains commands to resize, move, maximize,and close the HyperChem window. It also contains the Switch
command, which lets you activate other windows.

Maximize/Minimize Buttons
This button expands a window to its maximum size. Some windows take up the entire screen when they’re maximized; others
change just slightly. You can restore a window to its original sizeby clicking the Maximize button again.

Using the Mouse
You communicate with HyperChem mostly by using the mouse, oranother pointing device that emulates a mouse. As you move themouse, the cursor in the window matches the movement. You

Getting Started

29

Using the Mouse

communicate with your computer by pressing a mouse button
while the cursor is in a particular area of the window.
The following terms describe using the mouse with HyperChem:
Point

Move (slide) the mouse so that the cursor points atwhat you want to select in the HyperChem window.

L-click

Press and release the left mouse button.

R-click

Press and release the right mouse button.
Generally, R-click has the opposite effect of L-click.

Double-click

Press and release the left mouse button twice,quickly.

L-drag or
R-dragHold down the left or right mouse button, andmove (slide) the cursor to a new position in theworkspace. Release the mouse button.

LR-drag

Press and hold down the left mouse button, thenthe right mouse button, and move the cursor to a
new position in the workspace. Release bothmouse buttons.

RL-drag

Same as LR-drag, but press the right mouse button
first.

The mouse cursor changes shape depending on where it is in thewindow and on what mode HyperChem is in.
To see how the HyperChem cursor changes:
1. Point to the Drawing tool and L-click.

2. Move the cursor to the workspace.
The cursor takes the shape of the Drawing tool.
3. Point to the Selection tool and L-click.

4. Move the cursor into the workspace.
It takes the shape of the Selection tool.
5. Move the cursor to the Select menu on the menu bar.

30

Lesson 1

Keyboard Alternatives

The cursor turns back into an arrow.
Later in this tutorial, you learn more about these and other cursor
shapes.

Keyboard Alternatives
HyperChem provides standard Windows keyboard alternatives tousing the mouse.
To open a menu using the keyboard alternative:
1. Hold down the [Alt] but[Alt]ton[D] and simultaneously press the[S] key.
The Select menu opens.

Each menu in the title bar has an underlined letter. When youpress the [Alt] button and this letter, the menu opens.
To close the menu:
1. Press the [Alt] or [Esc] key.
The Select menu closes.

Getting Started

31

Keyboard Shortcuts

To select a menu item:
1. Hold down the [Alt] button and simultaneously press the [S] key.
The Select menu opens. Each menu item in the menu has anunderlined letter.
2. Press [A].
This is the same as using the mouse to choose Atom on the
Select menu.
Note: The HyperChem Release 5 for Windows Reference Manual lists
keyboard alternatives.

Keyboard Shortcuts
HyperChem also has various keyboard shortcuts. Use the following shortcuts when you want to avoid using the equivalent menus
or menu items:

32

Lesson 1[Ctrl] + [N]Same as New on the File menu.

[Ctrl] + [O]Same as Open on the File menu.

[Ctrl] +[S]Same as Save on the File menu.

[Ctrl] + [X]Same as Cut on the Edit menu.

[Ctrl] + [C]Same as Copy on the Edit menu.

[Ctrl] + [V]Same as Paste on the Edit menu.

[Alt] + [F4]Same as Exit on the File menu

[Ctrl] + [D]Same as Delete on the Annotations menu.

[Ctrl] + [K]Same as Select Next on the Annotations menu.

[Ctrl] + [L]Same as Select Previous on the Annotations menu.

[Ctrl] + [F]Same as Move Forward on the Annotations menu.

[Ctrl] + [B]Same as Move Backward on the Annotations menu.

[Spacebar]

Pressing the space bar is the same as using Scale toFit on the Display menu. This menu item centersand scales the molecule or selected items in theworkspace.

F [F2]

Same as Last Rendering on Display menu.

Opening a Sample File
[F3]Same as Show Isosurface on Display menu.

[F4]Same as Isosurface... on the Display menu.

[F9]Same as Copy Image on the Edit menu.

[Esc]Same as the Cancel menu item.

Opening a Sample File
You can work with molecules in tat least three ways using HyperChem:•

Using the tools and editing features, you create a two-dimensional (2D) sketch of a molecule, and then convert it with theHyperChem Model Builder into a three-dimensional (3D) representation.

•

Selecting residues sequentially from the HyperChem aminoacid and nucleotide libraries to construct proteins and nucleic
acids.

•

Reading in atom types and molecular coordinates that havebeen saved in the HyperChem input file format (HIN file), theBrookhaven Protein Data Bank format (ENT file), or other fileformat.

In this exercise, to become more familiar with how HyperChem
works, you read in molecular coordinates from a HIN file.
To open a HIN file:
1. Move the pointer to File on the menu bar at the top of theHyperChem window.
2. L-click on File.
The File menu opens. An ellipsis appears after some menu
items. This means a dialog box opens when you choose thesemenu items.

Getting Started

33

Opening a Sample Filethe ellipsis after a menu item
means a dialog box appears
when you choose the menu item

3. L-click on Open.
The Open File dialog box appears:

Scrolling Through the List of Files
A list of files is located in the middle of the dialog box.
34

Lesson 1

Opening a Sample FileTo scroll through the list:
1. Point the cursor on a scroll box and L-drag it up and down orleft and right.
scroll boxes

HyperChem scrolls through the list of filenames.
2.

L-click on the up and down arrow keys to scroll one line at a time.

Changing Directories
If the file you want is not in the current directory, the Directories
list box lets you change to a different directory or disk drive.

Selecting a FileTo select a file:
1. In the Files list box, go to the Samples/Aromatic directory andL-click on c60.hin.
HyperChem displays that name in the File Name text box.
Note: You can also enter a filename by entering it in the File Name textbox.
When a filename is highlighted, any comments contained
within the file appears in the Comments text box at the bottom of the Open File dialog box.

Getting Started

35

Opening a Sample File

2. L-click the Open button.
The dialog box disappears. The cursor turns briefly into anhour-glass icon to let you know that HyperChem is reading in
the file. As HyperChem reads the file, the number of atoms
appears in the status line at the bottom of the HyperChem
window.
The molecule appears:

36

Lesson 1

Using Display Settings

Note: You can also open a file by double-clicking on a filename.

Using Display Settings
HyperChem automatically uses the display settings from the lastsession. You choose the display settings by using menu items on
the Display menu.
To open the Display menu:
1. L-click on Display on the menu bar.
The Display menu opens:

Getting Started

37

Using Display Settings

Using Labels
If the molecule is displayed with labels, remove them using steps
1 and 2. Otherwise, skip to “To use labels.”
To remove the labels:
1. L-click on Labels.
The Labels dialog box appears. Even if the currently displayed
molecule is labeled, the dialog box opens with the default setting of None for both atom and residue label types.
2. L-click on OK.
The dialog box closes and the labels are removed.
To use labels:
1. L-click on Labels.
The labels dialog box appears.
2. Choose Symbol as the atom label type, and then choose OK.
The dialog box closes and the molecule is labeled by atomic
symbol.

38

Lesson 1

Using Display Settings

3. Choose Labels on the Display menu.
Although the molecule is labeled, the dialog box opens withthe default setting of None for both atom and residue label
types.
4. L-click on OK.
The dialog box closes and the labels are removed.

Using Different Molecular Renderings
You can use various molecular renderings when you display amolecular system.
To change the molecular rendering:
1. Choose Rendering on the Display menu.
The Rendering dialog box opens:

2. Choose Balls in the list, and then click on the “tab” at the top
labelled Balls to show the Balls Options property sheet:

Getting Started

39

Using Display Settings

3. If Shading is turned on (marked with a ✓), click on it to turnthe option off (no ✓). Then choose OK.
This gives a crude, but quickly drawn, space-filled representation of the molecule. The molecule is drawn using nonintersecting, nonshaded circles.

4. Reopen the Rendering dialog box. Choose Spheres, and thenchoose OK.

40

Lesson 1

Using Display Settings

This gives a space-filled representation that simulates CPK
models. It uses shaded spheres to represent atoms and calculates intersections between bonded spheres.
5. Choose Rendering on the Display menu to open the dialog box
once more.
6. Choose Sticks & Dots. Then choose OK to close the dialog box.

Getting Started

41

Using Display Settings

This representation gives you a good idea of the shape and volume occupied by the molecule.
7. Choose Rendering on the Display menu to open the dialog box
once more.
8. Choose Balls and Cylinders. Then go to the Balls property sheet
by clicking on the Balls tab at the top of the dialog box, andturn on the Shading and Highlight options (both marked
with ✓). Then choose OK to close the dialog box.

42

Lesson 1

Exiting HyperChem

9. Press the [F2] key to restore the previous rendering options. Thisis the equivalent of selecting Last Rendering on the Display
menu, and returns the display to the sticks and dots that wereused before the most recent change to the rendering options.
10. Open the Rendering dialog box again, choose Sticks, and thenchoose OK.
The molecule appears in its original stick rendering.

Exiting HyperChem
For now, exit HyperChem.
To exit HyperChem:
1. Select Exit on the File menu.
If the program warns you about saving changes to the file,click on “No”.
The window closes.

Getting Started

43

For More Information

For More Information
For more detailed information on how to get started with
HyperChem, see Chapter 1, “Introduction,” of the HyperChem for
Windows Reference Manual.
For information on how to use Microsoft Windows, see Help on
the Start button.

44

Lesson 1

Lesson 2
Basic Drawing and Editing
Techniques
Skills Covered in This Lesson•

Drawing atoms and bonds•

Selecting atoms and bonds•

Deleting, clearing, and copying

In the previous lesson, you read in a molecule from a HIN file.
Lesson 2 teaches you basic drawing and editing techniques thatyou use later to create a 2D sketch of a molecule.

Reopening HyperChem
To reopen HyperChem:
1.

Point to the HyperChem icon in the WorkSpace.

2. Double-click on the icon.
The HyperChem window opens.

Expanding the HyperChem Window
To expand the window to full-screen display:
1. L-click on the Maximize button in the top-right corner of theHyperChem window.

45

Drawing Atoms

Now you have a larger workspace to draw in.

Drawing Atoms
To draw an atom:
1. Open the Element Table dialog box.
There are two ways to do this:•Select Default Element on the Build menu, or•Double-click on the Drawing tool.

The Element Table dialog box appears:

The Default Element dialog box lets you choose the default element from the periodic table.
2. If you click on the Properties... button, a box showing the physical properties of the currently-selected element are displayed.
Or, if you shift-click on an element button, the properties forthat element are displayed. Try this for carbon (C):46

Lesson 2

Drawing Atoms

Then click on ‘OK’ to make the box disappear.
3. If Allow Arbitrary Valence or Explicit hydrogens is on (marked
with a check: ✓), L-click on these options to turn them off.
4. Select Carbon in the list of default elements, then close the element dialog box.
The dialog box disappears and the default element is set tocarbon.
Note: You can leave the Default Element dialog box open andmove it so you can see the HyperChem workspace. This is useful when you want to draw molecules with many heteroatoms.
5. L-click on the Drawing tool and move the cursor into theworkspace.
The cursor changes to the shape of the Drawing tool,
indicating you are in drawing mode.
6. L-click in the lower-left corner of the workspace.
A small circle appears representing an unbonded carbon atom.
7. Draw several more atoms at various locations in the workspace.
Your workspace should look something like this:Basic Drawing and Editing Techniques

47

Drawing Bonds

Drawing Bonds
Normally, instead of drawing unbonded atoms, you draw bonded
atoms:
To draw a bond:
1. Move the cursor above the first carbon you drew.
2. Press and hold down the left mouse button.
This is the location of the first atom of the bond you are
drawing.
3. Continue to hold down the left mouse button and drag(L-drag) diagonally toward the top of the workspace.

48

Lesson 2

Drawing Bonds

4. Release the mouse button.
This is the location of the second atom in the bond. A line
representing a bond between two carbon atoms appears.
5. With the cursor still on the top end of the bond, L-drag diagonally toward the lower-right corner of the workspace.

Basic Drawing and Editing Techniques

49

Drawing Bonds

6. Release the mouse button.
This is the location of the third atom.
7. Starting in an empty area of the workspace, draw six bonds toform a ring.

50

Lesson 2

Selecting Atoms

Now that you know how to draw atoms and bonds, you learn basic
selection techniques.

Selecting Atoms
In this exercise, you learn basic selection techniques by selecting
atoms. First, you must set the level of selection (atoms, residues, ormolecules) that you want.
To set the selection level to atoms:
1. L-click on the Select menu.
The Select menu opens.

2. If Atoms is not selected (marked with a check: ✓), L-click on
Atoms to select it.
Next, make sure Multiple Selections is off.
To turn off Multiple Selections:
1. L-click on the Select menu.

Basic Drawing and Editing Techniques

51Selecting Atoms

2. If Multiple Selections is on (marked with a check: ✓), L-click on
it to turn it off; otherwise press [Esc] or L-click on the title bar
to close the Select menu.
Now, when you select an atom or group of atoms, the previous
selection is canceled.
To select atoms:
1. L-click on the Selection tool and move the cursor into theworkspace.

The cursor assumes the shape of the Selection tool. This means
HyperChem is in selection mode.
2. L-click on one of the atoms you created.
This highlights the atom. When you select items, they arehighlighted in the workspace.

Note: You can set the type of highlight you want in the Preferences dialog box. Preferences is on the File menu.

52

Lesson 2

Selecting Groups of Atoms

3. L-click on the middle of one of the bonds you created.
The bond is highlighted.
The atoms at each end of the bond are selected, highlighting
the line that represents the bond.
4. R-click in an empty area of the workspace.
All atoms and bonds are deselected. You learn more about how
to deselect atoms later.

Selecting Groups of Atoms
To select a group of atoms using rectangular selection:
1. On the Select menu, make sure that Select Sphere is not turnedon.
2. Pick a point in an empty part of the workspace toward the topleft corner.
3. LR-drag diagonally, toward the lower-right corner of the workspace.
HyperChem displays a rectangle representing the border of theselection area.
4. Continue LR-dragging until a few atoms are enclosed in therectangle, like this:Basic Drawing and Editing Techniques

53Selecting Groups of Atoms

5. Release the mouse buttons.
All atoms in the selection area are highlighted.
To select a second group of atoms:
1. Select Multiple Selections on the Select menu.
When Multiple Selections is turned on, new selections areadded to previous selections.
2. LR-drag as you did before to select a second group of atoms.
3. Release the mouse buttons and the second group is highlighted.
Note: To select all atoms in the workspace, L-click in an empty areaof the workspace when you are in selection mode.
To deselect atoms:
1. R-click on an unbonded atom.
The atom is no longer highlighted.
2. R-click on the middle of a selected bond.
The atoms at the end of the bond (and any bonds to them) are
no longer highlighted.

54

Lesson 2

Deleting Atoms

To deselect all selected atoms:
1. R-click in an empty area of the workspace.
The rest of the selected atoms are deselected.
In Lesson 7, “Selecting and Displaying Subsets,” you learn more
about selecting.

Deleting Atoms
To delete a single atom or a bond:
1. L-click on the Drawing tool to get into drawing mode.
2. R-click on the atom you want to delete, or on the middle of thebond you want to delete.
The atom or bond disappears.
To delete multiple atoms or bonds:
1. L-click on the Selection tool to get into selection mode.
2. LR-drag to select two or three objects in the workspace.
3. Select Clear on the Edit menu.
A dialog box appears asking if you want to delete the selection.
4. Choose Yes.

Copying Atoms to the Clipboard
To copy:
1. L-click on the Selection tool to get into selection mode.
2. L-click on a bond or an atom.
3. Select Copy on the Edit menu.
A copy of the atom or bond you selected is saved on the
Clipboard.
4. Select Paste on the Edit menu.
A copy of the bond or atom is pasted into the workspace.

Basic Drawing and Editing Techniques

55

Clearing the HyperChem Workspace

Clearing the HyperChem Workspace
To clear the workspace:
1. Select New on the File menu.
A window appears asking if you want to save the current
changes.
2. Choose No.
HyperChem clears the remaining atoms and bonds from thescreen.

For More Information
For more information on basic drawing and editing techniques,
see Chapter 5, “Constructing Molecules,” in the HyperChem Release
5 for Windows Reference Manual.

56

Lesson 2

Lesson 3
Creating Small Molecules
in 2D and 3D
Skills Covered in This Lesson•

Drawing a 2D sketch of a molecule•

Editing bonds and atoms•

Using the 3D Model Builder•

Saving a structure

Now that you can draw atoms and bonds, you are ready to draw a
2D sketch of a molecule. Although HyperChem lets you draw molecules of any size, for practical reasons we recommend you limit
these drawings to small and medium-size molecules.
In this exercise, you draw the backbone of 1-hydroxy-3-phenyl-2propene. Only the connectivity of the molecule is relevant. Don’t
worry about angles between bonds or the length of the bonds you
are drawing.
After you draw the 2D sketch, you modify the drawing and use theHyperChem Model Builder to produce a 3D representation of themolecule.

Reopening HyperChem
1. Reopen HyperChem, if necessary.
2. Expand the HyperChem window to full size.

57

Drawing a 2D Sketch

Drawing a 2D Sketch
To draw the 2D sketch:
1. Double-click on the Drawing tool.
The Element Table dialog box opens.
2. Turn Allow Arbitrary Valence on and Explicit Hydrogens off.
When you draw with Explicit Hydrogens turned off, hydrogenatoms are not automatically added.
3. Choose Carbon, then close the dialog box.
Carbon is set as the default element and the dialog box closes.
4. Draw the following:

Saving Your Work in a File
Before you modify this sketch, save your work. This way, you
won’t have to redraw the sketch if you make a mistake when you
modify it.

58

Lesson 3

Saving Your Work in a FileTo save your work:
1. Select Save on the File menu.
Because this is the first time you have saved this sketch,
HyperChem displays the Save File dialog box.

2. If you wish, select a directory to save the file in by L-clicking
on the directory folders.
3. Make sure HIN is selected in the File type box.
4. Move the cursor into the File Name field.
Notice that the cursor changes from an arrow to a vertical line.
5. L-click in the field
6. Enter propene.
The filename propene.hin appears in the text box:

Creating Small Molecules in 2D and 3D59

Changing Bond Orders

7. L-click on OK.
HyperChem saves your drawing on disk in a file named
propene.hin. The filename appears in the title bar at the top of
the screen.
The next time you use Save to save this file, the dialog box is
not displayed.

Changing Bond Orders
You can now modify the sketch to prepare it for the HyperChem
Model Builder.
For the structure you are building, you need to increase the bondorder of a bond.
To change bond orders:
1. Point to the middle of the third bond from the left and L-click.
The bond order increases from a single to a double.

60

Lesson 3

Changing Bond Orders

2. L-click on the bond again.
The double bond increases to a triple bond.

3. R-click on the bond.

Creating Small Molecules in 2D and 3D61

Making Rings Aromatic

R-click reduces the bond order.
4. R-click again on the bond.
It changes back to a single bond.
5. The molecule you are building requires one double bond, so
L-click on the middle of the bond again.

Making Rings Aromatic
The six-membered ring in the sketch is currently a cyclohexane
ring with all single bonds. For the structure you are building, youneed to turn it into a benzene ring. To turn the ring into a phenyl
substituent, you have to explicitly indicate that the ring is aromatic.
To make rings aromatic:
1. Double-click on any bond of the ring.
The broken lines indicate that the ring is aromatic:

Note: If you double-click on a bond that is not in a ring, only thebond becomes aromatic.

62

Lesson 3

Labeling Atoms

Labeling Atoms
Before you start editing atoms, make it easier to see what you’re
doing by labeling the atoms.
To label atoms:
1. Select Labels on the Display menu.

The Labels dialog box appears:

2. In the Atoms option box, L-click on Symbol.
The radio button next to Symbol is filled in.
3. L-click on OK.

Creating Small Molecules in 2D and 3D63

Editing Individual Atoms

The Labels dialog box disappears and all atoms are labeled withthe atomic symbol C.

Editing Individual Atoms
In Lesson 1 you set the Default Element to carbon, so that all atoms
in the drawing are carbon. To correct the topology of this molecule, you need to change one of these carbon atoms to oxygen.
To edit individual atoms:
1. Double-click on the Drawing tool to open the Element Table
dialog box.
2. Choose Oxygen, then close the dialog box.
The dialog box disappears and oxygen is set as the new default
element.
3. L-click on the carbon atom at the left end of the aliphatic
chain.

64

Lesson 3

Invoking the Model Builder

The atom symbol C changes to an O and the oxygen end of thebond turns from cyan to red (if you are using the default
colors).
The 2D drawing of 1-hydroxy-3-phenyl-2-propene is complete.
See “Element Color, Display menu” in the HyperChem for Windows Reference Manual for information on the default element
colors.

Invoking the Model Builder
To convert your 2D sketch into a 3D structure, you use theHyperChem Model Builder.
To invoke the Model Builder:
1. Select Add H and Model build on the Build menu.

Creating Small Molecules in 2D and 3D65

Invoking the Model Builder

HyperChem produces a 3D representation of the molecule andautomatically adds hydrogens:

2. If hydrogens are not displayed, select Show Hydrogens on the
Display menu.

66

Lesson 3

Saving the Structure

Saving the Structure
To save the structure:
1. Select Save on the File menu.
HyperChem saves the new 3D structure in the filepropene.hin.

For More Information
For more information on creating small molecules in 2D and 3D,
see Chapter 5, “Building Molecules,” and Chapter 8, “Constructing Molecules,” in the HyperChem for Windows Reference Manual.

Creating Small Molecules in 2D and 3D

67

68

Lesson 4
Translating, Rotating, andScaling Molecules
Skills Covered in This Lesson•

Translating about the x, y, and z axes•

Rotating about the x, y, and z axes•

Zooming in and out on molecules•

Changing the Z clipping slab

Lesson 4 explains moving molecules using the Rotation,
Translation, and Zoom tools.

Reopening a HIN file
If the file you saved in Lesson 3, propene.hin, is still displayed in the workspace, skip to the next section. Otherwise, reopen the file.
To reopen the file:

1. If necessary, reopen HyperChem.
2. Choose Open on the File menu.
The Open File dialog box appears.
3. Using the Directories list box, move to the directory in which
you stored propene.hin in Lesson 3.
4. Scroll through the list of files and double-click on propene.hin.
Notice when you double-clicked on the filename that you
didn’t need to L-click on OK.
The dialog box disappears. After a few moments, the moleculeappears in the workspace.
69

XY Translation

To remove atom labelling:
1. Select Labels on the Display menu.
The Labels dialog box opens.
2. Select None as the atom label, and then choose OK.
This makes the screen less cluttered.

XY Translation
You use the XY translation tool to move molecules or selected
atoms along the plane of the computer screen.
You can control this tool different ways, just as you can most tools
in the tool bar.
In this exercise, you do XY translation first by L-click-dragging in
the workspace, and later by specifying a value in the Translation
dialog box.
To use the XY translation tool:
1. L-click on the XY translation tool.

2. Move the cursor into the workspace.
The cursor assumes the shape of the XY translation tool.
3. L-drag until the molecule looks like this:70

Lesson 4

XY Translation

4. Open the Translate dialog box by either•

double-clicking on the XY translation tool, or•

selecting Translate on the Edit menu.

The Translate dialog box appears:

5. L-click in the dx text box and enter –5.0.
6. L-click in the dy text box and enter 0.0.
7. Press the [Tab] key.
You can skip to the next text box by pressing the [Tab] key.
8. Enter 0.0 in the dz text box and L-click on OK.

Translating, Rotating, and Scaling Molecules71

Z Translation

The molecule moves to the left side of the screen by 5.0Ångstroms.

Z Translation
In the previous exercise, you moved the molecule back and forthacross the plane of the computer screen by L-dragging the XY
translation tool across the workspace and by opening the Translation dialog box.
In this exercise, you move the molecule toward and away from you(along the z axis) using the Z translation tool.
To use the Z translation tool:
1. On the Display menu, choose Rendering and make sure Perspective is on in the Rendering dialog box.
With Perspective view, all molecules appear to be in perspective: closer atoms appear larger. You must turn Perspective on
before you use the Z translation tool to see any effect.
2. Choose OK to close this dialog box.
3. L-click on the Z translation tool.

4. Move the pointer into the workspace.
The pointer assumes the shape of the Z translation tool.
5. L-drag slowly toward the bottom of the workspace.
The molecule moves closer to you.
6. Continue moving the molecule until it completely disappears.
The molecule no longer appears because you have moved itout of the Z clipping slab. Later on you learn how to adjust theZ clipping plane.
7. Open the Translate dialog box by either

72

Lesson 4•

double-clicking on the Z translation tool, or•

selecting Translate on the Edit menu.

Using the Zoom Tool

8. In the dx and dy text box, enter 0.
9. In the dz text box, enter –5 and choose OK.
HyperChem moves the molecule 5Å away from you and themolecule reappears in the workspace. (You may need to repeat
this step to get the molecule to reappear, if you had moved itmuch closer to you in step 5.)
10. Press the [Spacebar] to re-center the molecule in the workspace.

Using the Zoom Tool
To increase or decrease the magnification of a molecule, use theZoom tool. This is useful, for instance, when you want to examine
structural details of a large molecule.
So far you have controlled tools in the tool bar by L-dragging in
the workspace, or by specifying a particular value in the dialog
boxes.
You can also control tools, such as the Zoom tool, by using the[Shift] key and the tool icon.
To use the Zoom tool:
1. Hold the [Shift] key down and L-click near the top right of theZoom tool icon.

The molecule gets smaller.
2. Continue holding down the [Shift] key and L-click near the bottom left of the icon.
Zoom in on the molecule until it looks like this:Translating, Rotating, and Scaling Molecules

73Centering and Scaling

Remember, you can also control the Zoom tool by•using the Zoom dialog box, or•

L-dragging the Zoom tool in the workspace.

Centering and Scaling
When a molecular system is first loaded from the file system, it iscentered in the workspace in a standard size. After you use theTranslation or Zoom tools on the molecule, you can return it to its
original size and center it in the workspace. Scale to Fit uses the current selection, or the whole system if there is no selection.
To center and scale the molecule:
1. Select Scale to Fit on the Display menu, or alternatively, press
the space bar.
The molecule returns to its original size and is positioned at
the center of the workspace.
Note: You can get the same zoom factor as Scale to Fit without centering the system by entering a value of 1 in the Zoom dialog box.

74

Lesson 4

XY Rotation

XY Rotation
To rotate one or more molecules around the x or y axis or bothaxes, use the XY rotation tool.
To rotate the molecule along the x and y axes:
1. L-click on the XY rotation tool.

2. Move the cursor into the workspace.
3. Use the Labels dialog on the Display menu to add symbols tothe atoms, for clarity.
4. L-drag horizontally.
The molecule rotates around the y axis.

5. L-drag vertically.
The molecule rotates around the x axis.

6. L-drag diagonally to rotate the molecule around both x and yaxes.
7. Rotate the molecule until it looks like this:Translating, Rotating, and Scaling Molecules75

Z Rotation

Z Rotation
With the Z rotation tool, you can rotate molecules around thez axis.
To rotate the molecule along the z axis:
1. L-click on the Z rotation tool.

2. L-drag horizontally to the right in the workspace.
The molecule moves in the clockwise direction.
3. L-drag horizontally to the left.
The molecule moves in the counterclockwise direction.
Note: L-click-dragging vertically has no effect.

Z Clipping
The Z clipping tool helps you look inside molecules by showing
you atoms within a “slice” of a molecule.
The “slice” or clipping slab for the molecular system has a front andback plane that are parallel to each other and the computer screen.
Only atoms between the planes are visible.
The default clipping slab sets the clipping planes so that you can
see the complete molecule or molecular system.
To help you see where the clipping slab is, the Z Clip dialog box
shows you a view from above the system with the clipping planes
behind and in front of the molecule. It also lets you change thevalues interactively or set explicit values for both planes.
To change the clipping slab using the Z Clip dialog box:
1. First, rotate the molecule so that the benzene ring is oriented
either towards or away from the front clipping plane, like this:76

Lesson 4

Z Clipping

2. Double-click on the Z clipping tool.

The dialog box appears:

3. Point to the scroll box that controls the back clipping slab.
4. L-drag the scroll box down until a back part of the molecule isclipped.

Translating, Rotating, and Scaling Molecules77

Z Clipping

When you drag the scroll box, the value changes in the Slabtext box for the back clipping plane.
5. L-click on OK.
The dialog box disappears. The back part of the molecule isclipped in the workspace.

6. Double-click on the Z clipping tool to open the Z Clip dialog
box again.
7. Point the cursor on the up arrow in the scroll bar for the backclipping plane.
78

Lesson 4

Clearing the Workspace

8. L-click on the arrow until the plane is behind the molecule,and then choose OK.
The whole molecule is visible again.
You can also change the clipping slab without using the Z Clip dialog box.
To change the clipping slab using the mouse:
1. L-click on the Z clipping tool.
2. L-drag up in the workspace.
In the status line, the value of the front clipping planeincreases.
3. Continue L-dragging up until the front part of the molecule isclipped.
This happens when the clipping plane reaches about 53Å.
4. L-drag down until the whole molecule is visible again.
The front clipping plane is in front of the molecule again.

Clearing the Workspace
To clear the workspace:
1. Select New on the File menu.
2. If HyperChem asks if you want to save your changes, choose
No.
This choice clears the screen.

Practice Exercises
Try some of these practice exercises:
1. Rotate and translate a molecule while Show Inertial Axes on
the Display menu is on.
2. If you have several molecules on the screen you can select oneof them by choosing Molecules on the Select menu, and rotate
it alone around its center of mass by using R-drag instead of Ldrag.

Translating, Rotating, and Scaling Molecules

79For More Information

3. Select a side chain of a molecule, and use the Z rotation tool torotate the side chain by using R-drag.
4. Change the Z clipping slab by entering specific values in the Z
Clip dialog box.

For More Information
For more information on translating, rotating, and scaling molecules, see Chapter 3, “Tools,” in the HyperChem for Windows Reference Manual.

80

Lesson 4

Lesson 5
Measuring Structural
Properties
Skills Covered in This Lesson•

Measuring bonds, angles, torsion angles, and nonbonds•

Displaying atom characteristics•

Using builder constraints

Lesson 5 describes measuring structural properties by using different selection techniques. By selecting different parts of a molecule
or molecular structure, you can measure bond lengths and angles,
as well as display atom characteristics, such as charges and x, y,
and z coordinates.

Creating a 2D Sketch
To get into drawing mode:1.

If necessary, reopen HyperChem.

2.

Select the Drawing tool.

To make sure the Default element is carbon:
1. Double-click on the Drawing tool.
The Element Table dialog box opens.
2. Select Carbon if it is not already selected, and then close thedialog box.
To label the atoms by number:
1. Select Labels on the Display menu.

81Editing the Sketch

The Labels dialog box opens.
2. Select Number as the atom label, and then choose OK.
This step makes it easier for you to see what you are doing as
you draw and edit the 2D structure.
3. Draw the 2D structure in the order shown below:

Editing the Sketch
To make the ring aromatic:
1. Double-click on the ring.
The ring appears with broken lines.
To edit the atoms:
1. Set the Default Element to nitrogen.
2. L-click on atom #8 to change it into a nitrogen.
3. Set the Default Element to oxygen.
4. L-click on atom #9 to change it into an oxygen.

82

Lesson 5

Building the 3D Structure

To label the atoms by symbol:
1. Select Labels on the Display menu.
The Labels dialog box opens.
2. Select Symbol as the atom label, and then choose OK.
Your drawing should look like this:Building the 3D Structure
To transform the drawing into a 3D structure:
1. Check that Explicit Hydrogens on the Build menu is notselected.
2. Double-click on the Selection tool.
Instead of selecting Add H & Model Build on the Build menu,
you can also invoke the Model Builder by double-clicking on
the Selection tool.
The structure should look like this:Measuring Structural Properties

83

Atom Characteristics(Your structure may be oriented somewhat differently from theabove, depending on how your original atoms were positioned.
The Model Builder sometimes reorients a structure if it differs significantly from the original structure.)
The molecule is built with certain default structural parameters.
The following exercises show you how to measure those parameters.

Atom Characteristics
To get information on atom characteristics:
1. On the Select menu, make sure that Atoms is chosen and thatMultiple Selections is not.
2. L-click on the Selection tool.
3. L-click on the oxygen atom.
The selected atom is highlighted and the atom characteristics
appear in the status line.

84

Lesson 5

Measuring Bond Distances

The status line shows the atom number, the atom type, andthe charge for the current molecular mechanics force field. It
also shows the x, y, and z coordinates of the atom.
The Build menu items Set Atom Type, Set Charge, and Constrain
Geometry become active. This lets you specify non-default
atomic properties for the Model Builder.
4. Select other atoms and compare atom characteristics shown inthe status line.

Measuring Bond Distances
If you select a bond rather than an atom, information on the bondappears in the status line. HyperChem has a library of default bondlengths between atoms of a particular type and hybridization.
When a bond length is not in the default library, HyperChem uses
an average of the covalent radii of the two atoms for Model Building.
To measure a bond distance:
1. L-click on the carbon-oxygen bond.

Measuring Structural Properties

85

Measuring Bond Angles

The bond is highlighted and the bond distance appears in thestatus line.
2. L-click on the Build menu.

When you select a bond, the Build menu item Constrain bondlength becomes active. This lets you specify non-default bondlengths for the Model Builder.

Measuring Bond Angles
To measure a bond angle, L-drag between the two terminal atoms
that are bonded to the common third atom.
To measure a bond angle:
1. L-drag from the carbon atom bonded to oxygen to the hydrogen atom bonded to oxygen.
Note the ‘gravity’ that attracts the end of the dragged line to
nearby atoms.

86

Lesson 5

Measuring Torsion Angles

2. Release the mouse button.
The angle is highlighted and the value of the angle appears inthe status line. The default angles chosen by the Model Builder
for this structure are based on hybridization and are either tetrahedral (109 degrees), trigonal (120 degrees), or linear (180degrees).
Note: When you select a bond angle, Constrain Bond Angle on
the Build menu becomes active. This lets you specify nondefault bond angles for the builder.
3. Try measuring other angles in the structure.

Measuring Torsion Angles
You measure a torsion angle by dragging the select cursor between
the two terminal atoms of a four-atom torsion.
To measure a torsion angle:
1. L-drag between the ring carbon atom and the hydrogenattached to the nitrogen atom to select the torsion shown
below:

Measuring Structural Properties

87Measuring Nonbonded Distances

2. Release the mouse button.
The torsion is highlighted and the status line shows that it has
a value of –60 degrees (Gauche).
Note: When you select a torsion angle, Constrain Bond Torsion
on the Build menu becomes active. This lets you specify nondefault bond torsions for the builder.
3. Experiment with L-dragging between third-neighbor (vicinal)
atoms and compare values for the angles.

Measuring Nonbonded Distances
To measure a nonbonded distance:
1. Turn on Multiple Selections on the Select menu.
Before you measure a nonbonded distance, you must turn on
Multiple Selections. This lets you select more than one item ata time. Otherwise, when you select a second item, the previous
item becomes deselected.
2. R-click in an empty area of the workspace.
All previous selections are deselected.

88

Lesson 5

Hydrogen Bonds

3. L-click, sequentially, on any two nonbonded atoms.
The distance appears in the status line.
4. Measure several pairs of nonbonded atoms and compare thedistances.

Hydrogen Bonds
To help you confirm favorable conditions for hydrogen bonding,HyperChem calculates and displays hydrogen bonds.
A hydrogen bond is formed if the hydrogen-donor distance is lessthan 3.2 Ångstroms and the angle made by covalent bonds to thedonor and acceptor atoms is less than 120 degrees. You may needto rotate the –NH2 group or the –OH group (see “Rotating a Side
Chain” on page 124) in order to meet these conditions before you
can display a hydrogen bond for this structure.
To confirm conditions for hydrogen bonding:
1. R-click on an empty area in the workspace.
All previous selections are deselected.
2. Turn on Show Hydrogen Bonds on the Display menu.
3. Choose Recompute H Bonds on the Display menu.
HyperChem displays the hydrogen bond as a broken line.

Measuring Structural Properties

89

Practice Exercises

Hydrogen bonds are not automatically calculated at every configuration. When you change the molecule’s geometry, youmust recompute the hydrogen bonds.

Practice Exercises
Try these practice exercises:
1. Measure improper angles and improper torsion angles.
2. Set builder constraints using Constrain Geometry, Constrain
Bond Length, Constrain Bond Angle, and Constrain Bond Torsion
on the Build menu.
3. Modify a model-built structure using Set Bond Length and Set
Bond Angle on the Edit menu.

For More Information
For more information on measuring structural properties, see“Measuring with the Selection Tool” in Chapter 3 of theHyperChem for Windows Reference Manual. For information on
using builder constraints, see Chapter 5, “Building Molecules,” inthe same manual.
90

Lesson 5

Skills Covered in This Lesson

Lesson 6
Creating a Polypeptide
Skills Covered in This Lesson•

Chaining residues together•

Creating a zwitterion•

Site-specific mutagenesis

Thus far in this tutorial you have learned how to build a moleculefrom scratch, and how to display a molecule by reading in coordinates from a HIN file. In this lesson, you create a polypeptide bysequentially selecting residues from the HyperChem amino acidlibrary. The structure you build is bradykinin, a hormone-like peptide that inhibits inflammatory reactions.

Using the Amino Acids Dialog Box
Clear the workspace, either by restarting HyperChem or by selecting New from the File menu.
To open the Amino Acids dialog box:
1. Select Amino Acids on the Databases menu. The Amino Acids
dialog box will appear:

Creating a Polypeptide

91

Building and Displaying a Polypeptide

The Amino Acids dialog box is a persistent dialog box. It stays
open while you chain residues together to build a polypeptide.

Building and Displaying a Polypeptide
The first step in building the polypeptide is to determine the secondary conformation. In this exercise, you set the options to build
a beta sheet structure.
To set the conformation:
1. Select Beta Sheet as the conformation.
This selection automatically sets both the phi and psi angle to180 degrees.
2. Set the omega angle to 180 degrees for a trans peptide bond.
Normally, the peptide angle omega that connects residues istrans.
To build a polypeptide, start at the N-terminal end and chain
together residues until you reach the C-terminal end.
To select the residues for the polypeptide:
1. L-click sequentially on Arg-Pro-Pro-Gly-Phe-Ser-Pro-Phe-Arg.
When you choose Pro, HyperChem “beeps.” This means thatit cannot use the desired conformation. Proline can only adopt
certain phi and psi angles that are not alpha or beta. As you
build the polypeptide, HyperChem forces those angles toallowed values.
To close the dialog box:
1. L-click on the close-box in the top-left corner of the Amino
Acids dialog box.
The polypeptide appears in the workspace. The structure automatically appears with labels because of the Labels option you
set in the last lesson.
To unlabel the molecule:
1. Select Labels on the Display menu. Make sure you choose Nonefor both Atoms and Residues and then choose OK.

92

Lesson 6

Creating a Zwitterion

Creating a Zwitterion
The peptide you created has a bare residue at each end. This isexactly how it would exist if it were in the middle of a peptide
chain. The N-terminal end has HN- and the C-terminal end has-CO. In this exercise, you convert the ends of the peptide to zwitterionic form by modifying the N- and C- terminal residues.
To create the zwitterion:
1. Translate and rotate the peptide until it looks like this:

2. Choose Make Zwitterion on the Databases menu.
HyperChem adds an oxygen at the C-terminal end:

Creating a Polypeptide

93Site-specific Mutagenesis

oxygen added to
C-terminal end

HyperChem also adds protons to the N-terminal end.

Site-specific Mutagenesis
Site-specific mutagenesis plays an important role in protein engineering. Substituting a particular amino acid at a critical site canchange the structure and properties of a protein, and therefore, its
function.
To replace a residue:
First, label the peptide by residue to facilitate seeing what you aremodifying.
1. Select Labels on the Display menu.
2. L-click on Name+Seq as the option for labeling residues, andthen choose OK.

94

Lesson 6

Site-specific Mutagenesis

In earlier exercises, you used the Label menu item to label amolecule by atom. You can also use this menu item to label residues.
3. Choose Residues on the Select menu.
4. L-click on the Selection tool.
5. R-click in an empty area of the workspace to make sure nothing is selected.
6. L-click on PHE 5.
The residue is highlighted.
7. Select Mutate on the Databases menu.

Creating a Polypeptide95Site-specific Mutagenesis

Note: The Mutate menu item is inactive (grayed out) in the
Databases menu until you select a residue.
8. In the Mutate dialog box, scroll down the list of residues andchoose Thr, then choose OK.

The selected phenylalanine is replaced by threonine:96

Lesson 6

Saving the Structure

Saving the Structure
To save the structure:
1. Choose Save on the File menu.
The Save File dialog box opens.
2. In the Directories list box, change to the directory where youwant to save this file.
3. Enter polyp in the filename box, and then choose OK.
4. Choose New on the File menu to clear the workspace.

Practice Exercises
1. Create a nucleic acid using Nucleic Acids on the Databases
menu.

Creating a Polypeptide

97

For More Information

For More Information
For more information on how to create polypeptides and nucleic
acids, see “Databases Menu” in Chapter 5, “Building Molecules,”in the HyperChem for Windows Reference Manual.

98

Lesson 6

Lesson 7
Selecting and
Displaying Subsets
Skills Covered in This Lesson•

Creating an alpha helix•

Selecting subsets such as backbones, rings, and side chains•

Labeling and coloring subsets

HyperChem can perform specific actions on selected atoms, residues, and molecules. These actions include moving molecules,changing display conditions, and performing calculations. Whenyou select an object, it takes on a new appearance, usually a different color, and HyperChem recognizes that you want to change oranalyze the selected atoms.
In this lesson, you learn how to select and display different subsetsof the alpha-helical conformation of the polypeptide (PHE)6.

Creating an Alpha Helix
Clear the workspace, either by restarting HyperChem or by selecting New from the File menu.
To create the alpha helix:
1. Select Amino Acids on the Databases menu.
The Amino Acids dialog box opens.
2. Select Alpha helix as the type of conformation.
3. Set Omega to 180 degrees.
This defines trans peptide bonds.

99Labeling the Ends

4. L-click on Phe six times.
5. Double-click on the control box in the top-left corner of the
dialog box, or choose Close.
The dialog box closes and the structure appears in the workspace:(Your structure may be oriented differently from the above.)
6. If the structure appears with hydrogens and labels, remove
them from the display.

Labeling the Ends
To better visualize the N-terminal and C-terminal ends of thepolypeptide, you can label the ends.
To label the ends:
1. On the Select menu, make sure Atoms and Multiple Selections
are on.
2. L-click on the Selection tool.
3. L-click on the N-terminal nitrogen atom on the left side of thepolypeptide to select the N-terminal end:
100

Lesson 7

Labeling the Ends

4. L-click on the C-terminal carbon atom on the right side of thepolypeptide to select the C-terminal end:

5. Select Labels on the Display menu.
The Labels dialog box appears.
Selecting and Displaying Subsets

101

Selecting the Backbone

6. Select Symbol as the atom label type, and then choose OK.
The N-terminal nitrogen and C-terminal carbon atom should
be labeled like this:Selecting the Backbone
To investigate the alpha-helical nature of this polypeptide, it helps
to visualize the backbone.
The first step is to select the backbone. You can do this two ways:•

By selecting the shortest point between the two terminal ends•

By using Select Backbone on the Select menu

To select the shortest point between the terminal ends:
1. If necessary, turn off Show Hydrogens on the Display menu.
2. If you are not in selection mode, L-click on the Selection tool.
3. L-drag from the carbonyl carbon atom of the C-terminal end
to the nitrogen atom of the N-terminal end:

102

Lesson 7

Selecting the Backbone

This selects the backbone of the polypeptide.
To use the Select Backbone command:
1. First, L-click on the Selection tool and R-click on an empty areaof the workspace.
This deselects the previous selection.
2. Choose Select Backbone on the Select menu.

Selecting and Displaying Subsets

103

Coloring the Backbone

Coloring the Backbone
To color the backbone:
1. Select Color on the Display menu.
The Selection Color dialog box appears.
2. Select Yellow, then OK.
3. R-click on an empty area.
HyperChem displays the backbone in yellow.

Displaying Only the Backbone
To display only the backbone:
1. Choose Show Selection Only on the Display menu.
Only the backbone and the labels are displayed.
2. Choose Labels on the Display menu.
The Labels dialog box appears.
3. Select None for the residues label type, then choose OK.
104

Lesson 7

Displaying the Side Chains

Only the backbone and the terminal ends appear.

Displaying the Side Chains
To display the side chains:
1. Rotate and translate the backbone so that it is on end and you
are looking down its long axis, like this:

2. Choose Show All on the Display menu.

Selecting and Displaying Subsets

105

Later in this lesson, you also learn how to select a side chain.

Complementing a Subset
Sometimes, it might be helpful to select or display only the partsof a molecular system not currently selected. You can do this using
Complement Selection on the Select menu.
To select and display the complement of a selected subset:
1. Choose Complement Selection on the Select menu.
This selects all parts of the polypeptide except the backbone.

106

Rectangular Selection

2. Choose Show Selection only on the Display menu and R-click
the Selection tool on an empty area of the workspace.
This displays all parts of the polypeptide except the backbone.

Rectangular Selection
To select all atoms in a 3D rectangle:
1. Select Show Hydrogens and then click on Show All on the Display
menu.

2. Make sure Select Sphere on the Select menu is not turned on.
3.

L-click on the Selection tool to get into selection mode.

4. Starting in the top-left corner of the workspace, LR-dragtowards the bottom-right corner like this:Selecting and Displaying Subsets

107

Spherical Selection

5. Release both mouse buttons.
All atoms seen in the rectangular area are highlighted.

Spherical Selection
To select atoms within a volume about a given atom:
1. R-click in an empty area of the workspace.
This deselects all items in the workspace.
2. Choose Select Sphere on the Select menu.
3. Place the select cursor over the nitrogen atom of the Nterminal end.

108

Lesson 7

Spherical Selection

4. LR-drag away from the nitrogen atom.
The status line shows the radius of the selection sphere.
5. Continue until you create a radius of about 5.0 Ångstroms.

Selecting and Displaying Subsets

109

Naming a Selection

6. Release both mouse buttons.
HyperChem selects all atoms within a distance of about 5.0
Ångstroms of the N-terminal end of the molecule.

Naming a Selection
Often it is helpful to name a selection so that you can conveniently display it later. In this exercise, you assign a name to all atoms
included in the current spherical selection.

To name a selection:
1. Choose Name Selection on the Select menu.
The Name Selection dialog box appears.
2. Make sure Other is selected and enter n_sub in the Other textbox.

3. L-click on OK.
HyperChem saves all the highlighted atoms in a selection
named n_sub.
4. R-click in an empty area of the workspace.
This step deselects the selection.
5. Choose Select on the Select menu.
The Select dialog box appears.
6. Choose By Name.
7. Select n_sub from the Names list, and then choose OK.
The selection is selected again.

110

Lesson 7

Selecting a Ring

Selecting a Ring
To select a ring:
1. R-click in an empty area of the workspace.
All items in the workspace are deselected.
2. Double-click on any bond in a phenyl ring.
The ring is selected:

3. R-click in a empty area to deselect the ring.
4. Try selecting other rings in the polypeptide.

Selecting a Side Chain
To select a side chain:
1. Point the cursor on a bond that is not part of a ring.
2. Double-click on the end of the bond closest to the ring.

Selecting and Displaying Subsets

111

For More Information

The side chain is selected.
3. To end this lesson, choose Exit on the File menu and do notsave the current changes.

For More Information
For more information on selecting and displaying subsets, see“Selection Tool” in Chapter 3, and “Select Menu” in Chapter 6 of
the HyperChem for Windows Reference Manual.

112

Lesson 7

Lesson 8
Working with
Macromolecules
Skills Covered in This Lesson•

Reading and opening a PDB file•

Displaying structural characteristics of macromolecules•

Hydrogen bonding•

Site-specific mutagenesis•

Rotating a side chain

An important feature of HyperChem is the ability to manipulate
and compute properties of macromolecules, such as proteins andnucleic acids.
So far you have used HyperChem to build and study small molecules. Now you study a macromolecule stored in Brookhaven Protein Data Bank (PDB) file format.
In this lesson, you work with the PDB file for bovine pancreatic
trypsin inhibitor (BPTI).

Reading a Brookhaven PDB Format File
You can read files in the Brookhaven PDB format into HyperChem.
Files from the Brookhaven Protein Data Bank have a .ent extension. HyperChem can read PDB files from the distribution tapeprovided by Brookhaven or another source. These files must firstbe transferred from the tape to a medium (usually disk) accessible
to HyperChem.

113

Opening the PDB fileOpening the PDB file
To open the PDB file:
1. If necessary, open HyperChem.
2. Choose Open on the File menu.
The Open File dialog box appears.
3. Using the Directories list box, change to the directory/usr/lib/HyperChem/samples.
4. Choose PDB as the file format.
5. L-click on pdb5pti.ent in the list of files.
When you select a PDB file, the Comments box in the dialog
box shows the HEADER, COMPND, SOURCE, AUTHOR,REVDAT, JRNL, and REMARK lines of the Brookhaven PDB file.
6. Choose Open.
After a few moments, the molecule appears in the workspace:

When you open a PDB file, HyperChem reads an accompanying template file (.tpl extension) that contains information onconnectivity, hydrogen atoms, atomic charges, and atom
types.
114

Lesson 8

Opening the PDB file

7. If the structure appears with labels, use the Labels dialog box
to remove them.
8. Make sure Show Hydrogens is turned off on the Display menu.

Removing the Water Molecules
To simplify this lesson, remove the water molecules surrounding
BPTI.
To remove the water molecules:
1. Set the select level to Molecules.
2. L-click on the Selection tool to get into selection mode.
3. L-click on the BPTI molecule.
This selects the BPTI molecule.
4. Choose Complement Selection on the Select menu.
This selects only the water molecules.
5. Choose Clear on the Edit menu.
The following dialog box opens:

6. Choose Yes.

Working with Macromolecules

115

Displaying the StructureThis deletes the water molecules. The structure should look
like this:To avoid modifying the PDB file for BPTI, save the file to a different
filename for this lesson.
1. Choose Save As on the File menu.
2. Using the Directories list box, change to the directory where
you want to save your work.
3. Choose HIN as the file format.
4. In the Selection box, L-click after the last slash (/), enter
testbpti, then L-click on Save.
HyperChem saves the modified structure as testbpti.hin.

Displaying the Structure
Displaying the Primary Structure
To display the primary structure of the molecule:
1. Make sure Show Hydrogens is turned off on the Display menu.
This helps eliminate a cluttered display.
116

Lesson 8

Displaying the Structure

2. Choose Select Backbone on the Select menu.
This highlights the backbone.
3. Press the space bar.
You get a closer look at the backbone. If you hit the space bar
when an area is selected, you zoom in on that area.
4. Choose Show Selection Only on the Display menu.
This displays only the backbone.

5. R-click in an empty area of the workspace.
This deselects the backbone.

Displaying the Side Chains
To redisplay the side chains:
1. Choose Show All on the Display menu.

Working with Macromolecules

117Displaying the Structure

Displaying the Alpha Helix
To display the alpha helix:
1. Make sure Multiple Selections and Residues are selected on the
Select menu.
2. Choose Select on the Select menu to open the Select dialog
box.
3. Make sure By number is selected, and then L-click on Residue.
4. Enter 47 in the Residue/atom text box, then choose OK.
This selects SER 47. This is an easy way to select a specific residue in the molecule.
5. Open the Select dialog box again and specify residue number
55.
Residues 47 and 55 are highlighted.
6. L-drag between residues 47 and 55.
This selects all residues between 47 and 55.
7. Choose Show Selection Only on the Display menu.
This shows an uncluttered display of the selected residues.
8. Press the space bar to center the selection in the workspace.
9. R-click in an empty area to deselect the residues.
10. Choose Select Backbone on the Select menu, then Show
Selection Only on the Display menu.
HyperChem displays only the backbone of the alpha helix corresponding to residues 47 to 55. The rest of the backbone isselected but not displayed.

118

Lesson 8

Displaying the Disulfide Bridges

11. Translate and rotate the alpha helix so it is on end. It shouldlook like this:

12. Choose Show All and Scale to Fit on the Display menu.
13. Get into selection mode and R-click in an empty area of theworkspace to deselect the selection.

Displaying the Disulfide Bridges
BPTI contains cystine residues, which form covalent crosslinks
along the peptide backbone. In this exercise, you zoom in on a
portion of the molecule to display these crosslinks.
To zoom in on a disulfide bridge:
1. If the whole protein is not displayed in the workspace, choose
Show All on the Display menu, and hit the space bar.
This displays and centers the structure in the workspace.
2. LR-drag the Selection tool to include the cystine residue in thelower-right side of the molecule. Be sure to start in an empty
area of the workspace. You may include a few neighboring residues as well.

Working with Macromolecules

119Displaying the Disulfide Bridges

Note: The cystine residue appears in yellow if you are using thedefault colors. Also, if Select Sphere is checkmarked on the Display menu and you do not LR-drag starting in an empty areaof the workspace, you create a spherical selection, not a rectangular selection.

3. Look in the status line to make sure residue CYX 14 is selected.
4. Press the space bar to center the selection in the workspace.
5. Choose Labels on the Display menu and choose Symbol as thetype of atom label.
The selection is labeled by atom.
6. Slowly rotate and zoom in on the structure until you can easily
identify the -S-S bond.

120

Lesson 8

Selecting the Ring Structures-s bond

7. R-click in an empty area to clear the selection.

Selecting the Ring Structure
You can use the ring-finding feature of HyperChem to display theresidues that form a ring in the protein.
To display the ring structure:
1. Change the select level to Atoms.
2. Double-click in the middle of the -S-S- bond.
This selects the ring formed via the disulfide bridges between
CYX 14 and CYX 38.
3. Press the space bar to center the ring in the workspace.
4. Choose Show Selection Only.
5. Using the Labels dialog box, select Name+Seq to label theresidues by name and sequence.
This displays only the ring labeled by name and sequence.
6. Rotate the ring until it looks like this in the workspace:

Working with Macromolecules121Displaying Hydrogen Bonds

Displaying Hydrogen Bonds
To calculate and display hydrogen bonds:
1. Get into selection mode and R-click in an empty area to deselect the ring.
2. On the Display menu, choose Show All, and then Scale to Fit.
The entire molecule is displayed and centered in the workspace.
3. Remove labels from the display.
4. Turn Show Hydrogens and Show Hydrogen Bonds on.
Show Hydrogen Bonds displays possible hydrogen bonds
between selected atoms, or, with no selection, displays hydrogen bonds for all molecules in the system.
5. Choose Recompute H Bonds on the Display menu.
HyperChem displays the hydrogen bonds as broken lines.
6. Press [PgDn] to zoom in until the hydrogen bonds are clearlyvisible.
7. Press the space bar to return to a scale-to-fit view.
122

Lesson 8

Site-specific Mutagenesis

hydrogenbonds

Note: If you change the arrangement of molecules in the workspace (for example, by XY translation) or if HyperChem changes
the conformation during a calculation, choose Recompute Hydrogens Bonds to see up-to-date hydrogen bonds.

Site-specific Mutagenesis
In Lesson 6 you performed site-specific mutagenesis on bradykinin. In this exercise, you do a series of mutations on the outside of
the structure.
To mutate the structure:
1. Make sure Multiple Selections is off.
2. Label the residues by choosing Name+Seq.
3. Use the Select dialog box to select residue 58.

Working with Macromolecules123Rotating a Side Chain

4. Zoom in on the selection and position the structure to look
like this:

5. With ALA 58 still selected, choose Mutate on the Databases
menu, and replace ALA 58 with VAL.
6. Use the Select dialog box to select GLY 57. Replace it with PHE.
7. Replace residue 56 with ALA and residue 55 with VAL.

Rotating a Side Chain
You can alter the side-chain torsion angles by using the side-chain
selection feature and the internal rotation option of the Z rotation
tool.
To rotate the side chain:
1. R-click in an empty area to clear the selection.
2. Set the select level to Atoms.

124

Lesson 8

Rotating a Side Chain

3. Position the structure to look like this.

4. Double-click on the Cβ side of the Cα-Cβ bond of VAL to selectthe new side chain:

5. L-click on the Z rotation tool.
Working with Macromolecules

125For More Information

6. R-drag the Z rotation cursor horizontally in the workspace torotate the valine side chain.
Note: To increase the rotation speed, remove part of the molecule from the display. To do this, select the part of the molecule surrounding the valine residue. Choose Show Selection
Only on the Display menu and R-click in an empty area todeselect before selecting the side chain for rotation.

7. To finish this lesson, choose New on the File menu, and do notsave the current changes.

For More Information
For more information on the Brookhaven PDB files, see Chapter 9,“Protein Data Bank Files,” in the HyperChem for Windows Reference
Manual. For more information on site-specific mutagenesis, see
Chapter 5, “Building Molecules.” in the same manual.

126

Lesson 8

Tutorial 2
HyperChem Calculations
Tutorial 2 focuses on the chemical calculations you can performwith HyperChem. You learn the step-by-step instructions for performing single point calculations, geometry optimization, andmolecular dynamics, using both semi-empirical quantum
mechanics and molecular mechanics methods. Tutorial 2 has fivelessons, as described in the following table:

LessonInformation covered

Time tocomplete

Minimizing
the Energy of a
SystemMolecular mechanics geometry
optimization; single point calculations; using reflection througha plane to perform a symmetrytransformation; keeping a log
file.

60 minutes

Simulating
Dynamic andEquilibrium
Behavior

Atomic charge assignment,
periodic boundary conditions,superposition, and using molecular dynamics to perform simulated annealing. Using Langevindynamics and Monte Carlo.

100 minutes

Molecular
OrbitalCalculations

Calculating wave functions; plotting electrostatic potential, total
charge density, and molecularorbitals.

25 minutes

127

128

Tutorial 2

LessonInformation covered

Time tocomplete

Interaction of
Water with
N-methylacetamide

Using builder constraints, merging structures into a single system, optimizing a subset, andcharacterizing the interaction
between two systems.

20 minutes

Electronic
Properties ofProteins

Treating part of a protein quantum mechanically.

15 minutes

Lesson 9
Minimizing the Energyof a System
Skills Covered in This Lesson•

Performing a molecular mechanics geometry optimization•

Performing single point calculations•

Using bond torsion constraints•

Measuring and comparing structural properties of a system•

Using reflection through a defined plane for the Model Builder•

Keeping a log of your work

So far you have used HyperChem’s basic building, editing, and display tools. Now you begin using HyperChem’s analysis tools thatwill help you understand molecular behavior and interaction.
In this lesson, you minimize the energy of cyclohexane using the
AMBER force field. Before you proceed with this lesson, it is important to understand some of the basic concepts of energy minimization.
Energy minimization alters molecular geometry to lower theenergy of the system, and yields a more stable conformation. As
the minimization progresses, it searches for a molecular structurein which the energy does not change with infinitesimal changes ingeometry. This means that the derivative of the energy withrespect to all Cartesian coordinates, called the gradient, is near zero.
This is known as a stationary point on the potential energy surface.
If small changes in geometric parameters raise the energy of themolecule, the conformation is relatively stable, and is referred toas a minimum. If the energy lowers by small changes in one or moredimensions, but not in all dimensions, it is a saddle point.

129

Choosing the Force Field

A molecular system can have many minima. The one with the lowest energy is called the global minimum and the rest are referred toas local minima.
In this lesson, you calculate three stationary points for cyclohexane: chair, boat, and twist-boat. You perform molecular mechanics
optimization on each form and compare energies to determine theglobal minimum energy conformation.

Keeping a Log File
The status line at the bottom of the HyperChem window displays
the most pertinent results of a calculation. You can keep these messages, and other information relating to the calculation, in a log
file. This makes it easier for you to print, plot, or paste the information from the log file into a manuscript.
To start a log file:
1. If necessary, reopen HyperChem.
2. Choose Start Log on the File menu.
The Open Log menu opens and the default filename,chem.log, appears in the text box.
If the file chem.log already exists, you can append to it bychecking the Append option.
3. L-click on OK.
The log file chem.log starts collecting the results of any
calculations that are performed.

Choosing the Force Field
Before you build the chair structure of cyclohexane and perform amolecular mechanics optimization, you should choose a molecular mechanics force field provided with HyperChem.
A force field contains atom types and parameters that must be
assigned to the molecule before you perform a molecular mechanics calculation. For this exercise, you use the AMBER force field.
To choose the force field:
1. Choose Molecular Mechanics on the Setup menu.
130

Lesson 9

Choosing the Force Field

2. When the dialog box appears, choose AMBER.
3. L-click on Options to open the Force Field Options dialog box.
4. Set the Dielectric to Distance Dependent.
If no explicit solvent water molecules are added to the calculation, it is a common approximation to use a distant-dependent
dielectric constant in which Coulomb interactions fall off as
1/r2 rather than 1/r to simulate the effect of a solvent. In either
case, Coulomb interactions can be scaled by an additional
scale factor if you choose a value different from 1.0.
5. Set the Scale factor to 1.
6. Set both the Electrostatic and van der Waals 1-4 scale factors to
0.5.
These options determine the scaling of nonbonded interactions for atoms that are separated by three bonds. The AMBER
parameters were derived with both scale factors set to 0.5 so
you should normally use these with the AMBER force field.

7. Set Cutoffs to None.
For calculations on large structures, it is possible to reduce thescale of the calculation by ignoring long-range interactions. In
this case, the structure will be small enough that this option
can be ignored.
8. Choose OK to close both dialog boxes.
9. Choose Select Parameter Set on the Setup menu.
10. When the dialog box appears, choose amber2.
Several different parameter sets are available for the AMBER
force field, and users can define their own parameter sets. For
more information about the differences between versions of

Minimizing the Energy of a System

131

Building Chair Cyclohexane

the parameter sets, please see the HyperChem Computational
Chemistry manual.

Building Chair Cyclohexane
The first form of cyclohexane you build is the chair form.
To build the chair conformation:
1. Set the Default Element to carbon and get into drawing mode.
2. Set the select level to Atoms.
3. Choose Labels on the Display menu and label the atoms by
number.
4. Make sure Explicit Hydrogens is turned off on the Build menu.
5. Draw the 2D structure in the order shown:

6. Choose Add H & Model Build on the Build menu.
7. Turn off Show Hydrogens on the Display menu.
8. Rotate and translate the structure until it looks like this:132

Lesson 9

Measuring Structural Properties of Chair Cyclohexane

The Model Builder builds the chair form of cyclohexane as thedefault structure. The structure is not optimized, but it has a standard set of bond lengths, angles, and torsions.

Measuring Structural Properties of
Chair Cyclohexane
Now measure the structural properties of the model-built structure. Later, you compare this with geometry measurements fromthe optimized structure.
To measure the geometry of the molecule:
1. Get into selection mode.
2. Set the select level to Atoms and turn Multiple Selection off.
3. Select a few bonds, angles, and torsion angles to explore thegeometry of the structure.
The following values appear on the status line after you makeyour selections:
Bond distance: 1.54Å
Angle: 109.47º
Minimizing the Energy of a System

133

Performing a Single Point Calculation

Torsion: 60º
4. R-click in an empty area of the workspace to make surenothing is selected.

Performing a Single Point Calculation
Next, you perform a single point calculation to obtain the totalenergy of the unoptimized configuration.
To do a single point calculation:
1. Choose Single Point on the Compute menu.
The single point calculation reports the energy in kcal/mol
and total root-mean-square (RMS) gradient in kcal/(mol·Ångstrom) of the current configuration of atoms. The following
values appear on the status line:
Energy= 1.64
Gradient= 3.02
At a local minimum, the RMS gradient is close to zero. Thus
the model-built structure is not a local minimum using the
AMBER force field.

Entering Comments in the Log FileAll the information from the single point calculation has beensaved in the log file. In addition to what appears on the status line,
the log files also show the components of the energy. For futurereference, you can add a comment to the log file.
To enter a comment in the log file:
1. Choose Log Comments on the File menu and enter a commentin the text box as shown:

134

Lesson 9

Optimizing the Structure

2. L-click on OK.

Optimizing the Structure
The next step is to minimize the chair structure by performing amolecular mechanics optimization. First you set the minimization
variables, including the type of minimizer, and then run the calculation.

Setting Optimization Variables
1. Choose Geometry Optimization on the Compute menu.
The dialog box appears:

The dialog box options let you choose an optimization algorithm and the convergence criterion for the energy minimization you are about to perform.
2. Choose Polak-Ribiere as the minimization algorithm.
This algorithm is a good general-purpose optimizer. Both
Polak-Ribiere and Fletcher-Reeves perform a series of
one-dimensional searches, or cycles, in conjugate gradientdirections. Different algorithms might be appropriate in different circumstances.
3. Use 0.1 for the RMS gradient condition, and the default values
for the other variables.
The text boxes for RMS gradient and maximum cycles let you
set conditions for ending a calculation. When the calculation
reaches either of these criteria, the calculation ends.

Minimizing the Energy of a System

135

Measuring Properties of the Minimized System

The In vacuo option performs the calculation without periodic
boundary conditions. This is the only choice unless the system
has been set up in a periodic box. Periodic boundary conditions
reverses the in vacuo option. This is grayed out unless you
have used the Periodic Box menu option.

Running the Calculation
You have finished setting the variables for the optimization andare ready to run the calculation.
1. L-click on OK to close the dialog box and start the calculation.
The geometry optimization begins and information about therun appears on the status line. After a few moments, the runfinishes. The following values appear on the status line:
Energy: 1.33
Gradient: 0.07
The gradient is much less than the gradient measured in themodel-built structure before minimization.
The number of cycles is the number of search directions used(both Fletcher-Reeves and Polak-Ribiere use a series of onedimensional searches) and the number of points is the numberof energy and gradient evaluations.

Measuring Properties of the Minimized System
Now compare the structural properties of the minimized systemwith those of the model-built structure.
1. Select various bonds, angles, and torsion angles.
Values appear on the status line when you make your selections:
Bond distances: 1.53Å
Angles:110.2ºTorsions:

58.0º

2. Compare these values with the following values from theunminimized structure:136

Lesson 9

Transforming from Chair to Boat Cyclohexane

Bond distances: 1.54Å
Angles:109.4ºTorsions:

60º

Comparing the structure properties shows that energy minimization increased the bond angles slightly from tetrahedral anddecreased the torsion angle by 2 degrees.

Transforming from Chair to Boat Cyclohexane
In this exercise, you reflect one end of the molecule to produce theboat form of cyclohexane.
To define a reflection plane:
1. Turn on Multiple Selections.
2. If you are not in selection mode, L-click on the Selection tool.
3. Double-click on the Selection tool to return to the model-built
structure.
4. L-click on bonds 1-2 and 4-5 to select the reflection plane
shown here:

Minimizing the Energy of a System

137

Transforming from Chair to Boat Cyclohexane

5. Choose Name Selection on the Select menu.
6. Choose PLANE, and then choose OK.
To reflect one end of the molecule:
1. If necessary, Choose Show Hydrogens and use the Zoom tool toscale the molecule so that the entire molecule is in view.
2. LR-drag to extend the selection to include all atoms on one
side of the initially selected bonds.

3. Choose Reflect on the Edit menu.
The selected atoms are reflected through PLANE, producing theboat transformation of cyclohexane.
The structure should now look like this:138

Lesson 9

Measuring the Axial Hydrogens

4. R-click in an empty area of the workspace to deselect theatoms.

Measuring the Axial Hydrogens
Two axial hydrogens are fairly close together in boat structure.
To measure the distance:
1. L-click on these two atoms:

Minimizing the Energy of a System

139

Optimizing the Boat Cyclohexane

The status line reports a distance of only 1.84Å. This is quite
close for atoms that are nonbonded. Optimizing the structure
moves these atoms further apart to lower the energy.

Optimizing the Boat Cyclohexane
To minimize the boat structure:
1. R-click in an empty area of the workspace to deselect theatoms.
2. Choose Geometry Optimization on the Compute menu.
3. Choose OK to begin the minimization using the previous
options.
As each conformation appears in the workspace, values for theenergy and gradient appear on the status line. After the minimization finishes, the status line displays these values:
Energy: 8.31
Gradient: 0.08

140

Lesson 9

Remeasuring the Axial Hydrogens

Remeasuring the Axial Hydrogens
1. L-click on the two axial hydrogens.
The status line displays the new H-H distance (2.28Å). Theenergy minimization has slightly flattened the structure andmoved the two axial hydrogens apart.
The optimized boat structure is a saddle point. The plane ofsymmetry in the starting structure balances all forces perpendicular to that plane. The optimizer search directions are basedon these forces, and therefore, all search directions have thesame symmetry plane. HyperChem finds a saddle point that is
a minimum with respect to all dimensions except the symmetry plane.

Creating Twist Boat Cyclohexane
A third form of cyclohexane, the twist boat form, is a true local
minimum. A simple way to obtain this is to modify the boat form
slightly by imposing a bond torsion constraint, rebuilding, andoptimizing the structure.
To set torsion bond constraint:
1. R-click in an empty area of the workspace to clear the selection.
2. Turn off Show Hydrogens.
3. Select a four-carbon atom torsion angle by selecting 6-1, 1-2,
and 2-3 bonds in that order.

Minimizing the Energy of a System

141

Creating Twist Boat Cyclohexane

You must select the bonds in this order so that the correct
angle is constrained. The Model Builder calculates geometries
according to the order of selection; specifying a constraint forthis particular torsion only changes the position of carbon 6.
4. Choose Constrain Bond Torsion on the Build menu, selectOther, and enter 30 to set the constraint to 30 degrees. Thenchoose OK.

5. R-click in an empty area of the workspace.
The torsion is deselected, but the constraint remains set.
To rebuild the molecule with the bond torsion constraint:
1. Double-click on the Selection tool to invoke the Model Builder.

142

Lesson 9

Optimizing Twist Boat Cyclohexane

HyperChem rebuilds the structure with the torsional constraint to create a canonical twist boat form of cyclohexane.

Optimizing Twist Boat Cyclohexane
Optimize this geometry using the minimization variables from theprevious optimization.
To minimize the twist boat structure:
1. Choose Geometry Optimization on the Compute menu.
2. Choose OK to begin the minimization using the previous
options.
After the minimization finishes, these values appear on thestatus line:
Energy: 7.22
Gradient: 0.07

Analyzing the Results
The following table summarizes the energy in kcal/mol, and gradient in kcal/(mol·Ångstrom), for the three different forms of cyclohexane after geometry optimization:

chair

boat

twist-boatenergy

1.33

8.31

7.22

gradient

0.07

0.08

0.07

Minimizing the Energy of a System

143

Stopping the Log File

The chair and twist-boat structures have energies below the boat
structure and the chair form is the global minimum. The absoluteenergies from these calculations are not meaningful, but you cancompare relative energies with experiment:

presentexpt. estimatea∆E (boat-chair)

6.98

6.9

∆E (twistboat-chair)

5.89

5.3

a. J.B. Hendrickson, J. Am. Chem. Soc. 83, 4537 (1961)
J.B. Hendrickson, J. Am. Chem. Soc. 89, 7036 (1967)

Stopping the Log File
Now that you’ve finished running calculations, you can stop thelog file and examine it by using a text editor such as Notepad, or
WordPad which are included with Microsoft Windows.
To stop logging your work:
1. Choose Stop Log on the File menu.
The logfile chem.log contains a record of the various optimization runs. You can examine it using a text editor and can also
edit the log file for use with plots or documents.
To open the log file:
1. Exit HyperChem without saving your work.
2. Locate and open the text editor application.
3. Choose Open on the File menu of the text editor, e.g. Notepad.
4. Navigate to your HyperChem directory (e.g., c:\hyper7).
5. Choose “Files of type:” as “All Files”. Click on chem.log orenter chem.log in the File name: text box. Choose Open.
6. Examine the contents of the file using the scroll boxes.
7. When you have finished, close the text editor without saving
your changes.

144

Lesson 9

Practice Exercises

Alternatively, you can edit the log file for use with plots orother documents.

Practice Exercises
1. Repeat this lesson using the MM+ force field and compare
results.

For More Information
For more information on force fields, see appendix B, “Force Field
Files,” in the HyperChem for Windows Reference Manual.
For more information on energy optimization and single point calculations, see Chapter 7, “Chemical Calculations,” in the same
manual.

Minimizing the Energy of a System

145

146

Lesson 10
Simulating Dynamic
and Equilibrium Behavior
Skills Covered in This Lesson•

Building and editing molecules•

Using molecular mechanics geometry optimization•

Using periodic boundary conditions•

Superimposing two molecules•

Using molecular dynamics•

Using dynamics playback and averaging•

Using Langevin dynamics and Monte Carlo

This lesson further explores HyperChem’s molecular mechanics
functionality, and demonstrates how to use molecular dynamics
with HyperChem.
Using the AMBER force field you will optimize an alanine zwitterion in both isolation and solution to determine the effect of solvent on the optimal structure. You will also perform molecular
dynamics in solution to simulate its behavior in biological systems.
This lesson has five exercises:
In exercise 1, you will create an optimized alanine zwitterion using
the building and editing skills you learned in previous lessons.
In exercise 2, you will use periodic boundary conditions to solvate
the zwitterion.
In exercise 3, you will use superposition to visually compare theisolated molecule and the solvated molecule.
In exercise 4, you will use molecular dynamics to anneal the system to obtain a lower energy minimum.

147

Exercise 1: Creating the Isolated Alanine Zwitterion

In exercise 5, you will use Langevin dynamics to simulate the presence of a solvent during annealing, and Monte Carlo to sample
configurations from a Boltzmann-weighted distribution.

Exercise 1: Creating the Isolated Alanine Zwitterion
Sketching the Alanine Zwitterion
Although you could easily use the HyperChem amino acid libraryto display alanine, as a practice exercise you will build it fromscratch.
To sketch the alanine zwitterion:
1. If necessary, reopen HyperChem.
2. Double-click on the Drawing tool to open the Default Element
dialog box.
3. Turn on Allow Arbitrary Valence and Explicit hydrogens.
4. Choose carbon and then close the dialog box.
5. Turn Show Hydrogens on.
6. Set the label option to label atoms by symbol.
7. L-click on the Drawing tool to get into drawing mode.
8. Draw the following sketch.

148

Lesson 10

Exercise 1: Creating the Isolated Alanine Zwitterion

Notice that one carbon has only two hydrogens. You will edit
these hydrogens to become oxygens.

Editing the StructureThis structure is only a hydrocarbon and you need to edit thestructure to create the alanine zwitterion. Specifically, you need tochange some atoms into nitrogen or oxygen and conjugate thecarboxyl group.
To edit the structure:
1. Open the Default Element dialog box and change the default
element to nitrogen.
2. L-click on one of the methyl carbons to turn it into a nitrogen
atom as shown below:

Simulating Dynamic and Equilibrium Behavior

149

Exercise 1: Creating the Isolated Alanine Zwitterion

nitrogen atom

3. Change the default element to oxygen.
4. L-click on the two hydrogens that will become part of the
carboxylate group to turn them into oxygen atoms.
5. Double-click on each of the carbon-oxygen bonds to turnthem into conjugated bonds.
6. Your drawing should look like this:150

Lesson 10

Exercise 1: Creating the Isolated Alanine Zwitterion

Assigning Atomic Charges
The next step is to place formal charges on some atoms to approximately represent the charge distribution in the zwitterion. You
can obtain the atomic charges with HyperChem using the following methods:•

If a molecule is built from a template, such as a PDB file, thetemplate might contain charges•

By performing a quantum mechanical calculation•

By making an approximation of the charges

In this exercise, you make a simple approximation of a formal
charge of +1.0 on the nitrogen atom and charges of –0.5 on theoxygens. This results in nonzero values for these three atoms.
To assign atomic charges:
1. Get into selection mode and set the select level to atoms.
2. Make sure Multiple Selections is turned on.
3. Select the nitrogen atom.

Simulating Dynamic and Equilibrium Behavior

151

Exercise 1: Creating the Isolated Alanine Zwitterion

4. Choose Set Charge on the Build menu and assign a charge of
1.0.
5. R-click in an empty area to clear the selection.
6. Select both oxygen atoms and assign a charge of –0.5.
This sets a charge of –0.5 for each of the oxygen atoms.
7. R-click in an empty area to deselect the atoms.

Choosing the Force Field
The next step is to choose a force field. You should choose a force
field before you invoke the Model Builder because the Model
Builder assigns atom types to each atom according to the force
field that you specify. Alternatively, you could explicitly assign
atom types any time by using Calculate Types on the Build menu.
However, the simplest way is to assign the correct force field before
you invoke the Model Builder.
To choose the force field:
1. Select Molecular Mechanics on the Setup menu.
The Molecular Mechanics Force Field dialog box opens.
2. Select AMBER, then L-click on Options.
The Force Field Options dialog box opens.
3. Use the following default values, then choose OK.

Except for cutoffs and the dielectric functional form, these values are standard for the AMBER force field.
4. Choose OK to close the Force Field Options dialog box.
5. Choose OK to close the Molecular Mechanics Force Field dialog
box.
152

Lesson 10

Exercise 1: Creating the Isolated Alanine Zwitterion

6. If the following dialog box appears, choose OK.

Building and Exploring the 3D Structure
You are ready to build the 3D model for alanine and look at its conformation.
To build and orient the structure:
1. Double-click on the Selection tool to invoke the Model Builder.
HyperChem builds and displays a first approximation of thealanine zwitterion.
2. Rotate and translate the structure to look at its conformation.

The model-built structure is only an approximation of thestructure of the alanine zwitterion.
3. Open the Labels dialog box from the Display menu and choose
Chirality for atoms. If the central carbon is labelled R rather

Simulating Dynamic and Equilibrium Behavior

153

Exercise 1: Creating the Isolated Alanine Zwitterion

than S, then switch to the drawing tool, hold down the [Shift]
key and click on the central carbon.
You can use [Shift]+L-click with the drawing tool to rotate twoneighbors, thus changing chirality. You can also draw wedges
to specify conformation or chirality; see Chapter 8 of the Reference Manual for details.
4. Change the atom labels back to Symbol and switch back to theselection tool (if you changed it to the Drawing tool in the laststep).
5. Save the structure as alaz.hin.
To measure its structural properties:
1. Get into selection mode and L-drag from oxygen atom tooxygen atom.
The Model Builder built the O-C’-O angle at 120 degrees.
2. R-click in an empty area to clear the selection.
3. L-drag from the nitrogen atom to one of the oxygen atoms.

The O-C’-Cα-N torsion angle is ±60 degrees or ±120 degrees,
depending on the order that you used to draw the atoms in the
structure.

154

Lesson 10

Exercise 1: Creating the Isolated Alanine Zwitterion

4. R-click in an empty area to deselect the torsion angle.
To display the AMBER atom types:
1. Open the Label dialog box and set the atom label type to Type.

Performing a Single Point Calculation
Now, perform a single point calculation to compute the energy
and gradient.
To perform a single point calculation:
1. Choose Single Point on the Compute menu.
After a few moments, the calculation finishes and the statusline reports the results:
Energy= 74.59
Gradient=95.70

Simulating Dynamic and Equilibrium Behavior

155

Exercise 1: Creating the Isolated Alanine Zwitterion

Optimizing the Isolated Molecule
The large energy and gradient indicate that the model-built structure is far from optimal. The principal strain is due to the C-N and
C-O distances.
To optimize the structure:
1. Choose Geometry Optimization on the Compute menu.
The Molecular Mechanics Optimization dialog box opens:

2. Fill in the dialog box with the values shown, and choose OK tostart the calculation.
After a few moments, the minimization is completed.
The status line displays the following values:
Energy = 18.10
Gradient = 0.10
3. When the optimization is complete, remeasure the O-C’-O
angle and the N-Cα-C’-O torsion:
O-C’-O angle= 123.9º
N-Ca-C’-O torsions = -51 and 99 degreesº
Recall that for the unoptimized structure, the O-C’-O angle
measured 120 degrees and the N-Cα-C’-O torsion angles measured ±60 degrees and ±120 degrees.
Later in this lesson, you use the N-Cα-C’-O angle to demonstrate molecular dynamics features of HyperChem, so save thisangle as a named selection.

156

Lesson 10

Exercise 1: Creating the Isolated Alanine Zwitterion•With the angle still selected, choose Name Selection on the
Select menu.

•

Select Other, enter ncco, then choose OK.

4. R-click in an empty area to deselect the angle.

Saving the Structure
At this point you should save the optimized isolated alanine structure so that you can compare it with the solvated structure you
create next.
To save the structure:
1. Open the Save File dialog box by pressing [Ctrl]+[S] as an alternative to using the menu choice.
2. Make sure HIN is selected as the File format.
3. Name the file ala-gas.hin.
4. L-click in the Comments box. As shown in the following illustration, enter comments for the file:

Simulating Dynamic and Equilibrium Behavior

157

Exercise 2: Solvating the Structure

5. Choose OK.

Exercise 2: Solvating the Structure
HyperChem lets you place a molecular system in a periodic box ofwater molecules to simulate behavior in aqueous solution, as in abiological system. In this exercise, you solvate the alanine zwitterion you created in Exercise 1.
Before you continue, follow these steps:
1. Remove labels from the display by using the default settings in
the Labels dialog box.
2. Choose Periodic Box on the Setup menu to open the Periodic
Box Options dialog box.

158

Lesson 10

Exercise 2: Solvating the Structure

Setting up Periodic Boundary Conditions
To solvate a system with HyperChem you specify a rectangular box
or cube of equilibrated water molecules. You define the dimensions of the box, place the solute in the center, and define the minimum distance between the solvent and solute atoms. HyperChemeliminates all water molecules with atoms that come closer to asolute atom than the specified distance.

Specifying the Periodic Box Size
There are several factors to consider when you define the size ofthe periodic box. For example, it must be larger than the dimensions for the Smallest box enclosing solute that appear in the Periodic Box Options dialog box.
Box dimensions at least twice the largest solute dimension avoid
solute-solute interactions when using the default cutoffs. The solute-solute interactions can also be avoided with a smaller box bylessening the cutoff radius after solvation (so that the largest solute
dimension plus the cutoff radius and range is less than the smallest
box dimension). The reference cube of water is formed from anequilibrated cube of 18.70136Å and its nearest images, so you
shouldn’t use dimensions larger than 56.10408Å. Dimensions thatare multiples of 18.70136Å minimize initial bad contacts.
To choose the periodic box size:
1. Specify a box size of 12.0 by 10.0 by 12.0 Ångstroms, as shownin the following illustration.

Simulating Dynamic and Equilibrium Behavior

159

Exercise 2: Solvating the Structure

2. Choose OK.
This places the structure in the center of the box surroundedby 40 water molecules.
Note: Because the orientations of the water molecules in the box
are not symmetrical, you may end up with fewer than 40 watermolecules after the ones that are too close to your structure aredeleted. If this happens, the results that you get from calculations
may not be quite the same as those given in this lesson. This will
depend on how your structure is oriented before you solvate it.

Displaying the Solvated System
1. Choose Rendering on the Display menu.
2. Turn on Perspective in the Rendering/Sticks dialog box, andthen choose OK.
3. Set the select level to Molecules.
4. Select a bond or atom of the alanine molecule, and rotate thewhole system to look like this:160

Lesson 10

Exercise 2: Solvating the Structure

Adjusting Cutoffs and Dielectric Options
When you use periodic boundary conditions, you need to checkthe options for cutoffs and dielectric in the Force Field Options
dialog box.
To check the options for cutoffs and dielectric:
1. Choose Molecular Mechanics on the Setup menu.
2. Choose Options to open the Force Field Options dialog box.
3. Look at the Cutoffs options at the right of the dialog box.

When you choose the Periodic box menu option, HyperChem
automatically changes the options for cutoffs to Inner andOuter options, which are more appropriate for the solvated sysSimulating Dynamic and Equilibrium Behavior

161

Exercise 2: Solvating the Structure

tem with the nearest-image periodic boundary conditions. The
Outer cutoff is set to one-half of the smallest box dimension,and the Inner cutoff is set to 4Å less to ensure that there are no
discontinuities in the potential surface.
4. Now look at options for Dielectric, which are at the top of the
dialog box.
When you use explicit solvent, you should use a constantdielectric.
5. Select Constant instead of Distance dependent.
Note: The dielectric constant is not automatically changed
because the new setting is stored in the chem.ini file.
6. Choose OK to close the Force Field Options dialog box.
7. Choose OK to close the Molecular Mechanics Force Field dialog
box.

Optimizing the Solvated Molecule
The next step is to optimize the solvated system using periodic
boundary conditions. Since the alanine molecule has an optimum
geometry (at least in isolation), the optimization primarily relaxes
the solvent. Changes in alanine reflect the difference between isolated and in solution optimal structures.
To optimize the molecule in solution:
1. Get into selection mode and R-click in an empty area todeselect the alanine.
When there is an active selection, an optimization is performed on the selection only. Therefore if you started the optimization with alanine selected, only the position of the alanine atoms is allowed to change and the water molecules areconstrained.
To optimize the complete system and allow reorganization of
the solvent structure in the presence of alanine, you must clear
the selection.
2. Choose Geometry Optimization on the Compute menu.
This opens the Molecular Mechanics Optimization dialog box.

162

Lesson 10

Exercise 3: Using Superposition

3. Choose OK to start the optimization of the solvated alanine,
including the water molecules.
The calculation takes a few minutes.
4. When the calculation finishes, the following values appear on
the status line:
Energy = -1102.46
Gradient=0.09
Note: If you have fewer than 40 water molecules in your system,
you will get different values.
The optimized structure for the solvated system might only bea local minimum. In a system with many degrees of freedom,such as this one, there might be many minima and it can bevery difficult to locate the global minimum.
When there are enough degrees of freedom, it is possible thatany static conformation is insignificant, and that only a statistical treatment of many low-energy conformations is appropriate.
Later in this lesson, you learn that the current structure for thesolvated alanine is only a local minimum, not a global one.
Nevertheless, you save this structure for later use.
5. Save the structure as ala-liq.hin.

Exercise 3: Using Superposition
The system currently displayed is a minimized structure for thealanine zwitterion in water. It is instructive to compare the structure with the corresponding isolated optimized structure. Insteadof comparing the molecules by measuring individual structuralproperties, you use HyperChem’s superposition feature to visuallycompare the two structures by superimposing.

Deleting the Water Molecules
Before superposing, delete the water molecules from the isolated
structure.

Simulating Dynamic and Equilibrium Behavior

163

Exercise 3: Using Superposition

To delete the water molecules:
1. Get into selection mode and set the select level to Molecules.
2. L-click on the alanine.
This selects the alanine.

3. Choose Complement Selection.
This selects only the water molecules.
4. Choose Clear on the Edit menu.
5. If a dialog box appears asking if you want to delete the selected
atoms, choose Yes.

6. Choose Show Periodic box so that it is not set and only the alanine molecule is shown.
7. Save the file as ala-sol.hin.

164

Lesson 10

Exercise 3: Using Superposition

Merging the Two Systems
The next step is to merge this system with the isolated system.
Before you merge the two systems, you should select the current
system so that you can differentiate it on the workspace after themerge.
To merge the two systems:
1. Select the alanine.
2. Choose Name Selection on the Select menu and save the selection as solvated.
This makes it convenient for you to display this selection later
if you want to recover it.
3. Choose Merge on the File menu and open ala-gas.hin.
Both the isolated and the solvated structures should now be onscreen. The solvated structure should still be selected.

Merge lets you combine the current system and another system that has been stored in a file. This union becomes the current system.
4. If necessary, use the Translation tool with the right mouse button until both structures are in full view.
Simulating Dynamic and Equilibrium Behavior

165

Exercise 3: Using Superposition

At this point, use labels and color to differentiate the molecules.
5. Color the selected solvated structure yellow and label the molecule by symbol.
Note: If Thick line is not being used as the Selection option in
the Preferences dialog box, the solvated structure does notappear yellow until it is deselected.
6. Choose Complement Selection on the Select menu.
The solvated system is deselected and the isolated alanine isselected.
7. Color the selected isolated alanine violet and label it by symbol.
8. R-click in an empty area to deselect the isolated alanine.

Superposing Molecules
When a system includes at least two molecules, as in this example,
HyperChem can superpose the molecules. Superposition is basedon the selection of three non-collinear atoms in each molecule. To
begin, the first selected atoms of each molecule are made coincident. Next, the bonds between the first and second selected atomsof each molecule are made collinear. Finally, the third selected
atoms of each molecule are put in the same plane.
To perform the superposition:
1. Get into selection mode, set the select level to atoms, and turnMultiple Selections on.
2. L-drag the N-Cα-C’ bond angle of each molecule. You might
have to rotate the structures to do this.

166

Lesson 10

Exercise 3: Using Superposition

3. Choose Overlay on the Display menu.
4. R-click in an empty area to clear the selection.
5. Press the space bar to center the superposed structures in theworkspace.
The current system should now look similar to this:Simulating Dynamic and Equilibrium Behavior

167

Exercise 4: Simulated Annealing

6. Choose Save As on the File menu and save the superposed
molecules as ala-sup.hin.

Exercise 4: Simulated Annealing
Here you use molecular dynamics to anneal the system to obtaina lower energy minimum. You must first retrieve the solvated alanine zwitterion system to perform molecular dynamics with it.
To retrieve the solvated system:
1. Open the file ala-liqsn1.hin.
2. If necessary, turn on Show Periodic Box to display the periodic
box you defined earlier.
3. If necessary, remove labels from the display.
To set up the dynamics simulation:
1. Choose Molecular Dynamics on the Compute menu.
The Molecular Dynamics Options dialog box lets you set theoptions for a molecular dynamics calculation. Take a momentto look at the options.

168

Lesson 10

Exercise 4: Simulated Annealing

A dynamics run has three optional phases: heat, run, and cool.
The first phase occurs over a simulation period of heat time,using the starting temperature to set initial velocities with rescaling of velocities at temperature increments to reach the simulation temperature.
In the middle phase, velocities are rescaled only if constanttemperature is selected.
The final phase occurs over a simulation period of cool time,with rescaling of velocities at temperature increments to reachthe final temperature.
2. Set the Heat time to 0.1 picoseconds.
3. Set the Temperature step to 30K.
Because the gradient is very small in the starting system (corresponding to a near-zero temperature), a short heat time of
0.1 picoseconds is used to raise the temperature from a starting
temperature of 100 K to the simulation temperature of 300K
incrementing by a temperature step of 30K.
4. Set the Run time to 0.5 picoseconds.
The temperatures are used here to set up initial atom velocities
or to adjust atom velocities. This kinetic energy might be converted into potential energy during simulation, causing the
calculated temperature to drop. If the temperature eventuallyrises (as it does in this example), it means that potential energy
is being converted into kinetic energy as the system moves toa more stable conformation.
5. Make sure the Periodic boundary conditions option is on.

Simulating Dynamic and Equilibrium Behavior

169

Exercise 4: Simulated Annealing

This option is automatically turned on by HyperChem when
periodic boundary conditions are used, but it can be overridden by selecting In vacuo.
6. Set the Step Size to 0.0005 picoseconds.
7. Set the Data Collection period to 4.
For systems such as this that have explicit hydrogen atoms, a
0.5 fs step size is appropriate for accurately integrating thehydrogen stretching motion. You can update the screen at any
number of time steps to display real-time molecular dynamics.
Depending on the specific hardware you are using, collecting
data too often can slow down the dynamics run, so the Data
collection period is set to 4.
8. Turn Constant Temperature off.
9. The settings in the dialog box should look like this:Setting up Playback Dynamics
The next step is to set up playback dynamics. Playback dynamics
is convenient because it saves time-consuming dynamics simulations for you to analyze later.
Molecular dynamics simulates the evolution of a system over time,
producing a trajectory of atomic positions and velocities. These
calculations can be very time consuming, and for statisticallymeaningful results, long simulation times corresponding to many
thousands of time steps might be required.
Often you’ll want to save the calculated trajectory for later playback or analysis, rather than having to repeat the simulation.
170

Lesson 10

Exercise 4: Simulated Annealing

To set up playback dynamics:
1. Choose Snapshots at the bottom of the Molecular Dynamics
Options dialog box.
The Molecular Dynamics Snapshots dialog box opens.
2. Enter ala-run as the filename.
HyperChem generates two files with the prefix ala-run.
One file, ala-run.hin, is a HIN file that contains a snapshot
entry. Another file, ala-run.snp, is a binary file containing
atomic coordinates and velocities.
3. Use a Snapshot period of 1 data step.
4. Choose OK to return to the Molecular Dynamics Options dialog box.

Setting up Averaging from Molecular Dynamics
Molecular dynamics is often used to obtain macroscopic information by sampling a microscopic simulation over a long period oftime. It is also useful to track energetic and geometric quantities as
the simulation proceeds to see if the system has stabilized enoughfor sampling to be statistically valid or not.
Note: When you start the Averaging function, HyperChem createsa file with the extension .csv in the current working directory (seepage 173). However, if you are reading a snapshot file from a CD,
the current directory is on the CD; you cannot create a file there.
You will need to copy the snapshot file to your hard drive first.
To set up averaging:
1. Choose Averages to open the Molecular Dynamics Averages
dialog box.

Simulating Dynamic and Equilibrium Behavior

171

Exercise 4: Simulated Annealing

2. L-click on EKIN, EPOT, ETOT, and ncco in the Selection box,
then L-click on Add to move them to the Average only box.

3. L-click on EKIN, EPOT, ETOT, and ncco in the Average only box,
then L-click on Add to move them to the Avg. & graph box.

172

Lesson 10

Exercise 4: Simulated Annealing

This specifies a plot of total energy, potential energy, kinetic
energy, and the N-Cα-C’-O torsion angle you saved as a named
selection earlier.
HyperChem generates a file named ala-run.csv (or chem.csv if
playback dynamics is not set up), which records the quantities
being averaged in a format that can be easily read by plottingor spreadsheet programs for analysis.

Proceeding with Dynamics
1. Choose OK to return to the Molecular Dynamics Options dialog box, then choose Proceed to start dynamics.
A graph titled Molecular Dynamics Results opens on the workspace.
2. Move the graph so that you can watch the simulation.
While the calculation is running, you can change the view ofthe system by using the rotation, translation, zoom, and clip
tools. You can also use applications in other windows, but thiscan slow down the simulation.
3. As the simulation continues, choose Rescale to rescale the values being plotted.

Once the heating phase is finished, (when energy is being
added) the total energy remains constant, and the kinetic
energy mirrors the potential energy.
Caution: You cannot recover the plot if you L-click on Done. To
recover the plot, you must use replay dynamics.
In the early part of the run after heating, the potential energy
and temperature should be fairly stable, but then the systemtemperature rises. The potential energy during the run eventually drops significantly. The molecular dynamics at room temperature lets the system surmount energy barriers on thepotential surface and find regions of lower potential energythat would not be reached by a minimization algorithm.
When the dynamics run has completed, you can optimize thesystem to determine a new minimum.
After approximately 10 minutes, the run finishes.

Simulating Dynamic and Equilibrium Behavior

173

Reoptimizing the New Structure

Reoptimizing the New Structure
Now that the dynamics run is finished, you can optimize the structure to determine a new local minimum.
1. Choose Geometry Optimization on the Compute menu.
2. Choose OK to perform a molecular mechanics optimization
using the options from the previous calculation.
After the optimization finishes, the status line shows a structure that has lower energy than the solvated local minimum
found earlier.
The results demonstrate that molecular dynamics can be used
to reach thermodynamically favored conformations separated
from the starting conformation by energy barriers. Thus
molecular dynamics can be used to explore conformational
space.
In this type of calculation, the box size and the simulation
period are not as important as when you want averaged resultscomparable with experiment. Such sampling should begin
once the system has been equilibrated, often judged by kinetic
and potential energies fluctuating about consistent values fora long period of simulation.

Exercise 5: Langevin and Monte Carlo Simulations
In this tutorial you use Langevin and Monte Carlo simulation
methods to further explore conformations of the alanine zwitterion system. The Langevin Dynamics method simulates the
motion of molecules subjected to random collisions and frictional
forces and can be used to model solvated systems without explicitly including solvent molecules. It provides information on thetime evolution of the molecular system. The Monte Carlo method
is used to simulate equilibrium properties.

Part 1: Langevin Dynamics
A Langevin Dynamics simulation is set up in much the same way
as a Molecular Dynamics simulation, with small differences due tothe addition of the friction coefficient.

174

Lesson 10

Exercise 5: Langevin and Monte Carlo Simulations

1. Retrieve the gas phase alanine zwitterion, which you saved as
ala-gas.hin (see Exercise 1 in this section).
2. Set the Molecular Dynamics Options as in the preceding Exercise.
3. Set the Friction coefficient to 0.05 ps -1.
When the friction coefficient is set to zero, HyperChem performs regular molecular dynamics, and one should use a time
step that is appropriate for that method. With larger values ofthe friction coefficient, motions that occur over a short time
are less important and larger time steps can be used.
4. 4. Set the Time step to 0.001 picoseconds.
5. Set up Averages and Snapshots as in the preceding exercise.
6. Choose Proceed to start the Langevin Dynamics simulation.
As with the Molecular Dynamics technique, heating and cooling phases may also be added to a Langevin dynamics simulation. Equilibration of the system is not crucial for locating
additional low-energy structures, but it is important whencomparing simulated values with experimental properties.

Part 2: Monte Carlo Simulation
The Monte Carlo method samples configurations from a Boltzmann-weighted distribution at a given temperature. At elevatedtemperatures, this technique may be used to move the molecularsystem of interest across potential energy barriers. In this exercise
we employ the Monte Carlo method followed by geometry optimization as an additional conformational search technique.

To set up the Monte Carlo simulation:
1. First retrieve the solvated alanine zwitterion system, which
was saved as ala-liq.hin.
2. Choose Monte Carlo on the Compute menu.
The Monte Carlo Options dialog box allows you to set up theMonte Carlo simulation parameters. In this example we will
run a constant temperature simulation with 1000 steps. For
some systems, it may be useful to add optional heat and coolphases.

Simulating Dynamic and Equilibrium Behavior

175

Exercise 5: Langevin and Monte Carlo Simulations

3. Set the Run Steps to 1000. Set Heat and Cool steps to 0.
4. Set the maximum step size, Max Delta, to 0.05 Å.
This sets the maximum trial atomic displacement. If it is too
small only limited sampling of new configurations will occur.
If it is too large, unphysical configurations may be generated.
This reduces the efficiency of the simulation.
5. Set the Simulation Temperature to 300K.
6. Make sure that Periodic boundary conditions is on (✓).
7. Set the Data Collection period to 4 steps.

Setting up Monte Carlo Playback
8. Set up a snapshot file, if desired.
Playback of the Monte Carlo “trajectory” is set up in the same
way as Dynamics playback. See “Setting up Playback Dynamics” on page 170. As with Dynamics, analysis of the simulation
may be conveniently carried out at playback. For example, you
can stop the playback at the point in a simulation where thepotential energy falls, and save the structure at that point. You
can also change the graphing and averaging selections before
playing back a run.

Setting up Averaging from Monte Carlo
9. Set up Averages and Graphing as desired.
The Monte Carlo Averages setup is identical to Molecular
Dynamics Averages setup. There is an additional parameterthat you can monitor in Monte Carlo: the acceptance ratio. It
appears as ACCR on the list of possible selections in the Monte
Carlo Averages dialog box; DACCR, the rms deviation of ACCR
from its mean, appears also. The acceptance ratio is a runningaverage of the ratio of the number of accepted moves toattempted moves. Optimal values are close to 0.5. Varying thestep size can have a large effect on the acceptance ratio. For a
more detailed discussion, see the Monte Carlo section of theComputational Chemistry manual.

176

Lesson 10

Advanced Exercises

Proceeding with Simulation and Analysis
There are no significant differences between the procedures forusing HyperChem to analyze Monte Carlo simulations, and thosefor using it to analyze Molecular Dynamics simulations. The
Monte Carlo Results window can be copied to the Windows clipboard and pasted into other applications. Average values may be
conveniently retrieved by opening the Monte Carlo Averages dialog box. L-click on one of the properties previously selected for
averaging; the average value is reported just below.

Advanced Exercises
1. Follow these steps to view playback dynamics:•

Open the file ala-run.hin.

•

Open the Molecular Dynamics Options dialog box andchoose Playback. Choose Snapshots to determine whichpart of the simulation to replay.

•

Choose Proceed to start playback dynamics.
The simulation will playback substantially faster then theinitial dynamics calculation.

2. Create named selections for two, three, or four atoms, and use
playback dynamics to plot the values.

For More Information
For more information on molecular mechanics geometry optimization, periodic boundary conditions, and molecular dynamics,
see Chapter 7, “Chemical Calculations,” in the HyperChem for
Windows Reference Manual.

Simulating Dynamic and Equilibrium Behavior

177

178

Lesson 11
Molecular Orbital
Calculations
Skills Covered in This Lesson•

Calculating wave functions•

Plotting the electrostatic potential, total charge density, andmolecular orbitals•

Calculating atomic charges•

Using structure alignment

This lesson acquaints you with the various types of semi-empiricalquantum mechanical calculations that HyperChem can do. The
molecule you use in this lesson is water.

Creating the Water Molecule
To create a model-built structure of water:
1. On the Display menu, make sure Show Hydrogens is turned on
and Perspective is turned off in the Rendering dialog box.
2. In the Default Element dialog box, turn off Explicit Hydrogens,choose Oxygen, then choose Close.
3. L-click in the workspace with the draw cursor to draw an oxygen atom.
4. Double-click on the Selection tool to invoke the Model Builder.
The Model Builder builds the water molecule and adds hydrogens.
5. Label the molecule by symbol.

179

Using Structure Alignment

Your drawing should look like this:The bond angle of this model-built structure is the tetrahedral
109 degrees. You could improve this structure, but for thisexercise you calculate a wave function for this model-built
structure.

Using Structure Alignment
Before you calculate the wave function, place the molecule in astandard orientation by aligning the secondary inertial axis ofwater (the symmetry axis in the plane of the molecule) with they axis.
To do a structure alignment:
1. Choose Align Molecules on the Edit menu.
2. In the Align box choose Secondary, and in the With box choose
Y Axis.

180

Lesson 11

Using Structure Alignment

3. Make sure Minor is turned off; you do not want to specify a secondary alignment.
4. Choose OK.
The water molecule should be oriented in the workspace likethis:

5. Save the structure as h2o.hin.

Molecular Orbital Calculations

181

Displaying Atomic Charges

Displaying Atomic Charges
In Lesson 10 you manually assigned atomic charges using Set
Charges on the Build menu. Charges can be assigned automaticallyif the molecule you are using is read in from a template file, suchas a PDB file.
In this lesson, you obtain the atomic charges by doing a semiempirical quantum mechanics calculation.
First, show that no charges are currently assigned for the watermolecule.
To display charges:
1. Open the Labels dialog box.
2. Choose Charge as the option for Atom, then choose OK.
The labels show that no charges are set for the molecule.

Calculating a Wave Function
A wave function is built from molecular orbitals and describes the
distribution of electrons in a molecule. In this exercise, you calculate a wave function for the entire water molecule. Later, in Lesson
12, you compute a wave function for a selected part of a structure.
To calculate a wave function:
1. Choose Semi-empirical on the Setup menu.
2. Choose CNDO as the method, then choose Options.
You could choose one of the other available methods as well,
but for this example use CNDO as the computation method.
3. Use the following values in the Semi-empirical Options dialog
box:

182

Lesson 11

Calculating a Wave Function

These options set up a Restricted Hartree-Fock (RHF) calculation with a convergence limit of 0.0001, which means that thecalculation ends when the difference in energy after two consecutive iterations is less than 0.0001 kcal/mol.
The Iteration limit, which is set to 50, is the maximum numberof iterations that is used to reach a self-consistent wave
function. Total charge is 0 and Spin multiplicity is 1.
The calculation is performed on the lowest state without special convergence acceleration.
4. Choose OK to close the Semi-empirical options dialog box,
then choose OK to close the Semi-empirical Method dialog
box.
5. Choose Single Point on the Compute menu.
The resulting energy, gradient, and atomic charges should be
as follows:

Molecular Orbital Calculations

183

Plotting the Electrostatic Potential(Your energy and gradient values may be very slightly different.)

Plotting the Electrostatic Potential
Now that you have computed the wave function, you can display
a contour map of the electrostatic potential. Plotting the electrostatic potential might require more time than computing thequantum mechanical wave function. This is because the values
must be computed at a large number of grid points to obtain thecontours.
A plot of the electrostatic potential is overlaid onto theHyperChem workspace and remains until you move or change themolecule or display another plot.
The plane of the contour map is always parallel to the viewer’s XY
plane (the plane of the workspace) at a screen value of Z that you
can set by using these guidelines for subset selection:

184

Lesson 11•

If an atom is selected when a contour map is requested, thecontour plane is relative to the atom. With an offset of zero,
the plane passes through the atom.

•

If a bond is selected, the plane is relative to the center of massof the bond.

Plotting the Electrostatic Potential•

In general, the plane is relative to the center of mass of theselection (or, if no selection has been made, for the wholesystem). The offset specifies the distance the plotting plane isfrom the center of mass of the selection.

To plot the electrostatic potential:
1. Remove the labels from the display.
2. Choose Plot Molecular Properties from the Compute menu to
open the Plot Molecular Properties Options dialog box.
3. Choose Electrostatic Potential as the type of graph you want todisplay and choose 2D Contours.
HyperChem will calculate and display the two-dimensional
contour plot for the electrostatic potential.
4. Click on the Contour Grid tab to show the Contour Grid property sheet.
5. Set Horizontal grid points to 60.
6. Set the Vertical grid points to 60.
7. Set the Contour levels to 30.
8. Set the Plane Offset to 0.5 Ä.
9. Choose OK to begin the calculation.
10. After a few moments, the electrostatic potential appears.
Note: The number of contour lines displayed will vary with thestarting value and increment value used; your display may differ
somewhat from the following picture.

Molecular Orbital Calculations

185

Plotting the Electrostatic Potential

11. Reopen the Plot Molecular Properties Options dialog box andspecify 3D Isosurface instead of 2D Contours.
This will display the electrostatic potential as a 3D surface.
12. Click on the Isosurface Rendering tab to show the Isosurface
Rendering property sheet. Specify an Electrostatic potential contour value of 0.1 in the text box, and select Shaded surface as
the Rendering type.
The surface will show where in 3D space the electrostatic
potential has a value of 0.1 e/a0. The surface will be shaded andsolid.
13. Click on the Isosurface Grid tab to show the Isosurface Grid
property sheet. Specify that the grid should be a Medium grid.
This sheet allows you to select whether the surface should be
drawn with a few points (for a rough picture that is drawn
quickly) or many points (for a smooth picture that takes much
longer to draw).
14. Click on OK to start the calculation of the surface. This willtake a few moments to complete. Then the surface is shown.

186

Lesson 11

Plotting the Electrostatic Potential

15. Reopen the Plot Molecular Properties Options dialog box andspecify 3D Mapped Isosurface.
This will display a surface drawn with a value specified by Total
Charge Density (see the following section) but colored according to the electrostatic potential.
16. Click on the Isosurface Rendering tab to show the Isosurface
Rendering property sheet. Specify a Total charge density contour
value of 0.135 in the text box, and select Gouraud shaded surface as the Rendering type.
The surface will show where in 3D space the total charge density has a value of 0.1 e/a03. The surface will be very smooth
but will take some time to draw.
17. Click on the Mapped Function tab to show the Mapped Function Options property sheet. Specify a Minimum value of -1.0
and a Maximum value of 1.0. Make sure that the Display Range
Legend option is on (marked with a ✓).
The surface will be colored according to the electrostatic
potential, ranging from one color for a value of 1.0 e/a0 toanother color for a value of -1.0 e/a0. A legend will be drawn,
showing how the surface colors represent different values.

Molecular Orbital Calculations

187

Plotting the Total Charge Density

18. Click on OK to start the calculation of the surface. This willtake a few moments to complete. Then the surface is shown.

Plotting the Total Charge Density
You can also display a contour map of the total charge (electron)
density. Since CNDO and the other semi-empirical methods available with HyperChem do not include inner-shell electrons (forexample, the 1s electrons of oxygen in water), the charge density
shown is only the valence charge density.
To plot total charge density:
1. Open the Plot Molecular Properties dialog box.
2. Choose Total Charge Density as the type of plot, choose 2D Contours, and then L-click on OK to close this dialog box.
After a few moments, the total charge density appears.

188

Lesson 11

Plotting the Total Spin Density

The total charge density can also be drawn as a 3D Surface, but not
as a Mapped 3D Surface.

Plotting the Total Spin Density
Total spin density can be plotted in the same way as the total
charge density. However, in the case of the water molecule (and allother systems in which all electrons are paired), the value of thetotal spin density is 0 everywhere, and there is nothing to plot.
Spin density can be calculated and displayed for chemical systems
with unpaired electrons.

Plotting Individual Molecular Orbitals
You can also plot any individual molecular orbital—either thesigned orbital itself or the squared value equivalent to theprobability distribution—for an electron in that orbital. The
orbitals are specified relative to the highest occupied molecularorbital (HOMO) and the lowest unoccupied molecular orbital(LUMO).
For this exercise, you plot the molecular orbitals in the order ofincreasing energy. For water, CNDO uses a basis set of six atomic
Molecular Orbital Calculations

189

Plotting Individual Molecular Orbitals

orbitals (2s, 2p on oxygen and 1s on the two hydrogens) andcalculates six molecular orbitals. Four of these orbitals (2a1, 1b2,
3a1, and 1b1 starting at lowest energy) are occupied and two (4a1
and 2b2) are unoccupied. The highest occupied molecular orbital(HOMO) is 1b1, and the lowest unoccupied molecular orbital(LUMO) is 4a1.The missing inner-shell 1s electrons of oxygen
describe the missing 1a1 orbital. Therefore the first orbital, 2a1, is
HOMO-3.
To plot individual molecular orbitals:
1. Choose the Selection Tool and R-click in an empty area to clear
the workspace.
2. Open the Orbitals dialog box by choosing Orbitals on the Compute menu.
3. Choose HOMO-, then L-click in the text box for the orbital offset and set the value to 3.
This selects the orbital 3 lower in energy ranking than the
HOMO. In this example, it is the lowest calculated orbital.
Observe how the lowest level in the orbital energy level diagram changes color or becomes dashed. You could also havechosen the orbital by clicking on the lowest orbital energy
level in the diagram.
4. Choose 3D Isosurface.
5. Make sure Orbital squared is not selected.
The Orbitals dialog box should look like this:190

Lesson 11

Plotting Individual Molecular Orbitals

6. Choose OK.
HyperChem accumulates a grid of values for the orbital 2a1
one “sheet” at a time, and displays the index of each sheet in
the status line.
After a few moments, the 3D isosurface appears.
7. Open the Isosurface Options dialog box by choosing Isosurface
on the Display menu, or by pressing the [F4] key.
This option allows you to change the rendering mode of an
isosurface quickly and easily, without needing to recalculate
the isosurface data.
8. Choose Wire mesh as the Rendering option, use an Orbital contour value of 0.05, and then choose OK.
HyperChem displays the symmetric bonding 2a1 orbital ofwater:

9. Reopen the Orbitals dialog box and specify a value of 1 for the
HOMO- offset. Click on Options and use the same options in
the Electronic Options dialog box as you did in step 7 and step8, but change the Rendering to Jorgensen-Salem.
This displays the 3a1 orbital:

Molecular Orbital Calculations

191

Plotting Individual Molecular Orbitals

Press the [4] key a few times to rotate the structure. Notice thatin this rendering mode, one lobe of an orbital can hide anotherlobe, but the complete molecule is always visible. If your window color is set to white and bond color is set to black, theorbitals will be drawn with solid lines for positive lobes anddashed lines for negative lobes. This rendering mode is usefulfor black-and-white printing.
Press the [3] key a few times to restore the original orientationof the system.
10. Repeat the calculation using a value of 2 for the HOMO- offset
and choose Lines as the Rendering option in the Options dialog
box.
This displays the 1b2 orbital:

192

Lesson 11

Plotting Individual Molecular Orbitals

Note that the molecule is hidden by the orbital. If you rotate
the system with the [1] or [2] key, you can see that one orbital
lobe can hide another.
To display the HOMO orbital itself, you need to reorient themolecule so that it is in the XZ plane (the molecule seen only
as a line) because the orbital has a node in the XY plane.
11. Choose Rotate on the Edit menu.
12. Choose X Axis, enter an Angle of 90, choose Apply to Viewer,then choose OK.
Select Display/Show Isosurface, or press the [F3] key. This hides
the isosurface. The molecule appears as a line in the workspace, and the orbital plot persists in storage. Pressing [F3] again
will restore the plot.
13. Open the Orbitals dialog box and repeat the calculation using
a value of 0 for the HOMO- offset.
14. In the Electronic Surface Options dialog box, choose Flat surface. Enter a value of 0.05, and then choose OK.
This displays the highest occupied molecular orbital of water,of symmetry 1b1:

Molecular Orbital Calculations

193

Plotting Individual Molecular Orbitals

15. Choose Rotate on the Edit menu, enter an Angle of –90, thenchoose OK.
16. L-click on LUMO+ and use the offset values 0 and 1 to display
the unoccupied orbitals.
17. When the Options dialog box is displayed for these orbitals,
choose Shaded surface as the Rendering option and use a valueof 0.05 for the first.
For the second, choose Transparent surface for the isosurface
rendering, and change the molecule rendering to Balls and Cylinders. Open the File/Preferences dialog box and select the Isosurface Colors property sheet; change the positive and negative colors to red and blue.
These orbitals are better viewed with a value of 0.05. As withother plots, the appearance of the display may vary with thevalues used.

194

Lesson 11

Plotting Individual Molecular Orbitals

Molecular Orbital Calculations

195

Saving the Molecule

Saving the Molecule
You use this water molecule, with calculated charges, in the next
lesson, so you need to save it.
To save the molecule:
1. Open the Save dialog box and save the molecule as water.hin.

Advanced Exercises
1. Cyclopropane is a strained organic molecule. Build it by drawing a triangle of carbon atoms and invoking the Model Builder.
The experimental bond lengths of cyclopropane are 1.510Å
(CC bonds) and 1.089Å (CH bonds). Perform a RHF optimization of the model-built structure using default convergencecriteria with different methods and compare the results withexperiment.
2. Start a log file, then build and optimize acetone, which has anexperimental heat of formation of –51.9 kcal/mol, and an
experimental dipole moment of 2.88 Debyes, using AM1. Lookin the log file and see the calculated heat of formation.

For More Information
For more information on the various types of semi-empiricalquantum mechanical calculations that HyperChem can do, see
Chapter 7, “Chemical Calculations,” in the HyperChem for Windows Reference Manual.

196

Lesson 11

Lesson 12
Interaction of Water with
N-methylacetamide
Skills Covered in This Lesson•

Using bond torsion constraints•

Optimizing the geometry of a subset•

Using solvent simulations•

Performing wave function calculations to compute atomic
charges•

Merging two molecules into a single system

In this lesson, you perform both molecular mechanics and semiempirical calculations using HyperChem, and calculate atomic
charges for subsequent use in molecular mechanics calculations.
First, you create a model-built structure of N-methylacetamide(NMA), use geometry constraints to change from a cis form to atrans form, and rebuild the molecule. Next, you compute a wave
function for the structure before and after you solvate themolecule with water.

Creating the NMA Molecule
To create N-methylacetamide:
1. Choose New on the File menu to clear the workspace.
2. Open the Label dialog box and set the Atom option to Symbol.
3. In the Default Element dialog box, turn off Explicit Hydrogens,and choose Carbon as the default element.

197

Creating the NMA Molecule

4. Get into drawing mode, and draw the 2D sketch of the following backbone:

5. Modify the structure to look like this:Make the C-O bond into a double bond.
198

Lesson 12

Changing from cis- to trans-NMA

6. Double-click on the Selection tool to invoke the Model Builder
and create the 3D structure.

Changing from cis- to trans-NMA
Depending on how you drew the backbone, the Model Builder
produced either the trans-NMA, or the cis-NMA. The Model Builder
uses trans-dihedral angles as the default.
If you drew the backbone in the order O-C-N-C or C-N-C-O, thevicinal atoms (O and C) would be trans and the result would be cisNMA:

If you drew the backbone in the order C-C-N-C or C-N-C-C, thevicinal atoms (C and C) would be trans and the result would betrans-NMA:

Interaction of Water with N-methylacetamide

199

Changing from cis- to trans-NMA

1. Rotate the model-built structure and determine if the structure
is cis or trans form.
If the cis form shown in the first illustration is displayed, you needto change it to the trans form by adding a bond torsion constraint
and rebuilding the structure as described in the following steps. If
you built the trans form, skip to the next section, “Optimizing the
NMA Structure.”
To change the cis form to the trans form of NMA:
1. Get into selection mode and set the select level to Atoms.
2. L-drag from the oxygen atom to the hydrogen atom attachedto the nitrogen to select the four atoms of the peptide dihedral
angle:

200

Lesson 12

Optimizing the NMA Structure

3. On the Build menu, choose Constrain Bond Torsion.
4. Set the constraint to Trans, then choose OK.
5. R-click in an empty area to deselect the angle.
6. Rebuild the molecule by double-clicking on the Selection tool.
The current system should now be trans-NMA.
The following calculations assume orientations of methylgroups such that a CH bond is trans to the CO bond, but cis to
the NH bond. Use Set Torsion on the Edit menu to obtain thetorsional conformation as necessary.

Optimizing the NMA Structure
Before you compute the wave function for the molecule, optimize
the structure using the AMBER force field.
To optimize the structure:
1. Choose Molecular Mechanics on the Setup menu.
If the warning message box “Recalculate atom types...”appears, choose “OK”.

Interaction of Water with N-methylacetamide201

Calculating Atomic Charges

2. Choose AMBER as the force field, and choose Mechanics
Options.
3. Use the following default force field options:

4. Choose OK to close the Force Field Options dialog box.
5. Choose OK to close the Molecular Mechanics Force Field dialog
box. You may be warned that it will be necessary to recalculate
atom types; if so, choose OK.
6. Choose Select Parameter Set on Setup menu.
7. Choose amber3, then choose OK.
8. If HyperChem asks you if you want to recalculate atom types,
choose OK.
9. Choose Geometry Optimization on the Compute menu.
10. In the dialog box, use the default options, but set the RMS
gradient to 0.001, then choose OK to start the calculation.
After a few moments, the calculation finishes and HyperChem
displays the results on the status line.

Calculating Atomic Charges
In Lesson 11, you obtained atomic charges for the water moleculeby performing wave function calculations. In the following exercise, you calculate atomic charges and use them in a subsequentmolecular mechanics computation of NMA with water.
To calculate atomic charges:
1. First, label the structure by charge.
The labels show all atoms have a charge of 0.00.

202

Lesson 12

Solvating the Carboxyl Group

2. Choose Semi-empirical on the Setup menu.
3. Choose CNDO as the type of method, then choose OK.
4. Choose Single Point on the Compute menu.
HyperChem displays the atomic charges when the calculationis complete. Your charges, energy, and gradient values may bevery slightly different from the following:

5. Save this molecule as nma.hin.

Solvating the Carboxyl Group
Merging Two Structures
In this section, you merge the NMA molecule with the water molecule from Lesson 11 and calculate their interaction.
To display NMA and the water molecule as one system:
1. Choose Merge on the File menu.
2. Open the file water.hin.

Interaction of Water with N-methylacetamide203

Solvating the Carboxyl GroupThe workspace now shows both the NMA and water molecules.

Moving the Water Molecule
Next you move the water molecule to an initial position thatapproximates the formation of a hydrogen bond between the oxygen of the carboxyl group and a hydrogen atom of the water molecule. To do this, you select it and orient it relative to the rest of
the system.
To move the water molecule:
1. In selection mode, R-click in an empty area of the workspace
to make sure nothing is selected.
2. Label both structures by symbol.
3. Position the molecules to obtain the orientation shown in thefollowing illustration.
Note: To move one molecule at a time, select the molecule youwant to move, L-click on a translation or rotation tool, and R-drag.
To select an entire molecule quickly, set “Molecules” in the Selectmenu, and L-click with the Selection tool on any part of that molecule.

204

Lesson 12

Optimizing a Subset of the System

Optimizing a Subset of the System
In this exercise, you optimize the geometry of the water moleculeusing molecular mechanics.
When you perform a geometry optimization on a system in which
subset selection is active (at least one atom is selected), the position of the selected atoms is modified during optimization. Thismeans if you select only the water molecule when you perform theoptimization, the NMA molecule remains fixed as the water moves
to an optimum position. This generally is faster than allowing all
degrees of freedom. When the water molecule is near an optimum
position, you can optimize the whole system, if you want.
To optimize the water subset:
1. Choose Molecular Mechanics on the Setup menu.
2. Choose AMBER as the method, and choose OK to use thedefault force field options.
3. Select the water molecule if it is not already selected. You may
receive a warning message that atom types will be recalculated;
if so, choose OK.
4. Choose AMBER as the method, and choose OK to use thedefault force field options.
5.

You may receive a warning message that atom types will berecalculated; if so, choose OK.Choose Geometry Optimizationon the Compute menu.

6. Use a RMS gradient of 0.01.
Depending on the initial positioning, the optimization algorithm used, convergence, and so on, it can take a considerable
number of iterations to fine-tune the position of the watermolecule since intermolecular forces are small compared to
intramolecular forces. Finding the correct position of the watermolecule requires a finer degree of optimization than isneeded for normal bonded interactions.
7. Choose OK to start the calculation.
8. After the water is optimized, deselect the water molecule, andperform a geometry optimization on both molecules.
After a few moments, the calculation finishes.

Interaction of Water with N-methylacetamide205

Recomputing Hydrogen Bonds

Recomputing Hydrogen Bonds
To recompute hydrogen bonds:
1. Turn on Show hydrogen bonds and Recompute H Bonds on the
Display menu.
The configuration should look similar to this:Characterizing the Interacting System
To help characterize the solvation of NMA, you perform a quantum mechanical calculation on the interacting system. You canthen compare the results with the earlier monomer calculation onwater and NMA.
To calculate a wave function for the system:
1. Choose Semi-empirical on the Setup menu.
2. Choose CNDO as the method, then choose OK.
3. Choose Single Point on the Compute menu.
This calculates a wave function for the combined system.

206

Lesson 12

Advanced Exercises

4. Label the system by charges to display the computed atomic
charges.
This shows the charge rearrangement associated with the formation of the hydrogen bond. Your results should be similar
to those shown in the following illustration:

Advanced Exercises
1. Repeat the molecular mechanics optimization with the new
charges. Manually include polarization by iterating back andforth from molecular mechanics geometry optimization andsemi-empirical calculations of charges. HyperChem rearranges
the atomic charges based on the new configuration of atoms.
2. Try plotting the charge density for various views of the interacting system.

Interaction of Water with N-methylacetamide

207

208

Lesson 13
Electronic Properties
of Proteins
Skills Covered in This Lesson•

Calculating electron density•

Using “classical-quantum” boundaries in calculations•

Calculating wave functions

With HyperChem, you can mix classical and quantum mechanicalcalculations in the same molecular system. This lets you do quantum mechanical investigations on parts of large molecules, such as
the active site of an enzyme, when it would be prohibitive toinclude the whole system.
This lesson illustrates the calculation of the electron density for
the N-terminal region of the small protein bovine pancreatic
trypsin inhibitor (BPTI). The type of calculation that can be doneon very large proteins is restricted only by the size of the portionof the protein that you treat quantum mechanically.
The protein calculations illustrated in this lesson are done inessentially the same way as the semi-empirical quantum mechanical calculations you did in Lessons 11 and 12, except that aboundary between the “classical part” of a molecule and the“quantum part” of a molecule is specified.

209

Before You Begin

Before You Begin
This lesson uses the file testbpti.hin, which you saved in Lesson 8.
If you have not completed Lesson 8, follow the steps in “Readingin the PDB” and “Deleting the Water Molecules” in that lesson
before you continue Lesson 13.

Reading In and Displaying the Molecule
To read in and observe the BPTI molecule:
1. Open the Labels dialog box, and choose OK.
This turns off the display of charges from the previous lesson.
2. Open testbpti.hin.
This is the BPTI structure that you saved in Lesson 8.
3. If the structure is displayed with hydrogens, turn Show
Hydrogens off on the Display menu.
4. Choose Rendering on the Display menu.
5. Display the molecule using the various options in the Rendering dialog box.
It is useful to visualize the molecule with renderings of thestructure other than the default Sticks rendering.
6. Use the menu choices on the Select and Display menus todisplay only the peptide backbone of the molecule.
7. Clear any selection, choose Ribbons from the Rendering/Sticks
property sheet, and then choose Display/Show Selection Only.
This shows the secondary structure as a ribbon.
8. Rotate the structure to obtain an orientation similar to this:210

Lesson 13

Choosing the Area of Interest

9. Open the Rendering/Sticks property sheet and turn Stereo on.
This displays the ribbons in stereo. If you cross your eyes tosuperimpose the images, or if you have stereoscopic viewers,
the ribbon will appear to be three-dimensional.

Choosing the Area of Interest
The next step is to choose which part of the system you want todescribe classically and which you want to describe quantum
mechanically. To accomplish this you select a subset of the system.
Atoms selected at the time you perform a quantum mechanics calculation are the only atoms (with an exception described below)that HyperChem performs the quantum mechanics calculationon.
For example, you could make a spherical selection about an atomand treat every atom within a particular distance of that atom
quantum mechanically. Alternatively, you could make a rectangular selection to select every atom in the left half of a molecule andtreat those atoms quantum mechanically.
As you can see, BPTI has an arginine side chain sticking out of theleft-top side of the molecule. In this exercise, you select this residue as the part of the molecule you treat quantum mechanically.
Electronic Properties of Proteins211Choosing the Area of Interest

To select the arginine side chain:
1. Turn Stereo off, deselect the backbone, and display all atoms.
2. Open the Select dialog box and select residue 1.
This selects ARG1.
This is the part of the molecule that you treat quantum
mechanically.
3. Rotate and translate the molecule until you get an unobscured
view of the selected residue:

4. Press the space bar to center the selected residue in the workspace. Position the residue so it looks like this:212

Lesson 13

Choosing a Classical-quantum Boundary

Choosing a Classical-quantum Boundary
The next step is to correctly set the boundary between the classicaland quantum mechanical part of the calculation.
Briefly, this is how HyperChem solves the boundary problem:
Every selected atom is rigorously treated quantum mechanicallyand every atom that is not selected, but is bonded to a selected
atom, is treated as a boundary atom.
Boundary atoms are replaced in the quantum mechanics calculation by “pseudofluorine atoms.” These pseudo-atoms are parameterized to have as much electronegativity and as many other characteristics of the true boundary atom as possible. This closes the setof atoms that are treated quantum mechanically. The boundary
occurs in the middle of the bond between a selected atom and an
unselected atom, although both atoms are included in the quantum mechanics calculation; one is its original form and the other,the boundary atom, is a “pseudo-atom” analogous to a
pseudopotential. The other atoms in the calculation appear as
point charges to the quantum mechanical atoms.
To replace the boundary atom with a monovalent pseudo-atom, it
is appropriate that the boundary be established at a single bondElectronic Properties of Proteins213

Calculating a Wave Function

between two atoms that are both sp3 hybridized. We recommendthat you always use such a boundary. To help, Extend to sp3 on the
Select menu extends the current selection in all directions until ithits the end of a molecule or finds an sp3 -sp3 bond. At such abond, the interior atom is a selected quantum mechanical atomand the exterior atom is a boundary atom.
To set the classical-quantum boundary:
1. Choose Extend to sp3 on the Select menu.
This extends the selection of the arginine residue to a properboundary.
HyperChem treats carbon bonded to four atoms, nitrogenbonded to three atoms, and oxygen bonded to two atoms as
being sp3. Thus, for example, a boundary might occur in the
N-Cα bond. If the nitrogen atom were not considered to be
sp3, it would be impossible to have the boundary in a peptide
chain.

Calculating a Wave Function
Next, you calculate the wave function. First, determine if the system has a formal electronic charge, by seeing if the nitrogens areprotonated.
To see if the nitrogens are protonated:
1. Display the molecule with hydrogens and label the selection
by symbol.
Three hydrogens are attached to the N-terminal nitrogenatom. Also, at the end of the arginine side chain the carbon is
attached only to three atoms, two of which are nitrogens thathave two hydrogen atoms each; this produces a positively
charged conjugated group.
Since the N-terminal nitrogen atom has three hydrogen atoms,
this nitrogen has a formal charge of +1. In addition, the side
chain is positively charged (characteristic of arginine at neutralpH). Therefore the portion of the molecule you have selected
for the quantum mechanical calculation is a divalent cation
with a charge of +2. You must specify this to get the right number of electrons into the quantum mechanical calculation.

214

Lesson 13

Calculating a Wave Function

To calculate the wave function:
1. Remove labels.
2. Choose Semi-empirical on the Setup menu.
3. In the dialog box, choose CNDO as the method, and L-click on
Options.
4. In the Options dialog box, set the Convergence Limit to 0.1.
Since you are interested in the charges and the qualitative picture of the orbital rather than the energy, a less stringent convergence limit is used.
5. Set the Total charge to 2 to specify a divalent cation.
6. Set the other options as shown, then click OK:

7. Choose Single Point on the Compute menu.
The energy and gradient appear on the status line when thecalculation completes.
8. Open the Plot Molecular Properties dialog box.
9. Choose Total Charge Density and 2D Contour in this dialog box.
10. Click on the Contour Grid tab and then set the horizontal andvertical grid points to 60 and the contour levels to 30.
11. Choose OK in the dialog box to start plotting the density.
When the calculation finished, the contour plot appears:

Electronic Properties of Proteins215

Calculating a Wave Function

The plane of the contour plot runs through the center of massof the selection and is parallel to the workspace. You canobtain other views by selecting different parts of the side chain
and rotating the view before replotting (with the Calculate
option off). The number of contours displayed will depend on
the plot options chosen.
If you plot a 3D isosurface for the calculation, using Gouraud
Shading and a Total charge density contour value of 0.09, theresult will look something like the following:

216

Lesson 13

Using the Results in Other Calculations

Using the Results in Other Calculations
The charges of the quantum-mechanical portion are now set
to the calculated values. You can use these new charges in amolecular mechanics calculation with the whole system.

Practice Exercises
1. Plot other properties, such as the HOMO and LUMO orbitals.
2. Try using 3D Isosurface instead of 2D Contours in the Plot
Molecular Properties and Orbitals dialog boxes. Use Isosurface
on the Display menu (or the [F4] key) to explore the isosurfacesthat result from using different threshold values.
3. Perform a quantum mechanics calculation on other parts ofthe system.

Electronic Properties of Proteins217

For More Information

For More Information
For more information on semi-empirical quantum mechanical calculations, see Chapter 7, “Chemical Calculations,” in theHyperChem for Windows Reference Manual.

218

Lesson 13

Tutorial 3
Ab Initio Calculations
Tutorial 3 focuses on ab initio calculations you can perform with
HyperChem. You learn the step-by-step instructions for performing single point calculations, geometry optimization, vibrational
analysis, and electronic spectral calculations, using ab initio methods. While the procedures in this tutorial emphasize ab initio calculations, most of them can also be applied to semi-empiricalmethods or density functional calculations. Tutorial 3 has threelessons, as described in the following table:

LessonInformation covered

Time tocomplete

Protonation of
Water

Ab initio calculations with minimal basis set, and with and without MP2 correlation.

30 minutes

Vibrations ofAmmonia

Geometry optimization andvibrational analysis with andwithout molecular mechanicalrestraints in terms of ab initio
methods. Transition state searching.

50 minutes

Lowest Excited
Electronic
State of Ethylene

Perform singly-excited configuration interaction calculations
using ab initio methods.

30 minutes

219

220

Skills Covered in This Lesson

Lesson 14
Protonation of Water
Skills Covered in This Lesson•

Creating a charged molecular system•

Selecting a basis set•

Choosing the options for ab initio single points and optimization•

Exploring the computation of MP2 correlation energies

This tutorial will introduce you to the basic operations needed toperform ab initio calculations.

Setup Drawing
To prepare for drawing H3O with explicit hydrogens:
1. Choose Explicit Hydrogens on the Build menu.
2. Choose Allow Arbitrary Valence on the Build menu.
If you do not choose Allow Arbitrary Valence then it will be
impossible to draw three bonds from the Oxygen atom since
Oxygen is assumed to have the normal valence of two. Drawing and model building accommodate a formal charge on themolecular system only if you explicitly specify the formal
charge on an atom using the Build/Set Formal Charge... menu
item. Choosing Allow Arbitrary Valence allows you to draw as
many bonds as you wish.
3. Choose Labels on the Display menu to bring up the Labels dialog box.
4. Choose Symbols for a label and dismiss the dialog box by clicking on OK.
Protonation of Water

221

Creating H3O+

5. Choose Default Element on the Build menu to bring up the
periodic table and then double click on O (Oxygen) to choose
this as the default element and dismiss the periodic table.
6. L-click on the Drawing Tool (left-most tool).
One is now prepared to draw molecules where the hydrogens
are explicitly drawn rather than added automatically. H3O+
has more hydrogens than the model builder will automaticallyadd.

Creating H3O+
To draw H3O:
1. L-Click once in the working area to create an Oxygen atom.
2. Draw three bonds from the Oxygen atom to create a drawingof H3O as shown below:
To transform the drawing into a 3D structure:
1. Double-click on the Selection tool.
Instead of selecting Model Build from the Build menu, you can
invoke the model builder by double-clicking on the Selection
tool as a short cut.
Note: With later releases of HyperChem it is possible to assign aformal charge to an atom. If a formal charge of +1 was assigned tothe above oxygen atom, it would not be necessary to draw thehydrogens as the model builder would have added three hydrogens to an oxygen with a formal charge of +1.
To add the positive charge for quantum mechanical calculations:
1. Select Ab Initio on the Setup menu.
2. Click on the Options button.
3. Type in a value of 1 for the Total charge and then L-click on the
OK button to dismiss the Ab Initio Options dialog box.
4. L-click on the OK button to dismiss the Ab Initio Method dialog box.
This adds a charge of +1 to the molecule for quantum mechanical calculations, essentially reducing the number of electrons
222

Lesson 14

Choosing a Basis Set

by one. The Total charge is not recognized by the modelbuilder or most aspects of molecular mechanics but is used todetermine the number of electrons to use in quantum
mechanical calculations.

Choosing a Basis Set
To choose a basis set:
1. Select Ab Initio on the Setup menu.
2. Choose Other for a Basis set.
3. Push the Assign Other Basis Set button.
4. Select 4-31G from the list and then choose OK.
This adds a 4-31G basis set to the list of basis sets that can bequickly chosen with a radio button. The basis sets that appear
in the Assign Other Basis Set dialog box include all basis setslisted in the CHEM.INI file by their basis-set-specification filename (*.BAS). Custom basis sets can be added to the list by creating a new *.BAS text file and adding it to those named in the
CHEM.INI file. Rather than use the 4-31G basis set, however,
we will choose a smaller basis set, a minimal basis set.
5. Select Minimal (STO-3G) for a Basis set.
6. Choose either Apply Basis Set and then OK or just choose OK toclose the Ab Initio Method dialog box.
One has now chosen a basis set for each atom of the molecule,the minimal STO-3G basis set. It is possible to specificallyselect atoms and use the Apply Basis Set button to place thechosen basis set only on the selected atoms with the subsequent placement of a different basis set on different selected
atoms. HyperChem allows different basis sets for different
atoms. To see what basis set is applied to each atom, you candisplay the appropriate labels.
To see the basis set applied to each atom:
1. Select Labels on the Display menu.
2. Choose Basis Set as the atom label, and then choose OK.
You will now see the basis set labels as shown below:

Protonation of Water

223

Minimum Energy Structure

Minimum Energy Structure
To calculate the optimized geometry for H3O+:
1. Select Ab Initio from the Setup menu.
2. Select the appropriate options for a geometry optimization byclicking on the Options button, being sure you choose Total
charge = 1, Spin multiplicity = 1, Spin pairing = RHF, Convergencelimit = 0.01, Iteration limit = 50, and Accelerate convergence =Yes. The Single Point only options are not used in a geometry
optimization and can have any value.
3. L-Click on OK to dismiss the Ab Initio Options dialog box andthen L-click on OK to dismiss the Ab Initio Method dialog box.
4. Select Geometry Optimization from the Compute menu.
5. Choose Polak-Ribiere for an optimization method and 0.1 for aterminating RMS gradient and then L-click on OK to initiate
the optimization. Note the new blue HyperGauss icon while
you wait for the optimization to complete.
You will find that the optimum STO-3G structure for H3O+ is abent one with an angle of 113.74° and bond lengths of 0.99 Å.
To calculate the total energy of optimized H3O+ including
correlation energy:
1. Choose Ab Initio from the setup menu, push the Options button and then choose to calculate the MP2 correlation energy,
clicking on OK in the Ab Initio Options dialog box and thenthe Ab Initio Method dialog box to dismiss these dialog boxes.
2. Select Single Point from the Compute Menu.
You should find that the total energy of H3O+ with an STO-3G
basis set is -47270.57 kcal/mol at the SCF level and -47300.98
kcal/mol at the MP2 level when you include the -30.50
kcal/mol of computed correlation energy.

Protonation Energy
To calculate the optimized STO-3G energy of H2O + H+:
1. Select the Drawing tool and R-click on one of the Hydrogensof H3O+ to delete it and form H2O.
224

Lesson 14

Practical Exercises

The electronic energy of H+ is zero so to calculate the protonation energy of H2O we need only to subtract the previously calculated energies of H3O+ from the corresponding energies of
H2O.
2. Select Ab Initio from the Setup menu and push the Options
button to change the Total charge from 1 to 0. Then choose OK
twice to dismiss the dialog boxes.
3. Select Geometry Optimization from the compute menu andoptimize H2O as you did for H3O+.
You should find an optimum STO-3G bond angle of 100.0° andan optimum bond length of 0.99 Å.
4. Select Single Point from the compute menu.
You should find that the total energy of H2O with an STO-3G
basis set is -47041.82 kcal/mol at the SCF level and -47066.21
kcal/mol at the MP2 level when you include the -24.45
kcal/mol of computed correlation energy. These results yield aprotonation energy of 228.75 kcal/mol at the SCF level or234.77 kcal/mol at the MP2 level. The effect of correlation inthis example is not large.

Practical Exercises
1. Try these calculations with 3-21G and then 6-31G* basis sets.
You will find that the double zeta basis set gives an optimum
geometry for H3O+ that is planar. For larger basis sets, however,
the molecule (at the SCF level) is predicted to be bent. The
anomaly at the 3-21G level is possibly a sign of an unbalanced
basis set. In fact, at the limit of s and p basis functions only,
both H3O+ and its isoelectronic NH3 will both be predicted to
be planar. D-orbitals on the heavy atom are necessary to get areasonably accurate prediction of the geometry for these molecules.
2. Explore the protonation energies of the HF, H2O, NH3, andCH4 series and compare with experimental results.
3. Explore the reaction between H+ and H2O using ab initio wave
functions and a molecular dynamics trajectory procedure
equivalent to the example included with HyperChem as the
script REACT.SCR.

Protonation of Water

225

For More Information

For More Information
For more information on the various types of ab initio quantum
mechanical calculations that HyperChem can do, see Chapter 7,“Chemical Calculations,” in the HyperChem for Windows Reference
Manual.

226

Lesson 14

Lesson 15
Vibrations and Transition
States of Ammonia
Skills Covered in This Lesson•

Performing vibrational analysis•

Interactively adding an extra shell of basis functions•

Using restraints to specify symmetry•

Finding transition states using both the Eigenvector Following
and Synchronous Transit methods

This tutorial explores the vibrations of ammonia and the differences between the pyramidal and planar form of NH3.

Creating Ammonia
To draw ammonia:
1. L-click on Explicit Hydrogens of the Build menu until it is notselected.
2. Select Default Element of the Build menu to bring up the periodic table dialog box.
3. Double-click on N (Nitrogen) to select this element and simultaneously dismiss the periodic table dialog box.
4. L-click on the Drawing tool to select it.
5. L-click once in the workspace to create a single Nitrogen atom.
6. Select Add H & Model Build of the Build menu to create NH3 atthe standard model builder geometry.

227

Choosing a Basis Set

Choosing a Basis Set
In this lesson you will use a 3-21G double zeta basis set augmented
with d orbitals on the nitrogen atom.
To choose a basis set:
1. Select Labels from the Display menu.
2. Choose an atom label of Basis Set and then choose OK to closethe Labels dialog box.
The labels on each atom should now be the basis set for that
atom. At this point the labels should read, “None”.
3. Select Ab Initio from the Setup menu.
4. Select Small (3-21G) as the basis set and then L-click on Apply
Basis Set. Then L-click on either OK or Close.
You should now see labels on each atom that read, “3-21G”.
5. Select the nitrogen atom of ammonia by L-clicking on the
Selection tool and then L-clicking on the nitrogen atom. Only
the nitrogen atom should be selected, as indicated by a small
circle around it. To select individual atoms like this, Atoms of
the Select menu must be checked and be the smallest unit ofselection rather than Residues or Molecules.
6. Select Ab Initio from the Setup menu again.
7. Push the Advanced Options button and be sure Six is chosen as
the number of d orbitals before clicking on OK and returning
to the Ab Initio Method dialog box.
8. Push the Extra Basis Function button and choose a D shell typewith an Exponent of 1.0 in the Extra Basis Function dialog box.
Click on OK twice to dismiss the Extra Basis Function dialog
box and the Ab Initio Method dialog box.
You have now added an extra shell of 6 primitive d-type orbitals, each with an orbital exponent of 1.0, to the nitrogen atom.
The basis function label for the nitrogen should indicate this.
9. R-click in empty space to de-select the nitrogen atom.
You are now ready to perform ab initio calculations on ammonia with this basis set.

228

Lesson 15

Vibrational Analysis on Pyramidal Ammonia

Vibrational Analysis on Pyramidal Ammonia
To perform a vibrational analysis:
1. Select Geometry Optimization from the Compute menu andperform a Polak-Ribiere optimization to a RMS gradient of 0.1.
An appropriate SCF convergence to use is 0.01. This may takea few minutes depending on the speed of your computer.
The resultant structure (H-N-H angle = 106.5° and N-H bondlength = 1.01 Å) turns out to be very close to experimental
results. This is a “balanced” basis set.
2. Select Single Point from the Compute menu to calculate thetotal energy including the MP2 correlation energy.
The total energy at the SCF level is -35086.49 kcal/mol and thetotal energy including the MP2 correlation energy is -35191.11
kcal/mol.
3. Select Vibrations from the Compute menu to perform a vibrational analysis at the optimized geometry. This calculation
requires the numerical calculation of all second derivatives
with respect to Cartesian displacements of the atoms andrequires a few minutes.
4. Size the HyperChem window to approximately one third of
the screen and place it on the right-hand-side of the screen.
5. Select Vibrational Spectrum from the Compute menu to display
the vibrational spectrum as shown below:

Vibrations and Transition States of Ammonia

229

Vibrational Analysis on Pyramidal Ammonia

6. Be sure that Animate Vibrations is selected as shown. Click on
the lowest energy vibration at the right-hand-side of the spectrum and then push the Apply button. Move the spectrum window until you can see the animated vibration in the HyperChem workspace. If the animation is too fast, select a slower
rendering (CPK spheres?) or increase the number of frames in
the animation cycle. [Click on the Escape key to terminate theanimation if the animation is too fast and makes it difficult tocontrol the mouse].
This is the lowest frequency breathing motion of ammonia. It
maintains C3V symmetry and essentially varies the bond angle.
You may wish to observe some of the other vibrations. Just
click on any vibrational peak and push Apply.
The lines emanating from the top of the window show all
vibrational transitions and the lines emanating from the bottom of the window show vibrational transitions with theirinfra-red intensities. When you click on a vibrational line, its
frequency and intensity are shown in the lower left-hand-sideof the window.
7. Select the lowest energy transition (right-hand-side) again.
Push the Apply button Click on OK to close the Vibrational
Spectrum window. Rotate the ammonia molecule with the XY-Rotate tool to fully inspect the lowest frequency vibration.
8. Select Cancel from the menu bar or hit the Escape key to stop
the animation. Select Labels from the Display menu and clickon OK to eliminate any labels that are showing. Select Renderings from the Display menu. Click on IR Vectors and then OK
to display the eigenvectors of a vibrational mode. Rotate themolecule with the X-Y-Rotate tool to fully observe the IR vectors of the breathing mode as shown below:
9. Select Vibrational Spectrum from the Compute menu to display
the vibrational spectrum again. Click on the breathing transition and push the Apply button to observe the breathing
motion with IR Vectors. You can also observe a vibration using
a spheres representation if you wish. You must first dismiss theVibrational Spectrum window and cancel the animation
before selecting the new Spheres rendering however. You may
then select Vibrational Spectrum again.

230

Lesson 15

Optimizing Planar Ammonia

Important: It is always important to perform a geometry optimization before a vibrational analysis calculation since the basic vibrational procedure assumes all first derivatives of the energy are zero,i.e., the molecule is at an energy extremum.

Optimizing Planar Ammonia
You will now create an optimum planar structure for ammonia. To
create this particular structure you will use restraints. Restraints are
extra molecular mechanics terms added to the potential to restrainbond lengths, bond angles, and bond torsions. You will use an“improper torsion” to restrain ammonia to a planar form.
To add a restraint that keeps ammonia planar:
1. Eliminate any labels or IR vectors that are still showing.
2. Be sure that Multiple Selections of the Select menu has been
selected and that you are selecting Atoms rather than Residues
or Molecules.
3. Select in turn, the nitrogen atom, one of the hydrogen atoms,
and then the other hydrogen atoms until all four atoms are
selected (i.e. everything is selected).
4. Select Name Selection from the Select menu, choose Other, andthen type in an arbitrary name for the selection such as“imptor”. Close the Name Selection dialog box by choosing
OK.
The named selection “imptor” now refers to an improper torsion angle in ammonia. You can now restrain this improper
torsion to a specific angle (180° = planar) by adding a restraining force for deviations from this angle. This will keep ammonia planar, provided the force is large enough.
5. R-click in empty space to de-select all atoms.
6. Select Restraints from the Setup menu. Select 4-imptor (a 4atom selection named imptor) and push Add to add thisnamed selection to the list of restraints. Choose Other for
Restrained Value and type in a value of 180 for the torsion
angle. Choose Other for the Force Constant and type in a reasonably large value, 500, to ensure that ammonia is kept planar. Choose OK to dismiss the Restraints dialog box.

Vibrations and Transition States of Ammonia

231Vibrational Analysis on Planar Ammonia

7. Select Geometry Optimization from the Compute menu for an
optimization to the best planar structure of ammonia. Choose
Polak-Ribiere as the method and 0.1 for an RMS gradient, as
before. Click on OK to initiate the optimization.
8. The optimized structure you obtain should be planar with abond length of 0.99 Å.
9. Select Single Point from the Compute menu to calculate theenergy of the planar structure including the MP2 correlationenergy.
The total energy at the SCF level is -35079.16 kcal/mol and thetotal energy including the MP2 correlation energy is -35183.80
kcal/mol. The difference between this energy and the energyof optimized pyramidal ammonia is the inversion barrier ofammonia. The SCF value for this is 7.33 kcal/mol. The effect ofcorrelation energy on this barrier is predicted to be negligible
at .05 kcal/mol.

Vibrational Analysis on Planar Ammonia
To perform a vibrational analysis:
1. Select Restraints from the Setup menu. Select the 4-imptor
restraint and push Remove to move this improper torsion fromthe list. Click on OK to dismiss the dialog box and remove therestraint.
If you do not remove the restraint, a vibrational analysis will
include second derivative components from the molecularmechanics restraining force as well as those from the straightforward quantum mechanical ab initio calculation on the planar structure of ammonia.
2. Select Vibrations from the Compute menu to perform a vibrational analysis at the optimized planar geometry. This calculation requires the numerical calculation of all second derivatives with respect to Cartesian displacements of the atoms andrequires a few minutes.
3. Size the HyperChem window to approximately one third of
the screen and place it on the right-hand side of the screen.

232

Lesson 15

Vibrational Analysis on Planar Ammonia

4. Select Vibrational Spectrum from the Compute menu to display
the vibrational spectrum as shown below:

Note that the lowest energy vibration has a negative frequency. Actually, the solution of the equations for the normal
modes gives eigenvalues that are the square of the vibrationalfrequencies. When one of these squares of the vibrational frequency is negative, HyperChem plots it as the negative of thesquare root of the magnitude rather than as an imaginary
number. Thus this negative value, -ν, actually means there is
an imaginary vibrational frequency. A single imaginary frequency with all the remaining frequencies being positive
implies that this planar structure is a transition state, not aminimum energy structure, as the pyramidal structure is.
5. Click on the negative frequency transition and animate it.
You will see that this “normal mode” corresponds to thebreathing mode of ammonia. This is the “reaction path” associated with the transition state. HyperChem does not directly
deal with symmetry constraints and internal coordinate
restraints, but rather works only with Cartesian coordinates.
Nevertheless, it is still possible, via restraints, to effect many of
the same results as obtained through internal coordinate constraints.
6. Click on Close to dismiss the Vibrational Spectrum window
and then on Cancel to terminate the animation. Select New
from the File menu to clear the workspace.

Vibrations and Transition States of Ammonia

233

Finding a Transition State by Eigenvector Following

Finding a Transition State by Eigenvector Following
In this calculation you will use the Eigenvector Follow method oftransition state searching to find the planar transition state for the
inversion of the ammonia pyramid, without needing to apply
extra structural restraints. This method is particularly useful if oneof the natural vibrational modes of your structure tends to lead toa transition state.
1. Read the optimized pyramidal ammonia structure (which you
saved in “Vibrational Analysis on Pyramidal Ammonia” onpage 229) back into the workspace.
2. Double-click on the Selection Tool icon to model build thestructure.
The Eigenvector Following optimizer does not work well when
the starting point for the search is at a local or global minimum; even if a vibrational mode to follow is specified, theoptimal atomic motions to lead from the minimum are notwell defined.
3. Select Transition State... on the Compute menu.
4. In the dialog box, specify Eigenvector following, then click on
OK.
The status bar shows that HyperChem is performing a vibrational calculation. When this has been completed, the Transition State Search dialog box opens.

234

Lesson 15

Finding a Transition State by Synchronous Transit

5. Click on the lowest energy eigenvector at the right-hand sideof the spectrum. As before, this corresponds to the lowest-frequency breathing mode of ammonia, which moves the atoms
in directions that lead to the inversion of the pyramid.
The lowest-energy vibration is often the mode which is mostappropriate for a transition state search.
6. Specify an RMS gradient limit of 0.1 kcal/(Å mol), and click on
OK.
HyperChem finds a planar transition state.
7. The transition state should be planar with a bond length of
0.99 Å. Select the N atom, and then the three H atoms in any
order, to see the improper torsion angle reported on the statusline. It should be very close to 0° or ±180°.

Finding a Transition State by Synchronous Transit
In this calculation you will use the Synchronous Transit method oftransition state searching to find the planar transition state for the
inversion of the ammonia pyramid, without needing to apply
extra structural restraints. This method allows you to calculatetransition states when the reactant and product systems are very
different, or if you want to carefully define how the atoms are
rearranged through the transition state. Reactant and productVibrations and Transition States of Ammonia

235

atoms are matched, and a starting point for the search is interpolated from the initial and final configurations.
1. Read the saved ammonia structure file back into HyperChem.
2. Use Display/Labels to change the labels to Number.
3. Change to the Drawing tool by clicking on its icon. Hold the[Shift] key down and click on the N atom.
One of the H atoms moves to the “empty” position of theammonia pyramid, reversing the “chirality” of the systemwith respect to the numbered atoms. Usually you would use
this operation to exchange different attachments to a chiral
center.
4. Optimize the geometry of the system to a gradient of
0.1 kcal/(Å mol), as before.
Both the reactant and product atom sets should be optimized
before you find a transition state with Synchronous Transit.
5. Use File/Merge to add another copy of the saved optimized
ammonia structure to the workspace.
6. Change to the Selection tool, and select one of the molecules.
7. Use Select/Name Selection to name the molecule as REACTANT.

236

Finding a Transition State by Synchronous Transit

8. Use Select/Complement Selection to unselect the first moleculeand select the other molecule.
9. Use Select/Name Selection to name that molecule as PRODUCT.
10. Right-click in the workspace to unselect all.
11. Click on Reaction Map in the Setup menu to open the Transition State Mapping dialog box.
12. In the dialog box, choose the N atom from the Reactant list andan H atom from the Product list. Each atom in the lists is designated by its molecule number, its atom number within themolecule, and its element.
When you select an atom from the list, it is highlighted in theworkspace as a visual aid.

Because the atoms are not matched (an N atom in the reactants cannot become an H atom in the products), the Add button remains inactive.
13. Choose the N atom in both the Reactant and Product lists.
Because the atoms are matched, the Add button is activated.

Vibrations and Transition States of Ammonia

237

Finding a Transition State by Synchronous Transit

14. Click on the Add button.
The atoms are moved from the Reactant and Product lists to amatched pair in the Map list.
15. Select hydrogen atom #2 in the Reactant and Product lists andtransfer the pair to the Map list. Do the same thing for theother two pairs of H atoms.
Because we are trying to invert the ammonia molecule, theordering of the atoms is important.
When all of the atoms have been transferred to the Map list,
the OK button becomes active.
16. Specify a value of 0.49 in the Lambda text box.
λ (Lambda) is the interpolation parameter; its value ranges
from 0 for the reactant state to 1 for the product state. Because
the Reactant and Product atom sets are mirror images, a λvalue of 0.5 would give a perfectly symmetrical starting point
for the transition state search. The optimizer does not work
efficiently from a perfectly symmetrical start. A λ value of 0.49
gives a slightly asymmetric starting point for the search.

238

Lesson 15

Practical Exercises

17. Click on OK.
The atoms of the Product set are deleted, and the atoms of theReactant set are repositioned to the coordinates of the interpolated starting point for the transition state search.
18. Press the [Spacebar] to center the structure, and rotate it so thatyou can see its conformation clearly.
The starting point should be almost planar.
19. Select Transition State on the Compute menu.
The Transition State Search Options dialog box opens.
20. Specify Synchronous Transit, Quadratic, and an RMS Gradienttermination criterion of 0.1 kcal/(Å mol). Click on OK.
HyperChem performs a vibrational calculation, chooses its
own eigenvector, and then does the transition state search.
Since it is working from a good starting point for the search, itfinds the transition state relatively quickly.
You could also use the interpolated starting point from theReaction Map dialog box as the starting point for an Eigenvector Follow transition state search.

Practical Exercises
1. Compare the geometry, barrier, and vibrational spectra ofammonia with experiment.
2. Repeat the calculations with other basis sets.
3. Compare NH3 results with isoelectronic CH3- and OH3+.
Vibrations and Transition States of Ammonia239

4. Compute the vibrational spectra of formaldehyde with a variety of basis sets and compare with experiment.
5. Vinyl alcohol (CH2=CHOH) and acetaldehyde (CH3COH) aretautomers. The rearrangement reaction involves an intermediate like [CH2 … CH … O]– ; depending on the environment,
there may be a proton (H+) loosely attached to the intermediate or the proton may be solvated and distant. Investigate therearrangement by considering the geometries and energies of
the anti conformation of vinyl alcohol, and then the gauche
conformation of vinyl alcohol, acetaldehyde, and the transition state between the latter two structures found by Synchronous Transit. Compare with the energy and geometry of the
deprotonated intermediate. (Remember that the energy “cost”
of deprotonation may be balanced by an energy gain due tothe protonation of a solvent; see “Protonation Energy” onpage 224.)

For More Information
For more information on the various types of ab initio quantum
mechanical calculations that HyperChem can do, see Chapter 7,“Chemical Calculations,” in the HyperChem for Windows Reference
Manual.

240

Lesson 16
Lowest Excited Electronic
State of Ethylene
Skills Covered in This Lesson•

Investigating the orbital energy diagram for a molecule•

Performing singly-excited configuration interaction calculations•

Investigating the electronic spectra of molecules•

Calculating the geometry of an excited triplet stateThis tutorial explores the computation of electronic excitation
spectra, focusing on the triplet π —› π* transition in ethylene.

Optimizing the Ground State of Ethylene
You should now have little difficulty in performing simple ab initio
calculations so this tutorial will abbreviate some of the instructions.
To create Ethylene with an STO-3G basis set:
1. Select New on the File menu to clear the workspace.
2. Make sure Explicit Hydrogens is not checked.
3. Select carbon for the Default Element and draw a carbon-carbon single bond (one line), clicking on the middle of the bondto turn it into a double bond.
4. Select Add H & Model Build from the Build menu to create ethylene.
5. Select Ab Initio from the Setup menu and choose Minimal(STO-3G) for a basis set. Be sure you have Total charge = 0, Spin
241

Orbitals of Ground State Ethylene

multiplicity = 1, Spin pairing = RHF, Accelerate convergence = Yes,
and a reasonably tight SCF Convergence limit of, say 0.0001.
Push the CI button in the Ab Initio Options dialog box and be
sure None is chosen for CI Method.
To optimize the ground state of ethylene:
1. Select Geometry Optimization from the Compute menu.
Choose Polak-Ribiere for a method and 0.01 for the RMS
gradient. Choose OK to dismiss the dialog box and initiate theoptimization.
You should find an optimized geometry for ethylene that has
a C-C bond length of 1.31 Å, a C-H bond length of 1.08 Å, andan H-C-H angle of 115.7°.
To calculate the correlation energy:
1. Select Ab Initio from the Setup menu, push the Options button,and select MP2 correlation energy. Click on OK to dismiss the
dialog boxes to return to the workspace.
2. Select Single Point from the Compute menu.
You should find an SCF energy of -48364.64 kcal/mol and a
total MP2 energy of -48438.61 kcal/mol that includes -74.97
kcal/mol of correlation energy.
Small differences between the energy at optimization and thereported single point energy may sometimes be seen. These
arise because the coordinates of atoms are kept as single precision values at the front end but as double precision values in
the computational back ends where precision is required. Conveying coordinates between the front end and the back ends
results in the retaining of only single precision values.

Orbitals of Ground State Ethylene
To inspect the orbital energy diagram and the orbitals:
1. Select Orbitals from the Compute menu. Drag with the mouseto zoom in on the highest occupied (HOMO) and lowest unoccupied (LUMO) orbitals as shown in the following view:

242

Lesson 16

Orbitals of Ground State Ethylene

These two orbitals are referred to as the π (HOMO) and π*(LUMO) orbitals of ethylene. The lowest excited states of ethylene correspond to removing one electron from the p orbital
and placing it in the π* orbital. This π —› π* (HOMO to LUMO)
transition leads to both an excited singlet state, where the electrons remain of opposite spin, and a triplet state where theelectrons in the π and π* orbitals have parallel spins.
2. Select either of these orbitals, by L-clicking on it, and plot theorbital. Orient the ethylene molecule until you get a view you
like. For example, the following shows the π* orbital, after one
has aligned the principal axis with the x axis with Edit/Align
Molecules.

Lowest Excited Electronic State of Ethylene

243CI and the Electronic Spectrum of Ethylene

CI and the Electronic Spectrum of Ethylene
To calculate the spectrum of ethylene:
1. Select Ab Initio from the Setup menu.
2. Click on the Options button.
3. Click on the CI button.
4. Choose Singly Excited for the CI Method.
5. Choose Energy Criterion rather than Orbital Criterion. Type in alarge value, 1000, for the Maximum Excitation Energy. Click on
OK to dismiss dialog boxes until you have returned to theworkspace.
When performing a singly-excited configuration interaction(CI) calculation, one mixes together a potentially large number of configurations (single determinants; in reality HyperChem does not form spin-adapted configurations but performs a CI with single determinants). These configurations
involve the excitation of a single electron from one of theoccupied orbitals to one of the unoccupied orbitals. One needs
to make a decision about how many determinants should be
included in the mixing. This can be done on a basis of includ244

Lesson 16

CI and the Electronic Spectrum of Ethylene

ing all excitations involving a certain number of the lowest
unoccupied and highest occupied orbitals or on the basis of anenergy criterion associated with the difference in energy
between the two orbitals involved.
The choice here of 1000 will result in inclusion of all singlyexcited configurations in the CI.
6. Select Single Point from the Compute menu. This will initiate
the CI calculation in conjunction with performing a Single
Point calculation. The Compute menu item, Electronic Spectrum, will become un-grayed when the single point calculationis complete.
7. Select Electronic Spectrum from the Compute menu to display
the spectrum shown below:

The strongest peak lies at 52.7 nm and is not associated with aπ —› π* transition. The lowest energy transition (longest wavelength) occurs on the far right at 313.7 nm and is the triplet
π —› π* transition. This is, of course, a forbidden transition(zero intensity) as are all singlet-to-triplet transitions (to a first
approximation). The lowest energy allowed transition at 106.4
nm is the singlet π —› π* transition.

Lowest Excited Electronic State of Ethylene

245

Geometry and Energy of Triplet Ethylene

Geometry and Energy of Triplet Ethylene
Because the lowest excited state of ethylene has a different spinstate (triplet) than the ground state (singlet), it is possible with
HyperChem to easily and directly compute an optimized SCF wave
function for it. This is not a simple calculation when an excitedstate has the same spin symmetry as the ground state and HyperChem does not currently have the capability of directly computing
an excited singlet state for ethylene, apart from the information
available from a CI on the ground state, such as you just performed
above. The triplet state, however, is computable in a straightforward single-determinant SCF calculation.
To compute a geometry for triplet ethylene:
1. Create standard model builder ethylene in the workspace if
you do not already have it there.
Since we are going to optimize a geometry, the actual starting
geometry is not critical and your ethylene might be the optimized structure for the STO-3G ground state, previously
obtained.
2. Select a torsion angle in planar ethylene and then select Set
Bond Torsion from the Edit Menu to change the torsion angle
to 30°.
HyperChem’s first-derivative optimizers may not easily find a
non-planar optimum (if there is one) if you start with a rigorously planar configuration for a molecule. You are helping the
optimization out by starting with a general non-planar structure.
3. Select Ab Initio from the Setup menu and choose 3 (triplet) for
the Spin Multiplicity and UHF for the Spin pairing. This will
result in the computation of an unpaired-electron triplet staterather than the normal RHF paired-electron singlet groundstate. Select 0.0001 for the SCF convergence. Be sure you areusing a Minimal (STO-3G) Basis set and then click on OK toreturn to the workspace.
4. Select Geometry optimization from the Compute menu. Perform the optimization with an RMS gradient of 0.01.
This optimization takes longer than you want it to. The result,however, is that the excited triplet state is twisted 90° from the246

Lesson 16

Geometry and Energy of Triplet Ethylene

ground state. The C-C double bond has greatly expanded to
1.49 Å from its ground state value of 1.31 Å showing, essentially, that the double bond has been broken and what remains
is close to a single bond. The C-H distance remains at 1.08 Å
and the H-C-H angle is now 117.8°.
To compute the adiabatic excitation energies:
1. Select Ab Initio from the Setup menu, push the Options button,
and be sure MP2 correlation energy is selected. Choose OK to
dismiss the dialog boxes and exit to the workspace.
2. Select Single Point from the Compute Menu.
The SCF energy of the optimized excited triplet state is-48328.65 kcal/mol which is 35.99 kcal/mol (794.4 nm) higher
than the optimized singlet ground state. This is the adiabatic
excitation energy measured from the energy minimum of eachstate. The MP2 correlation energy in the excited triplet state(-45.02 kcal/mol) is much less than that in the ground state(-74.43 kcal/mol) so that, with the effect of correlation, theadiabatic excitation energy is 65.84 kcal/mol (434.3 nm).
These numbers can be compared with the vertical excitationenergies (91.14 kcal/mol or 313.7 nm) calculated by CI for thistransition. A vertical excitation energy (same geometry for theexcited state as for the ground state) should obviously be larger
than the corresponding adiabatic excitation energy, as it is.
To explore the triplet state's orbitals:
1. Select Orbitals from the Compute menu. Zoom in on the alphaorbitals to see the following diagram:

Lowest Excited Electronic State of Ethylene

247Practical Exercises

Notice that the two occupied π and π* orbitals have become
degenerate. Click on these orbitals to select them and thenplot them to explore their appearance.

Practical Exercises
1. Explore the effects on the π —› π* excitation energy of CI mixing with other singly-excited states. What, for example, is theexcitation energy for a single (π —› π* singlet or triplet) configuration?
2. Calculate the barrier to rotation about the C-C bond in boththe singlet ground state and the excited triplet state of ethylene.
3. Repeat the ethylene calculations for the n—› p* transitions offormaldehyde.
4. Explore the effects of geometry on the calculated singlet π —›π* excitation energy using CI. Indirectly argue about the optimum geometry of the singlet excited state.

For More Information
For more information on the various types of ab initio quantum
mechanical calculations that HyperChem can do, see Chapter 7,248

Lesson 16

For More Information“Chemical Calculations,” in the HyperChem for Windows Reference
Manual.

Lowest Excited Electronic State of Ethylene

249

250

Tutorial 4
HyperChem & DDE
Tutorial 4 shows you how to create links with other Windows
applications using the Dynamic Data Exchange (DDE) feature of
Microsoft Windows. Tutorial 4 has two lessons, as described in thefollowing table:

LessonInformation covered

Time toComplete

Driving
HyperChem
from Microsoft
Excel

Creating macros in Excel to run
HyperChem calculations

20 minutes

Driving
HyperChem
from Microsoft
Visual BasicCreating a Visual Basic program
for use with HyperChem

15 minutes

251

252

Lesson 17
Driving HyperChem
from Excel
Skills Covered in This Lesson•

Modifying macros in Excel to run HyperChem calculations•

Using worksheets in Excel to store HyperChem information•

Creating plots of HyperChem results

With HyperChem’s open system design, you can create links withother Windows applications, such as Microsoft Excel, Microsoft
Word for Windows, Microsoft Visual Basic, and Q&E, by using
the Dynamic Data Exchange (DDE) feature of Windows.
You can create macros and batch calculations using the built-in
scripting capability, access all HyperChem modeling and analysis
tools, and transfer data between Windows applications using the
Clipboard.
This lesson explores the benefits of interfacing HyperChem withthe spreadsheet program, Microsoft Excel. You could also use other
Windows applications that have DDE macro capabilities.
This lesson has three exercises:•

In exercise 1, you run an Excel macro that invokes single point
calculations on a group of molecules. Then you use Excel toplot the total energy of each molecule.

•In exercise 2, you modify and rerun the macro to rotate a benzene molecule. This demonstrates, briefly, how you can use
Excel to manipulate and display molecules in HyperChem.

•

In exercise 3, you modify and rerun the macro to compute thetotal energy as the bond length of a structure changes. You
store the results in Excel and then plot them for comparison.
253

Lesson Requirements

Lesson Requirements
Before you begin, you must do the following:
1. Install Microsoft Excel on your computer.
2. Have the following files in your HyperChem working directory:
plot.xls (an example spreadsheet)plot.xlm (an example Excel macro)
Anthrace.hin
Benzene.hin
Chrysene.hin
Coronene.hin
Naphthal.hin
Phenanth.hin
Pyrene.hin
These files are included with HyperChem.

Exercise 1: Calculations on Sets of Molecules
In this lesson, you use an Excel macro to do single point calculations on seven aromatic hydrocarbons. The results are read backinto Excel and then plotted for analysis. This lesson demonstrates
how Excel can do batch calculations on a group of molecules. Prior
to learning to drive HyperChem from Excel, it is helpful if you
have a basic familiarity with Excel spreadsheet operations
For an explanation of the macro used in this lesson, see chapter 10,“Scripts and DDE,” in the HyperChem 5 for Windows Reference
Manual.

254

Lesson 17

Exercise 1: Calculations on Sets of Molecules

Opening HyperChem and Excel
To open HyperChem and Excel in Microsoft Windows:
1. Open HyperChem and make the window smaller. Place it in
the lower-right corner of the screen.
2. Open Excel and place the Excel window in the upper-left corner of the screen.
Your screen should look like this:

3. In Excel, choose Open on the File menu.
4. In the Directories box, double-click on [..] and change directories to \Scripts or the name of your HyperChem working directory.
5. In the Files box, open the sample spreadsheet file plot.xls andthe sample macro file plot.xlm
When you open the files, they appear as separate windows
within the Excel window.
6. Choose Arrange All on the Window menu.
7. L-click on Sheet1, and then close Sheet1 using Close on the Filemenu.

Driving HyperChem from Excel

255

Exercise 1: Calculations on Sets of Molecules

8. Choose Arrange All again.
Your screen should look like this:Excel spreadsheet files (with the extension .xls) can hold input
information for HyperChem calculations and can receive output data from these calculations.
This sample spreadsheet includes the column headings ofMolecule, Total Energy, Stretch, Bend, Torsion, and vdW. In
the first column under the heading Molecule, a list of HIN filenames (without the .hin extension) appears, for which calculations will be performed.
Excel provides a macro language for writing DDE messages.
This language, together with HyperChem scripting commands, lets you carry out a set of calculations automatically.
The sample macro file, Plot.xlm, contains HyperChem DDE
commands.

Setting up the Computation
Before you run the macro, you need to set the options for the computation.

256

Lesson 17

Exercise 1: Calculations on Sets of Molecules

1. L-click on the HyperChem workspace to bring it to the front of
the screen.
2. Choose Molecular Mechanics on the Setup menu.
3. Choose MM+ as the Method, and then choose Options.
4. Use the following values in the Force Field Options dialog box.

5. Choose OK.
6. Choose OK to close the Molecular Mechanics Force Field dialog
box.

Driving HyperChem from Excel

257

Exercise 1: Calculations on Sets of Molecules

Running the Macro
To run the macro:
1. In Excel, choose Arrange All on the Window menu to make thefile plot.xls appear in the workspace.
2. L-click on benzene in cell A2 in plot.xls.
3. Rearrange your screen so that both the HyperChem and Excel
windows appear, like this:

4. Choose Macro on the Tools menu, and double-click on
PLOT.XLM!Compute.Results
to run the macro.
The macro instructs HyperChem to open each HIN file, complete a single point calculation, and read the results back into
Excel.
As the run progresses, the molecule is displayed in HyperChem
and the values appear in the spreadsheet file.
Note: if you receive the warning message that a file cannot be
opened, either the file is not there or the macro plot.xlm will
258

Lesson 17

Exercise 1: Calculations on Sets of Molecules

have to be edited in the OpenFile portion to reflect the correct
pathname to the executable, chem.exe.

Graphing the Results
You can now compare results for the different molecules by plotting the results in Excel. For this plot you compare the total energies.
To graph the results:
1. Increase the size of plot.xls to fill the Excel window.
2. L-click-drag from cell A2 and release on cell B8 to select thefirst two columns.

This selects the names of the molecules and the total energies
calculated by the single point calculations.
3. Choose the Chart Wizard button on the Excel toolbar. Selectthe Line chart type, and specify “Use First 1 Column(s) for Category (X) Axis labels”.
A bar graph displays the total energies in the file chart1. Tochange the appearance of the graph — for example, to movethe labels above the axis instead of below it — double-click on
the part of the graph that you want to change to open a dialog
box for formatting.
Chrysene has the largest van der Waals (vdW) energy, becausesome hydrogens are very close together, producing somedestabilizing strain in the molecule.
Driving HyperChem from Excel

259

Exercise 2: Manipulating Molecules with Excel

4. Choose Close on the File menu to close the plot.xls window.
Do not save the changes for chart1.

Exercise 2: Manipulating Molecules with Excel
In this lesson, you modify the Excel macro to rotate a benzene
molecule.

Modifying the Macro
1. Choose plot.xlm on the Window menu.
2. Increase the window size of plot.xlm to full screen.
3. L-drag from A7 and release on A15.

4. Choose Delete on the Edit menu, and if a dialog box appears,
choose Shift Cells Up.
This deletes the information in the selected cells.
5. Now, to insert rows in the macro, L-click on cell 7, and choose
Rows on the Insert menu.
6. Choose Repeat Insert Rows on the Edit menu four times.
Now cells B7 through B11 are empty.
7. L-click on cell B7.
260

Lesson 17

Exercise 2: Manipulating Molecules with Excel

8. In cell B7, enter the following:=EXECUTE(Channel,”[open-file(benzene.hin)]”)9. Press [4] to move to cell B8 and enter the following:=FOR(“Counter”,1,10)
10. Enter the next two lines:=EXECUTE(Channel,”[rotate-viewer(z 20)]”)=NEXT()Your file should look like this:Driving HyperChem from Excel

261

Exercise 2: Manipulating Molecules with Excel

Running the Macro
1. Decrease and move the Excel window so that you can see theHyperChem window, like this:

2. In Excel, choose Macro on the Tools menu.
3. In the Run dialog box, choose PLOT.XLM!Compute.Results.
The benzene rotates in the HyperChem workspace.

262

Lesson 17

Exercise 3: Plotting Energy vs. Torsion Angle

Exercise 3: Plotting Energy vs. Torsion Angle
In this exercise, you create a model-built structure of hydrogen
peroxide and modify the Excel macro from exercise 2 to change
the torsion angle between the two hydrogen atoms. HyperChem
reads the results back into Excel and you create a graph that plots
the energy as a function of the torsion angle.

Creating the Hydrogen Peroxide Molecule
First, create the model-built structure.
1. In HyperChem, choose New on the File menu to clear theworkspace.
2. Double-click on the Drawing tool to open the Element Table
dialog box and choose oxygen.
3. Draw two oxygen atoms bonded together.

4. Double-click on the Selection icon tool to invoke the Model
Builder and produce the 3D model.

Modifying the Macro
Modify the macro from exercise 2.
Driving HyperChem from Excel

263

Exercise 3: Plotting Energy vs. Torsion Angle

1. Go to Excel and increase the window for plot.xlm to fullscreen.
2. Delete the text in cells B7 to B9. If a Delete dialog box appears,
choose Shift Cells Up.
3. Select cell B7 and choose Rows on the Insert menu.
4. Choose Repeat Insert Rows on the Edit menu 5 times.
5. Insert the following text:=EXECUTE(Channel,”[menu-select-select-all]”)=WHILE(NOT(ISBLANK(SELECTION())))=EXECUTE(Channel,”[set-bond-torsion(“&SELECTION()&”)]”)=EXECUTE(Channel,”[do-single-point]”)=FORMULA.ARRAY(REQUEST(Channel,”total-energy”),”rc[1]”)=SELECT(“r[1]c”)
Your file should look like this:Creating a Worksheet
Create a new worksheet and enter the values for the torsion angle.
1. Choose New on the File menu and choose Workbook.
264

Lesson 17

Exercise 3: Plotting Energy vs. Torsion Angle

A new worksheet, Sheet2, opens on screen.
2. In cells A1 through A18, enter values of 10–180 in incrementsof 10. This corresponds to values of the torsion angle indegrees. When you’ve finished, the worksheet should look likethis:

3. L-click on cell A1.
When you run the macro, this cell is read first.

Driving HyperChem from Excel

265

Exercise 3: Plotting Energy vs. Torsion Angle

Setting up the Computation
Before you run the macro, you need to set the options for the computation.
1. In HyperChem, choose Molecular Mechanics on the Setup
menu.
2. Choose MM+ as the Method.

Running the Macro
To rerun the macro:
1. Arrange the windows so that you can watch HyperChem andExcel simultaneously.
2. Choose Macro on the Tool menu and double-click on
PLOT.XLM!Compute.Results
In the HyperChem workspace, the torsion angle between thetwo hydrogens changes, as instructed by the macro, and thecorresponding total energies are stored in the new worksheet.

Graphing the Results
To plot the results in a graph:
1. Increase the size of Sheet2 and select cells A1 to B18.
2. Choose New on the File menu, and choose the Chart Wizard
button on the toolbar. Select the Line chart type. Specify “UseFirst 1 Column(s) for Category (X) Axis Labels”.
3. In the First Column Contains dialog box, choose X-values for
XY-Chart.
Excel displays a graph that plots the energy as a function of thetorsion angle. The minimum energy occurs at approximately
110 degrees. The experimental value for the angle is 111
degrees.
Note: You need to further modify the macro used in this example if you want to calculate the energy as a function of the torsion angle for a molecule with more than four atoms. The
macro used in this example instructs HyperChem to calculate
the energy of the four selected atoms only. To do more than
266

Lesson 17

For More Information

four atoms, use named selections and then select the multipleatom portion by name in the macro.
4. To finish this lesson, close HyperChem and Excel. Do not saveyour changes.

For More Information
For information on HyperChem scripts and macros, see chapter
10, “Scripts and DDE,” in the HyperChem for Windows Reference
Manual.
For information on Excel, see any number of Microsoft Excel books.
For more information on Dynamic Data Exchange, see for example, Programming Windows, by Charles Petzold.

Driving HyperChem from Excel

267

268

Lesson 18
Driving HyperChem
from Visual Basic
Skills Covered in This Lesson•

Creating a Visual Basic program for use with HyperChem

This lesson further demonstrates how HyperChem can be driven
by other Window applications through DDE.
Microsoft Visual Basic is a development system used to build agraphical user interface (GUI) for Windows applications.
In this lesson, you use Visual Basic to create a window, called aform. On the form you create a command button that instructs
HyperChem to perform a single point calculation on benzene
using the MM+ force field.

Lesson Requirements
Before you begin, you must install Microsoft Visual Basic on yourcomputer.

Opening HyperChem and Visual Basic
To begin, you open HyperChem, set the options for the type of calculation you want to perform, and then open Visual Basic.
1. Open HyperChem and decrease the size of the window. Place
it in the lower-right corner of the screen.
2. Open the file benzene.hin.
This is the molecule you perform the single point calculationon.
269

Creating a Form

3. Choose Molecular Mechanics on the Setup menu.
4. Choose MM+ as the Method, then choose OK.
5. If a dialog box appears and asks if you want to recalculate atom
types, choose OK.
6. Open Visual Basic in the Program Manager.
Your screen will look something like this:Creating a Form
In Visual Basic, a form is a window that you create and customize.
On forms, you draw graphical objects called controls, which areused to get user input and to display output. Controls include text
boxes, command buttons, and list boxes.
To create a form:
1. On the toolbox, L-click on the Text box tool.

270

Lesson 18

Creating a Formtext box toolcommand button tool

2. Move the pointer to Form1 and L-drag to draw a text box.

3. L-click on the Command button tool.
4. Move the pointer to Form1 and L-drag to draw a command
button.
Form1 should look like this:Driving HyperChem from Visual Basic

271

Customizing the Interface

Customizing the Interface
Now that you’ve created the form, you can customize the appearance and behavior of the controls using the properties box.

Visual Basic gives the text box the default name and caption Text1and the command button the default name and caption
Command1. For this exercise, you rename the caption of the command button to Report Calculation.
To customize the interface:
1. Highlight Command1 by L-dragging across the text in theproperties bar.

272

Lesson 18

Entering Visual Basic Code

2. Enter the following:
Report Calculation
Then press [7].
The control now has the caption Report Calculation.

Entering Visual Basic CodeThe next step is to enter the Visual Basic code that instructs
HyperChem to do the single point calculation.
1. Double-click on the Report Calculation command button.

This opens the Code window named Form1.frm. The Codewindow is where you write, display, and edit Visual Basic code.
2. Enter the following text so the Code window looks like this:Driving HyperChem from Visual Basic

273

Entering Visual Basic Code

Notice that we intentionally left out the last “t” in “do-singlepoint.”
The Text1.LinkItem, which is “total-energy” here, could be
any one of many possible HyperChem messages; see Chapter
10 of the Reference Manual for a list of HyperChem messages.
3. Choose Start on the Run menu.
Form1 appears.
4. L-click on the Report Calculation command button.
The following error message appears:
Ignoring bad text message: “do-single-poin”.
5. L-click OK.
A dialog box asks if you want to exit HyperChem.
6. Choose No.
The following error message is reported:
Foreign Application won’t perform DDE method or operation.
7. Choose DEBUG or OK (depending on the version of Visual Basic
you have).
Visual Basic shows you the line that includes the error.

274

Lesson 18

Creating the Executable File

8. Choose End on the Run menu.
9. Correct the error by adding a “t” at the end of “do-singlepoint.”
10. Choose Start on the Run menu.
Form1 appears.
11. L-click on the Report Calculation command button.
This starts the single point calculation. After about 1 minute,a message box titled Project1 reports the total energy of thebenzene molecule.
12. Choose OK.
13. Choose End on the Run menu.

Creating the Executable FileTo create a stand-alone executable file:
1. Choose Make EXE file on the File menu.
2. Enter the following filename:test.exe
Now you’ve created a program called test.exe. You can run thisfile when you want to do a single point calculation and report
the total energy of a structure in HyperChem.

Saving the Visual Basic Files
To save your work and exit Visual Basic:
1. Choose Save File As on the File menu.
2. Save the file as test.frm, then choose OK.
3. Choose Save Project As on the File menu.
4. Save the file as test.mak, then choose OK.

Driving HyperChem from Visual Basic275

Adding test.exe to the Start... menu

Adding test.exe to the Start... menu
To add test.exe to a program group:
1. Click on Start on the Taskbar.
2. Click on Settings, then on Taskbar... .
The Taskbar Properties dialog box appears:
3. Choose the Start Menu Programs property sheet. Click on Add...
to open the Create Shortcut dialog box.
4. Locate the file test.exe by browsing, then choose OK.
This brings you back to the Program Item Properties dialog
box.
5. Specify a folder for the shortcut, a name (TEST) and an icon.
Then choose OK in the Taskbar Properties dialog box.
An icon called TEST appears in the new folder in the Taskbar.
To open TEST, double-click on the icon.

Creating Other Programs
You can use Visual Basic to create similar auxiliary programs tointeract with HyperChem. For example, you could write a customized geometry optimizer in Visual Basic and use the molecularmechanics or quantum mechanics facilities of HyperChem via the
DDE interface.

For More Information
For more information on Visual Basic, see the Microsoft Visual
Basic documentation.

276

Lesson 18

Tutorial 5
Some Newer Capabilities
Tutorial 5 teaches you about some recent things that have been
added to HyperChem such as annotations, density functional theory, and TNDO. Tutorial 5 has three lessons, as described in the following table:

LessonInformation covered

Time toComplete

Polarizabilityof H2 using
DFT

Aspects of density functional theory (DFT) computations. Applying an electric field andcomputing polarizabilities.

20 minutes

Adding annotations to theworkspace

Adding, positioning, editing,and sizing annotations.

20 minutes

Modifying
TNDO parameters

Basic aspects of TNDO. The editing of parameters and creating
parameter files.

20 minutes

277

278

Tutorial 4Lesson 19
DFT Polarizability of H2
Skills Covered in This Lesson•

Performing density functional calculations•

Picking an exchange-correlation functional•

Adding an electric field and computing polarizabilities

This tutorial will introduce you to the basic operations needed toperform DFT calculations.

Creating H2
To draw and create a Hydrogen molecule:
1. Choose Explicit Hydrogens on the Build menu.
2. Choose Labels... on the Display menu and select Symbols.
3. With the mouse and the drawing icon (left-most icon) draw asingle line on the screen by dragging with the left button
down. If you make a mistake, click with the right button to279

Choosing an Exchange-Correlation Potential

delete atoms and bonds. You should have a screen resembling
the following:

4. Click on Model Build on the Build menu to create the Hydrogen molecule with a bond length of 0.74 Angstroms oriented
along the Y axis.
You now have a molecule with which to begin computations. We
will perform calculations at the model builder geometry of 0.74
Angstroms although we could certainly optimize the geometry if
we wished (see previous tutorials).

Choosing an Exchange-Correlation Potential
To indicate the type of DFT calculation you want to perform:
1. Click on Density Functional... on the Setup menu.

280

Lesson 19

Choosing an Exchange-Correlation Potential

2. Choose the 6-31G** basis set as shown below. This basis set
adds p-type polarization functions to the double zeta s-type 631G basis set of H2.

3. Click on Options to select default options as shown below:

In particular, the convergence of the SCF (1.0e-008) should be
set higher than normal (giving more accurate SCF results) as
you are going to be numerically differentiating your results.

DFT Polarizability of H2281

Choosing an Exchange-Correlation Potential

4. Click on Grid... of the Density Functional Method dialog box
and choose Standard Grid #1 as defined by Pople and collabo-

rators.
Density Functional Theory (DFT) requires you to evaluatematrix elements of the Hamiltonian just as in any quantum
mechanical method. In the DFT case, terms in the Hamiltonian (the exchange and correlation potentials) have a functional form that is too complicated to allow one to develop
analytic formulas for the appropriate integrals. DFT generally
requires numerical integrations to compute these integrals andat this point you have to choose a grid for performing thesenumerical integrations.
The Standard Grid #1 is a compromise between accuracy andcomplexity (number of points on the grid). More points would
give more accurate integrals but would require more computer
time. The Standard Grid #1 grid gives results that are comparable to an Euler-MacLaurin-Lebedev grid with 50 radial points
and 194 angular points. To complete the DFT setup, you next
have to choose a specific density functional.

282

Lesson 19

Choosing an Exchange-Correlation Potential

5. Click on Exchange Correlation... of the Density Functional
Method dialog box to select both an exchange functional anda correlation functional. Select the HCTH98 method for both.

You can select any exchange functional in combination withany correlation functional or you can select a specific combination of exchange and correlation as optimized by various
authors, e.g. B3-LYP. Many of the functionals were developedwith the assumption that they would be used in specific pairs
although HyperChem doesn’t require this. HyperChem allows
an independent choice for the exchange and an independent
choice for the correlation. In our case we will choose both an
exchange functional and a correlation functional (HCTH98)
developed by the Handy group at Cambridge University. Little
experience is probably available using only one of these pairwith a different exchange (or correlation) functional. Whether
one can develop an optimum exchange potential in itself
without considering correlation (or vice versa) is open for discussion.
The choice “None” above is perfectly sensible for the correlation potential as Hartree-Fock calculations contain no correlation. However, the choice “None” for exchange is questionable
although it corresponds to a Hartree calculation as performed in
the early days of quantum chemistry.

DFT Polarizability of H2

283

Single Point DFT Calculations in an Electric Field

Single Point DFT Calculations in an Electric Field
To explore the application of an electric field to the workspace:
1. Click on Single Point to first perform a DFT calculation in theabsence of an electric field at 0.74 Angstroms.
You should obtain an energy of -743.850760 kcal/mol.
2. Click on Show Dipole Moment on the Display menu.
The dipole moment is zero (or nearly so with single precisionaccuracy) as expected.
3. Click on Set Finite Field... of the Setup menu and add an electricfield of 0.001 atomic units as shown below.

4. Click on OK to add the field.
5. Click on Single Point of the Compute menu to repeat the single
point calculation but this time with an applied electric field.
You should obtain an energy this time of -743.852747
kcal/mol which is lower than without the electric field. The
dipole moment in the electric field will no longer be zero.
6. Click on Show Dipole Moment on the Display menu.
The induced dipole moment along the y axis is 0.16096
Debyes or 0.16096/2.541765 = 0.00633 a.u. The polarizability
is the induced dipole moment per unit of applied field. Thus,
the polarizability along the y axis is 0.00633/0.001 = 6.33
atomic units. You have performed a finite perturbation calculation of the polarizability of H2 with the HCTH98 DFT functional. HyperChem, however, allows you to directly calculate
polarizabilities as you will now see.

284

Lesson 19

Polarizability Tensor Calculations

Polarizability Tensor Calculations
To calculate polarizabilities:
1. Click on Set Finite Field... of the Setup menu and delete theelectric field you have previously applied (uncheck the checkbox for electric field).
2. Click on Density Functional... of the Setup Menu. Click on
Options... and then Click on Polarizabilities... You can now
request the computation of polarizabilities during single point
calculations as per the following dialog box:

Use the same value of 0.001 which we used before rather thanthe default 0.0005. The default value is a compromise between
precision of the change that can be observed and a value thatis rigorously correct only in the limit of zero applied field.
3. Click on Single Point on the Compute menu to repeat the single point calculation but this time with the additional request
for a polarizability calculation.
The computation will require 6 total single point calculations
to apply the electric field twice in each of the X, Y, and Z directions.

DFT Polarizability of H2285

Polarizability Tensor Calculations

To see the results after the calculations are complete, click on
Properties... on the Compute menu. Click on Details to see thefull tensor.

You will notice that the YY component is just the 6.33 valuethat we had previously computed manually.

286

Lesson 19

Lesson 20
Annotations
Skills Covered in This Lesson•

Adding annotations to a molecule•

Selecting, editing, and moving annotations•

Z-ordering the annotation layer and annotations within the
annotation layerThis tutorial will introduce you to the four basic annotations - text,lines, ellipses (circles), and rectangles. It will show you how to create annotations and modify their, size, color, and other properties.
HyperChem contains, in addition to its molecular modeling capability, a simple drawing program designed to create annotations
for molecular systems.

Create a Molecular System
To create a sample molecular system:
1. Choose Open on the File menu.
2. Navigate to the Samples folder and bring in ethanol.hin.
Choose a ball and cylinder rendering from the Display menu

287

Rectangle Annotations

to obtain a sample molecular system such as the following(alternatively, use your own molecular system).

Rectangle Annotations
Rectangle and ellipse annotations behave essentially identically.
This tutorial only illustrates rectangles. You might try equivalent
operations on ellipses yourself.
To explore creating and manipulating a rectangle annotation:

288

Lesson 20

Rectangle Annotations

1. Choose Options... on the Annotations menu and select options
that reflect those in the following dialog box:

You have selected the annotation layer to be positioned in
front of the molecular layer, the annotation layer not to be
hidden from view, ellipses and rectangles to be filled rather
than just outlined, and “gravity” to be applied to line drawings.
2. Choose Color... on the Annotations menu and select a blue
color. This will be the color of any line, ellipse, or rectangle
annotation.
3. Click on the toolbar icon that looks like a square. Notice thatwhen the mouse pointer is in the workspace it has the shapeof a square.
4. Position the mouse pointer near the top, left-hand corner ofthe workspace and with the left mouse button held down, dragthe mouse towards the lower, right-hand corner and thenAnnotations

289

Rectangle Annotations

release the mouse button. A rectangle will be created as follows:

All molecules lie in a molecular layer while all annotations lie
in a disjoint annotation layer. In the above situation, theannotation layer is in front of the molecular layer so that themolecule is hidden from view.

290

Lesson 20

Rectangle Annotations

5. Choose Options on the Annotations menu and deselect Annotation Layer in Front to place the annotation layer in back andcreate a display as follows:

6. Choose the select tool and L-click in the rectangle away fromthe molecule to select the rectangle annotation. The selected
rectangle should have a border that is the selection color(default=green). If you need to deselect, R-click in empty space.
Practice selecting and deselecting either the rectangle or a portion of the molecule
7. Explore translation and zooming of the selected rectangle
using the translation and zoom tools. Notice that if the molecule is selected it has precedence over any annotation and only
the molecule is affected by the tools. If only annotations are
selected, then those annotations are acted upon by the translate and zoom tools; the other tools are inactive for annotations.
8. Select only the rectangle.
9. Choose Options on the Annotations menu and uncheck Fill Circles and Rectangles. Choose OK.

Annotations

291

Line Annotations

10. Deselect the rectangle. You should see the fill disappear andthe rectangle look as follows:

11. Select the rectangle again and choose Options on the Annotations menu. Choose line type to be “Dashed”. Deselect therectangle. You should see the solid rectangle above become adashed rectangle.

Line Annotations
Line annotations behave like ellipses and rectangles apart from nothaving a fill. They differ also in possibly having “gravity” to causelines to join.
Note: The line annotation has nothing in common with a bonddrawn as a line in the molecular layer using the drawing tool (leftmost tool).
To explore drawing lines:
1. Select the line annotation tool from the tool bar. Draw a few
lines and explore selecting these, coloring them, moving andzooming them. Explore the use of gravity associated with thecheck box in the Options dialog box on the Annotations
menu. Note that only solid lines can be wide.

292

Lesson 20

Text Annotations

Text Annotations
Text annotations and symbol annotations are identical except thata symbol is a single text character and has a different interface forits creation. Once a symbol is created, it is just a text annotation
like any other text annotation.
Text annotations differ in their color properties from lines, ellipses,and rectangles. The color is chosen from among only 16 colors.
They also have unique properties of their own such as font, point
size, centering, underlining, italics, etc.
To explore creating and manipulating text annotations:
1. Click on the text-annotation icon in the tool bar to select the
text tool (resembling the letter A)
2. L-Click above the top left of the previous rectangle. This willbring up the Annotation Text dialog box,

Annotations

293

Text Annotations

3. Choose the text options as above to create a title in the workspace, as shown below:

The text may need to be edited or positioned as in the above
example.
4. Select the text annotation by clicking on it appropriately withthe selection tool. It will become enclosed in a selection box ofthe selection color.
5. Choose Edit Text... from the Annotations menu and change thetext size from 40 to 30 points.

294

Lesson 20

Text Annotations

6. Use the translation tool and position the text properly over therectangle as shown below:

7. Choose Symbols from the Annotation menu and pick an arrow
to use such as that below. Click on OK.

Depending on the fonts installed on your machine, you may
not have all the options shown above.
The default color of a symbol is white (the default color of theHyperChem background is black) and it may not be visible if
your background is white. A symbol is always initially placed
Annotations

295

Text Annotations

at the upper left corner of the HyperChem workspace. It isselected and ready to be translated to the correct position on
the screen.
8. Choose Edit Text... from the Annotations menu and select theappropriate color for your symbol. Notice that the symbol islisted as a single character in the appropriate font. Choose OK.

9. Translate the arrow to point to the oxygen atom. Deselect thearrow. You can deselect everything by an R-Click in empty
space with the select tool.

296

Lesson 20

Saving Annotations

10. Create another text annotation using the text-annotation toolon the tool bar using the text, “Oxygen Atom” and position it
as shown below:

If you have trouble selecting a particular annotation you can
use the Select Next and Select Previous items on the Annotations menu. You can only use these when a single annotationis selected. You can only edit annotation text when a single text
annotation is selected.

Saving Annotations
Annotations have defined records in HIN files and hence annotations can be saved with or without a molecular system.
To explore annotations in HIN files:
1. Save the above molecule and annotations by choosing Save on
the File menu.
2. After saving the HIN file, choose New on the File Menu.
3. Choose Open on the File menu and read in the file that you
just wrote. The annotations were obviously included in the
HIN file.

Annotations

297

Saving Annotations

298

Lesson 20

Lesson 21
TNDO Parameter Files
Skills Covered in This Lesson•

Performing TNDO calculations•

Editing TNDO (and other) parameters directly•

Creating new parameters for specific types

This tutorial will introduce you to the basic manipulations
involved in Typed Neglect of Differential Overlap (TNDO) calculations. You will explore the basic idea of atom types in semi-empirical calculations and develop new parameters for the TNDO
method.
With a default set of parameters, TNDO is just CNDO (or INDO).
We will explore how CNDO specifically predicts the C-C bondlengths in ethane and ethene and develop new parameters that are
specific to sp2 and sp3 systems.

Default CNDO/INDO Parameters
To explore the CNDO bond lengths of ethane and ethene:299

Default CNDO/INDO Parameters

1. Create an ethane molecule in the workspace and apply labelsthat are the atom type.

2. Choose Semi-empirical on the setup menu and chooses TNDO
as the semi-empirical method to use. Click on Options andchoose default values as shown below:

In particular, do not choose to Add INDO Terms. Without thischecked, TNDO is equivalent to CNDO (with or without special parameters).

300

Lesson 21

Inspecting TNDO Parameters

3. Choose Select Parameter Set... on the Setup menu and choose
the “default” parameter set. Click on OK.

4. Use Polak-Ribiere to optimize the structure of Ethane to a convergence of 0.01 in the RMS gradient. You should find that the
optimized bond length is about 1.457 Angstroms. You might
like to repeat the calculation with the CNDO method to assure
yourself you get the identical answer. Repeat for Ethene toobtain an optimized bond length of about 1.310 Angstroms.

Inspecting TNDO Parameters
To inspect the TNDO parameters:
1. Select a single carbon atom of ethane and choose Edit Parameters... on the Setup menu. The following dialog box shows thedefault TNDO parameters which are identical to the
CNDO/INDO parameters.

In TNDO these parameters are associated with a particularatom type not atomic number. In this situation the type is CT
TNDO Parameter Files

301

Copying TNDO Parameters to a New Set

as per the typing rules for Amber (which are borrowed for
TNDO).
Note particularly the value of beta which is 21. This beta quantity is the parameter which is basic to the bond strength andoff-diagonal elements of the Fock matrix. A larger value of beta
should give stronger bonding while a smaller value of beta
ought to give weaker bonding. Before we edit these default values we ought to create a new parameter file to experimentwith.
Note: You can also inspect parameters for other semi-empiricalmethods or molecular mechanics methods. With molecularmechanics, you will see different parameters depending upon
whether you select an atom, a bond, an angle, or a torsion.

Copying TNDO Parameters to a New Set
To copy the “default” parameter set to a set named “tutorial” tobe used for experimentation:
1. Choose Select Parameter Set... on the Setup menu as before to
see the TNDO parameter sets. Select the default set and clickon the Copy button. HyperChem will now ask you to choosea name for the copy:

2. Name the new parameter set by typing “tutorial” in the edit
box. Hit OK. You will now be able to see this new parameter set
described in the Registry if you wish.

Editing TNDO Parameters
To edit the tutorial set :302

Lesson 21

Editing TNDO Parameters

1. Choose Select Parameter Set... on the Setup menu and selectyour new tutorial parameter set as the set to use (this set can
now be experimented with without affecting other parametersets).
2. Select a single carbon atom of ethane and choose Edit Parameters... on the Setup menu.
3. Push the edit button and type in a new value for beta. Click on
OK. Experiment with different values of beta and their effecton the optimized C-C bond length.
You should try values for beta that are less than 21 to see if you
can improve the C-C bond length from the 1.457 Angstrom
value to something close to 1.54 Angstroms. A CT value forbeta of about 16 will give you a much better C-C bond length.
4. Experiment with Ethene. You will find that the default value
for beta of 21 leads to a C=C bond length of 1.310 Angstroms
much smaller than the 1.34 Angstroms characteristic of C=C
double bonds. A new CX beta parameter of about 19 will givea much better bond length for ethene.
The result of this lesson is that you will have created a new
TNDO parameter file, tutorial.abp, which contains new beta
parameters for C-C sp3-sp3 single bonds (type CT-CT) and for
C=C sp2-sp2 double bonds (type CX-CX). You might now try
these on propene to see how well they work in a new situation.

TNDO Parameter Files

303

Editing TNDO Parameters

304

Lesson 21

HyperChem®
Modules
Part 1HyperChem Data
Part 2HyperNMR

Hypercube, Inc.
Publication HC70-00-02-00

January 2001

Copyright © 2002 Hypercube, Inc.
All rights reserved

The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. Thispublication, or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ORIMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE, INC. BE
LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES INCONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF HYPERCUBE, INC.
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY DEFECT OR ERROR IN THESE
MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC., REGARDLESS OF THE FORM OF
ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALS DESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.

Hypercube Trademarks
HyperChem is a registered trademark of Hypercube, Inc. HyperMM+, HyperNewton, HyperEHT, HyperNDO,
HyperTNDO, HyperDFT, HyperGauss, HyperNMR, HyperChem Data and ChemPlus are trademarks of Hypercube, Inc.

Third Party Trademarks
MM2 is a trademark of Dr. Norman Allinger, University of Georgia.
CHARMm is a registered trademark of Accelrys Inc.
Microsoft, MS-DOS, and Excel are registered trademarks, and Windows, Windows 95, Windows 98, Windows ME,
Windows NT, and Windows XP are trademarks of Microsoft Corporation.
IBM is a registered trademark of International Business Machines, Inc.
ChemDraw is a trademark of CambridgeSoft Corporation.

All other brand and product names are trademarks or registered trademarks of their respective holders.

PRINTED IN USA

Table of Contents
Part 1: HyperChem Data
Chapter 1

Introduction to HyperChem Data

A Database Module . . . . . . . .
Databases in HyperChem Data . . . .
Databases . . . . . . . .
Tables . . . . . . . . .
The Molecular Database . . . . . .
Naming Molecules . . . . .
HDF String. . . . . . . .
HIN String . . . . . . . .
Properties . . . . . . . .
Basic Window . . . . . . . . .
Basic Operations. . . . . . . . .
Drawing Molecules . . . . .
Database Reading . . . . .
Database Creation . . . . .
Basic Entity is Table . .
Standard Fields . . .
Custom Fields . . . .
Adding Records . . .
Database Editing . . . . . .
Database Querying . . . . .
Simple SQL Queries . .
2D Substructure Searches
3D Substructure Searches
Generic Searches . . .
HyperChem-Related Operations .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

3
3
3
4
4
4
5
6
6
6
8
8
9
9
9
10
10
10
10
10
11
11
12
12
12

iii

Chapter 2

Tutorials

15

Overview . . . . . . . . . . . . . . . . . . . . . 15
Summary of HyperChem Data . . . . . . . . . . . . . . 15
Tutorials. . . . . . . . . . . . . . . . . . . . . . 16
1. Starting HyperChem Data . . . . . . . . . . . . 16
2. Opening a Database . . . . . . . . . . . . . . 17
3. Querying a Database (SQL GUI Query) . . . . . . . . 21
4. Querying a Database (Substructure Query) . . . . . . . 23
5. Querying a Database (Generic Query) . . . . . . . . . 27
Overview . . . . . . . . . . . . . . . . 27
How It Works . . . . . . . . . . . . . . 27
Example . . . . . . . . . . . . . . . . 28
6. Adding New Fields to a Table . . . . . . . . . . . 29
HSV Fields . . . . . . . . . . . . . . . 31
7. Adding and Removing Records From a Table . . . . . . 32
Adding Records . . . . . . . . . . . . . . 32
Deleting A Record . . . . . . . . . . . . . 35
8. Editing an Existing Record . . . . . . . . . . . . 35
9. Drawing a Molecule . . . . . . . . . . . . . . 36
Background . . . . . . . . . . . . . . . 36
10. Saving and Retrieving a Drawing. . . . . . . . . . 41
11. Creating a New Database . . . . . . . . . . . . 42
Format of Databases . . . . . . . . . . . . 42
New Database Fields . . . . . . . . . . . . 42
Example . . . . . . . . . . . . . . . . 43
12. Using HyperChem with HyperChem Data. . . . . . . 48
Computing Molecular Properties with HyperChem Hcl Scripts
49
Run Script... . . . . . . . . . . . . 49
Output to Log file: . . . . . . . . . . 49
Output to HyperChem Data Table: . . . . . 50
Run Script and Retrieve HIN...: . . . . . . 52
13. Importing HyperChem Data Records into MS Excel . . . . 52
Importing Data into MS Query and Excel . . . 53
14. Saving, Compacting and Repairing Databases . . . . . 53
Creeping Database Size . . . . . . . . . . . 53
Closing a Database . . . . . . . . . . . . . 54
Compacting a Database . . . . . . . . . . . 54
Repairing a Database . . . . . . . . . . . . 54
15. Getting a Molecule from the Database into HyperChem . . 55

iv

Table of Contents

Chapter 3

Reference

Overview . . . . . . . . . . .
Menu Items . . . . . . . . . .
File Menu . . . . . . . .
New Database... . . .
Open Database . . .
Close Database . . .
Tables . . . . . .
Close Table . . . . .
Compact Database . .
Repair Database . . .
Close Query . . . .
Save Query As . . . .
Import Picture . . . .
Save Picture As. . . .
Get Picture Set . . . .
Edit Menu . . . . . . . .
Copy . . . . . . .
Delete . . . . . .
Align Label . . . . .
Select All . . . . .
Select None. . . . .
Add Record . . . . .
Edit Record . . . . .
Discard Changes . . .
Update Record . . . .
Delete Record . . . .
Query Database . . .
Display Menu . . . . . . .
Refresh Screen . . . .
Clear Screen . . . .
Center Picture . . . .
Tool Menu . . . . . . . .
Select. . . . . . .
Single Bond . . . .
Double Bond . . . .
Right-Side Double Bond .
Left-Side Double Bond .
Triple bond . . . . .
Text . . . . . . .
Rings . . . . . . .
Text Colors . . . . .
Draw Colors . . . .

59
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

59
59
59
59
59
59
59
59
60
60
60
60
60
60
60
60
60
60
61
61
61
61
61
61
61
61
61
62
62
62
62
62
62
62
62
62
63
63
63
63
63
63
v

HyperChem Menu . . . . . . .
Get Hinfile . . . . . . .
Put Hinfile . . . . . . .
Delete Hinfile . . . . . .
Run Script . . . . . . .
Run Script and Retrieve HIN . .
Run Script and Delete Records .
Bond Menu . . . . . . . . .
Constrained . . . . . . .
Unconstrained . . . . . .
Help Menu . . . . . . . . . .
Drawing Tools . . . . . . . . . . . .

Chapter 4

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

HDF Files

. 63
. 64
. 64
. 64
. 64
. 65
. 65
. 65
. 65
. 65
. 65
. 66

69

HDF Files . . . . . .
PRIMITIVE Records
Atom Records . .
Label Records . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

. 69
. 70
. 71
. 71

Part 2: HyperNMR
Chapter 5

HyperNMR

Overview

Chapter 6

.

.

.

75
.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Table of Contents

.

.

.

.

. 75

77
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Introduction to HyperNMR

Introduction .

vi.

Installation Guide

Introduction . . . . . . . . . .
System Requirements . . . . . . .
Installing HyperNMR . . . . . . .
To install HyperNMR:. . . . .
WIN.INI settings . . . . . . . . .
Interaction of HyperNMR and HyperChem

Chapter 7

.

.

.

.

.

. 77
. 77
. 78
. 78
. 78
. 79

81
.

.

.

.

.

.

.

.

.

.

. 81

Some Basic Ideas. . . . . . .
Stand-alone or Combined .
Quantum Atoms . . . .
NMR Atoms . . . . .
Labelled Atoms . . . .
Equivalent Atoms . . .
Using HyperNMR for calculations .

Chapter 8

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

Tutorials

81
81
82
82
82
83
83

85

Overview . . . . . . . . . . . . . . .
Tutorial I: HyperNMR Basics . . . . . . . . .
Starting HyperNMR . . . . . . . . .
To start HyperNMR: . . . . . .
HyperNMR Window. . . . . . . . .
Title Bar . . . . . . . . . .
Menu Bar . . . . . . . . .
Tool Bar . . . . . . . . . .
Workspace . . . . . . . . .
Status Line . . . . . . . . .
Help . . . . . . . . . . .
Control-Menu Button . . . . .
Maximize/Minimize Buttons . . .
Using the Mouse . . . . . . . . . .
Keyboard Alternatives . . . . . . . .
To open a menu: . . . . . . .
To close a menu: . . . . . . .
To choose a menu item: . . . . .
To rotate a molecular system: . . .
To translate a molecular system: . .
Bringing a Molecule into HyperNMR . . .
Opening a Sample File . . . . .
To open a HIN file: . . . . . .
To change directory: . . . . . .
To change file type: . . . . . .
To scroll through the list: . . . .
To select a file: . . . . . . . .
Bringing a Molecule in from HyperChem . .
Getting a molecule from HyperChem:
Changing Renderings . . . . . . . .
To open rendering dialog box:. . .
Changing Atom Renderings . . . . . .
To display labels: . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

85
85
85
85
86
87
87
87
87
87
87
87
88
88
88
88
88
89
89
89
89
89
90
91
91
92
92
94
94
94
95
96
96
vii

To display disks and spheres: . . . . . . . . . 97
Changing Bond Renderings: . . . . . . . . . . . . 99
To display bonds: . . . . . . . . . . . . . 99
To display cylinders: . . . . . . . . . . . . 99
Translating, Rotating, and Scaling Molecules . . . . . . 100
XY translation: . . . . . . . . . . . . . 100
Zoom: . . . . . . . . . . . . . . . . 101
Scale to fit: . . . . . . . . . . . . . . 101
XY rotation: . . . . . . . . . . . . . . 101
Z rotation: . . . . . . . . . . . . . . 102
Selecting and Deselecting . . . . . . . . . . . . 102
To select and deselect an individual atom: . . . . 102
To select and deselect multiple atoms: . . . . . 103
To select and deselect the molecular system: . . . 103
Copying a Molecular Image to the Clipboard . . . . . . 103
To copy a molecular image to the Clipboard: . . . 103
Exiting HyperNMR . . . . . . . . . . . . . . 104
To exit HyperNMR:. . . . . . . . . . . . 104
Tutorial II: Calculation of NMR Shielding & Coupling . . . . . . 104
To reopen HyperNMR: . . . . . . . . . . 104
To load a molecular system: . . . . . . . . . 104
Setting Atom Types . . . . . . . . . . . . . . 105
To check atom types: . . . . . . . . . . . 105
Setting Up Options . . . . . . . . . . . . . . 105
Opening the Shielding & Coupling Options dialog box: 105
Selecting quantum atoms: . . . . . . . . . 107
Selecting NMR atoms: . . . . . . . . . . . 108
Setting up equivalent atoms: . . . . . . . . 110
Selecting labelled atoms: . . . . . . . . . . 111
Setting up options for the SCF calculation: . . . . 112
Computing Shielding and Coupling Constants . . . . . 113
To start a log file: . . . . . . . . . . . . 113
To compute shielding and coupling: . . . . . . 114
Viewing Shielding and Coupling Constants . . . . . . 115
To view shielding constants:. . . . . . . . . 115
To view coupling constants: . . . . . . . . . 117
Saving Molecules and Calculations . . . . . . . . . 118
To save results: . . . . . . . . . . . . . 118
Tutorial III: Calculation of NMR Spectra . . . . . . . . . . 118
Setting up Options . . . . . . . . . . . . . . 118
To set up the reference shielding: . . . . . . . 119
To set up type of spectrum: . . . . . . . . . 119
To set up the spectrometer frequency:. . . . . . 120

viii

Table of ContentsComputing an NMR Spectrum . . . . . . . . . . . 121
To compute an NMR spectrum: . . . . . . . . 121
To stop logging to a log file: . . . . . . . . . 122
Viewing NMR Spectra . . . . . . . . . . . . . . 122
Line View of an NMR spectrum . . . . . . . . 122
To view peaks of an NMR spectrum as lines: . 122
Envelope View of an NMR Spectrum. . . . . . . 123
To view an NMR spectrum as an envelope: . . 124
To change the line width function: . . . . 124
To change line widths: . . . . . . . . 125
Investigating Peaks in an NMR Spectrum . . . . . 126
To zoom in on a region of the spectrum: . . 126
To select and integrate peaks: . . . . . . 127
To view a table of peak information: . . . . 129
Restoring Expert Options . . . . . . . . . . . . . 130
To restore Expert Options: . . . . . . . . . . 130
Tutorial IV: Protein NMR . . . . . . . . . . . . . . . . 130
Making Various Selections . . . . . . . . . . . . . 131
Opening a protein molecule: . . . . . . . . . 131
Selecting quantum atoms with HyperNMR: . . . . 132
Selecting quantum atoms with HyperChem: . . . . 133
Selecting NMR atoms with HyperNMR: . . . . . . 133
Selecting NMR atoms with HyperChem: . . . . . 134
Selecting equivalent atoms with HyperNMR: . . . . 134
Selecting equivalent atoms with HyperChem: . . . . 135
Getting the protein from HyperChem . . . . . . 136
Computing NMR Shielding, Coupling and Spectrum . . . . 136
Setting up NMR shielding and coupling options: . . . 136
Setting up NMR spectral options: . . . . . . . . 136
Computing NMR shielding, coupling and spectrum: . 137
Displaying and Copying NMR Results . . . . . . . . . 137
Displaying, plotting and copying shielding constants: . 137
Displaying and copying coupling constants: . . . . 138
Displaying and copying NMR spectrum: . . . . . 139

Chapter 9

Reference

Overview . . . . . . . . . . .
What is HyperNMR . . . . .
Starting HyperNMR . . . . .
To start HyperNMR: . .
HyperNMR Window. . . . .
Molecular System View .

141
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.

.
.
.
.
.
.

. 141
. 141
. 142
. 142
. 142
. 144
ix

Shielding Constant and Chemical Shift View .
Spin-Spin Coupling Constant View . . . .
Spectrum View . . . . . . . . . . .
Using the Mouse . . . . . . . . . . . . .
Using the Keyboard . . . . . . . . . . . .
HyperNMR Menus. . . . . . . . . . . . .
HyperNMR Coordinate Systems . . . . . . . .
Viewer’s Coordinate System:. . . . . . .
Molecular Coordinate System: . . . . . .
Menus . . . . . . . . . . . . . . . . . . .
File Menu . . . . . . . . . . . . . . .
Edit Menu . . . . . . . . . . . . . . .
View Menu . . . . . . . . . . . . . . .
Tool Menu . . . . . . . . . . . . . . .
Setup Menu . . . . . . . . . . . . . . .
Compute Menu . . . . . . . . . . . . .
Help Menu . . . . . . . . . . . . . . .
Tools . . . . . . . . . . . . . . . . . . . .
Tool Buttons . . . . . . . . . . . . . .
Manipulating Molecules with the Mouse . . . . .
Using the mouse to rotate the molecule . . .
Using the mouse for selection . . . . . .
Using the mouse for zooming and translation .
Keyboard Equivalents for Mouse Actions . . . . .
Dialog Boxes . . . . . . . . . . . . . . . . .
Open File Dialog Box . . . . . . . . . . . .
Save As Dialog Box . . . . . . . . . . . .
Start Log Dialog Box . . . . . . . . . . . .
Preferences Dialog Box . . . . . . . . . . .
Replace Selection Dialog Box . . . . . . . . .
Rendering Dialog Box . . . . . . . . . . .
Shielding Tensor Dialog Box . . . . . . . . .
Spectral Values Dialog Box . . . . . . . . . .
NMR Graph Dialog Box . . . . . . . . . . .
Shielding & Coupling Options Dialog Box . . . . .
Quantum Atom Selection Dialog Box . . . .
NMR Atom Selection Dialog Box . . . . .
Equivalent Atom Selection Dialog Box . . .
Labelled Atom Selection Dialog Box . . . .
Select NMR Atoms Dialog Box . . . . . .
SCF Wavefunction Options Dialog Box . . .
Spectral Options Dialog Box . . . . . . .
Reference Shielding Dialog Box . . . . . .

x

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

145
147
148
149
151
151
152
152
152
153
153
154
155
157
157
158
159
159
159
161
161
161
161
162
162
163
164
165
165
167
167
168
169
170
171
173
175
176
178
180
181
182
184

Solvation Effects. . . . . . . . . . . . .
Files. . . . . . . . . . . . . . . . .
Program Files . . . . . . . . . . .
HyperNMR Default Settings . . . . . .
[nmr]. . . . . . . . . . .
[ReferenceShieldings] . . . . .
Atom Type Files . . . . . . . . . .
Atom Typing Rules . . . . . .
Syntax . . . . . . . . . .
forcefield. . . . . . .
<element-symbol>: . . .
;<comment> . . . . .
<clause> . . . . . . .
<test>? . . . . . . .
“Connected to” Expressions
Side Groups . . . . . .
Rings . . . . . . . .
<Assignment-statement>. .
Semi-empirical Parameter Files . . . . .
Help Text . . . . . . . . . . . .
Communication Files . . . . . . . .
HyperNMR Input Files . . . . . . . .
Z-Matrix Files . . . . . . . .
NMR Files . . . . . . . . .
Molecular System: . . . . . .
Syntax: . . . . . . . . . .
Description: . . . . . . . .
; comment . . . . . .
forcefield . . . . . .
sys. . . . . . . .
view . . . . . . . .
box . . . . . . . .
mol . . . . . . . .
res. . . . . . . .
atom . . . . . . . .
vel. . . . . . . .
mass . . . . . . . .
basisset . . . . . . .
endres . . . . . . .
endmol . . . . . . .
Selections: . . . . . . . . .
Options:. . . . . . . . . .
NMR Parameter . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 185
. 186
. 186
. 187
. 187
. 192
. 194
. 194
. 195
. 195
. 195
. 196
. 196
. 196
. 197
. 197
. 197
. 198
. 198
. 199
. 199
. 200
. 200
. 201
. 203
. 203
. 204
. 204
. 205
. 205
. 205
. 206
. 206
. 206
. 206
. 207
. 207
. 207
. 207
. 208
. 208
. 208
. 209

xi

NMR Spectrum .
Log Files . . . . . .

.
.

Chapter 10 Scientific Background

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

209
210

213

Overview . . . . . . . . . . . . . . . . . . . . 213
Principles of Nuclear Magnetic Resonance . . . . . . . . . . 214
General Principles . . . . . . . . . . . . . . . 214
Magnetic Shielding . . . . . . . . . . . . . . 216
Nuclear Spin Coupling . . . . . . . . . . . . . 222
Typed Neglect of Differential Overlap Method . . . . . . . . 225
Conventional Semi-Empirical Methods . . . . . . . . 226
NDO . . . . . . . . . . . . . . . . 226
NDDO. . . . . . . . . . . . . . . . 228
Typed Semi-Empirical Methods . . . . . . . . . . 228
TNDO/1 . . . . . . . . . . . . . . . 229
TNDO/2 . . . . . . . . . . . . . . . 230
TNDO Perturbation Theory of Magnetic Shielding Constants . 233
TNDO Perturbation Theory of Nuclear Spin Coupling Constants 236
Self-Consistent Perturbation Theory . . . . . . . . . 237
Parameterization . . . . . . . . . . . . . . . 240
Calculation of Chemical Shifts . . . . . . . . . . . 242
Nuclear Spin States and Transitions . . . . . . . . . . . . 247
Spin Wave Functions . . . . . . . . . . . . . . 247
Stationary-state Wave Functions . . . . . . . . . . 248
Selection Rules and Intensities of Transitions . . . . . . 249
Weak Coupling Approximation . . . . . . . . . . 250
Parameter Sets . . . . . . . . . . . . . . . . . . . 251
Bibliography . . . . . . . . . . . . . . . . . . . 252

xii

Table of Contents

HyperChem Modules®
Part 1HyperChem Data1

2

A Database Module

Chapter 1
Introduction to HyperChem Data
This chapter contains an overview of the basic properties andfunctionality of HyperChem Data. It principally explains the reasons behind the existence of the product rather than details of
how to use it.

A Database Module
HyperChem Data is a module that has been integrated into HyperChem. It augments HyperChem. It communicates with HyperChem to provide input for HyperChem and to store results computed by HyperChem.
HyperChem Data is a Database Module in that it adds databasefunctionality to HyperChem. It comes with a large database ofmolecules that can be transferred to HyperChem for modeling calculations. Output from HyperChem can be transferred to HyperChem Data and as such it provides a database for storing theresults of molecular modeling calculations.
New databases can also be created with custom fields. Thus HyperChem Data provides a general purpose database capability for
HyperChem.

Databases in HyperChem Data
Databases
Databases used by HyperChem data are simply Access 97 databases
in a form that can be directly read by Microsoft Access. They canbe read either by Access 97 (in their native format) or by Access
Introduction to HyperChem

3

The Molecular Database2000 (converted as they are read into the newer format). If they
are converted into the Access 2000 form, they cannot be read byHyperChem Data.
The reason for keeping them in Access 97 form rather than the
newer Access 2000 form is that such databases use only one byte
per text character (Ascii) rather than 2 bytes (Unicode). This keeps
the HyperChem Databases at approximately one half the size theywould be if converted. They can always be converted, if necessary,(by reading them into Access 2000) for use in other contexts.

TablesHyperChem Data uses individual tables within an Access databaseto hold molecular data. That is, all the information about a set ofmolecules is in a table. A *.mdb database file can hold multiple
tables.

The Molecular Database
The molecular databases associated with HyperChem Data consist
fundamentally of records describing isolated molecules and theirproperties. HyperChem Data will complain if individual records
attempt to describe a molecular system that consists of multiple
molecules. Single molecules with names and properties are thebasic "stuff" of HyperChem data. While many properties can beassociated with a molecule, each individual molecule is describedby three fundamental things:•

Name of the molecule•

HDF string describing 2D structure•

HIN string describing 3D structure

Naming Molecules
A Molecule in HyperChem Data has three potential names:

4

Chapter 1•

Name - the string you use to describe that molecule.

•

Alias - a second optional name for the same molecule.

•

Root - a contraction of the name used as an index in the database

The Molecular Database

The "Root" is a string that is automatically generated from thename and provides an index for database lookup and ordering.
The "Name" is the name that you give to a molecule. This could,
for example, be:
1,2-DimethoxybenzeneorBenzene, 1,2-dimethoxy
The root is generated from alphabetic characters prior to numericcharacters. The second choice above is to be preferred because of
the root it generates. The corresponding two roots are:dimethoxybenzene1,2
andbenzenedimethoxy1,2
The second of these will cause this molecule to be indexed with therest of the substituted benzenes rather than being stored with"dimethoxy" systems.
The "Alias" is an optional second name that in this instance is "Veratrole". The Alias is often a generic rather than a systematic name.
It is an optional string that can be used to help search the database.

HDF String
Molecules in a HyperChem Data database are described by "pictures" or 2D drawings of the relevant molecule. These pictures are
encoded by a *.hdf file containing an HDF string that encodes the
picture. That is, the HDF string or file contains records (lines) that
describe the basic primitives of the 2D drawing.
For example, the HDF string describing Ethane (a single line primitive drawn to describe the carbon-carbon bond) is:"PRIMITIVE",1,100,#FALSE#,0,-2147483640,1,2,1995,1845,2395,1845"ATOM",1,"C",1995,1845,1,2,1"ATOM",2,"C",2395,1845,1,1,1

The first record describes the single-line primitive that was drawn.
The last two records describe the two atoms inferred from thedrawn line. A complete description of an HDF file or string is
described in Appendix 1.
Introduction to HyperChem

5

Basic Window

A 2D structural search of the database searches the HDF string ofeach database record for the 2D substructure in question.

HIN String
A 2D HDF string describing a 2D drawing of a molecule can be converted by HyperChem to a full 3D description of the molecule.
This full 3D description of molecules is contained in a *.hin file orequivalently a HIN string.
HyperChem Data databases have a field for the HIN string but thisstring is often the null string implying the database contains only
a 2D description of a molecule (the HDF string). However, it is possible to have HyperChem Data use HyperChem to create a HIN
string and then imbed that string in the appropriate field of thedatabase. Such a database contains an optional 3D description ofa molecule as well as the required 2D description.

Properties
The fields of a HyperChem Data table include a few standard
required fields plus any custom fields. The standard fields include
properties such as the name of the molecule, and others, such as
the HDF string discussed above, plus other fields that are automatically generated such as the molecular formula and weight. Ifother properties of a molecule such as its dipole moment, spectral
frequencies, etc. are desired to be included in a database, thenthese fields must be explicitly added to the definition of a table.
The record values of these custom fields may have to be manually
added to the database.
Certain properties can be related to HyperChem State Variables(HSV’s). These properties can be include in a table without manualentry by having HyperChem compute the property with subsequent automatic entry into the database.

Basic Window
The basic window defining the product is shown below.

6

Chapter 1

Basic Window

The window consists of a number of areas:•

Menu Bar - the menu bar contains menu items, in standard
form, for operating the program, setting parameters, etc.

•

Tool Bar - the tool bar below the menu bar contains tools primarily associated with creating a drawing of a molecule.

•Index - this area shows the full name of each entry in the database. The entries are sequenced according to their Root name.
Clicking on an entry makes it the current record and displays
it below and to the right of the index area.

•

Navigate - this area has buttons for navigating through the
database and indicates the particular record that is the current
one.

•

Status Line - the status line at the bottom shows information
relevant to the previous or current operation.

•

Molecular Structure - this area shows the drawing associatedwith the current record.

Introduction to HyperChem

7

Basic Operations•

Physical Constants - this area show the values of the fields inthe database, apart from the memo fields (HDF and HIN).

•

Memo - this area essentially displays information associatedwith the two memo fields in a database, the HDF string and the
HIN string. One can display a picture of the Windows metafile(picture) created from the HDF string or else shows the HDF
string itself. A HIN string can also be displayed if the databaserecord contains one. If not, the first approximation to a HIN
file derived from the HDF file is shown. In either case it is the
HIN string that would be sent to HyperChem when requested.

Basic Operations
HyperChem Data has only a few basic operations that the userneeds to understand. These can be used in isolation or can be
combined.

Drawing Molecules
One can use HyperChem Data just to draw a picture of a molecule.
These pictures can, of course, be imbedded in a database but theyneed not be.
HyperChem has traditionally been used for molecular modelingand not as a drawing package. The drawing capability of HyperChem Data allows you to create a drawing in the form that isreadily recognized as appropriate for publication. Later versions ofHyperChem come closer to allowing it to be used as a simple drawing program but if you wish to just create a 2D drawing of a molecule, HyperChem Data is preferred.
A drawing or picture can be saved in one of three formats:

8

Chapter 1•

HDF file - the HDF file is proprietary to Hypercube, Inc. It is a
simple Ascii text file that describes a basic molecular drawing.
It is not intended to be a universal drawing format but is primarily associated with HyperChem Data.

•

Windows Metafile - an HDF string can be used to create a Windows metafile, i.e. a Windows drawing which is portable to different devices such as screens, printers, etc. Unlike a bitmap,
a metafile creates lines on a printed page that have the resolution of the printer. A metafile is appropriate for incorporating

Basic Operations

a chemical drawing into a manuscript. For example, Microsoft
Word can import metafiles and can print chemical drawings atfull resolution, unlike bitmaps.
•

Windows Bitmap File - an HDF string can also be converted toa bitmap. The *.bmp bitmap can be used anywhere that it isappropriate to use bitmaps such as on web pages. A bitmap,
unlike a metafile, will have only the resolution of the original
device, usually a computer screen.

A picture can also be converted to a HIN file by HyperChem Datarather than be directly transferred to HyperChem. Such HIN files
do not yet contain any real 3D information since they have not yet
been run through the model builder of HyperChem. That is, all
the z coordinates are zero. Such a HIN file might be referred to as
a 2D HIN file although it has exactly the same form as any other
HIN file; the z coordinates are just all zero.

Database Reading
HyperChem Data can read databases such as those provided withthe program (Hyper3.mdb). Only databases specifically associatedwith HyperChem Data can be read. Such databases, however, arejust specific examples of Microsoft Access databases and can beused with Microsoft Access and other database programs, whenrequired.
When a database is read, one needs to open a specific table toobtain access to molecular data. The table in Hyper3.mdb that
holds the data is referred to as the "Default" table.
When a database is read, the Index area is filled with all the namesof the molecules and a picture of the molecule associated with thecurrent record is displayed. The Physical Constants area shows all
the fields of the database apart from the HDF and HIN strings ofthe memo fields.

Database Creation
Basic Entity is Table
HyperChem Data allows you to create a whole new Database withany number of tables or just to create a new table of the existing

Introduction to HyperChem

9Basic Operations

database. Again, a table is the basic entity for holding molecular
information.

Standard Fields
When you create a new table, you are expected to define the fieldsof that table. A standard database has only the standard default
fields. These include the HDF string or drawing that represents themolecule.

Custom Fields
You can define any new fields that you like, including fields thatare related to variables in HyperChem that can be filled in automatically from HyperChem calculations.

Adding Records
After a table is created, records can be added. This generally
requires selecting "Add Record" from the Edit menu, drawing themolecule, giving it a name, and specifying its properties associatedwith the standard or custom fields of the table. The record mustthen be "Updated". Certain fields such as Formula and Molecular
Weight are computed automatically by HyperChem Data and neednot be added manually.
The principal information associated with a record in a table ofHyperChem data is the drawing of the molecule. Other information may be calculated automatically but the drawing is the fundamental information associated with each record. The drawing plus
a name defines the molecule.

Database Editing
Any record in a table can be edited (and then updated). This edit
operation might include modifying the structure (via the drawingof the molecule), modifying the name, the properties, etc.

Database Querying
An important operation on any database is querying. In particular, HyperChem Data comes with a database of over 10,000 molecules and it is important to be able to search that database and10

Chapter 1

Basic Operations

extract a subset (the query) that reflects a set of molecules of particular interest (for molecular calculation). A common reason for
performing a query is that you wish to have HyperChem perform
calculations on this described subset. Other times you may justwant to explore the data in the database or look for specific values.
HyperChem Data includes quite generic database searching capabilities, particularly when combined with HyperChem.

Simple SQL Queries
The normal default fields of a HyperChem Database table are:•Name of the molecule•

Alias name•

Molecular Formula•

Molecular Weight•

Number of Hydrogen atoms•

Number of Carbon atoms•

Number of Nitrogen atoms•

Number of Oxygen atoms

An SQL query can be created using any of these fields. A simple
graphical interface allows easy generation of SQL queries or they
can be explicitly defined by text written by the user.

2D Substructure Searches
Substructure searches require searching through the HDF string
associated with a record. Such searches can be combined with first
performing an SQL search or can be performed independent of any
SQL search. These 2D substructure searches look for atoms that areconnected to specific other types of atoms. A simple graphicalinterface allows easy generation of these queries.
These searches essentially are looking for specific connections in
the connection table describing the molecular graph. One looks
for rows of the connection table having specific properties. For
example, by combining these, one might search for organic acids
that are aromatic and have a Chlorine on the aromatic ring.
HyperChem Data cannot look directly for a completely arbitrary
substructure buried within a molecular system. It operates byIntroduction to HyperChem

11

Basic Operations

looking for specific types of atoms with specific types of bonds.
Nevertheless, in combination or repetition, one should be able tonarrow a search down so as to be able to find the types of molecules that one wishes.

3D Substructure Searches
In HyperChem Data it is possible to query in three dimensions aswell as in 2D. That is, one might want to find all molecules wherea Nitrogen is within 3 Angstroms of two other Nitrogen atoms.
Such queries are important in drug design and are possible using
the generic query capability described next.

Generic Searches
HyperChem Data has the ability to execute a HyperChem script
over a set (table) of molecules. The "Run Script and Delete
Records" menu command allows completely generic queries to be
made.
For all entries of a table a script is run. A new table initially holding all the original entries is created. If the script returns a specified variable as "True" then that entry is kept. Otherwise that entry
is deleted from the new table. The final table (query) contains
only those entries that have passed the script successfully.
In this way it is possible to query all molecules that have a PM3
dipole moment of more than 2 Debyes, all molecules that have anatom with an atomic charge greater than 0.4, etc. Completely
generic queries can be issued that depend on arbitrary molecular
structure and energetics.

HyperChem-Related Operations
Since HyperChem Data works in close conjunction with HyperChem, it is possible to perform sophisticated operations with single records or sets of records. The related HyperChem operations
are:

12

Chapter 1•

Get HIN file - get a structure from HyperChem and put it in the
HIN string of current database record.

•

Put HIN file - put structure from current database record into
HyperChem. This structure may come either from the HIN
string if one is present or from a converted HDF string if noBasic Operations

HIN string is present in the database record. If a structure inHyperChem comes from an HDF string, it is usually assumed
that it will be subsequently modelbuilt in HyperChem to givea 3D structure starting point.
•

Run Script - run a HyperChem script over the current set ofrecords of a current table or query. This essentially performs
batch molecular modeling calculations on a table or queryfrom HyperChem Data.

•

Run Script and Retrieve HIN - Like the previous operation thisruns a script over a set of molecules from HyperChem Data but
subsequently imports the resulting HIN string back into eachrecord. This would allow one, for example, to create a newtable that had the optimized PM3 structures of over 10,000
molecules by just pushing one button and waiting the appropriate period of time.

•

Run Script and Delete Records - this generic operation essentially implements a powerful query capability as describedabove.

Introduction to HyperChem

13

Basic Operations

14

Chapter 1

Overview

Chapter 2
Tutorials
Overview
This chapter includes a number of tutorials showing how to use
HyperChem Data. It is recommended that a new user go throughthese tutorials to learn how to use HyperChem Data effectively.

Summary of HyperChem Data
HyperChem Data is a database program for storing and managing
chemical information. In particular, it can be used for searchingand querying tables of chemical structures and chemical properties stored in a database. It uses databases of the standard Microsoft
Access form.
The data in the database can be inputed or queried quite independently of HyperChem. Alternatively, a close relationship with
HyperChem can be established such that HyperChem can have its
molecular systems and calculated properties placed into the database in a completely automated fashion.
HyperChem Data includes three main functions:•

It provides a set of drawing tools that can be used to create any
molecular system in the HyperChem Data workspace and saveit in the Windows Metafile format.

•

HyperChem Data can be used to store molecular systems with
their properties. Users can search a database to find a set ofmolecules that satisfy given search conditions and save theresults of the search conveniently.

•

HyperChem Data can be used to invoke HyperChem and to
ask HyperChem to compute molecular properties for a given

Tutorials

15

Tutorials

set of molecules (possibly a query) stored within HyperChem
Data.
HyperChem Data can be used as a stand-alone program or in conjunction with HyperChem. If you do not have a copy of HyperChem installed on your computer, you must use HyperChem Datain stand-alone mode. In stand-alone mode, HyperChem Data canbe used for the first two main functions described above. If you
have a copy of HyperChem installed on your computer, you may
find it convenient to automate the computing of molecular properties for a set of molecules from HyperChem Data.
In addition to its database aspects, HyperChem Data is also a 2D
drawing program and standard drawings of molecules can be created for inclusion in a scientific paper (via the clipboard or *.wmf
files in the Windows metafile format). The 2D drawing can also be
passed (put) to HyperChem as a HIN input file and HyperChem
can use its model builder to convert the 2D drawing into a 3D
structure. It may be convenient for some users of HyperChem todraw their input structures in HyperChem Data rather than inHyperChem itself.

Tutorials
These tutorials contain information on starting HyperChem Data,
opening and querying databases, editing records, adding fields,
creating new databases and tables, drawing molecular structures,and using HyperChem with HyperChem Data.

1. Starting HyperChem Data
From the Windows Taskbar Start button, choose Programs, thenHyperChem Data. This brings up the main HyperChem Data window.

16

Chapter 2

Tutorials

When there is no database open, not all of the functions described
below are available.
The main HyperChem Data window consists of a menu bar, a tool
bar for drawing and editing sketches of molecules, and the areas
described below:
Index

Shows the indices of the molecular systems in thecurrent table. All molecular systems in the current
table are indexed by their root name, in alphanumeric order.
Navigate Records Use to advance or to go back by one (>) or ten (>>)
records, or to go to the last(>| ) or first ( |<) record.
Molecular Struc- Shows the current molecular structure, or functions
ture
as workspace for drawing new structures.
Physical Constants Displays current values for properties stored as
fields; values may be edited in this window.
Memo
Displays information related to the memo fields(HDF string and HIN string) of current record.

2. Opening a Database
A HyperChem Data database with an extension of MDB consists ofa set of tables. Each table can have as many fields as you like.
Examples of fields are: molecular structure, molecular formula,
Tutorials

17

Tutorials

melting point, dipole moment, HOMO energy, etc. You can define
fields with different field types and sizes to optimize storage andsearch efficiency.
HyperChem Data comes with a sample database of more than
10,000 molecules representing common organic compounds. This
database is a read-only Access file, D:\hcdata\hyper3.mdb on
your CD-ROM, assuming that D is the letter assigned to your CDROM drive.
You may read the data in hyper3.mdb directly from your CD-ROM
into HyperChem Data. Alternatively, you may copy the databasefile to your hard disk, setting its attributes not to be read-only, if
you want to modify and use the database from your hard disk.
1. Assuming D: is your CD-ROM drive, copy
D:\hcdata\hyper3.mdb to a suitable location on your computer’s hard drive. The recommended location is
C:\Hyper6\Data\hyper3.mdb.
2. To change the attributes of hyper3.mdb, right-click on it andchoose Properties. At the bottom of the Properties dialog box,
click in the box next to Read Only so that it is un-checked.
Then click on OK to close the Properties dialog box.
3. To open the database that comes with HyperChem Data, go to
the File menu and choose Open Database. Go to the folder
into which you copied the database file, click on hyper3.MDB,
then choose Open. To open any other MDB database, follow
the same procedure, substituting the path and name of thatdatabase.
4. In order to use the database, you must open a table. A tableconsists of a set of records, each made up of a molecular structure, molecule name, and the fields that have been defined forthat table.

18

Chapter 2

Tutorials

5. In the Tables dialog box, choose Default under Table List; thenclick on Open to access the Default Table.

Notice that some of the folders in the Index window are marked
with a “+”; these are folders that contain records. Those marked
Tutorials

19

Tutorials

with a “-” are folders that are already open. Unmarked folders are
empty. Records are stored in alphanumeric order in the Index folders.
6. Click on a name in the Index box to see the corresponding
molecule displayed in the Molecular Structure window. Scroll
up and down the Index window. Click on the “+” next to oneof the marked folders to view its contents; the Molecule_Name
field for each record in the folder is displayed in the Index box.
Notice that the Record Number is displayed below the Navigate Records buttons. The Record Number is based upon theindex order of records in the database.
7. To advance to the next record, use the button in the Navigate
Window. Alternatively, to choose the next molecule from theindex window, simply click on it.
At any time you can view the properties or notes stored with astructure by choosing the Physical Constants or Memo Windows.
When you choose the Molecular Structure Window, an image ofthe molecule is displayed. Click on Physical Constants. Thisshows the current value for each field (property) defined in thecurrent table.

20

Chapter 2

Tutorials

3. Querying a Database (SQL GUI Query)
A number of different ways can be used to make a query. The firstway described here is via a simple SQL query using the graphicaluser interface to generate the SQL query.
Setting up a query:
1. Go to the Edit menu and choose Query Database.

2. In the New Query dialog box, choose Query Builder and thenchoose OK. The SQL builder comes up.

3. Enter the name of the table to be searched in the “Selected
Table” Window.
4. Check only SQL Search at the top right. Other tutorials will
discuss Substructure Search.
Tutorials

21

Tutorials

5. Choose the desired SQL Search Criteria, using one or more
field names as descriptors as shown above.
For example, to search the database for all entries with Molecular
Weight under 100 and one or more Nitrogens, choose
Mol_Weight, then <=, then type in 100. In the last box, choose
And, then choose N_Number, then >=, then type in 1. Use an End
to complete the definition of search criteria.
Executing the search:
6. To search the current database and table and display a newtable representing the query, choose Execute.
The Search Result window reports the number of molecules thatmatch the search criteria and gives you the option of displaying
the results.

If you choose to display the results, they appear in the HyperChem
Data (main) window, where you can view and navigate using theusual tools.
7. Click Yes in the above dialog box to view the results of thequery.
Saving a Query: If you decide that you would like to save theseresults, you can save them as a new table in the current databaseor as a table in a completely new database. To save a query, choose
Save Query As under the File menu and choose appropriate names
for the table and the new database, if one is created.
If you decide not to save these results, choose Close Query under
the File menu.

22

Chapter 2

Tutorials

4. Querying a Database (Substructure Query)A second way to make a query is to search for 2D substructure. In
these searches one is looking for a specific topology in the 2D
molecular graph describing a molecule. Ideally, one would justdraw a portion of a molecular graph and the program would search
all molecules in the database looking for that subgraph in thegraph of the molecule. This is somewhat too ambitious.
The 2D description of molecules within molecular modeling programs is usually described via a "connection table" that describes
each atom and the connections it has to other atoms. The HDF
string as well as the HIN string basically contain connection tables
as part of their semantics.
Substructure search in HyperChem Data basically looks for rows ofthese connection tables that satisfy user constraints. Thus one canlook for a specific kind of atom that has specific kinds of connections to other atoms. For example, one could look for a Carbon
that has an aromatic bond to another Carbon, plus a single bondto a Nitrogen. This is essentially just requires matching to a row ofa connection table. In addition, one can combine two of thesesearches via an AND/OR clause.
If necessary such a query can be saved and subsequent queries
made on the first query.
Substructure queries can be combined with an SQL query performed first (as described in the previous tutorial) by choosing to
ask for both SQL and Substructure queries in the appropriate checkbox. SQL queries are more efficient than substructure queries
because they do not need to search a memo field such as the HDF
string. It is efficient to narrow your search with an SQL search
prior to a substructure search, if this is possible.
Setting up a query:
1. Go to the Edit menu and choose Query Database as in the lasttutorial.
2. In the New Query dialog box, choose Query Builder and thenchoose OK. The Query builder comes up.

Tutorials

23

Tutorials

3. As shown above, we search for an acid (second part) having a
Nitrogen attached to an aromatic structure. That is, we can
combine two searches (with AND or OR) or just do one search(END). The first search above essentially looks for an aromatic
structure (ring?) by searching for a C-C aromatic bond with a
Nitrogen attached by a single bond to one of the Carbons. The
second part of the search looks for a carboxyl group (Carbon
attached to two Oxygens via single and double bonds).
Executing the search:
4. To search the current database just click on Execute.
The Search Result window reports the number of molecules thatmatch the search criteria and gives you the option of displaying
the results.

24

Chapter 2

Tutorials

Depending on the size of the database and the type of substructure
query, this search may take some time. The search must look at
every HDF string and parse that string to look for the appropriate
information on connections. Such a search is considerably moretime consuming than an SQL search which needs only to match
field values. If at all possible, you should try to combine the substructure search with an SQL search that will decrease the numberof HDF strings that need to be parsed.
To perform substructure queries, a new temporary table called"Query" is created that is a copy of the original table. Entries aredeleted from the copy as the query proceeds. This same name isused for every substructure query and this temporary table must be
deleted prior to a subsequent substructure query. This generally
happens automatically but there may be situations in which this"Query" table becomes visible.
5. Say "Yes" to display the results of the query. The query can beclosed, saved, or implicitly closed by requesting a new query.

Tutorials

25

Tutorials

Saving a Query: If you decide that you would like to save theseresults, you can save them as a new table in the current databaseor as a table in a completely new database. To save a query, choose
Save Query As under the File menu and choose appropriate names
for the table and the new database, if one is created.
If you decide not to save these results, choose Close Query under
the File menu.
Optionally Entering the Query String Directly:
As illustrated above, a substructure query can be generated via aneasy to use GUI (graphical user interface). The GUI in reality generates a substructure search string that the user need not be concerned with.
However, it is possible to enter a specific substructure search string
and bypass the GUI if necessary. This might be necessary if, forexample, one is looking for specific bonding to a Germanium
atom which is not one of the atom choices in the GUI. To enter
your own substructure search string:
1. Click one the "Evalute button to see the current substructure
search string. You will be modifying it.
2. Click to say yes to the checkbox, "Enter and Use".

26

Chapter 2

Tutorials

3. Enter a substructure search string with no blank characters.
For example, the string, "c-ge1-se2" would ask for a search ofrecords where a Carbon is connected to a Germaniium atom
by a single bond and also connected to a Selenium atom by adouble bond.
4. Click on Execute to initiate the search as you would if the substructure string had been created by the GUI.

5. Querying a Database (Generic Query)
The most generalized way of querying a database in HyperChem
Data is referred to as Generic Querying.

Overview
By a Generic Query we mean that for every record in the database,one runs a generic HyperChem script on the molecule from thedatabase. This script can compute anything associated with themolecule. The script must finally makes a decision, in code, on
whether the molecule satisfies the query criterion.
The script that defines a generic query must ultimately include a
Tcl script (*.tcl). This is because the script must have conditionals
so as to decide whether the query is satisfied or not.

How It Works
HyperChem Data when asked to "Run Script and Delete Records"
creates a new Hyperchem State Variable (HSV) in HyperChem.
This HSV is called "hc-fail". This variable is set by HyperChem
Data to have an initial value 1 or "true" before running the requisite script on every record of the database. The script must set thisvalue to 0 or "false" if the query criterion is satisfied by the script
and the record is to be kept (not deleted) as a successful record in
the query. If the script does nothing about "hc-fail" or sets it to 1
or "true" then the query fails on that record and the record isdeleted from the table.
Since the query script can calculate a host of molecular modelingproperties (anything HyperChem has to offer), the query is a very
generalized one. For example, the script could optimize the structure using a particular method or basis set and then perform aquantum mechanical calculation of the ionization potential.
With code to check the result, the query could return only those
Tutorials

27

Tutorials

molecules that have an ionization potential less than, say, 5 Electron Volts.

ExampleThis example queries a database for all molecules that have aquantum mechanically calculated dipole moment greater than 1.0
Debyes.
Setting up the script:
1. Use notepad or your favorite editor to create a new script called
bigdipole.scr. This script will have only one line in it reading
read-tcl-script bigdipole.tcl

2.

Use notepad or your favorite editor to create a new script
called bigdipole.tcl. This script should look as follows:

TclOnlyhcExec "query-response-has-tag false"
hcExec "menu-build-model-build"hcExec "do-single-point"
set dipole [hcQuery dipole-moment]
if {$dipole > 1.0} then {hcExec "hc-fail = 0" } else {hcExec "hc-fail = 1" }Exit

This script assumes one has set the defaults in HyperChem toreflect the type of calculation, e.g.. PM3, that one is going to dowhen the Single Point calculation is requested via "do-singlepoint". The script would be more robust if commands likecalculation-method semi-empiricalsemi-empirical-method pm3

were added, depending on the type of calculation required.
The main Tcl script first ensures that the value that will be returnedfor dipole moment has only the value without a tag. It then builds
a 3D structure from the 2D drawing sent to it by HyperChem Data,
performs a single point calculation and then queries the value ofthe calculated dipole moment. If the value is larger than 1.0
Debyes, then the query will succeed.
28

Chapter 2

Tutorials

Opening a Database and Table
For this tutorial, we recommend using a very small test table, created in any convenient way, such as from an earlier query.
3. Open a small database table to explore Generic Querying.

Requesting the Query:
4. Click on the menu item <HyperChem/Run Script and Delete
Records...> and select bigdipole.scr. The script will be run anda query will be created as per other simpler query operations.
Depending on the script complexity and the size of the database that is used, this query could take significant time (evendays) to complete. We recommend exploring query scripts on
only small test databases until you are familiar with the general procedure.
Saving the Query:
A Generic Query can be saved or closed like any other simple SQL
query.

6. Adding New Fields to a Table
Once you’re familiar with exploring and querying a database, you
may wish to know how to add an additional property (field) to thetable. This procedure is described below.

Tutorials

29

Tutorials

Adding New Fields to a Table:
1. Select a table to open from the Table List.

2.

Click on Design.

3. Click on the Add Field button.

30

Chapter 2

Tutorials

4. Enter the Field Name. Choose the desired data type, and specify fixed or variable field length. You may also specify whether
to allow zero length, and designate the field as required, if
desired.
Example. You may want to enter the boiling points of the molecules in your table. To do this, enter “Boiling_Point” in the Field
Name box. Choose “Single” as the Data type. Accept the default
Size, and then click on the right arrow button to add this fieldname to the displayed set of fields.
Removing a Field: In the Table Structure window, choose Remove
Field. Note that the default fields (Alias, Formula, HDF_File,HIN_File, Mol_Weight, Molecule_Name and root) cannot be
removed.

HSV Fields
In addition to custom fields such as Boiling Point described above,it is possible to add fields that are tied to HyperChem State Variables (HSV’s). An HSV is a variable in HyperChem that may contain an energy, an ultraviolet frequency, an atom charge, etc.
There are hundreds of these HSV in HyperChem describing variables of the molecular modeling program.

Tutorials

31

Tutorials

If a field in a database is tied to an HSV, then it is possible via running a script to have these fields of the database filled in automatically by HyperChem in cooperation with HyperChem Data.
These fields have pre-specified names that begin with "h_" followed by the name of the HSV. A later tutorial describes how to
use a script to fill in a database with properties computed byHyperChem.

7. Adding and Removing Records From a Table
Adding Records
A fundamental operation with HyperChem Data is the creation ofa new molecule record. We assume you have an open table suchas the following:

The addition of a new molecule occurs as follows:
1. Under Edit choose Add Record.
The Molecular Structure area will be cleared and the Physical Constants section will be blank.

32

Chapter 2

Tutorials

2. Fill in the Molecule Name and Alias, if it has one. The othertwo fields (Formula and Molecular Weight will get filled in
automatically.

Tutorials

33

Tutorials

3. Switch to the Molecular Structure Panel and draw the newmolecule.
If you are not facile at drawing yet, go through the tutorial on
Drawing Molecules.

4. Choose Edit/Update Record to permanently add the newrecord.
You will be asked if you want to save this new record. If you do
not want to to save this new record but want to start over or havechanged your mind about this new record, you can say No to theUpdate and use Edit/Discard Changes to cancel the Edit/Add
Record selection you made earlier.
5. Click on Yes to save the new record.
If you have not given a name to the molecule, you will also be
asked to do so at this time since a name is mandatory.
The new record’s Physical Constants Panel looks as follows:

34

Chapter 2

Tutorials

The memo panel will show the metafile and hin file (preliminary
2D form) for the new molecule.

Deleting A Record
To delete a record from a table is straight forward.
1. Click on Edit/Delete Record to delete the current record.

8. Editing an Existing Record
Editing an existing record is similar to adding a new record. You
select Edit, modify the appropriate information or drawing andthen select Update.
1. To enter Edit mode, choose Edit Record from the Edit menu.
Note: Note: If you make changes to any field (other than Molecular Structure; see below) without first entering Edit mode, youmust still enter Edit mode before saving changes.

2. Make the desired changes to the molecule structure or fields.
3. Choose Edit/Update Record to save changes.

Tutorials

35

Tutorials

9. Drawing a Molecule
BackgroundA molecular drawing can be included as part of a database recordor drawn completely independently of a database record as an isolated drawing for inclusion, for example, in a manuscript.
Molecular drawings in HyperChem Data are described via an HDF
string or HDF file (*.hdf) that contains the multi-line string). The
HyperChem Drawing File (HDF) is an Ascii file (delineated inAppendix 1) that describes what you have drawn so that the drawing can be reproduced, edited, saved, etc.
An HDF file can be converted into two other types of files. The firstis a Windows Metafile (*.wmf). This is the Windows format for aline drawing. It is an appropriate format for including, for example, a molecular drawing into a Microsoft Word document. HyperChem Data can create a Metafile from an HDF file but not viceversa.
Secondly, HDF files can be converted into HIN files, the standard
file for input to HyperChem. Since HyperChem HIN files primarily describe 3D molecular structure not drawings, this may be lessrelevant with regard to simple drawing than the creation of Metafiles.
[The latest Releases of HyperChem have new drawing capabilities
relevant to HIN files.]Drawing a Substituted Naphthalene:
1. Close any open tables or databases in HyperChem Data.
2. Click on Ring Tools of the toolbar to bring up the dialog box
for choosing a ring structure.

36

Chapter 2

Tutorials

3. Click on the Benzene ring and then on OK. Your mouse cursor
should now resemble the toolbar button.
4. Click the left mouse button in the drawing area and hold the
button down. Drag the mouse around to get a feeling for theway one can rotate the benzene ring on the screen. When you
have an orientation such as that shown below, release the left
mouse button.

Tutorials

37

Tutorials

If you have trouble, you can start over in a number of ways:(a) Use Display/Clear Screen to clear the drawing area.
(b) Use the selection cursor (left-most button on the toolbar) to
drag a selection rectangle around the portion to be deleted to selectit. Alternatively, select individual components of the drawing.
Then hit the delete button or Edit/Delete.
(c) Use the Select all toolbar button (9th from the left) or the
Edit/Select all menu item to select the whole drawing. Then hit
the delete button or Edit/Delete.
5. Using the same Ring cursor, click on the North East carbon
atom of the benzene ring with the left mouse button and holdthe button down. Drag the mouse around to join the secondring to the first until your drawing looks as follows:

You have now created Naphthalene. We will now add two substituents.
6. Use the single bond cursor (second toolbar button from theleft) and one of the double bond cursors to draw somethingequivalent to that shown below. All three of the double bonds
are chemically equivalent and which one you use depends
only upon how you prefer your drawing to look.
38

Chapter 2

Tutorials

At this point all atoms are Carbon Atoms. The drawing consists ofa set of vertices, each of which, by default, is a Carbon atom. However, we can modify any vertex to change the Carbon atom into
any other Element.
7. Click on the Ascii text button of the toolbar (7th from the left)
to select the text cursor. Use the cross-hairs of the cursor toclick on the atom (end of the line) at the top of the drawing(top end of the single bond you have just drawn). That is, click
on a vertex to change that default Carbon atom at that vertex
into a new Element .
8. After you click, you will see a flashing cursor indicating you
can type characters. Type the Characters "Cl" followed by hitting "Enter". This will change the default Carbon Atom into a
Chlorine atom.
9. Do the same with the other two open-ended bonds but type an"O" (rather than "Cl") followed by hitting "enter" each time.
Your drawing should now look as follows:

Tutorials

39

Tutorials

Your drawing is now complete and you have created a meta-substituted Naphthalene. The appropriate Hydrogens will be added byHyperChem as necessary.
In drawing the carboxylic acid group we have not drawn the "H"
attached to one of the "O"s. Whether we do so or not is not important to HyperChem. We could have typed the text "OH" rather
than "O" if we had wanted the drawing to show an -OH group
explicitly. HyperChem Data will recognize any string as the label
to be attached to a vertex. However, when passed to HyperChem
to create a 3D molecular structure, only certain strings are recognized -- all the element symbols plus certain others such as "OH","NH", "CH", "NH2", "CH2", and "CH3".

40

Chapter 2

Tutorials

Thus the above drawing and the following drawing are different
drawings..

However, when passed to HyperChem to create a 3D structure,they are identical.
Use the next tutorial (item 2. particularly) to save your drawing.

10. Saving and Retrieving a Drawing
You can edit an existing drawing of a molecule, or make a new one
in the Molecular Structure area and save the results without firstentering Edit mode or even having a database open.
1. Open HyperChem Data and draw the desired structure; alternatively, edit an existing molecule drawing.
2. To save the drawing, choose File/Save Picture As…and enter aname for the resulting HDF (HyperChem Draw File).
3. To retrieve the structure, choose Import Picture from the Filemenu.

Tutorials

41

Tutorials

11. Creating a New Database
Format of Databases
HyperChem Data uses databases (*.mdb) that are Microsoft Accessdatabases consistent with Access 97. They are kept in Access 97
format because of their much smaller size than corresponding
databases consistent with newer formats such as that used byAccess 2000. Access 2000, however, will convert these databases
into a form directly usable within Access 2000, or equivalent Database programs. In doing so, however, the databases will approximately double in size because of the conversion from Ascii data
(Access 97) to Unicode data (Access 2000).
HyperChem Data comes with a database of over 10,000 molecules.
It also allows you to create molecular databases of your own choosing.

New Database Fields
New HyperChem Data databases have a set of default fields thatcannot be removed. On the other hand, you can create as many
new fields as you like. The default fields are what make the database a molecular database for HyperChem Data. The default fields
are:

42

Chapter 2•

Molecular_Name - a name for a molecule. It should be unique.

•root - the index field automatically generated from
Molecular_Name•

Alias - an alternative name for a molecule. The field is required
but can be left blank.

•

Formula - automatically generated from the drawing of a molecule.

•

Mol_Weight - automatically generated. It includes the implicit
Hydrogen atoms.

•

HDF string - an Ascii string that describes a required 2D drawing of a molecule. The string is generated from the drawing
and the drawing can be regenerated from the string.

•

HIN string - an Ascii string that potentially describes the 3D
structure of a molecule. A 2D version (all z coordinates set tozero) can be generated from the HDF string. The full 3D ver-

Tutorials

sion (retrieved from HyperChem) allows the database to holdfull 3D structures. By default the HIN string is a NULL string.
A new database can have in addition to the above fields any fields
that Access databases allow. These new fields fall into two types - those that are just normal Access fields such as an Integer, Single
or Double floating point values, Text strings, etc. The second new
types are fields that are tied to HyperChem State Variables (HSV’s).
These are fields that can be filled in automatically by HyperChem
from data created in molecular modeling calculations.

ExampleThe example below creates a whole new database rather than justa new table for an existing database. The two are basically thesame procedure, however.
1. Under File, choose New Database. Enter the name for the new
database in the dialog box. Click on Save to close the dialogbox.

2. The Tables dialog box now appears. Click on New...
One now has the option to design the fields of the new databaseas shown below.

Tutorials

43

Tutorials

3. Fill in a name for the new table in the new database. As shown
above, we have call ours, "FirstTable" in the database
MyData.mdb.

For this example, lets assume you are creating a database of experimental dipole moments for eventual comparison with calculated
values.
You can choose new fields that are tied to a HyperChem State Variable (HSV). These fields will be filled in automatically when you
run a HyperChem script on a table or query. Alternatively, you canchoose new database fields having no specific relationship toHyperChem, using the Other option.
4. Create a new field called Dipole by entering the string "Dipole"in the Other Field Name position, clicking on the ">" button toassign the field as shown below.

44

Chapter 2

Tutorials

5. Click on OK to create the table and bring up the Tables dialog
box,

6. Click on Open to open the new table. At this point the table
will be empty.
The new table has zero records. The Molecular Structure tab is
empty and the Physical Constants tab looks as follows.

Tutorials

45

Tutorials

The new Dipole field of the database table is shown above. To add
records to this new table one must use Edit/Add Record, fill in thedata, draw the molecule, etc., and then use Edit/Update Record tocomplete the addition of the new record. This is repeated until
you have added as many records as desired. You should then close
the table and/or the database. Here we will illustrate adding a single record. The record will be for acetone and assume the dipole
moment is 0.5 Debyes.
7. Click on Edit/Add Record and then fill in the Physical constants for Acetone as shown below:

46

Chapter 2

Tutorials

8. In the Molecular Structure tab create a drawing of acetone asshown below:

Tutorials

47

Tutorials

This drawing has added the text label "CH3" at two of the vertices.
These labels are not necessary as far as HyperChem is concerned
but they may add to the clarity of the drawing, as desired.
9. Click on Edit/Update Record to complete adding this newrecord to your new table and new database.
10. Click on File/Close Table to close the table. Click on File/Close
Database to close the database.

12. Using HyperChem with HyperChem Data
HyperChem Data communicates with HyperChem and the combination can be used for many calculation not feasible with either
product in isolation.
Scripts written to automate calculations in HyperChem can be executed from HyperChem Data. The result is that the specified operations are carried out on all the molecules in the currently active
table. This provides a very convenient method for adding molecular information to the database.
In addition, of course, the generality of Hcl and Tcl scripts allow
one to perform many useful molecular modeling calculations but
now perform them with a set or database of molecules. The script
can write files, save results, etc. This batch computation on a database table of molecules can automate many research computations.
When a script is a Tcl script, its generality allows for essentially any
calculation you might like. Any calculation could be performed
on a molecule from the database, including calculations performed by the script that have nothing to do with HyperChem perse.
When a script is a simple Hcl script, the molecular modeling
results can appear in the normal log file or be automatically placedin the database. With a simple Hcl script described below fewer
options are available than with Tcl scripts.

48

Chapter 2

Tutorials

Computing Molecular Properties with HyperChem Hcl
Scripts
Run Script...
HyperChem Hcl scripts, which are described in detail in the HyperChem Chemist’s Developer Kit manual, can be used in conjunction with HyperChem Data to perform calculations on molecules
in a HyperChem Data table. The results can be stored in the table,or they can be sent to an output text (log) file.

Output to Log file:
1. Use a text editor such as Windows Notepad to create a text document consisting of Hcl script commands. An example of a
useful script follows:
errors-are-omsgs
warnings-are-omsgs
omsgs-to-file errors.txt
start-logging log.txt, yes
do-single-pointstop-logging

This script sets up the file errors.txt to receive possible warnings
and error messages, opens a HyperChem log file named log.txt,
instructs HyperChem to perform a single point calculation on thecurrent molecule using the current setup parameters, sends theoutput to log.txt and then ends the log session.
2. Save the script, preferably in the Scripts sub-folder of theHyperChem folder, for example, C:\Hyper6\Scripts.
3. Open a HyperChem window and set the desired method andoptions for the single point calculation.
4. In HyperChem Data, open the database and the table of molecules whose properties are to be computed. To execute thescript and log the results to log.txt, go to the HyperChem
menu in HyperChem Data and choose Run Script. Then go to
the HyperChem Scripts folder and select the desired script.
The results of the calculation will be sent to the file log.txt. This
file will hold a concatenation of the results from Single Point calculations on each of the molecules of the database.

Tutorials

49

Tutorials

Output to HyperChem Data Table:
1. Choose "File/Open Database" to open a database file.
2. Choose a table from the list provided, and press the "Design…"
button.
3. Press the "Add Field…" button.
4. In the panel named: Field Name: check the radio button next
to HSV:.
5. Choose a variable from this list, whose value you want to getfrom HyperChem and put into the database for each molecule.
6. If you have chosen a variable which is a vector, for example: irfrequency(1), you can change the value of the index by typing
in a new one ("1" is always the default). So, you can add the frequency of the second IR frequency for each molecule by editing "ir-frequency(1)" to "ir-frequency(2)".

7. Press the ">" button to add this variable to the list of fields forthis table.
8. Repeat this process for each variable you wish to add. For
example, one could add the following variables to save the firstsix lowest-frequency IR lines of each molecule:ir-frequency(1)ir-frequency(2)50Chapter 2

Tutorials

ir-frequency(3)ir-frequency(4)ir-frequency(5)ir-frequency(6)to the table by clicking on the ir-frequency(1) six times, andchanging the (1) to (2), (3), (4), etc. before clicking on the ">" button.
9. Press the OK button.
10. Dismiss the Table Structure dialog by clicking on the "x" (dismiss dialog) button at the very top right corner of the dialog
box.
11. Click on the Open button to open the table
12. Use the Edit/Query Database command and follow the procedure for Querying a Database (above), if desired, to pare down
the database to those molecules whose properties you wish tocompute. Use the File/Save Query As… menu button to savethe query result to a new table.
13. Create a HyperChem script file containing the script commands necessary to calculate the values of the variables chosen
above. So, for example, if you have chosen the variables ir-frequency(1) and ir-frequency(2), the following script commands
will suffice:select-nonemenu-build-model-build
calculation-method semi-empiricalsemi-empirical-method PM3
uhf noconfiguration-interaction NoCI
do-geometry-optimization
do-vibrational-analysis

To create this script file, enter the commands listed above using atext editor and save the file as an SCR file. For example, you could
save the commands above in a file named ir-freq.scr in theHyper6/Scripts folder. Close the file before proceeding to the nextstep.
14. Start HyperChem if you do not have an active HyperChem
window.

Tutorials

51

Tutorials

15. In HyperChem Data, choose Run Script from the HyperChem
menu, and open the file you just saved (for example,
C:\Hyper6\Scripts\ir_freq.scr). This will cause HyperChem to
run this script file on each of the molecules in the current
table. The value of the selected HSV variables (for example, irfrequency(1), etc.) will be entered into the database for eachmolecule after the execution of the last line of the script command.

Run Script and Retrieve HIN...:
HyperChem Data includes a menu item, HyperChem/Run Script
and Retrieve HIN… , that behaves very much like the Run Script…
menu item just described above.
In both cases these menu items result in a HyperChem script being
run on a table or query from HyperChem Data. In the above case,fields of the database corresponding to HSV’s get filled in automatically as the script is run on a set of molecules.
In this second instance, the HIN field of the database (containing
the 3D structure of a molecule) also gets filled in at the end of thescript, in addition to the HSV fields. This allows you to capture amolecular structure into the database after an optimization, adynamics run, a transition state search, etc.
With just Run Script…, the molecular structure in the database isleft unchanged after running a script on the structure. In the second Run Script and Retrieve HIN… case, the database is modified
to contain the molecular structure remaining at the end of thescript run for each. Of course, if the script results in no change toa molecular structure, the two menu items give identical results.

13. Importing HyperChem Data Records into MS Excel
Since HyperChem Data databases are just Microsoft Access databases, they can be viewed by a variety of database relevant software
packages. A database, for example, can be read directly into
Microsoft Excel. Importing data from HyperChem Data into
Microsoft Excel is especially useful for investigating trends inmolecular properties.
In particular, however, this tutorial shows you how to query a
database using Microsoft Excel and Microsoft Excel Query. To

52

Chapter 2

Tutorials

query in this fashion , you must obviously have both Microsoft
Excel and Microsoft Excel Query installed.

Importing Data into MS Query and Excel
Once MS Query has been installed, data can be transferred from a
HyperChem Data table by the following procedure:
1. Start up Microsoft Excel.
The database and table to be transferred must be closed in order totransfer information to Excel.
2. If there is an open database in HyperChem Data, choose
File/Close Database.
In MS Excel:
3. Use File/New to create a new workbook.
4. Choose the menu command Data/Get External Data/New
Database Query...
5. In the Choose Data Source dialog, choose: MS Access Database.
Click on OK.
6. The Select Database dialog appears next. Use it to find andselect the database file that you created with HyperChem Data.
7. At this point, the Microsoft Query Wizard program will be visible. The upper left pane should display the name of the tables
in your database. Select the table and the columns for yourquery and place them in the upper right pane. Click on a seriesof Nexts, then Finish, and OK to see your query.
8. The current sheet in Excel should now contain the data fromyour HyperChem Data database, ready for plots, averages, orother manipulations.

14. Saving, Compacting and Repairing Databases
Creeping Database Size
The size of a database can sometimes grow into an unmangeable
size if many, many queries are performed on it. In many database
operations data is replicated and in many delete operations data isjust flagged as deleted rather than truly deleted. It is necessary to
be able to compact a database to reduce its size after you have used
Tutorials

53

Tutorials

the database extensively. All database operation would still work
but unless you compact a database regularly (depending somewhat upon your use of the database) it will take up much morememory than it needs to.

Closing a Database
Every time you close a database in HyperChem Data you are given
the option of compacting it.

Often you should just say no but if you think your operations havesufficiently expanded it, then you can compact it at that point.

Compacting a Database
You also have the option to compact at any time using the menu
item File/Compact Database...

Repairing a Database
If you believe your database may have been corrupted, you have aprobability that Microsoft software can repair it. To attempt thisjust click on the menu item File/Repair Database.... and select the
database to repair.
If the database is successfully repaired, you will be asked if you
wish to open it.

54

Chapter 2

Tutorials

15. Getting a Molecule from the Database into
HyperChem
One of the simplest operations one might want to perform is tojust search the database for a molecule that you want to use inHyperChem for molecular modeling calculations.
To do this:
1. Query or search until the molecule you want is the current
record.

Tutorials

55

Tutorials

2. Click on the menu item HyperChem/Put HinFile to transfer
the 2D structure to HyperChem.

3. In HyperChem use the menu item Build/Add H & Model Buildto create a 3D structure from the 2D drawing.

56

Chapter 2

Tutorials

You now have a 3D structure with all the relevant Hydrogen atoms added.
The model builder gives an excellent first approximation to the 3D structure
but you might still wish to optimize the 3D structure with your favorite computational approach.

Tutorials

57

Tutorials

58

Chapter 2

Overview

Chapter 3
Reference
Overview
This chapter includes a number of reference materials on theHyperChem Product.

Menu Items
This section describes each of the menu items in HyperChem Data.

File Menu
New Database...
Click on this menu item to create a new database (and ultimately
a new table for the database).

Open Database
Click here for normal file-like opening of a database.

Close Database
Click here to close the current database.

TablesBring up a dialog box for choosing a database table along with anoperation on the table.

Close Table
Close an open database table.
Reference59

Menu Items

Compact Database
Run a compact operation on the current database or a database ofyour choice. Compacting a large database may take some time.

Repair Database
Attempt repair on a corrupted database.

Close Query
Close a current query and return to original table.

Save Query As
Save a current query as a table of the current database or as a table
in a new database to be specified.

Import Picture
Read in an HDF file as a replacement for the Molecular Structure ofcurrent record (possibly a NULL record if there is no current database table).

Save Picture As
Write out (HDF, BMP, or HIN) file representing the current Molecular Structure.

Get Picture Set
Read in a complete set of concatenated HDF files as the Molecular
Structures for a set of molecules representing a database table.

Edit Menu
Copy
Copy a bitmap of the current Molecular Structure to the Clipboard

DeleteDelete any selected portions of the current Molecular Structure.
Equivalent to the Del key.
60

Chapter 3

Menu Items

Align Label
Align the text label describing a vertex of a Molecular structuredrawing.

Select All
Select all portions of the Molecular Structure Drawing.

Select None
Deselect all portions of the Molecular Structure Drawing.

Add Record
Place in mode where a new record can be added to a database table.

Edit Record
Place in mode for editing the current record of a database table.

Discard Changes
Discard any editing performed on the current record of a databasetable.

Update Record
Make permanent any changes or edits to the current record of adatabase table.

Delete Record
Delete the current record of the current database table.

Query Database
Bring up dialog boxes for specifying the parameters of a database
query. Perform the Query.

Reference61

Menu Items

Display Menu
Refresh Screen
Refreshes the screen. Only needed in unknown rare circumstances.

Clear Screen
Erases all elements of the drawing in the current Molecular Structure Panel.

Center Picture
Centers the molecule picture in the Molecular Structure Panel.

Tool Menu
These menu items are rigorously equivalent to clicking on one of
the toolbar buttons.
A right mouse button click with a particular new type of bondchanges the bond under the cursor to the new type of bond.

SelectUsed to select a portion of a picture in the Molecular Structure
panel. Clicking selects the bonds under the cursor. Dragging creates a rubber banded area for selection.

Single Bond
Used to draw single bonds.

Double Bond
Used to draw equal length double bonds.

Right-Side Double Bond
Used to draw double bond with shorter segment on right side.

62

Chapter 3

Menu Items

Left-Side Double Bond
Used to draw double bond with shorter segment on left side.

Triple bond
Used to draw triple bonds.

Text
Used to add a label at a vertex of a molecular drawing. Click on
Vertex, type label, and hit Enter. Numbers are automatically subscripts.

Rings
Click on to bring up a dialog box containing rings to be selected as
drawing components. Rings may be aromatic or single bonded.
Double bonds, etc. are created by modifying single bonds (rightbutton click).
The rings in HyperChem Data involve the only mechanism for creating aromatic bonds.
Rings may be merged correctly by just overlapping the appropriate
bonds.

Text Colors
Chooses a color for subsequent Text Labels at vertices. Default
color is black.

Draw Colors
Chooses a color for subsequent bonds. Default color is black.

HyperChem Menu
These menu items are associated with the interaction between
HyperChem and HyperChem Data.

Reference

63

Menu Items

Get Hinfile
Looks at the molecule in the workspace of HyperChem and placesa corresponding HIN file describing its 3D structure into the HIN
string of the current record of the HyperChem Data database table.

Put Hinfile
If the current record of the database table of HyperChem Data has
a valid HIN string in it, passes that string to HyperChem as a 3D
HIN file to be read with the associated molecule being placed in
the workspace of HyperChem.
If the HIN string of the current record is NULL, then converts the
HDF string to a HIN string and passes the molecule to HyperChem.
HyperChem will thus have a molecule with all z coordinates ofzero and an appropriate next operation would be to apply themodel builder or to optimize the structure.

Delete Hinfile
This menu item gives you the option of deleting the HIN stringfrom the current record of the current database table or from all
the records of the current database table.
The HIN string potentially gets filled in by HyperChem as a resultof the menu item Run Script and Retrieve HIN... At times one
would perhaps like to go back to a HIN string that is NULL (but canstill be generated from an HDF string). This menu item allows
clearing out HIN strings from the database.

Run Script
Runs a HyperChem script over all the molecules of the current
database table of HyperChem Data. This script can perform any
calculations on the molecule from HyperChem Data that the
script specifies.
If the database table has fields that start with "h_", i.e. fields whichcorrespond to HyperChem State Variables (HSV’s), then those
fields will be filled in with the current value of the HSV at the endof the script.
A script must be a Hcl *.scr script but that script might include a"read-tcl-script" call so that the script is completely generic.

64

Chapter 3

Menu Items

Run Script and Retrieve HINThis menu item behaves identically to "Run Script" except that at
the end of the script the current molecule in the workspace ofHyperChem is placed in the HIN string of the current record of thedatabase table. In this way, for example, one command could fillin a whole database with optimized structures from HyperChem.

Run Script and Delete Records
This menu item essentially controls generalized querying inHyperChem Data. A script is run over all the records of a tablefrom HyperChem data and depending on the value of an HSV variable, "hc_fail" at the end of the script, the database record isdeleted or kept as part of a query. This allows generalized querying
where the success or failure of the query for a particular record
depends on arbitrary code placed in the script and on the resultsof generalized molecular modeling calculation associated with themolecule of the database record.

Bond Menu
Constrained
Selects the drawing of bonds to be constrained as to both theirlength and angle (increments of 30 degrees). The constrained
length can be short, medium, or long.

Unconstrained
Selects the drawing of bonds as to be unconstrained as to lengthand angle. This allows, for example, the joining of distant atoms
by a bond.

Help Menu
HyperChem Data includes extensive on-line help.

Reference

65

Drawing Tools

Drawing Tools
This section gives details on the HyperChem Data drawing tools.
ButtonCorresponding Menu
Command:

Action:Edit/Select All

Select the whole image of the system shown in the workspace

Edit/Delete

Remove the current selection of thesystem from the HyperChem Data
workspace

Tool/SelectChange the mouse mode to be theselection mode. With the Selection
Mode, you can use the mouse to
select a part of the current image
or the entire image.

Tool/Line

Change the mouse to the Linemode. You can use this mode to
draw single bonds in the HyperChem Data workspace

Tool/Double Bond

Change the mouse to the Double
Bond mode. You can use thismode to draw double bonds in theHyperChem Data workspace.

Tool/Double Bond (Right Change the mouse to the Right
Sideline)
Sideline Double Bond mode. You
can use this mode to draw double
bonds with the right bond shorter
than the left bond.
Tool/Double Bond (LeftSideline)

66

Chapter 3

Change the mouse to the Left Sideline Double Bond mode. You can
use this mode to draw double
bonds with the left bond shorter
than the right bond.

Drawing Tools

Tool/Triple Bond

Change the mouse to the Triple
Bond mode. You can use this todraw triple bonds.

Tool/Text

Change the mouse to text mode.
You can use this mode to add text
to a vertex of a drawing. Position
the crosshair where you want toenter text and click the left mousebutton. Press Enter when you arefinished, to anchor the text. Numbers are converted to subscripts.

Tool/Rings

Change the mouse to Rings mode.
This brings up the Molecular Rings
dialog box, which shows the predefined rings. After clicking one ofthese rings, and then pressing<OK>, you can use the mouse toposition this ring in the HyperChem Data workspace.

Draw Color

Access the Color dialog box andspecify a color for drawing.

Text Color

Access the Color dialog box andspecify a color for text

Reference

67

Drawing Tools

68

Chapter 3

HDF Files

Chapter 4
HDF Files
HDF Files
HDF files include information on each of the bonds in a moleculardrawing as well as each of the text labels associated with particularvertices.
Each vertex in a drawing describes an atom and the file also
includes at the end of the file a record explicitly describing theseatoms.
If we have a Molecular Structure such as the following:

then the corresponding HDF file is,

HDF Files

69

HDF Files"PRIMITIVE",1,100,#FALSE#,0,-2147483640,1,2,1875,1530,2221.41,1730"PRIMITIVE",2,100,#FALSE#,0,-2147483640,2,3,2221.41,1730,2221.615,2129.645"PRIMITIVE",3,100,#FALSE#,0,-2147483640,3,4,2221.615,2129.645,1874.91,2330.156"PRIMITIVE",4,100,#FALSE#,0,-2147483640,4,5,1874.91,2330.156,1528.5,2130.156"PRIMITIVE",5,100,#FALSE#,0,-2147483640,5,6,1528.5,2130.156,1528.795,1729.645"PRIMITIVE",6,100,#FALSE#,0,-2147483640,6,1,1528.795,1729.645,1875,1530"PRIMITIVE",7,3,-2147483640,1875.205,1929.645,2008.205,1699.282"PRIMITIVE",8,100,#FALSE#,0,-2147483640,2,7,2221.41,1730,2567.82,1530"PRIMITIVE",9,4,1,0,2463,1410,2673,1650,7"ATOM",1,"C",1875,1530,2,2,4,6,4"ATOM",2,"C",2221.41,1730,3,1,4,3,4,7,1"ATOM",3,"C",2221.615,2129.645,2,2,4,4,4"ATOM",4,"C",1874.91,2330.156,2,3,4,5,4"ATOM",5,"C",1528.5,2130.156,2,4,4,6,4"ATOM",6,"C",1528.795,1729.645,2,5,4,1,4"ATOM",7,"Cl",2567.82,1530,1,2,1"LABEL",1,"Cl"

PRIMITIVE Records
Records in this file are labelled "PRIMITIVE" for lines (bonds), circles, and labels. Primitive records have tokens separated by commas as described below. The second token in a Primitive record isjust the index of the primitive, i.e. 1,2,3,... The third token identifies the type of Primitive according to:•

100 - single bond•

101 - double bond•

102 - right-sided double bond•

103 - left-sided double bond•

104 - triple bond•3 - circle•

4 - label

The fourth token describes whether the primitive has children(#TRUE# or #FALSE#) and the fifth token describes the index of theparent primitive (generally 0). The sixth token describes the colorof the primitive in a somewhat encoded fashion (such as-2147483640 for black!). For a bond primitive, the seventh andeighth tokens describe the atom indices at the start and end of the70

Chapter 4

HDF Filesbond (the two vertices). Finally, the last four tokens describe thecoordinates of the two end points of the bond.
The circle primitive (3) differs from the bond primitives in that it
has tokens only for its color and coordinates of the enclosing rectangle.
The label primitive (4) has a fourth token that describes the index
of the label. The fifth token for a label primitive describes its color(a different representation than used in bonds). The 6 through 9
tokens describe the coordinates of the enclosing rectangle for thelabel. Finally the last token gives the index of the vertex (atom) towhich the label is attached.

Atom Records
Atom records describe the index of the atom, the element symbol
for the atom, the x and y coordinates of the atom vertex, the coordination of the atom (number of other atoms it is connected to),and finally the types of bonds it makes.
The bonding information indicates the index of the atom that agiven atom is bonded to and then the type of bond. This isrepeated for each bond connection.
The types of bonds are:•1 - single bond•2 - double bond•3 - triple bond•4 - aromatic bondLabel Records
The final "Label" records shown above describe the text of eachlabel. The second token is the index of the label and the third
token is the label text.

HDF Files

71

HDF Files

72

Chapter 4

HyperChem Modules®
Part 2HyperNMR73

74

Chapter 5HyperNMR
Overview
TM

HyperNMR is a software package for a priori prediction of one1
13
15
15
19
dimensional NMR spectra. It can predict H, C, N, O, F or
31
P spectra for molecular systems involving the elements hydrogen through argon.
HyperNMR displays molecular systems and NMR spectra graphically. They can be copied to other Windows applications via the
Windows clipboard to produce hard copy.
HyperNMR provides several renderings of molecules. These renderings are disks and shaded spheres for atoms and sticks,
unshaded cylinders, and shaded cylinders for bonds. This canyield, for instance, the popular ball and stick rendering of molecules.
HyperNMR provides other viewing options. Both the mouse andkeyboard can be used to rotate the molecule, change its position,and magnify its size. The mouse can be used to select and deselectatoms in a molecular system and to select and deselect the whole
molecular system.
HyperNMR can be used in one of two ways:•

As a stand-alone program.

•

In conjunction with HyperChem .

®

If you do not have a copy of HyperChem installed on your computer, you must use HyperNMR in stand-alone mode. This requires
reading a molecule into HyperNMR from a molecular structure
file, such as a HIN file, that contains the coordinates of the atomsof the molecule whose NMR spectrum is to be computed.

75

Overview

If you have a copy of HyperChem installed on your computer, you
may find it convenient to compute the NMR spectra of a moleculeobtained directly from HyperChem using the “Get HyperChem”
menu item of HyperNMR. It is not essential to use HyperChem,
however, even if you have it installed on your computer.

76

Chapter 5

Chapter 6
Installation Guide
Introduction
This guide contains information on the following:•

System and software requirements.

•

Installation procedures.

•

WIN.INI settings.

•

The interaction of HyperNMR and HyperChem.

System Requirements
HyperNMR requires the following minimum equipment:•®
®
An Intel 386, 486 or Pentium compatible CPU. A 386 CPU
will require an Intel 80387 math coprocessor. A computer
using an Intel 80486 SX will require an 80487 SX coprocessor.

•

A minimum of 4 MB of random access memory (8 MB recommended).

•

At least 8 MB of free hard disk space.

•®
A video display compatible with Microsoft Windows 3.1,
including IBM Video Graphics Array (VGA or Super VGA).

•

A mouse or other pointing device compatible with Microsoft
Windows, version 3.1.

•

Microsoft Windows Version 3.1 or higher running in 386
Enhanced mode and Version 5 or later of DOS, or Windows 95
or Windows NT for PCs.

77

Installing HyperNMR

Installing HyperNMR
The HyperNMR setup program decompresses and copies files toyour hard disk. The names of compressed files end with an underscore ( _ ).

To install HyperNMR:
Caution: When you install this software, please make sure that thewrite-protect tabs on the disks allow the disks to be written to.
Please use only standard keyboard letters and numbers when you
type in the registration information, without using the [Alt] key toget accents or special characters. We recommend that you make a
backup copy of the software before you install it, and that you
install from the backup rather than from the original disks.
1. Make sure you know your serial number, which is on a label on
the back of Disk 1, on the back of this manual, and on yourregistration card.
2. Place Disk 1 of the distribution set into a floppy drive in yourcomputer.
3. From Program Manager, choose Run from the File menu.
4. In the Command Line text box, enter
a:\setup(Use a different initial letter if your floppy drive is other thana:), and choose OK.
5. Follow the instructions provided by the Setup program.

WIN.INI settings
The HyperNMR setup program detects the possible presence of an
existing copy of HyperChem by looking in the HyperChem section of your WIN.INI file (which is stored in your Windows directory). If it detects a copy of HyperChem it adds the following lines
to this section, of the form:
NMRExePath = C:\HYPER\NMR
NMRIniPath = C:\HYPER\NMR
NMRParmPath = C:\HYPER\NMR

78

Chapter 6

Interaction of HyperNMR and HyperChem(If you installed HyperNMR in a different directory, the name ofthat directory appears.)Interaction of HyperNMR and HyperChem
If the HyperNMR setup program does not detect a copy of HyperChem on your machine it will install a new Group (the HyperNMRGroup) into the program manager, with a HyperNMR icon in it:

If you double-click on this icon, HyperNMR (NMR.EXE) will be
executed and you may perform NMR computations independentlyof HyperChem.
If a copy of HyperChem is detected, then the HyperNMR icon will
be inserted into the HyperChem Group. If you double-click on thisicon you can perform NMR calculations independently of HyperChem or interact with a single copy of HyperChem that you execute independently.

Installation Guide

79

80

Chapter 7
Introduction to HyperNMR
Introduction
Welcome to HyperNMR!
1

13

15

15

19

31

HyperNMR allows you to compute the H, C, N, O, F or P
spectrum of a molecular system involving the elements hydrogenthrough argon. (The elements potassium through xenon could
also be included in a non-quantum mechanical fashion, but you
would need to define new atom types and certain semi-empiricalparameters.) The computation is an a priori computation in thatfor many situations, you need only input the three dimensional
structure of a molecule and HyperNMR will subsequently predict
all the relevant chemical shifts and coupling constants for themolecule. If desired, this can be followed by a computation of thefrequencies and intensities of the one-dimensional NMR absorption spectra.

Some Basic Ideas
Some of the fundamental ideas in HyperNMR are as follows:Stand-alone or Combined
HyperNMR can be used as a stand-alone program that reads amolecular structure from a file, either in HIN (HyperChem Input)
or in Z-Matrix (MOPAC input) format. Alternatively, HyperNMR
can be used in conjunction with HyperChem, and a molecular
structure can be transferred from HyperChem to HyperNMR by
Dynamic Data Exchange (DDE). In either event, the 3-dimensional
Cartesian coordinates of a molecule are the starting point for an apriori quantum mechanical computation of the NMR spectra.
81Some Basic Ideas

Quantum Atoms
Calculations can be performed on systems from small organic molecules to portions of very large macromolecules. For large systems,
the molecule can be divided into a quantum mechanical region
whose atoms (the “quantum atoms”) are included in the quantum
mechanical calculation and a classical region whose atoms areincluded in the calculation via their electrostatic perturbation on
the quantum mechanical atoms. The boundary between the classical region and quantum mechanical region is treated by superimposing a pseudo-atom (called a capping atom) on top of any nonquantum atoms that are bonded to quantum atoms. HyperNMR
3
3
includes parameters for a boundary that is between sp -sp bonded
atoms or that doesn’t cross bonds. You can add additional parameters for other situations.
Quantum atoms and any associated capping atoms are restricted
to the elements hydrogen through argon. The elements hydrogenthrough xenon can be in the classical region, as long as the capping atoms that are bonded to quantum atoms do not include theelements potassium through xenon. If you wish to use any of theelements potassium through xenon, you will need to define new
atom types and parameters (see chapters 5 and 6 for information
on atom types).

NMR Atoms
For the atoms that are included in the quantum mechanical calculation, you must specify those atoms (the “NMR atoms”) thatshould have shielding and spin-spin coupling constants calculated. These atoms are the only ones for which chemical shifts andcoupling constants are computed.

Labelled Atoms
12

The NMR atoms by default will be protons, C, etc. — the isotopeof highest natural abundance. If you specify that certain atoms are“labelled atoms,” then they undergo isotopic substitution to makeinactive nuclei active and vice versa. Thus a labelled hydrogen
atom will have a deuterium nucleus (I =1, inactive), and a labelled
13
carbon atom will have a C nucleus (I = ½, active), for example.

82

Chapter 7

Using HyperNMR for calculations

Equivalent Atoms
Because the quantum mechanical calculations of shielding constants and spin-spin coupling constants are done at a fixed nuclear
geometry, equivalent to 0 degrees Kelvin, the protons of a methylgroup, for example, will not all be equivalent. HyperNMR makes it
possible for the user to specify sets of atoms, “equivalent-atoms-1”,“equivalent-atoms-2”, etc. whose shielding constants and spinspin coupling constants are to be averaged prior to producing aspectrum. This way you can ensure that all the protons of a methylgroup share a single chemical shift, for example.

Using HyperNMR for calculations
There are typically three steps required to perform a HyperNMR
prediction of an NMR spectrum.
The first step is to set up a molecular system. In this step you loada molecule into HyperNMR and specify the sets of atoms describedabove. If you have HyperChem you can create the molecular system and named selections in HyperChem. This step is described in
Tutorial I.
The second step is to calculate shielding and nuclear spin-spin
coupling using semi-empirical quantum mechanical calculation.
This step is described in Tutorial II and the computational chemistry methodology is described in Chapter 6.
The third step is to calculate and display a one-dimensional NMR
spectrum, for the type of nucleus and simulated spectrometer frequency that you specify. This step is outlined in Tutorial III and thecomputational chemistry methodology is described in Chapter 6.

Introduction to HyperNMR

83

84

Overview

Chapter 8
Tutorials
Overview
This chapter contains a set of tutorials for learning how to use
HyperNMR. We strongly encourage you to go through the tutorials
one at a time so as to become familiar with the operation of HyperNMR. Each tutorial introduces specific features of HyperNMR but
leans on previously introduced features, so the tutorials should becompleted in the order given.
In some cases, alternative procedures can be followed if you
use HyperChem with HyperNMR. These sections begin with aHyperChem icon (the beaker at the beginning of this paragraph).
Some of the optional features of the later tutorials can only becompleted in conjunction with HyperChem.

Tutorial I: HyperNMR Basics
This tutorial introduces you to the HyperNMR interface and discusses using menus and tools to open, edit, display, and manipulate molecular systems.

Starting HyperNMR
To start HyperNMR:
1. Start Windows if it is not already running.
2. In the Program Manager window, position the cursor over theHyperNMR icon:

Tutorials

85

Tutorial I: HyperNMR Basics

3. Double-click on the HyperNMR icon or click on it and thenpress the Enter key.
The HyperNMR window opens.

HyperNMR Window
Familiarize yourself with different parts of HyperNMR window.
title barcontrol-menu
buttonmaximize/restore
buttonminimize button

toolmenu barmenu

tool barworkspacestatus line

If you are using Windows 95 or Windows NT, the appearance ofthe frame and the arrangement of the control-menu, maximize/restore, and minimize buttons may be slightly different.

86

Chapter 8

Tutorial I: HyperNMR Basics

Title Bar
The title bar shows the name of the file you are working on. The
name appears as untitled if you are working on a file that has notbeen previously saved.

Menu Bar
The menu bar contains the names of the HyperNMR menus which
are: File, Edit, View, Tool, Setup, Compute, and Help.

Tool BarThe HyperNMR tool bar contains eleven tools. You can use themto load molecular systems, shielding constants, spin-spin coupling
constants and NMR spectra into HyperNMR, save the molecularsystem and calculations, change the contents of the HyperNMR
workspace, and manipulate molecular systems. The HyperNMR
tools are the shortcuts for the menu items in the menu bar.

Workspace
The HyperNMR workspace is used to show molecular systems,
view shielding and coupling constants, and display NMR spectra.

Status LineThe status line of HyperNMR shows the actions and status when
you load a system to HyperNMR or a brief description of the menu
item or tool button when you choose a menu item or click on atool button of HyperNMR.

Help
You can use the Help menu to get on-line help and see the version
information for HyperNMR.

Control-Menu Button
The Control menu contains the commands to resize, move, maximize, minimize, and close HyperNMR. It also contains the Switch
command, which lets you activate another Windows application.

Tutorials

87

Tutorial I: HyperNMR Basics

Maximize/Minimize Buttons
The Maximize button expands a window to display it in a fullscreen size and the Minimize button shrinks a window to an icon.
When you maximize a window, the Maximize button changes toa restore button, which you can use to return the full-screen window to its previous size.

Using the Mouse
The following terms describe using the mouse with HyperNMR.
Point

Position the mouse so that the cursor points atwhat you want to select in the HyperNMR window.

L-click

Press and release the left mouse button.

R-click

Press and release the right mouse button.

Double-click

Press and release the left mouse button twice
quickly.

L-dragHold down the left mouse button and slide the cursor to a new position in the workspace, thenrelease the mouse button.

R-dragHold down the right mouse button and slide thecursor to a new position in the workspace, andthen release the mouse button.

Keyboard Alternatives
HyperNMR provides keyboard alternatives to using the mouse.
The following is a list of some keyboard actions.

To open a menu:
Each menu in the menu bar has an underlined letter. When youpress the [Alt] key and this letter, the corresponding menu opens.
For example
1. Hold down the [Alt] key and press the [F] key.

To close a menu:
Press the [Alt] key or [Esc] key.

88

Chapter 8

Tutorial I: HyperNMR Basics

To choose a menu item:
Once a menu is open, press the key for the underlined character inthe menu item that you wish to invoke. For example:
1. Hold down the [Alt] button and simultaneously press the [F] key
to open the File menu.
2. Press the [O] key.
The Open File dialog box opens. This is the same as using themouse to choose Open under the File menu.

To rotate a molecular system:
You can use the left, right, up, and down arrow keys to rotate themolecular system, when it is shown in the HyperNMR workspace,even if HyperNMR is busy doing calculations.

To translate a molecular system:
You can press the shift key and simultaneously press any arrow
keys (left, right, up, and down arrow keys) to translate the molecular system, if a molecular system is shown in the HyperNMR
workspace, even if HyperNMR is busy doing calculations.
Note: Chapter 5 in this manual lists the details of the keyboard
alternatives.

Bringing a Molecule into HyperNMR
Opening a Sample File
You can read three kinds of files into HyperNMR. They are HyperNMR files (with the extension “.NMR”) which may contain amolecular system, shielding constants, shielding tensors, coupling
constants, and an NMR spectrum; HyperChem HIN files (with theextension “.HIN”) which contain a molecular system; and MOPAC
Z-Matrix files (with the extension “.ZMT”) which may contain thex, y, z Cartesian coordinates or the internal coordinates of molecules. There are some sample files in your samples directory under
the directory where you installed HyperNMR.

Tutorials

89

Tutorial I: HyperNMR Basics

To open a HIN file:
1. Move the cursor to File on the menu bar at the top of theHyperNMR window.
2. L-click on File.
The File menu opens. An ellipsis ( . . . ) appears after somemenu items. This means that a dialog box will op en if you
choose one of these menu items.

3. L-click on Open.
The Open File dialog box appears.
tool button on the tool bar at the top of
Shortcut: L-click thethe HyperNMR workspace to open the Open File dialog box.

90

Chapter 8

Tutorial I: HyperNMR Basics

To change directory:
If the file that you wish to open is not in the current directory, you
may want to change the directory. In this case we want to locate
the HyperNMR sample files. To do this:
1. If necessary, L-drag the scroll box in the Directories list box tofind the name of the directory where you installed HyperNMR.
2. Double-click on the HyperNMR directory in the Directories listbox.
3. Double-click on the samples directory below the HyperNMR
directory in the Directories list box.
The File Name list box should now show the sample files thatare distributed with HyperNMR and are in NMR format.

To change file type:
There is a list at the bottom left of this dialog box called List Files ofType. HyperNMR can open three types of files; they are HyperNMR
NMR files (with the extension “.NMR”), HyperChem HIN files(with the extension “.HIN”), and MOPAC Z-Matrix files (with theextension “.ZMT”).
The default type of files in the Open File dialog box is NMR, so theFile Name list box in this dialog box lists all the files with the extension NMR under the current directory. To get all the HyperChem
HIN files under the current directory to be listed in the File Namelist box, the file type listed in the List Files of Type box has to bechanged. To do this:
1. Place the cursor on the arrow key located to the right of the List
Files of Type box and L-click on it.

Tutorials

91

Tutorial I: HyperNMR Basics

A menu shows all the types of files available in HyperNMR.

2. L-click on the HyperChem (*.HIN) item.
The file type in List Files of Type box switches to HyperChem(*.HIN) and the File Name list box shows all the files with the
HIN extension under the current directory.

To scroll through the list:
The files listed in the File Name list box are sorted in alphabeticalorder. You can use the scroll bar to scroll up and down the file list.
To do this:
1. Position the cursor over the scroll box (the raised button in the
middle of the scroll bar) and L-drag it up and down.
HyperNMR scrolls through this list of file names.
2. L-click on the up and down arrow keys to scroll one line at atime.

To select a file:
1. L-click on METHANE.HIN in the samples directory under the
directory where HyperNMR is installed.
HyperNMR displays this name in the File Name text box:

92

Chapter 8

Tutorial I: HyperNMR Basics

You can also enter a file name by typing it in the File Name text
box, instead of performing an L-click on METHANE.HIN.
2. L-click the OK button.
The dialog box disappears. The cursor turns into an hour-glass
icon and all the tool buttons on the tool bar and the menus on
the menu bar, except the Help menu, are grayed, because
HyperNMR is currently busy reading the file and preparing todisplay the molecular system. As HyperNMR reads the file, thenumber of atoms is displayed in the Status Line at the bottomof the HyperNMR window. The title bar shows HyperNMR
with the file name, METHANE.HIN in this example, after
HyperNMR has read in the file.

Tutorials

93

Tutorial I: HyperNMR Basics

Shortcut: You can also open a file by double-clicking on a file namein the File Name list box.

Bringing a Molecule in from HyperChem
If you don't have HyperChem, please skip this section.
If you have a copy of HyperChem on your machine, you canload molecular systems directly from it to HyperNMR. If you are
new to HyperChem, please consult the HyperChem manuals.

Getting a molecule from HyperChem:
1. Start HyperChem, then draw and model build a methane molecule (CH ) in the HyperChem workspace.
4

2. Move the cursor to File on the menu bar at the top of HyperNMR window.
3. L-click on File.
The File menu opens.
4. L-click on Get HyperChem.
HyperNMR will warn you that there are no named selections(these will be set up in Tutorial II).
5. Ignore this warning by L-clicking on the OK button in the message box.
The molecule in the HyperChem workspace will be loaded inHyperNMR. The title bar shows HyperNMR with “(untitled)”
because the current molecular system hasn't been saved inHyperNMR.
tool button on the tool bar at the top of
Shortcut: L-click thethe HyperNMR workspace to get a molecule from the HyperChem
workspace.

Changing Renderings
HyperNMR automatically uses the rendering settings from the lastsession. You can change the rendering settings via the Rendering
dialog box.
94

Chapter 8

Tutorial I: HyperNMR Basics

To open rendering dialog box:
1. L-click on the View menu in HyperNMR.
The HyperNMR View menu appears as:

2. L-click on the Rendering menu item.
The HyperNMR Rendering dialog box opens:

In the Rendering dialog box, there are three groups of radio buttons which are named Atoms, Bonds, and Atom Labels, respectively.

Tutorials

95

Tutorial I: HyperNMR Basics

Changing Atom Renderings
To display labels:
1. L-click on the Labels radio button in the Atoms group.
This activates all the radio buttons in the Atom Labels group.
2. L-click on the Symbol radio button.
3. L-click on OK.
The HyperNMR workspace shows methane with the element
symbol attached to each atom:

4. Open the Rendering dialog box again, L-click on the Type radio
button, and then click on OK.
HyperNMR displays methane with the atom type attached toeach atom:

96

Chapter 8

Tutorial I: HyperNMR Basics

To display disks and spheres:
1. Open the Rendering dialog box.
2. L-click on Disks.
This disables all the radio buttons in the Atom Labels group.
3. L-click on OK.
HyperNMR displays the atoms of methane as filled circles:

Tutorials

97

Tutorial I: HyperNMR Basics

4. Repeat step 1 and L-click on the Spheres radio button in the
Rendering dialog box, and then click on the OK button.
HyperNMR displays the atoms of methane as shaded spheres:

98

Chapter 8

Tutorial I: HyperNMR Basics

Changing Bond Renderings:
You may have noticed that the renderings of bonds, which are
drawn as sticks, have not changed at all when we changed the renderings of the atoms for methane. The following steps show how
to change the renderings of bonds.

To display bonds:
1. Open the Rendering dialog box.
2. L-click on the Bonds radio button.
3. L-click on OK in the Rendering dialog box.
HyperNMR shows the atom bonds of methane:

To display cylinders:
1. Open the Rendering dialog box.
2. L-click on Cylinders and L-click on the OK button.
This dismisses the Rendering dialog box and changes the rendering of bonds to shaded cylinders.

Tutorials

99

Tutorial I: HyperNMR Basics

Note: Some combinations of renderings of atom and bond are notavailable; for example, shaded bonds are available only withspheres. For details see Chapter 5 in this manual.

Translating, Rotating, and Scaling Molecules
You can use the mouse and the keyboard to translate and rotate
the molecular system and scale the molecular system to fit in theHyperNMR workspace, if the HyperNMR workspace is displaying amolecular system. The following steps illustrate using the mouse.
For keyboard equivalents, see page 162.

XY translation:
You can use the translation tool to move molecules along theplane of the computer screen. Before doing this, you may want tochange the atom and bond renderings to be labels and sticks inorder to speed up the molecular manipulation, if you have followed this tutorial.
1. L-click on Tool.
2. Select Pointer Zoom & Translate.
Now the mouse pointer is in Zoom and Translate mode.

100

Chapter 8

Tutorial I: HyperNMR Basics

3. Move the cursor into the workspace.
4. L-drag the mouse horizontally, vertically, and diagonally.
The molecule moves along the X axis, Y axis, and does XYtranslation.
tool button on the tool bar to change the
Shortcut: L-click themouse mode to Zoom & Translate.

Zoom:
Check that thetool button is down and a molecular system isshowing in the workspace (to make sure that the mouse mode is
set to Pointer Zoom & Translate) and then
1. R-drag upwards.
The molecular image gets smaller.
2. R-drag downwards.
The molecular image gets larger.

Scale to fit:
When a molecular system is first loaded from a file, it may be centered in the workspace in a standard size. After you have translated
and zoomed it, the molecular system may not be centered anymore. You can return it to its original size and location in the workspace by using Scale to Fit menu item under the Tool menu. To do
this:
1. Select Scale to Fit under the Tool menu, or alternatively, press
the spacebar.
The molecule returns to its original size and to the center ofthe workspace.

XY rotation:
To rotate the molecular system in HyperNMR around the x and yaxes, use the XY rotation tool. To do this:
1. Select Pointer Rotate under the Tool menu.
2. Move the cursor into the workspace.
3. L-drag horizontally.

Tutorials

101

Tutorial I: HyperNMR Basics

The molecular system rotates around the y axis.
4. L-drag vertically.
The molecular system rotates around the x axis.
5. L-drag diagonally to rotate the molecular system around boththe x and y axes.
tool button on the tool bar to change the
Shortcut: L-click themouse mode to Rotate.

Z rotation:
Repeat steps 1 and 2 as done for XY rotation if you have changed
the mouse mode and then do the following step:
1. R-drag horizontally.
This rotates the molecule in the plane of the computer screen.
Vertical R-dragging is ignored.

Selecting and Deselecting
To look at the information about specific atoms, to select a subset
of atoms to be treated quantum mechanically, or to examine the
NMR properties of a subset of atoms (see Tutorial II) you can use
the selection tool in HyperNMR.
In order to do selection and/or deselection, the mouse mode needs
to be put in selection mode by your selecting Pointer Select under
the Tool menu. Once you have changed your mouse mode, you
can do any or all of the following operations.

To select and deselect an individual atom:
1. L-click on one of the atoms in methane.
This highlights all the ends of bonds connecting to this atomand the Status Line of HyperNMR shows the atom index, element symbol, atom type, and its Cartesian coordinates.
2. R-click on this atom.
This deselects the atom.

102

Chapter 8

Tutorial I: HyperNMR Basics

To select and deselect multiple atoms:
1. L-click on one of the hydrogens in methane.
2. Press and hold down the [Shift] key and L-click on all the hydrogens in methane and then release the [Shift] key.
This selects all four hydrogens in methane.
3. R-click on any two of these four selected hydrogens.
This reduces the number of selected atoms to two.
4. R-click on an empty area of the workspace.
This deselects all atoms.

To select and deselect the molecular system:
1. L-click on an empty area of the HyperNMR workspace.
This selects the whole molecular system, methane in thisexample.
2. R-click on an empty area of the workspace.
This deselects all atoms.
tool button on the tool bar to change
Shortcut: L-click on thethe mouse mode to Pointer Select.

Copying a Molecular Image to the Clipboard
You can use Copy under the Edit menu of HyperNMR to copy amolecular image to the Windows clipboard.

To copy a molecular image to the Clipboard:
1. Select Copy on the Edit menu.
This copies the image of the molecular system, methane in thisexample, to the Windows clipboard. The atom and bond renderings are the same as shown in the HyperNMR workspace.
You can also change the renderings for atoms and bonds andcopy the image again.

Tutorials

103

Tutorial II: Calculation of NMR Shielding & Coupling

Exiting HyperNMR
For now, exit HyperNMR.

To exit HyperNMR:
1. Select Exit on the File menu of HyperNMR.
HyperNMR may bring up a message box and ask you whether
or not you want to save the current molecular system. You can
L-click on the No button in the message box to discard the current system or you can L-click on the Yes button to save themolecule. If you choose Yes, HyperNMR gives you the Save As
dialog box and lets you choose a file name. You can simply
type in CH4 in the File Name text box of this dialog box.
HyperNMR will automatically add the extension .NMR to
CH4, so the full name of your file is CH4.NMR. Then you canpress OK. This closes the HyperNMR window.

Tutorial II: Calculation of NMR Shielding & CouplingThis tutorial introduces you to the computation and display of
NMR properties such as shielding constants, chemical shifts, andnuclear spin-spin coupling constants.
Before you can display the NMR properties for the current molecular system, the properties must be computed. HyperNMR requires
various settings for computing NMR properties. This tutorial willshow you how to set up the options for computing NMR properties and how to compute and display the NMR properties.

To reopen HyperNMR:
1. Point to the HyperNMR icon in the Windows Program Manager.
2. Double-click on the HyperNMR icon.
The HyperNMR window appears.

To load a molecular system:
Load METHANE.HIN into HyperNMR. If you need help, please
read “Bringing a Molecule into HyperNMR” on page 89.

104

Chapter 8

Tutorial II: Calculation of NMR Shielding & Coupling

Setting Atom Types
In order to have HyperNMR calculate shielding and spin-spin coupling constants, all atoms must have atom types assigned to them.
Once you have a molecule loaded into HyperNMR, you can checkif all atoms have atom types by displaying the atoms with atom
type labels.

To check atom types:
1. Use the View/Rendering menu item to open the Rendering dialog box.
2. Choose Labels in the Atoms group and Type in the Atom Labelsgroup of the Rendering dialog box.
3. L-click on OK to close the dialog box.
The atoms are labelled by atom type.
4. Check that none of the atoms have ** (unknown type) as theatom type.
5. If any of the atoms are type **, use the Edit/Calculate Atom
Types menu item to assign types using type rules (see Chapter
5 for details) and verify that types have been assigned.

Setting Up Options
HyperNMR computes NMR properties based on the wave function
which, in turn, is calculated using a semi-empirical quantum
mechanical method. See Chapter 6 in this manual for details.
Before you can start a HyperNMR computation, you need to specify various selections and options, such as quantum atoms, NMR
atoms, equivalent atoms, labelled atoms, SCF wave function
options and the computational method. The following steps show
you how to set up these selections and options.

Opening the Shielding & Coupling Options dialog box:
1. L-click on the Setup menu of HyperNMR.
This opens a drop-down menu:

Tutorials

105

Tutorial II: Calculation of NMR Shielding & Coupling

2. L-click on the Shielding & Coupling menu item.
The Shielding & Coupling Options dialog box appears:

3. L-click on the TNDO/2 radio button.
This tells HyperNMR to compute the wave function using the
TNDO/2 semi-empirical method, instead of TNDO/1.
Note: In general, TNDO/2 gives better results than TINDO/1 and is
the recommended method for most problems. The differences
between TNDO/1 and TNDO/2 are described in Chapter 6.
4. Check the Shielding constants and Fermi spin-spin coupling constants check boxes in the Type of Calculation group.

106

Chapter 8

Tutorial II: Calculation of NMR Shielding & CouplingThis instructs HyperNMR to compute both the shielding constants and the coupling constants.
Note: You can uncheck Fermi spin-spin coupling to predict a
13
decoupled NMR spectrum. To simulate a broadband decoupled C
spectrum, you should uncheck this option and label all carbon
atoms.
5. Uncheck the two check boxes in the Expert Options group.
The Special Slater exponents for shielding option will be turnedback on at the end of Tutorial III.
Note: In general we recommend using Special Slater exponents forshielding (leave this option checked) and not using the slow threecenter integrals (leave this option unchecked).

Selecting quantum atoms:
HyperNMR will treat the whole molecular system quantum
mechanically if there is no quantum atom selection or if the whole
molecular system has been selected as quantum atoms. HyperNMR
will treat the selected region quantum mechanically and the unselected region as classical point-charges if you have specified aregion of quantum atoms. Specifying a selection is useful for large
systems to reduce computational time and memory requirements
to a tractable level, especially for a protein or other macromolecular system.
6. L-click on the Quantum Atoms button in the Shielding & Coupling Options dialog box to open the Quantum Atom Selection dialog box.

The atoms are denoted by “M” followed by the molecule number, “A” followed by the atom number within the molecule,then the element symbol and the TNDO/1 or TNDO/2 atom
Tutorials

107

Tutorial II: Calculation of NMR Shielding & Coupling

type. (See Chapter 6 for a discussion of atom types andChapter 5 for information on using type rules to assign atom
types.)
Note: If you had any atoms selected in the HyperNMR workspace,
they will automatically be added to an empty (or optionallyreplace a previous) Quantum Atoms list. You may prefer to choose
quantum atoms with the selection tool before opening this dialogbox.
7. L-click on Select All.
All the atoms in methane are selected (highlighted).
8. L-click on Add ⇒.
The selected atoms will be treated as quantum atoms
9. L-click on OK.
This accepts the current quantum atom selection and dismisses the Quantum Atom Selection dialog box.
Note: If you have HyperChem installed in your computer, you
can create this selection within HyperChem before getting themolecular system with HyperNMR. To do the Quantum Atoms
selection, first you select the atoms which you would like HyperNMR to treat quantum mechanically. Then open the Name Selection dialog box in HyperChem by clicking the Select/Name Selection menu item and enter quantum-atoms for the name.

Selecting NMR atoms:
You must specify the set of atoms for which you want to calculate
shielding and coupling constants. These atoms, which must also
be quantum atoms, are called the NMR atoms.
10. L-click on the NMR Atoms button in the Shielding & Coupling
Options dialog box.
This brings up the NMR Atom Selection dialog box.

108

Chapter 8

Tutorial II: Calculation of NMR Shielding & Coupling

Note: If you had any atoms selected in the HyperNMR workspace,
they will automatically be added to an empty (or optionallyreplace a previous) NMR Atoms list. You may prefer to choose NMR
atoms with the selection tool before opening this dialog box.
11. L-click on the Select ... button.
This opens the Select NMR Atoms dialog box.

12. L-click on the All check box.
This tells HyperNMR to select all the atoms as NMR atoms.
13. L-click on the OK button in the Select NMR Atoms dialog box.
14. L-click on the Add ⇒ button in the Select NMR Atoms dialog
box.
15. L-click on the OK button in the NMR Atom Selection dialog
box.
This action stores the NMR selection and closes the NMR Atom
Selection dialog box.
Note: If you have HyperChem installed in your computer, you
can create this selection within HyperChem before getting themolecular system with HyperNMR. To do the NMR Atoms selecTutorials

109

Tutorial II: Calculation of NMR Shielding & Couplingtion, first you select the atoms which you would like HyperNMR
to treat as NMR atoms. Then open the Name Selection dialog box
in HyperChem by clicking the Select/Name Selection menu itemand enter nmr-atoms for the name.

Setting up equivalent atoms:
You may want to specify sets of equivalent atoms within the NMR
atom selection. This is often necessary because HyperNMR calculates the shielding and spin-spin coupling constants using therigid molecular geometry of the system in the workspace. Thus
atoms that would be equivalent in an experiment, due to averaging of thermal motions for many molecules, would not be automatically equivalent in a HyperNMR calculation. HyperNMR
offers you an option to average the computed shielding constants
and coupling constants artificially among the atoms of an equivalent atom set which you designate. For example, the four hydrogens in the current molecule may not be precisely equivalent in
the fixed geometry that will be used in the calculation but would
be equivalent in an experiment, so you should tell HyperNMR toaverage the shielding constants and coupling constants among
these four hydrogens.
16. L-click on the Equivalent Atoms button in the Shielding & Coupling Options dialog box.
The Equivalent Atom Selection dialog box appears.

17. L-drag these four hydrogens and then L-click on the Add ⇒button.
This adds these four hydrogens to the Equivalent Atoms listbox.
18. L-click on the Apply button.

110

Chapter 8

Tutorial II: Calculation of NMR Shielding & CouplingThis tells HyperNMR to treat these four hydrogens as equivalent atom set 1.
Note: If you have more than one set of equivalent atoms, you can
L-click on the spin up button,, to number the next set of
equivalent atoms and then repeat steps 17 and 18. The maximum
number of sets of equivalent atoms is 10.
19. L-click on OK.
This stores the equivalent set and dismisses the dialog box.
Note: If you have HyperChem installed in your computer, you
can create this selection within HyperChem before getting themolecular system with HyperNMR. To do the equivalent atom
selections, first you select the atoms which you would like HyperNMR to treat as a set of equivalent atoms. Then open the Name
Selection dialog box in HyperChem by clicking the Select/Name
Selection menu item and enter equivalent-atoms-1 for the name.
If you have more than one set of equivalent atoms, you can repeat
this procedure again but enter equivalent-atoms-2, equivalentatoms-3, etc. for the selection names.

Selecting labelled atoms:
Labelling replaces the most abundant isotope with the next most
12
16abundant isotope. Many nuclei, including C and O, have nonuclear spin, and thus have no spin-spin coupling with any otheratoms. If you want them to have spin-spin coupling with others,
you need to label them. If you want to treat some hydrogens as
deuterium, and thus remove spin-spin coupling, you need to label
them. To select labelled atoms:
20. L-click on the Labelled Atoms button in the Shielding & Coupling Options dialog box to open the Labelled Atom Selection
dialog box.

Tutorials

111

Tutorial II: Calculation of NMR Shielding & Coupling

21. L-click on the first atom, carbon, in the NMR Atoms list box
and then L-click on the Add ⇒ button.
The carbon is added to the Labelled Atom list box, changing it
12
13
from C to C.
22. L-click on OK.
This stores the selected labelled atoms and closes this dialog
box.
Note: If you have HyperChem installed in your computer, you
can create this selection within HyperChem before getting themolecular system with HyperNMR. To do the labelled atoms selection, first you select the atoms which you would like HyperNMR
to treat as labelled atoms. Then open the Name Selection dialog
box in HyperChem by clicking the Select/Name Selection menu
item and enter labelled-atoms for the name.

Setting up options for the SCF calculation:
The SCF options inform HyperNMR about the net charge on themolecular system, the desired accuracy of the wave function, andthe maximum number of iterations allowed to reach that accuracy.
23. L-click on the SCF button in the Shielding & Coupling Options
dialog box.
This shows the SCF Wavefunction Options dialog box.

112

Chapter 8

Tutorial II: Calculation of NMR Shielding & Coupling

24. Set the Charge on molecule to 0.
25. Enter 0.01 in the Convergence limit text box and 50 in the Maximum iterations text box.
26. L-click on OK to accept the settings and close this dialog box.
27. L-click on the OK button in the Shielding & Coupling Options
dialog box.
This saves the options you have chosen and closes the Shielding &Coupling Options dialog box.

Computing Shielding and Coupling ConstantsOnce you have set up the selections and options, you can computethe shielding constants and spin-spin coupling constants for thecurrent system. If you want to save details of the calculation, you
can use a log file.

To start a log file:
You can start a log file by selecting Start Log under the File menu ofHyperNMR.
1. L-click on File on the HyperNMR menu bar.
2. L-click on Start Log.
The Start Log dialog box appears with the default log file nameof “NMR.LOG”.

Tutorials

113

Tutorial II: Calculation of NMR Shielding & Coupling

3. L-click on OK to accept the log file name.

To compute shielding and coupling:
1. L-click on the Compute menu.
2. L-click on the I - Shielding & Coupling menu item.
This inactivates the whole menu bar and the tool bar of HyperNMR, except for the Help menu, changes the cursor to an hourglass, starts the HyperNMR backend program with the icon

and computes the shielding constants and spin-spin coupling
constants. Wait until the backend icon disappears (if it did
appear on your screen) and the HyperNMR status line statesthat the calculation has completed:

114

Chapter 8

Tutorial II: Calculation of NMR Shielding & Coupling

Note: The Shielding Constants and Coupling Constants menu items
under the View menu and the respective tool buttons

andare active once the shielding and coupling constants are available.

Viewing Shielding and Coupling ConstantsOnce you have computed shielding and coupling constants, you
can display them.

To view shielding constants:
1. L-click on the View menu on the HyperNMR menu bar.
2. L-click on the Shielding Constants menu item.
This changes the contents of the HyperNMR workspace toshow the shielding constant and chemical shift table. In thistable there are four rows and six columns. The rows are: index,
shielding constant, chemical shift, and tau value. The atom
indices are comprised of the molecule number, a hyphen, theTutorials

115

Tutorial II: Calculation of NMR Shielding & Coupling

atom number within the molecule and the element symbol inparentheses.

tool button to change the contents ofShortcut: L-click on thethe workspace to display the shielding constants.
You can edit the shielding values in this table. The edited numbers
will be used in any spectra that you subsequently calculate.
If the table is wider than your HyperNMR workspace, a scroll bar
appears at the bottom of the workspace. You can use this scroll bar
to view hidden parts of the shielding table. Similarly, a vertical
scroll bar will appear at the right of the workspace if the table istaller than your workspace.
You can also select numbers (from at least two columns) and plotthem in a 2D or 3D bar chart by using the View/Graph menu item.
This will open an NMR Graph dialog box. Double clicking on agraph in an NMR Graph dialog box will put a bitmap image of thegraph into the Windows clipboard.
HyperNMR can be used to calculate the shielding tensors for theselected NMR atoms, if the item named
CalculateShieldingTensor=
in the NMR.INI file is set to YES. You can view the calculated
shielding tensors in the Shielding Tensor dialog box, which is
116

Chapter 8

Tutorial II: Calculation of NMR Shielding & Coupling

accessible from the View/Shielding Tensor menu item. This menu
item is available only when a shielding constant table is shown in
the HyperNMR workspace.

To view coupling constants:
1. L-click on the View menu.
2. L-click on the Coupling Constants menu item.
This changes the contents of the workspace to display the coupling constant table.

tool button to change the contents ofShortcut: L-click on thethe workspace to display the coupling constants.
You can edit the values in this table. The edited numbers will be
used in any spectra that you subsequently calculate.
You can also select numbers (from at least two columns) and plotthem in a 2D or 3D bar chart by using the View/Graph menu item.
Double clicking on a plot will put a bitmap image of it into the
Windows clipboard.

Tutorials

117

Tutorial III: Calculation of NMR Spectra

Saving Molecules and Calculations
If you save the molecular system and its calculated NMR shielding
and spin-spin coupling constants, you can retrieve it to compute
its NMR spectrum later. HyperNMR offers you a menu commandand tool button to save your current molecular system and calculation results.

To save results:
1. L-click on File.
2. Select the Save As menu item.
This brings up a Save As dialog box.
3. Enter a file name of CH4 in the File Name text box.
An extension, .NMR, is automatically added to the file name,
CH4. So HyperNMR saves the current molecular system, methane, with the computed shielding constants and spin-spin
coupling constants to CH4.NMR.
4. L-click on OK.
The file is created and the Save As dialog box is dismissed.
tool button to open the Save
Shortcut: You can L-click on the
As dialog box if you have a molecular system to save.

Tutorial III: Calculation of NMR SpectraHyperNMR computes the NMR spectrum quantum mechanically
based on the calculated or imported chemical shifts and coupling
constants. For details about the quantum mechanical calculationof an NMR spectrum, please see Chapter 6 in this manual.
To simulate an NMR spectrum, some options need to be set up.
The following steps show you how to set up the options and how
to compute the spectrum.

Setting up Options
The options for computing the NMR spectrum are: the type of
NMR spectrum you are interested in, the shielding constant for
118

Chapter 8

Tutorial III: Calculation of NMR Spectra

this type of nucleus in the reference molecular system, and thespectrometer frequency. The reference shielding determines theorigin for the chemical shift; the chemical shift (in ppm) is
obtained by subtracting a computed shielding constant from thereference shielding.

To set up the reference shielding:
1. L-click on Setup on the HyperNMR menu bar.
2. L-click on Reference Shielding under the Setup menu.
The Reference Shielding dialog box opens:

3. L-click on Proton in the Reference Shielding list box.
The Reference Shielding text box shows you the shielding constant of a proton in a reference molecule. The reference shielding of proton here is from the NMR.INI file and was computed
for methane based on the current options except that Special
Slater exponents for shielding was checked in the Shielding &Coupling Options dialog box. If you want to choose a value
from any other reference molecular system, you may simply
double-click in the Reference Shielding text box and type in thevalue that you prefer.

To set up type of spectrum:
This option specifies which type of NMR spectrum you wish to
1
13
15
15
19
31
compute. HyperNMR can calculate a H, C, N, O, F or P
spectrum. To do this:
1. L-click on Setup on the HyperNMR menu bar.
2. L-click on Spectrum menu item to open the Spectral Options
dialog box:

Tutorials

119Tutorial III: Calculation of NMR Spectra

3. L-click on the arrow button,
box of Type of Spectrum.

, at the right side of the text

This shows a list of all the types of NMR spectrum that can be
simulated with HyperNMR.
4. L-click on Proton.

To set up the spectrometer frequency:
You can specify the spectrometer frequency to use for computing
the spectrum. HyperNMR applies the corresponding magnetic
field to the current system and solves the spin-Schrödinger equation to get nuclear-spin energy levels (see Chapter 6 for details).
1. Move the cursor into the Spectrometer Frequency text box.
2. Double-click the left mouse button.
The original value of the spectrometer frequency is highlighted.
3. Enter 100 in this text box.
4. L-click on the OK button in the Spectral Options dialog box.
This closes the Spectral Options dialog box and stores all thechanges.
Important: The Number of Nuclei text box shows the number of
the NMR atoms you have set up for the current system. Do notchange this number; if you decrease it you will lose some of theresults of your shielding and spin-spin coupling calculation. For
details, please see Chapter 5.

120

Chapter 8

Tutorial III: Calculation of NMR Spectra

Computing an NMR Spectrum
You have now specified that you would like to calculate the proton
NMR spectrum for the current system in a field corresponding to a
proton resonance frequency of 100 MHz. Before you can display it,
you will need to compute the NMR spectrum.

To compute an NMR spectrum:
1. L-click on the Compute menu on the menu bar of HyperNMR.
2. L-click on the II - Spectrum menu item.
This inactivates the whole menu bar and the tool bar of HyperNMR, except for the Help menu, changes the cursor to an hourglass, starts the HyperNMR backend program with the icon

and computes the NMR spectrum. Wait until the backend icon
disappears (if it appeared on your display) and the HyperNMR
status line states that the calculation has completed:

Tutorials

121

Tutorial III: Calculation of NMR Spectra

Note: The Spectrum menu item under the View menu and the tool
buttonare active once the spectrum has been calculated.

To stop logging to a log file:
You can now close the log file that was started in Tutorial II. To
stop it:
1. L-click on the File menu.
2. L-click on the Stop Log menu item under the File menu.
This stops logging. You can view the log file with a text editor
such as Notepad or Write.

Viewing NMR Spectra
After you have computed an NMR spectrum, you can display it. In
HyperNMR, spectra can have peaks displayed as separate verticallines, as an envelope, or both. The envelope is formed by applying
a Gaussian or Lorentzian distribution to each peak using line
widths that you can adjust.

Line View of an NMR spectrum
Peaks in an NMR spectrum can be shown as separate vertical lines.

To view peaks of an NMR spectrum as lines:
1. L-click on View on the HyperNMR menu bar.
2. L-click on the Spectrum menu item.
A fly-out menu opens.
3. Select Lines from this fly-out menu.
This changes the contents of the HyperNMR workspace toshow the NMR spectrum in lines.

122

Chapter 8

Tutorial III: Calculation of NMR Spectra

tool button to change the contents ofShortcut: L-click on thethe workspace to display the NMR spectrum.
The spectrum view of the workspace has several components. The
scroll bar at the top of the workspace adjusts line widths when theenvelope option is active. The short vertical lines at the top of thespectrum indicate peak locations. The corresponding vertical lines
at the bottom also show peak locations, but the line heights areproportional to the predicted intensity. The chemical shift scale atthe bottom of the spectrum is in parts per million (ppm). The
scroll bar at the bottom can be used to pan horizontally.

Envelope View of an NMR Spectrum
Peaks in an NMR spectrum can be shown as an envelope with orwithout vertical lines at each peak.
An experimental NMR spectrum does not have peaks that are perfectly narrow lines, due to relaxation and spectrometer limitations. HyperNMR can apply a distribution function to the peaks to
artificially simulate this relaxation and display them with an envelope.

Tutorials

123

Tutorial III: Calculation of NMR Spectra

To view an NMR spectrum as an envelope:
1. L-click on View on the HyperNMR menu bar.
2. L-click on the Spectrum menu item.
This opens a fly-out menu.
3. Select Lines and Envelope from this fly-out menu.
The initial line width setting is zero, and the spectrum does
not appear to change.
4. Slide the scroll button in the top scroll bar about one-third of
the way across to increase the line widths.
The proton NMR spectrum of methane changes to:

5. L-click on any one of these two peaks.
The status line at the bottom of the HyperNMR window shows
the chemical shift, frequency, intensity, degeneracy, and line
width for this selected peak.

To change the line width function:
There are two types of line width function available in HyperNMR.
These are the Lorentzian distribution function and the Gaussian
distribution function (see Chapter 6 for details).
124

Chapter 8

Tutorial III: Calculation of NMR Spectra

1. L-click on the View menu.
2. L-click on the Line Width menu item under View.
This opens a fly-out menu.
3. Select Gaussian from this fly-out menu.
This changes the shape for each peak to that of a Gaussian distribution.

To change line widths:
The top scroll bar is used to vary line widths. You can choose tovary all line widths at the same time or adjust them individually.
The default behavior is to have the range of the scroll bar dependon the level of zoom.
1. L-click to the right of the scroll box on the top scroll bar or on
the right hand button.
This increases the line width.

2. L-click on the View menu.
3. L-click on the Line Width menu item under View.
This opens a fly-out menu.

Tutorials

125

Tutorial III: Calculation of NMR Spectra

4. Select Multiple Line Widths from this fly-out menu to add acheck mark to it.
5. L-click on the right-hand peak to select it. (Selection is discussed in more detail below.)
6. L-click to the left of the scroll box on the top scroll bar.
The line width of the selected peak decreases.

7. Use the View/Line Widths menu to clear the check mark from
Multiple Line Widths fly-out menu.

Investigating Peaks in an NMR Spectrum
You can zoom in on specific peaks in a spectrum, select a peak tofind out more about it, integrate peaks to determine how many
nuclei they represent, and display the spectrum information in atable.

To zoom in on a region of the spectrum:
1. L-drag across the horizontal region that you wish to zoom in
on.

126

Chapter 8

Tutorial III: Calculation of NMR Spectra

When you release the mouse button the region of the spectrum that you have selected will be drawn to fill the workspace.

2. L-click to the right of the scroll box on the top scroll bar tochange the line width.
The default behavior for the line width scroll bar is to have its
range decrease with increased zoom so that you can always get“thin” lines even when you are zoomed in to a very small
region of the spectrum.
You can specify a scroll bar range that is independent of zoom
by changing the AbsLineWidth, MaxAbsLineWidth and
MinAbsLineWidth settings in your NMR.INI file (in your Windows directory), as discussed in Chapter 5.
3. R-click in the workspace, L-click to the right of the scroll box
on the top scroll bar and then L-click to the left of the scrollbox.
This will reset the zoom and line widths to restore to the original view.

To select and integrate peaks:
1. L-click on a peak to select it.

Tutorials

127

Tutorial III: Calculation of NMR Spectra

The color changes and the status line shows the calculated
chemical shift, frequency, intensity and degeneracy of thepeak followed by the envelope line width. The line width inHyperNMR is simply an envelope display option that you canadjust.

2. Hold down the Shift key and L-drag across several peaks tointegrate the intensities.
The status line shows the number of nuclei (protons in thiscase) that yield the chosen peaks.

128

Chapter 8

Tutorial III: Calculation of NMR Spectra

To view a table of peak information:
1. Choose the Spectral Values menu item in the View menu.
This opens the Spectral Values dialog box, which shows thechemical shift, frequency, intensity, degeneracy and line width
for each peak.

You can use the Copy command button to copy the selectedpart of the table to the clipboard.
You can also select numbers (from at least two columns) andplot them in a 3D bar chart by using the Plot button. DoubleTutorials

129

Tutorial IV: Protein NMR

clicking on a plot will put a bitmap image of it into the Windows clipboard.
2. L-click on Close to close this dialog box.

Restoring Expert Options
In Tutorial I the Special Slater exponents for shielding option in the
Shielding & Coupling Options dialog box was turned off, so thatthe chemical shift calculated for methane would not be zero withthe default reference shielding. You should now turn this option
back on so that it will use the recommended setting for any shielding and coupling calculations that you do after completing thetutorials.

To restore Expert Options:
1. Use the Setup/Shielding & Coupling menu item to open the
Shielding & Coupling Options dialog box.
2. Change the Expert Options settings to check Special Slater exponents for shielding and leave Include slow three-center integrals
unchecked.
The expert options are now set at the values that we recommend
for general use.

Tutorial IV: Protein NMR
The mixed model implemented in HyperNMR offers a tool for predicting NMR shielding, spin couplings and spectra for subsets ofproteins and macromolecular systems. For these large molecularsystems usually having hundreds or thousands of atoms, it may
not be possible to carry out a full SCF quantum mechanical calculation for the whole system. The mixed model of HyperNMR
enables you to select a part of the system to treat quantum
mechanically with an electrostatic background generated by theunselected part of the molecular system. This tutorial will show
you how to carry out a HyperNMR calculation for a portion of aprotein.

130

Chapter 8

Tutorial IV: Protein NMR

Making Various Selections
There are several protein molecules located in the SAMPLES directory under the directory where you installed HyperNMR. These
protein molecules were converted from Brookhaven Protein Data
Bank files to HIN files by HyperChem.

Opening a protein molecule:
You are expected, at this stage, to know how to open a file within
HyperNMR. If you are unsure, please follow Tutorial I at the beginning of this chapter.
1. If you do not have HyperChem, use HyperNMR to open theprotein molecule file named PDB1CRN.HIN from your HyperNMR sample directory. The HyperNMR window should looklike:

If you have a copy of HyperChem installed on your computer,please start HyperChem and open PDB1CRN.HIN in the HyperChem workspace. You will prefer to make the various selections
within HyperChem.

Tutorials

131

Tutorial IV: Protein NMR

Selecting quantum atoms with HyperNMR:
If you are using HyperChem skip to the next section. If you are notusing HyperChem, you should follow these steps:
1. Change the mouse to be in Pointer Zoom & Translate mode by
selecting the Tool/Pointer Zoom & Translate menu item.
2. R-drag the mouse downwards to magnify the molecule.
3. If necessary, L-drag the mouse horizontally, vertically, or diagonally to center the region of interest in the HyperNMR workspace.
4. Open the Rendering dialog box, select Labels for Atoms, andselect Number for Atom Labels.
5. Change the mouse to Select mode.
6. Select the atoms to be treated quantum mechanically: 608,
609, 610, 620, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637,
638, and 647.
An alternative procedure is to select these atoms from the list
box in the Quantum Atom Selection dialog box.
7. Choose the Setup/Shielding & Coupling menu item.
This opens the Shielding & Coupling Options dialog box.
8. L-click on the Quantum Atoms button in the dialog box.
This opens the Quantum Atom Selection dialog box, with all
the currently selected atoms added to the Quantum Atoms listbox.
9. Check that the correct atoms have been chosen, and thenpress the OK button in each of the Quantum Atom Selectionand Shielding & Coupling Options dialog boxes.
Note: HyperNMR treats the atoms you have chosen as “quantum
atoms” quantum-mechanically and the other atoms classically,
except that non-quantum atoms bonded to quantum atoms arealso included in the quantum mechanical SCF calculation withspecial “capping atom” parameters. By default, HyperNMR has
capping atom parameters for carbon, nitrogen, and oxygen. If you
choose a boundary that results in other elements as capping
atoms, you will see an error message suggesting that you should
modify parameter files.

132

Chapter 8

Tutorial IV: Protein NMR

Selecting quantum atoms with HyperChem:
If you have the PDB1CRN.HIN molecule in the HyperChem
workspace, you can do the quantum atom selection within HyperChem. To do this:
1. Choose the Display/Labels menu item in HyperChem.
This opens the Labels dialog box.
2. Select the Name radio button and close this dialog box.
3. Change the cursor to the selection tool.
4. Use the Select/Select menu item to select residue 45.
The residue labelled ALA 45 is selected.
5. Choose the Display/Show Selection Only menu item and thenpress the spacebar.
The selected residue now fills the HyperChem workspace.
6. Choose the Select/Extend to sp3 menu item.
HyperChem will select additional atoms in all directions along
3
3bonds until the selection ends at sp –sp bonds or includes all
bonds of selected atoms.
7. Choose the Select/Name Selection menu item.
This opens the Name Selection dialog box in HyperChem.
8. Choose Other, type quantum-atoms in the text box and thenclose this dialog box.

Selecting NMR atoms with HyperNMR:
If you are using HyperChem skip to the next section. If you are notusing HyperChem, you should follow these steps:
1. Choose Rendering from the View menu on the menu bar ofHyperNMR.
This opens the Rendering dialog box.
2. Select Labels for Atoms with Name for Atom Labels and thenclose this dialog box.
The workspace will show the protein molecule with all theatom names.
Tutorials

133

Tutorial IV: Protein NMR

3. Clear the previous selection by R-clicking on an empty part of
the HyperNMR workspace.
4. Select the hydrogens named 1HB, 2HB, 3HB, and HA.
5. Open the Shielding & Coupling Options dialog box with the
Setup/Shielding & Coupling menu item.
6. Open the NMR Atom Selection dialog box by clicking on the
NMR Atoms button in the Shielding & Coupling Options dialog box.
7. The currently selected atoms will appear in the NMR Atoms listbox.
8. Confirm that the correct atoms have been chosen, and thenclose the NMR Atom Selection dialog box.

Selecting NMR atoms with HyperChem:
If you are using HyperChem, choose the NMR atoms with thefollowing steps:
1. Change the atom labels to atom names via the Display/Labels
menu item.
HyperChem shows all the selected atoms with their names.
2. Make sure the mouse mode is set to selection. Then choose theSelect/Atoms menu item. Look at the Select menu to make surethe Multiple Selections menu item is checked.
3. Clear the selection and then select the hydrogens named 1HB,
2HB, 3HB, and HA.
4. Choose the Select/Name Selections menu item.
This opens the Name Selection dialog box in HyperChem.
5. Choose Other, type nmr-atoms in the edit box and then close
this dialog box.

Selecting equivalent atoms with HyperNMR:
You may want HyperNMR to treat the three hydrogens named by
1HB, 2HB, and 3HB as equivalent atoms so that their shielding
constants and coupling constants will be averaged.

134

Chapter 8

Tutorial IV: Protein NMR

If you are using HyperChem skip to the next section. If you are notusing HyperChem, you should follow these steps:
1. L-click on the Equivalent Atoms button in the Shielding & Coupling Options dialog box.
This opens the Equivalent Atom Selection dialog box.
2. L-click or L-drag to select atoms 635, 636 and 637.
3. Press Add.
HyperNMR copies the selected atoms from the NMR Atom list
box to the Equivalent Atom list box.
4. Press Apply to save the equivalent atoms and OK to close thedialog box.

Selecting equivalent atoms with HyperChem:
If you are using HyperChem, define sets of equivalent atoms
with the following steps:
1. Make sure the mouse is in selection mode and the Select/Atoms
and Select/Multiple Selections menu items are checked.
2. Deselect all atoms by L-clicking on an empty part of the HyperChem workspace.
3. Select the atoms that you would like to be treated equivalently,
in this case the 1HB, 2HB and 3HB hydrogen atoms.
4. Open the Name Selection dialog box in HyperChem via the
Select/Name Selections menu item.
5. Click on the Other button and type in equivalent-atoms-1 inthe text box of the Name Selection dialog box in HyperChem
and then close this dialog box.
Note: If you have more than one set of equivalent atoms, you canrepeat steps 2, 3, and 4 and then type in equivalent-atoms-2,
equivalent-atoms-3, and so on. The maximum number of sets ofequivalent atoms in HyperNMR is 10 and the maximum numberof atoms in each set of equivalent atoms is 20.

Tutorials

135

Tutorial IV: Protein NMR

Getting the protein from HyperChem
Once you have created the named selections in HyperChem
you need to bring the molecular system into HyperNMR. To dothis:
1. L-click on the

button on the HyperNMR tool bar.

HyperNMR will request the molecular system and its named
selections from HyperChem via DDE.

Computing NMR Shielding, Coupling and Spectrum
At this point you should have the molecular system in the HyperNMR workspace with selections made for quantum atoms, NMR
atoms and equivalent atoms. Next you need to specify the options
for computing the wave function, shielding constants, and coupling constants and NMR spectrum.

Setting up NMR shielding and coupling options:
The NMR shielding and spin-spin coupling options can be set up
within the Shielding & Coupling Options dialog box. To specify
these options:
1. Open the Shielding & Coupling Options dialog box by choosing the Setup/Shielding & Coupling menu item in HyperNMR.
2. Select the TNDO/2, Special Slater exponents for shielding, Shielding constants, and Fermi spin-spin coupling constants buttons
within this dialog box.
3. L-click on the SCF button.
This opens the SCF Wavefunction Options dialog box.
4. Set Charge on molecule to 0, Convergence limit to 0.01, andMaximum iterations to 50.
5. Close the SCF Wavefunction Options and Shielding & Coupling Options dialog boxes by L-clicking on their OK buttons.

Setting up NMR spectral options:
The spectral options can be specified within the Spectral Options
dialog box. To do this:136

Chapter 8

Tutorial IV: Protein NMR

1. Open the Spectral Options dialog box by choosing the
Setup/Spectrum menu item.
2. Select Proton as the Type of Spectrum and enter 100 as the Spectrometer Frequency (in MHz).
3. Close this dialog box by L-clicking on the OK button.
Note: You can also change the reference shielding constant for
protons in the Reference Shielding dialog box, via the Setup/Reference Shielding menu item.

Computing NMR shielding, coupling and spectrum:
There is a menu item under the Compute menu of HyperNMR forcomputing both the NMR shielding & coupling and the NMR spectrum. Once all the shielding, coupling and spectral options havebeen set up, you can use this menu item to proceed to an NMR
spectrum without further intervention. To do this:
1. Select the Compute/Both: I Then II menu item.
The backend program will start to perform the NMR calculations. This calculation takes approximately two minutes on
486/50 PC with 20MB of memory.
Note: After you have issued the Compute command you can cancel the calculation by L-clicking on the backend icon of HyperNMR and then selecting Close to cancel the calculation.

Displaying and Copying NMR Results
You can display and plot NMR results including shielding constants, coupling constants, and NMR spectrum. You also can copy
a molecular image and NMR results to the clipboard.

Displaying, plotting and copying shielding constants:
To display the shielding constant table:
1. L-click on thetool button.

The HyperNMR workspace will show a table of the shielding
constants.
To copy the shielding constants to the clipboard:

Tutorials

137

Tutorial IV: Protein NMR

1. Select some cells within the shielding constant table by L-dragging the mouse across the cells.
2. Select Edit/Copy on the menu bar of HyperNMR.
This copies the contents of the selected cells, with the corresponding row and column headings, into the Windows clipboard.
To plot the shielding constants:
1. Select all the cells within the shielding constant table by
L-dragging the mouse across the cells.
2. Select View/Graph/3D on the menu bar.
A new window with a three-dimensional bar graph of theresults in the selected cells is displayed.
To copy the 3D graph of the shielding constants:
1. Double-click within the 3D graph.
A bitmap image of the contents of the bar graph window isplaced in the Windows clipboard. You can now paste thisimage into another Windows application.
2. Close the graph window from its control menu button.

Displaying and copying coupling constants:
To display the coupling constant table:
1. L-click on thetool button on the tool bar.

HyperNMR will show the table of coupling constants on theworkspace.
To copy the coupling constants to the clipboard:
1. Select the cells within the coupling constant table by L-dragging the mouse.
2. Select Edit/Copy on the menu bar of HyperNMR.
This copies the contents of the selected cells, with the corresponding row and column headings, into the Windows clipboard.
To display the coupling constants graphically:

138

Chapter 8

Tutorial IV: Protein NMR

1. Select the cells within the coupling constant table by L-dragging the mouse.
2. Select View/Graph/3D on the menu bar.
A new window with a three-dimensional bar graph of theresults in the selected cells is displayed.
To copy the 3D graph of the coupling constants:
1. Double-click within the 3D graph.
A bitmap image of the contents of the bar graph window isplaced in the Windows clipboard. You can now paste thisimage into another Windows application.
2. Close the graph window from its control menu button.

Displaying and copying NMR spectrum:
To display the NMR spectrum:
1. L-click on thetool button on the tool bar.

HyperNMR will show the NMR spectrum in the workspace.
To copy the NMR spectrum:1. Select Edit/Copy on the menu bar of HyperNMR. HyperNMR
will copy the current NMR spectrum from its workspace to the
clipboard.
To display NMR spectrum results in a table:
1. Select View/Spectral Values on the menu bar of HyperNMR.
This will open the Spectral Values window and present thedetails of the NMR spectrum in this window.
To plot the NMR spectral values as 3D bar chart:
1. Select the cells within the Spectral Values window.
2. L-click on the Plot button.
This shows the selected spectral values as a 3D bar chart in theSpectral Graph window.
To copy the 3D bar chart:
1. Double click the mouse within the Spectral Graph window.

Tutorials

139

Tutorial IV: Protein NMRThis places a copy of the 3D graph in the clipboard.
2. Close this Spectral Graph window from its control menu button.
3. Close the Spectral Values window.

140

Chapter 8

Chapter 9
Reference
Overview
What is HyperNMR
HyperNMR is a software package for simulating NMR properties
and spectra. You can use it to calculate electronic shielding tensors,chemical shifts (relative values of the shielding constants), nuclear
spin-spin coupling constants and NMR spectra. The size of systemthat can be treated depends on the memory of your computer andyour patience. The electronic calculations use the novel semiempirical methods called Typed Neglect of Differential Overlap,
Version 1 (TNDO/1) or Typed Neglect of Differential Overlap, Version 2 (TNDO/2). HyperNMR includes the following functions:•

Open HyperChem HIN files or get molecules from HyperChem
via Dynamic Data Exchange (DDE).

•

Open MOPAC Z-Matrix files to read in three-dimensional Cartesian or internal coordinates of molecules.

•

Save the input and results of NMR calculations. The data saved
may include geometries of molecular systems, selections
within the molecular system, and the results of calculations.
You can re-open these files to display molecules and NMR
results.

•

Rotate, translate, zoom in on and select molecules.

•

Display labels (such as atom symbols, indices, types, names
and charges), disks, and spheres for the atoms in moleculesand sticks, bonds, and cylinders for the bonds.

141

Overview•Calculate the shielding tensors, chemical shifts and nuclear
spin-spin coupling constants by TNDO/1 or TNDO/2 quantum
mechanics methods.

•

Compute 1-dimensional NMR spectra based on computed
chemical shifts and spin-spin coupling constants or imported(user defined) chemical shifts and coupling constants•

Predict solvation effects on chemical shifts, coupling constants
and NMR spectra.

•

Graphically display chemical shifts, coupling constants and
NMR spectra.

•

Copy the images of molecular systems and NMR spectra or tabular results to other Windows applications via the Windows
clipboard.

Starting HyperNMR
To start HyperNMR:
1. Start Windows if it is not already running.
2. In the Program Manager window, position the cursor over theHyperNMR icon:

3. Double-click on the HyperNMR icon or click on it and thenpress the Enter key.
The HyperNMR window opens.

HyperNMR Window
HyperNMR works with Microsoft Windows, Version 3.1 or later, orWindows 95 or Windows NT for PCs.
When you start HyperNMR, you will see an empty HyperNMR
workspace:

142

Chapter 9Overview

title barcontrol-menu
buttonmaximize/restore
buttonminimize button

toolmenu barmenu

tool barworkspacestatus line

If you are using Windows 95 or Windows NT, the appearance ofthe frame and the arrangement of the control-menu, maximize/restore, and minimize buttons may be slightly different.
The HyperNMR window contains the following items:
Control-menu Double-click on this button to close HyperNMR.
L-click on it to see the control menu that contains
buttoncommands to let you move, resize or close the window.
Title bar

The title bar shows the name of this application,plus the name of the file currently open or“(untitled)” if there is no file open or the current
molecular system is from HyperChem.

MinimizebuttonL-click to reduce the window to an icon.

MaximizebuttonL-click to enlarge the window to fill the whole
screen. Once selected, this button turns into a

Reference143

Overview

restore button which can be used to restore thewindow to its original size.
RestorebuttonL-click to reduce the window from the full-screen
size to its original size. This button appears only
after the Maximize button has been clicked.

Menu barShows the names of available pull-down menus.
L-click on any one of these menus to pull down thecorresponding menu.

Tool bar

Short cuts for the menu items.

Workspace

The Workspace shows the molecular system you
are working on if you read a structure from a file or
got it from HyperChem, or numerical results suchas shielding constants or spin-spin coupling constants or an NMR spectrum if you have opened an
NMR file or if you computed the NMR shielding,coupling and spectrum.

Status bar

Shows the function of menu items and status ofwhat HyperNMR is doing

WindowborderTo change the size of the window, place the mousepointer on the border, L-click and hold down the
button, and then drag. Different parts of the border provide different types of size adjustments.

The HyperNMR workspace can be used to view the molecular system, the shielding constants and chemical shifts, the spin-spin
coupling constants or the NMR spectrum.

Molecular System View
You can use the HyperNMR workspace to display the molecularsystem. Several rendering options are available; the followingshows a disks and bonds display:

144

Chapter 9Overview

You can copy the molecular system image to the Windows clipboard with the Edit/Copy menu item, change the rendering with
the Rendering dialog box (via the View/Rendering menu item), anduse the mouse to select atoms or to rotate, zoom or translate theview of the molecular system.

Shielding Constant and Chemical Shift View
You can use the HyperNMR workspace to display shielding constants, chemical shifts, and the τ (tau) values of the chemical
shifts, via the View/Shielding Constants menu item. The HyperNMR
workspace will look like:

Reference

145

Overview

Shieldingconstant
table

Scroll bar

The shielding constant table shows the atom indices, the shielding
constants, chemical shifts in ppm, and τ values for the selected
NMR atoms. The atom indices include two numbers separated bya dash. These two numbers denote the index of the molecule andthe atom index within the molecule, respectively. The element
symbol follows these two numbers.
You can edit the shielding constants in this table and the dependent values will change automatically. The chemical shifts and τ
values are calculated from the shielding constants in this table andthe reference shielding constants from the Reference Shielding
dialog box, so the former values will be updated if you makechanges to the latter values. The shielding constants in this table
can be edited by clicking on a cell to give it the focus and then typing with the numeric keys (0 - 9), sign keys (+,–) and period key (.)
to enter a new number. Most other actions are equivalent to pressing the Enter key, which will accept the change and update thedependent chemical shift and τ value. To fix a mistake you must
use the Enter key (or equivalent), select the cell and retype thenumber.
A scroll bar will appear at the bottom of the HyperNMR workspacewhen the shielding constant table is too wide to fit in the HyperNMR workspace. A vertical scroll bar will appear at the right of the146

Chapter 9Overview

workspace if the table is too tall to fit. You can use the scroll bars
to display any hidden parts of the table.
You can select cells in this table by L-dragging across them. You
can copy the selected cells (and the respective headings) to the
Windows clipboard with the Edit/Copy menu item and you canplot bar charts of the values in the selected cells with theView/Graph menu item.

Spin-Spin Coupling Constant View
You can use the HyperNMR workspace to display the spin-spin
coupling constants, via the View/Coupling Constants menu item.
The HyperNMR workspace will look like:

Spin-spin
coupling
constants
Scroll bar

This table shows an N by N matrix (with N being the number of
NMR atoms) of the spin-spin coupling constants for all pairs of
NMR atoms. The atom indices include two numbers separated bya dash. These two numbers denote the index of the molecule andthe atom index within the molecule, respectively. The element
symbol follows these two numbers.
You can edit the values in the same way as you can edit the shielding constant table (see the above section). You can use the scroll
bars to display any hidden parts of the table.

Reference

147

Overview

You can select cells in this table by L-dragging across them. You
can copy the selected cells (and the respective headings) to the
Windows clipboard with the Edit/Copy menu item and you canplot bar charts of the values in the selected cells with theView/Graph menu item.

Spectrum View
You can use the HyperNMR workspace to display the NMR spectrum, via the View/Spectrum menu item. The HyperNMR workspace will look like:

Peak line location

Line width
scroll bar

Envelope
Scale
Pan
scroll bar
Peak line locationand intensity

This shows the line and envelope view of a spectrum. The various
components of this view of the workspace are:Line width
scroll bar

Use this scroll bar to the change line widths used
to create the envelope. If the View/Line Widths/
Multiple Line Widths fly-out menu is checked, thenthis scroll bar will only affect the line widths of thevisible peaks or the selected peak if a peak is
selected.
By default, the range of this scroll bar varies withzoom so that you can get narrow peaks even when
you are zoomed into a very small range of the spectrum. If you prefer to have a range that does not

148

Chapter 9Overview

vary with zoom, you can set an absolute range (inppm) in your NMR.INI file. (See “AbsLineWidth”
on page 191.)
Peak line
location

The short lines coming down from the top of theworkspace show the locations of peaks, without
showing their intensities. You can set a thresholdintensity for showing a peak in your NMR.INI file.
(See “MinimalIntensity” on page 190.)

Peak line
location andintensity

The variable-length lines coming up from the bottom of the workspace show the locations of peaks,
with the line height proportional to the peakintensity. You can set a threshold intensity forshowing a peak in your NMR.INI file. (See “MinimalIntensity” on page 190.)

Envelope

The envelope is created by using a Lorentzian orGaussian distribution for each peak. You canchoose the distribution function with theView/Line Widths menu.

Scale

The scale indicates the chemical shift in ppm.

Pan scroll bar Use this scroll bar to pan to different regions of thespectrum.
You can copy the spectrum image to the Windows clipboard with
the Edit/Copy menu item, change the peak display with theView/Spectrum menu item, and use the mouse to select peaks, tozoom into a region of the spectrum, or to integrate intensities fora region of the spectrum. You can L-click on an unselected peak to
select it and L-click on a selected peak to clear the selection. You
can L-drag across a region of the spectrum to zoom in on it andR-click on the spectrum to reset it to the initial, zoomed-out view.
Holding down the Shift key while you L-drag across a region of thespectrum lets you integrate peak intensities in that region.
You can also view the chemical shift, frequency, intensity, degeneracy and line width for each peak in a table with the Spectral Values dialog box. You can open this dialog box with the View/Spectral
Values menu item.

Using the Mouse
You can use a mouse, or equivalent pointing device, for these tasks:

Reference149Overview•

Translating, rotating and zooming the image of a molecularsystem.

•Integrating peak intensities for or zooming in on regions of aspectrum.

•

Selecting and deselecting atoms, table cells, or spectral peaks.

•

Choosing items from the menu bar or tool bar.

•Choosing options in dialog boxes.

•

Editing text in dialog boxes.

To use the mouse with menus and dialog boxes, follow standard
procedures for Microsoft Windows. You can learn about these procedures from the Microsoft Windows User’s Guide. The mouse canalso be used to manipulate the molecular system in the HyperNMR
workspace.
To use the mouse with HyperNMR, first position the cursor on amolecular system or on an icon. Then use one of these procedures,
depending on the task:

150

Chapter 9

Procedure

How to do it

What it does

L-click
R-click

Press andrelease the leftor right mousebutton.

Do this to choose menu items
and options in dialog boxes, andto select atoms. L-click and R-click
have opposite effects when using
tools, for example L-click selects
and R-click deselects atoms with
the Select tool.

[Shift] + L-click[Ctrl] + L-click

Hold down the[Shift] or [Ctrl] key
while you press
and release theleft or rightmouse button

Use this with the select tool toextend a selection to more than
one atom. [Shift] + L-click on each
atom you would like to select.

Overview

Procedure

How to do it

What it does

L-dragR-dragPress and holddown a mousebutton (left or
right), andthen move themouse to perform an operation; release
the mouse button to complete theoperation.

Use L-drag to choose menu items
and text, to apply rotation ortranslation or to zoom in on aspectrum. Use R-drag to do inplane rotation and to change themagnification of a molecular system.

[Shift] + L-dragHold down the[Shift] key while
you L-dragwith themouse.

Use this to integrate peaks of aspectrum.

Double-click

Press andrelease the left
mouse button
rapidly.

This is usually a shortcut for acommon operation and is also
used for copying bar graphs to
the Windows clipboard. In some
dialog boxes, double-click on theoptions instead of L-clicking on
the option and then on OK.

Using the Keyboard
All menu items and dialog boxes in HyperNMR have accelerators
for keyboard navigation, denoted by underlined letters. See theMicrosoft Windows User’s Guide to learn about how to use keyboard
accelerators. HyperNMR has additional keyboard shortcuts for
manipulating molecular systems in HyperNMR. For details, see“Keyboard Equivalents for Mouse Actions,” on page 162.

HyperNMR Menus
You can select HyperNMR commands and settings, which are on
pull-down menus on the menu bar. When you highlight a menu
item, a simple description of the item appears on the status line.
Some menu items may be inactive. For instance, the File/New
Reference151

Overview

menu item may be grayed when HyperNMR doesn’t hold a molecular system, shielding constants, spin-spin coupling constants or
NMR spectrum.
Use menu items to set HyperNMR conditions, to set up the optionsfor HyperNMR calculations and to compute NMR shielding, coupling and spectra.

HyperNMR Coordinate Systems
HyperNMR has two coordinate systems for displaying molecularsystems, that is, the Viewer’s Coordinate System and the Molecular
Coordinate System. Each has its x, y, and z Cartesian axes.

Viewer’s Coordinate System:
The Viewer’s Coordinate System defines the positions of atoms relative to the Viewer. The Viewer’s Coordinate System is fixed by thescreen geometry and its x axis is horizontal in the screen, the y axis
is vertical in the screen, and the z axis is perpendicular to the planeof the screen.
The molecular manipulation is done in the Viewer’s Coordinate
System. Hence you can move, translate, and rotate molecules
without changing their atomic coordinates.
When you open a HIN file or get a molecular system from HyperChem, HyperNMR will load the system with the Viewer’s Coordinate System saved in the HIN file or obtained from HyperChem.
When you save a molecular system via File/Save or File/Save As,
HyperNMR will save the Viewer’s Coordinate System in the file, sothat you will have the same view if you reopen the file.

Molecular Coordinate System:
The atomic coordinates of a molecule are defined in the Molecular
Coordinate System and cannot be changed within HyperNMR.
The Molecular Coordinate System is used for computing NMR
properties, such as chemical shifts and spin-spin coupling constants. You can inspect the x, y, and z coordinates of an atom byselecting it. When an atom is selected, its x, y, and z coordinates,
numerical index, element symbol, and atom type are shown on
the status line.

152

Chapter 9

MenusMenus
This section gives the commands and descriptions of the menus
appearing on the menu bar of HyperNMR.

File Menu
The File menu is used for reading and writing files, for getting
information from HyperChem, and for setting up preferred colors.
It contains the following items:
New

Use New to clear the workspace. If selections
and/or calculations have been performed, you will
be offered the chance to save the system to a file
before the workspace is cleared.

Open…

Use Open to read in a HyperNMR NMR file, aHyperChem HIN file, or a MOPAC Z-Matrix file.
The HyperNMR NMR files and HyperChem HIN
files may contain the view of the molecular system, the molecular indices, residue indices, atom
indices, atom names, atom symbols, atom types,
atom charges, atom coordinates, and the connectivity. This menu item will bring up the Open Filedialog box. For details, see “Open File Dialog Box”
on page 163.

Save

Use the Save menu item to save a copy of the current system and results into an NMR file using thecurrent HyperNMR file name. If there is no current
file, or the current file name does not have the“.NMR” extension, then this item is the same as
the Save As menu item.

Save As...

Use Save As to save the current system into a
named file. This menu item opens the Save As dialog box (see page 164) for you to use in selecting afile name.

Get
HyperChem

Use Get HyperChem to load into HyperNMR a copyof the current system from a currently running
HyperChem. Though the atoms, coordinates andviewing angle are properly loaded into HyperNMR,
any non-default colors assigned to atoms by

Reference

153

MenusHyperChem will be lost when the molecule isloaded by HyperNMR.
Start Log…

Use Start Log… to save the details of an NMR calculation into a log file. This item opens the Start Log
dialog box for you to choose a file name. The
default extension for log files is “.LOG”. For
details, see “Start Log Dialog Box” on page 165.

Stop Log

Use Stop Log to end a log file which has been
started previously and may contain all the details
of NMR calculations which have happened
between using Start Log and Stop Log.

Preferences... Use this menu item to change the preferences ofdisplaying molecular systems and NMR spectra in
the HyperNMR workspace. This menu item opens
the Preferences dialog box and lets you choose various display colors. For details, see “Preferences
Dialog Box” on page 165.
Exit

Use Exit to close HyperNMR. If you have donesome calculations since the last time a file wassaved, then you will be offered the chance to savechanges.

Edit Menu
The Edit menu is used for copying images or data to the Windows
clipboard and for calculating atom types.

154

Chapter 9

Copy

Use this menu item to place a copy of the molecular image, selected cells from the shielding or coupling constant tables, or a copy of the NMR spectrum into the Windows clipboard, depending on
which view is currently in the workspace. Molecular images are copied in bitmap format. A bitmap
image will print with screen resolution only.
Selected cells in the shielding constant table or the
coupling constant table are copied to the clipboard
as tab-separated text. NMR spectral images are copied to the clipboard in Windows metafile format. A
metafile image will print with printer resolution.

Replace By...

Use this menu item to replace all the selected cells
in a shielding/coupling constant table by the value

Menusspecified in the Replace Selection dialog box (seepage 167).
Calculate Atom Use this menu item to calculate atom types forcomputing the NMR shielding and spin coupling
Typeswith the TNDO/1 or TNDO/2 method.

View Menu
Use the items on the View menu to change the type of information
displayed in the HyperNMR workspace.
Molecule

Use this menu item to display molecular systems
in the HyperNMR workspace.

Rendering...

Use this menu item to display the Rendering dialog
box (see page 167) which you use to specify therendering method used for atoms and bonds. Thismenu item is available only when a molecular system is shown in the HyperNMR workspace.

ShieldingConstants

Use this menu item to present a table which contains shielding constants (in ppm), chemical shifts(the relative values of shielding constants in thecurrent system to the reference shielding values),
and tau values. This menu item is available only
when shielding constants are present in HyperNMR.

Coupling
Constants

Use this menu item to display a table which contains nuclear spin-spin coupling constants (in Hz).
This menu item is available only when nuclear
spin-spin coupling constants are present in HyperNMR.

Graph

Use this menu item to plot a two or three dimensional bar graph of the selected shielding constants
or coupling constants in the NMR Graph dialog
box. This menu item is available only when theshielding constant table or coupling constant table
is in the workspace. This menu item uses a fly-out
menu:
2D barUse this to choose a 2D bar graph for the
NMR Graph dialog box.

Reference

155

MenusUse this to choose a 3D bar graph for the
NMR Graph dialog box.

3D barSpectrumUse Spectrum to display an NMR spectrum in theHyperNMR workspace. This menu item is available
only when an NMR spectrum is present in HyperNMR. This menu item uses a fly-out menu:

LinesShow the peaks as lines only.

Envelope

Show the peaks of an NMR spectrum withsimulated broadening of peaks to form anenvelope.

Lines andenvelope

Show the peaks as lines and as an envelope.

ShieldingTensor....

Use Shielding Tensor to display the Shielding Tensor dialog box (see page 168), which contains thedetails of the shielding tensors including the σxx,
σxy, σxy, σyx, σyy, σyz, σzx, σzy, and σzz components of the electronic shielding tensor, the eigenvalues of the tensor, the isotropic shielding and theshielding anisotropy. This menu item is available
only when the NMR shielding constant table is displayed in the workspace.

SpectralValues....

Use Spectral Values to display the Spectral Values
dialog box (see page 169), which contains thedetails of the spectrum including the chemical
shifts (in ppm), frequency (in MHz), intensity,
degeneracy, and current line width for each peak.
This menu item is available only when the NMR
spectrum is displayed in the workspace.

Line Widths

Use this menu item to change the type of line
width, such as multiple line widths, Lorentzianline width, and Gaussian line width. This menu
item is available only when an NMR spectrum isdisplayed in the workspace and the spectrum is displayed in envelope or line with envelope. Thismenu item uses a fly-out menu:

Multiple line
widths156

Chapter 9

Allow line widths to be set separately foreach peak. When this is off all peaks havethe same line width.

MenusLorentzian

Display the NMR spectrum envelope usinga Lorentzian distribution for each peak.

GaussianShow the NMR spectrum envelope using a
Gaussian distribution for each peak.

Tool Menu
The Tool menu can be used to change the function of the mouseor equivalent pointing device. The items in this menu are available
only when a molecular system is displayed in the HyperNMR
workspace. The menu items are:
Scale To Fit

Use this menu item to rescale the view so that theentire system fits in the window. This menu item
rescales and centers the image. The keyboard
spacebar is a shortcut for this menu item.

Pointer Rotate When this menu item is checked, the mouse canused to rotate the molecule. See “Using the mouseto rotate the molecule” on page 161 for details.
Pointer Select When this menu item is checked, the mouse canbe to select atoms. See “Using the mouse for selection” on page 161 for details.
Pointer Zoom When this item is checked, the mouse can be used
to adjust display size and position of the molecule.
& Translate
See “Using the mouse for zooming and translation” on page 161 for details.

Setup Menu
HyperNMR computes shielding constants, spin-spin coupling constants and NMR spectra. An NMR spectrum can be predicted fromshielding constants and spin-spin coupling constants that arecomputed, imported, or user-defined. There are several options
that you must specify before computing and simulating, and thesecan be set through the following menus and associated dialog
boxes:
Shielding &Coupling...

Use this menu item to bring up the NMR Shielding& Coupling Options dialog box (see “Shielding &Coupling Options Dialog Box” on page 171 fordetails) which you can use to set up the options for

Reference

157

Menuscomputing shielding (chemical shifts) and nuclear
spin-spin coupling constants. This menu item isavailable only when a molecular system is present
in HyperNMR and the number of nuclei shown in
the Spectral Options dialog box (see below) is lessthan or equal to the number of atoms in themolecular system.
Spectrum...

Use this menu item to display the Spectral Options
dialog box (see “Spectral Options Dialog Box” onpage 182 for details) which you can use to specify
the options for calculating an NMR spectrum.

Reference
Shielding...

Use this menu item to open the Reference Shielding dialog box (see “Reference Shielding Dialog
Box” on page 184 for details) which you can use to
specify the reference shielding constant for each of
1
13
15
15
19
31
H, C, N, O, F and P. The calculated
shielding is subtracted from the reference shielding to give the chemical shift.

Compute Menu
The Compute menu is used to compute shielding constants, spinspin coupling constants and NMR spectra. The menu items arelisted below:
I - Shielding & Use this menu item to compute the shielding constants and/or coupling constants for the current
Coupling
system. This menu item is available only when amolecular system is present in HyperNMR and thenumber of nuclei shown in the Spectral Options
dialog box is less than or equal to the number ofatoms.
II - Spectrum

Use this menu item to compute the NMR spectrum
for the given set of chemical shifts and coupling
constants. This menu item is available only whenHyperNMR has shielding constants and spin-spin
coupling constants that have been computed,
imported or entered by you.

Both: I Then II Use this menu item to compute the shielding constants, spin-spin coupling constants and the spectrum for the current molecular system. This menu

158

Chapter 9

Toolsitem is not available if there is no molecular system
or if the number of nuclei in the Spectral Options
dialog box is greater than the number of atoms in
the current molecular system.

Help Menu
The Help menu is used to access on-line help and the About dialog
box. It has the following menu items:
Contents

Lists the topics available with on-line help.

Using Help

Use this menu item to view instructions for using
on-line help. Start here if you are unfamiliar withusing Windows on-line help.

About
HyperNMR…

Displays the About dialog box, which gives version
and copyright information.

Tools
This section shows the commands and descriptions of the tool buttons on the HyperNMR tool bar. These buttons are shortcuts formenu operations: pressing one of these buttons is equivalent toselecting its corresponding menu item.

Tool Buttons
Here are the buttons on the tool bar and the menu items corresponding to each. See the descriptions above of the corresponding
menu commands for further details.
ButtonCorresponding
Menu Command:

Action:File/New

Clear the workspace.

File/Open...

Display the Open File dialog box.

Reference159

Tools

Button160

Chapter 9

Corresponding
Menu Command:

Action:File/Save

Save the molecular system and NMR
results using the current HyperNMR filename.

File/Get
HyperChem

Get the molecular system from a currently running HyperChem session.

View/Molecule

Display the molecular system in theHyperNMR workspace. When themolecular system is displayed this button will appear depressed.

View/Shielding
Constants

Display the shielding constant table in
the HyperNMR workspace. When theshielding constants are displayed in theworkspace this button will appear
depressed.

View/Coupling
Constants

Show the spin coupling constant tablein the HyperNMR workspace. Whenthe coupling constants are displayed in
the workspace this button will appear
depressed.

View/SpectraShow the NMR spectrum in the HyperNMR workspace. When the spectrum isdisplayed in the workspace this button
will appear depressed.

Window/PointerRotateUse the mouse to rotate the view.
When this option is active, the button
will appear depressed.

Window/PointerSelect

Use the mouse to select and deselectatoms. When this option is active, thebutton will appear depressed.

Window/PointerZoom & Translate

Use the mouse to magnify and translate the view. When this option is
active, the button will appear
depressed.

ToolsManipulating Molecules with the Mouse
You can rotate, translate, and zoom the view of the molecular system, and select and deselect atoms by using the mouse.

Using the mouse to rotate the molecule
Check the Pointer Rotate menu item if you want to use the mouseto rotate the molecule. The following mouse actions are available:•

L-drag for x-y rotation. While the cursor is in the workspace,drag the mouse horizontally to rotate about the y-axis. Dragvertically to rotate about the x-axis. Drag diagonally to rotate
about both.

•

R-drag horizontally for z rotation. Drag horizontally to rotate
the molecule in the plane of the screen. Vertical cursor motion
is ignored.

Using the mouse for selection
Check the Pointer Select menu item if you want to use the mousefor selecting atoms. The following mouse actions are available:•

L-click on an atom to select that atom. Holding down the Control or Shift key at the same time will extend the previous
selection to include the new atom. Without the Control or
Shift key, any currently selected atoms are unselected first.

•

R-click on an atom to deselect it.

•

L-click on open space to select all atoms.

•

R-click on open space to deselect all atoms.

Using the mouse for zooming and translation
Check the Pointer Zoom & Translate menu item if you want to use
the mouse to adjust the magnification and position of the molecule. The following mouse actions are available:•

L-drag to translate the molecule in the plane of the screen.
L-drag in the direction you wish to move the molecule.

•R-drag downwards to increase magnification of the molecule;R-drag upwards to decrease the magnification.

Reference161

Dialog Boxes

Keyboard Equivalents for Mouse Actions
The mouse operations for changing the view can also be performed via the keyboard by using the arrow ([2], [1], [3], [4]), [Home],[End], [PgUp], and [PgDn] keys. The following table summarizes theaction of each key, possibly modified by either the [Shift] key or the[Control] key. For example [Shift] + [2] will translate the system to theright.

Key[Shift] + Key[Ctrl] + Key

Right arrow([2])

Y-rotate rightTranslate rightZ-rotate clockwise

Left arrow([1])

Y-rotate left

Translate left

Z-rotatecounter-clockwise

Up arrow ([3])

X-rotate up

Translate up

Reduce size

Down arrow([4])

X-rotate down

Translate down

Enlarge[Home]

Z-rotate clockwise

No effect

No effect[End]

Z-rotatecounter-clockwise

No effect

No effect[PgUp]

Reduce size

No effect

No effect[PgDn]

Enlarge

No effect

No effect

Dialog Boxes
This section describes the dialog boxes available in HyperNMR, in
the order of the menu items that invoke them.

162

Chapter 9

Dialog Boxes

Open File Dialog Box
Use this dialog box to load a molecular system from a HyperNMR
NMR file, a HyperChem HIN file or a MOPAC Z-Matrix file to theHyperNMR workspace. The dialog box provides several ways tospecify a file name.

This dialog box has the following items:
File Name

There are two boxes under File Name; the first one
is the File Name text box and the second is the File
Name list box. You can enter the path and filename in the first text box and L-click on the OK
button to open this file. You can also use this text
box to search for file names under the current
directory (see below). The second text box contains the names of available files in the current
directory (see below). You can scroll through thelist if the complete list does not fit in this box. If
you want to open a file from the File Name list box,
you just L-click on it and L-click on the OK button.
Alternatively, you can open a file from the File
Name list box by double-clicking on it.

Directories

This reports all the parent directories and the directories within the current directory. Double-clicking on any one of these directories will change that
directory to be the current directory and the files inthat directory will then be listed in the File Namelist box.

List Files of
Type

Choose one of the file name extensions from thedrop-down list to limit the types of files thatappear in the File Name list box. The file types supReference163

Dialog Boxes

ported are HyperNMR files, HyperChem HIN files,
and MOPAC Z-Matrix files.
DrivesShows the current drive. You can change the driveby choosing from the drop-down list.

OK

Use this button to load the contents of the fileappearing in the File Name text box into HyperNMR.

CancelClose the Open File dialog box without reading a
file.

Important: If you choose an inappropriate file type for a file, errors
may occur when you open the file.

Save As Dialog Box
You may use this dialog box to save the molecular system with any
named selections or calculation results.
The Save As dialog box looks like:

The components of this dialog box are the same as for the Open
File dialog box (see above), except that here the File Name list box
shows the existing files in gray. You can still choose any one ofthese file names from the list box by L-click on it. HyperNMR will
ask you whether or not you want to overwrite the existing file. You
can choose OK to overwrite the existing file or Cancel to not savethe file.
Only HyperNMR files can be saved via this dialog box. If you do
not specify an extension, the extension “.NMR” will be added
automatically. You should avoid saving NMR files with a different
extension, to simplify re-opening them at a later time.

164

Chapter 9

Dialog Boxes

Start Log Dialog Box
The Start Log dialog box is used to choose a file name for storing
the details of computations performed by the HyperNMR backend
program. Log files contain starting conditions plus results. The
amount of information stored in a log file depends on the “print
level” setting; for more information, see “Log Files” on page 210.
The components of this dialog box are identical to those for theOpen File and Save As dialog boxes (described above):

If the file you entered in the File Name text box already exists,
HyperNMR asks if you want to replace the file or append to it. The
log file will only contain information after you have computed
NMR shielding constants, spin-spin coupling constants or an NMR
spectrum.

Preferences Dialog Box
When you choose File/Preferences, the Preferences dialog box
appears. You can use this dialog box to set up the colors for displaying molecular systems and NMR spectra.

Reference165

Dialog Boxes

The items in this dialog box are:Molecule

Set up the colors for displaying molecular systems
in HyperNMR.

MonoChrome Check this box to display the molecularsystem as black labels and selections on a
Display
white background.
Background
Color...

Use this button to set up the backgroundcolor for displaying molecular systems. It
opens the standard Windows Color dialog
box for choosing or defining a color. The
colored box next to the button shows thecurrent color.

Selection
Color...

Use this button to set up the selection color
for displaying molecular systems. It opens
the standard Windows Color dialog box forchoosing or defining a color. The coloredbox next to the button shows the current
color.

Label Color...

Use this button to set up the label color for
displaying molecular systems. It opens thestandard Windows Color dialog box forchoosing or defining a color. The coloredbox next to the button shows the current
color.

SpectrumSet up the colors for displaying the NMR spectra inHyperNMR.

MonoChrome Check this box to display the molecularsystem as black lines and envelope on a
Display
white background.

166

Chapter 9Line Color...

Use this button to set up the peak line
color for displaying an NMR spectrum. It
opens the standard Windows Color dialog
box for choosing or defining a color. The
colored box next to the button shows thecurrent color.

Selection
Color...

Use this button to set up the peak selection
color for displaying an NMR spectrum. It
opens the standard Windows Color dialog
box for choosing or defining a color. The

Dialog Boxes

colored box next to the button shows thecurrent color.
Envelope
Color...

Use this button to set up the envelope
color for displaying an NMR spectrum. It
opens the standard Windows Color dialog
box for choosing or defining a color. The
colored box next to the button shows thecurrent color.

OK

Press this button to accept all changes made in this
dialog box and dismiss the dialog box.

CancelPress this button to dismiss this dialog box andignore any changes made in the dialog box.

Replace Selection Dialog Box
The Replace Selection dialog box looks like:

Use this dialog box to replace all the selected cells in a shielding/coupling constant table.

Rendering Dialog Box
The Rendering dialog box looks like:

Reference

167

Dialog Boxes

Use this dialog box to select the rendering method for atoms andbonds. It has the following items:
Atoms

Choose one of the available rendering methods foratoms in this section. Labels displays lines along
bonds with a selected label (see below) at eachatom. Disks displays unshaded spheres, andSpheres displays shaded spheres.

Bonds

Choose one of the available renderings for bondsin this section. Sticks displays only lines along
bonds, Bonds displays unshaded cylinders forbonds, and Cylinders displays shaded cylinders.

LabelsChoose one of the labels for atoms in this section.
None shows no labels for atoms, Symbol shows theelement symbol of each atom, Name shows atom
names (if they have been read in from a HIN or
NMR file), Number shows sequential indiceswithin the molecule, Type shows atom types, andCharge shows partial atomic charges. This choice isavailable only if Labels has been selected in the
Atoms group.

OK

Press this button to dismiss the dialog box andapply the selected rendering settings.

CancelPress this button to dismiss the dialog box withoutchanging the rendering.

Shielding Tensor Dialog Box
The Shielding Tensor dialog box can be opened with the View/
Shielding Tensor menu item when a shielding constant table is displayed in the workspace.

168

Chapter 9

Dialog Boxes

This dialog box displays all the components of a tensor, the eigenvalues of the tensor, isotropic shielding and anisotropy for each
NMR atom. You can select cells by L-dragging across them and you
can use the scroll bar to view portions of the table that do not fit
in the dialog box. The available commands are:Plot

Use this to open the NMR Graph dialog box which
will display the values of the selected cells as a 3D
bar chart. Cells in at least two columns must be
selected.

Copy

Use this to copy the selected cells, and the associated headings, to the Windows clipboard as tabseparated text.

Close

Closes the dialog box.

Spectral Values Dialog Box
The Spectral Values dialog box can be opened with the View/Spectral Values menu item when a spectrum is displayed in the workspace.

Reference

169

Dialog Boxes

This dialog box displays the chemical shift (in ppm), frequency (inMHz), intensity, degeneracy and line width for each peak in thecurrent NMR spectrum. You can select cells by L-dragging acrossthem and you can use the scroll bar to view portions of the tablethat do not fit in the dialog box. The available commands are:Plot

Use this to open the NMR Graph dialog box which
will display the values of the selected cells as a 3D
bar chart. Cells in at least two columns must be
selected.

Copy

Use this to copy the selected cells, and the associated headings, to the Windows clipboard as tabseparated text.

Close

Closes the dialog box.

NMR Graph Dialog Box
The NMR Graph dialog box is used to display tabular data as 2D or
3D bar charts. It can be opened from the View/Graph menu item
when the workspace shows either shielding or coupling constants,
or from the Plot button in the Spectral Values dialog box. A 3D bar
chart is shown:

170

Chapter 9

Dialog Boxes

You can double-click on the bar chart image to copy a bitmap of it
to the Windows clipboard.

Shielding & Coupling Options Dialog Box
When you choose Setup/Shielding & Coupling, the Shielding &Coupling Options dialog box appears. You can use this dialog box
to set up the options for computing the shielding constants andspin-spin coupling constants for the current molecular system.
This dialog box looks like:

This dialog box contains the following items:
Semiempirical Specify a semi-empirical quantum mechanicalmethod for computing the shielding constants
Methodand/or coupling constants.
TNDO/1

Check this option to use the Typed Neglectof Differential Overlap semi-empirical

Reference

171

Dialog Boxes

method, Version 1, for a shielding constantand coupling constant calculation.
TNDO/2Check this option to use the Typed Neglectof Differential Overlap semi-empiricalmethod, Version 2, for a shielding constantand coupling constant calculation. This is
the method used for parameterization andshould be used instead of TNDO/1 unless
you have developed your own TNDO/1
parameters.

d-orbitals on
2nd row

Check this option to include d-orbitals forall second row elements in the atomic basis
set in the current molecular system. This
option is available only with TNDO/1.

ExpertOptions

This group allows you to set some specialized
options for the calculation of shielding constants
and spin-spin coupling constants. See Chapter 6
for details.

Special Slater Check this option to have HyperNMR
exponents for modify the Slater exponents of the atomic
orbitals according to the electronic charge
shielding
distribution after its SCF calculation andthen compute the shielding constants.
Otherwise the Slater exponents used tocompute the shielding constants are thesame as those used for the SCF calculation.
This option should always be active,
since the semiempirical parameters weredeveloped using it. It does not significantly
increase computation time.
Include slow
three-center
integrals

Type ofCalculation

172

Chapter 9

Check this option to have HyperNMR
compute the contribution to the shielding
constants from the three-center integrals
and the non-NDO off-diagonal elements ofthe density matrix. Using this option can
increase the time taken for the shielding
and coupling calculation by an order ofmagnitude, so its use is not recommended.

Use this section to specify whether you want to calculate shielding constants, coupling constants orDialog Boxes

both. At least one of these options must be
checked.
Shieldingconstants(Chemical
shifts)Check this box to compute the shielding
constants.

Check this box to compute the nuclear
Fermi spinspin coupling spin-spin coupling constants.
constants
Quantum
Atoms...

Use this button to open the Quantum Atom Selection dialog box (see below) for specifying thequantum atoms.

NMR Atoms... Use this button to open the NMR Atom Selection
dialog box (see below) for specifying the NMR
atoms.
Equivalent
Atoms...

Use this button to open the Equivalent Atom Selection dialog box (see below) for specifying sets ofequivalent atoms.

Labelled
Atoms...

Use this button to open the Labelled Atom Selection dialog box (see below) for specifying sets oflabelled atoms

SCF...

Use this button brings up the SCF Wavefunction
Options dialog box (see below) to specify the conditions for the SCF calculation.

OK

Press this button to accept all the changes and dismiss this dialog box.

CancelPress this button to ignore any changes and dismiss this dialog box.

Note: This dialog box may not be accessible if there is no molecular system in HyperNMR or if the number of nuclei in the Spectral
Options dialog box (see below) is greater than the actual numberof atoms in the current molecular system.

Quantum Atom Selection Dialog Box
This dialog box lets you select the atoms which will be treatedquantum mechanically when computing the SCF wave function.
The rest of the atoms in the molecular system will be treated clas-

Reference

173

Dialog Boxes

sically, except that atoms that are bonded to quantum atoms willbe treated as capping atoms. The quantum atoms and resulting
capping atoms are limited to the elements hydrogen throughargon. If you do not specify any quantum atoms, the whole molecular system will be treated quantum mechanically.

This dialog box contains the following items:

174

Chapter 9

All Atoms

All Atoms lists all the atoms presented in the current molecular system. Each line corresponds toone atom and includes the following information:
M # stands for the atom belonging to molecule #,A ## means the atom numbered ## within themolecule, and the last two “words” show theatomic symbol and the TNDO atom type.

Quantum
Atoms

This lists all atoms that you have chosen to bequantum atoms, in the same format as for All
Atoms.

Add ⇒Use this button to add the selected (highlighted)
atoms from the All Atoms list to the Quantum Atoms
list.

Delete ⇐Use this button to delete the selected set of atoms
from the Quantum Atoms list.

Select All

Press this button to select (highlight) all the atoms
listed in the All Atoms list box.

Reset

Delete all the atoms from the Quantum Atoms list
box.

OK

Accept the changes made and close the dialog box.

CancelClose the dialog box without accepting thechanges made.

Dialog Boxes

Note: If you had any atoms selected in the HyperNMR workspace,
they will automatically be added to an empty (or optionallyreplace a previous) Quantum Atoms list. You may prefer to choose
quantum atoms with the selection tool before opening this dialogbox.
If you have HyperChem installed in your computer, you cancreate this selection within HyperChem before getting the molecular system with HyperNMR. To create the Quantum Atoms selection, first select the atoms which you would like HyperNMR totreat quantum mechanically. Then open the Name Selection dialog box in HyperChem by clicking the Select/Name Selection menu
item and enter quantum-atoms for the name.

NMR Atom Selection Dialog Box
This dialog box can be used to select NMR atoms from the current
molecular system if there is no quantum atom selection preceding
this dialog box, or from the quantum atoms if the quantum atoms
include only part of the current system, because the NMR atoms
have to be treated quantum mechanically. Furthermore, the NMR
atoms must be selected before running the calculation of shielding
constants and spin-spin coupling constants.

This dialog box has the following items:
Quantum
Atoms

Quantum Atoms lists all the selected quantum
atoms in the current molecular system. Each line
corresponds to one atom and includes the following information: M # stands for the atom belonging to molecule #, A ## means the atom numbered## within the molecule, and the last two “words”
show the atomic symbol and the TNDO atom type.

Reference

175Dialog Boxes

NMR Atoms

This lists all atoms that you have chosen to be
NMR atoms, in the same format as for Quantum
Atoms.

Add ⇒Use this button to add the selected (highlighted)
atoms from the Quantum Atoms list to the NMR
Atoms list.

Delete ⇐Use this button to delete the selected set of atoms
from the NMR Atoms list.

Select...

Press this button to open the Select NMR Atoms
dialog box.

Reset

Delete all the atoms from the NMR Atoms list.

OK

Accept the changes made and close the dialog box.

CancelClose the dialog box without accepting thechanges made.

Note: If you had any atoms selected in the HyperNMR workspace,
they will automatically be added to an empty (or optionallyreplace a previous) NMR Atoms list. You may prefer to choose NMR
atoms with the selection tool before opening this dialog box.
If you have HyperChem installed in your computer, you cancreate this selection within HyperChem before getting the molecular system with HyperNMR. To create the NMR Atoms selection,
first select the atoms which you would like HyperNMR to treat
quantum mechanically. Then open the Name Selection dialog box
in HyperChem by clicking the Select/Name Selection menu itemand enter nmr-atoms for the name.

Equivalent Atom Selection Dialog Box
This dialog box can be used to set up the sets of equivalent atoms:

176

Chapter 9

Dialog Boxes

The items in this dialog box are:
NMR Atoms

List all the selected NMR atoms. Each line corresponds to one atom and includes the following
information: M # stands for the atom belonging tomolecule #, A ## means the atom numbered ##within the molecule, and the last two “words”
show the atomic symbol and the TNDO atom type.

Set:

Use this to select the set of equivalent atoms. The
number is an index starting at one. The spin buttons can be used to increment and decrement theset index. You can define a new set by increasing
the index to one higher than the number of previously defined sets and then adding to the Equivalent Atoms list.

Equivalent
Atoms

This lists the equivalent atoms which belong to theequivalent set with the index shown in the Set text
box. The atoms are listed in the same format as for
NMR Atoms.

Add ⇒Use this button to add the selected atoms from the
NMR Atoms list to the current set of equivalentatoms.

Delete ⇐Use this button to delete the selected atoms fromthe current set of equivalent atoms appearing in
the Equivalent Atoms list.

Reset

Delete all the atoms from the Equivalent Atoms listof the current set.

Apply

Store the equivalent atoms shown in the Equivalent
Atoms list for the current set; then you can roll up

Reference

177

Dialog Boxes(down) to set or reset the next set (previous set) of
equivalent atoms.
OK

Accept the changes made and close the dialog box.

CancelClose the dialog box without accepting thechanges made.

Note: This dialog box is not available before the selection of NMR
atoms.
If you have HyperChem installed in your computer, you cancreate sets of equivalent atoms within HyperChem before getting
the molecular system with HyperNMR. To create the equivalentatom selections, first select the atoms which you would like HyperNMR to treat as a set of equivalent atoms. Then open the Name
Selection dialog box in HyperChem by clicking the Select/Name
Selection menu item and enter equivalent-atoms-1 for the name.
If you have more than one set of equivalent atoms, you can repeat
this procedure again but enter equivalent-atoms-2, equivalentatoms-3, etc. for the selection names.

Labelled Atom Selection Dialog Box
This dialog box lets you perform isotopic substitution by labelling
atoms. In HyperNMR, labelling replaces the most abundant isotope with a less abundant isotope according to the following table:

178

Chapter 9

Element

Default nucleus(unlabelled)

Labelled nucleusH

1H (spin ½)

2H (spin 1)

C

12C (spin 0)

13C (spin ½)

N

14N (spin 1)

15N (spin ½)

O

16O (spin 0)

15O (spin ½)

F

19F (spin ½)

19F (spin ½)

P

31P (spin ½)

31P (spin ½)

Dialog Boxes
12

14

Nuclei with spins other than ½, such as C and N, usually do
not exhibit spin-spin coupling with other nuclei. If you want themto show spin-spin coupling with others, you need to label them. If
you want to treat some hydrogens as deuterium, and thus remove
spin-spin coupling, you can label them.
There are no natural isotopes of F or P appropriate for NMR labelling. The naturally occuring 17O isotope of oxygen has a nuclear
spin of 5/2 which HyperNMR cannot treat, but the artificial spin-½
isotope 15O is available in HyperNMR.

This dialog box contains the following items:
NMR Atoms

NMR Atoms lists all the selected NMR atoms in thecurrent molecular system. Each line corresponds toone atom and includes the following information:
M # stands for the atom belonging to molecule #,A ## means the atom numbered ## within themolecule, and the last two “words” show theatomic symbol and the TNDO atom type.

Labelled
Atoms

This lists all atoms that you have chosen to belabelled atoms, in the same format as for NMR
Atoms.

Add ⇒Use this button to add the selected atoms from the
NMR Atoms list to the Labelled Atoms list.

Delete ⇐Use this button to delete the selected set of atoms
from the Labelled Atoms list.

Select All

Press this button to select (highlight) all the atoms
listed in the NMR Atoms list box.

Reset

Delete all the atoms from the Labelled Atoms list.

OK

Accept the changes made and close the dialog box.
Reference

179

Dialog Boxes

CancelClose the dialog box without accepting thechanges made.

Note: This dialog box is not available before the selection of NMR
atoms.
If you have HyperChem installed in your computer, you cancreate this selection within HyperChem before getting the molecular system with HyperNMR. To create the Labelled Atoms selection, first you select the atoms which you would like HyperNMR
to treat as less abundant isotopes. Then open the Name Selection
dialog box in HyperChem by clicking the Select/Name Selection
menu item and enter labelled-atoms for the name.

Select NMR Atoms Dialog Box
This dialog box can be used to select specific types of NMR atoms,
such as, protons, carbons, etc. from the current molecular system
if there is no quantum atom selection preceding this dialog box, orfrom the quantum atoms if the quantum atoms include only partof the current system, because the NMR atoms have to be treatedquantum mechanically.

This dialog box has the following items:
Protons

Select all the hydrogens.

Carbons

Select all the carbons.

Nitrogens

Select all the nitrogens.

Oxygens

Select all the oxygens.

Fluorines

Select all the fluorines.

Phosphoruses Select all the phosphoruses.
All
180

Chapter 9

Select all the atoms.

Dialog Boxes

OK

Accept the changes made and close the dialog box.

CancelClose the dialog box without accepting thechanges made.

SCF Wavefunction Options Dialog Box
The SCF Wavefunction Options dialog box lets you set up the conditions for computing the unperturbed and perturbed SCF wavefunctions which, in turn, are used for the calculation of the shielding constants and spin-spin coupling constants for the selected
NMR atoms.

This dialog box has the following components:
ElectronicState

Use this area to specify the net charge for the current molecular system and electron spin-pairing
information.

Charge onmolecule

This is the net excess of nuclear chargeover the electronic charge. It is zero for aneutral system, a positive integer for a cation, and a negative integer for an anion.

Spinmultiplicity

This displays the electronic spin multiplicity that will be used for the current molecular system, and is always 1 (i.e., singlet
state). The spin multiplicity is 2S + 1, where
S is the total spin quantum number.

ConvergenceThis section is used to specify the desired accuracy
for the SCF wave function, and the maximum
number of iterations that are allowed for reachingthat accuracy.

Convergencelimit

An SCF calculation ends when the difference in energy after any two consecutive

Reference

181

Dialog Boxes

iterations is less than this amount. This is
the convergence limit for total electronicenergy during iterations of an SCF calculation. The default value is 0.01 kcal/mol.
-3
The practical range is 1 to 10 . The calcu-3
lation might not reach values less than 10
because of round-off errors.
Maximum
iterations

This sets the maximum number of iterations for an SCF calculation. The calculation ends after this number of iterations,even if it has not reached the Convergencelimit. The results may not be correct if thecalculation was far from convergence or
the energy of the system is oscillating. The
default of 50 should be correct for mostcases. The practical range is 50 to 200.

Accelerate
convergence

With this check box checked (×), HyperNMR will apply the Direct Inversion of
Iterative Subspace (DIIS) procedure to
speed up the SCF calculation at theexpense of requiring much more memory.

OK

Accept the changes made and close the dialog box.

CancelClose the dialog box without accepting thechanges made.

Note: HyperNMR always uses the restricted Hartree-Fock (RHF)
approximation when computing the unperturbed wave function.
See Chapter 6 for details.

Spectral Options Dialog Box
This dialog box can be used to set up the conditions for computing
an NMR spectrum for the current chemical shifts and nuclear spinspin coupling constants.

182

Chapter 9

Dialog Boxes

This dialog box has the following components:
Type ofSpectrumUse this to specify the type of NMR spectrum thatyou wish to compute.

Check this to inform HyperNMR to use the weak
Weakcoupling approximation (a perturbation method)
Coupling
approximation to calculate the transition energies and the relative
intensities of transitions.
Number of
NucleiThis shows the current number of NMR atoms. It iszero if there is no molecular system in HyperNMR
or if there is no NMR atom selection for the current
molecular system. Decreasing this number willremove NMR atoms (and any shielding or coupling
results for them) from the end of the list andincreasing it will add new NMR atoms with thesame nuclei as Type of Spectrum (setting theirshielding and coupling constants to zero). You
should not change this number unless you want totype in shielding and coupling constants for a different number of NMR atoms (see below).

Spectrometer Use this to specify the spectrometer frequency (inMHz) that you would like to use when you comFrequency
pute an NMR spectrum. Enter a real number that isgreater than 0 and less than or equal to 1000000.
OK

Accept all the changes made in this dialog box anddismiss the dialog box.

CancelIgnore any changes made and close this dialog
box.
1

13

15

15

19

31

HyperNMR can be used to calculate a H, C, N, O, F or P
spectrum. HyperNMR may only compute one type of NMR spectrum at a time, but you can calculate multiple spectra from theReference

183

Dialog Boxes

same shielding and coupling results. For instance, you might be1
13interested in both the H and C NMR spectra for ethanol(CH CH OH). You can calculate all the shielding constants and321
spin-spin coupling constants at once, compute the H spectrum,
13
change to a C spectrum in this dialog box and then compute the13
C NMR spectrum.
You can use the Number of Nuclei spin button to change the number of NMR atoms. HyperNMR will warn you if the number ofnuclei you try to add is greater than the number of actual atoms in
the current system, and ask you whether or not you would like to
add a virtual molecule (without coordinates) to the current molecular system. Once the number of nuclei has been changed compared to its original value in this dialog box, HyperNMR makes themenu items View/Shielding Constants and View/Coupling Constants
accessible. You can type your own chemical shifts and coupling
constants into the corresponding table shown in the HyperNMR
workspace and then compute the NMR spectrum using the newshielding and coupling constants. Furthermore, the menu items
Setup/Shielding & Coupling, Compute/I - Shielding & Coupling, andCompute/Both: I Then II in the main window of HyperNMR will not
be accessible if the number of nuclei in this dialog box is greaterthan the number of the actual atoms in the current molecular system, since the atoms in the virtual molecule do not have coordinates.

Reference Shielding Dialog Box
The Reference Shielding dialog box can be used to define a reference shielding constant for each type of nucleus that will be used
to calculate chemical shifts. HyperNMR computes the chemical
shifts relative to the chosen reference shielding for the NMR atoms
in the current system, by subtracting the computed value from thereference value.

184

Chapter 9

Solvation Effects

This dialog box contains only one item:
ShieldingConstant(ppm)

This specifies the shielding constant (in ppm) for
1
13
15
15
19
31
the H, C, N, O, F and P in the reference
molecular systems. The value shown corresponds
to the nucleus highlighted in the list. You can specify reference shielding constants for all the nuclei.
13
The default values for proton and C have been
calculated from methane with TNDO/2 using theSpecial Slater exponents for shielding option. For
other nuclei the default value is zero.

OK

Accept all the changes made in this dialog box anddismiss the dialog box.

CancelIgnore any changes made and close this dialogbox.

To determine a reference shielding constant you must choose a reference molecular system that includes one of the desired type of
nucleus whose shielding you will use as the reference. You then set
up and calculate the shielding constants of the reference system.
The resulting shielding constant for the reference nucleus in thereference molecular system can then be entered in this dialog box.
Note: The predicted magnetic shielding constants for a given
molecular system may strongly depend on the applied method.
And within the same method, the shielding constants may also
depend on the options. It is therefore strongly recommended thatyou use magnetic shielding constants generated by HyperNMR as
your reference shielding values, as the errors in the absolute shielding constants will cancel out to a great extent in the chemical
shifts.

Solvation Effects
HyperNMR is not able to calculate solvent effects implicitly, as
though the molecule(s) of interest were immersed in a homogeneous medium. The solvent molecules must be included explicitly.
You can set up the workspace with the molecule(s) of interest surrounded by some configuration of solvent molecules, which might
be included as quantum atoms (depending on the size of the system) but not as NMR atoms. Then one would calculate the shifts,
coupling constants, and/or spectrum. Ideally, this would be
repeated for several different configurations of solute and solvent
Reference

185Filesso as to give a statistically meaningful distribution of results. Sucha series of systems could be set up with molecular dynamics calculations using a tool such as HyperChem.

Files
HyperNMR uses these program or user-editable files:

File Type

File Names

HyperNMR program files

nmr.exe
nmrcalc.exe

HyperNMR default settings

nmr.iniAtom type file

nmrtype.rul
nmrtype.txt

Semi-empirical parameters

nmr_shft.abp
nmr_cupl.abp

Help text

nmr.hlp

Communication files

nmrparam.in
nmrparam.out
nmrspect.in
nmrspect.out

HyperNMR input files

*.hin
*.nmr
*.zmt

Log files*.log

Program Files
These are the HyperNMR program files:
nmr.exe

186

Chapter 9This program runs the HyperNMR user interface. It
includes reading and writing HyperNMR input
files and displaying molecular systems and theHyperNMR calculation results. This is the Hyper-

FilesNMR “front-end”, designed to run under Windows
on a PC.
nmrcalc.exe

This program is the HyperNMR “backend” which
does scientific calculations including predicting
electronic shielding tensors, shielding constants,
spin-spin coupling constants and NMR spectra.

These two files are not modifiable.

HyperNMR Default Settings
The file NMR.INI contains all the default settings for HyperNMR.
HyperNMR uses NMR.INI to remember your settings from the previous session. HyperNMR reads this file when you start it.
Some settings can be changed only in NMR.INI. You can changethese settings, or any settings in this file, by using a text editor like
Windows Notepad. NMR.INI is installed by default in your HyperChem directory, if one exists. HyperNMR gets the location of
NMR.INI from the NMRIniPath record in WIN.INI each time it
starts.
The settings are in text records, one on each line. Each record contains a keyword, an equal sign, and a value that can be Yes or No(Boolean), an integer (Int), a floating point number (Real), or oneof a limited set of possibilities (Enum).
Note: Keywords and values in NMR.INI are not case-sensitive.
The NMR.INI file contains the following sections, each with a section title in brackets:[nmr]

Keyword

Value
Type

Value

How to Set

Use

AtomRenderType

Int

1-3

View Rendering
dialog box

Atom rendering type
1: Labels; 2: Disks;
3: Spheres

Reference

187

Files188

Keyword

Value
Type

Value

How to Set

Use

BondRenderType

Int

1-3

View Rendering
dialog box

Bond rendering type
1: Sticks; 2: Bonds;
3: Cylinders

BackColor

Enum

ColoraFile Preferences dialog
box

Background color for
displaying molecules

LabelColor

Enum

ColoraFile Preferences dialog
box

Atom label color

BondColor

Enum

ColoraFile Preferences dialog
box

Bond color

SelectionColor

Enum

ColoraFile Preferences dialog
box

Selection color for displaying selections ofatoms

SpectrumLineColor

Enum

ColoraFile Preferences dialog
box

Color for displaying
the lines of a spectrum

SpectrumEnvelopeColor

Enum

ColoraFile Preferences dialog
box

Color for displaying
the envelope of aspectrum

SpectrumSelectionColor

Enum

ColoraFile Preferences dialog
box

Color for selecting theline of a spectrum

DefaultColorSet

Enum

HyperChemColors
CustomColors1
CustomColors2

This fileb

Name of set of default
atomic colors to use in
rendering atoms

Chapter 9FilesKeyword

Value
Type

Value

How to Set

Use

DefaultRadiusSet

Enum

CPKRadiiBallsSticks
Radii
CustomRadii

This fileb

Name of set of default
atomic radii to use in
rendering atoms

SemiEmpiricalMethod

Enum

TNDO1
TNDO2

Setup Shielding & Coupling
Options dialog
box

Semi-empirical quantum mechanicalmethod for computing shielding and coupling

TotalChargeInt-10 - +10

Setup SCF
Options dialogbox

The net excess of
nuclear charge overthe electronic charge

SpinMultiplicity

Int

1

Setup SCF
Options dialog
box

Electron spin multiplicity

SCFConvergenceLimit

Real>0-1000

Setup SCF
Options dialog
box

The desired maximum
difference of the energies between any twoconsecutive iterations
before stopping SCF
calculation

SCFIterationLimitInt>0-10000

Setup SCF
Options dialog
box

The maximum iterations before stopping
SCF calculation

SCFAccelerateConvergence

Bool

Yes, No

Setup SCF
Options dialog
box

If Yes, then uses DIIS
procedure to accelerate SCF calculation

LogPrintLevel

Int

0-10

This fileb

The level of information output to a log
file

Reference

189

Files190

Keyword

Value
Type

Value

How to Set

Use

MinimalIntensityReal>1.0e-8This fileb

The minimum intensity of a NMR spectrum to be plotted in
the HyperNMR workspace and to beprinted in a log file.

ModifySlaterExponents

Bool

Yes, No

Setup Shielding & Coupling
Options dialog
box

If Yes, modifies the
Slater exponents of
the atomic orbitals forcomputing the shielding constantsComputeThreeCenterTerms

Bool

Yes, No

Setup Shielding & Coupling
Options dialog
box

If Yes, computes thecontribution to theshielding constantsfrom the three-center
integrals and the nonNDO off-diagonal elements of the density
matrix

IncludeDOrbitalsForSecondRow

Bool

Yes, No

Setup Shielding & Coupling
Options dialog
box

If Yes, includes dorbitals for the second
row elements in theatomic basis set if anyof the second row elements exists

CalculateShielding

Bool

Yes, No

Setup Shielding & Coupling
Options dialog
box

If Yes, computes theshielding constants

CalculateCoupling

Bool

Yes, No

Setup Shielding & Coupling
Options dialog
box

If Yes, computes thenuclear spin-spin
coupling constants

NMRFrequency

Int1-32767

Setup Spectral
Options dialog
box

Spectrometer frequency for computing
NMR spectra (in MHz)

Chapter 9FilesKeyword

Value
Type

Value

How to Set

UseSpectraType

Enum

ProtonCarbon13
Nitrogen15
Oxygen15
Fluorine19
Phosphorus-31

Setup Spectral
Options dialog
box

Type of NMR spectrum

AbsLineWidth

Bool

Yes, NoThis fileb

If Yes, the range of theline width scroll bar
will be independent ofzoom

MaxAbsLineWidth

Real

0-1000This fileb

Maximum line width
value (in ppm) if
AbsLineWidth is set

MinAbsLineWidth

Real

0-1000This fileb

Minimum line width(in ppm) value if
AbsLineWidth is set

WeakCouplingApproximation

Bool

Yes, No

Setup Spectral
Options dialog
box

If Yes, uses the weakcoupling approximation

CalculateShieldingTensor

Bool

Yes, NoThis fileb

If Yes, computes thefull shielding tensors
for all the NMR atoms

a. RGB color, such as “RGB(0,255,0)”. This specifies a color by giving three numbers between 0 and 255 inclusive which gives the amounts of Red, Green, and Blue components respectively in the desired color.
b. Use a text editor, like Windows Notepad, to change this record in NMR.INI.

Reference

191

Files[ReferenceShieldings]

Keyword

Value
Type

Value

How to Set

Use

H

Real

-100000 –+100000

Setup Reference
Shielding dialog box

Shielding constant in areference molecule (ppm)

C

Real

-100000 –+100000

Setup Reference
Shielding dialog box

Shielding constant in areference molecule (ppm)

N

Real

-100000 –+100000

Setup Reference
Shielding dialog box

Shielding constant in areference molecule (ppm)

F

Real

-100000 –+100000

Setup Reference
Shielding dialog box

Shielding constant in areference molecule (ppm)

P

Real

-100000 –+100000

Setup Reference
Shielding dialog box

Shielding constant in areference molecule (ppm)

The following three sections define three sets of atomic colors andcan be changed in this file (only in this file). These three sets ofatomic colors are HyperChemColors, CustomColor1, andCustomColor2. Each of these sets defines a color for each atom.
The default color is used for an atom if its color is not definedwithin the set. The default values are:[HyperChemColors]
Default=RGB(255, 255, 255)
H=RGB(255, 255, 255)
C=RGB(0, 255, 255)
N=RGB(0, 0, 255)
O=RGB(255, 0, 0)
F=RGB(255, 255, 0)
Na=RGB(255, 0, 255)
S=RGB(255, 255, 0)
K=RGB(255, 0, 255)
Fe=RGB(255, 0, 0)
Co=RGB(0, 0, 255)
Cu=RGB(0, 255, 0)
Br=RGB(255, 255, 0)
I=RGB(255, 0, 0)
Au=RGB(255, 255, 0)[CustomColors1]
192

Chapter 9FilesDefault=RGB(0, 255, 0)
H=RGB(255, 255, 255)
C=RGB(128, 128, 128)
N=RGB(128, 128, 255)
O=RGB(255, 128, 128)
[CustomColors2]
Default=RGB(0, 255, 0)
H=RGB(255, 255, 255)
C=RGB(128, 128, 128)
N=RGB(0, 0, 255)
O=RGB(255, 0, 0)

The following three sections define three sets of atomic radii andcan be changed in this file. These three sets of atomic radii are
CPKRadii, BallsSticksRadii, and CustomRadii. Each of these sets
defines a radius for each atom. The default radius is used for an
atom if its radius is not defined within the set. Examples of these
sections are:
[CPKRadii]
Default=.8
Lp=0.90H=0.83
He=0.93
Li=1.23
Be=0.90
B=0.82
C=1.20N=1.12O=1.05
F=0.90...
Lr=1.65[BallsSticksRadii]
Default=0.4
H=0.2
Lp=0.11[CustomRadii]
Default=0.4
H=0.3
Lp=0.3

Reference

193

FilesAtom Type Files
HyperNMR provides two files that you need for assigning types toatoms in molecular systems.
NMRTYPE.RUL A text file containing a set of rules for assigning
types to the atoms in a molecular system.
NMRTYPE.TXT List of atom types.
For a shielding and spin-spin coupling calculation, each atom in amolecular system must have an atom type. Atom types represent
sets of atoms of the same element that have different chemical
environments. The TNDO/1 and TNDO/2 methods in HyperNMR
treat all atoms of the same type in similar way.
When you get a molecule from HyperChem or from a HyperChem
HIN file, the molecular system may already contain types for all
the atoms. These atom types may or may not be consistent withthose defined in the nmrtype.rul file. However the molecular system will not have any atom types if you get it from a MOPAC ZMatrix file. Hence computing atom types is recommended byusing File/Calculate Atom Types in HyperNMR.

Atom Typing Rules
You can add or modify the atom typing rules found in nmrtype.rul, which contains rules for TNDO method. The file has ahierarchical decision structure, including these levels:•

Element•

Clauses and tests•

Assignment statement

For each atom in a molecular structure, HyperNMR scans this fileand makes these decisions:194

Chapter 9•

What is the element?

•

For this element, does the atom satisfy the tests in the firstclause? If not, in the second clause, and so on?

•

When the atom satisfies the tests in a clause, HyperNMR
assigns the atom type.

•

HyperNMR goes to the next atom.

FilesCaution: Errors in nmrtype.rul can cause fatal errors in HyperNMR. Make a backup copy of nmrtype.rul before you change it.
Example:S:connected to -H?
=SH.
=S.

In this example for a sulphur atom (S), the first clause contains on
test: is the sulfur atom connected to a hydrogen? If true, the atom
type is SH. If false, HyperNMR goes to the next clause, which has
no tests, only a statement that assigns S as the atom type.

SyntaxThis is the structure of nmrtype.rul:
forcefield(tndo)<element-symbol>:; <comment><clause><test>?
<test>?
...
=<assignment-statement>.
<clause>...
Note: Entries in nmrtype.rul are not case-sensitive, except for element symbols. HyperNMR recognizes, for example, the difference
between SI and Si. Spaces between words are optional.

forcefield<force-field-name> is tndo.

<element-symbol>:This is the chemical symbol for an element, for example, S, Cl, andNa.
Reference

195

FilesA colon must follow the symbol. Each element can have only one
symbol. Element symbols include Lp for lone pair.

;<comment>
Comments can occur anywhere in the file. A comment begins witha semicolon and ends at the end of a line.

<clause>A clause is a set of tests applied to each atom plus an atom typeassignment. Each clause ends with an assignment statement.
Note: HyperNMR checks clauses from top to bottom, so their orderis important. Place more specific clauses before general ones.
If one test in a clause fails, HyperNMR goes to the next clause. If
all the tests in a clause are calculated as true, HyperNMR assigns anatom type. Some elements have a final clause without tests. This
assigns an atom type if all previous clauses failed. If the force field
does not have a clause without tests and if all clauses failed, HyperNMR assigns the atom type **, meaning unknown.

<test>?
A question mark must follow each test. A clause can obtain thesetests:Test

To pass test

Is it sp3?

True if the atom has no double, triple, or aromaticbonds.

Is it sp2?

True if the atom has one double or two or morearomatic bonds.

Is it sp?

True if the atom has one triple or two double
bonds.

In 5 ring?

True if the atom is part of a five-membered ring.

In 6 ring?

True if the atom is part of a six-membered ring.

Has aromaticbond?

True if the atom has at least one aromatic bond.

Connected to True if the atom is bonded to atoms described in<expression>? <expression>.

196

Chapter 9Files“Connected to” Expressions“Connected to” expressions include the type of connecting bond,the connected atoms, and bonds between the connected atoms.
These symbols represent bonds:=#~(no symbol)

single bonddouble bond
triple bondaromatic bondany bond type

“Connected to” expressions use element symbols to represent connected atoms. You can use any standard symbols from the periodic
table, plus these:
Lp Lone pair
R Any element except H and Lp
X Any halogen (F, Cl, Br, I)* Any element except Lp
Note: Keep “connected to” expressions as short as possible. Atomtypes are usually unaffected by atoms more than two or threebonds away. Also, longer expressions increase the time required toassign types.

Side Groups
Specify side chains either by placing them in parentheses or byusing numbers. For example:-CH2 or -C(H)H-CH2Cl or -C(H)(H)ClRings
The atom being typed can be connected to or part of ring. Pairs oftags (@1 to @9) placed after atoms in the ring describe closure
points, for example:-C@1CCCCCC@1
This describes a connection to a six-membered ring, with the tag@1 after C and C . C and C represent the same atom in the
1
7 1
7
ring.
-@1CCC@1

Reference

197

FilesThis describes a cyclopropane ring, with the atom being typed as
the first atom (C ) in the ring (@1 at the beginning of the expres1
sion modifies the atom being typed). C and C are the same
1
4
atom.

<Assignment-statement>.
A clause must end with an assignment statement that contains anatom type belonging to the force field. These types appear in thefile nmrtype.txt. The assignment statement must end with aperiod.

Semi-empirical Parameter Files
nmr_shft.abp and nmr_cupl.abp contain the semi-empiricalparameters for computing the shielding constants and nuclear
spin-spin coupling constants, respectively. In these two files, eachline corresponds to an atom type. The entries with a minus sign,“-”, correspond to the parameters for capping atoms.

198

Chapter 9

ColumnSymbolContent

1

T

Atom type. A “-” sign preceding the atom
type indicates a capping atoma

2ζs orbital Slater exponent (a.u.)3

ζ

p orbital Slater exponent (a.u.)4ζd orbital Slater exponent (a.u.)5-(I +A )/2

Negative of averaged ionization potentialand electron affinity of s orbital (eV)6-(I +A )/2

Negative of averaged ionization potentialand electron affinity of p orbital (eV)7-(I +A )/2

Negative of averaged ionization potentialand electron affinity of d orbital (eV)8bBonding parameter (eV)

9

F

s
p
d
s

p

d

2

s

p

d

2

Slater-Condon parameter F (p,p) (a.u.)FilesColumnSymbol

10

G

11

s (0)

nmr_shft.abp: reserved;
nmr_cupl.abp: s orbital density at nucleus

12g

nmr_shft.abp: reserved;
nmr_cupl.abp: g factor of nucleus

13

E

14

E

15

H

1

2

atom

atom

atom

Content
1

Slater-Condon parameter G (s,p) (a.u.)Electronb energy of isolated atom for
CNDO (eV)Electron energy of isolated atom for
INDOb (eV)Heat of formation of free atom (kcal/mol)a. Parameterized fluorine atoms that represent atoms bonded to the selected atoms for the calculation (see Chapter 6 for details).
b. Calculated from the parameters listed in these files for the corresponding ground states.

Note: Columns 11 and 12 are different in nmr_shft.abp and
nmr_cupl.abp, since there are two extra parameters needed forcomputing the spin coupling constants: the s-orbital density at
nucleus and the g factor of nucleus.

Help Text
All Help text available on screen is in one file, NMR.HLP. You canread this text using the Help menu, or by activating the Help window with the [F1] key.

Communication Files
The communication files of HyperNMR, nmrparam.in, nmrparam.out, nmrspect.in, and nmrspect.out, in the directory specified by the line
NMRIniPath=in the WIN.INI file, enable the front-end and back-end communication when you want to calculate NMR properties. Hence thesefile names are reserved, and you may not overwrite them. If any ofthese files are opened by any other application, HyperNMR willcomplain when you want to do an NMR calculation.
Reference

199

FilesHyperNMR Input Files
HyperNMR can import a molecular system from a HyperChem
HIN file or a MOPAC Z-Matrix file and get a molecular system
and/or NMR results from a HyperNMR NMR file which was saved
previously by HyperNMR.

Z-Matrix Files
The MOPAC Z-Matrix file format includes the element symbol or
atomic number and the internal coordinates or Cartesian coordinates of each atom in the molecular system. The following gives asample Z-Matrix file for methane
Name: C:\HYPER\NMR\METHANE.ZMT
MOPAC file created on 9/2 15:16:19 1994 by HYPERCHEM
C00000.0000 0 00000.0000 0 00000.0000 0 0 0 0H00001.0899 1 00000.0000 0 00000.0000 0 1 0 0
H00001.0899 1 00109.4710 1 00000.0000 0 1 2 0
H00001.0900 1 00109.4709 1 00119.9994 1 1 2 3
H00001.0900 1 00109.4714 1 00239.9997 1 1 2 30This Z-Matrix file includes four sections which are 1) Keywords or
Commands in the first line which tells the MOPAC program what
you want it to do. Here it is an empty line; 2) Comments (the second and third lines); 3) Internal coordinates (lines 4 to 8). Eachline defines one atom and contains all the information to define
the atom in the molecular system uniquely, such as the atomic
symbol or atomic number (word one), bond distance (word two),
to which atom it is bonded (word eight), whether or not to optimize the bond distance (word three, 0 to fix this bond distance and
1 to optimize it), bond angle (word four), to which two atoms thebond angle is formed (words eight and nine), whether or not to
optimize this bond angle (word five), torsion angle (word six), towhich three atoms this torsion angle is formed (words eight, nine,
and ten), and whether or not to optimize this torsion angle (wordseven); 4) A line with 0 (zero) or an empty line to end the molecular coordinate system.

200

Chapter 9FilesNMR Files
HyperNMR can store a molecular system from the workspace, plus
the current settings of conditions for computing NMR data, and/or
NMR results which have been computed, in an NMR file. This
information can be loaded and displayed by HyperNMR later.
The NMR files are text files. You can edit these files with any text
editor, like Windows Notepad or Write. If you use an editor that
can impose its own format, keep the NMR file in its original text
format. For example, with Windows Write, choose the No Conversion option when you open a NMR file.
An NMR file contains several sections. Each section may have several records, each on a separate line. Comment lines begin with asemicolon (;).
This is an example of an NMR file for a methane molecule with
NMR results:
BeginHIN
forcefield amber
sys 0view 40 0.7179181 55 15 0.9251873 -2.753075E-02 -0.3785107
0.2208629 0.8501284 0.4780181 0.3086225 -0.5258552 0.7926087
0.3136711 -0.4597336 -55
mol 1
atom 1 - C CT - 0 -0.4632772 0.4293783 -6.066945e-007 4 2 s 3s 4 s 5 s
atom 2 - H HC - 0 -0.4632772 1.519378 -6.066945e-007 1 1 s
atom 3 - H HC - 0 0.564386 0.06604892 -6.066945e-007 1 1 s
atom 4 - H HC - 0 -0.9771005 0.06604889 0.8899868 1 1 s
atom 5 - H HC - 0 -0.9771116 0.06604096 -0.8899783 1 1 s
endmol 1
EndHINNMRSelectionBegin5
mol 1 atom 1
mol 1 atom 2
mol 1 atom 3
mol 1 atom 4
mol 1 atom 5
NMRSelectionEnd
QuantumSelectionBegin
0

Reference

201

FilesQuantumSelectionEnd
EquivalentAtomsBegin
EquivalentSet 1
mol 1 atom 2
mol 1 atom 3
mol 1 atom 4
mol 1 atom 5
EquivalentAtomsEnd
LabelledAtomsBegin1
mol 1 atom 1
LabelledAtomsEnd
OptionsBegin
SemiEmpiricalMethod = TNDO2
TotalCharge = 0
SpinMultiplicity = 1
SCFConvergenceLimit = 0.01
SCFIterationLimit = 50
SCFAccelerateConvergence = No
LogPrintLevel = 0
ModifySlaterExponents = No
ComputeThreeCenterTerms = No
IncludeDOrbitalsForSecondRow = No
NMRFrequency = 100
CalculateShielding = Yes
CalculateShieldTensor = Yes
CalculateCoupling = Yes
OptionsEnd
NMRAtomicNumbersBegin
6 1 1 1 1
NMRAtomicNumbersEnd
ShieldingCouplingBegin
SHIELDING
49.457 22.07775 22.07775 22.07775 22.07775
TENSOR
49.4572 0.0004 0.0002 0.0008 49.4571 0.0022 0 -0.0022 49.4573
49.4554 49.4572 49.4591 49.4572 0.0027
15.4283 0 0 0.0001 35.3761 -0.0001 0 -0.0002 15.4283
15.4283 15.4283 35.3761 22.0776 19.9478
33.1597 -6.269 0 -6.2689 17.6445 0 0.0001 0 15.4282
15.4281 15.4281 35.3761 22.0775 19.9479
19.8609 3.1344 -7.6779 3.1343 17.6446 -5.429 -7.6778 -5.4291
28.7271

202

Chapter 9Files

15.4283 15.4283 35.3761 22.0776 19.9478
19.8612 3.1346 7.6779 3.1346 17.6449 5.4293 7.6778 5.4292
28.7267
15.4283 15.4283 35.3761 22.0776 19.9478
COUPLING
0 122.8563 122.8563 122.8563 122.8563
122.8563 0 -6.127 -6.127 -6.127
122.8563 -6.127 0 -6.127 -6.127
122.8563 -6.127 -6.127 0 -6.127
122.8563 -6.127 -6.127 -6.127 0
ShieldingCouplingEnd
SpectraBegin
7
FREQUENCY INTENSITY DEGENERACY LINEWIDTH
125.872 32 10 0248.728 32 10 01873054 1 1 0
1873177 4 4 0
1873300 6 6 0
1873423 4 4 01873546 1 1 0
SPECTRATYPE
1REFERENCESHIELDING
23.951 48.595 0 0 0 0
NMRATOMSWITHSPINHALF
5
SpectraEnd

For a description of the sections and records in this example andother possible records, see the following sections.

Molecular System:
This section begins with a keyword BeginHIN and ends withEndHIN and contains information of defining a molecular system.
o
The following records may appear in this section. ‘ ’ indicates anoptional record. Each record must begin on a separate line.

Syntax:o;<comment>
forcefield <force-field-name>
Reference203

Filesosys <temperature>oview <view-distance> <view-scale> <slab-distance> <slabthickness> <view-transform> ... <view-transform>obox <x> <y> <z>omol <mol #> <mol-name>ores <res#> <res-name> <PDB#> <previous-res#> <next-res#>atom <at#> <atom-name> <element> <type> <flags> <atcharge> <x> <y> <z> <cn> <nbor#-nbor-bond>1ovel <at#> <x> <y> <z>omass <at#> <mass>obasisset <at#> <basis set>
atom ...
ovel ...
omass ...
obasisset ...
atom ...
ovel ...
omass ...
obasisset ...
...
oendres <res#>endmol <mol#>

Description:; comment
Each line of comments must have a semicolon at the beginning of
the line. All the comment lines must be at the beginning of themolecular system (after the keyword BeginHIN).

1. This variable can be repeated up to 12 times.
204

Chapter 9Filesforcefield <force-field-name>
The force-field-name must be “amber” or “tndo” in order to run aHyperNMR calculation successfully. If you get the molecular system from a HyperChem workspace via File/Get HyperChem, HyperNMR will automatically switch the force field to AMBER in HyperChem before getting the molecular system. However, if a molecular system is imported from a HyperChem HIN file, the force fieldin this HIN file may not be AMBER, or if the molecular system isimported from a Z-Matrix file, it does not contain any force field
and atom types. Therefore, calculation or recalculation of atom
types is recommended via Edit/Calculate Atom Types in HyperNMR
before computing shielding and coupling.

sys <temperature>
This record gives the temperature of the molecular system indegrees Kelvin and is part of a HyperChem HIN file; it is ignored
by HyperNMR.

view <view-distance> <view-scale> <slab-distance><slab-thickness> <view-transform>
A view record gives instructions for transforming a 3D structure
into 2D space.
view-distance The distance, in angstroms, from the viewer to theorigin of the molecular system.
view-scale

The magnification factor.

slab-distanceThe distance, in angstroms, from the viewer to the
middle of the clipping slab.

slab-thickness The distance between the front and back clipping
planes, in angstroms.
viewtransform

These 12 fields describe a 3 by 4 viewing transformation matrix, with 4 rows and 3 columns. The
fields appear row by row. A fourth column, normally describing perspective, is not present.

Reference

205

Filesbox <x> <y> <z>
A box record reports the presence and x, y, and z dimensions of aperiodic box, in angstroms, in the molecular system.
This periodic box is an optional part of a HyperChem HIN file andis ignored by HyperNMR.

mol <mol#> <mol-name>
A mol record starts the description of each molecule in the molecular system. An endmol record must end each molecule.
mol#

The number of the molecule in the molecular system, starting with 1. The number reflects the orderof adding molecules to the system. Default is 1.

mol-name

Up to 19 characters describing a molecule.

res <res#> <res-name> <PDB#> <previous-res#><next-res#>This record describes amino-acid or nucleotide residues. It is an
optional part of a HyperChem HIN file and is ignored by HyperNMR.

atom <at#> <atom-name> <element> <type> <flags><at-charge> <x> <y> <z> <cn> <nbor# nbor-bond>An atom record starts the description of each atom in a molecule.

206

Chapter 9

at#

The number of an atom in a molecule, startingwith 1. Atom numbers are continuous through amolecule. A combination of atom number andmolecule number (see mol, above) uniquely identify an atom in a molecular system.

atom-name

This name (up to four characters) usually comesfrom a Brookhaven PDB or TPL file. It cannot contain spaces or quotes.

element

The chemical symbol (up to three characters) for
the described atom.

Filestype

The atom type (up to four characters) assigned bya force field to the described atom.

flags

Single letter codes that describe this atom. “-” indicates no flag. Multiple flags appear as one “word”,
without spaces. This field is not used by HyperNMR.

at-charge

The formal charge on the atom.

xyz

The coordinates of the atom in the Molecular
Coordinate System.

cn

The number of atoms covalently bonded to thisatom, or coordination number. cn is an integer
from 0 to 12.

nbor#
nbor-bondThis describes the bonded atoms and the type ofbond for each. nbor# and nbor-bond occur as apair of values. nbor# is the same as at# for bonded
atoms. nbor-bond is a bond type: s, d, t, or a, forsingle, double, triple, or aromatic (conjugated)bonds. This set of values, nbor# nbor-bond, repeats
to describe all bonded atoms (up to 12).

vel <at#> <x> <y> <z>This record gives the x, y, and z components of velocity for the
given atom # and is ignored by HyperNMR.

mass <at#> <mass>This record gives the mass of the given atom number, and isignored by HyperNMR.

basisset <at#> <basis set>This record gives the basis set that has been applied to the given
atom number for ab initio calculations in HyperChem. It is ignored
by HyperNMR.

endres <res#>An endres record appears after the last atom in each residue and isignored by HyperNMR.

Reference207

Filesendmol <mol#>An endmol record appears after the last atom in each molecule.
<mol#> is the number of the molecule in a molecular system,
starting with 1. The number reflects the order of adding molecules
to the system. Default = 1.

Selections:This section includes various selections: NMR atom selection,
quantum atom selection, equivalent atom selection, and labelledatom selection. Each of these selections begins and ends with special keywords.
The contents within each pair of keywords (NMRSelectionBegin
and NMRSelectionEnd, QuantumSelectionBegin and QuantumSelectionEnd, EquivalentAtomsBegin and EquivalentAtomsEnd, andLabelledAtomsBegin and LabelledAtomsEnd) define uniquely theatoms for the specific selection. The first record after the keyword...Begin is the total number # of the atoms in this selection, andthen the following # records contain the information on the atoms
in this selection. Each of these records gives one atom with<mol #>, the molecular index, and <atom ##>, the atom index.
The records for an equivalent atom selection are slightly different
from all other selections because a molecular system may containmore than one set of equivalent atoms. Therefore, the equivalentatom selection may include several sub-sections. Each of these subsections begins with a keyword, EquivalentSet #, and gives theinformation of the atoms in this equivalent set.
Furthermore, HyperNMR assumes that all the atoms in the molecular system are quantum atoms if there is no quantum atom selection (the first record after the keyword of QuantumSelectionBegincontains 0).
Note: Any single atom in a molecular system cannot be defined in
more than one set of equivalent atoms.

Options:
This section begins with a keyword OptionsBegin, ends with
OptionsEnd, and includes the following records.
SemiEmpiricalMethod=
TotalCharge=

208

Chapter 9FilesSpinMultiplicity=
SCFConvergenceLimit=
SCFIterationLimit=
SCFAccelerateConvergence=
LogPrintLevel=
ModifySlaterExponents=
ComputeThreeCenterTerms=
IncludeDOrbitalsForSecondRow=
NMRFrequency=
CalculateShielding=CalculateCoupling=
WeakCouplingApproximation=
CalculateShieldingTensor=
The possible values for all the above keywords are listed in the section “HyperNMR Default Settings” on page 187.

NMR Parameter
The NMR parameter section contains two sub-sections which are:
1. The first sub-section begins with the keyword of NMRAtomicNumbersBegin and ends with NMRAtomicNumbersEnd andcontains the atomic numbers of the NMR atoms. The single
record between these keywords consists of a list of space-separated integers, one for each NMR atom.
2. The sub-section beginning with the keyword ShieldingCouplingBegin and ending with ShieldingCouplingEnd gives theshielding constants and coupling constants. The first tworecords in this sub-section consist of the keyword SHIELDING,
followed by a record containing all the isotropic shielding constants. The next line is the keyword TENSOR, and then two
records for each NMR atom containing (i) the shielding tensor
and (ii) the eigenvalues, the isotropic shielding, and theanisotropy. Finally comes the keyword COUPLING, and arecord for each NMR atom containing the coupling constants.

NMR Spectrum
The NMR spectrum section beginning with the keyword of SpectraBegin and ending with SpectraEnd contains three sub-sections:
1. The first sub-section contains the NMR transitions, beginningwith an integer which shows the number of spectral lines. The
second record in this sub-section is four words, FREQUENCY,
Reference

209

FilesINTENSITY, DEGENERACY, and LINEWIDTH. The following
records define the details of the NMR spectrum.
2. This sub-section has two records and defines the current typeof NMR spectrum. The first record contains a word, SPECTRATYPE. The second record gives the type of the NMR spectrum and this type is expressed as an integer that is the atomic
number of the nucleus.
3. The third sub-section gives the shielding constants of thenuclei in the reference molecules and contains two records.
The first record in this sub-section is a word, REFERENCESHIELDING. The second records contains six values which
13
15
15
correspond to the shielding constants of proton, C, N, O,
19
31
F, and P in the reference molecules, respectively.

Log Files
HyperNMR stores the results of calculations in a log file if you
choose Start Log on the File menu. In the Start Log dialog box, you
can give the log file any file name and extension, but the extension.log is recommended. The amount of information shown in log
file depends on the LogPrintLevel set up in the NMR.INI file (seepage 189). The following table shows the information saved in thelog file when you run calculations of NMR properties.

210

Chapter 9Files

LogPrintLevel

Information saved in log file0, or greaterthan 4 and lessthan 10start conditions, such as: Convergence limit, Iteration limit, total number of electrons, total numberof orbitals, and total number of occupied orbitals
SCF results calculated with nmr_shft.abp: iteration
list, total energy, binding energy, isolated atomenergy, electronic energy, core-core interactionenergy, heat of formation, eigenvalues of molecularorbitals, atomic orbital electron populations, net
charge and coordinates of each atom, dipole
moments, perturbed SCF iteration list, shielding
constants and components
SCF results calculated with nmr_cupl.abp: iteration
list, total energy, binding energy, isolated atomenergy, electronic energy, core-core interactionenergy, heat of formation, eigenvalues of molecularorbitals, atomic orbital electron populations, net
charge and coordinates of each atom, dipole

1

All information when LogPrintLevel=0
SCF results with nmr_shft.abp:
final eigenvalues of molecular orbitals
final eigenvectors of molecular orbitals
SCF results with nmr_cupl.abp:
final eigenvalues of molecular orbitals
final eigenvectors of molecular orbitals

2

All information when LogPrintLevel=0
SCF results with nmr_shft.abp
final density matrix
SCF results with nmr_cupl.abp
final density matrix

3

All information when LogPrintLevel is 0, 1, and 2

Reference

211

LogPrintLevel

Information saved in log file4

All information when LogPrintLevel=0
SCF information with nmr_shft.abp
core Hamiltonian matrix
Fock matrix at each iteration
eigenvalues and vectors at each iteration
density matrix at each iteration
SCF information with nmr_cupl.abp
core Hamiltonian matrix
Fock matrix at each iteration
eigenvalues and vectors at each iteration
density matrix at each iteration212

Chapter 10
Scientific Background
Overview
Modern high field, multipulse Nuclear Magnetic Resonance(NMR) spectroscopy has proven to be an exceptionally powerful
technique for solving many types of problems in chemistry andbiochemistry. NMR spectroscopy, for example, allows chemists
and biochemists to study the structure and conformation of molecules such as peptides and proteins, with unprecedented detail.1-3
However, the problem of correct signal assignment and understanding the relationship between chemical shifts and molecular
structure can be very difficult. Theoretical prediction of NMR spectroscopy can be very helpful to chemists and biochemists.
The ab initio calculation of magnetic shielding constants has beenshown to be useful and accurate.1 However, ab initio calculations
are tedious and computationally time consuming, especially forlarge molecular systems. Traditional semi-empirical quantum
mechanical methods have attracted much attention and the methodology of semi-empirical quantum mechanics has improved tothe point that accurate and reliable predictions of chemical shifts
and nuclear spin coupling constants are possible.4-13
Semi-empirical quantum mechanical methods have become a useful tool for predicting many chemical properties, such as molecular structures and conformations, heats of formation, ionization
potentials and electron affinities. Semi-empirical methods are very
powerful and attractive to many chemists and biochemists,
because of simplicity and computational speed. In the past two
decades, semi-empirical methods have attracted many chemists
and biochemists for predicting chemical shifts and coupling constants for various molecular systems. However the conventionalsemi-empirical methods with traditional parameters, which areparameterized for giving good molecular structures and/or heats of213

Principles of Nuclear Magnetic Resonanceformation, have not been shown to give reliable chemical shifts,
although they may give reasonably good predictions for nuclear
spin-spin coupling constants. There are a lot of different parameter
sets for various semi-empirical methods in the literature. Unfortunately most semi-empirical parameter sets are only good for predicting chemical shifts for a certain set of molecules. Different setsof parameters have to be applied to different sets of molecules.
HyperNMR introduces a new methodology within the semi-empirical quantum mechanical approach, the Typed Neglect of Differential Overlap (TNDO) method, Version 1 (TNDO/1) and Version 2(TNDO/2) for computing chemical shifts. The semi-empiricalparameters for TNDO/1 and TNDO/2 have been reparameterizedprimarily to give acceptable chemical shifts and coupling constants. Preliminary values are shown at the end of this chapter.
This chapter includes the following:•

A general discussion of the principles of nuclear magnetic resonance, focusing on chemical shifts and coupling constants;•

A description of the new TNDO/1 and TNDO/2 semi-empiricalmethods and parameterization;•

Details for computing chemical shifts and coupling constants
within these two methods;•

A general introduction to the calculation of spin wave functions and transitions within spin states for a system of nuclear
spins.

Principles of Nuclear Magnetic Resonance
General Principles
NMR is a term used to describe the interaction between an oscillating magnetic field and certain types of nuclei positioned in a static
magnetic field. The static magnetic field splits the nuclear spinenergy levels, and the oscillating magnetic field induces transitions between these nuclear spin energy levels and produces the
NMR spectrum. The interaction can occur only if the magnetic
field is oscillating at specific frequencies which depend upon thestrength of the static magnetic field.

214

Chapter 10

Principles of Nuclear Magnetic ResonanceSuppose a magnetic field with a strength of B0 is applied to anucleus. For an isolated nucleus, B0 is just the magnitude of theapplied field. However for a nucleus in a molecule, the magnetic
field is due not only to the applied magnetic field, but also comesfrom the magnetic fields produced by the electrons and othernuclei.
All electrons have spin angular momentum and all but s-type electrons have orbital angular momentum; magnetic dipole moments
are associated with these angular momenta. However, in all but a
few molecules, the electronic ground states are nondegeneratewith all electron spins paired and there is no net electronic spin ororbital angular momentum. Hence, in the absence of an external
magnetic field, the electrons contribute nothing to the magnetic
field felt by a nucleus.
When an external magnetic field is applied, however, the electronic charge distribution is perturbed, introducing an electronic
contribution to the magnetic field (induced magnetic field) at thenucleus. This induced magnetic field, at the nucleus A, is opposite
in direction to the applied external magnetic field and is proportional to the magnitude of B0, according to Lenz’s law. So the magnitude of the magnetic field at nucleus A can be expressed as010

BA = B – BA = B ( 1 – σA )(6-1)

where the proportionality constant σ is called the shielding conA
stant (or the screening constant) for nucleus A.
The mechanism of spin-spin coupling is slightly more complicatedthan the shielding. Consider the hypothetical case where two protons H and H in a molecule are separated by a single bond andAB
are in markedly different chemical environments. In an appliedmagnetic field B0, the components of the magnetic moment of thenuclei in the field direction may either be parallel (mI = +½) or
antiparallel (mI = –½) to the applied field. The former case isreferred to as the α spin state and the latter as the β state. Whenthe nucleus is in a particular spin state the electrons are polarized
so that the adjacent electron spins are paired. If the proton H isA
in the α spin state then the two electron spins will be polarized asfollows:

Scientific Background215

Principles of Nuclear Magnetic Resonance

B0

α

HA

HB

Since the field associated with the electron adjacent to nucleus H
Bwill be in the same direction as the applied field B0, the nucleus
H will have an increased net field. When nucleus H is in the βBAspin state nucleus H will have a reduced net field. Conversely,Bdepending upon whether nucleus H is in the α or β spin state,Bnucleus H will experience an induced field supporting or opposA
ing the applied field. The overall result is that there are two values
for the total effective field sensed by nuclei H and H . This is theAB
nuclear spin coupling, J . The coupling interaction between theAB
nuclei is a molecular electronic effect; the magnitude of the coupling, i.e., the value of J, is not, in first order, affected by thestrength of the applied magnetic field B0.

Magnetic Shielding
The quantum mechanical treatment of magnetic shielding is discussed below.
The interaction of an external magnetic field B0 with a nuclear
magnetic moment µ A inside a molecule, as observed in nuclear
magnetic resonance, can be described by the Zeeman energychange,∆ E = –µ A ⋅ B(6-2)

where B is the effective magnetic field felt by the nuclear moment.
This effective magnetic field arises because the electrons are influenced by the external magnetic field and give rise to an induced
magnetic field at the site of the nucleus A,1

A 0

B j = – σ ij B i

216

Chapter 10(6-3)

Principles of Nuclear Magnetic Resonance

where σ A is called the shielding tensor of nucleus A. So the energychange because of the external magnetic field may be writtenA0∆ E = – µ A ⋅ B + µ A ⋅ σ̂ ⋅ B

0

(6-4)

where the first term describes the direct interaction between theexternal magnetic field and the nuclear moment and the second
term describes the electron coupled interaction which may be
written as a second-order energy change,2A– σ ij =0∂ E(B , µA )------------------------------0∂ B i ∂µ Aj µA = B 0 = 0(6-5)

arising from a consideration of the energy of a molecule in thepresence of an external magnetic field and a perturbing nuclear
moment µ A .
In the Hartree-Fock method, the electronic energy of a molecule in
the presence of the external magnetic field B0 and nuclear
moment µ A is given as the expectation value of the appropriate
Hamiltonian operator using a single determinant wave function.
In terms of the doubly occupied molecular orbitals ψ , this expresision isN⁄20

E( B , µ A) =ˆˆ

∑ 2 〈 ψi h ψi 〉 + 〈 ψi g ψi 〉
i=1

(6-6)

where the one-electron Hamiltonian operator, hˆ , is2e1hˆ = ------- – ih ∇ + -- A –c2m

atoms 2e Zk∑k ---------rk(6-7)

and the two-electron Hamiltonian operator, ĝ , isN⁄2

2 – P̂ 12ĝ = ∑ 〈 ψ j ( 2 ) ---------------- ψ j ( 2 )〉
r 12
j

(6-8)

In Equation (6-7), the vector potential A isµ A × rA
1 0
A = --- B × r + -----------------3
2
rA

(6-9)

Scientific Background217

Principles of Nuclear Magnetic Resonanceand is due to the uniform external magnetic field B0 and the magnetic moment of nucleus A, i.e., µ A . The number of electrons is N,
and Z is the charge of the kth nucleus. The vectors r and r are thekkdistance vectors to the electron from the arbitrary origin of thecoordinate system and nucleus k, respectively, and P̂ 12 is the permutation operator.
A common difficulty in the calculation of magnetic properties isthat the usual wave functions do not guarantee gauge invariance;i.e., in the simplest case, the results may depend on the position of
the molecule in the Cartesian coordinate frame.
There have been several methods proposed for computing magnetic shielding constants. Of those, only the so-called GaugeInvariant Atomic Orbitals (GIAO) method has been shown to be
independent of the choice of origin of the coordinate system.
With GIAO, the molecular orbitals, ψ , are still expressed as a lineari
combination of atomic orbitals (LCAO), φ , as in the Hartree-Fockµmethod, that is,mψi =∑µ cµi φµ(6-10)

where m is the total number of basis functions. But the atomic
orbitals (basis functions) used here are not the same as those usedin the ordinary Hartree-Fock method. The relationship between
the basis functions, φ µ , used in the GIAO method and the basis
0functions, φ µ , used in the ordinary Hartree-Fock method is0φµ = fµ φµ(6-11)

where f is the gauge factor defined asµie
f µ = exp  – ------ A µ ⋅ r µ , hc
(6-12)

the vector potential A µ is
1 0
A µ = --- B × R µ ,2(6-13)and vector R µ represents the distance vector from the arbitrary
origin of the molecular coordinate system to the atom on which
the basis function φ µ is located.
218

Chapter 10

Principles of Nuclear Magnetic Resonance

The total electronic energy expression of Equation (6-6) in the
LCAO approximation becomesN⁄2

E = ∑ c i [ 2H + G ] c i+(6-14)iwith the matrix elements of H and G being
H µν = 〈 φ µ hˆ φ ν〉

(6-15)

and
m

m

λ

σ

G µν = ∑ ∑ R λσ [ 2 ( µν λσ ) – ( µσ λν ) ] ,(6-16)

the two-electron integrals are( µν λσ ) =

1

*

*

∫ ∫ φµ ( 1 )φν ( 1 ) r------12- φλ ( 2 )φσ ( 2 ) d τ1 d τ2 ,(6-17)

and R is the first-order density matrix with its elements given byN⁄2

R λσ =∑ cλi cσi .
*(6-18)i

Substituting Equation (6-14) into Equation (6-5), using the Hellman-Feynman theorem, and remembering that the basis functions and two-electron terms in Equation (6-16) do not depend on
the nuclear magnetic moment, the (i, j) component of the shielding tensor of atom A can be expressed as
20∂ E (B , µ A )Adp
σ ij = -----------------------------= σ ij ( A ) + σ ij ( A )00∂ B i ∂µ Aj µA = B = 0(6-19)dwhere the diamagnetic contribution, σ ij ( A ) , and the paramagp
netic contributions, σ ij ( A ) , are2 ∂ H dσ ij ( A ) = 2 R ( 0 )  ---------------------0 ∂ B i ∂µ Aj  µ = B 0 = 0(6-20)

A

and

Scientific Background219

Principles of Nuclear Magnetic Resonance ∂R 
 ∂H 
p
σ ij ( A ) = 2  --------0- ----------- ∂ B i  µ = B0 = 0  ∂µ Aj µA = B 0 = 0(6-21)A

respectively, and R(0) is the density matrix without the presenceof the magnetic field (unperturbed density matrix). With Equations (6-7) and (6-11), the one-electron terms in Equation (6-15)
are
ie 0
ie 0
H µν = exp  – --------- B ⋅ R µ × R ν ∫ exp  – --------- B × R µν ⋅ r ν
 2hc

 2hc

2

2 atoms e Z
0 1 0e µ A × r A
e 0----------k- φ ν d τ× φ µ -------  – ih ∇ + ------ B × r ν + -- ------------------ –c r 3 
2c
2m 
r
k
k
A

∑

(6-22)

where R = R - R and the remaining quantities have been givenµνν µearlier. The origin-dependent term has been factored outside theintegral.
By using the usual London approximation (in the current case thisis equivalent to expanding the exponential inside the integral andkeeping only the first term), Equation (6-22) can be rewritten:

220

Chapter 10

Principles of Nuclear Magnetic Resonance


 0
ie 0


H µν = exp – --------- B ⋅ R µ × R ν  H µν
 2hc




(6-23)0 ieh
0- ( rν × ∇ )α φν+ ∑ B α φ µ – --------2mc
α0 ieh ( r × ∇ ) α 0- --------------------- φ ν+ ∑ µ Aα φ µ – --------2mc r 3αA

2 r r –r r0eν Aνα Aβ 0- φν+ ∑ ∑ µ Aα B β φ µ – ------------- ---------------------------------3
2
α β
rA
2mc



+ higher order terms with α, β = x, y, and z. The higher order terms in the above equation don’t make any contributions to the chemical shifts.
Setting the exponential appearing in front of the integral in Equation (6-23) to be one and substituting Equation (6-23) into Equations (6-20) and (6-21), the diamagnetic shielding becomes2de
σ ij ( A ) = --------2
mc µr ν ⋅ r δ ij – r νj r AiA- φν∑ ∑ν Rµν ( 0 ) φµ ----------------------------------------300(6-24)

rA

and the paramagnetic shielding isp2ieh
σ ij ( A ) = – ----------mc µ

0 (r × ∇) 0
 ∂ R µν
φ µ -------------------j φ ν- -----------30rAν  ∂B  0
i B =0∑∑(6-25)

with the summation over all the basis functions. These two equations give a full expression for the magnetic shielding tensor withthe unperturbed density matrix elements, R µν ( 0 ) , and the first0
derivative of the perturbed density matrix elements, ( ∂ R µν ⁄ ∂ B i ) ,and with the inclusion of one-center, two-center, and three-center
contributions.

Scientific Background221Principles of Nuclear Magnetic Resonance

Nuclear Spin Coupling
Field-independent splittings in the nuclear magnetic resonancespectra of liquids, arising from nuclear spin coupling, were discovered about four decades ago. The interaction energy between
nuclear spins was found to be expressible as
2π∆ E = ------ J AB I A ⋅ I B
h(6-26)

is a coupling constant (in cycles/sec) between nuclei A
where J
AB
and B having nuclear spin (in units of h ) of I and I , respectively.
B
A
is really a tensor, the experimentally observed
The coupling J
ABvalue for liquids being the average over all orientations of the rapidly tumbling molecules, and equal to one-third the trace of thetensor Jˆ AB . It is convenient to define a reduced coupling tensor
ˆK
AB such that Equation (6-26) can be rewritten asˆ ⋅µ∆E = µ A ⋅ K
AB
B(6-27)

ˆ
where K
AB is independent of the magnitude of the nuclear
moments µ A and µ B , and the relationship between the coupling
tensor and reduced coupling tensor is
2πˆK
AB = --------------Ĵ AB
h γA γB(6-28)

Equation (6-28) doesn’t include the direct dipole-dipole interaction between nuclear moments but describes the electron coupledinteraction and may be represented as the second-order energychange2∂ E (µ A, µ B)Kˆ  = ----------------------------- AB ij∂µ Ai µ Bj

(6-29)

arising from a consideration of the energy of a molecule in thepresence of two perturbing nuclear moments µ A and µ B .
To evaluate the nuclear-coupling energy mediated by the electronic system, it is necessary to treat those parts of the Hamiltonian which depend on µ A as a perturbation on the electronic system and carry the perturbation calculation to second order (formolecules in singlet ground states with no resultant orbital angular momentum, all first-order terms vanish). In Equation (6-7), allthese perturbation terms have been neglected because these terms

222

Chapter 10

Principles of Nuclear Magnetic Resonance

do not make any contributions to the magnetic shielding. Theydo, however, make contributions to the total energy of the molecular system and nuclear spin coupling.
The second-order terms are:1. Spin-Orbital interaction term, HSO, which involves the interaction of the electronic orbital motion with the nuclear magnetic moments.
2. Dipole-Dipole interaction term, HDD.
3. Fermi-Contact term, HFC, which involves the Fermi contact
interaction of the electron spins.
The corresponding Hamiltonians for these three terms are
ˆ ⋅µ
L
KA
A
ˆ SO = 2-----β--------------------H
∑
3
h∑
K A
r

(6-30)KA( ŝ K ⋅ r KA ) ( µ A ⋅ r KA ) ŝ K ⋅ µ A
ˆ DD = 2 β
3 ------------------------------------------------H- – ----------------∑
∑
5
3
K A
r KA
r KA

(6-31)and16 π
ˆ FC = --------βH∑ δ ( rKA ) ŝK ⋅ µ A
3 ∑K A(6-32)

ˆrespectively, where β is the Bohr magneton, L
KA is the operator forthe orbital angular momentum of electron K about nucleus A, andŝ K is the spin angular momentum operator for electron K. In Equations (6-30) – (6-32), the sums K and A are over all the electrons
and nuclei in the molecular system, respectively.
The most important term leading to a nuclear spin coupling is the
Fermi-contact Hamiltonian HFC. It has been shown using the Hellman-Feynman theorem that the second-order perturbation to theelectronic energy of the molecule due to the nuclear spins IA atnucleus A and IB at nucleus B can be expressed as

Scientific Background223

Principles of Nuclear Magnetic Resonance2∂ E (µ A, µ B)
K AB = -----------------------------∂µµA µ B(6-33)(1)∂ ( 〈 ψ ( µ A ) Ĥ B ψ ( µ A ) 〉 )
= 
∂µ 
µ =0
A

A

with
FC
∂ Ĥ B(1)
Ĥ B = -------------∂µµB(6-34)The molecular wave function is written in an unrestricted form:ψ = ( 2n! )
β

–½

α

α

ψ 1 ( 1 )α ( 1 ) … ψ n ( n )α ( n )(6-35)

β× ψ 1 ( n + 1 )β ( n + 1 ) … ψ n ( 2n )β ( 2n )(α)

Here the spatial molecular orbitals ψ i(β)

and ψ iare different(because of the spin operators in the Hamiltonian), but the total
number of the α electrons are still equal to the total number of β(1)electrons. With this wave function, the expectation value of Ĥ B
in Equation (6-33) reduces to
n

K AB

=

(1)

α

α

∑ ψi ( 1 )α ( 1 ) ĤB ψi ( 1 )α ( 1 )i=1(1)+ ψ βi ( 1 )β ( 1 ) Ĥ B ψ βi ( 1 )β ( 1 )
n

=

α

(1)

α

β

(6-36)ˆ(1)βψi ( 1 ) ˆB ψi ( 1 ) – ψi ( 1 ) B ψi ( 1 )
∑
i=1

where
ˆ ( 1 ) = 8-----π- βδ ( r )BB
3(6-37)The molecular orbitals, ψ , are still expressed as a linear combinai
tion of atomic orbitals (LCAO), φ , as in the ordinary Hartree-Fockνmethod. That is,

224

Chapter 10

Typed Neglect of Differential Overlap Method

α
ψi =

m

∑ν

α
c νi φ ν

and

β
ψi =

m

β

∑ν cνi φν(6-38)

Then Equation (6-36) becomes(1)Ψ ( µ A ) Ĥ B Ψ ( µ A ) =
α

α

β

ˆ(1)

( P µν – P µν ) Bµν∑µν(6-39)

βwhere P µν and P µν are the density matrix elements of the α andβ electrons respectively for the perturbed system and the Hamiltonian matrix element isˆ(1) =Bµν(1)

φµ ˆ B φν

(6-40)

Substituting Equation (6-39) into Equation (6-33), the reduced
coupling tensor can be written as(1)

ˆ ( 1 ) ∂ρ µνK AB = ∑ Bµν -----------∂µµAµν(6-41)µA = 0where the reduced spin density matrix is
(1)

α

β

ρ µν = P µν – P µν

(6-42)and is due to the Fermi-contact perturbation.

Typed Neglect of Differential Overlap Method
The conventional semi-empirical quantum mechanical methods
have been very well tested by many scientists and are widely used
for modeling and simulating molecular systems. They have beenquite satisfactory to most chemists and biochemists in many situations. However semi-empirical methods with traditional parameters have been shown to give magnetic shielding constants thatcompare poorly with experimental data.
To improve on calculated magnetic shielding constants andnuclear spin coupling constants, HyperNMR uses two new semiempirical methods. Preliminary parameterization has been performed and the new methods show considerable improvement for

Scientific Background225

Typed Neglect of Differential Overlap Method

computing chemical shifts in particular. Parameters for spin-spin
coupling have not been revised.
In order to introduce the HyperNMR semi-empirical methods, a
simple overview of the conventional semi-empirical methods is
given in this section, and then the new methods and parameterization are introduced and discussed.

Conventional Semi-Empirical Methods
The conventional semi-empirical Self-Consistent-Field (SCF)
Molecular Orbital (MO) procedures available for predicting themolecular energetic and structural features have attempted to provide theoretical frameworks which are simple and inexpensivefrom the computational point of view and at the same time arereliable and accurate enough to be of chemical utility. They arebased on integral approximations which simplify drastically the
LCAO SCF MO treatment for molecules and they employ adjustable parameters in order to enhance the accuracy of prediction.
The literature contains two main groups of semi-empirical SCF MO
procedures. They have been very well parameterized for predicting
molecular energetic and structural properties and are widely usedby chemists and biochemists. The first group is based on the
Neglect of Differential Overlap (NDO) approximation, such as
Pople’s14 CNDO (Complete Neglect of Differential Overlap) and
INDO (Intermediate Neglect of Differential Overlap), Zerner’s15
ZINDO/1 (Zerner’s non-spectroscopic version of the Intermediate
Neglect of Differential Overlap) and ZINDO/S (Zerner’s spectroscopic version of the Intermediate Neglect of Differential Overlap),
Dewar’s16 MINDO (Modified Intermediate Neglect of Differential
Overlap), and Jug’s17 SINDO1 (Symmetrically orthogonalized
INDO). The second main group is based on the Neglect ofDiatomic Differential Overlap (NDDO) approximation, such as
Dewar’s18,19 MNDO (Modified Neglect of Diatomic Overlap) andAM1 (Austin Model 1) and Stewart’s20 PM3 (a reparameterizationof AM1). The NDDO methods are slightly more complicated andgive better energetic results than the NDO methods. The following
two sections will review the NDO and NDDO mathematical
approximations.

NDO
The NDO group comes from the basic approximation

226

Chapter 10

Typed Neglect of Differential Overlap Method
A

1

B

C

D

∫ ∫ φµ ( 1 )φν ( 1 ) r------12- φλ ( 2 )φσ ( 2 ) dτ1 dτ2≈ δ AB δ CD

∫∫

A
A
C
1 C
φ µ ( 1 )φ ν ( 1 ) ------- φ λ ( 2 )φ σ ( 2 ) dτ 1 dτ 2
r 12

(6-43)

where
δ

AB

 1
= 
 0

if A = B ;if A ≠ B .

(6-44)

Further approximations must be made in the NDO scheme forcomputing the right-hand side of Equation (6-43). However different approximations may still be made in the NDO group. For
example, Equation (6-43) reduces to
A

B

1

C

D

∫ ∫ φµ ( 1 )φν ( 1 ) r------12- φλ ( 2 )φσ ( 2 ) dτ1 dτ2≈δ

AB CD µν λσ∫ ∫ φµ ( 1 )φµ ( 1 ) r------12- φλ ( 2 )φλ ( 2 ) dτ1 dτ2≈δ

AB CD µν λσ∫ ∫ [ φs ( 1 ) ] r------12- [ φs ( 2 ) ] dτ1 dτ2

δ
δ

δ
δ

δ
δ

A

A

A

2 1

1

C

C

C

2

(6-45)

in the CNDO method. The resultant Fock matrix elements in the
CNDO method are1
F µµ = U µµ +  P AA – --- P µµ γ AA +
2

∑ ( PBB – ZB )γABB( ≠ A)(6-46)
for the diagonal terms with µ on atom A and01
F µν = β AB S µν – --- P µν γ AB
2(6-47)

for the off-diagonal terms with µ ≠ ν (µ and ν may or may not beon the same atom). In Equations (6-46) and (6-47), U, P, and S are
the one-center one-electron part of the core Hamiltonian, thevalence electron density matrix, and the overlap matrix, respec0

tively. β AB is the bonding parameter between atoms A and B. The
Coulomb integrals are

Scientific Background227

Typed Neglect of Differential Overlap Method

γ AB =

A

2 1

B

2

∫ ∫ [ φs ( 1 ) ] r------12- [ φs ( 2 ) ] dτ1 dτ2(6-48)and involve only the two-center two-electron integrals for s-orbitals.

NDDO
The NDDO approximation neglects differential overlap only foratomic orbitals on different atoms. The principal extra feature at
this level of approximation is the retention of dipole-dipole interactions, since the integrals of type
A
A
B
1 B
∫ ∫ φs ( 1 )φp ( 2 ) r------12- φs ( 1 )φp ( 2 ) dτ1 dτ2 , which are roughly propor3

tional to 1 ⁄ r 12 , are included. These integrals may be computed
directly from the atomic orbitals or chosen empirically. The Fockmatrix elements in the NDDO approximation are

F µν = H µν +BAB ( ≠ A ) λ ,σ

λ ,σ

∑

1
∑ Pλσ ( µν λσ ) – --2- ∑ Pλσ ( µν λσ )(6-49)

with µ, ν on atom A andA B

1
F µν = H µν – --- ∑ ∑ P λσ ( µν λσ )2(6-50)

λ σwith µ on atom A and ν on atom B. In Equations (6-49) and (6-50),
H µν are the matrix elements of the core Hamiltonian.

Typed Semi-Empirical Methods
As shown in the literature, the conventional semi-empirical SCF
MO methods with the original parameters give poor magnetic
shielding results, but reparameterization greatly improves the calculated results. However, the largest shortcoming of the conventional semi-empirical theories with these new parameters is thefact that although one set of parameters may be good for reproducing one class of chemical property, reparameterization to reproduce a second class may void the ability to apply the theory to thefirst. HyperNMR proposes two new semi-empirical methods,
228

Chapter 10

Typed Neglect of Differential Overlap Method

Typed Neglect of Differential Overlap (TNDO), Version 1(TNDO/1) and Version 2 (TNDO/2), and introduces a set of parameters specifically reproduce magnetic shielding constants and spinspin coupling constants.
The basic idea of the TNDO/1 and TNDO/2 methods is to allow different parameters for different chemical environments by using
atom types, instead of elements as in the conventional semi-empirical SCF MO methods. In the conventional semi-empirical methods, each element is treated as unique. This means that there is, forinstance, only one carbon rather than many carbons, such as sp3
carbon, sp2 carbon, sp carbon, and aromatic carbon. Such classification of atom types (with different chemical environments) isused in molecular mechanics methods. The conventional semiempirical methods try to apply Hartree-Fock SCF theory and various approximations to distinguish differences in chemical properties of elements in different environments. Actually, the conventional semi-empirical methods have generally reached this goal forenergetic and structural properties of molecules, but fail in reaching this goal for calculating the magnetic properties of molecules.
Hence HyperNMR uses atom types instead of atomic number todistinguish elements in different environments. HyperNMR introduces different parameters for different atom types such as sp3 andsp2 carbon atoms.
The current version of HyperNMR introduces TNDO/1 andTNDO/2, which are described below:

TNDO/1The TNDO/1 method comes from applying the idea of atom types
to Pople’s CNDO method. Standard Hartree-Fock methodology isused in TNDO/1; the conventional semi-empirical Roothaan equations are solved within the CNDO approximation,
Fc i = c i ε i(6-51)

where F is the Fock matrix, and c and ε are the eigenvector andiieigenvalue of the ith molecular orbital, respectively.
The Fock matrix elements are given byTTTT
1
F µµ = U µµ +  P AA – --- P µµ γ AA +
2

∑ ( PBB – ZB )γAB
B(≠A)

TT′

(6-52)

with µ on atom A for the diagonal elements andScientific Background229

Typed Neglect of Differential Overlap Method
TT′ TT′ 1
TT′F µν = β AB S µν – --- P µν γ AB
2(6-53)

with µ ≠ ν (µ and ν may or may not be on the same atom) for theoff-diagonal elements. In Equations (6-52) and (6-53), UTT, P, and
STT’ are the one-center one-electron part of the core Hamiltonian,
the valence electron density matrix, and the overlap matrix,
respectively. β TT′ is the bond parameter between atoms A withAB

TT′

type T and B with type T'. γ AB is the s-orbital Coulomb integral
between atoms A and B. The matrix U is
TT
T
1 T
1 TT
U µµ = – --- ( I µ + A µ ) –  Z A – --- γ AB22

(6-54)

T

T

where the ionization potential is I µ and electron affinity is A µ fororbital µ of atom A with atom type T. The density matrix andbonding parameters areoccu

P µν =∑ cµi cνi(6-55)

i=1

TT′
T′
K T
β AB = ---- ( β A + β B )2(6-56)
T

T′

with bonding parameters β A and β B for atom A with atom type T
and atom B with type T’. The Coulomb integral matrix is
TT′

γ AB =

A

2 1

B

2

∫ ∫ [ φs ( T, 1 ) ] r------12- [ φs ( T ′, 2 ) ] dτ1 dτ2(6-57)In Equation (6-56), the constant K is 0.75 for the second long row
elements and 1 for all other elements.
Equation (6-51) with Equations (6-54) – (6-57) is solved self-consistently until the required accuracy of the wave function is satisfied.

TNDO/2The TNDO/1 method discussed in the previous section introduces
electron-electron interaction in the simplest manner. It does notmake adequate allowance, however, for the different interactions
230

Chapter 10

Typed Neglect of Differential Overlap Methodthat actually take place between two electrons with parallel or
antiparallel spins, particularly if they are on the same atom. Hencea TNDO/2 method is proposed by applying the idea of atom types
to Pople’s INDO method which retains monatomic differential
overlap, but only in one-center integrals. This is a less approximate
method than TNDO/1, but is not as accurate a theory as one which
retains monatomic differential overlap completely (NDDO).
TNDO/1 and TNDO/2 are very closely related. The general expressions for the unrestricted Fock matrix elements areαAα

F µµ = U µµ + ∑ [ P λλ ( µµ λλ ) – P λλ ( µλ µλ ) ]TT(6-58)λ∑ ( PBB – ZB )γAB
B(≠A)

TT′

+

for the diagonal elements with µ on atom A andααα

F µµ = ( 2P µν – P µν ) ( µν µν ) – P µν ( µµ νν )(6-59)

for the off-diagonal elements with µ, ν on atom A, but µ ≠ ν andT′ TT′α
α TT′
K T
F µν = ---- ( β A + β B ) S µν – P µν γ AB
2(6-60)

for the off-diagonal elements with µ on atom A and ν on atom B.
Similar expressions can be developed for the β electrons.
Comparing the Fock matrix elements in Equations (6-58) – (6-60)
in TNDO/2 with those in Equations (6-52) and (6-53) in TNDO/1,
it can be seen that the extra terms in TNDO/2 are the one-center
two-electron integrals. They are (µµ|µµ), (µµ|νν), and (µν|µν) withµ≠ ν.
Using the Slater-Condon notation, these integrals are0( ss ss ) = ( ss xx ) = F = γ AA

(6-61)

1 1( sx sx ) = --- G3(6-62)

3 2( xy xy ) = ------ F
25(6-63)

Scientific Background231

Typed Neglect of Differential Overlap Method0
4 2( xx xx ) = F + ------ F
25(6-64)

02 2( xx yy ) = F – ------ F
25(6-65)and similar expressions for (ss|zz), etc. In HyperNMR, the values
for F2 and G1 are chosen empirically and the integrals F0 are calculated theoretically from Slater atomic orbitals as in INDO. F0 may
thus depend on the atom types if the Slater exponents are different
for different types of the same atom.
The expression for the monatomic core integrals, U , in TNDO/2µµdiffer from those in TNDO/1 because of the inclusion of the monatomic one-center two-electron integrals in TNDO/2. From theenergy expression for the average state of X associated with theconfiguration (smpn)
m n

E ( X, s p ) = mU ss + nU pp
0 1
1
2
1
1
+ --- ( m + n ) ( m + n – 1 ) F – --- mnG – ------ n ( n – 1 ) F
25
2
6(6-66)

the following relations between the orbital electronegativities andthe monatomic core integrals, U , are obtained.
µµ
Hydrogen:T
1 0
1 T
U ss = – --- ( I s + A s ) – --- F2
2(6-67)

Lithium:T
1 0
1 T
U ss = – --- ( I s + A s ) – --- F2
2(6-68)

T
1 0 1 1
1 T
U pp = – --- ( I p + A p ) – --- F + ------ G2
122(6-69)

Beryllium:

232

Chapter 10T
3 0 1 1
1 T
U ss = – --- ( I s + A s ) – --- F + ------ G2
122(6-70)

T
3 0 1 1
1 T
U pp = – --- ( I p + A p ) – --- F + --- G
2
4
2(6-71)

Typed Neglect of Differential Overlap Method

Boron to fluorine:
1
0 1
T
1 T
U ss = – --- ( I s + A s ) –  Z A – 1--- F + ---  Z A – 3--- G




6
2
2
2

(6-72)T
1 T
1 0 1 1 2
5 2
U pp = – --- ( I p + A p ) –  Z A – --- F + --- G + ------  Z A – --- F

3
2
25 
2
2

(6-73)
T

T

where ZA is the effective core charge of atom A and I s ( p ) and A s ( p )are the ionization potential and electron affinity of orbital s (p)with atom type of T. The one-center two-electron integrals F0 are
calculated ab initio based on the Slater orbitals and F2 and G1 arechosen empirically.
For second long row elements (atomic numbers from 11 to 18),
HyperNMR treats their monatomic core integrals the same as usedin the QCPE program,21 that is,
T
1 0
1 T
U ss = – --- ( I s + A s ) – --- F2
2(6-74)

T
1 0
1 T
U pp = – --- ( I p + A p ) – --- F
2
2(6-75)TNDO Perturbation Theory of Magnetic Shielding
Constants
Equations (6-19), (6-24), and (6-25) give the basic equations forcomputing magnetic shielding. However, care must be taken to
ensure that H remains Hermitian.
In the TNDO approximation, all the integrals in equation (6-23)
00

are zero if φ µ and φ ν are centered on different atoms, with the0

exception of H µν . Although this approximation is somewhat drastic, it is consistent with all the previous approximations made in
TNDO. Furthermore, this approximation restores the Hermitian
property of H. With this approximation, the component of theshielding tensor, Equation (6-19), can be rewritten as

Scientific Background233

Typed Neglect of Differential Overlap Method

A

d

atoms

∑ [ σij ( A, B ) + σij ( A, B ) ]p

σ ij = σ ij ( A ) + σ ij ( A ) +dp(6-76)

dp

B

with the expressions for the one-center terms, σ ij ( A ) and σ ij ( A ) ,
being
2 A A
0 r ν r A δ ij – r νi r Aj 0deφν
R µν ( 0 ) φ µ -------------------------------------σ ij ( A ) = --------32
rmc µ ν
A(6-77)

r × ∇ )α 0
 ∂ R µν φ 0 (-------------------p
i2eh
- φν
µ
σ ij ( A ) = – ---------- -----------
3
mc µ ν  ∂ B 0 rA
i 0(6-78)

∑∑

and
A A

∑∑

d

p

and the two-center terms, σ ij ( A, B ) and σ ij ( A, B ) ,2 B B
0 r ν r A δ ij – r νi r Aj 0deφν
R µν ( 0 ) φ µ -------------------------------------σ ij ( A, B ) = --------32
rmc µ ν
A∑∑(6-79)
andr × ∇ )α 0
 ∂ R µν φ 0 (-------------------p
i2eh
- φν
µ
σ ij ( A, B ) = – ---------- -----------
3
mc µ ν  ∂ B 0 
rA
i 0
B B

∑∑

(6-80)The derivative of the perturbed density matrix, R with respect to acomponent of B is computed numerically4 by a single differenceiR µν
 ∂ R µν- ≈ i ------- -----------0
 ∂ B0 Bi 0ir(6-81)iwith R µν = R µν + R µν where the fact that only the imaginary
component of R will contribute to the derivative has been used.
(1)( 1, r )The perturbed Fock Matrix, F µν = F µν

standing for the real and imaginary parts, is234

Chapter 10( 1, i )+ iF µν, with r and i

Typed Neglect of Differential Overlap Method( 1, r )F µµ( 1, i )= F µµ(6-82)= 0

for the one-center terms where basis function µ is taken to be centered on atom A and( 1, r )F µν( 1, i )F µν( 1, r )= G µν

(6-83)

00( 1, i )eh= – ----------B ⋅ ∫ φ µ ( r ν × ∇ )φ ν dτ + G µν
2mc

(6-84)

where µ ≠ ν , but both are still centered on the same atom A. The
two-center terms are( 1, r )T T
e
1 T= cos  --------- B ⋅ R µ × R ν --- ( β µ + β ν ) S µν
 2hc
2

(6-85)( 1, i )T T
e
1 T= sin  --------- B ⋅ R µ × R ν --- ( β µ + β ν ) S µν
 2hc
2

(6-86)F µν

F µν

where µ ≠ ν . These equations are the same in both TNDO/1 andTNDO/2. In Equations (6-83) and (6-84) the G matrix elements are( 1, r )G µν( 1, i )G µνr= – R µν Fi

= R µν F

0(6-87)

0(6-88)

for TNDO/1 and( 1, r )G sp

α( 1, i )

G sp

α

1

r

0

= R sp ( G – F )(6-89)

0 1 1i= R sp  F – --- G α3 (6-90)

α( 1, r )0
r
11 2
G p p = R p p  ------ F – F α βα β  25

(6-91)( 1, i )0 1 2
iG p p = R p p  F – --- F 
α β
α β
5 

(6-92)

for TNDO/2. The index s stands for the s orbital and p and p areαβ
two of the p orbitals (p , p , and p ).
z
x yScientific Background235

Typed Neglect of Differential Overlap Method

TNDO Perturbation Theory of Nuclear Spin Coupling
Constants
Equations (6-40) – (6-42) give the basic equations for computing
the reduced constants of nuclear spin-spin coupling. For a closedshell molecule, the density matrices of the alpha electrons andbeta electrons will be symmetric, i.e.,αβ(6-93)P µν = – P µν
Thus Equation (6-42) can be rewritten as(1)αρ µν = 2P µν(6-94)In the finite perturbation theory, the first derivative of the per(1)turbed spin density at the nucleus, ρ µν , in Equation (6-41) can becalculated numerically by finite differences. That is,

K AB

(1)
B ( 1 ) ρ µν ( h B )= ∑ µν
µ, ν(6-95)--------------------hB

where hB is a small value perturbing the system in order to calculate the perturbed wave function Ψ ( h B ) . Substituting Equations(6-37) and (6-40) into Equation (6-95) and using the basic approximation in TNDO, the reduced spin-spin coupling constantbecomes(1)8 π ρ sA ( hB ) 2- β --------------------- s B ( 0 )K AB = ----hB
3(6-96)

2

where s B ( 0 ) is the density of the valence shell s-electron at nucleus
B.
In the TNDO approximation, Equation (6-40) contains only the
one-center contribution, so that the only non-zero element of isthat involving the valence s orbital on atom B. This is given by
B(1)
8π 2
- βs (0)s B s B = ----3 B(6-97)(1)

Hence the perturbation of the Hamiltonian Matrix, H µν , due tothe presence of the Fermi-contact nuclear spin coupling is given by
236

Chapter 10

Typed Neglect of Differential Overlap Method
α(1)
8π 2
H s s = + ------ β s B ( 0 ), for the α electrons, and
B B
3
β(1)
8π 2
H s s = – ------ β s B ( 0 ), for the β electrons
B B
3(6-98)

In practice it is more convenient to setα(1)H s s = +h B, for the α electrons, and
B B

β(1)

(6-99)

H s s = – h B, for the β electrons
B B

And comparing Equations (6-98) and (6-99), it is easy to see that
8π 2
h B = ------ β s B ( 0 )3(6-100)So the expression of the reduced coupling constant now becomes(1)ρs ( hB )2A 8 π- β s 2 ( 0 ) s 2 ( 0 ) -------------------K AB =  ----Bh
3  A(6-101)B

In the TNDO approximation, only the valence electrons areincluded in the SCF MO calculation and the atom’s core electrons
are treated as a point charge at the corresponding nucleus. With
Slater-type orbitals (STOs), the densities of the valence shell s-electrons at a nucleus are zero for all the elements except for hydrogen.
Hence, empirical values of the s-orbital densities at the nucleus areneeded for computing spin coupling constants.

Self-Consistent Perturbation Theory
Commonly, a finite perturbation form of Hartree-Fock SCF MO
theory is used for solving the perturbed Hartree-Fock equations, inorder to produce the perturbed wave functions for the magnetic
shielding and spin coupling constants. It is, however, computationally time-consuming. A complex Hartree-Fock equation needs
to be solved in order to get the imaginary part of the perturbed
wave function for magnetic shielding and for the spin coupling
constants a set of perturbed Hartree-Fock equations needs to besolved for each nuclear spin.
In 1971, Santry5 and coworkers introduced a self-consistent perturbation theory for computing nuclear spin coupling constants.
Scientific Background237

Typed Neglect of Differential Overlap Method

It has been shown that their self-consistent theory is more efficientthan a finite perturbation form of Hartree-Fock SCF MO theory.
Thus HyperNMR uses the computational approach of Santry et al.
for nuclear spin coupling constants and extends their approach tomagnetic shielding. This avoids solving the perturbed HartreeFock equations repeatedly and the computational efficiency ismuch better than for other methods.
In Santry’s self-consistent perturbation theory, the perturbed(1)eigenvectors, c i(i = 1, 2, ..., N/2) are computed directly from the(0)unperturbed eigenvectors, c j(j = 1, 2, ..., M; where M is the total

number of molecular orbitals) using matrix multiplication rather
than matrix diagonalization.
As discussed above, the presence of the external magnetic field or
the Fermi-contact Hamiltonian is a small perturbation to theunperturbed Hamiltonian. The perturbation can be treated using
standard perturbation theory. In the standard perturbation theory,
the wave function up to the first order perturbation is(0)ψj = ψj(1)+ ψj(6-102)

with
(1)

ψj

unoccupied

∑i

=

(1)

F ij
(0)
-----------------------ψ
(0)
(0) j
εj – εi(6-103)(0)

where j applies to the occupied orbitals only, ε j(1)turbed eigenvalue of the ith MO, and F ij

is the unper-

is the first-order change

in the Fock Matrix due to the perturbation being considered, that
is
(1)

F ij

(0)

= 〈 ψi

F̂

(1)

(0)

(0)

ψj 〉 = 〈 ψi

Ĥ

(1)

ˆ
+G

(1)

(0)

ψj 〉

(6-104)

By using the LCAO approximation, Equation (6-104) becomes
(1)

F ij

238

Chapter 10( 0 )T ( 1 ) ( 0 )
F cj

= ci

(6-105)

Typed Neglect of Differential Overlap Method
1)(0)with F (µν= 〈 φ µ F̂

(1)

(0)

(1). The matrix

φ ν 〉 being elements of F

expression of Equation (6-103) is
(1)
cj =

unoccupied

∑
i

(0)

where c j

( 0 ) ( 0 )Tci ci
(1) (0)----------------------- F cj
(0)(0)
εj – εi( 0 )Tis a column vector, c i(1)

M × M matrix and a function of c j

a row vector, and F(6-106)(1)

is an. These equations are solved

self-consistently.
unoccupied

Santry noticed that∑i( 0 ) ( 0 )Tci ci----------------------- in Equation (6-106) is(0)(0)
εj – εiindependent of the perturbation and therefore needs not be recalculated each iteration during the process of solving Equation(6-106) self-consistently. However, the N/2 matrices ofunoccupied∑i( 0 ) ( 0 )Tci ci----------------------- , each with size of M × M have to be computed(0)(0)
εj – εiand stored before the self-consistent calculation. The storage ofthese matrices is O( M3 ) (M is the total number of orbitals). The
computation may be impossible for large molecular systems if
main memory is used. It may be very slow if disk storage is usedbecause of the relatively slow rate of retrieving data from disk.
HyperNMR applies a new algorithm rather than using the algorithm suggested by Santry. Because of the association property, thematrix multiplications in Equation (6-106) may be carried out
backwards from the right to the left. If the matrix multiplication isdone in this way, then the last matrix multiplication in Equation(6-106) isF1(1) (0)cj = Aj(6-107)1which requires only M × M steps of multiplication. The matrix A j
is a one-column matrix and can be stored with O( M ) computer
memory before doing the summation in Equation (6-106). The
second matrix multiplication

Scientific Background239

Typed Neglect of Differential Overlap Method2( 0 )T ( 1 ) ( 0 )( 0 )T ( 1 ) ( 0 )( 0 )T 1
F c j = c i ( F c j ) = c i A j = A ij

ci

(6-108)2

takes M steps of multiplication and leads to a scalar value A ij
which can be stored for each unoccupied MO with O( M ) memory.
The first matrix multiplication in Equation (6-106) now becomesa one-column vector multiplying a scalar value(0) (0)

ci ci

t

F

t
(1) (0)(1) (0)(0) (0)cj = ci ci ( F cj )2 (0)= A ij c i(6-109)and takes only M steps of multiplication. Thus the total number ofsteps of multiplication taken by Equation (6-106) in each iteration
is about M3 (equivalent to two M × M matrix multiplications) andthe extra memory is only about O( 2M ). Therefore this new algorithm should be faster and more efficient than the original algorithm used by Santry and coworkers.
From Equations (6-102) and (6-103), the first-order change to theunperturbed density matrix is, therefore,
(1)

N⁄2

( 1 )* ( 0 )( 0 )* ( 1 )P µν = ∑ ( c µi c νi + c µi c νi )(6-110)i

for spin coupling constants andN⁄2( 1 )* ( 0 )( 0 )* ( 1 )R µν = ∑ ( c µi c νi – c µi c νi )i

(6-111)i

for magnetic shielding.

Parameterization
As discussed above, reparameterization is essential for the semiempirical quantum mechanical methods to predict good chemical
shifts. Furthermore, because TNDO introduces atom types, there
may be several types for each element in order to reproduce chemical shifts, and the empirical parameters may not be the same forthe different types within the same element.
The types and rules for assigning them are kept in two text files.
The first file, NMR.TXT, lists the types and their masses and the240

Chapter 10

Typed Neglect of Differential Overlap Method

second file, NMR.RUL, defines rules for HyperNMR to assign types
to atoms in molecular systems. You can edit and modify the type
list and rules. The initial names and definitions of atom types arederived from the AMBER method of molecular mechanics.
The magnetic shielding property derives from all the electrons ina molecular system. This means that contributions to the magnetic
shielding come not only from the valence electrons, but also fromthe core electrons and valence-core electron interaction. However
within the NDO and NDDO approximations, the effective nucleus
includes the core electron contribution and core electrons are notincluded explicitly in the SCF calculation. Thus it is not possible toget the absolute value of magnetic shielding for molecules within
the NDO and NDDO approximation. However the shielding contributed from the core electrons in different molecules is not likely
to be very system dependent. Thus the relative values of the magnetic shielding, i.e., the chemical shift, are reproducible within an
all-valence electron SCF calculation.
A preliminary parameterization has been performed for TNDO/2
chemical shifts. The Slater orbital exponents, ςs and ςp, are takenfrom Slater rules and the Slater-Condon parameters, F2 and G1, arefrom the conventional INDO method. The ionization potentials,
T

T

T

T

I s and I p , electron affinities, A s and A p , and bond parameters,
βT, are reparameterized by fitting the chemical shifts to the experimental data in terms of a least squares fit. For example, the first
reparameterization was done for a sp3 carbon with the type CT andthree hydrogens attached to this carbon, as shown below:

HC

CT
R

HC
HC

Scientific Background241Typed Neglect of Differential Overlap Method

In the above figure, R stands for a hydrogen or a methyl group. A
massive calculation of chemical shifts for several molecular systems was carried out by varying the ionization potentials and electron affinities of s and p atomic orbitals and by varying the bondparameters for each type. The parameters for CT and HC were
determined by comparing the calculated chemical shifts with thecorresponding experimental values in terms of a least squares fit.
Having once acquired parameters for CT and HC, the parametersfor HC were then used in sp2 systems with the new atom type CX:

HC

CX

R

HC
A massive calculation of chemical shifts for several molecular systems was done again by varying the parameters of CX. The parameters for CX were then determined by comparing the calculated
chemical shifts with the corresponding experimental data in termsof a least squares fit. This approach has been used for generating
the empirical parameters for chemical shift calculation.

Calculation of Chemical Shifts
Tests have been performed using the preliminary parameterizedparameters. The following tables list the calculated chemical shifts
compared with experimental results and other calculations.

242

Chapter 10

Typed Neglect of Differential Overlap Method

Table 5-1

13
C Chemical shifts (in ppm) in some hydrocarbons (relative tomethane)a

MoleculeExp.

HyperNMR

Other

Methane
CH4

CH4

0

0

0

Ethane
C2H6

CH3

-8

-10.5

14.4

Propane
CH3CH2CH3

CH3
CH2

-17.7
-18.2

-17.9
-18.1

12.2
30.5

n-Butane
CH3(CH2)2CH3

CH3
CH2

-15.3
-27.1

-17.4
-25.3

11.6
28.0

n-Pentane
CH3(CH2)3CH3

CH3
CH2(end)
CH2(cen)

-15.8
-24.7
-36.3

-17.6
-24.6
-32.7

n-Hexane
CH3(CH2)4CH3

CH3(CH2)1(CH2)2

-15.9
-25.0
-34.1

-17.6
-24.8
-32.1

n-Heptane
CH3(CH2)5CH3

CH3(CH2)1(CH2)2(CH2)3

-16.1
-25.1
-34.5
-31.6

-17.7
-24.8
-32.3
-31.5

3-Methyl Pentane
CH3CH2CH(CH3)CH2CH3

CH3(end)
CH3(cen)
CH2
CH

-13.3
-20.7
-31.4
-38.8

-19.1
-25.4
-30.2
-36.3

a. Calculated by INDO with standard parameters; see P. D. Ellis, G. E. Maciel, andJ. W. McIver, J. Am. Chem. Soc. 94, 4069 (1972).

Scientific Background243Typed Neglect of Differential Overlap Method

Table 5-2 Proton chemical shifts (in ppm) in some hydrocarbons (relative tomethane)a

Molecule

MethaneCH4
EthaneC2H6
Propane
CH3CH2CH3
n-Butane
CH3(CH2)2CH3
n-Pentane
CH3(CH2)3CH3
n-Hexane
CH3(CH2)4CH3
n-Heptane
CH3(CH2)5CH3
3-Methyl Pentane
CH3CH2CH(CH3)CH2CH3

Exp.

HyperNMR

Other

CH4

0

0

0

CH3

-0.63

-0.57

0.37

CH3
CH2
CH3
CH2
CH3
CH2(end)
CH2(cen)
CH3(CH2)1(CH2)2
CH3(CH2)1(CH2)2(CH2)3CH3(end)
CH3(cen)
CH2
CH

-0.68
-1.10

-0.72
-0.91

0.33
0.93

-0.68
-1.10

-0.77
-0.95

0.30
0.92

-0.68
-1.10

-0.80
-1.01

-0.76
-1.14
-1.95

-0.81
-1.03
-1.06

-0.76

-0.82

-1.15

-1.08

-0.75
-0.75
-1.04
-1.26

-0.78
-0.70
-1.05
-1.08

a. Calculated by INDO with standard parameters; see P. D. Ellis, G. E. Maciel, andJ. W. McIver, J. Am. Chem. Soc. 94, 4069 (1972).

244

Chapter 10

Typed Neglect of Differential Overlap Method

Table 5-3

13

C Chemical shifts (in ppm) in some hydrocarbons (relative tomethane)Molecule

MethaneCH4Ethylene
CH2CH2
Propylene
CH2CHCH3
cis-2-Butane
cisCH3CHCHCH3trans-2-butane
transCH3CHCHCH3
2-Methyl-2Butane(CH3)2CCHCH3Exp.

HyperNMR

Other

CH4

0

0

0

CH2

-125.0-119.1-115.0

CH3
CH2
CH
CH3
CH

-22.6
-118.6-137.9-12.0-116.5-128.2-6.1a-112.1a-126.2a-125.7-11.4-130.0-132.6-127.1-9.6-130.0-131.3b-121.0-133.7-16.2-9.7-127.0-137.8-132.9b-141.5b-123.9-17.1-139.5-141.7b-143.5-112.1-18.0-133.1-112.6-140.9b-121.8baCH3
CH(C*H3)2
CCHC*H3
CC*HCH3
C*CHCH3CH3C*C(CH3)2

2,3-dimethyl-2Butane(CH3)2CC(CH3)2
Isobutylene
CH3(CH3)2CCH2
C*=CH2
C=C*H2ba. Calculated by INDO with their new parameters; see P. D. Ellis, G. E. Maciel, andJ. W. McIver, J. Am. Chem. Soc. 94, 4069 (1972).
b. E. Vauthier, S. Odiot, and F. Tonnard, Can. J. Chem. 61, 1417 (1983).

Scientific Background

245

Typed Neglect of Differential Overlap Method

Table 5-4 CPU times (in sec.) for computing shielding and/or spin-spin couplingaconstants

b

b

Atm

Orbs

T

T

Ethylene
C2H4

6

12

11

61

2

3

Ethane
C2H6

8

14

16

70

3

4

Fluoro-aceticacid
FCH2COOH

8

23

123

548

7

15

Benzene
C6H6

12

30

113

918

9

28

Anthracene
C14H10

24

66

1329

58

846

old1

old2

T

c

Molecule

new1

T

c

new2

a. This comparison is done on a NEC PowerMate (486/50) with Windows 3.1 and 8 Mb
of RAM.
b. Told1 and Told2 are the times (in seconds) taken for computing the shielding constants only and both the shielding constants and nuclear spin coupling constants by
the finite perturbation SCF MO semi-empirical method of Santry et al., respectively.
c. Tnew1 and Tnew2 are the times (in seconds) taken for computing the shielding constants only and both the shielding constants and nuclear spin coupling constants by
the new perturbed SCF MO semi-empirical method, respectively.

Table 5-4 shows the CPU time comparison of calculating shielding
constants only, and both the shielding constants and nuclear spin
coupling constants, for several molecular systems using both theoriginal finite perturbation SCF MO algorithm and the new selfconsistent perturbation theory. It can be seen that the current
algorithm for computing perturbed wave functions is much fasterthan the original algorithm. The range of speed improvements is
10 to 30 times depending on the size of the molecular system. The
finite perturbation SCF MO algorithm is only usable in the calculation of shielding constants and spin coupling constants for small
molecular systems. For example, anthracene has only 24 atoms
and 66 molecular orbitals, but it took 1329 seconds on a NEC
486/50 PC machine using the old algorithm. The speed of computing nuclear spin coupling constants by the finite perturbation theory is about 5 to 10 times slower than that of calculating shielding
constants. Thus it may take 3 to 4 hours to compute the nuclear
spin coupling constants just for this 66 orbital system using the246

Chapter 10

Nuclear Spin States and Transitions

finite perturbation theory. With the new self-consistent perturbation algorithm of HyperNMR, it took less than 15 minutes for the
calculation of both the shielding constants and spin coupling constants for anthracene. Therefore, HyperNMR may be used withmuch larger molecular systems than earlier programs.

Nuclear Spin States and Transitions
Spin Wave Functions
In quantum theory, each nucleus has a spin I which is a vector
related to the angular momentum hI and the magnetic moment
γ hI (γ is the nuclear magnetogyric ratio). The total number of spinstates for this nucleus is (2I + 1); each has one of the spin quantum
numbers, -I, -I+1, -I+2, ..., +I.
HyperNMR will simulate the NMR spectra only for those nuclei
whose nuclear spin is 1/2. For these nuclei, each isolated nucleus
has two independent spin states, that is, spin up, α, with spinquantum number of 1/2 and spin down β, with spin quantum
number of -1/2. These two spin states are eigenstates of the nuclear
spin operator, I , i.e.,z1
1(6-112)I z α = + --- α and I z β = + --- β22
with1 0 1 
1 0 i 1 1 0 
I x = ---  , I y = ---  , I z = --- 2 1 0 
2  –i 0 
2  0 –1 

(6-113)

With the lack of an external magnetic field, these two spin states
are degenerate. This degeneracy is removed by applying an external magnetic field (Zeeman effect).
Suppose that a strong magnetic field B0 is applied to a molecularsystem along the -z direction. The interaction energy between theexternal magnetic field B0 and nuclear magnetic moment γ hI isthen γ hBIz. The unit of this interaction energy is in ergs if B0 is ingauss. Using the conventional units of cycles per second (Hz), theinteraction energy becomes γ BIz/2π. Consequently, the Hamiltonian for a system with p nuclei is

Scientific Background247

Nuclear Spin States and Transitions

H

(0)

p

1
= ------ ∑ γ i B i I zi
2π i

(6-114)

where Bi may not be the same as the external magnetic field B0
because of the screening of electrons in the molecular system. Thatis,Bi = B(0)( 1 – σi )(6-115)The parameter γi may be different for different species of nucleus.
In Equation (6-115), σi are the electron shielding constants.
The indirect spin coupling may be represented by a Hamiltonian
involving the two-body interactions of all spin vectors of magnetic
nuclei:H(1)p= ∑ J ij I i ⋅ I j(6-116)i<j

If the molecular system rotates rapidly enough, the dipole-dipole
interaction can be neglected. Then the complete Hamiltonian is
H = H

(0)

+H

(1)

(6-117)

For a system with p nuclei (all with spin 1/2), there is a total of 2p
possible spin states. The simplest set of functions describing thismany-system would be the 2p basic product functions such as
ϕ n = α ( 1 )β ( 2 )α ( 3 ) … β ( p )≡ αβα … β

(6-118)

If the nuclei were actually independent, these products would
themselves be stationary state wave functions in the presence ofthe external magnetic field. However, the nuclei actually interact
via H(1) which causes the basis functions of the spin wave function
to mix. Because of this mixing, quantum numbers αβα ⋅⋅⋅β are nolonger “good” quantum numbers.

Stationary-state Wave Functions
The products of nuclear spins are no longer stationary functions
because of the interactions of nuclear spins. The stationary wave
functions may be obtained by expanding the stationary wave
248

Chapter 10

Nuclear Spin States and Transitions

functions into linear combinations of the product functions
which act as basis functions. That is,
2

φi =

p

∑n cni ϕn(6-119)The coefficients, cij, are determined by solving the secular equation
H mn – E δ mn = 0(6-120)where Hmn are the Hamiltonian matrix elements of nuclear spinsand E are the energies of the stationary states.
The diagonal Hamiltonian matrix elements are
p

p

1
1
H mn = ------ ∑ γ i B i P i + --- ∑ J ij T ij
4π i
4i < j(6-121)

where Pi = 1 or –1 according to whether the corresponding spinfunction is α or β and Tij = 1 or –1 according to whether spins i andj are parallel or antiparallel in ϕm. The off-diagonal elements are1
H mn = --- UJij
2

(6-122)where U = 1 if ϕm differs from ϕn by a single interchange of spin iand j, and is zero otherwise.

Selection Rules and Intensities of Transitions
To determine the NMR spectrum, the selection rules must be
found. The probability that a system originally in state φi that is
exposed to a time-dependent perturbation H'(t) from t = 0 to t1 willtake a transition to φj is given byt1

1----- e iω mn t φ H ′ ( t ) φ
2
m
n
h ∫0

2

(6-123)where ωmn = (Em – En)/h. If a nuclear magnetic moment sitting ina static magnetic field B0 is exposed to electromagnetic radiationof frequency ν, then µN will interact with the magnetic field B1 of
the radiation; the time dependent perturbation is

Scientific Background249

Nuclear Spin States and Transitions

ˆ ′ ( t ) = – B 1 ⋅ µ̂HN

(6-124)p

1= – h ∑ γ i B ⋅ ˆI iip

= – h ∑ γ i ( B x Î ix + B y Î iy + B z Î iz )
1

1

1

i

Suppose the static magnetic field B0 is in the z direction. Because
the wave functions are then the eigenfunctions of Î iz , the z component of the radiation magnetic field cannot induce an NMR
transition. Thus only the x and y components of the radiation
magnetic field may induce an NMR transition. If the radiation
magnetic field is in the direction of x, then the transition probability is proportional to
p

φm

∑i

2

γ i Î ix φ n(6-125)The selection rule can be deduced from this equation. The operator Î ix will have a matrix element only between two basis functions which differ only in the spin of nucleus i. In a three-nuclei
system, for example, Î ix would have a non-vanishing element
between ααβ and βαβ. As a result, the total matrix element inEquation (6-125) will be non-vanishing only between states whichphave values of the total spin component F z = ∑ I ix differing byi±1. That is,∆ Fz = ±1(6-126)

Weak Coupling Approximation
The weak coupling approximation was proposed and developed byAnderson23 in 1956 and uses a perturbation method to determine
an NMR spectrum (transition frequencies and intensities) instead

250

Chapter 10

Parameter Setsof solving a nuclear spin secular equation when the nuclear spinspin coupling is weak.
In general, NMR spectra in which the signals from non-equivalent
nuclei are closely spaced or overlapping must be treated with thefull spin secular equation. However, in some cases the spacings ofsuch signals are large enough for the spectrum to bear a close
resemblance to a first order multiplet pattern corresponding tolarge chemical shifts. In these cases, a perturbation method may be
more appropriate than a complete treatment.
In Anderson’s perturbation approach, the first-order NMR spectrum is given by only the chemical shifts of the NMR atoms. The
nuclear spin-spin coupling is considered as a perturbation to thefirst-order NMR spectrum. Then the transition energy, up to thesecond-order perturbation, between spin states (F ,m -1,F ,m )A A
B B
and (F ,m ,F ,m ) is given by
A

A

B

B

ν = νA +∑ JAR mR +

R(≠A)

J AR
1
- [ F ( F + 1 ) – m R ( m R + 1 ) + 2m A m R ]--- ∑ ----------------νA – νR R R
2
R(≠A)(6-127)and the relative intensity of the corresponding transition is, to thesame order,
J AR m R -----------------
( FA – mA + 1 ) ( FA + mA )  1 – 2
ν – ν RR(≠A) A∑

(6-128)This perturbation method, if applicable, is much faster and takes
much less memory than the full solution of the spin secular equation. HyperNMR uses this perturbation method to calculate the
NMR spectrum up to the second-order transition energies and relative intensities if the Weak Coupling Approximation check box ischecked in the Spectral Options dialog box.

Parameter Sets
You must have the following parameter files in your HyperNMR
directory to run a shielding and spin-spin coupling calculation.
Scientific Background251

Bibliography•

NMR_SHFT.ABP for computing magnetic shielding constants(chemical shifts);•

NMR_CUPL.ABP for calculating nuclear spin coupling constants.

You may want to modify these parameter files when new and better parameters become available or you might assign your own
new atom types and parameters. The format of the files is
described in Chapter 5.
Two of the parameters for each atom type in these files are the electronic energies of the corresponding isolated atom from TNDO/1
and TNDO/2. These energies were calculated using the CNDO andINDO methods in HyperChem with the HyperNMR parameters
and restricted Hartree-Fock (RHF) wave functions for the groundstate. The spin multiplicities used were 1 for Be and Mg, 2 for H,
Li, B, F, Na, Al, and Cl, and 3 for C, O, Si, and S, and 4 for N and P.

Bibliography
1. K. Wolinski, J. F. Hinton and P. Pulay, J. Am. Chem. Soc. 112,8251 (1990).
2. D. S. Wishart, B. D. Sykes and F. M. Richards, Biochemistry 31,
1647 (1992).
3. A. Pastone and V. Saudek, J. Magn. Reson. 90, 165 (1990).
4. P. D. Ellis, G. E. Maciel and J. W. McIver, Jr., J. Am. Chem. Soc.
94, 4069 (1972).
5. A. C. Blizzard and D. P. Santry, J. Chem. Phys. 55, 950 (1971).
6. J. A. Pople, J. W. McIver, Jr. and N. S. Ostlund, J. Chem. Phys.
49, 2960 (1968).
7. J. A. Pople, J. W. McIver, Jr. and N. S. Ostlund, J. Chem. Phys.
49, 2965 (1968).
8. G. E. Maciel, J. W. McIver, Jr., N. S. Ostlund and J. A. Pople, J.
Am. Chem. Soc. 92, 11 (1970).
9. L. Ducasse, J. Hoarau and M. Pesquer, Mol. Phys. 40, 1249
(1980).
10. M. Kondo, I. Ando, R. Chujo and A. Nishioka, J. Magn. Reson.
24, 315 (1976).

252

Chapter 10

Bibliography

11. E. C. Vauthier, S. Odiot and F. Tonnard, Can. J. Chem. 60, 957(1982).
12. E. C. Vauthier, S. Fliszar, F. Tonnard and S. Odiot, Can. J. Chem.
61, 1417 (1983).
13. J. D. Baker and M. C. Zerner, Int. J. Quantum Chem. 43, 327(1992).
14. J. A. Pople and D. V. Beveridge, Approximate Molecular Orbital
Theory, McGraw-Hill, New York, 1970.
15. W. P. Anderson, T R. Cundari and M. C. Zerner, Int. J. Quantum
Chem. 39, 31(1991).
16. R. C. Bingham, M. J. S. Dewar and D. H. Lo, J. Am. Chem. Soc.
97, 1285 (1975).
17. J. Li, P. C. Mello and K. Jug, J. Comput. Chem. 13, 85 (1992).
18. M. J. S. Dewar and W. Thiel, J. Am. Chem. Soc. 99, 4899 (1977).
19. M. J. S. Dewar, E. G. Zoebisch, E. F. Healy and J. J. P. Stewart, J.
Am. Chem. Soc. 107, 3902 (1985).
20. J. J. P. Stewart, J. Comput. Chem. 10, 221 (1989).
21. M. Fraser and D. M. Hayes, Quantum Chemistry Program
Exchange, QCPE Program No. 389, Indiana University.
22. H. Fukui, Magn. Reson. Rev. 11, 205 (1987).
23. W. A. Anderson, Phys. Rev. 102, 151 (1956).

Scientific Background

253

254

HyperChem® for Windows and NT
The Chemist’s Developer Kit (CDK):
Customizing HyperChem
Interfacing to HyperChem

Hypercube, Inc.
Publication HC70-00-03-00

January 2002

Copyright © 2002 Hypercube, Inc.
All rights reserved

The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. This publication,or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONSOF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE,
INC. BE LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGESIN CONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF
HYPERCUBE, INC. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY
DEFECT OR ERROR IN THESE MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC.,
REGARDLESS OF THE FORM OF ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALSDESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.

Hypercube Trademarks
HyperChem is a registered trademark of Hypercube, Inc. HyperMM+, HyperNewton, HyperEHT, HyperNDO, HyperGauss,
HyperChemOS, HyperNMR and ChemPlus are trademarks of Hypercube, Inc.

Third Party Trademarks
Microsoft, MS-DOS, and Excel are registered trademarks, and Windows is a trademark of Microsoft Corporation.
IBM is a registered trademark of International Business Machines, Inc.
All other brand and product names are trademarks or registered trademarks of their respective holders.

PRINTED IN USA

Table of Contents

Chapter 1

Introduction

1

The Chemist’s Developer Kit . . . . . . . . . . . . . .
CDK for Windows or NT . . . . . . . . . . . .
Equivalent Unix CDK . . . . . . . . . . . . .
Components of the CDK . . . . . . . . . . . . . . .
Components Included with Release 5 . . . . . . . .
Other Suggested Tools . . . . . . . . . . . . .
Suggested Compilers . . . . . . . . . . . . .
HyperChem State Variables . . . . . . . . . . . . . .
Customizing HyperChem . . . . . . . . . . . . . . .
Internal Script commands . . . . . . . . . . . .
HyperChem Command Language (Hcl) . . . .
Tool Command Language (Tcl/Tk) . . . . .
Custom Menus . . . . . . . . . . . . . . .
Interfacing to HyperChem . . . . . . . . . . . . . . .
Dynamic Data Exchange . . . . . . . . . . . .
External Script Messages . . . . . . . . . . . .
The HyperChem Application Programming Interface (HAPI)
Overview of Chapters . . . . . . . . . . . . . . . .

Chapter 2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Architecture of HyperChem
Introduction . . . . . . . . .
The Front End - Back End Architecture
The Older Master - Slave Architecture .
The Open Architecture . . . . . .
UMSG and VMSG . . . .
IMSG and OMSG . . . .
The Newer Client - Server Architecture
The Network Architecture . . . . .
Network DDE . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

1
1
1
2
2
2
3
3
4
5
6
6
6
6
7
7
8
8

11
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

. 11
. 11
. 13
. 13
. 15
. 15
. 16
. 17
. 17
i

UNIX . . . . . . . . . . . . . . . . . . . . . . 17
Remote Back Ends . . . . . . . . . . . . . . . . . . 18
Mixing UNIX and Windows or NT . . . . . . . . . . . . . 18

Chapter 3

Customizing HyperChem
Introduction . . . . . . . .
A Flexible Development Platform .
What are Scripts? . . . . . .
Type 1 (Hcl) Scripts . . . . .
Type 2 (Tcl/Tk) Scripts . . . .
Custom Menus . . . . . . .

Chapter 4

.
.
.
.
.
.

21
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

21
21
22
22
22
24

27
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Custom Menus
Introduction . . . .
Script Menu Items . .
Menu Files . . . .
Simple Example . .
Further Customization

ii

.
.
.
.
.
.

HyperChem State Variables
Introduction . . . . . . . . . . . .
Registering of HSV’s . . . . . .
An Example of an HSV . . . . .
Read/Write Nature of HSV’s . . .
Using HSV’s . . . . . . . .
Writing . . . . . . .
Reading . . . . . . .
Notifications . . . . .
Atom Numbering for HSV’s
Argument Types for HSV’s
Kinds of HSV’s. . . . . . . . . . .
Scalar HSV’s . . . . . . . .
Vector HSV’s . . . . . . . .
Array HSV’s . . . . . . . .
A Finite State Machine View of HyperChem .
An HSV Server View of HyperChem . . . .
. . . . . . . . . . . .

Chapter 5

.
.
.
.
.
.

27
27
27
28
28
29
29
29
30
30
31
31
32
33
33
35
35

37
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

37
37
38
43
47

Chapter 6

Type 1 (Hcl) Scripts

49

Introduction . . . . . . . . . . . . . . . .
Hcl Script Commands . . . . . . . . . .
HSV’s. . . . . . . . . . . .
Menu Activations . . . . . . . .
Direct Commands . . . . . . . .
Script Files . . . . . . . . . . . . .
CHEM.SCR . . . . . . . . . . . . .
Compiled Scripts . . . . . . . . . . .
Recursive Scripts . . . . . . . . . . .
Script Editor . . . . . . . . . . . . .
Examples . . . . . . . . . . . . . . . . .
Reactive Collision of Two Molecules . . . . .
Assign Target Position . . . . . .
Assign Collision Velocities . . . . .
Wave Function Computation Parameters .
The Collision . . . . . . . . .
Building and Optimizing C60 . . . .
Setup . . . . . . . . . . . .
Drawing the First Pair of Atoms . . .
Finish First Level Pentagon . . . . .
Build Remaining Layers . . . . . .
Color Bottom and Rotate . . . . . .
Zoom Structure . . . . . . . . .
Create an SO2 Molecule Inside C60 . .
Optimize SO2 inside Cavity . . . . .
Catalog of HSV’s and Direct Script Commands . . . . .

Chapter 7

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Type 2 (Tcl/Tk) Scripts
Introduction . . . . . . . . . . . . . .
Elements of Tcl . . . . . . . . . . . . .
Books . . . . . . . . . . . . .
Internet . . . . . . . . . . . .
What is Tcl? . . . . . . . . . . .
Commands and Arguments . . .
Variables and Values . . . . .
Command Substitution . . . .
Procedures and Control Structures .
Tk . . . . . . . . . . .
Hcl Embedding . . . . . . . . . . . . .
hcExec. . . . . . . . . . . . .

. 49
. 49
. 49
. 50
. 50
. 52
. 53
. 54
. 54
. 54
. 54
. 55
. 55
. 56
. 56
. 57
. 58
. 58
. 59
. 59
. 60
. 64
. 65
. 66
. 66
. 66

95
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

. 95
. 96
. 96
. 96
. 97
. 97
. 97
. 97
. 98
. 98
. 99
. 99

iii

hcQuery . . . . . . . . .
Examples. . . . . . . . . . . .
Calculating the Number of Atoms .
Calculating a Dipole Moment . .
Labels . . . . . .
Button . . . . . .

Chapter 8

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Table of Contents

. 99
. 100
. 100
. 102
. 103
. 104

107
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

DDE and Visual BasicIntroduction . . . . . . . . . .
VB for GUIs or Computation .
VB with DDE or HAPI Calls .
Red and Green . . . . . . . . .
Basic Form and Controls . .
Start Up (Load) . . . . .
A Cold Link Request . . . .
A Hot Link . . . . . . .
Execute . . . . . . . .
Unload . . . . . . . .

iv

.
.
.
.
.
.

DDE Interface to HyperChem
Introduction . . . . . . . . . . . .
DDE versus HAPI. . . . . . .
Use of DDE in Windows Applications
Basic Properties of DDE . . . . . . . .
DDE Message Types . . . . . .
DDE_INITIATE . . . .
DDE_ EXECUTE . . .
DDE_ REQUEST . . .
DDE_ ADVISE . . . .
DDE Interface to Microsoft Word . . . . .
Red and Green Example . . . . .
Extended Example . . . . . .
ActivateHC . . . . .
ConnectHC: . . . . .
ExecuteCmd . . . . .
GetData . . . . . . .
DisconnectHC. . . . .
DDE Interface to Microsoft Excel . . . . .
Red (and Green) . . . . . . .
Additional Macros . . . . . .

Chapter 9

.
.
.
.
.
.

. 107
. 107
. 107
. 108
. 108
. 109
. 109
. 109
. 109
. 109
. 110
. 113
. 113
. 114
. 114
. 114
. 115
. 115
. 116
. 117

119
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

. 119
. 119
. 119
. 120
. 120
. 121
. 122
. 123
. 123
. 123

A HAPI Interface to VB .

Chapter 10. . . .

. . . .

. . . .

. . . .

External Tcl/Tk Interface

124

127

Introduction . . . . . . . . . . . . . . . . . . . . .
Why External? . . . . . . . . . . . . . . . . . . . .
Invoking External Tcl/Tk . . . . . . . . . . . . . . . . .
The THAPI package . . . . . . . . . . . . . . . . . .
Commands . . . . . . . . . . . . . . . . . .
hcConnect <instance>. . . . . . . . . . . .
hcDisconnect . . . . . . . . . . . . . .
hcExec hcl_script_command . . . . . . . . .
hcQuery hsv . . . . . . . . . . . . . . .
hcCopy source_file desination_file. . . . . . . .
hcNotifyStart hsv . . . . . . . . . . . . .
hcNotifyStop hsv . . . . . . . . . . . . .
hcGetNotifyData notification_data. . . . . . . .
hcSetTimeouts exec_timeout query_timeout rest_timeout
hcLastError error_text. . . . . . . . . . . .
hcSetErrorAction action_flag . . . . . . . . .
hcGetErrorAction . . . . . . . . . . . . .
A Notification Example . . . . . . . . . . . . . . . . .

Chapter 11

. .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

The HAPI Interface to HyperChem

127
127
128
129
130
130
130
130
130
130
131
131
131
131
131
131
132
132

137

Introduction . . . . . . . . . . . . . . . . . . . . . . .
Towards a Chemical Operating System . . . . . . . . . . . . . . .
The Components . . . . . . . . . . . . . . . . . . . . . .
The HAPI Calls . . . . . . . . . . . . . . . . . . . . . .
Initialization and Termination . . . . . . . . . . . . . .
BOOL hcInitAPI (void) . . . . . . . . . . . . .
BOOL hcConnect (LPSTR lszCmd) . . . . . . . . .
BOOL hcDisconnect (void) . . . . . . . . . . . .
void hcExit(void) . . . . . . . . . . . . . . .
Discussion . . . . . . . . . . . . . . . . .
Text-based Basic Communication Calls . . . . . . . . . . .
BOOL hcExecTxt (LPSTR script_cmd) . . . . . . . .
LPSTR hcQueryTxt (LPSTR var_name) . . . . . . . .
Discussion . . . . . . . . . . . . . . . . .
Binary-based Basic Communication Calls . . . . . . . . . .
BOOL hcExecBin (int cmd, LPV args, DWORD args_length) .
LPV hcQueryBin( int hsv, int indx1, int indx2, int* length) . .

Table of Contents

137
138
138
139
140
140
140
140
140
140
140
140
140
140
141
141
141

v

Discussion . . . . . . . . . . . . . . . . . . 141
Binary Format . . . . . . . . . . . . . . . . . 141
Binary-based Get Integer Calls. . . . . . . . . . . . . . . 142
int hcGetInt (int hsv). . . . . . . . . . . . . . . 142
int hcGetIntVec( int hsv, int* buff, int max_length) . . . . . 142
int hcGetIntArr (int hsv, int* buff, int max_length) . . . . . 142
int hcGetIntVecElm (int hsv, int index) . . . . . . . . . 142
int hcGetIntArrElm (int hsv, int atom_index, int mol_index) . . 142
Discussion . . . . . . . . . . . . . . . . . . 143
Binary-based Get Real Calls . . . . . . . . . . . . . . . 143
double hcGetReal (int hsv) . . . . . . . . . . . . . 143
int hcGetRealVec( int hsv, double* buff, int max_length) . . . 143
int hcGetRealArr (int hsv, double* buff, int max_length) . . . 143
double hcGetRealVecElm (int hsv, int index) . . . . . . . 143
double hcGetRealArrElm (int hsv, int atom_index, int mol_index) .
143
int hcGetRealVecXYZ (int hsv, index, double* x, double* y, double*z) . . . . . . . . . . . . . . . . . . . 143
int hcGetRealArrXYZ (int hsv, int atom_index, int mol_index, double*
x, double* y, double* z) . . . . . . . . . . . . 143
Discussion . . . . . . . . . . . . . . . . . . 144
Binary-based Get String Calls . . . . . . . . . . . . . . . 144
int hcGetStr (int hsv, char* buff, int max_length) . . . . . . 144
int hcGetStrVecElm (int hsv, int index, char* buff, int max_length) .
144
int hcGetStrArrElm (int hsv, int atom_index, int mol_index, char* buff,
int max_length) . . . . . . . . . . . . . . . 144
Discussion . . . . . . . . . . . . . . . . . . 144
Binary-based Set Integer Calls . . . . . . . . . . . . . . . 144
int hcSetInt (int hsv, int value). . . . . . . . . . . . 144
int hcSetIntVec( int hsv, int* buff, int length) . . . . . . . 144
int hcSetIntArr (int hsv, int* buff, int max_length) . . . . . 144
int hcSetIntVecElm (int hsv, int index, int value) . . . . . . 145
int hcSetIntArrElm (int hsv, int atom_index, int mol_index, int value)
145
Discussion . . . . . . . . . . . . . . . . . . 145
Binary-based Set Real Calls . . . . . . . . . . . . . . . 145
int hcSetReal (int hsv, double value) . . . . . . . . . . 145
int hcSetRealVec( int hsv, double* buff, int length) . . . . . 145
int hcSetRealArr (int hsv, double* buff, int length) . . . . . 145
int hcSetRealVecElm (int hsv, int index, double value) . . . . 145
inthcSetRealArrElm(inthsv,intatom_index,intmol_index,doublevalue)
145

vi

Table of Contents

int hcSetRealVecXYZ (int hsv, index, double x, double y, double z)
145
int hcSetRealArrXYZ (int hsv, int atom_index, int mol_index, double
x, double y, double z) . . . . . . . . . . . . 146
Discussion . . . . . . . . . . . . . . . . . 146
Binary-based Set String Calls . . . . . . . . . . . . . . 146
int hcSetStr (int hsv, char* string) . . . . . . . . . . 146
int hcSetStrVecElm (int hsv, int index, char* string) . . . . 146
int hcSetArrElm (int hsv, int atom_index, int mol_index, char* string)146
Discussion . . . . . . . . . . . . . . . . . 146
Get and Set Blocks . . . . . . . . . . . . . . . . . . 146
int hcGetBlock (int hsv, char* buff, int max_length) . . . . 146
int hcSetBlock (unt hsv, char* buff, int length) . . . . . . 147
Discussion . . . . . . . . . . . . . . . . . 147
Notification Calls . . . . . . . . . . . . . . . . . . 147
int hcNotifyStart (LPSTR hsv) . . . . . . . . . . . 147
int hcNotifyStop (LPSTR hsv) . . . . . . . . . . . 147
int hcNotifySetup (PFNB pCallBack, int NotifyWithText) . . 147
int hcNotifyDataAvail (void) . . . . . . . . . . . 147
int hcGetNotifyData (char* hsv, char* buff, int max_length) . 147
Discussion . . . . . . . . . . . . . . . . . 147
Memory Allocation. . . . . . . . . . . . . . . . . . 147
void * hcAlloc (size_t, n_bytes) . . . . . . . . . . 147
hcFree (void* pointer) . . . . . . . . . . . . . 148
Discussion . . . . . . . . . . . . . . . . . 148
Auxiliary Calls . . . . . . . . . . . . . . . . . . . 148
void hcShowMessage (LPSTR message) . . . . . . . . 148
voidhcSetTimeouts(intExecTimeout,intQueryTimeout,intOtherTimeout)148
int hcLastError (char* LastErr) . . . . . . . . . . . 148
int hcGetErrorAction (void) . . . . . . . . . . . . 148
void hcSetErrorAction (int err) . . . . . . . . . . . 148
Discussion . . . . . . . . . . . . . . . . . 148
The HAPI Dynamic Link Library (HAPI.DLL) . . . . . . . . . . . . 148
How to use the HyperChem API . . . . . . . . . . . . . . . . . 149
Accessing the HyperChem API from C/C++ code . . . . . . . . 150
Run-Time Dynamic Linking. . . . . . . . . . . . 150
Load-Time Dynamic Linking . . . . . . . . . . . 151
Accessing the HyperChem API from Fortran code . . . . . . . . 152
Accessing the HyperChem API from Visual Basic Code . . . . . . 154
Accessing the HyperChem API from Tcl/Tk code . . . . . . . . 155
Considerations for Console-based Applications . . . . . . . . . 155

Table of Contentsvii

The Notification Agent .
Examples of HAPI Calls . . . .
C, C++ . . . . . .
Text-based . .
Binary-based .
Fortran . . . . . .
Text-based . .
Binary-based .
Visual Basic . . . .
Text-based . .
Binary-based .

Chapter 12

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Development Using the MFC

Table of Contents

. 156
. 157
. 157
. 157
. 157
. 157
. 157
. 158
. 158
. 158
. 158

. 159
. 159
. 159
. 160
. 160
. 165

173
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

Console C and Fortran Applications

Introduction . . . . . . . . . . . . . .
Console Applications. . . . . . . .
C or Fortran. . . . . . . . . . .
The Integrated Development Environment .
C Program . . . . . . . . . . . . . .
Fortran Programs . . . . . . . . . . . .
Reflect . . . . . . . . . . . .
viii

.
.
.
.
.
.
.
.
.
.
.

159

Introduction . . . . . . . . . . . . . . . . . .
Microsoft Development Tools . . . . . . . . .
Programming Assistance . . . . . . . . . .
Language . . . . . . . . . . . . . . .
A First Example . . . . . . . . . . . . . . . .
Modifications . . . . . . . . . . . . . .
Included Files . . . . . . . . . . . . . .
Dynamic Link Library and Connecting to HyperChem .
Cavity. . . . . . . . . . . . . . . . . . . .

Chapter 14

.
.
.
.
.
.
.
.
.
.
.

Development Using the Windows API

Introduction . . . . . . . . . .
Microsoft Development Tools .
Programming Assistance . .
Language . . . . . . .
A First Example . . . . . . . .
Modification of a Molecule’s Coordinates

Chapter 13

.
.
.
.
.
.
.
.
.
.
.

. 173
. 173
. 173
. 174
. 174
. 176
. 180
. 181
. 182

187
.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

. 187
. 187
. 188
. 189
. 189
. 191
. 192

MiniGauss Orbitals . . . . . .
Outline . . . . . .
A New GUI Element . .
The Main Program . . .
Get Molecule . . . .
Wave function Calculation
Displaying Orbitals and ...
Diffusion Limited Aggregation . .
Further Examples . . . . . . . . .

Chapter 15

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

Classification of Hcl Commands

The Classes . . . . . . . . . .
General Operations . . . . .
Single Point . . . .
Solvation . . . . .
Fields . . . . . .
Customization . . .
Printing . . . . .
Other . . . . . .
Cursors . . . . . . . .
Mouse Mode . . .
Clipping . . . . .
Rotation . . . . .
Translation . . . .
Zoom . . . . . .
Selections . . . . . . . .
Select Options . . .
Select . . . . . .
Ask About Selection .
Operate on Selection .
Named Selections . .
Other . . . . . .
File Operations . . . . . .
Molecule File . . .
Options . . . . .
PDB File . . . . .
Import/Export . . .
Other . . . . . .
Scripts . . . . . . . . .
Script Files . . . .
Execution . . . .
Notifications. . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

195
195
196
198
199
202
202
204
204

205
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

205
206
206
207
207
207
207
207
208
208
208
208
208
208
209
209
209
209
209
209
210
210
210
210
210
211
211
211
211
212
212
ix

OMSGs . . . . . . .
Menus . . . . . . .
Stack Operation . . . .
Other . . . . . . .
Info . . . . . . . . . . .
Errors . . . . . . . . . .
Logging . . . . . . . . . .
Auxiliary . . . . . . . . .
Declarations . . . . .
Warnings . . . . . .
Screen Output . . . . .
Version . . . . . . .
Other . . . . . . .
Viewing . . . . . . . . . .
Alignment . . . . . .
Redisplay . . . . . .
Rotation. . . . . . .
Translation . . . . . .
Window. . . . . . .
Other . . . . . . .
Rendering . . . . . . . . .
General Options . . . .
Specific Rendering OptionsShow - Don’t Show . . .
Coloring and Labeling . . . . .
Color . . . . . . .
Labels . . . . . . .
Images . . . . . . . . . .
Model Building . . . . . . .
Options . . . . . . .
Drawing . . . . . .
Constraints . . . . . .
Other . . . . . . .
Stereochemistry . . . . . . .
Atom Properties . . . . . . .
Labels . . . . . . .
Coordinates and Velocities .
Other . . . . . . .
Molecule Properties . . . . . .
Charge-Multiplicity . . .
Counts . . . . . . .
Labels . . . . . . .
Properties . . . . . .

x

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 212
. 212
. 213
. 213
. 213
. 213
. 214
. 214
. 214
. 214
. 215
. 215
. 215
. 215
. 215
. 215
. 215
. 216
. 216
. 216
. 216
. 216
. 217
. 217
. 217
. 217
. 218
. 218
. 218
. 219
. 219
. 219
. 219
. 219
. 220
. 220
. 220
. 221
. 221
. 221
. 221
. 221
. 221

Back Ends . . . . . . . . . . .
Basic . . . . . . . . . .
Large Communication Structures .
Remote Back Ends. . . . . .
Molecular Mechanics Calculations . . . .
Method . . . . . . . . .
Energy Components . . . . .
Cutoffs . . . . . . . . .
Scale Factors . . . . . . .
Parameters . . . . . . . .
Amino Acids and Nucleic Acids . . . .
Amino Acids . . . . . . .
Nucleic Acids . . . . . . .
General Residue . . . . . .
Molecular Dynamics and Monte Carlo. . .
Basic . . . . . . . . . .
Run Parameters . . . . . . .
Averaging . . . . . . . .
Playback . . . . . . . . .
Monte Carlo Specific . . . . .
Optimization . . . . . . . . . . .
Basic . . . . . . . . . .
Restraints . . . . . . . .
General Quantum Mechanics. . . . . .
Input Parameters . . . . . .
Output Results . . . . . . .
Semi-empirical Calculations . . . . . .
General . . . . . . . . .
Huckel . . . . . . . . .
ZINDO . . . . . . . . .
Ab Initio Calculations . . . . . . . .
Input Options . . . . . . .
Basis Set . . . . . . . . .
2-electron Integrals . . . . .
Results . . . . . . . . .
TNDO . . . . . . . . .
DFT . . . . . . . . . . . . .
Configuration Interaction . . . . . . .
Infrared Spectra . . . . . . . . . .
Animations . . . . . . . .
Spectra . . . . . . . . .
UV Spectra . . . . . . . . . . .
Plotting . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

222
222
222
222
222
222
223
223
223
223
223
223
224
224
225
225
225
226
226
226
226
226
227
227
227
228
228
228
228
228
229
229
229
229
229
230
230
230
230
230
231
231
231

xi

General Options .
2D . . . . .
3D . . . . .
Grid . . . . .

Chapter 16. . . .
. . . .
. . . .
. . . .

xii

. . . .
. . . .
. . . .
. . . .

. . 231. . 232. . 232. . 233. . . .

. . . .

235
. . . .

. . . .

. . . .

Classification of HAPI Calls

The API functions . . . . . . . . . . . .
Functions for Initialization and Termination
Functions for Text-based Communication .
Functions for Binary Communication . .
Binary Execute and Query . . .
Functions for Binary ‘Get’ . . .
Functions for Binary ‘Set’ . . .
Functions for Processing Notifications . .
Functions For Memory Allocation . . .
Auxiliary Functions . . . . . . . .

Chapter 18. . . .
. . . .
. . . .
. . . .

Listing of Tcl Commands

The Tcl Commands

Chapter 17

.
.
.
.

Index

Table of Contents

. 235

241
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

. 241
. 241
. 245
. 248
. 248
. 251
. 268
. 284
. 290
. 292

299

Chapter 1
Introduction

The Chemist’s Developer Kit
The Chemist’s Developer Kit (CDK) allows you to:•

Customize HyperChem For Your Own Purposes•

Interface Your Own Programs to HyperChem

CDK for Windows or NT
This manual describes the Chemist’s Developer Kit (CDK) to be used inassociation with Release 5.0 or greater of HyperChem® for Windows and NT.
The CDK allows you to customize HyperChem for your own special purposes, by modifying its menus and introducing scripts that each custom menu
item can invoke. Alternatively, you can use the CDK to interface HyperChem
to external programs written in Visual Basic, C, Fortran, etc. The CDK for
Windows and NT, as described here, allows you to extend HyperChem in a
multitude of ways but always within the confines of Microsoft Windows 95(or greater) or Windows NT 3.51 (or greater).

Equivalent Unix CDK
A similar but somewhat modified CDK and manual will be made available
for Unix. That manual will describe how to, correspondingly, customize Unix
versions of HyperChem and how to interface a UNIX version of HyperChem
to programs written for Unix. It will also describes how to interface a Windows or NT version of HyperChem to your Unix program.

1

Components of the CDK

Components of the CDK
The CDK is included as a part of the general Release 5.0 of HyperChem for
Windows 95 and NT. Example scripts and programs are found in sub-directories on the HyperChem CD-ROM associated with the the relevant programming environment - C, Fortran, etc. The current CDK has only limited capability with older versions of HyperChem.

Components Included with Release 5
The CDK consists essentially consists of:•

A HyperChem Executable (Release 5.0 or greater)•This Manual•

Example Custom Menu Files (*.MNU)•

Example Hcl Scripts (*.SCR)•

Example Tcl/Tk Scripts (*.TCL)•

The HyperChem Application Programming Interface Library (HC.H,
HCLOAD.C, HSV.H, HAPI.DLL and HAPI.LIB for C/C++
environments)•

Related HAPI Files for Other Languages•

Example Programs Interfaced to HyperChem

Other Suggested Tools
To customize HyperChem no other tools are required. However, to explore
interfacing HyperChem to other Windows programs, one or more of the following may be useful:•Microsoft Word•

Microsoft Excel•

Microsoft Visual Basic

These three have been used in this manual to illustrate the low-level DDEinterfaces to HyperChem described in Chapters 8 and 9. Other Windows
word processors (for example, WordPerfect) or spreadsheets (for example,
Quattro Pro) could be used in place of Word and Excel but the authors havelittle experience with them. Visual Basic is preferred by the authors as a rapid
2

Chapter 1

HyperChem State Variables

prototyping language for preparing a visual interface to HyperChem. Again,other such visual tools are available from Borland and other manufacturers.
Visual Basic may also be used with the higher-level HyperChem Application
Programming Interface (HAPI) replacing the lower-level DDE interface.

Suggested Compilers
To explore compiled C, C++, or Fortran programs interfaced to HyperChem,
appropriate compilers and development environments are required. We haveused•Microsoft Visual C++ 4.0•

Microsoft Fortran PowerStation 4.0

Equivalent compiler tools from other manufacturers, such as Watcom, may
be used but the examples of the CDK have only been tested with theMicrosoft tools.

HyperChem State Variables
The CDK and much of what follows are possible because HyperChem implements the concept of a state variable. A HyperChem State Variable (HSV) is
one of hundreds of variables and data structures that is registered at the instantiation of HyperChem and is henceforth available for flexible and robust reading and writing at any later time. An example of an HSV is the total energyof the system which is represented by the hyphenated string,
total-energy

At any time, even when the system still has no molecule or no calculation has
yet been performed on the molecular system (and the total energy as the ini-

Introduction

3

Customizing HyperChem

tialized value zero), the HSV, total-energy, is available for reading and writing, either within a HyperChem script or from an external program.
PROGRAM

FILE
total-energy 1.035

total-energy

1.035

HyperChem

DDE
Message
ReaderFile
Reader

Hcl Interpreter

Customizing HyperChem
HyperChem has two quite unique features that allow you to customize it. The
first of these is that it has its own set of script commands that can activate
essentially any of the program’s functionality. The second is that HyperChem allows its whole menu structure to be replaced by custom menus.

4

Chapter 1

Customizing HyperChem

Execute Script

Internal Script commands
Script commands each consist of a single line of text, such as do-moleculardynamics and menu-file-open, that invoke HyperChem actions or read andwrite HyperChem State Variables (HSV’s) via a Scripting Interface (SI) thatis a superset of the interactive Graphical User Interface (GUI) available via
mouse and keyboard.Thus a molecular dynamics trajectory can be initiatedby mouse clicks on the appropriate menu items and dialog boxes or by theabove script commands. Alternatively, one can bring up the<File/Open...>1dialog box by clicking on the appropriate menu item or by
executing the appropriate script command, menu-file-open. Script commands
can be of two types, Hcl or Tcl/Tk.

1. Here and throughout the text we will periodically use angular brackets to delimit menu items(and other text) so as not to confuse it with surrounding text.
Introduction

5Interfacing to HyperChem

HyperChem Command Language (Hcl)
Scripts can be written in the HyperChem Command Language (Hcl), pronounced “hickle”, that has been part of HyperChem since its first public
release. These scripts, now referred to in Release 5.0 as Hcl scripts consist ofa simple sequence of Hcl commands (strings), such as the do-moleculardynamics script command referred to above. Hcl scripts are stored in *.SCR
files that contain only straight line code consisting of a sequence of single line
Hcl commands. Hcl scripts contain no Variables or Control Statements suchas IF, ELSE, DO, etc.

Tool Command Language (Tcl/Tk)
With Release 5.0, HyperChem can now execute a Tcl/Tk Script that consistof Hcl script commands embedded inside a conventional Tcl/Tk script. A
Tcl/Tk script is one that is interpreted by the well known public domain Tcl
command interpreter that is now part of HyperChem Release 5.0. The Tcl
interpreter allows a rich control structure of variables, loops, conditionals,
etc. It is augmented by a tool kit (Tk) that allows a Tcl script to define newgraphical elements, such as dialog boxes, allowing you to extend
HyperChem’s GUI.

Custom Menus
HyperChem Release 5.0 allows a user to replace the standard menu structureof the shipped product with a totally new and custom menu structure. Eachcustom menu item can have its own button text and can be tied to the execution of an arbitrary script file, either *.SCR or *.TCL. Since all the conventional menu items of HyperChem Release 5.0 have equivalent script commands such as menu-file-open, the custom menus can replicate the standard
HyperChem product as well as define essentially any new product that one
likes. The custom menus allow a Tabula Rasa, or blank page, on which a newchemistry product can be written.

Interfacing to HyperChem
A principal component of the CDK is the documentation, libraries, and examples that allow you to interface your own codes to HyperChem. Customizing
HyperChem, as implied above, means the internal execution of script commands brought about by reading them from a simple text file (*.SCR or*.TCL). Interfacing to HyperChem on the other hand, implies that an exter6

Chapter 1

Interfacing to HyperChem

nal program (your own) executes the equivalent of script commands by sending them as messages to a running copy of HyperChem.

HyperChem

messagesmessages

Your
ProgramThat is, an external program can drive HyperChem from outside by sending
it script messages. Interfacing to HyperChem does not imply that you statically link your code together with HyperChem code but rather that you completely control HyperChem from outside and read and write to HyperChem’s
data structures via external messages.

Dynamic Data ExchangeWith most computer operating systems, running programs can send messages
to one another. In the Unix environment these messages are often implemented with Pipes or Sockets and the Unix version of HyperChem can accept
messages sent by external programs in this fashion. Microsoft Windows andNT include a capability, referred to as Dynamic Data Exchange (DDE), thatis an equivalent capability allowing one Windows or NT program to communicate with another by sending it DDE messages.

External Script Messages
In the Microsoft Windows or NT environment a program external to andindependent of HyperChem can drive or control HyperChem by sending it
DDE messages. HyperChem responds to a complete set of script messages,
implemented via DDE, that are analogous and essentially identical to thescript commands discussed above. A script command is text placed in a file
while a script message is the corresponding text placed in a message. Thus aHyperChem molecular dynamics trajectory can be initiated by running ascript with the text do-molecular-dynamics in a *.scr or *.tcl file or by
sending a DDE message containing the same text.
These external DDE messages can be sent to HyperChem from essentially
any well-designed Microsoft Windows or NT program. Thus, HyperChem
can be driven from a word processor like Microsoft Word, a spreadsheet like

Introduction

7

Overview of Chapters

Microsoft Excel, a simple Visual Basic program or a C, C++, or Fortran program.

The HyperChem Application Programming Interface (HAPI)The CDK includes a dynamic link library (HAPI.DLL) and a static library(HAPI.LIB) that makes it particularly easy to interface your compiled Visual
Basic, C, C++, or Fortran program to HyperChem. Instead of using DDE, anexternal program can just make HAPI calls to HyperChem. These HAPI calls
are part of a higher-level interface that is included with the CDK and which
abstracts away from operating system and machine dependencies to give you
a portable interface to HyperChem. Everything you can do with the lowerlevel DDE interface you can accomplish with the HyperChem API.

Overview of Chapters
The CDK Manual contains the following chapters:

8

Chapter 1•

Chapter 1, this “Introduction,” discusses the general nature of the components of the Chemist’s Developer Kit and gives an overview of therest of the chapters.

•

Chapter 2, “Architecture of HyperChem,” discusses the general architecture of HyperChem including its Front End - Back End Architecture,
its Network Architecture, its Client-Server Architecture, and its Open
Architecture. Each of these architectural aspects is important for thericher understanding of HyperChem that is desirable in order for you tobe able to easily customize it or interface your own code to it. Of particular importance for the CDK is an understanding of the Open Architecture of HyperChem.

•

Chapter 3, “Customizing HyperChem,” describes script commands andthe execution of script files, either HyperChem Hcl script files or Tcl/Tk
Script files. Hcl script files contain simple sequences of script commands. Tcl/Tk Script files contain normal Tcl/Tk code with embedded
Hcl script commands. This chapter, in addition, gives a full descriptionof the custom menu capability.

•

Chapter 4, “HyperChem State Variables,” describes the concept ofHyperChem State Variables (HSV’s) in detail. The basic data structuresof HyperChem are HSV’s. These are registered by HyperChem atinstantiation and are made available for reliable Reading and Writing by
scripts and by external programs. This chapter provides background forOverview of Chapters

later chapters which use HSV’s in scripts and in the HyperChem Application Programming Interface (HAPI).
•

Chapter 5, “Custom Menus,” describes the concept of custom menus
and the syntax of a menu file. A menu file describes a set of menus andthe scripts that are executed upon selecting a menu item. This chapter
fully defines the use of custom menus in HyperChem.

•

Chapter 6, “Type 1 (Hcl Scripts),” describes the HyperChem Command
Language (Hcl) and scripts based upon it. These scripts are straight-line
scripts that access HyperChem data and functionality but include no control structures. Even without the superstructure provided by the control
structures of other languages, however, Hcl scripts can accomplish significant tasks on their own.

•

Chapter 7, “Type 2 (Tcl/Tk) Scripts,” describes a new feature of HyperChem, the inclusion of a very flexible and extensible scripting language
referred to as the Tool Command Language (Tcl). It includes an extension called the Toolkit (Tk) that can be used to build additional graphicaluser interfaces for HyperChem. All Type 1 (Hcl) script commands are
fully imbedded in the new Tcl/Tk interpreter.

•

Chapter 8, “DDE Interface to HyperChem,” describes the low level
DDE interface to HyperChem that allows the direct control of HyperChem by programs like Word or Excel. A first example of HyperChem
interfacing is given by having these external programs execute simple
script messages to affect the visual appearance of the HyperChem screen.
Subsequent, more complicated examples, are also described.

•

Chapter 9, “DDE and Visual basic,” describes how programs written in
Visual Basic can be interfaced to HyperChem via DDE. This extends thediscussion of the last chapter to a more fully programmable system like
Visual Basic. It contrasts with later Visual Basic applications that use the
HAPI library.

•

Chapter 10, “The External Tcl/Tk Interface,” describes an interface toHyperChem where external forms of Tcl and Tk are used to interface toHyperChem. Use of theTcl/Tk interpreter from outside HyperChem
allows for certain operations, such as notification, that are not possible
with the interpreter imbedded right into HyperChem.

•

Chapter 11, “HAPI Interface to HyperChem,” describes a higher level
library for interfacing to HyperChem for use by Visual Basic, C, C++,and Fortran programs. This HyperChem Application Programming
Interface (HAPI) is described along with the calls that it contains. The
Introduction

9Overview of Chapters

HAPI library is a fundamental component of the CDK. It is illustrated
with a Visual Basic example.
•

Chapter 12, “Development Using the Windows API,” describes thedevelopment of Windows and NT programs that interface to HyperChem. The type of development presented in this chapter uses the
Window’s System Developer’s Kit (SDK) approach, along with HAPI
calls. The SDK approach is a detailed and more fundamental way todevelop Windows programs than the approach of the next chapter.

•

Chapter 13, “Development Using the MFC,” describes the developmentof Windows and NT programs that interface to HyperChem and use theMicrosoft Foundation Classes (MFC). The MFC, in conjunction with
C++, enables one to build a Windows program much more quickly butwith somewhat less flexibility than with the SDK of the last chapter.
Development of interfaces to HyperChem using the MFC are described.

•

Chapter 14, “Console C and Fortran Applications,” describes the interface between Microsoft “console” applications (having no GUI) andHyperChem. The emphasis here is on taking “legacy” Fortran programs
and having HyperChem provide a GUI for them.

•

The three Appendices describe the complete set of Hcl script commands,
the set of Tcl/Tk script commands, and the details of each HAPI call.

Finally, the HyperChem CD-ROM and the associated installation of HyperChem 5.0 will provide you with a number of examples of the scripts, menu
files, and applications either discussed or perhaps not discussed in this CDK
manual. However, further material associated with the CDK will be found on
Hypercube’s WWW site (http://www.hyper.com) and you should regularly
check that site for additional help.

10Chapter 1

Chapter 2
Architecture of HyperChem

Introduction
This chapter contains information on the following architectural features ofHyperChem:•

The Front End - Back End Architecture•

The Master - Slave Architecture•

The Open Architecture•

The Client - Server Architecture•

The Network Architecture

The discussion here is given as general background on how HyperChem isconstructed so that you are in a better position to appreciate how and why customization and interfacing become possible. The material of this chapter is
not strictly required for what follows in later chapters but should assist you in
understanding the CDK.
Since HyperChem, like most large commercial products, has an evolving
design and is certainly not the product of a single, totally rational, design process, what is presented here is somewhat of a combination snapshot of both
the way it is and the way it is becoming. Nevertheless, what is described here
represents Release 5.0 in most regards.

The Front End - Back End Architecture
HyperChem basically consists of one monolithic Front End and numerous
Back Ends. In the Windows and NT environment each of these components
has its own icon and is a completely separate program. For example, the green
beaker icon represents the HyperChem front end program. The falling red

11

The Front End - Back End Architecture

apple icon represents one of the back end programs - in this case, HyperNewton.

GUI

DDE

Back
End

e.g. Molecular Mechanics

Back
End

e.g. Quantum Mechanics

Front
End
DDE
Visualization

The front end is the program that your interact with. It accepts input from you,
via the mouse and the keyboard, which constitute the GUI, and it provides
you with visualization services. For example, it may render a drawing of amolecule for you.
The back ends generally perform the compute intensive computations.
HyperChem Release 5.0 comes with 5 back ends - HyperMM+, HyperNewton, HyperEHT, HyperNDO, and HyperGauss. In principal, the back ends
compute only the energy of interaction of atoms and the first and second
derivatives of these energies. These energetic quantities feed the front end
which then computes chemically relevant properties. In practice, the subdivision of labor between a back end program and the HyperChem front end ismore complicated than this and depends on the situation.
One of the first things you might wish to consider as an application of the
CDK is to implement your own back end to replace one of the HyperChem
back ends. For example, you might like to have your own unique force fieldin replacement of the MM+, Amber, etc. force fields of HyperChem.
In the Windows or NT environment, the HyperChem front end and the various back ends communicate via DDE although one might have thought thatthey would communicate through files. The HyperChem front end - back end
DDE communication, however, is more of a live link than would be have beenpossible via normal file reading and writing.

12

Chapter 2

The Older Master - Slave Architecture

The Older Master - Slave Architecture
The normal front end - back end relationship in HyperChem Release 5.0 is amaster - slave relationship, i.e. the front end is the master over a back end
slave.
Calculate Something!

Front
End

Back
End

MasterSlave
Here is a Result!

The back ends do not initiate anything and do only as they are told by the front
end. If the front end requires the energy of a molecule, for example, it willknow whether a back end slave is idle, it will send the slave a molecule with
the instructions, “compute its energy,” and it will then wait for the slave toreturn the result. The slave, when it is sent a molecule and the instructions forcomputing some energetic quantity, will do so, returning the result to the front
end when it is finished. The slave will then return to an idle state waiting for
further instructions.
The Master - Slave Architecture is considered an older architecture by Hypercube. It is slowly being replaced by a newer Client - Server Architecture as
described in the next section. However, the existing back ends being shippedby Hypercube as part of Release 5.0 all still use the master - slave relationship. The protocol between a master and a slave in HyperChem is, and has
always been, an unpublished proprietary protocol. As such, knowing the
explicit details of the protocol is essentially irrelevant to the CDK and to you,the user. It is presented here so that you can understand the basic architectureof HyperChem. The newer client-server protocol described below is the protocol used by the CDK and is the one that you should expect to use in interfacing to HyperChem.

The Open Architecture
HyperChem has an Open Architecture in that:Architecture of HyperChem

13

The Open Architecture•

It can be driven by messages coming from other programs•

Other programs can read and write its internal data structures

The normal operation of HyperChem is via its GUI where you use the mouseand keyboard to operate HyperChem’s menus and dialog boxes. HyperChem
attempts to allow an external program to operate it in the same way that you
do sitting in front of the screen, except that the external program sends script
messages (rather than clicking on a key or a mouse button, which a program
can’t do).
For example, an external program can access an internal variable, such as thetotal energy, either for reading or writing, by sending a DDE message to theHyperChem front end.

Front End
total-energy

Proprietary DDE

Back End

ProtocolOpen DDE Protocol

External
Program

Only front end variables are available to external programs and all information and state held solely by the back end is private to HyperChem. For example, a back end program probably calculated the total energy but conveyed it
to the front end where it resides in a front end data structure.
These front end variables that are made available to external programs forreading and writing are referred to as HyperChem State Variables (HSV) andare part of the front end state. The front end HSV’s are available for reading
and writing at any time whether or not a back end has computed a value. The
default value, in this case, is zero.

14

Chapter 2

The Open Architecture

UMSG and VMSG
Another way of looking at the open architecture of HyperChem is by way of
its message interface. In the normal use of HyperChem, via the GUI, a user
provides input with mouse clicks and keyboard clicks. We refer to these
inputs as user messages. Each constitutes a UMSG. The result of a UMSG isthat the internal state of HyperChem changes and a visual change may appear
on the screen. We refer to these visual changes as HyperChem having emitted
a VMSG. While the user is not explicitly aware of having sent and received
these messages, HyperChem does indeed operate this way.

IMSG

VMSG
OMSG

UMSG
IMSG and OMSGThe open architecture implies that messages equivalent to a UMSG or VMSG
can be sent and received by external programs as well as interacting humanusers. For every UMSG there is expected to be an equivalent input message(IMSG). However, IMSGs are a superset of UMSGs because there are manytimes a program will want to interface to HyperChem in a way that a humanuser would not. For example, a program may want to initiate a molecular
dynamics trajectory without bringing up a dialog box that a human must
respond OK to. The IMSG may or may not generate an output message(OMSG) that augments the VMSG. These IMSGs and OMSGs constitute real
data that are conveyed to HyperChem, usually as text strings, by a script or a
DDE message.

Architecture of HyperChem

15

The Newer Client - Server Architecture

For example, a user clicking with the mouse on the menu item <File/Open>will bring up the File Open dialog box. A program external to HyperChem
can do the identical thing by sending an IMSG,
menu-file-open
The resulting OMSG, in this case, is nil but the VMSG is identical to that generated by the UMSG.

The Newer Client - Server Architecture
For a number of reasons it makes sense to move away from the master - slave
architecture. In particular, if the services of the HyperChem front end are to
be made available to you, other users, and third party programmers, you must
be in command of the situation, not HyperChem. Thus HyperChem should act
as a universal server to you, the client.
DDE
New
Back
End

Front
End

Your
Program

3rd
Party

ServerBack
End

Clients

The HyperChem front end has essentially always acted as a server to external
programs as, for example, with ChemPlus, HyperNMR, or programs like
Microsoft Excel. The CDK, however, extends and documents this capability,
making it possible to even replace Hypercube’s proprietary back ends withthird party back ends.
These client programs are generally started by the HyperChem front end via
a custom menu in HyperChem. When the program begins executing it
requests services from HyperChem such as asking it to send a copy of thecoordinates of the molecule currently on the screen. It might then computeproperties of the molecule and then ask HyperChem to display these properties.
A client program need not reflect just a back end operation but could instead
augment the front end GUI or visualization capability of HyperChem. Your
program can be of arbitrary design using HyperChem only for functionality
16

Chapter 2

The Network Architecture

you do not want to reproduce. HyperChem can act as a GUI server, a computational server, or a visualization server all at the same time. The HyperChem
back ends are not directly accessible to external programs but only throughthe HyperChem front end acting as a proxy.

The Network Architecture
As described above, the HyperChem front end, the HyperChem back ends,
and third party programs that are DDE compliant, such as Excel or programs
built with the Hypercube CDK, can communicate with each other via messages. This communication is initially assumed to occur on a single PC running Windows or NT.

Network DDE
Microsoft, however, has implemented Network DDE, in Windows 95 andNT. Thus it is possible to place any of the various components of a solution
onto different PCs as long as they are connected by an appropriate network .
Old
Back
End

Front
End

Network
DDE

Slave

New
Back
End

Your
Program

3rd
Party

ClientAn old back end communicates with the front end by means of Hypercube’s
proprietary protocol while a new back end uses the open client-server protocol of the CDK.

UNIX
While the following discussion is not strictly relevant to this Windows CDK,
a completely analogous CDK and capability is available for Unix versions ofHyperChem. In this case DDE is replaced by a Pipe and Socket capability.
The Unix versions of HyperChem have a front end - back end architecture aswell so that essentially everything we say here applies equally to the Unix
Architecture of HyperChem

17

The Network Architecture

world once DDE messages and communication are replaced by their Unix
equivalents. The HyperChem API, on the other hand, is portable across platforms.

Remote Back Ends
Hypercube, Inc. supports the mixing of Windows and NT with Unix in thesense that Remote Unix Back Ends are available for Unix machines from
Digital Equipment Corporation, IBM, Silicon Graphics, and SUN. This
allows a desktop PC to use a Unix machine to perform compute intensive
back end calculations.
These Unix back ends communicate in the older proprietary way with theWindows or NT front end via a proprietary socket protocol. On the Windows
or NT side, DDE is replaced by equivalent socket (the WINSOCK standard)
messages.
Old
Back
End

Unix
MachineSocketFront Windows
or NT
End Machine

Mixing UNIX and Windows or NT
For completeness it ought to be possible to combine the Windows and NT
CDK and the Unix CDK to allow a Unix 3rd party client application to communicate properly with a Windows or NT desktop front end server. Alternatively an NT client might like to use a UNIX machine for HyperChem visualization services. It is not yet possible, however, to mix windows and Unix
for these CDK functions. One possible way to obtain this capability (Windows front end HyperChem server and Unix back end client) would be tohave a 3rd-party Windows program receive Unix socket messages and translate them into DDE messages for Windows HyperChem.
This and the other network aspects of HyperChem are pointed out here forcompleteness. This manual and the Windows and NT version of the CDK do

18

Chapter 2

The Network Architecture

not attempt to describe the equivalent Unix product but relate only to the Windows and NT programs described here.

Architecture of HyperChem

19

The Network Architecture

20

Chapter 2

Chapter 3
Customizing HyperChem

Introduction
This chapter describes how HyperChem can be customized via:•

Scripting•Custom Menus

These two capabilities allow you to automate many of the computations you
perform with HyperChem or to customize HyperChem for your own purposes. This chapter does not describe the interfacing of external programs toHyperChem which, in itself, is a form of customization; that is left for later
chapters. Here we focus on how HyperChem can be customized through theprocess of writing a set of scripts and through your ability, in Release 5.0, toredefine the whole menu structure of the program if you chose to do so.

A Flexible Development Platform
Scripting and custom menus, by themselves, allow you to customize HyperChem in a very large variety of ways. It is possible to, in essence, start fromscratch with just a bare Window (no menus) and add only the capabilities you
wish. Any menu item can be tied to the execution of an arbitrary script. With
Release 5.0 and the CDK, we at Hypercube, Inc. are working towards a
Chemical Operating System that allows end users and third-party developers
to develop their own products using our tools. With the ability to interface
external programs to HyperChem and have them access any of the capabilities of a custom HyperChem, a very flexible chemical development tool
becomes available.

21

What are Scripts?

What are Scripts?
A script consists of a sequence of individual script commands that are held ina script file. Each script command consists of simple text that can be executed
to invoke a HyperChem action, to read or write HyperChem data, etc. A script
can be created with a text editor such as the Windows Notepad. A script canbe executed in HyperChem by simply opening the script with the HyperChem<Script/Open...> menu item. Alternatively, scripts can be created and executed via the Script Editor of ChemPlus.
There are two kinds of scripts. The first consists of a simple straight-line
sequence of commands without any control structures (such as for-loops, ifstatements, etc.). These are referred to as Type 1 scripts. The second, muchricher, type of script has elaborate control structures and is referred to as a
Type 2 script. Type 2 scripts contain Type 1 script commands within them.

Type 1 (Hcl) Scripts
The first kind of script, the only kind available prior to Release 5.0, is referred
to as a Type 1 Script. These consist of a sequence of text lines of the form,
window-color green

The above script command, executed within a script, changes the backgroundworkspace (window) color to green. Executing this script command is equivalent to using the mouse and the <File/Preferences...> dialog box in the GUI
to change the window color. We will often use this simple script command,
one of potentially hundreds, to illustrate many of the basic ideas in the CDK.
With Release 5.0 and the CDK, one now refers to these script commands as
being part of the HyperChem Command Language (Hcl). Hcl commands inthe HyperChem Command Language, minus any possible arguments, areidentifiable as a contiguous sequence of words separated by hyphens, e.g.
menu-file-start-log.
Type 1 scripts are held in *.SCR files, i.e they have a default SCR file extension.

Type 2 (Tcl/Tk) Scripts
The newer scripts in Release 5.0 are referred to as Type 2 Scripts or as Tcl/Tk
Scripts. These scripts use a public domain Tcl/Tk interpreter that is part ofHyperChem Release 5.0. The interpreter can interpret Hcl script commands

22

Chapter 3

Type 2 (Tcl/Tk) Scripts

imbedded in normal Tcl/Tk code. The Tcl/Tk interpreter was developed byJohn Ousterhout and collaborators at the University of California at Berkeley
and at Sun Microsystems. It is described in the following books that may be
important to you in becoming an efficient developer of Type 2 Scripts:•

Eric F. Johnson, Graphical Applications with Tcl & Tk, 1996, M&T
Books, New York, N.Y., ISBN 1-55851-471-6.

•

John K. Ousterhout, Tcl and the Tk Toolkit, 1994, Addison-Wesley,
Reading, Mass., ISBN 0-201-6337-X.

•

Brent Welch, Practical Programming in Tcl and Tk, Prentice Hall, 1994.

It is also described at the following World Wide Web sites:•

http://www.sunlabs.com:80/research/tcl/•

http://www.sco.com/Technology/tcl/Tcl.html

The Tool Command Language orTcl part of Tcl/Tk describes a very generalscripting language that can embed custom scripting operations such as the Hcl
script commands. The Tk part of Tcl/Tk describes an extension to Tcl thatmakes it possible to easily create a graphical user interface (GUI) having
menus, dialog boxes, etc. Thus a Type 2 script consists of a sequence of script
lines that are a mixture of Tcl/Tk (“tickle”) lines and Hcl (“hickle”) lines.
Type 2 scripts add variables, do- or while-loops, if-statements, and so on to ascript, so that a script can now be a very general purpose program having its
own GUI, visualization, etc. An simple example of a Type 2 script is:
TclOnly
set i 10
while { $i > 0 } {incr i -1
if { ($i - 2*($i/2)) == 1 } then {hcExec window-color black } else {hcExec window-color white }}Exit

Customizing HyperChem

23

Custom Menus

This script causes the background window color to alternate between black
and white. The while-loop has the variable i going from 10,9,8... to 1. For
even values of i the window color is set to black while for odd values of i it is
set to white. The TclOnly command indicates that no Tk window is needed.
It should be the first command of any simple script that requires no addition
to the HyperChem graphical user interface. The hcExec (Hyperchem execute)command is always followed by the appropriate Hcl command, which in thiscase sets the color of the HyperChem workspace window. Note that Tcl/Tk iscase sensitive; a command with the wrong case, such as Tclonly, would be aninvalid command. A Tcl script is normally exited with the Exit command.
Type 2 scripts are held in *.TCL files, i.e they have a default TCL file extension.
The whole while statement above is really a single Tcl/Tk command. The
while command contains other embedded Tcl/Tk commands plus embedded
Type 1 script commands. The hcExec command embeds Hcl commands thatcan be menu invocations, such as menu-file-open, direct commands, such as
do-molecular-dynamics, or HSV writes, such as window-color green. The
corresponding hcQuery command embeds HSV reads. Thus, the following
Tcl script creates a Tk window with a message, called .msg, contained in thewindow and displaying the coordinates of each of the atoms:
message .msg -text [hcQuery "coordinates"]pack .msg

The pack command places widgets, such as .msg, in the main Tk window andcontrols their layout. Tk widgets are normally named to begin with a “dot”.

Custom Menus
With Release 5.0 of HyperChem, you can now redefine each and every menu
item to fully customize HyperChem’s menus. When HyperChem is first
invoked, it has a standard set of menus as with any other Windows product.
However, if one subsequently executes the Hcl script command:load-user-menu custom.mnu

then the standard menus are discarded and replaced by a new set of menus
defined by a menu file which, in the above case, is the file custom.mnu.
These menu files define the custom text of each menu button (for each of the
new custom menus), and the action that is taken when each menu button is

24

Chapter 3

Custom Menus

pushed. The custom action for each menu button, as defined in the file, canbe any Hcl script command.
For example, to re-implement the <File/New> menu item exactly as it isshipped in the default product, the custom menu file should request the action,menu-file-new

when the appropriate button with text “New” on the “File” menu is pushed.
A menu file is basically just a description of the text and the keyboard assist
for each new menu button plus an associated Hcl script command for the button.
Because any of the button actions (Hcl script commands) could be of theform,
read-tcl-script xxx.tcl

it is also possible to have any menu button execute a Tcl script. This resultsin HyperChem being capable of having very generic menus and functional
capability. That is, since a Tcl/Tk script can be executed upon pushing any
menu button, and since a Tcl/Tk script can, in principle, accomplish any programming task, there is no fundamental limitation to the generality of HyperChem.
The following menu file, for example, creates a version of HyperChem thathas a single menu (“Custom”) with a single menu item (“Version”) which
does nothing other than inform the user of the current release number whenthe menu button is pushed,
MENU "&Custom"
ITEM "&Version",query-value version
END
New keyboard accelerators are not available for custom menu items. The
default HyperChem keyboard accelerators are always active. However, keyboard assists or shortcuts, usable with the Alt key and indicated by the ampersand, are available.

Before continuing with the description of user-defined menus and scripts forcustomizing HyperChem, we will first elaborate on the concept of HyperChem State Variables (HSV’s). These are fundamental to the whole conceptof customization or interfacing.

Customizing HyperChem

25

Custom Menus

26

Chapter 3

Chapter 4
HyperChem State Variables

Introduction
This chapter describes a very important feature of HyperChem, the concept
of its current state and the variables that represent that state. These HyperChem State Variables (HSV’s) define the current state of visualization andcomputation in HyperChem, e.g. the color of a window or the total energy ofa molecule, and can be read and written by scripts or by external programs.
these HSV’s are registered when HyperChem is invoked and can be reliably
queried or modified from then on.

Registering of HSV’s
When HyperChem is first invoked, one of the things it does is to register, forreliable import and export, a large number (hundreds) of data structures. In
cases these data structures are just simple variables rather than more complicated arrays, lists, etc. By registering these data structures we mean that of all
the internal data structures that come and go dynamically in HyperChem,these ones can be requested to be read or written at any time. Any registeredvariable can be reliably and robustly accessed. If the HSV value is not yet
available, HyperChem will issue a simple warning at the attempted access.
You needn’t worry about writing an HSV value to HyperChem and causing
its internal operation to be badly perturbed, apart from the intended effect of
having a new value for an HSV.

An Example of an HSV
An example of a HyperChem State Variable is window-color. The names forthese variables are fixed inside the code of HyperChem and may or may notalways be optimally descriptive. The variable window-color defines the background of the HyperChem workspace (the area displaying a molecular system). It is commonly black but can be changed via the <File/Preferences...>27

Introduction

menu item to be any one of the 8 basic HyperChem colors. The variable is an
enumerated variable of type Enum. That is, it is one of a small number of predefined values represented internally in the computer by an integer but inyour program code as some member of the set {Black, Blue, Green, Cyan,
Red, Violet, Yellow, or White}.
Another example of an HSV with more chemical content is dipole-moment.
This is a R/W variable also and behaves just as window-color. However, we
prefer to use window-color in many of our examples because it is immediately visually obvious when this variable changes. The consequences of writing a new value for the dipole moment are also a little obscure. In actuality noharm comes from writing an arbitrary value for the dipole moment to HyperChem; it just may not correspond to the correct dipole moment for the molecule on the screen. It will be overwritten when a calculation, such as a wave
function calculation, is performed that computes the dipole moment.

Read/Write Nature of HSV’s
All HSV’s can be classified as Read-Only (R) or as Read-Write (R/W). An
example of a variable that is read-only is selected-atom-count. HyperChem
makes extensive use of “atom selections” and this variable reports the total
number of currently selected atoms. While it is possible to select atoms via ascript, it makes no sense to write new values of this variable that would contradict the number of atoms that HyperChem determines to be currently
selected. This number will be automatically updated by HyperChem if anexternal program were to select some atoms in HyperChem.

Using HSV’s
Here we describe the reading and writing of the simplest type of HSV, a scalar. Later, we will describe the reading and writing of HSV’s that have amore complicated structure. We use the simple HSV, window-color, as our
example.

28

Chapter 4

Introduction

Writing
An HSV is written by simply giving its new value after the variable, with orwithout an equal sign. Thus the following are all appropriate Hcl script commands for turning the background screen color to green:
window-color green
window-color = green
WInDOw-CoLOR=GReeN

Hcl script commands are case insensitive and spacing is ignored except
within the HSV name.

Reading
Two equivalent syntactical methods are available for reading HSV’s. The
first is through a Hcl command, query-value, which takes an HSV as an argument:
query-value window-color

The second and completely equivalent way to ask for the value of an HSV is
to simply name the HSV placing a question mark after it, separated by at least
one space:window-color ?

Either of these procedures returns to the questioner (provided the HyperChem
screen is green) the output message (OMSG) string:
window-color = GreenThe output message is returned to an external program, if that is who sent theoriginal query or, by default, to a message box on the screen if the original
query came from an internal script. Through the use of an Hcl script command, omsgs-to-file, the message string generated by the Hcl script can beplaced in a file rather than appear in a message box on the screen. Finally, thereturning OMSG string could have been shortened to just “Green” rather
than “window-color = Green” if the HSV, query-response-has-tag, hadbeen set to false prior to issuing the original query.

Notifications
It is possible to make a request to HyperChem that you be sent an OMSG
should the value of an HSV change. The message you might eventually
receive is identical to that which you could receive by performing a queryvalue. The OMSG is repeatedly sent to you whenever the variable changes it
HyperChem State Variables

29

Introduction

value. For data structures more complex than simple variables, the notification is sent if any member of the data structure changes. For example, monitoring the window-color is accomplished with the script command,
notify-on-update window-color

The notification can be cancelled at any later time via the script command
cancel-notify window-color

Notifications are quite powerful and can be extremely useful. For example,
you could ask for a notification of the total-energy during an optimization andeasily plot a graph of the optimization with the values sent to you by HyperChem. These notifications are really only meaningful in the context of an
external program interfaced to HyperChem rather than in the context of aninternal script.

Atom Numbering for HSV’s
It is important in using HSV’s to understand how HyperChem numbers
atoms. Each molecule (connected graph) in the HyperChem workspace has
its own number (1, 2,...). The atoms in any molecule are numbered starting at
1 also. Thus a unique id for an atom includes two numbers - the molecule
number and the atom number within the molecule (atom-in-molecule number).
Thus if a number is to be used as a unique index for an atom, it has the form,(atom number, molecule number). For example, (2,1) is the second atom in
the first molecule. The atom index always comes before the molecule index
in conventional HSV usage.

Argument Types for HSV’s
The types of arguments that HSV variables have are the following:

30

Chapter 4

BooleanYes or no, true or false, 0 or 1.

stringText (letters, characters, or symbols, in upper- or lowercase, unlimited number of characters). Enclose a string inquotes (“ ”) if it contains spaces, tabs, or newline characters.

filename

A type of string requiring a DOS filename.

enum

A type of string requiring one of a limited set of possibilities.

int

An integer.

Kinds of HSV’sfloat

A floating point (decimal) number. For an angle, the number is in degrees.

An int or float may have limits which are checked. For example, create-atomtakes an int that is restricted to the range (1..103) and creates an atom withthis atomic number at the origin of the molecular system. Floats may have
similar limits. A string may not always need to be enclosed in quotes(“string”) but it is safer to do so. Appropriate values for an enum depend on
the context, of course.

Kinds of HSV’s
A number of different types of HSV’s are available. They are classified by
how they are assigned values. The simplest are just scalars.

Scalar HSV’s
A scalar HSV is one which does not use an index. A simple example is maxiterations, the maximum number of allowed iterations in a self-consistentfield (SCF) calculation. The argument is an int in the range (1..32767) and an
assignment (write) looks as follows:
max-iterations = 100

The equal sign is not strictly necessary and white space will do:
max-iterations 100

The number of arguments for a scalar HSV, while normally one, it not
restricted to one. For example the HSV, dipole-moment-components, takes
three float arguments - the x, y, and z components. It is defined as a scalarsince you do not use an array index with it but assign or query all its components simultaneously. It is written or assigned, with a flexible syntax, as follows:
dipole-moment-components 1.0 2.0 3.0
dipole-moment-components = 1.0 2.0 3.0
dipole-moment-components = 1.0, 2.0, 3.0

That is, the arguments may begin with an equal sign or not, be separated bycommas or not, etc. The syntax is flexible but equal signs and commas aresuggested as an appropriate convention.

HyperChem State Variables

31

Kinds of HSV’s

Vector HSV’s
A vector HSV is one which takes a single index. An example is the HSV,
alpha-orbital-occupancy. This variable describes the number of electrons in
an alpha (spin up) molecular orbital from an unrestricted Hartree-Fock (UHF)calculation. When the calculation is a restricted Hartree-Fock (RHF) calculation having no beta occupied orbitals different from alpha occupied orbitals
then the alpha-orbital-occupancy variable describes the total occupancy ofalpha and beta electrons in an orbital. Thus the arguments are 0 and 1 for UHF
calculations and 0 and 2 for RHF calculations. Thus, for H2 you can externally set the first (HOMO) orbital to be occupied and the second (LUMO)
orbital to also be occupied (corresponding to H22-) by the following script
commands:
alpha-orbital-occupancy(1) 2alpha-orbital-occupancy(2) 2

or, equivalently,
alpha-orbital-occupancy(1) = 2
alpha-orbital-occupancy(2) = 2

For a standard minimal basis calculation on H2, the query,alpha-orbital-occupancy ?

would return the normal result
alpha-orbital-occupancy(1) = 2
alpha-orbital-occupancy(2) = 0

That is, even though a query such asalpha-orbital-occupancy(1) ?

is perfectly valid, it is possible to query for all relevant indices (1..2) at once,
as we have done above. It is, of course, also possible to use the alternativesyntax,query-value alpha-orbital-occupancy(1)32Chapter 4

A Finite State Machine View of HyperChem

Array HSV’s
An array HSV is defined to be one which takes two indices. These two indices
are always the atom index and the molecule index (iat, imol). If one thinks ofthis combination as a single unique index, then an array is just a vector where
the index is a unique atom number. A simple example is the mass of an atomwhich is represented by the HSV, atom-mass. The atomic masses of H2 would
be assigned as follows,
atom-mass(1,1) = 1.008
atom-mass(2,1) = 1.008

That is, the first and second atoms of molecule one are assigned. Anotherexample is the Cartesian coordinates of the atoms. This is an array with 3
arguments analogous to the dipole moment components above. The coordinates of H2, again, could be assigned as follows,
coordinates (1,1) = 0.0, 0.0, 0.0
coordinates (2,1) = 0.0, 0.0, 0.74

An alternative to this is to assign all coordinates at once,
coordinates = 0 0 0 0 0 0.74

Note again that there is flexibility in using commas or equal signs or not usingthem.

A Finite State Machine View of HyperChem
HyperChem has the characteristics of a Finite State Machine (FSM). By this
it is meant that HyperChem has a finite set of internal states; an input received
while in a particular state causes a transition to a new state with the consequent emission of an output. The set of states and the set of inputs/outputs
associated with the set of possible state transitions fully characterizes an
FSM.
In the HyperChem case, the inputs are messages and the outputs are messages. these messages are of four kinds (two input and two output):•

User message (UMSG) - an input message coming from the user using
the mouse of keyboard.

HyperChem State Variables

33

A Finite State Machine View of HyperChem•

Visual message (VMSG) - an output message representing a visualchange in the screen.

•

Input message (IMSG) - an input message coming from a script or froma Dynamic Data Exchange (DDE) message.

•

Output message (OMSG) - an output message going to a script directed
target or to an external receiver of DDE messages.

The normal interactive use of HyperChem has UMSGs as input and VMSGs
as output. That is, when you click the mouse, something changes on thescreen. It is possible to drive HyperChem with IMSGs rather than a mouse or
keyboard. With an IMSG for input, one obtains possibly both a VMSG andan OMSG for output. That is, an IMSG, in addition to causing a visual changeon the screen may result in an OMSG being sent to a receiver associated withthe sender of the IMSG.
IMSGs are meant to be a superset of UMSGs. It is intended that anything you
can do with the mouse you can do with an IMSG. In addition, IMSGs will
trigger actions and state changes that are impossible by direct interaction. The
target for OMSGs depends on the source of the IMSG and on the redirectionof OMSGS by previous IMSGs. These generic concepts have two current
implementations. One is implemented by the Hcl scripting language and theother is implemented by dynamic data exchange (DDE).
As an example of the state machine aspects of HyperChem, consider two
states of HyperChem shown below as circles. The state is whether a stick rendering is shown on the screen as a normal image or as a stereographic image.
Equivalently, the two states are described by an internal HyperChem State
Variable (HSV) called show-stereo. when this variable is false, a normal(mono) image is displayed but when this variable is true, a double (stereo)
image is displayed. The transitions between the two states are represented asarrows. the transition is triggered by an <input> and results in an <output>
and each transition (arrow) is labelled:transition:<input>/<output>

The input in this case is an IMSG of type “show-stereo”, the name of the
HSV, with an argument (part of the data of the message) of either “true” or“false”. The output message is simply a VMSG that changes the screen display. No OMSG is emitted in this case.

34

Chapter 4

An HSV Server View of HyperChem.
show-stereo false / see mono rendering

stereomono

show-stereo true / see stereo rendering

An HSV Server View of HyperChem
The HyperChem State Machine acts as a universal HSV Server in a ClientServer architecture. This is consistent with HyperChem attempting to be acore component of any chemical computation. Other programs, scripts, andthird-party processes are clients that HyperChem serves. Consider a thirdparty application such as one that you would potentially write. If you want themolecular coordinates to perform a calculation with, you must make a request
to HyperChem for the coordinates rather than expect HyperChem to send
them on its own. HyperChem is sitting in a loop servicing requests like thisas they come in. When it receives the request from you for coordinates, it
sends them and then looks for another request. Some of these requests comefrom a user interacting with a mouse and some come from you and your program requesting further data, requesting the ability to access certain HyperChem functionality, or requesting a change in HyperChem’s internal state
via the setting of a HyperChem State Variable (HSV). These server requests
are what we have called UMSGs or IMSGs above. A UMSG comes from aninteracting user clicking on a mouse or the keyboard while an IMSG is aninternal request in a script or an external request coming in a DDE message.
Further information on HSV’s is contained in Chapter 6, Appendix A, or theHyperChem Reference Manual.

HyperChem State Variables

35

An HSV Server View of HyperChem

36

Chapter 4

Chapter 5
Custom Menus

Introduction
This chapter describes in detail the customizing of HyperChem via your ability to add menu items to the <Script> menu plus your ability to redefine completely the menu structure with a menu (*.mnu)file.

Script Menu Items
There has been the ability in earlier releases of HyperChem to add menu items
to the <Script> menu. This capability is still there, with two slightly different
ways of invoking it (using the “third” menu item as an example):(1) change-user-menuitem 3, “Sample”, “sample.scr”
script-menu-enabled(3) = true(2) script-menu-caption(3) = “Sample”
script-menu-command(3) = “read-script sample.scr”
script-menu-enabled(3) = true

Executing the above script, Example1.scr from the HyperChem CDROM, illustrates this behavior. For simplicity, the sample.scr file contains only the single Hcl script command, window-color=green, which gives
a quick visual feedback of the effect of the new menu item. The new menu
item is shown below:

37

Menu Files

Up to ten new menu items, with vector indices 1..10, are available under the<Script> menu. Each new menu item shows up in the order associated withthe vector index which was assigned to it, such as the “3” above. Menu items
that have not been assigned a caption do not show up.

Menu Files
What is new in Release 5.0 of HyperChem is that, in addition to adding newmenu items in the <Script> menu, all the menu items can now be designed
from scratch and instead of just executing a Hcl script any menu item can now
execute a much more generic Tcl/Tk script.
This new functionality comes about via the three new Hcl script commands,
load-user-menu <menu file (*.mnu)>
load-default-menu
switch-to-user-menu

The first of these loads and switches HyperChem to a set of custom menus
defined in a menu file. The remaining two switch back and forth between thedefault hard-wired menus and the user custom menus, provided they havebeen defined earlier by the first script command of the above three.

38

Chapter 5

Menu Files

A menu file need not have the *.mnu extension since it simply a text file but
it is convenient for menu files to be recognized with their own extension.
These menu files define the left-to-right and top-to-bottom structure of a complete set of menus via sequential text lines of the form,
MENU <text-string>
ITEM <text-string>, <Hcl-script-command>
ITEM ...
END

The text string is the text that you see on the menu or menu item, including
the naming of a possible keyboard assist via the ampersand, “&”, being
placed prior to the character that is to be used with the Alt key, as per theMicrosoft Windows standard. If a menu has no subset of items but is its own
menuitem and can be activated by clicking on it alone, it is defined in theform,
MENUITEM <text-string>, <Hcl-script-command>

Cascading menus are not supported. The menu file that corresponds to thedefault set of hard-wired menus is on the HyperChem CD-ROM as
default.mnu. It looks as follows:;; 1996 (c) Hypercube, Inc.
; User Customizable Menu;
MENU "&File"
ITEM "&New\tCtrl+N",menu-file-new
ITEM "&Open...\tCtrl+O",menu-file-open
ITEM "&Merge...",menu-file-merge
ITEM "&Save\tCtrl+S",menu-file-save
ITEM "Save &As...\tCtrl+A",menu-file-save-as
SEPARATORITEM "S&tart Log...",menu-file-start-log
ITEM "Stop Lo&g",menu-file-stop-log
ITEM "&Log Comments...",menu-file-log-comments
SEPARATORITEM "&Import...",menu-file-import
ITEM "&Export...", menu-file-export
SEPARATORITEM "&Print...\tCtrl+P", menu-file-print
SEPARATORITEM "Pr&eferences...",menu-file-preferences

Custom Menus

39

Menu Files

SEPARATORITEM "E&xit",menu-file-exit
END
MENU"&Edit"
ITEM "&Clear\tDelete",menu-edit-clear
ITEM "C&ut\tCtrl+X",menu-edit-cut
ITEM "C&opy\tCtrl+C",menu-edit-copy
ITEM "Copy ISIS S&ketch",menu-edit-copy-isis-sketch
ITEM "&Paste\tCtrl+V",menu-edit-paste
SEPARATORITEM "Cop&y Image\tF9",menu-edit-copy-image
SEPARATORITEM "&Invert",menu-edit-invert
ITEM "&Reflect",menu-edit-reflect
SEPARATORITEM "Rotat&e...",menu-edit-rotate
ITEM "&Translate...",menu-edit-translate
ITEM "&Zoom...",menu-edit-zoom
ITEM "Z C&lip...",menu-edit-z-clip
SEPARATORITEM "&Align Viewer...",menu-edit-align-viewer
ITEM "Align &Molecules...",menu-edit-align-molecules
SEPARATORITEM "Set &Bond Length...",menu-edit-set-bond-length
ITEM "Set Bon&d Angle...",menu-edit-set-bond-angle
ITEM "Set Bo&nd Torsion...",menu-edit-set-bond-torsion
END
MENU"&Build"
ITEM "&Explicit Hydrogens",menu-build-explicit-hydrogens
ITEM "&Default Element...",menu-build-default-element
ITEM "&Add Hydrogens",menu-build-add-hydrogens
ITEM "&Model Build",menu-build-model-build
SEPARATORITEM "Allow &Ions",menu-build-allow-ions
ITEM "&United Atoms",menu-build-united-atoms
ITEM "A&ll Atoms",menu-build-all-atoms
SEPARATORITEM "Calculate T&ypes",menu-build-calculate-types
ITEM "Compile Type &Rules",menu-build-compile-type-rules
SEPARATORITEM "&Set Atom Type...",menu-build-set-atom-type
ITEM "Set &Mass...",menu-build-set-mass
ITEM "Set C&harge...",menu-build-set-charge

40

Chapter 5

Menu Files

ITEM "&Constrain Geometry...",menu-build-constrain-geometry
ITEM "Constrain &Bond Length...",menu-build-constrain-bond-length
ITEM "Constrain Bond An&gle...",menu-build-constrain-bond-angle
ITEM "Constrain Bond &Torsion...",menu-build-constrain-bondtorsion
END
MENU"&Select"
ITEM "&Atoms",menu-select-atoms
ITEM "&Residues",menu-select-residues
ITEM "&Molecules",menu-select-molecules
SEPARATORITEM "M&ultiple Selections",menu-select-multiple-selections
ITEM "&Select Sphere",menu-select-select-sphere
SEPARATORITEM "S&elect All",menu-select-select-all
ITEM "&Complement Selection",menu-select-complement-selection
ITEM "Se&lect...",menu-select-select
ITEM "&Name Selection...",menu-select-name-selection
SEPARATORITEM "E&xtend Ring",menu-select-extend-ring
ITEM "Ex&tend Side Chain",menu-select-extend-side-chain
ITEM "Exten&d to sp3",menu-select-extend-to-sp3
ITEM "Select Bac&kbone",menu-select-select-backbone
END
MENU"&Display"
ITEM "&Scale to Fit\tSpace",menu-display-scale-to-fit
ITEM "&Overlay",menu-display-overlay
SEPARATORITEM "Show &All",menu-display-show-all
ITEM "Sho&w Selection Only",menu-display-show-selection-only
ITEM "&Hide Selection",menu-display-hide-selection
SEPARATORITEM "&Rendering..."menu-display-rendering
ITEM "Last Renderin&g\tF2"menu-display-last-rendering
SEPARATORITEM "Show &Isosurface\tF3"menu-display-isosurface
ITEM "Isosur&face...\tF4"menu-isosurface-control
SEPARATORITEM "Show H&ydrogens",menu-display-show-hydrogens
ITEM "Show Periodic &Box",menu-display-show-periodic-box
ITEM "Show &Multiple Bonds",menu-display-show-multiple-bonds
ITEM "Show Hy&drogen Bonds",menu-display-show-hydrogen-bonds
ITEM "Recomp&ute H Bonds",menu-display-recompute-h-bonds

Custom Menus

41

Menu Files

ITEM "Show Inertial A&xes",menu-display-show-inertial-axes
ITEM "Show Dipole Momen&t",menu-display-show-dipole-moment
SEPARATORITEM "&Labels...",menu-display-labels
ITEM "&Color...",menu-display-color
ITEM "&Element Color...",menu-display-element-color
END
MENU"D&atabases"
ITEM "&Amino Acids...",menu-databases-amino-acids
ITEM "&Make Zwitterion",menu-databases-make-zwitterion
ITEM "&Remove Ionic Ends"menu-databases-remove-ionic-ends
SEPARATORITEM "&Nucleic Acids...",menu-databases-nucleic-acids
ITEM "Add &Counter Ions",menu-databases-add-counter-ions
SEPARATORITEM "M&utate...",menu-databases-mutate
END
MENU "Se&tup"
ITEM "&Molecular Mechanics...",menu-setup-molecular-mechanics
ITEM "&Semi-empirical...",menu-setup-semi-empirical
ITEM "&Ab Initio...",menu-setup-ab-initio
SEPARATORITEM "&Periodic Box...",menu-setup-periodic-box
ITEM "&Restraints...",menu-setup-restraints
ITEM "Set &Velocity...",menu-setup-set-velocity
SEPARATORITEM "S&elect Parameter Set...",menu-setup-select-parameter-set
ITEM "C&ompile Parameter File",menu-setup-compile-parameter-file
SEPARATORITEM "&Reaction Map...", menu-setup-reaction-map
END
MENU"&Compute"
ITEM "&Single Point",menu-compute-single-point
ITEM "&Geometry Optimization...",menu-compute-geometryoptimization
SEPARATORITEM "&Molecular Dynamics...",menu-compute-molecular-dynamics
ITEM "&Langevin Dynamics...",menu-compute-langevin-dynamics
ITEM "Monte &Carlo...",menu-compute-monte-carlo
SEPARATORITEM "&Vibrations",menu-compute-vibrations
ITEM "&Transition State...",menu-compute-transition-state
SEPARATOR

42

Chapter 5

Simple Example

ITEM "&Plot Molecular Properties...", menu-compute-plot-molecularproperties
ITEM "&Orbitals...",menu-compute-orbitals
SEPARATORITEM "Vi&brational Spectrum...",menu-compute-vibrational-spectrum
ITEM "&Electronic Spectrum...",menu-compute-electronic-spectrum
END
MENU "Sc&ript"
ITEM "O&pen Script...",menu-script-open-script
ITEM "&Compile Script...",menu-script-compile-script
END
MENUITEM "Ca&ncel",menu-cancel
MENU "&Help"
ITEM "&Index",menu-help-index
ITEM "&Keyboard",menu-help-keyboard
ITEM "&Commands",menu-help-commands
ITEM "&Tools",menu-help-tools
ITEM "&Scripts \& DDE",menu-help-scripts-&-DDE
ITEM "&Glossary",menu-help-glossary
ITEM "&Using Help",menu-help-using-help
SEPARATORITEM "&About HyperChem", menu-help-about-hyperchem
END
An extension of this menu file, called chemplus.mnu, is on the HyperChem CD-ROM to enable users of Release 5 to continue using ChemPlus
from menu items. [Although ChemPlus 1.5 continues to work with HyperChem 5.0, the ChemPlus modules cannot be activated by menu items except
through a menu file such as described here].

Simple Example
The custom menus can be illustrated by executing the script,
Example2.scr from the HyperChem CD-ROM:
script-menu-caption(1) = "Rotate Menus"
script-menu-command(1) = "load-user-menu rotate.mnu"
script-menu-enabled(1) = true

This script puts a new menu item in the <Script> menu. The new menu button
has the text, “Rotate Menus” on it. Pushing this menu button will execute a
script command, as shown above, that loads a custom set of user menus(rotate.mnu) rather than the hard-wired default menus that come with theCustom Menus

43

Simple Example

product. A set of custom menus is characterized by a menu file (*.mnu),
which in this case is the set of menus defined in rotate.mnu (from theHyperChem CD-ROM):MENU "&File"
ITEM "&New\tCtrl+N",menu-file-new
ITEM "&Open...\tCtrl+O",menu-file-open
ITEM "E&xit",load-default-menu
END
MENU"&Rotate"
ITEM "&X Axis",read-tcl-script rotatex.tcl
ITEM "&Y Axis",read-tcl-script rotatey.tcl
ITEM "&Z Axis",read-tcl-script rotatez.tcl
END
MENUITEM "Ca&ncel",menu-cancel

This menu file is characteristic of all menu files in that it simply defines theindividual menus and menu items from left to right and top to bottom. The
key words MENU, MENUITEM and ITEM introduce a normal menu, a menu
without any underlying items, and an individual menu item within a menu.
Each menu is defined by the text string label for that menu while each menu
item is defined by the text string plus a Hcl script command that is executed
when that menu item is chosen. Each text string can be assigned a keyboard
assist with the ampersand, “&”.
The way to have this file define menus that are identical to the default hardwired menus is to define a menu item with a script command that is a menu
invocation such as,
menu-file-new

A menu item can be set to execute any Hcl script command. By using thescript commands, read-script and read-tcl-script, any generic Hcl script or
Tcl/Tk script stored in a file can be triggered by each custom menu item. In
the above case, a Tcl script file is attached to each member of a set of threemenu items for continuously rotating the molecular system about the x, y, orz axis. The menu item <File/Exit> has been set to execute a script commandthat returns to the hard-wired default menus. In this way it is simple to go backand for between the two sets of menus by just clicking on menu items, i.e. byclicking on <Script/Rotate Menus> to obtain the special menus for rotation
only and by clicking on <File/Exit> to return to the default menus. Executing
44

Chapter 5

Simple Example

the original Example2.scr script and then clicking on <Script/Rotate
Menus> gives a version of HyperChem that is shown below.

The rotatez.tcl script, which is included on the HyperChem CD-ROM, rotates
the molecule about the z axis and is as follows:
TclOnlyhcExec "query-response-has-tag false"
hcExec "cancel-menu = true"for {set i 0} {$i < 36500} {incr i} {hcExec "rotate-molecules x 5"
set we_quit [hcQuery cancel-menu]
if { $we_quit == "false" } { break }update}This is not the place to describe Tcl/Tk scripts in detail but this script is fairly
simple and illustrates many of the general ideas of how universal is the ability
to customize HyperChem. The first Tcl command, TclOnly [note that Tcl/Tk
is case sensitive] indicates that this script needs no graphical user interface
Custom Menus

45

Simple Example

GUI) or extra windows. By default, without this command, a simple window
is put up where any Tk widgets are placed. Since we do not want this window,
we indicate that this Tcl/Tk script is a Tcl only script without any extra visualelements.
The HyperChem command language, Hcl, and the HyperChem GUI do nothave any capability for continuously rotating a molecule. The GUI allows formanually rotating a molecule and the script command,rotate-molecules x <angle>

rotates the molecular system about, in this case, the x axis by <angle> degrees
as a one-shot, non-continuous motion. To see continuous motion, the <angle>
must be small and the script command repeated a large number of sequential
times even for a “single” rotation. The way to obtain continuous rotation, ofcourse, is to have a do, while or for-loop of these individual rotation commands. The Tcl code above has a simple “for-loop over i” of 36500 iterations. It remains only to describe the Hcl script commands that are embeded
inside Tcl and the handling of the Cancel menu.
The Tcl language embeds all possible Hcl commands into the language
through the syntax,
hcExec <Hcl script command> andhcQuery <name of HSV>

The basic idea here is to place the Hcl script command, rotate-molecules(about the z axis by 5 degrees), inside the for-loop as is done in the above
script. The remaining complexity of the Tcl script is all associated with thehandling of the Cancel button. Without the Cancel button, the rotation would
go on forever, or at least for 7200 complete rotations. The trick is to sense
whether the Cancel button has been pushed while executing the loop andbreak out of the loop if this is so. As with all queries of HSV’s, there is thepossibility of the answer coming back with a tag, such as “cancelmenu=true” or as just the raw value, “true”. We first ensure that only raw
values are returned so as to simplify the parsing required. We thus execute the
Hcl script command,
query-response-has-tag = false

Next, we disable (gray-out) the usual menus and enable (blacken) the Cancel
menu via the following script command, just prior to beginning the rotation,
cancel-menu = true

This (Cancel-enabled, Normal-disabled) state of HyperChem can be monitored by enquiring about the HSV, cancel-menu. If it is true, then the Cancel
button is enabled and it can be clicked upon at any time. If you do click on
46

Chapter 5

Further Customization

this Cancel button, it becomes disabled and the value of the HSV becomes
false. The Tcl script looks for this cancel operation each iteration and breaks
out of the loop if it occurs. The only other Tcl command that needs commentis the update command. Without this, Tcl would not temporarily release control to Windows and sense the change made to the cancel-menu HSV in
HyperChem. It would be busy just executing “its own for-loop code”. When
you want an immediate update of a Tk dialog box or a HyperChem HSV, it isbest to place an appropriate update command inside a Tcl script.

Further Customization
The name of the HyperChem window can be modified to identify specificcustom versions of HyperChem. The is very straight forward using the following Hcl script command.
custom-title <addendum to HyperChem name>

In addition, if so desired, the tool bar can be eliminated using the hide-toolbar
HSV. Thus, the Hcl script, stored on the HyperChem CD-ROM as
Example3.scr,
custom-title = “My Version”
hide-toolbar = true

results in the following window, having a custom name and no toolbar. It is
still possible without a toolbar to change the HyperChem cursor tool using themouse-mode HSV.

Custom Menus

47

Further Customization

48

Chapter 5

Chapter 6
Type 1 (Hcl) Scripts

Introduction
Type 1 scripts, the simplest scripts, are simple sequences of script commands
each of which conform to the Hyperchem Command Language (Hcl - pronounced “hickle”). These scripts have been part of HyperChem since its
inception but with the addition, in Release 5.0, of Tcl/Tk scripting capability,
it is necessary to clarify our terminology somewhat. Thus, what was previously referred to simply as a script command or script message now becomesa Hcl command or Hcl script command. These Hcl script commands can constitute the totality of a script, be imbedded in a Tcl script, or be the content ofcertain external messages sent to HyperChem by other programs. A script thatconsists solely of Hcl commands is a Type 1 or Hcl script.

Hcl Script Commands
A Hcl script consists of a sequence of Hcl script commands, each of which isa single line of Ascii text. These Hcl script commands are of four types:•

An HSV read•

An HSV write•

A menu activation•

A direct command

HSV’s
The HyperChem State Variables (HSV’s) have been described in Chapter 4.
HyperChem makes these variables available to external programs and tointernal scripts, for reading and possibly for writing. They need not be
described again here other than for completeness in describing Hcl script
commands. Using dipole-moment as an example of an HSV, a Hcl script com-49

Introduction

mand can read the value (enquire about the current value that HyperChem
maintains) by the Hcl script command,
query-value dipole-moment

or, alternatively, via the equivalent but slightly different syntax,
dipole-moment ?

You can write the value (assuming you wish to assign a value of 2.5 Debyes
to the dipole moment) via the Hcl script command,
dipole-moment 2.5

Menu Activations
A menu activation is a replacement for the user clicking with the mouse on amenu item (menu button). Every menu item of HyperChem has an equivalent
Hcl script command that accomplishes exactly the same effect as clicking on
the menu item. These Hcl script commands all start with “menu-” and thenname the particular menu and finally a string representation of the particularmenu item, all separated by hyphens. Thus, the equivalent of clicking on themenu item <File/Save As...> is to open a *.scr file and execute the Hcl
script command,
menu-file-save-as

All these menu activations are listed in the HyperChem Reference Manual but
each can be inferred just by looking at the HyperChem menus and putting ahyphen between every word of the text of the menu item. Thus, if the Setup
Menu contains the menu button Select Parameter Set..., the proper script
command is,menu-setup-select-parameter-set

One exception, of sorts, to this rule is the “Model Build...” menu item whichsometimes reads, “Add H & Model Build...” The script command is always,
menu-build-model-build

Direct Commands
To open (read in) a file you normally click with the mouse on the menu item
<File/Open...> and bring up a dialog box to be filled out with appropriate dialog box values prior to hitting the OK button which initiates the reading in of
the file. Suppose you wanted to read in a Protein Data Bank (PDB) file. Then,prior to hitting OK, you need to set the default file type to be *.ENT in the
dialog box in addition to choosing the name of the appropriate file that you

50

Chapter 6

Introduction

want to read in. You might like a script to automate these actions but if you
used the script commandmenu-file-open

the script would stop with the File Open dialog box sitting on the screen waiting for you to hit the OK button to initiate the reading of the file. This is anything but automation if you have to be there to click on OK! Scripts must go
beyond imitating the actions of a user at a keyboard or with mouse in hand.
To solve this problem, a script command is needed that initiates the readingof a file using the current values of the dialog box settings without bringing
up the dialog box at all. If different setting are needed than are in the prospective dialog box, these values can be set prior to calling for the opening of the
file. The script command open-file filename does the job. It is a direct command that bypasses a dialog box to get the job done using the current dialog
box settings. If you wanted to read, for example, a glucagon PDB file you
could simply execute the script,
file-format pdb
open-file glucagon.ent

This is completely equivalent to invoking the <File/Open...> dialog box,
selecting PDB as the file format, filling in the File Name as glucagon.pdb, andhitting OK to dismiss the dialog box and initiate the reading of the file.
Other direct script commands cause actions that have no immediate mapping
to a GUI action. The direct script commands consist of the name of the command followed by one or more arguments, each separated by at least one
space or a comma:
hcl-command-name <argument1>, <argument2>, ...

An argument is one of:Arguments
The types of arguments for variables or commands are the following:
BooleanYes or no, true or false, 0 or 1.

stringText (letters, characters, or symbols, in upper- or lowercase, unlimited number of characters). Enclose a string inquotes (“ ”) if it contains spaces, tabs, or newline characters.

filename

A type of string requiring a DOS filename.

Type 1 (Hcl) Scripts

51

Introductionenum

A type of string requiring one of a limited set of possibilities.

int

An integer.

float

A floating point (decimal) number. For an angle, the number is in degrees.

Another example of a direct command is:
do-molecular-dynamics

This allows a script to perform molecular dynamics calculations without the
manual intervention of a dialog box. Prior to executing this direct command,the script could set all the relevant HSV’s for molecular dynamics. This isequivalent to what one is really doing in filling out the molecular dynamics
dialog box. For example, the length of the MD trajectory, the dynamics runtime, could be set to 100ps via the script command,
dynamics-run-time 100

Alternatively, one can just accept default values for the relevant HSV’s
which are just the current values in the dialog box left over from the last time
it was invoked. As with almost any situation in HyperChem, reasonable
default values are available and are used when you choose not to specify further details.

Script Files
Type 1 scripts are normally stored in files with a default file extension of*.SCR. These files consist of nothing more than a sequence of individual Hcl
script commands, stored in an Ascii text file with a file name that has the SCR
file extension. A script is normally executed by opening a *.SCR script filewith the <Script/Open...> menu item.

52

Chapter 6

Introduction

A Hcl script file is simply a text file and while it is not essential to use the*.scr extension, that is the useful default extension used by HyperChem.
A trivial example of a *.scr file is version.scr, one that contains the
single line,
version ?

This script file, when opened, queries for the Release Number or Version ofHyperChem, in case you are not sure what it is. That is, it requests the valueof the HSV, “version”. The result will be reported to you in a message box
on the screen.

CHEM.SCR
When HyperChem is started, one of things it does before handing over control
to you as a user is to execute a default initialization Hcl script. If HyperChem

Type 1 (Hcl) Scripts

53

Examplesfinds a script, CHEM.SCR, in its path then it executes that script as a final partof its initialization. If this file does not exist or HyperChem cannot find it in
its path, then no such specialized initialization is performed. This allows you
to set up a script and place it in CHEM.SCR to customize your copy of HyperChem right from its instantiation, without ever having to explicitly execute a
script. If you have your own customization of HyperChem that you like to use
on a semi-permanent basis, you should place the relevant script into
CHEM.SCR.

Compiled Scripts
A script can be compiled, if desired. The compilation results in a *.ocr file.
Thus, the following script command compiles xxx.scr into xxx.ocr,
compile-script-file xxx.scr xxx.ocr

Compiled scripts can be opened by HyperChem just as text scripts (see thefile filter in the <Script/Open...> dialog box).

Recursive Scripts
Scripts files can contain script commands to open other script files. Thus, thescript file a.scr could contain a script command,read-script b.scr

When this second script, b.scr, completes, control is returned to the script
command in a.scr following the above call to b.scr.

Script Editor
The companion product to HyperChem, ChemPlus, includes a script editor
that makes it easy to create and execute individual Hcl script commands orwhole or partial Hcl script files.

ExamplesThis section begins a description of a number of example Hcl scripts. There
are a large number of HSV’s and direct script commands contained inHyperChem and learning them all is not a simple matter. One of the best ways
is to study example scripts and ultimately to write a number your own scripts.

54

Chapter 6

Examples

The examples here will give you some idea of the power of the HyperChem
Command Language but its real power ultimately comes in conjunction withthe control structures that Tcl can add or the GUI that Tk can add. Hcl scripts
are rich in chemistry but it is sometimes difficult to get what you want done
easily without the true programming power of variables, do-loops, if-statements, etc.
In addition to this section a good place to start learning Hcl scripts is thetest.scr script that is explained and described in Chapter 10 of the Reference manual.

Reactive Collision of Two Molecules
This example illustrates a potential process for studying chemical reactions.
HyperChem’s molecular dynamics (MD) calculations use forces computedby any of the basic computation methods - molecular mechanics, semi-empirical or ab initio quantum mechanics. When the forces are computed by aquantum mechanical method, bond breaking is quite straight-forward and an
MD trajectory can describe a reactive or non-reactive collision of two molecular systems. The actual calculation of a rate constant for the chemical reaction is much more complicated and involves performing the collision over
and over again with a Boltzman weighted set of initial conditions and averaging over the results. A Tcl script could do this but here we just illustrate how
to set up a simple script so that any two molecules on the screen could be set
to collide with each other and you can see what happens. To reiterate, this willshow you only one of the many possible outcomes of collisions between thetwo molecules. It nevertheless can be very informative.
This script assumes there are two molecules and two molecules only on thescreen. A collision is going to be initiated between a moving molecule 1 anda stationary molecule 2. Molecule 1’s center of mass is going to be set tomove in the direction of the center of mass of molecule 2.

Assign Target Position
The first thing we are going to do is to make the named selection POINT correspond to molecule 2. POINT is a pre-named selection such that POINT canbe referred to by other parts of HyperChem as the center-of-mass of the selection. That is POINT can be both a name for a particular selection as well as
the center-of-mass of that selection. We select the atoms of molecule 2 andassign them to POINT. We can select all the atoms of one molecule by having
the selection unit be molecules (menu item <Select/Molecules>) and selecting any atom of that molecule.

Type 1 (Hcl) Scripts

55

Examples

select-none; start clean
selection-target molecules ; want to select all of molecule 2
select-atom 1,2; select atom 1 of molecule 2 => all atoms
name-selection POINT; name the selection POINT
set-velocity POINT 0; make sure molecule 2 is stationary
select-none; de-selectAssign Collision Velocities
The next step is to assign the velocities of the atoms of molecule 1 to be suchthat the center of mass of molecule 1 is aimed at the center of mass of molecule 2. We do this by selecting all of the atoms of molecule 1 and give thema velocity in the direction of POINT. The scalar value of the assigned velocity
here is 200 Angstroms/picosecond. This is rather a high velocity of collision.
The center of mass of this second selection, directed at POINT, is the direction of each assigned velocity.
select-atom 1,1
set-velocity POINT 200
select-none; select all atoms of molecule 1; veloc=200 in direction of POINT; doneWave Function Computation Parameters
Prior to initiating the collision we must set up the parameters for the resulting
quantum mechanical computations. In this case we use the CNDO semiempirical method but it might be any semi-empirical or ab initio method. It isappropriate to try to accelerate the convergence and we do not want to perform a configuration interaction calculation since in that case no forces would
be calculated. We will be looking at a classical MD trajectory for the groundstate potential energy surface for these two molecules. Configuration Interaction in HyperChem is for exploring excited states. A convergence of 0.01 in
usually sufficient and it should definitely converge in less than 100 interations
if it converges at all.
The final setting below is to request a UHF rather than an RHF calculation.
This is sometimes a controversial subject but RHF calculations do not havethe correct asymptotic behavior at long distances when bonds are being broken. UHF calculations sometimes have their own problems but allow a much
more generic approach for arbitrary chemical reactions. The UHF calculations usually allow bond-breaking to lead to the correct open-shell behavior
of intermediates and products, as compared to RHF calculations.

56

Chapter 6

Examples

calculation-method=semiempiricalsemi-empirical-method=cndo
accelerate-scf-convergence=true
configuration-interaction=noci
excited-state=false
scf-convergence=0.01
max-iterations=100
uhf=true; faster than ab initio; why not; fast is good
; no gradients with ci; could also study lowest state; 0.1 to 0.0001 ?
; better converge better than this; essential for bond breaking

The Collision
The last step is to initiate the molecular dynamics trajectory correctly. Mostof these parameters are not set below but have been set in the dialog box. The
important values are the step size and the length of the trajectory. If gradientsget very high a smaller step size may be necessary. A larger collision velocity
may also require smaller steps. It is essential to set dynamics-restart to be trueas this uses the velocities assigned above rather than attempts to equilibrate
the velocities, with random numbers, according to the temperature.
dynamics-restart=true
do-molecular-dynamics; use velocities we have
; let ‘er rip

This example can be run any time there are two molecules on the screen. In
some instances, it may be necessary to set the charge and multiplicity forcharged or open-shell systems. Try it by placing two methane molecules on
the screen and see if you can form H2 + C2H6 in a collision? The example canbe expanded on in a great many ways. For example, one might like to see
molecular orbitals change during the collision.
One of the potential problems in watching molecular dynamics of chemical
reaction is that of the “standard model” of HyperChem which treats a molecule as a connected graph. Overlapping spheres is the best way of viewing
chemical reactions because they display only the position of atoms and notbonds that may no longer exist. Unfortunately, HyperChem uses the molecular graph to speed up the overlapping spheres rendering; it avoids working out
the intersection of spheres when there is no “bond”. Thus one may see rendering artifacts sometimes when two atoms are near each other in a“product” when the reactant molecular graph “says” that they are far apart.
An interesting script that you might wish to explore would be one that dynamically recomputes the graph to reflect the changing bonds of the reaction.
Because of this issue, sometimes one “bonds everything” so that there are
no artifacts in a spheres rendering; quantum mechanical calculations, ofcourse, pay no attention to “bonds” but only care about the position ofType 1 (Hcl) Scripts

57

Examples

atoms. Bonds are something to be derived from the results of the such quantum mechanical calculations.

Building and Optimizing C60
The molecule C60 continues to be of great interest to chemists. The power ofHyperChem’s model builder is illustrated by its capability for building thecorrect 3D structure of the molecule from a simple drawing of its 2D molecular graph. This can be accomplished without any need for a script if you simply draw the molecular graph using a mouse. This example, however, creates
C60 using a script as an illustration of the general scripting capability and of
the process that one uses in a script to create arbitrary molecular structures.
In combination, for example, with Tcl and a Tk GUI it would certainly bepossible to add to HyperChem, yourself, the template building capabilities
that are the only building capabilities that many other molecular modelingprograms contain. That is, the HyperChem model builder has a richness thatmakes possible many other molecule creation procedures.

Setup
The first part of this and any other script should set up the appropriate HSV
environment for the script. Here, this includes options for the model builder,for the rendering and for the optimization that comes later. It is particularly
important to note that one should draw with explicit hydrogens (hydrogens
are not added unless they are explicitly drawn). This means that for intermediate structures used to build up to C60, the model builder will not add inappropriate intermediate hydrogens to the dangling valencies.

file-needs-saved no; no user intervention - newmenu-file-new; clean slate for new
render-method sticks; use sticks for drawing
calculation-method molecular-mechanics; for later optimization
molecular-mechanics-method mm+; universal method
selection-target atoms; select individual atoms
show-multiple-bonds yes; lets see aromatic bonds
allow-ions yes; valence of 4 for S
explicit-hydrogens yes; build won’t add wrong hydrogens
multiple-selections yes; going to select group58

Chapter 6

Examples

Drawing the First Pair of Atoms
To draw a molecule, one uses create-atom to place an atom, of a specified
atomic number, down onto the workspace. This script command places all
atoms at the origin and the fact that two atoms may have the same coordinates
is not particularly important here as their final positions will be chosen by themodel builder, which cares here only about the graph (what is bonded towhat!) not the arbitrary initial coordinates. If the coordinates were to beimportant because, say, the model builder was not to be used, then any atom
could be translated (translate-selection) to some arbitrary Cartesian coordinates.
Once, for example, the first two atoms are placed onto the workspace, a bondis placed between them with the script command, set-bond. The order of thearguments is atom and molecule of the first atom and then atom and moleculeof the second atom. In this case, the two atoms are both numbered 1 but inmolecules 1 and 2. The two atoms are in separate molecules, until the bond isdrawn, because they are not part of the same connected molecular graphwhich the bonds define.
;build first bonded pair of atoms
create-atom 6
create-atom 6
set-bond 1 1 1 2 amenu-build-model-build; place C at origin; place 2nd C at origin; create aromatic bond between; build 3D structure

Finish First Level Pentagon
The following script code then creates the remaining three atoms of the firstpentagon, building the structure (applying the model builder) as we go along.
It is not really necessary to apply the model builder at every step. Finally thering closing bond is applied and the atoms are all colored red. The top and bottom pentagons will be colored red just to distinguish them as we rotate thefinal structure. HyperChem generally uses a “select then operate” algorithm
where you first select a subset of atoms of the molecular system, apply some
operation to this subset, and then de-select or not for the next operation. The
operation here is one of many possible ones that could be applied to a selection. Specifically it is the color-selection operation.

create-atom 6
set-bond 2 1 1 2; create the remaining atomsaType 1 (Hcl) Scripts

59

Examples

menu-build-model-build
create-atom 6
set-bond 3 1 1 2 amenu-build-model-build
create-atom 6
set-bond 4 1 1 2 amenu-build-model-build
set-bond 5 1 1 1 amenu-build-model-build
select-atom 1 1
select-atom 2 1
select-atom 3 1
select-atom 4 1
select-atom 5 1
color-selection red
select-none; set ring-closure bond; select each of the five atoms; color them red; de-select everything

Build Remaining Layers
The following code is repetitive and just adds the remaining 55 atoms according to the correct graph, building as it goes along.
create-atom 6
set-bond 1 1 1 2 amenu-build-model-build
create-atom 6
set-bond 2 1 1 2 amenu-build-model-build
create-atom 6
set-bond 3 1 1 2 amenu-build-model-build
create-atom 6
set-bond 4 1 1 2 amenu-build-model-build
create-atom 6
set-bond 5 1 1 2 amenu-build-model-build
create-atom 6
set-bond 6 1 1 2 amenu-build-model-build
create-atom 6
set-bond 6 1 1 2 amenu-build-model-build
60

Chapter 6; build second tier; build third tier

Examples

create-atom 6
set-bond 7 1 1 2 amenu-build-model-build
create-atom 6
set-bond 7 1 1 2 amenu-build-model-build
create-atom 6
set-bond 8 1 1 2 amenu-build-model-build
create-atom 6
set-bond 8 1 1 2 amenu-build-model-build
create-atom 6
set-bond 9 1 1 2 amenu-build-model-build
create-atom 6
set-bond 9 1 1 2 amenu-build-model-build
create-atom 6
set-bond 10 1 1 2 amenu-build-model-build
create-atom 6
set-bond 10 1 1 2 amenu-build-model-build
set-bond 11 1 19 1 a
set-bond 12 1 14 1 a
set-bond 13 1 16 1 a
set-bond 15 1 18 1 a
set-bond 17 1 20 1 acreate-atom 6
set-bond 11 1 1 2 acreate-atom 6
set-bond 12 1 1 2 acreate-atom 6
set-bond 13 1 1 2 acreate-atom 6
set-bond 14 1 1 2 acreate-atom 6
set-bond 15 1 1 2 acreate-atom 6
set-bond 16 1 1 2 acreate-atom 6
set-bond 17 1 1 2 a; build fourth tierType 1 (Hcl) Scripts

61

Examples

create-atom 6
set-bond 18 1 1 2 acreate-atom 6
set-bond 19 1 1 2 acreate-atom 6
set-bond 20 1 1 2 a
set-bond 21 1 22 1 a
set-bond 23 1 24 1 a
set-bond 25 1 26 1 a
set-bond 27 1 28 1 a
set-bond 29 1 30 1 a
menu-build-model-build
create-atom 6
set-bond 21 1 1 2 acreate-atom 6
set-bond 22 1 1 2 acreate-atom 6
set-bond 23 1 1 2 acreate-atom 6
set-bond 24 1 1 2 acreate-atom 6
set-bond 25 1 1 2 acreate-atom 6
set-bond 26 1 1 2 acreate-atom 6
set-bond 27 1 1 2 acreate-atom 6
set-bond 28 1 1 2 acreate-atom 6
set-bond 29 1 1 2 acreate-atom 6
set-bond 30 1 1 2 amenu-build-model-build
set-bond 32 1 34 1 a
set-bond 33 1 36 1 a
set-bond 35 1 38 1 a
set-bond 37 1 40 1 a
set-bond 31 1 39 1 acreate-atom 6
set-bond 31 1 1 2 acreate-atom 6
set-bond 32 1 1 2 acreate-atom 6

62

Chapter 6; tier of five pentagons; fifth tier

Examples

set-bond 33 1 1 2 acreate-atom 6
set-bond 34 1 1 2 acreate-atom 6
set-bond 35 1 1 2 acreate-atom 6
set-bond 36 1 1 2 acreate-atom 6
set-bond 37 1 1 2 acreate-atom 6
set-bond 38 1 1 2 acreate-atom 6
set-bond 39 1 1 2 acreate-atom 6
set-bond 40 1 1 2 amenu-build-model-build
set-bond 41 1 42 1 a
set-bond 43 1 44 1 a
set-bond 45 1 46 1 a
set-bond 47 1 48 1 a
set-bond 49 1 50 1 acreate-atom 6
set-bond 41 1 1 2 a
set-bond 49 1 51 1 acreate-atom 6
set-bond 42 1 1 2 a
set-bond 44 1 52 1 acreate-atom 6
set-bond 43 1 1 2 a
set-bond 46 1 53 1 acreate-atom 6
set-bond 45 1 1 2 a
set-bond 48 1 54 1 acreate-atom 6
set-bond 47 1 1 2 a
set-bond 50 1 55 1 amenu-build-model-build
create-atom 6
set-bond 51 1 1 2 acreate-atom 6
set-bond 52 1 1 2 acreate-atom 6
set-bond 53 1 1 2 a

Type 1 (Hcl) Scripts

63

Examples

create-atom 6
set-bond 54 1 1 2 acreate-atom 6
set-bond 55 1 1 2 amenu-build-model-build
set-bond 56 1 57 1 a
set-bond 57 1 58 1 a
set-bond 58 1 59 1 a
set-bond 59 1 60 1 a
set-bond 60 1 56 1 amenu-build-model-build

Color Bottom and Rotate
We now color the bottom pentagon, switch to a solid rendering and rotate themolecule to visualize the structure. Because Hcl scripts have no control structures we have to repeat the rotate-molecules script command to get the effectwe want. A Tcl script would use a do-loop.
select-atom 56 1
select-atom 57 1
select-atom 58 1
select-atom 59 1
select-atom 60 1
color-selection red
select-none
render-method spheres
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
64

Chapter 6; easier to see 3D shape; rotate around horizontal; rotate by 5 degrees at time
; rotate until see wholeExamples

rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5

Zoom Structure
We now switch back to a sticks structure and zoom in on the molecule for
effect. We see a perspective picture as we zoom.
render-method sticks
align-viewer z
front-clip 0
show-perspective truetranslate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1; view molecule along z axis
; don’t let it get clipped; pretty perspective view; translate 1 Angstrom in Z
; repeat according to taste

Type 1 (Hcl) Scripts

65

Catalog of HSV’s and Direct Script Commands

translate-view 0 0 1
translate-view 0 0 -30
show-perspective false; go back where we were; turn off for other renderings

Create an SO2 Molecule Inside C60
Next we create an SO2 molecule and place it at the center inside the C60 structure. We switch back to a solid rendering and cut away the from of C60 so that
we can see the SO2 molecule inside. If the selection unit (target) is moleculesthen selecting any atom of a molecule selects the whole molecule. The SO2 isbuilt without affecting the C60 by selecting a subset (SO2) before building.
This performs an incremental build (an important capability of the modelbuilder) on only the selection (“select and operate”).
selection-target molecules
select-atom 1 1
color-selection violet
select-none
create-atom 16
create-atom 8
set-bond 1 2 1 3 dcreate-atom 8
set-bond 1 2 1 3 dselect-atom 1 2
menu-build-model-build
select-none
render-method disks
selection-target atoms
front-clip 54; select whole molecules; select whole C60; color violet for variety; OK I’m done
; create SO2 - Sulfur first; then the Oxygen; double bonds; select the SO2 for a build; incremental build; have good SO2 now

Optimize SO2 inside Cavity
do-optimization
exit-script

Other scripts can be found on the HyperChem CD-ROM. You may wish to
explore them as a CDK learning tool. To complete this chapter, we catalog all
Hcl script commands.

Catalog of HSV’s and Direct Script Commands
What follows is an alphabetic listing of all HSV variables and all direct commands. Each entry contains an indication whether it is a variable or commandand for a variable whether it is a Readonly variable or a Read/Write variable.
66

Chapter 6

Catalog of HSV’s and Direct Script Commands

For variables the next line describes the type of variable it is while for commands the argument list is described. The third line of each entry gives a brief
description of the entry. These entries are the result of running the script command, print-variable-list, which is the final arbiter of the complete list of
script commands. The list of menu activations is left off this list since they
can be inferred from HyperChem by just looking at its menus. Alternatively,
the menu activations are described in the HyperChem Reference Manual.
abinitio-buffer-size: Variable, Read/Write.
Type: integer in range (1 .. 32767).
Two electron integral buffer size.
abinitio-calculate-gradient: Variable, Read/Write.
Type: boolean.
Enable Ab Initio gradient calculation (Single Point only).
abinitio-cutoff: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Two electron integral cutoff.
abinitio-d-orbitals: Variable, Read/Write.
Type: boolean.
Either five (False) or six (True).
abinitio-direct-scf: Variable, Read/Write.
Type: boolean.
Enable Ab Initio Direct SCF calculation.
abinitio-f-orbitals: Variable, Read/Write.
Type: boolean.
Either seven (False) or ten (True).
abinitio-integral-format: Variable, Read/Write.
Type: enum(raffenetti, regular).
Either regular or raffenetti.
abinitio-integral-path: Variable, Read/Write.
Type: string.
Path for storing integrals.
abinitio-mo-initial-guess: Variable, Read/Write.
Type: enum(core-hamiltonian, projected-huckel, projected-cndo, projected-indo).
Either core-hamiltonian, projected-huckel, projected-cndo, projectedindo.
abinitio-mp2-correlation-energy: Variable, Read/Write.
Type: boolean.
Enable Ab Initio MP2 correlation energy.
abinitio-mp2-frozen-core: Variable, Read/Write.
Type: boolean.
Enable Ab Initio MP2 frozen core.
abinitio-scf-convergence: Variable, Read/Write.
Type: float in range (0 .. 100).
SCF Convergence for Ab Initio.
abinitio-use-ghost-atoms: Variable, Read/Write.
Type: boolean.
Include or ignore ghost atoms.
accelerate-scf-convergence: Variable, Read/Write.
Type: boolean.
Whether to use DIIS procedure.
add-amino-acid: Command.
Arg list: string.
String-1 gives the name of an amino acid residue to add to the system.
add-nucleic-acid: Command.
Type 1 (Hcl) Scripts

67

Catalog of HSV’s and Direct Script Commands

Arg list: string.
String-1 names the nucleotide to add to the current system.
align-molecule: Command.
Arg list: .
Align the inertial axes of the molecular system.
align-viewer: Command.
Arg list: enum(x, y, z, line).
Align the viewer's line-of-sight with the indicated axis or LINE.
allow-ions: Variable, Read/Write.
Type: boolean.
Whether to allow excess valence on atoms.
alpha-orbital-occupancy: Variable, Read/Write.
Type: vector of float.
(i) Number of electrons in the i-th MO.
alpha-scf-eigenvector: Variable, Read/Write.
Type: vector of float-list.
(i) Coefficients for the i-th MO.
amino-alpha-helix: Command.
Arg list: (void).
Subsequent additions of amino acid residues are to use alpha-helix torsions.
amino-beta-sheet: Command.
Arg list: (void).
Subsequent additions of amino acid residues are to use beta-sheet torsions.
amino-isomer: Variable, Read/Write.
Type: enum(l, d).
Whether amino acids are l or d.
amino-omega: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
The Omega amino acid backbone angle.
amino-phi: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
The Phi amino acid backbone angle.
amino-psi: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
The Psi amino acid backbone angle.
animate-vibrations: Variable, Read/Write.
Type: boolean.
Whether or not to animate vibrations.
append-dynamics-average: Command.
Arg list: string.
Add a named selection to dynamics average gathering.
append-dynamics-graph: Command.
Arg list: string.
Add a named selection to dynamics graph display.
append-omsgs-to-file: Command.
Arg list: string.
String-1 gives the name of a file to which o-msgs are to be appended.
assign-basisset: Command.
Arg list: string.
Assign a basis set to a selection or system.
atom-basisset: Variable, Read/Write.
Type: array of string.
(iat, imol) The basis set of atom iat in molecule imol.
atom-charge: Variable, Read/Write.
Type: array of float.
(iat, imol) The charge of atom iat in molecule imol.
68

Chapter 6

Catalog of HSV’s and Direct Script Commands

atom-color: Variable, Read/Write.
Type: array of enum(ByElement, Black, Blue, Green, Cyan, Red, Violet,
Yellow, White).
(iat, imol) The current color of the atom.
atom-count: Variable, Readonly.
Type: vector of integer.
(imol) The number of atoms in molecule imol.
atom-extra-basisset: Variable, Read/Write.
Type: array of string, float.
(iat, imol) The basis set of atom iat in molecule imol.
atom-info: Variable, Readonly.
Type: (unknown).
Funny composite to support backends.
atom-label-text: Variable, Readonly.
Type: array of string.
(iat, imol) RO. The text of the current atom label.
atom-labels: Variable, Read/Write.
Type: enum(None, Symbol, Name, Number, Type, Charge, Mass, BasisSet, Chirality).
Label for atoms.
atom-mass: Variable, Read/Write.
Type: array of float.
(iat, imol) The mass of atom iat in molecule imol.
atom-name: Variable, Read/Write.
Type: array of string.
(iat, imol) The name of atom iat in molecule imol.
atom-spin-density-at-nucleus: Variable, Read/Write.
Type: array of float.
(iat, imol) The electron density of nucleus of atom iat in molecule imol.
atom-spin-population: Variable, Read/Write.
Type: array of float.
(iat, imol) The spin density of atom iat in molecule imol.
atom-type: Variable, Read/Write.
Type: array of string.
(iat, imol) The type of atom iat in molecule imol.
atomic-number: Variable, Read/Write.
Type: array of integer.
(iat, imol) The atomic number of atom iat in molecule imol.
atomic-symbol: Variable, Readonly.
Type: array of string.
(iat, imol) The element symbol of the atom.
auxilliary-basis: Variable, Read/Write.
Type: integer in range (1 .. 3).
1=A1, 2=A2, 3=P1
back-clip: Variable, Read/Write.
Type: float.
Set back clipping plane.
backend-active: Variable, Read/Write.
Type: boolean.
Whether current channel is an active backend.
backend-communications: Variable, Read/Write.
Type: enum(Local, Remote).
Whether to compute on local or remote host.
backend-host-name: Variable, Read/Write.
Type: string.
The name of remote host for backend communications.
backend-process-count: Variable, Read/Write.
Type: integer in range (1 .. 32).
Type 1 (Hcl) Scripts

69

Catalog of HSV’s and Direct Script Commands

The number of processes to run.
backend-user-id: Variable, Read/Write.
Type: string.
The user id to use on the remote host for backend communications.
backend-user-password: Variable, Read/Write.
Type: string.
The password for user id to use on the remote host for backend communications.
balls-highlighted: Variable, Read/Write.
Type: boolean.
Balls and Balls-and-Cylinders should be highlighted when shaded.
balls-radius-ratio: Variable, Read/Write.
Type: float in range (0.001 .. 1).
Size of the Balls relative to the maximum value.
balls-shaded: Variable, Read/Write.
Type: boolean.
Balls and Balls-and-Cylinders should be shaded.
basisset-count: Variable, Readonly.
Type: integer.
Number of coefficients required to describe a molecular orbital.
bend-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
beta-orbital-occupancy: Variable, Read/Write.
Type: vector of float.
(i) Number of electrons in the i-th MO.
beta-scf-eigenvector: Variable, Read/Write.
Type: vector of float-list.
(i) Coefficients for the i-th MO.
bond-color: Variable, Read/Write.
Type: enum(ByElement, Black, Blue, Green, Cyan, Red, Violet, Yellow,
White).
The color used for drawing atoms and bonds.
bond-spacing-display-ratio: Variable, Read/Write.
Type: float in range (0 .. 1).
Bond spacing display ratio.
builder-enforces-stereo: Variable, Read/Write.
Type: boolean.
Whether the model builder implicitly enforces any existing stereochemistry.
calculation-method: Variable, Read/Write.
Type: enum(MolecularMechanics, SemiEmpirical, AbInitio, DFT).
Whether molecular mechanics, semi-empirical, or ab initio.
cancel-menu: Variable, Read/Write.
Type: boolean.
Whether the cancel menu is up, or the normal one.
cancel-notify: Command.
Arg list: string.
String-1 names a variable to stop watching.
change-stereochem: Command.
Arg list: integer, integer.
Immediately change the stereochemistry about (iat, imol).
change-user-menuitem: Command.
Arg list: integer, string, string.
Change the text and procedure associated with the specified user MenuItem.
chirality: Variable, Read/Write.
Type: array of string.
70

Chapter 6

Catalog of HSV’s and Direct Script Commands(iat, imol) A, R, S, or ?, for achiral, R, S, or unknown chirality.
ci-criterion: Variable, Read/Write.
Type: enum(Energy, Orbital).
One of: energy, orbital.
ci-excitation-energy: Variable, Read/Write.
Type: float in range (0 .. 10000).
When ci-criterion=energy, maximum excitation energy.
ci-occupied-orbitals: Variable, Read/Write.
Type: integer in range (0 .. 32767).
When ci-criterion=orbital, count of occupied orbitals included.
ci-state-to-optimize: Command.
Arg list: unregistered.
Which CI state to optimize with conjugate directions
ci-unoccupied-orbitals: Variable, Read/Write.
Type: integer in range (0 .. 32767).
When ci-criterion=orbital, count of unoccupied orbitals included.
clip-cursor: Variable, Read/Write.
Type: float in range (0 .. 1000).
Select Z axis clip cursor tool.
clip-icon-step: Variable, Read/Write.
Type: float in range (0 .. 1000).
Select clip step.
color-element: Command.
Arg list: integer, enum().
Element Int-1 gets color String-2 as its default color.
color-selection: Command.
Arg list: string.
String-1 names a color for the current selection.
compile-script-file: Command.
Arg list: string, string.
Compile file string-1, writing result to string-2
configuration: Variable, Read/Write.
Type: integer.
The current UV configuration of the system.
configuration-interaction: Variable, Read/Write.
Type: enum(NoCI, SinglyExcited, Microstate).
One of: no-ci, singly-excited, microstate.
connectivity-in-pdb-file: Variable, Read/Write.
Type: boolean.
Whether connectivity information is to be included in a PDB file.
constrain-bond-angle: Command.
Arg list: float angle in range (-360 .. 360).
Float-1 gives the angle constraint for the three currently selected atoms.
constrain-bond-down: Command.
Arg list: integer, integer, integer, integer.
Constrain the bond from (iat1, imol1) to (iat2, imo2) to be down.
constrain-bond-length: Command.
Arg list: float in range (0 .. 100).
Float-1 gives the length constraint for the two currently selected atoms.
constrain-bond-torsion: Command.
Arg list: float angle in range (-360 .. 360).
Float-1 gives the torsion constraint for the four currently selected atoms.
constrain-bond-up: Command.
Arg list: integer, integer, integer, integer.
Constrain the bond from (iat1, imol1) to (iat2, imo2) to be up.
constrain-change-stereo: Command.
Arg list: integer, integer.

Type 1 (Hcl) Scripts

71

Catalog of HSV’s and Direct Script Commands

Constrain atom (iat, imol) to change the current stereochemistry.
constrain-drawing: Variable, Read/Write.
Type: boolean.
Whether to constrain bond lengths and angles to canonicalize drawing ofmoleculconstrain-fix-stereo: Command.
Arg list: integer, integer.
Constrain atom (iat, imol) to enforce the current stereochemistry.
constrain-geometry: Command.
Arg list: string.
String-1 describes the geometry constraint around the currently selectedatom.
coordinates: Variable, Read/Write.
Type: array of float, float, float.
(iat, imol) The x, y, and z coordinates of atom iat in molecule imol.
coordination: Variable, Readonly.
Type: array of integer.
(iat, imol) The coordination number for the specified atom.
correlation-functional: Variable, Read/Write.
Type: enum(None, Perdew86, VWN, LYP, PZ81, PW91, PBE96,
HCTH98).
Perdew, LYP, etc.
cpk-max-double-buffer-atoms: Variable, Read/Write.
Type: integer in range (0 .. 2147483647).
Maximum number of double buffered atoms in cpk rendering mode.
create-atom: Command.
Arg list: integer in range (0 .. 103).
Create a new atom at the origin with atomic number nAtno.
current-file-name: Variable, Readonly.
Type: string.
The name of the current file.
custom-title: Variable, Read/Write.
Type: string.
Custom Title string, append string to title.
cutoff-inner-radius: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
The distance (in Angstroms) to begin a switched cutoff.
cutoff-outer-radius: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
The distance (in Angstroms) at which nonbonded interactions becomezero.
cutoff-type: Variable, Read/Write.
Type: enum(None, Switched, Shifted).
Electrostatic cutoff to apply to molecular mechanics calculations.
cycle-atom-stereo: Command.
Arg list: integer, integer.
Advance the stereo constraint about atom (iat, imol).
cycle-bond-stereo: Command.
Arg list: integer, integer, integer, integer.
Advance the stereo constraint along the bond (iat1, imol1)--(iat2, imol2).
cylinders-color-by-element: Variable, Read/Write.
Type: boolean.
Color Cylinders using element colors.
cylinders-width-ratio: Variable, Read/Write.
Type: float in range (0 .. 1).
Width of the Cylinders relative to the maximum value.
d-orbitals-on-second-row: Variable, Read/Write.
Type: boolean.
72

Chapter 6

Catalog of HSV’s and Direct Script Commands

Include D orbitals on second row.
declare-float: Command.
Arg list: string.
Declare a new floating-point variable.
declare-integer: Command.
Arg list: string.
Declare a new integer variable.
declare-string: Command.
Arg list: string.
Declare a new string variable.
default-element: Variable, Read/Write.
Type: integer in range (0 .. 103).
The atomic number of the default element for drawing operations.
delete-atom: Command.
Arg list: integer, integer.
Delete the specified atom.
delete-file: Command.
Arg list: string.
filename to be deleted.
delete-named-selection: Command.
Arg list: string.
Remove the named selection String-1 from the list of named selections.
delete-selected-atoms: Command.
Arg list: (void).
Delete the currently selected atoms.
dipole-moment: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
Dipole moment.
dipole-moment-components: Variable, Read/Write.
Type: float, float, float.
Dipole moment components.
do-langevin-dynamics: Command.
Arg list: (void).
Perform a Langevin dynamics computation on the system.
do-molecular-dynamics: Command.
Arg list: (void).
Perform a molecular dynamics computation on the system.
do-monte-carlo: Command.
Arg list: (void).
Perform a Monte Carlo computation on the system.
do-optimization: Command.
Arg list: (void).
Perform a structure optimization on the system.
do-qm-calculation: Variable, Read/Write.
Type: boolean.
For single-point QM calculations, whether to re-compute wave function.
do-qm-graph: Variable, Read/Write.
Type: boolean.
For single-point QM calculations, to graph some data.
do-qm-isosurface: Variable, Read/Write.
Type: boolean.
For single-point QM calculations, to generate iso-surface of results.
do-single-point: Command.
Arg list: (void).
Perform a single-point computation on the system.
do-vibrational-analysis: Command.
Arg list: (void).

Type 1 (Hcl) Scripts

73

Catalog of HSV’s and Direct Script Commands

Perform a vibrational analysis computation on the system.
dot-surface-angle: Variable, Read/Write.
Type: float angle in range (-90 .. 90).
Dot surface angle.
double-buffered-display: Variable, Read/Write.
Type: boolean.
Whether display operations are double-buffered.
dynamics-average-period: Variable, Read/Write.
Type: integer in range (1 .. 32767).
Computation results from dynamics run.
dynamics-bath-relaxation-time: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Bath relaxation time for dynamics.
dynamics-collection-period: Variable, Read/Write.
Type: integer in range (1 .. 32767).
Dynamics data collection interval.
dynamics-constant-temp: Variable, Read/Write.
Type: boolean.
Whether to keep temperature fixed at dynamics-simulation-temp.
dynamics-cool-time: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Time taken to change from dynamics-simulation-temp to dynamicsfinal-temp.
dynamics-final-temp: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Temperature to cool back to when annealing.
dynamics-friction-coefficient: Variable, Read/Write.
Type: float in range (0 .. 1000000).
Friction coefficient for Langevin dynamics.
dynamics-heat-time: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Time taken to change from dynamics-starting-temp -> dynamics-simulation-temp.
dynamics-info-elapsed-time: Variable, Readonly.
Type: float in range (0 .. 1e+010).
Elapsed time in dynamics run.
dynamics-info-kinetic-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Computation results from dynamics run.
dynamics-info-last-update: Variable, Readonly.
Type: boolean.
Last update from dynamics run.
dynamics-info-potential-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Computation results from dynamics run.
dynamics-info-temperature: Variable, Readonly.
Type: float in range (0 .. 1e+010).
Computation results from dynamics run.
dynamics-info-total-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Computation results from dynamics run.
dynamics-playback: Variable, Read/Write.
Type: enum(none, playback, record).
Playback a recorded dynamics run.
dynamics-playback-end: Variable, Read/Write.
Type: integer in range (0 .. 32767).
End playback of recorded dynamics run.
dynamics-playback-period: Variable, Read/Write.
74

Chapter 6

Catalog of HSV’s and Direct Script Commands

Type: integer in range (1 .. 32767).
Dynamics playback interval.
dynamics-playback-start: Variable, Read/Write.
Type: integer in range (0 .. 32767).
Start playback of recorded dynamics run.
dynamics-restart: Variable, Read/Write.
Type: boolean.
Use saved velocities.
dynamics-run-time: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Total integration time at dynamics-simulation-temp.
dynamics-seed: Variable, Read/Write.
Type: integer in range (-32768 .. 32767).
Seed for dynamics initialization random number generator.
dynamics-simulation-temp: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
High temperature for the dynamics run.
dynamics-snapshot-filename: Variable, Read/Write.
Type: string.
Name file of to store dynamics run.
dynamics-snapshot-period: Variable, Read/Write.
Type: integer in range (1 .. 32767).
Set recording interval of dynamics run.
dynamics-starting-temp: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Starting temperature for the dynamics run.
dynamics-temp-step: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Step size (K) by which temperature is changed.
dynamics-time-step: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Size of the step for integration.
error: Variable, Read/Write.
Type: string.
The current error.
errors-are-not-omsgs: Command.
Arg list: (void).
Specifies that error messages are to appear in message boxes.
errors-are-omsgs: Command.
Arg list: (void).
Specifies that error messages should be treated like o-msgs.
estatic-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
exchange-functional: Variable, Read/Write.
Type: enum(None, Hartree-Fock, Slater, Becke88, PW91, Gill96,
PBE96, HCTH98, B3-LYP, B3-PW91, EDF1, Becke97).
Slater, Becke88, etc.
excited-state: Variable, Read/Write.
Type: boolean.
False for lowest state, true for next-lowest state.
execute-client: Command.
Arg list: string.
Run a client application.
execute-hyperchem-client: Command.
Arg list: string.
Run a client application. App can reliably connect to instance of HyperChem.
Type 1 (Hcl) Scripts

75

Catalog of HSV’s and Direct Script Commands

execute-string: Command.
Arg list: string.
Execute the string variable as a script.
exit-script: Command.
Arg list: (void).
Exit the current script.
explicit-hydrogens: Variable, Read/Write.
Type: boolean.
Whether hydrogens are to be drawn explicitly.
export-dipole: Variable, Read/Write.
Type: boolean.
Whether or not to export dipole moment data to .EXT file.
export-ir: Variable, Read/Write.
Type: boolean.
Whether or not to export IR data to .EXT file.
export-orbitals: Variable, Read/Write.
Type: boolean.
Whether or not to export orbital data to .EXT file.
export-property-file: Command.
Arg list: string.
Writes properties to the named file.
export-uv: Variable, Read/Write.
Type: boolean.
Whether or not to export UV data to .EXT file.
factory-settings: Command.
Arg list: (void).
Reset chem to its out-of-the-box state.
field-direction: Variable, Read/Write.
Type: integer in range (1 .. 3).
direction (X,Y or Z) of the static electric field applied to the systemfield-strength: Variable, Read/Write.
Type: float in range (-1000 .. 1000).
strength (a.u.) of the static electric field applied to the systemfile-diff-message: Command.
Arg list: string, string, string, string.
Compare file1 to file2; if they are the same say string3, else say string4.
file-format: Variable, Read/Write.
Type: string.
The molecule file format.
file-needs-saved: Variable, Read/Write.
Type: boolean.
Whether the current system needs to be saved.
front-clip: Variable, Read/Write.
Type: float.
Set front clipping plane.
global-inhibit-redisplay: Variable, Readonly.
Type: boolean.
Whether redisplay of the system is inhibited (readonly)
gradient-x: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Molecular gradient in the X direction
gradient-y: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Molecular gradient in the Y direction
gradient-z: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Molecular gradient in the Z direction

76

Chapter 6

Catalog of HSV’s and Direct Script Commands

gradients: Variable, Read/Write.
Type: array of float, float, float.
(iat, imol) The x, y, and z gradients of atom iat in molecule imol.
graph-beta: Variable, Read/Write.
Type: boolean.
If true and UHF, graph beta-spin orbitals instead of alpha.
graph-contour-increment: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
Increment between contour lines.
graph-contour-increment-other: Variable, Read/Write.
Type: boolean.
Whether to use graph-increment-other (true) or use defaults (false).
graph-contour-levels: Variable, Read/Write.
Type: integer in range (1 .. 32767).
The number of contour levels to plot.
graph-contour-start: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
Value for first contour line.
graph-contour-start-other: Variable, Read/Write.
Type: boolean.
Whether to use graph-contour-start (true) or use defaults (false).
graph-data-row: Variable, Readonly.
Type: vector of float-list.
(i) The values on the i-th row of graph data.
graph-data-type: Variable, Read/Write.
Type: enum(electrostatic, charge-density, orbital, orbital-squared, spindensity).
The type of wavefunction data to plot.
graph-horizontal-grid-size: Variable, Read/Write.
Type: integer in range (2 .. 8192).
Number of data grid points for plotting in the horizontal direction.
graph-orbital-offset: Variable, Read/Write.
Type: integer in range (0 .. +Inf).
Display orbital offset.
graph-orbital-selection-type: Variable, Read/Write.
Type: enum(lumo-plus, homo-minus, orbital-number).
Display orbital type.
graph-plane-offset: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
Offset along viewer's Z axis of the plane of the data to plot.
graph-vertical-grid-size: Variable, Read/Write.
Type: integer in range (2 .. 8192).
Number of data grid points for plotting in the vertical direction.
grid-max-value: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
The isosurface maximum grid value.
grid-min-value: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
The isosurface minimum grid value.
hbond-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
heat-of-formation: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
Heat of formation.
help: Command.
Arg list: string.
Give help on topic String-1.
Type 1 (Hcl) Scripts

77

Catalog of HSV’s and Direct Script Commands

hide-errors: Variable, Read/Write.
Type: boolean.
Whether to display error messages on the screen (channel specific).
hide-messages: Variable, Read/Write.
Type: boolean.
Whether to display MESSAGE value on the screen.
hide-toolbar: Variable, Read/Write.
Type: boolean.
Command to toggle the toolbar.
hide-warnings: Variable, Read/Write.
Type: boolean.
Whether to display warning messages on the screen (channel specific).
huckel-constant: Variable, Read/Write.
Type: float in range (0 .. 10).
Extended Huckel constant.
huckel-scaling-factor: Variable, Read/Write.
Type: float in range (0 .. 100000).
Extended Huckel scaling factor.
huckel-weighted: Variable, Read/Write.
Type: boolean.
Extended Huckel weighting factor.
hydrogens-in-pdb-file: Variable, Read/Write.
Type: boolean.
Should Hydrogens be written into a PDB file?
ignore-script-errors: Variable, Read/Write.
Type: boolean.
Whether script errors should be ignored, otherwise offer to abort onerrors.
image-color: Variable, Read/Write.
Type: boolean.
Save image in color?
image-destination-clipboard: Variable, Read/Write.
Type: boolean.
Save image to the Windows clipboard?
image-destination-file: Variable, Read/Write.
Type: boolean.
Save image to a file?
image-destination-filename: Variable, Read/Write.
Type: string.
Save image to a given fileimage-file-bitmap: Variable, Read/Write.
Type: boolean.
Save in bitmap format?
image-file-bitmapRGB: Variable, Read/Write.
Type: boolean.
Save in bitmap-RGB format?
image-file-metafile: Variable, Read/Write.
Type: boolean.
Save in Windows metafile format?
image-include-cursor: Variable, Read/Write.
Type: boolean.
Include cursor in image?
image-source-window: Variable, Read/Write.
Type: enum(TopLevel, Workspace, HyperChem, FullScreen).
Extent of image to capture.
import-dipole: Variable, Read/Write.
Type: boolean.
Whether or not to import dipole moment data from .EXT file.
78

Chapter 6

Catalog of HSV’s and Direct Script Commands

import-ir: Variable, Read/Write.
Type: boolean.
Whether or not to import IR data from .EXT file.
import-orbitals: Variable, Read/Write.
Type: boolean.
Whether or not to import orbital data from .EXT file.
import-property-file: Command.
Arg list: string.
Reads properties from the named file.
import-uv: Variable, Read/Write.
Type: boolean.
Whether or not to import UV data from .EXT file.
info-access: Variable, Readonly.
Type: string.
(RO) Access (R, W, RW) for info-variable-target.
info-enum-id-of: Variable, Readonly.
Type: string.
(RO) Binary id of info-enum-target value for info-variable-target.
info-enum-list: Variable, Readonly.
Type: string.
(RO) If enumerated type, list of enumerated values for info-variable-target.
info-factory-setting: Variable, Readonly.
Type: string.
(RO) factory setting value for info-variable-target.
info-id-of: Variable, Readonly.
Type: integer.
(RO) Binary id of info-variable-target.
info-type-of: Variable, Readonly.
Type: string.
(RO) Type of info-variable-target.
info-type-of-element: Variable, Readonly.
Type: string.
(RO) If info-type-of is array or vector, type of elements.
info-variable-target: Variable, Read/Write.
Type: string.
Variable for which info is required.
inhibit-redisplay: Variable, Read/Write.
Type: boolean.
Whether redisplay of the system is inhibited by current channel.
ir-animate-amplitude: Variable, Read/Write.
Type: float in range (0 .. 10).
The distance in angstroms to move the fastest atom during vib animations(0..10)
ir-animate-cycles: Variable, Read/Write.
Type: integer in range (0 .. +Inf).
The number of cycles (length of time) to animate. 0 means forever.
ir-animate-steps: Variable, Read/Write.
Type: integer in range (3 .. +Inf).
The number of steps to use in animating vibrations (3 -- BIG)
ir-band-count: Variable, Read/Write.
Type: integer.
Number of ir bands.
ir-frequency: Variable, Read/Write.
Type: vector of float.
(i) Frequency of the i-th IR band.
ir-intensity: Variable, Read/Write.
Type: vector of float.
Type 1 (Hcl) Scripts

79

Catalog of HSV’s and Direct Script Commands(i) Intensity of the i-th IR band.
ir-intensity-components: Variable, Read/Write.
Type: vector of float, float, float.
(i) Intensity components (x,y, and z) of the i-th IR band.
ir-normal-mode: Variable, Read/Write.
Type: vector of float-list.
(i) Normal node. This is a vector holding x, y, and z for each atom.
is-extended-hydrogen: Variable, Readonly.
Type: array of boolean.
(iat, imol) RO. Is the atom an extended hydrogen?
is-ring-atom: Variable, Readonly.
Type: array of boolean.
(iat, imol) RO. Is the atom in a ring?
isosurface-grid-step-size: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
The isosurface grid stepsize.
isosurface-hide-molecule: Variable, Read/Write.
Type: boolean.
Show only the isosurfaces.
isosurface-map-function: Variable, Read/Write.
Type: boolean.
Display a mapped function isosurface.
isosurface-map-function-display-legend: Variable, Read/Write.
Type: boolean.
Display the isosurface mapped function range legend.
isosurface-map-function-range: Variable, Read/Write.
Type: float, float.
Set the isosurface mapped function range.
isosurface-mesh-quality: Variable, Read/Write.
Type: enum(coarse, medium, fine).
Use coarse, medium or fine grid settings.
isosurface-render-method: Variable, Read/Write.
Type: enum(wire-mesh, Jorgensen-Salem, lines, flat-surface, shadedsurface, Gouraud-shaded-surface, translucent-surface).
The method used to render the isosurfaces.
isosurface-threshold: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
The isosurface threshold value?
isosurface-transparency-level: Variable, Read/Write.
Type: float in range (0 .. 1).
The isosurface level of transparency (0 = opaque, 1 = transparent)
isosurface-x-min: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
The smallest x coordinate of the grid data.
isosurface-x-nodes: Variable, Read/Write.
Type: integer in range (2 .. 128).
The number of isosurface x nodes.
isosurface-y-min: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
The smallest y coordinate of the grid data.
isosurface-y-nodes: Variable, Read/Write.
Type: integer in range (2 .. 128).
The number of isosurface y nodes.
isosurface-z-min: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
The smallest z coordinate of the grid data.
isosurface-z-nodes: Variable, Read/Write.
Type: integer in range (2 .. 128).
80

Chapter 6

Catalog of HSV’s and Direct Script Commands

The number of isosurface z nodes.
keep-atom-charges: Variable, Read/Write.
Type: boolean.
Keep atom charges when switch calculation methods.
load-default-menu: Command.
Arg list: (void).
Load the Hyperchem default menu.
load-user-menu: Command.
Arg list: string.
Load user customized menu.
log-comment: Command.
Arg list: string.
Write String-1 into the current logfile.
magnetic-field-direction: Command.
Arg list: unregistered.
direction (X, Y, or Z) of static magnetic fieldmagnetic-field-strength: Command.
Arg list: unregistered.
strength (a.u.) of the static magnetic field applied to system
max-iterations: Variable, Read/Write.
Type: integer in range (1 .. 32767).
Maximum number of SCF iterations.
mechanics-data: Variable, Readonly.
Type: (unknown).
Funny composite to support backends.
mechanics-dielectric: Variable, Read/Write.
Type: enum(Constant, DistanceDependent), enum(Constant, DistanceDependent), enum(Constant, DistanceDependent), enum(Constant, DistanceDependent).
The method for calculating dielectric permittivity.
mechanics-dielectric-scale-factor: Variable, Read/Write.
Type: float, float, float, float.
Constant to multiply distance-dependent dielectric by.
mechanics-electrostatic-scale-factor: Variable, Read/Write.
Type: float, float, float, float.
Scale factor for 1-4 dielectric interactions.
mechanics-info: Variable, Readonly.
Type: (unknown).
Funny composite to support backends.
mechanics-mmp-electrostatics: Variable, Read/Write.
Type: enum(BondDipoles, ConnectedBondDipoles, AtomicCharges,
None).
The type of electrostatic interaction to use in MM+ calculations.
mechanics-print-level: Variable, Read/Write.
Type: integer in range (0 .. 9).
Print level for molecular mechanics.
mechanics-van-der-waals-scale-factor: Variable, Read/Write.
Type: float, float, float, float.
Scale factor for 1-4 van der Waals interactions.
merge-file: Command.
Arg list: string.
String-1 names the molecule file to be merged with the current system.
message: Variable, Read/Write.
Type: string.
string1 is an output message.
module-name: Variable, Read/Write.
Type: string.
Current name of module.
Type 1 (Hcl) Scripts

81

Catalog of HSV’s and Direct Script Commands

molecular-mechanics-method: Variable, Read/Write.
Type: enum(mm+, amber, bio+, opls, amber94, charmm22, tndo).
The type of molecular mechanics method to perform.
molecular-symmetry: Variable, Read/Write.
Type: string.
Point group of the system, if known.
molecule-count: Variable, Readonly.
Type: integer.
The number of molecules in the system.
molecule-name: Variable, Readonly.
Type: vector of string.
(i) The name of the i-th molecule.
moments-of-inertia: Variable, Readonly.
Type: boolean.
Return the moments of inertia of selected system.
monte-carlo-cool-steps: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Steps taken to change from dynamics-simulation-temp -> dynamicsfinal-temp.
monte-carlo-heat-steps: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Steps taken to change from dynamics-starting-temp -> dynamics-simulation-temp.
monte-carlo-info-acceptance-ratio: Variable, Readonly.
Type: float in range (0 .. 1).
Computation result from Monte Carlo run.
monte-carlo-max-delta: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Maximum allowed size of the displacement step in Angstroms.
monte-carlo-run-steps: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Total number of steps at dynamics-simulation-temp.
mouse-mode: Variable, Read/Write.
Type: enum(Drawing, Selecting, Rotating, ZRotating, Translating,
ZTranslating, Zooming, Clipping).
The function of the cursor in the drawing area.
mp2-energy: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
MP2 energy.
multiple-selections: Variable, Read/Write.
Type: boolean.
Allow multiple selections.
multiplicity: Variable, Read/Write.
Type: integer in range (1 .. 6).
Spin multiplicity.
mutate-residue: Command.
Arg list: string.
Change selected residue into String-1.
name-molecule: Command.
Arg list: string.
Give name String-1 to molecule of current selection
name-selection: Command.
Arg list: string.
Name the current selection String-1.
named-selection-count: Variable, Readonly.
Type: integer.
The number of named selections.
named-selection-name: Variable, Readonly.
82

Chapter 6

Catalog of HSV’s and Direct Script Commands

Type: vector of string.
(i) The name of the i-th named selection.
named-selection-value: Variable, Readonly.
Type: vector of float.
(i) The value of the i-th named selection (bond length, angle, etc).
negatives-color: Variable, Read/Write.
Type: enum(ByElement, Black, Blue, Green, Cyan, Red, Violet, Yellow,
White).
The color of the negatives.
neighbors: Variable, Readonly.
Type: array of (unknown).
(iat, imol) The neighbor list for the specified atom.
no-source-refs-in-errors: Command.
Arg list: (void).
Controls presentation of filename, line number in error messages.
non-standard-pdb-names: Variable, Read/Write.
Type: boolean.
If true, then look for left-justified pdb element names .
nonbond-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
notify-on-update: Command.
Arg list: string.
String-1 gives name of variable whose value-changes are desired.
notify-with-text: Variable, Read/Write.
Type: boolean.
For DDE channels only. Are notifications to be text (otherwise binary).
nucleic-a-form: Command.
Arg list: (void).
Subsequent additions of nucleotides will use a-form torsion angles.
nucleic-alpha: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
DNA alpha backbone torsion.
nucleic-b-form: Command.
Arg list: (void).
Subsequent additions of nucleotides will use b-form torsion angles.
nucleic-backwards: Variable, Read/Write.
Type: boolean.
Build backward DNA.
nucleic-beta: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
DNA beta backbone torsion.
nucleic-chi: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
DNA chi backbone torsion.
nucleic-delta: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
DNA delta backbone torsion.
nucleic-double-strand: Variable, Read/Write.
Type: boolean.
Build double strand DNA.
nucleic-epsilon: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
DNA epsilon backbone torsion.
nucleic-gamma: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
DNA gamma backbone torsion.
nucleic-sugar-pucker: Variable, Read/Write.
Type 1 (Hcl) Scripts

83

Catalog of HSV’s and Direct Script Commands

Type: enum(2-endo, 3-endo).
Select sugar pucker of DNA.
nucleic-z-form: Command.
Arg list: (void).
Subsequent additions of nucleotides will use z-form torsion angles.
nucleic-zeta: Variable, Read/Write.
Type: float angle in range (-360 .. 360).
DNA zeta backbone torsion.
omsg-file: Variable, Read/Write.
Type: string.
String is file to append omsgs.
omsgs-not-to-file: Command.
Arg list: (void).
Directs that o-msgs are not to be written to a file, but to a messagebox.
omsgs-to-file: Command.
Arg list: string.
String-1 gives the name of the new file to which o-msgs are to be written.
one-line-arrays: Variable, Read/Write.
Type: boolean.
Whether to emit arrays all on one line.
open-file: Command.
Arg list: string.
String-1 names the molecule file to be opened.
optim-algorithm: Variable, Read/Write.
Type: enum(SteepestDescents, FletcherReeves, PolakRibiere, NewtonRaphson, EigenvectorFollow, ConjugateDirections).
The algorithm to use for structure optimizations.
optim-converged: Variable, Readonly.
Type: boolean.
Whether optimization has converged.
optim-convergence: Variable, Read/Write.
Type: float in range (0 .. 100).
Optimization gradient convergence.
optim-max-cycles: Variable, Read/Write.
Type: integer in range (1 .. +Inf).
Maximum number of optimization steps.
orbital-count: Variable, Read/Write.
Type: integer.
Number of molecular orbitals available.
orbital-symmetry: Variable, Read/Write.
Type: vector of string.
(i) Irreducible representation of the i-th orbital.
parameter-set-changed: Variable, Read/Write.
Type: boolean.
Toggles the state of the backend parameters.
path: Variable, Read/Write.
Type: string.
Current directory.
pause-for: Command.
Arg list: integer in range (0 .. 32767).
HyperChem pauses for Int-1 seconds.
periodic-boundaries: Variable, Read/Write.
Type: boolean.
Whether to use periodic boundary conditions.
periodic-box-size: Variable, Readonly.
Type: (unknown).
Return the size of the periodic box.
polar-field-strength: Variable, Read/Write.
84

Chapter 6

Catalog of HSV’s and Direct Script Commands

Type: float in range (-1000 .. 1000).
Electric field strength for polarizability calculations
polarizability-calculated: Variable, Read/Write.
Type: boolean.
calculate ab initio or semiempirical polarizability
pop-no-value: Command.
Arg list: string.
variable: pop stack, don't restore value.
pop-value: Command.
Arg list: string.
variable: Restore pushed value.
positives-color: Variable, Read/Write.
Type: enum(ByElement, Black, Blue, Green, Cyan, Red, Violet, Yellow,
White).
The color of the positives.
print: Command.
Arg list: (void).
Print to default printer.
print-variable-list: Command.
Arg list: string.
Write a summary of the state variables to file String-1
printer-background-white: Variable, Read/Write.
Type: boolean.
Force printer background color to white.
push: Command.
Arg list: string.
variable: Push copy of current value onto stack.
quantum-print-level: Variable, Read/Write.
Type: integer in range (0 .. 9).
Print level for quantum mechanics.
quantum-total-charge: Variable, Read/Write.
Type: integer in range (-32768 .. 32767).
The total charge of the quantum mechanical system.
query-response-has-tag: Variable, Read/Write.
Type: boolean.
Do HSV responses have identifying tags?
query-value: Command.
Arg list: .
String-1 names the state variable whose value should be emitted as an omsg.
read-binary-script: Command.
Arg list: string.
String-1 names the compiled script file that should be read.
read-script: Command.
Arg list: string.
String-1 names the file that should be read as a command script.
read-tcl-script: Command.
Arg list: string.
String-1 names the file that should be read and executed as a Tcl/Tk
script.
remove-all-stereo-constraints: Command.
Arg list: (void).
Remove all stereo constraints.
remove-stereo-constraint: Command.
Arg list: integer, integer.
Remove any stereo constraints from atom (iat, imol)
render-method: Variable, Read/Write.

Type 1 (Hcl) Scripts

85

Catalog of HSV’s and Direct Script Commands

Type: enum(sticks, balls, balls-and-cylinders, spheres, dots, sticks-anddots).
How the system is to be displayed.
reorder-selections: Variable, Read/Write.
Type: boolean.
Should atoms in selections be reordered to make proper angles, etc.?
request: Command.
Arg list: string.
Displays String-1 in a modeless dialog until the user click OK.
residue-charge: Variable, Readonly.
Type: array of float.
(ires, imol) The net charge on the residue.
residue-coordinates: Variable, Readonly.
Type: array of float, float, float.
(ires, imol) The center-of-mass for the residue.
residue-count: Variable, Readonly.
Type: vector of integer.
(imol) The number of residues in molecule imol.
residue-label-text: Variable, Readonly.
Type: array of string.
(ires, imol) Text of the label for the residue.
residue-labels: Variable, Read/Write.
Type: enum(None, Name, Sequence, NameSequence).
Label for residues.
residue-name: Variable, Readonly.
Type: array of string.
(ires, imol) The name of the residue.
restraint: Command.
Arg list: string, float, float.
(selection-name, value, force-constant)restraint-tether: Command.
Arg list: .
(selection-name, [POINT|x,y,z], force-constant)revert-element-colors: Command.
Arg list: (void).
Use default color scheme for displaying atoms.
rms-gradient: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
rotate-molecules: Command.
Arg list: enum(x, y, z, line), float.
rotate-molecules (axis, angle)
rotate-viewer: Command.
Arg list: enum(x, y, z, line), float.
rotate-viewer (axis, angle)
scf-atom-energy: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
SCF atom energy.
scf-binding-energy: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
SCF binding energy.
scf-convergence: Variable, Read/Write.
Type: float in range (0 .. 100).
Convergence required for QM SCF computations.
scf-core-energy: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
SCF core energy.
scf-electronic-energy: Variable, Read/Write.
86

Chapter 6

Catalog of HSV’s and Direct Script Commands

Type: float in range (-1e+010 .. 1e+010).
SCF electronic energy.
scf-orbital-energy: Variable, Read/Write.
Type: vector of float.
(i) Eigenvalues of the Fock matrix.
screen-refresh-period: Variable, Read/Write.
Type: integer in range (1 .. 32767).
How frequently to update system on the screen.
script-menu-caption: Variable, Read/Write.
Type: vector of string.
Caption for menu button.
script-menu-checked: Variable, Read/Write.
Type: vector of boolean.
If checked.
script-menu-command: Variable, Read/Write.
Type: vector of string.
Command for menu button.
script-menu-enabled: Variable, Read/Write.
Type: vector of boolean.
If greyed.
script-menu-help-file: Variable, Read/Write.
Type: vector of string.
Help file for menu item.
script-menu-help-id: Variable, Read/Write.
Type: vector of integer.
Context id for help on button.
script-menu-in-use: Variable, Read/Write.
Type: vector of boolean.
Is somebody claiming this menu item?
script-menu-message: Variable, Read/Write.
Type: vector of string.
Status message.
script-refs-in-errors: Variable, Read/Write.
Type: boolean.
Whether to include script file line numbers in errors.
select-atom: Command.
Arg list: integer, integer.
Selects atom int-1 in molecule int2. Honors selection-target.
select-name: Command.
Arg list: string.
String-1 specifies the name of a selection to become the current selection.
select-none: Command.
Arg list: (void).
Unselect all atoms.
select-path: Command.
Arg list: integer, integer, integer, integer.
Selects atoms in path from int-1 in molecule int-2 to int-3 in molecule
int-4.
select-residue: Command.
Arg list: integer, integer.
Selects residue int-1 in molecule int-2, disregarding selection-target.
select-sphere: Variable, Read/Write.
Type: boolean.
Whether double-button dragging selects in a sphere or in a rectangle.
selected-atom: Variable, Readonly.
Type: vector of integer, integer.
(i) The atom and molecule indices of the i-th selected atom.
selected-atom-count: Variable, Readonly.
Type 1 (Hcl) Scripts

87

Catalog of HSV’s and Direct Script Commands

Type: integer.
The number of selected atoms.
selection-color: Variable, Read/Write.
Type: enum(ThickLine, Black, Blue, Green, Cyan, Red, Violet, Yellow,
White).
How to display the selection.
selection-target: Variable, Read/Write.
Type: enum(Molecules, Residues, Atoms).
The type of target for selection operations.
selection-value: Variable, Readonly.
Type: float.
The value of the current selection (bond length, angle, etc).
semi-empirical-method: Variable, Read/Write.
Type: enum(ExtendedHuckel, CNDO, INDO, MINDO3, MNDO, AM1,
PM3, ZINDO1, ZINDOS, MNDOd, TNDO).
The type of semi-empirical computation to perform.
serial-number: Variable, Readonly.
Type: string.
The serial number of this copy of HyperChem, read-only.
set-atom-charge: Command.
Arg list: float in range (-100 .. 100).
Float-1 provides the charge for the currently selected atom(s).
set-atom-charges-to-formal: Command.
Arg list: (void).
Sets all atom charges to the value of formal charge.
set-atom-type: Command.
Arg list: string.
String-1 provides the type for the currently selected atom(s).
set-bond: Command.
Arg list: integer, integer, integer, integer, enum().
Set bond between (iat1, imol1) and (iat2, imol2) to be bond type.
set-bond-angle: Command.
Arg list: float angle in range (0 .. 180).
Set the bond angle for the current selection.
set-bond-length: Command.
Arg list: float in range (0 .. 3200).
Set the bond length for the current selection.
set-bond-torsion: Command.
Arg list: float angle in range (-360 .. 360).
Set the torsion angle for the current selection.
set-velocity: Command.
Arg list: .
Set the velocity for the selected atoms.
show-aromatic-rings-as-circles: Variable, Read/Write.
Type: boolean.
Whether aromatic rings are shown with circles or dotted bonds
show-axes: Variable, Read/Write.
Type: boolean.
Whether to display inertial axes.
show-dipoles: Variable, Read/Write.
Type: boolean.
Whether to display dipole.
show-gradient-vectors: Variable, Read/Write.
Type: boolean.
Show atomic gradient vectors
show-hydrogen-bonds: Variable, Read/Write.
Type: boolean.
Whether hydrogen bonds are displayed.
88

Chapter 6

Catalog of HSV’s and Direct Script Commands

show-hydrogens: Variable, Read/Write.
Type: boolean.
Whether Hydrogens are displayed.
show-isosurface: Variable, Read/Write.
Type: boolean.
Whether an isosurface should be displayed, if one is available.
show-multiple-bonds: Variable, Read/Write.
Type: boolean.
Whether multiple bonds are drawn with multiple lines.
show-periodic-box: Variable, Read/Write.
Type: boolean.
Whether the periodic box is displayed when it exists.
show-perspective: Variable, Read/Write.
Type: boolean.
Whether the system should be displayed in perspective.
show-ribbons: Variable, Read/Write.
Type: boolean.
Whether the system should be displayed with ribbons.
show-stereo: Variable, Read/Write.
Type: boolean.
Whether the system should be displayed as a stereo pair.
show-stereochem-wedges: Variable, Read/Write.
Type: boolean.
Whether stereochemistry constraints get displayed on the screen.
show-vibrational-vectors: Variable, Read/Write.
Type: boolean.
Whether or not to display per-atom vibrational vectors.
small-density-cutoff: Variable, Read/Write.
Type: float in range (0 .. 0.001).
value of density used as cutoff value
solvate-system: Command.
Arg list: (void).
Solvate current system using default box size.
solvate-system-in-this-box: Command.
Arg list: float, float, float.
The three Float args give the size of the box for solvation.
source-refs-in-errors: Command.
Arg list: (void).
Controls presentation of filename, line number in error messages.
spheres-highlighted: Variable, Read/Write.
Type: boolean.
CPK overlapping spheres should be highlighted when shaded.
spheres-shaded: Variable, Read/Write.
Type: boolean.
CPK overlapping spheres should be shaded.
start-logging: Command.
Arg list: string, boolean.
Begin append of logging computation results to file String-1.
state-to-optimize: Variable, Read/Write.
Type: enum(SCF, MP2, CI).
Which energy to use for conjugate directions.
status-message: Variable, Read/Write.
Type: string.
The text of the last status message.
sticks-width: Variable, Read/Write.
Type: integer in range (0 .. 25).
Sticks rendering width in pixels.

Type 1 (Hcl) Scripts

89

Catalog of HSV’s and Direct Script Commands

stop-logging: Command.
Arg list: (void).
Don't log computation results any more.
stretch-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
switch-to-user-menu: Command.
Arg list: (void).
Change menu to the user customized menu.
tndo-version: Variable, Read/Write.
Type: integer in range (1 .. 2).
1, 2, etc. as versions of TNDO
toggle: Command.
Arg list: string.
Invert value of boolean variable.
torsion-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
total-energy: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
translate-merged-systems: Variable, Read/Write.
Type: boolean.
Should newly merged/pasted molecules be translated off to one side?
translate-selection: Command.
Arg list: float, float, float.
Translate the selection by (dx, dy, dz)
translate-view: Command.
Arg list: float, float, float.
Translate the view by (dx, dy, dz).
translate-whole-molecules: Variable, Read/Write.
Type: boolean.
Select translation of entire molecule.
uhf: Variable, Read/Write.
Type: boolean.
Perform UHF(true) or RHF(false) calculation.
un-select-atom: Command.
Arg list: integer, integer.
Un-selects atom int-1 in molecule int2. Honors selection-target.
un-select-residue: Command.
Arg list: integer, integer.
Un-selects residue int-1 in molecule int-2, disregarding selection-target.
unconstrain-bond-angle: Command.
Arg list: (void).
Remove any angle constraint for the three currently selected atoms.
unconstrain-bond-length: Command.
Arg list: (void).
Remove any constraints on two currently selected atoms.
unconstrain-bond-torsion: Command.
Arg list: (void).
Remove any torsion constraint for the four currently selected atoms.
use-auxilliary-basis: Variable, Read/Write.
Type: boolean.
As oppposed to numerical integrationuse-electric-field: Command.
Arg list: unregistered.
use an applied electric field

90

Chapter 6

Catalog of HSV’s and Direct Script Commands

use-fast-translation: Variable, Read/Write.
Type: boolean.
Use bitmap for XY translations.
use-magnetic-field: Command.
Arg list: unregistered.
use an applied magnetic fielduse-mullikan-approximation-to-density: Variable, Read/Write.
Type: boolean.
speed things up in dft onlyuse-no-restraints: Command.
Arg list: (void).
Ignore all restraints.
use-parameter-set: Command.
Arg list: string.
Use parameter set string1 for current molecular mechanics methods.
use-restraint: Command.
Arg list: string, boolean.
(selection-name, if-use)
use-small-density-cutoff: Variable, Read/Write.
Type: boolean.
minimize points in numerical integration
uv-band-count: Variable, Read/Write.
Type: integer.
The total number of uv bands.
uv-dipole-components: Variable, Read/Write.
Type: vector of float-list.
(i) The components of the dipole moment for the i-th state.
uv-energy: Variable, Read/Write.
Type: vector of float.
(i) The energy of the i-th uv band.
uv-oscillator-strength: Variable, Read/Write.
Type: vector of float.
(i) For the current state.
uv-spin: Variable, Read/Write.
Type: vector of float.
(i) The total spin of the i-th state.
uv-total-dipole: Variable, Read/Write.
Type: vector of float.
(i) The total dipole of the i-th excited state.
uv-transition-dipole: Variable, Read/Write.
Type: vector of float, float, float.
(i) The components of the transition dipole for the i-th state.
variable-changed: Command.
Arg list: string.
Declare that the named variable has changed.
velocities: Variable, Read/Write.
Type: array of float, float, float.
(iat, imol) The x, y, and z velocity components of atom iat in moleculeimol.
velocities-in-hin-file: Variable, Read/Write.
Type: boolean.
Should velocities be written into a hin file?
version: Variable, Readonly.
Type: string.
The version number of HyperChem, read-only.
vibrational-mode: Variable, Read/Write.
Type: integer.
The index of the current normal mode.
Type 1 (Hcl) Scripts

91

Catalog of HSV’s and Direct Script Commands

view-in-hin-file: Variable, Read/Write.
Type: boolean.
Should view be written into a hin file? (useful for comparing hin files)
wall-eyed-stereo: Variable, Read/Write.
Type: boolean.
Wall eyed stereo.
warning: Variable, Read/Write.
Type: string.
The current warning.
warning-type: Variable, Read/Write.
Type: enum(none, log, message).
Destination for warning messages.
warnings-are-not-omsgs: Command.
Arg list: (void).
Specifies that warning messages are to appear in message boxes.
warnings-are-omsgs: Command.
Arg list: (void).
Specifies that warning messages should be treated like o-msgs.
window-color: Variable, Read/Write.
Type: enum(Monochrome, Black, Blue, Green, Cyan, Red, Violet, Yellow, White).
The background color for the window.
window-height: Variable, Read/Write.
Type: integer.
Height of the HyperChem window in pixels.
window-width: Variable, Read/Write.
Type: integer.
Width of the HyperChem window in pixels.
workspace-height: Variable, Read/Write.
Type: integer.
Height of the workspace in pixels.
workspace-width: Variable, Read/Write.
Type: integer.
Width of the workspace in pixels.
write-atom-map: Command.
Arg list: string.
Writes a mapping of backend atom numbers to HyperChem (atom, molecule) pairs.
write-file: Command.
Arg list: string.
String-1 names the file into which the current system should be written.
x-y-rotation-cursor: Variable, Read/Write.
Type: float angle in range (0 .. 3600).
Select X-Y axis rotation cursor tool.
x-y-rotation-icon-step: Variable, Read/Write.
Type: float angle in range (0 .. 3600).
Select X-Y axis rotation step.
x-y-translation-icon-step: Variable, Read/Write.
Type: float in range (0 .. 1000).
Select X-Y translation step.
z-rotation-cursor: Variable, Read/Write.
Type: float angle in range (0 .. 3600).
Select Z axis rotation cursor tool.
z-rotation-icon-step: Variable, Read/Write.
Type: float angle in range (0 .. 3600).
Select Z axis rotation step.
z-translation-cursor: Variable, Read/Write.
Type: float in range (0 .. 1000).
92

Chapter 6

Catalog of HSV’s and Direct Script Commands

Select Z axis translation cursor tool.
z-translation-icon-step: Variable, Read/Write.
Type: float in range (0 .. 1000).
Select Z translation step.
zindo-1-pi-pi: Variable, Read/Write.
Type: float in range (0 .. 2).
Overlap weighting factors.
zindo-1-sigma-sigma: Variable, Read/Write.
Type: float in range (0 .. 2).
Overlap weighting factors.
zindo-s-pi-pi: Variable, Read/Write.
Type: float in range (0 .. 2).
Overlap weighting factors.
zindo-s-sigma-sigma: Variable, Read/Write.
Type: float in range (0 .. 2).
Overlap weighting factors.
zoom: Command.
Arg list: float in range (0.01 .. 50).
Set the magnification.
zoom-cursor: Variable, Read/Write.
Type: float in range (1 .. 1000).
Select zoom cursor tool.
zoom-icon-step: Variable, Read/Write.
Type: float in range (1 .. 1000).
Select zoom step.

Type 1 (Hcl) Scripts

93

Catalog of HSV’s and Direct Script Commands

94

Chapter 6

Chapter 7
Type 2 (Tcl/Tk) Scripts

Introduction
This chapter describes a new scripting language for HyperChem that appears
for the first time in Release 5.0. This language is called the Tool Command
Language or just Tcl (“tickle”) for short. Tcl was developed by Professor
John Ousterhout and his students at the University of California, Berkeley
and placed in the public domain. Hypercube has build the language directly
into the HyperChem product. Tcl is a general purpose, but relatively simple,
interpreted scripting language. It is embeddable. That is, one can extend thecore Tcl language with additional commands; Hypercube has imbedded thefull HyperChem Command Language (Hcl) into Tcl. This makes it anextremely powerful language for molecular modeling. A HyperChem script
can now be made to do almost anything you wish with a relative modest
amount of programming.
Since Tcl is imbeddable, it commonly comes with an extra set of commands
that allow it to be used for building graphical user interfaces (GUI’s). The
extra module is called the Toolkit (Tk) and the combination is called Tcl/Tk.
Within HyperChem it might be called Tcl/Tk/Hcl but we simply refer to it as
Tcl/Tk (or just Tcl when we are not concerned with graphical elements).
Because the Tcl/Tk/Hcl combination is so powerful it is now possible to write
whole graphical applications as simple scripts. They can be written quickly
and they can be debugged quickly since Tcl is an interpreted language. One
might first think that a scripting language is just a way of customizing HyperChem but there are many situations where Tcl can be used to write completely
new applications, reusing whatever functionality HyperChem conveniently
can provide. In other situations Tcl is a convenient glue language for interfacing HyperChem to your own applications, possibly written in C, C++, or Fortran. HyperChem contains many capabilities that you do not need or want to
replicate, but can just use - via this new scripting capability.

95

Elements of Tcl

Elements of Tcl
This manual cannot be a tutorial or reference for Tcl! The language is extensive and competent Tcl programmers must obtain the appropriate reference
books and materials as with any other programming language. Nevertheless,with a few ideas described here and the examples that are provided, you
should be able to write your first Tcl/Tk program and can begin to extend
HyperChem, in some useful way, for your own purposes. Appendix B contains a very brief outline of the Tcl commands.
The obvious way to start learning the language is through books on the subject or through user groups and other material on the Internet and World Wide
Web.

Books
The obvious book to use is the one by Ousterhout himself. It is the oldest,
however, and may not be up to date compared with the latest releases of thesoftware.
•John K. Ousterhout, Tcl and the Tk Toolkit, 1994, Addison-Wesley,
Reading, Mass., ISBN 0-201-6337-X.

•

Brent Welch, Practical Programming in Tcl and Tk, Prentice Hall, 1994.

•

Eric F. Johnson, Graphical Applications with Tcl & Tk, 1996, M&T
Books, New York, N.Y., ISBN 1-55851-471-6.

Internet
Tcl resources are also readily available on the internet. The Usenet newsgroup comp.lang.tcl may be useful to you. Some of the WWW sites where Tcl
resources are available are:96

Chapter 7•

http://www.sunlabs.com:80/research/tcl/•

http://www.sco.com/Technology/tcl/Tcl.html•

http://www.elf.org/tcltk-man-html/contents.html

Elements of Tcl

What is Tcl?
The Tcl language is an interpreted scripting language that, after you are familiar with it, is really quite simple and easy to use. However, to chemists andthose with limited programming experience outside C and Fortran, it may
seem somewhat strange to begin with. The language may seem to you to bevery oriented toward strings rather than numbers, but this is perhaps one ofits strengths.

Commands and Arguments
Tcl scripts (*.TCL) consist of a sequence of Tcl commands. Each Tcl command consists of the name of the command followed by its arguments:
command <argument1> <argument2> ...

Every command returns a string. For example, the command,incr $x 3

increments the value of x by three and returns the string corresponding to the
new value..

Variables and Values
Tcl allows you to store values in variables and use values in commands. For
example, the command,set x 3.5

stores the value 3.5 in the variable x. The value of x is the string, “3.5”,
obtained by using the syntax, $x. To perform arithmetic like operations, onemust use a command, expr, that concatenates its arguments into a single
string, evaluates it as an arithmetic expression, and converts the numericalresult back into a string to return it. Thus,
expr $x * 3

returns the string, “10.5”.

Command Substitution
This allows you to use the result of one command (a string) as an argument
in another command. Thus,
set y [expr $x + 0.5]
is the way to set y to the value of 4.0, or in general the way to perform arithmetic. The square brackets invoke command substitution, i.e. everything
Type 2 (Tcl/Tk) Scripts

97

Elements of Tcl

inside the square brackets is evaluated as a separate Tcl script and the resultof the script is substituted in place of the bracketed command.

Procedures and Control Structures
It is possible to write Procedures in Tcl. For example, a procedure called
power which when passed x and n computes xn is as follows:
proc power {x n} {set result 1
while {$n > 0} {set result [expr $result * x]
set n [expr $n - 1]}
return $result}

The braces, { }, are like the double quotes that you place around words thathave spaces in them to make them into single words - “two words”, forexample. Braces nest, i.e. the last argument of the proc command starts after
the open brace on the first line and contains everything up to the close braceon the last line. No substitutions occur within braces - all the characters
between the two braces are passed verbatim to proc as its third argument.

Tk
The Tk commands that are added to Tcl have to do with creating and using a
set of widgets that appear in a window that appears whenever you invoke a
Tcl script (unless you place the Tcl command, TclOnly, at the start of thescript). The widgets include Labels, Text Boxes, Buttons, Menus, Frames,
Scales, Radio Buttons, Check Boxes, List Boxes, etc. A widget is created by
a command as follows:<widget-type> <widget-name> <argument1> ...

The widget name traditionally starts with a “dot”. For
example, a button is created as follows:
button .b -text “Push Me” -command { <action> }This button with the text “Push Me” on it will appear in the GUI and willcause the Tcl command <action> to be executed when it is pushed.

98

Chapter 7

Hcl Embedding

A necessary Tk command in a Tcl script is the one which lays out the widgets.
This pack command,
pack .blays out each of its widget arguments in the window, in the order in which thearguments are named. By default a vertical ordering is used.

Hcl Embedding
Finally, Type 2 or Tcl/Tk scripts can all execute any of the HyperChem script
commands in the HyperChem Script language (Hcl). Within a Tcl script theseHcl commands are divided into two types:•

Executable command - hcExec•

HSV Query - hcQueryhcExecThe Tcl command for executing a Hcl command is hcExec. For example,
hcExec “do-molecular-dynamics”
hcExec “window-color green”
hcExec “menu-file-open”
hcExec “query-value window-color”
This command can be used to execute any Hcl script, including menu activations, direct commands, and any HSV read or write. However, an HSV readsuch as, “query-value window-color”, will place the return message into a
HyperChem dialog on the screen as if it was a normal Hcl script and not return
anything to the Tcl script. The string that is returned from any hcExec command is always the empty string, “”. If one wants a Tcl script to manipulate
and use HSV results from HyperChem then the hcQuery command should be
used.

hcQuery
The Tcl command for querying HyperChem for the value of an HSV is
hcQuery. For example,
set x [hcQuery window-color]

Type 2 (Tcl/Tk) Scripts

99

Examplesor
set x [hcQuery “window-color”]

The quotes are optional in this context. The hcQuery command is a normal
Tcl call and returns a string as it should. Thus, if one queries an integer value,a string is returned that represents the integer; everything is consistent. For
example, if the number of atoms in molecule 3 is requested,
set number_atoms [hcQuery “atom-count 3”]then this value can be later used as in the following:
set twice_number_atoms [expr $number_atoms * 2]

ExamplesWhile we have already seen a couple of very simple Tcl scripts in earlier
chapters, this section describes three examples to help you get started in programming Tcl/Tk. The best way to learn the language is to use it. After understanding these examples, you should try a few scripts yourself. Obviously, if
you are to become relatively expert in this subject you will need to obtainsome books on Tcl or get assistance through the Internet in understanding thefull syntax and semantics of the language.

Calculating the Number of Atoms
You have seen in earlier chapters some simple TclOnly scripts. This script is
our first example of a Tcl/Tk script that uses Tk to generate a GUI. The example is very simple and is used to show the number of atoms in the HyperChem
workspace. The code is very short,entry .en -textvariable natoms -width 20
button .b -text "Calculate Atoms" -width 20 -command {set natoms [hcQuery "atom-count"]}
pack .b .en

This script has a GUI with two widgets. The first is a text entry widget,
referred to in Tcl/Tk as an entry. It can be used to enter text or, as in this case,display text. We are going to use it to display the number of atoms in theHyperChem workspace. The text in an entry widget can be bound to a Tcl
variable such that the text that appears always represent the current value of100

Chapter 7

Examplesthe variable. This is what we have done here; we have bound the variable
natoms to the entry widget.
The next widget is just a button widget as we have discussed above. When the
button is pushed, it executes the Tcl command,
set natoms [hcQuery atom-count]which assigns a value to natoms that is the result of the query to HyperChem
for the value of the HSV, atom-count (the elimination of quotation marks
around atom-count is deliberate to show that they are optional). Now, atomcount is a vector and since we have left off the index describing the molecule
number, i.e. the specific component of the vector, all vector components will
be returned. If there are two molecules in the workspace, we will get twocomponents returned, etc. Because natoms is bound to the entry widget, thevalue returned from pushing the button will appear in the entry widget.
Finally, the two widgets must be packed, i.e. they must be laid out on the window. The packing mentions the button first and then the entry so that this is
the order in which they appear in the window. The default layout scheme isto have them arranged vertically. The result of pushing the button is thus:

The title at the top of the Tcl/Tk window is the title of the script that has been
executed. Only one molecule is present so only the first component of thevector is returned. If the Hcl script command, query-response-has-tag false,Type 2 (Tcl/Tk) Scripts

101

Examples

had been executed in the Tcl script prior to the query for atom-count, then the
Tcl/Tk entry in the window would only show “8” as the tag, atomcount(1)=, would have been eliminated.
To elaborate on this kind of script, you simply need to add more widgets andperform more complicated actions when GUI elements like buttons arepressed.

Calculating a Dipole Moment
This example Tcl/Tk script can be used to calculate a dipole moment for any
situation where there are atomic charges. The script is available on the HyperChem CD-ROM as dipole.tcl. The script makes the assumption that thedipole moment can be calculated from the partial atomic charges only. These
are the charges you see when you ask for charge labels in HyperChem. This
script would perhaps be useful for molecular mechanics where HyperChem
currently does not calculate a dipole moment. If one uses the following Tcl
script to calculate a dipole moment from the Amber template charges of theglycine dipeptide zwitterion, one gets,

The Tcl script for this calculation will now be described. The first part of thescript is associated with setting up the eight label widgets for the text describing the four values and for the four values themselves.

102

Chapter 7

Examples

LabelsWe are going to use labels to describe everything in this window apart fromthe button. The labels need to be laid out both horizontally and vertically. The
easiest way to do this is to place labels horizontally into a frame and thenarrange the frames vertically. We use a simple flat label for the text describing
which dipole quantity we are talking about and a label with a relief ridgearound it for the showing the value. Thus, the first frame is just:frame .f1
label .f1.l1 -text "x component" -width 20
label .f1.l2 -textvariable xdipole -width 20 -relief ridge
pack .f1.l1 .f1.l2 -side left

The label .l1, for example, is a component of the frame .f1 as indicated by thenotation .f1.l1. The packing is done horizontally starting at the left of the window. This first frame is for the variable that we have called xdipole, the xcomponent of the dipole moment. The other three frames are identical:
frame .f2
label .f2.l1 -text "y component" -width 20
label .f2.l2 -textvariable ydipole -width 20 -relief ridge
pack .f2.l1 .f2.l2 -side left
frame .f3
label .f3.l1 -text "z component" -width 20
label .f3.l2 -textvariable zdipole -width 20 -relief ridge
pack .f3.l1 .f3.l2 -side left
frame .f4
label .f4.l1 -text "total" -width 20
label .f4.l2 -textvariable totdipole -width 20 -relief
ridgepack .f4.l1 .f4.l2 -side left

Type 2 (Tcl/Tk) Scripts

103

Examples

Finally, we pack the four frames from top to bottom. We will use a slightly
modified call to pack here, called the “configure” option which allows moreformatting which, in this case, we use to add a little more padding between
the frames.
pack configure .f1 .f2 .f3 .f4 -pady 10

Button
The next part of the code describes the button and the action taken when the
button is pressed. The button is called .b and the action is everything between
the opening brace on the first line and the closing brace on the last line. The
first thing that is done is to execute a Hcl command to see that the value wewant comes back without a tag that would interfere with its direct use in Tcl
commands. We then initialize the component values of the dipole moment weare going to calculate, and initialize the loop counter i. We then get the countof the number of atoms in molecule 1 for the loop over atoms. The script weare using here is limited to calculating only the dipole moment of molecule 1.
It is an exercise for the reader to extend this to calculate the dipole momentof the whole molecular system when it has more than one molecule in it. The
loop is then entered.
button .b -text "Calculate Dipole Moment" -command {hcExec "query-response-has-tag false"
set xdipole 0
set ydipole 0
set zdipole 0
set i 0
set natoms [hcQuery "atom-count 1"]
while { $i <$natoms } {incr i 1

The principal task inside the loop is to get the coordinates and charge of each
atom and to multiple them together, accumulating them as we go through theloop. The charge is straight-forward as the first line below indicates. However, the coordinates of an atom come back as a string representing the threex,y,z components separated by commas. This string, referred to here as sz,
must be parsed to extract the individual components which are placed inarrays x, y, and z. The parsing is accomplished with string commands thatextract the length of a string (string length), look for particular substrings suchas “,” starting at the beginning of the string (string first), extract a substring
104

Chapter 7

Examplesout of a string (string range), search a string from the end to the beginninglooking for a substring (string last), or trim leading blanks off of a string(string trimleft).
set charge($i) [hcQuery "atom-charge($i,1)"]
set sz [hcQuery "coordinates($i,1)"]
set sz_length [string length $sz]
set comma1 [string first "," $sz]
set x($i) [string range $sz 0 [expr $comma1 - 1] ]set x($i) [string trimleft $x($i)]
set comma2 [string last "," $sz]
set y($i) [string range $sz [expr $comma1 + 1] [expr $comma2 - 1] ]set y($i) [string trimleft $y($i)]
set z($i) [string range $sz [expr $comma2 + 1] $sz_length ]set z($i) [string trimleft $z($i)]

This parsing may seem a bit difficult but this is about the worst that it evergets. Finally, the charges and coordinates are multiplied and accumulated.
set xdipole [expr $xdipole + $charge($i) * $x($i)]
set ydipole [expr $ydipole + $charge($i) * $y($i)]
set zdipole [expr $zdipole + $charge($i) * $z($i)]}

Once outside the loop, the dipole moment components are converted to
Debyes and then the total is computed from the components.
set factor 4.8033
set xdipole [expr $xdipole * $factor]
set ydipole [expr $ydipole * $factor]
set zdipole [expr $zdipole * $factor]

Type 2 (Tcl/Tk) Scripts

105

Examples

set totdipole [expr $xdipole * $xdipole]
set totdipole [expr $totdipole + $ydipole * $ydipole]
set totdipole [expr $totdipole + $zdipole * $zdipole]
set totdipole [expr sqrt($totdipole)]

The last thing is to end the button code and to pack the button below thelabels.
}pack .b

This completes the calculation of the dipole moment. Additional Tcl scripts
are available from the HyperChem CD-ROM.

106

Chapter 7

Chapter 8
DDE Interface to HyperChem

Introduction
This chapter describes the basics of a lower-level Dynamic Data Exchange(DDE) interface to HyperChem and illustrates it with interactions between
Microsoft Word or Microsoft Excel and HyperChem.

DDE versus HAPIThe DDE interface is referred to here as lower-level because Hypercube’s
new CDK has introduced a higher-level interface that sits on top of DDE andis referred to as the HyperChem Application Programming Interface (HAPI).
The HAPI way to interface programs to HyperChem is fully described in
Chapter 11. One point about making HAPI calls rather than DDE calls is thatit has abstracted away from any machine or operating system dependency on
DDE and can be used in a UNIX environment, etc. Any investment in HAPI
is preserved since HAPI will be re-implemented by Hypercube if new lower
levels of interprocess and interprocessor messaging replaces DDE.

Use of DDE in Windows Applications
The DDE interface is more strictly operating system dependent than it reallyis very low-level. We will illustrate it here with a word processor and a
spreadsheet. The next chapter illustrates its use within Visual Basic programs.
These DDE interfaces are actually relatively high-level interfaces and areavailable for multiple word processors and spreadsheets. The DDE interface
is very standard for Windows programs and many manufacturers haveadopted it. It is almost non-existent outside the Microsoft Windows environment, however. Nevertheless, almost any Windows program will have a DDEinterface and HyperChem can have conversations and exchange data with alarge number of other standard Windows programs. We illustrate the CDK
technology using DDE interactions between HyperChem and Word, Excel or107

Basic Properties of DDE

Visual Basic, because these are very prominent programs of their class not
because identical interfaces could not be demonstrated for other word processors, spreadsheets, etc.
There are indications that Microsoft might eventually replace DDE withsomething referred to as OLE Automation. Essentially identical considerations would really apply to this new approach compared with the discussions
given below for DDE. Nevertheless, a newer version of HyperChem mightsome day be needed to replace HyperChem’s current use of DDE with OLE
Automation. There are no indications that Microsoft will abandon its use of
DDE anytime in the near future.

Basic Properties of DDE
Dynamic Data Exchange is a mechanism for interprocess communication in
Windows and NT. Two separate programs carry on a DDE conversation bysending messages to each other. The two programs are referred to as a client
and a server. A DDE server generally has data or services that may be of interest to another program. A DDE client wishes to obtain such data or services.
In our context, HyperChem is a DDE Server and makes its data and services
available to other programs. A client such as Microsoft Word or Excel, or
your program, initiates a communication with the HyperChem Server,
exchanges data with it, and sends it messages to control its actions.
Two programs that engage in DDE conversations with each other need not be
specifically coded to work with each other. A DDE Server, such as HyperChem, will publicly define its messaging protocol so that all clients know inadvance how to obtain services from the server.
A protocol begins with a server defining the name of its application, a topic
for the conversation, and an item that defines the exchange. In most cases theitem is a piece of data to be read from the server.The client initiates the conversation by using the application and topic to establish a communication linkIn our case, the application is HyperChem, the topic is always System, and theitem is the name of an HSV. In addition, commands can be sent to the server
and this is the way menu activations, direct commands and HSV writes are
performed.

DDE Message Types
Each DDE interaction or message passed between client and server is a member of a small number of types. The relevant message type for messages sentfrom your client program to the HyperChem server are as follows:

108

Chapter 8

DDE Interface to Microsoft Word

DDE_INITIATEThis message, broadcast by a client, requests a conversation with an application on a topic. Hyperchem will respond if the application is “HyperChem”
and the topic is “System”.

DDE_ EXECUTE
This is the message sent by a client to HyperChem to have it execute a pieceof text corresponding to a script command. Thus the content of such a message might be, “window-color green” or “do-molecular-dynamics” tocause the background HyperChem window to turn green or to initiate amolecular dynamics trajectory.

DDE_ REQUESTThis message type is the traditional client request for a piece of data. The item
named in the request is the data being requested, such as “window-color”,“scf-binding-energy”, etc.

DDE_ ADVISE
This message type is sent when the client is requesting a hot link for an item.
This means that the server will return an HSV automatically on the hot link
whenever the data representing the HSV changes within HyperChem.
These ideas can be illustrate with simple Excel and Word macros or, as in thenext chapter, by simple Visual Basic Programs.

DDE Interface to Microsoft Word
Microsoft Word and other Windows word processing programs can talk DDE
to other Windows programs. These conversations can be used to make a document come to life with illustrations, etc. For example, a tutorial on some
aspect of chemistry could be written in Microsoft Word. The manuscript
could contain buttons which the reader could push as they were reading about
a topic. These would cause a HyperChem window on the same screen to perform calculations on, or illustrations of, the molecular systems being
described in the manuscript.
In this and following sections we will describe the topic of DDE communication with a very trivial illustration that just changes the color of the Hyper-

DDE Interface to HyperChem

109

DDE Interface to Microsoft Word

Chem screen. This example has very little chemical meaning but it is visualand easily seen when you try it. It is characteristic of hundreds of other available HSV’s that do have chemical meaning and it is an example of an HSV
that is both readable and writable. You should be able to extrapolate from thistrivial example, that illustrates the basic idea, to examples that perform moremeaningful chemistry in line with your own teaching or research interests.

Red and Green Example
The following screen shows a Microsoft Word document.
42. Bring up a copy of Microsoft Word and type a few lines of text into it.
.

What we are going to do is add two buttons to the text that you can click on
to effect actions in HyperChem. Let us first of all create two Word Macros.
Word comes with a dialect of Word Basic that you can use to customize Word
and write macros. These macros are then associated with a particular template
file (*.dot). When that template is in use, these macros are available.
43. Select the <Tools/Macro...> menu item and create a macro with thename, RedMacro. That is, type RedMacro in the text box, “MacroName”, and choose a convenient template file to use for “Macros Available In:”, and then push the “Create” button.
44. Add the following Word Basic code to create the macro,
Channel = DDEInitiate(“HyperChem”, “System”)
110

Chapter 8

DDE Interface to Microsoft Word

DDEExecute Channel, “[window-color red]”
DDETerminate(Channel)

You should see a screen such as the following.

The macro code simply initiates communication with the application, HyperChem, on the topic of System and then sends a DDE_EXECUTE message toHyperChem containing the text that corresponds to a HyperChem script command, which here sets the background window color to red.
Next you need to implement something in the Word document that triggers
the Macro. Assuming the text cursor in the document is where you want it,
45. Select the menu item <Insert/Field...> to bring up the following dialog
box.

DDE Interface to HyperChem

111

DDE Interface to Microsoft Word

46. Select the “Field Name” corresponding to MacroButton as shown andthen type arguments RedMacro and some arbitrary text, such as RED,
into the bottom text entry box, as shown, prior to hitting OK.
47. Repeat the whole process for a “Green button”.
You should now see something resembling the following.

If you now bring up HyperChem and double click on either of the two“buttons”, i.e. the text RED or the text GREEN inside the Word document
you will see these color changes in HyperChem.

112

Chapter 8

DDE Interface to Microsoft Word

Extended Example
The first example of Word Basic above was about as simple as one can get.
Word Basic has more programming capability than that example showed. A
slightly more elaborate example can show some of this programming capability. The following five macros that we are about to describe were generated
exactly as above and correspond to the large bold-faced type of the document
shown below:

The five macros used here are:ActivateHC
Sub MAIN
If (AppIsRunning("HyperChem") = 0) Then
LineDown
Insert "Starting HyperChem ..." + Chr$(13)Shell "c:\hyper\chem.exe", 0
LineUp
EndIf
End Sub
Each of these macros has a MAIN subroutine. You may use additional subroutines below, or above, the MAIN subroutine. This macro starts HyperChem on the assumption that it is in the directory c:\hyper. Your copy

DDE Interface to HyperChem

113

DDE Interface to Microsoft Word

may not be in this same location. The Insert command puts text at the current
cursor and LineUp and LineDown move the cursor.

ConnectHC:
Sub MAIN
channel = DDEInitiate("HyperChem", "System")If (channel <> 0) Then
c$ = Str$(channel)
SetDocumentVar "channel", c$LineDown
Insert "Document <-> HyperChem connection is ready ..."Else
LineDown
Insert "Cannot connect to HyperChem !!!"EndIf
End Sub
The above macro starts HyperChem and stores the communication channel ina variable that can be accessed by other macros.

ExecuteCmd
Sub MAIN
c$ = GetDocumentVar$("channel")channel = Val(c$)
name$="c:\hyper\c60.hin"
AppMaximize "HyperChem", 1
DDEExecute channel, "open-file " + name$
DDEExecute channel, "align-viewer z"
DDEExecute channel, "align-molecule primary, x, tertiary, z"
DDEExecute channel, "menu-display-scale-to-fit"
DDEExecute channel, "zoom 1.4"
DDEExecute channel, "menu-edit-copy-image"
LineDown
EditPaste
End Sub
The above macro is an example of one that opens a file containing Buckminsterfullerene (C60), manipulates it in HyperChem and then copies and pastes
it into the document.

GetData
Sub MAIN
c$ = GetDocumentVar$("channel")
114

Chapter 8

DDE Interface to Microsoft Excel

channel = Val(c$)
atom_count$ = DDERequest$(channel, "atom-count")
atomic_symbol$=DDERequest$(channel, "atomic-symbol")
LineDown
Insert atom_count$Insert atomic_symbol$
End Sub
The above macro first retrieves the text representation of the HyperChem vector variable, atom-count, which represents the number of atoms in each molecule. The second query retrieves the atomic symbols for the atoms in theworkspace (C for Carbon, in this case).

DisconnectHC
Sub MAIN
c$ = GetDocumentVar$("channel")channel = Val(c$)
DDETerminate channel
End Sub
This last macro terminates the connection to HyperChem.

The macros above are stored as part of a Microsoft Word TEMPLATE, not
as a part of the document. So, as long as you are using the same template, you
do not need to worry about macros: they are always in place. However, if you
move your document to another machine, or if you want to distribute it, youmust remember to move the template also. You may save a template in a DOT
file of Microsoft Word.
Install the macros and try them.

DDE Interface to Microsoft Excel
Microsoft Excel is an example of a spreadsheet that has extensive capabilities
for DDE conversations with HyperChem. You can, for example, set up tablesof molecules and automate the computation of molecular properties so thatthey show up in tables within the spreadsheet. The capability for using a
spreadsheet in conjunction with HyperChem will only be very briefly be illustrated here, as another example of the richness of the CDK and the open architecture of HyperChem. This capability has been there since HyperChem’s
inception and has been fairly commonly exploited so it will not be dwelled on
here.
With Release 5 and the CDK, the spreadsheet capability has been enhanced
because of the addition of enhanced scripting, i.e. now Tcl/Tk scripts in addiDDE Interface to HyperChem

115

DDE Interface to Microsoft Exceltion to Hcl scripts as with earlier versions of HyperChem. However, Excelmacros have considerable programming and GUI capability so that if one prefers to program within a product like Excel itself, it might be that theenhanced functionality of HyperChem along with more Hcl scripts is more
important to you than the addition of Tcl/Tk.
We emphasize Microsoft Excel here as our spreadsheet example but others
spreadsheets such as Lotus 123, Quatro Pro, etc. also have DDE capability
and could be used to communicate with and exchange data with HyperChem.
The examples here are restricted to Excel, however.
We will illustrate the interface of HyperChem and Microsoft Excel using thesame example as we began with in describing Microsoft Word, i.e. the trivial
example that sets an HSV (window-color).

Red (and Green)
A very simple Excel Macro is the following:

Running this macro, RED.XLM, will change the color of the HyperChem window to red. It can be run by simple hitting Ctrl-r on the keyboard (provided
Excel is running) or from the <Tools/Macro...> menu item. As in earlier
examples, we simply initiate a conversation with the application, HyperChem, on the topic, System. We then execute a DDE command that is the Hcl
script command, window-color red. A similar macro could change the color
to green but with a different keyboard accelerator such as Ctrl-g. Then, alter-

116

Chapter 8

DDE Interface to Microsoft Excel

nately hitting Ctrl-r and Ctrl-g would flash the HyperChem window from red
to green to red..., etc.
The macro DDE commands, EXECUTE and REQUEST are fundamentally
all you need to communicate with HyperChem. Other macro programming isneeded, of course, to deal with the data coming from or going to HyperChem.

Additional Macros
The Excel macro language and Excel itself provide a powerful capability in
combination with HyperChem but will not be described in detail here. The
HyperChem Getting Started and Reference manual provide additional detailassociated with the interaction between HyperChem and Excel and examples*.XLM files have been distributed with HyperChem since its inception. The
ChemPlus product includes the code for an extensive Excel macro that makes
3D Ramachandran-like plots of the energy of a molecule versus two independent structural variables. You should also check the Hypercube WWW site(http://www.hyper.com) where Excel macros, along with scripts, are madeavailable to users of HyperChem.

DDE Interface to HyperChem

117

DDE Interface to Microsoft Excel

118

Chapter 8

Chapter 9
DDE and Visual BasicIntroduction
This chapter describes the DDE interface between HyperChem andMicrosoft’s Visual Basic (VB). VB is chosen because it provides a very fast
way of building extensions to HyperChem. While VB is not the only tool in
its class, it is certainly one of the better ones. Some of the prejudice against
Basic as a serious programming language remains, among scientific programmers and others. VB, however, is a serious modern tool that can allow you tovery quickly put together applications, particularly applications involving
graphical user interfaces, in a few hours - applications that used to take weeks
or longer. For the demonstrations of the chapter, we will use Visual Basic 4.0
although earlier releases are also appropriate to use.

VB for GUIs or Computation
While one can certainly write whole applications in Visual Basic, its objectoriented character and uniqueness are illustrated best when quickly putting
together a graphical user interface(GUI) rather than scientific number crunching types of code. A potential compromise is to build dynamic link libraries(DLL’s) with C, C++, or Fortran and just have the GUI built in Visual Basic.
A VB program can call a DLL, and you can choose the best of both worlds
by rapidly protyping a user interface in VB and using legacy code in Fortran,
for example.

VB with DDE or HAPI Calls
Since VB can call a DLL, it can call the DLL that defines the HyperChem
Application Programming Interface (HAPI.DLL). The subject of the HAPI
library, its calls, and how to use this method of interfacing to HyperChem isthe subject of Chapter 11 and the subsequent chapters which give examples

119

Red and Greenof the HAPI library being used in various contexts. Chapter 11 includes abrief example of using HAPI calls with VB.
This chapter will focus on the low-level DDE interface to HyperChem for VB
programs but we will also discuss very briefly the alternative HAPI way tobuild an interface between HyperChem and VB.

Red and Green
Our first example of a Visual Basic program communicating with HyperChem is, by now, our familiar and trivial example of a program that changes
the background color of a HyperChem window. This particular example,
however, also monitors the current color and displays the color, whether it ischanged by the VB program or through the <Preferences> dialog box inHyperChem.

Basic Form and Controls
The VB project file for this example is called REDGREEN.VBP and is on
the HyperChem CD-ROM. It was created by just opening Visual Basic andadding to the main form, three text boxes, Text1, Text2, and Text3 plus two
command buttons, Command1 and Command2.

It is possible to lay out these linkcontrols and start from scratch or you canjust read REDGREEN.VBP from the HyperChem installation directories,

120

Chapter 9Red and Green

What we have done here is to change the caption of Form1, the main form, to“DDE to HyperChem” and the caption of the two command buttons to“Red” and “Green”. We have also positioned the controls that have the
Visible property set to “true”, i.e. Text2, Command1, and Command2. We
have also changed the background color of Form1 to white and shrunk it a bit.
A running version of the program might look as follows:

Start Up (Load)
The most important code in this example is that which on start up establishes
the basic link with HyperChem and retrieves the initial color of the window(which will be restored on exit). The following is the code that is executed
when Form1 loads,

DDE and Visual Basic

121

Red and GreenPrivate Sub Form_Load()
If Text1.LinkMode = 0 Then
Text1.LinkTopic = "HyperChem|System"
Text1.LinkMode = 2
End IfText1.LinkItem = "window-color"
Text1.LinkRequest
Text2.Text = Text1.Text
If Text3.LinkMode = 0 Then
Text3.LinkTopic = "HyperChem|System"
Text3.LinkItem = "window-color"
Text3.LinkMode = 1
End IfEnd Sub

With Visual Basic, a communication channel to HyperChem becomes associated with a control such as one of the text boxes on the form, i.e. Text1 or
Text3. Once such a channel is set up, text being passed back and forth
between the VB application and HyperChem is stored in VB, as the text field
associated with the control, i.e. as Text1.Text or Text3.Text. These text fields
are where Hcl script commands are placed prior to their execution and where
any HSV messages coming from HyperChem end up.

A Cold Link Request
The LinkMode field for a text object describes the type of channel that isestablished or exists with another application (DDE server) like HyperChem.
A value of 0 indicates no link or channel. Setting the value to 2 establishes acold link for the channel such that values will be returned from HyperChem
only when requested. The first operation on start up is thus to use the Text1
object to establish a cold link with HyperChem on the generic topic,“System”. Subsequently, a message request is made of HyperChem for the
HSV, window-color. The return message from HyperChem containing thevalue of the HSV, window-color, is automatically placed into the text field of
the Text1 object, i.e. as Text1.Text. The Text1 object has the visible property
set to false so that it is not visible on the running application. Another text
box, Text2, is used to display the value of the current window color. The
appropriate operation above is to just pass Text1.Text into Text2.Text so that
it is shown to the user.

122

Chapter 9Red and GreenA Hot Link
The Text3 object in this example is used to establish a “hot link” to HyperChem, associated with LinkMode = 1. This means that whenever HyperChem
detects that window-color changes its value, from whatever source, HyperChem will notify whoever is listening of the new value. Setting LinkMode
equal to 1 establishes this hot link to HyperChem requesting a desire to listen
to the LinkItem.
The value returned to the VB application by HyperChem goes into the text
field of Text3 and this field is automatically updated whenever the valuechanges in HyperChem. This placing of the new value into Text3.Text can bedetected using the routine, Text3_Change(). The code for this routine in our
example is,Private Sub Text3_Change()
Text2.Text = Text3.Text
End Sub
This just takes the current value of the color and places it into the Text2 object
so that it is visible to the user of the VB application as part of the VB window(form).

ExecuteNext, we look at the code behind the two buttons that change the color of theHyperChem window to Red or Green when they are “clicked”. The code forthe red command button is,Private Sub Command1_Click()
Text1.LinkExecute ("window-color red")
Text2.Text = "window-color = Red"End Sub
This code, simply sends a Hcl script command message to HyperChem. Hereit changes the window color to red but it could be any script command fromthe HyperChem Command Language (Hcl) except that it should not be aquery of an HSV (Use LinkRequest for these). In addition, the color displayed
locally in Text2 is updated.

UnloadThe final portion of this example is the code that is executed on exit from the
VB application. This is,Private Sub Form_Unload(Cancel As Integer)

DDE and Visual Basic123

A HAPI Interface to VB

Text1.LinkExecute (Text1.Text)
End Sub
This code return the color of the HyperChem window to its original color
prior to executing the VB application. This color is still stored in Text1.Text
as per the original request on loading of the form.

A HAPI Interface to VB
The Visual Basic example above showed how to make DDE calls to HyperChem, via an object such as a text box that provides the DDE channel or link.
It is very object oriented but not an obvious way to do things for conventional
C and Fortran programmers. Nor is it immediately obvious how to transfer
binary data in this fashion.
The HAPI interface for VB consists of a set of straight-forward calls (either
for text or binary data) that can be implemented in ordinary Basic code. The
calls, such as hbExecBin which executes a binary form of a Hcl command, all
begin with “hb”. Thus hbExecTxt is the text equivalent of the above. Theseand all the other HAPI calls that refer to Hcl script commands take as theirfirst argument a long integer, defined in the file HSV.BAS. This integer maps
to one of the many Hcl menu activations, direct commands, or HSV
read/writes. For these calls, the name of the long integer is the normal Hcl
name, e.g. window-color, but with hyphens replaced by underscores. That is,
the relevant VB name to use for HAPI calls is window_color. Thus,
Dim Value As Double
Dim Result as Long
Value = 3.5
Result = hbSetReal( dipole_moment, value, 8)

is the code which would constitute a binary write of the value 3.5 to theHyperChem dipole moment. The integer variable “dipole_moment” isdefined in HSV.BAS. This call is really targetted at a corresponding C language routine, hcSetReal, contained in the dynamic link library, HAPI.DLL.
The file HAPI.BAS makes the appropriate declaration to tie hbSetReal tothis DLL and should be included in all your Visual Basic applications thatwish to use the HyperChem API.
Thus, any of the HAPI calls of Chapter 11 or Appendix C can be used in
Visual Basic programs. All that is necessary is to include two files, HSV.BAS
and HAPI.BAS, in your project and to make calls to routines labelled hb...
rather than to the hc... calls of the C/C++ language or to the hf... calls of For-

124

Chapter 9A HAPI Interface to VB

tran. Appendix C gives the details of each HAPI call including how to declareand use them from Visual Basic.

DDE and Visual Basic125

A HAPI Interface to VB

126

Chapter 9

Chapter 10
External Tcl/Tk Interface

Introduction
Hypercube has built a Tcl/Tk interpreter directly into HyperChem Release 5.
This interface derives from Version 7.5 of Tcl and Version 4.1 of Tk. This
internal interpreter is probably the most convenient way to use Tcl/Tk in conjunction with HyperChem, i.e. by either opening a *.tcl file or by executing a Hcl script command, read-tcl-script. There is, however, an alternative
way to use Tcl/Tk that is called the external interface.
The external use of Tcl/Tk implies that you use a Tcl/Tk program or interpreter that is completely separate from HyperChem and may even be of a different version than the one used in HyperChem. This external Tcl/Tk interpreter can then be augmented in a standard way to add the HyperChem Command Language (Hcl) as an embedded extension. The external Tcl/Tk program communicates ultimately with HyperChem via Dynamic Data
Exchange (DDE). But, as a user, you need only to make “HAPI calls” justas with the internal interpreter. That is, hcExec and hcQuery are still how you
invoke Hcl commands with external Tcl/Tk.

Why External?
The interpreter for Tcl/Tk which is built into HyperChem offers an extremely
powerful extension to the HyperChem Command Language. However there
are certain situations where you might prefer external Tcl/Tk access to HyperChem. Such situations arise when:
1.

You want to connect to HyperChem from another complex application
already containing a Tcl/Tk interpreter as an extension to that application.

127

Invoking External Tcl/Tk

2.

You want your Tcl program to react to changes in HyperChem via HSV
notifications. Notifications cannot be easily defined with internal Tcl/Tk
scripting.

3.

A new version of Tcl/Tk becomes available and it is not yet incorporated
into HyperChem. The new version of Tcl/Tk has enhancements that arenecessary to you.

4.

The internal implementation of Tcl/Tk does not perform correctly forsome non-regular scripts or you encounter a devastating bug.

Hypercube has implemented a Tcl/Tk extension “package” (called the
THAPI package) that you can load into a standard Tcl/Tk interpreter and use
to communicate with HyperChem through regular HAPI calls. This chapter
describes this extension.

Invoking External Tcl/Tk
The external copy of Tcl/Tk is invoked in Microsoft Windows by executing
the interpreter program, a WIndows SHell called Wish. Associated with Version 4.1 of Tk, this program is called wish41 and is included in your program
directory along with your executable of HyperChem.

Executing wish41.exe gives a Console window, shown below after executing “?” to see all the possible Tcl/Tk commands.

128

Chapter 10

The THAPI package

In addition to this console window, into which you type Tcl/Tk commands,
you obtain another window where Tk widgets get placed after you request
them from the Console window.

The THAPI package
It is possible to add new functions, called packages, to the external Tcl/Tk
interpreter without having to recompile Tcl/Tk. The set of commands that canbe added to an external copy of Tcl/Tk are part of the Tcl Hyperchem Application Programming Interface (THAPI). There are 12 commands in total andthey are all contained in a Dynamic Link Library (DLL) called THAPI.DLL.
These commands are essentially a subset of the HAPI calls from HAPI.DLL.
To obtain these new commands in Tcl/Tk you use the Tcl load command giving it the file name of the appropriate package DLL. Thus, to augment Tcl/Tk
and embed all the HyperChem API calls, you should just execute the following Tcl command in the Console window,
load thapi

If the THAPI.DLL is not available in the current path nor in Windows directory, you must specify a full path to the file. Remember that Tcl comes fromthe UNIX world and you must type a slash, ”/”, rather than a back slash. “\”
as the file folder separator in the Console window.

External Tcl/Tk Interface

129

The THAPI package

Commands
THAPI, based on the full HAPI interface of the last chapters of this book,defines a dozen new Tcl/Tk commands that enable you to call the most important features of the HyperChem Application Programming Interface fromyour Tcl/Tk external program. Further details on these commands is available
in conjunction with a description of the HAPI calls in Appendix C. THAPI isa subset of HAPI.
The THAPI commands divide up into commands associated with connecting
to HyperChem, the execution of Hcl commands, a utility copy command,
HSV notifications, time-outs, and error processing.
The THAPI commands, which are case sensitive, are:hcConnect <instance>
This command connects a Tcl/Tk program to HyperChem so that the other
THAPI commands can be executed. It must be called before any other THAPI
commands and after the command loading THAPI. The argument is optional
but can be used to connect to a specific instance of HyperChem when multiple
instances exist simultaneously.

hcDisconnect
This command disconnects the Tcl/Tk program from HyperChem.

hcExec hcl_script_command
This command passes its argument to HyperChem as a normal Hcl script
command. The argument may need to be enclosed in quotes if it itself hasarguments.

hcQuery hsv
This command queries HyperChem for the value of an HSV and returns it asa string

hcCopy source_file desination_file
This command copies a file.

130

Chapter 10

The THAPI package

hcNotifyStart hsv
This command requests a notification of the HSV corresponding to the argument. If the HSV changes in HyperChem its new value will sent to the Tcl/Tk
script. The new value can be made available to the script via hcGetNotifyData. No call-back routines are available in scripts so that the execution ofhcGetNotifyData must be periodically scheduled via a Tcl command likeafter (see the monitor example).

hcNotifyStop hsv
This command requests that the notification of changes in an HSV be terminated.

hcGetNotifyData notification_data
This command will place the result of the first notification from an internalbuffer into the argument, notification_data. The command returns the HSV
corresponding to the original notification (or NULL) so that you can check
whether a notification has happened or not and whether it is the right one.

hcSetTimeouts exec_timeout query_timeout rest_timeout
This command controls the time-out for interaction with HyperChem if thedefault values (65 seconds) is inappropriate. The exec_timeout is the time-out
for hcExec commands, the query_timeout is the time-out for hcQuery commands, and the rest_timeout is the time-out for the remaining Hcl commands,
such as for notifications.

hcLastError error_text
This command places text describing the last error in error_text. It returns thefollowing values:
errNO_ERROR = 0

No error

errFATAL = 1

Fatal error of unknown origin

errNON_FATAL = 2

Non fatal error of unknown origin

hcSetErrorAction action_flag
This command sets the behavior flag that will be used, upon recognition of anerror. The arguments are as follows:
errACTION_NO = 0

No action on any error

External Tcl/Tk Interface131

A Notification Example

errACTION_MESS_BOX = 16

Display message box with error message

errACTION_DISCONNECT = 32 Disconnect from HyperChem
errACTION_EXIT = 64

Immediately exit from application

errDDE_REP = 1

Report low-level DDE errors

errDDE_NO_REP = 2

Do not report low-level DDE errors

hcGetErrorAction
This command retrieves the behavior flag showing how errors will be acted
upon. The values returned are the same as the values set by hcSetErrorAction.

A Notification Example
Notification is a powerful capability associated with HyperChem. It allows
you to request a live link to HyperChem such that you are notified of any
change in an indicated variable or data structure. This allows many capabilities that would not be possible otherwise. In particular, this makes it possible
to have very intimate connections between your custom capability and the“guts” of HyperChem without getting into source code details. It is not
required to know the intimate details of how HyperChem operates but onlythat it must be operating in certain ways. Thus, for example, one would knowthat at the heart of optimizations are energy and gradient changes withoutworrying about what specific algorithm is being used by HyperChem. You
can just ask to monitor these changes without having to dive into code, algorithms, etc.
Most external Tcl scripts are identical with internal Tcl scripts. A notable
exception is that notifications cannot be processed by internal Tcl scripts(HyperChem does not send messages to itself!). Notifications are normallyassociated with external programs like Microsoft Excel, Word or Visual
Basic or external applications build in C, C++, and Fortan. If you intend tobuild software in Tcl that requires notification, you will need to do it withexternal Tcl/Tk. The example of this section is one that monitors and plots
values of any HSV that is of potential interest to you. A specific example
would be to monitor the energy or rms gradient of a structure optimization.
The Tcl script is executed from the Console as follows:132

Chapter 10

A Notification Example

The source command begins the execution of *.tcl file as the next command. In this case it is monitor.tcl which sets up a Tk window that look
as follows:

The Tcl code for setting up this window can be investigated by looking at thefile installed from the CD-ROM but here we want to focus on the code associated with the notifications. The code behind the button, “Start New Plot”
leaving out everything unessential to the notifications is,External Tcl/Tk Interface133

A Notification Example

button .bts.plot -text "START NEW PLOT" -command {if {$Prevhsv != -1} {hcNotifyStop $Prevhsv}
hcNotifyStart $hsv
set Prevhsv $hsv
if {$IsMonitor == -1} {monitorset IsMonitor 1}}

When the button is pushed, any previous notifications are first cancelled.
Then a new notification is requested for the new HSV which shows in thewindow as total-energy and which is stored in the value, $hsv. A call is thenmade to a proc called monitor which will do the monitoring.
proc monitor {} {global hsv interval
set name [hcGetNotifyData a]if { $name == $hsv } {<TAKE $A, THE TOTAL ENERGY POINT AND SAVE FOR PLOTTING>}# monitor restarts after plotting
after $interval [list monitor]}
The code associated with collecting and plotting the notification data has been
abstracted away. The monitoring is done by executing the command, hcGetNotifyData., to see if there really is any notification data available, i.e. thecommand returns the name of the HSV being monitored. If there was a notification, it is dealt with. If not, or there was data and it has been dealt with, acall is made to re-schedule a return to monitor after $interval milliseconds. In
general, this means the process now goes to sleep and wakes up later to see if
any notifications have arrived.

If you had connected the monitor example to HyperChem and then performed
an optimization, the graph displayed in the TK window might look something
like the following:

134

Chapter 10

A Notification Example

External Tcl/Tk Interface

135

A Notification Example

136

Chapter 10

Chapter 11
The HAPI Interface to HyperChem

Introduction
This chapter describes the HyperChem Application Programming Interface(HAPI or HyperChem API), the system library developed by Hypercube tosimplify the task of communication with HyperChem. Instead of sending,posting and processing Windows DDE messages, an application makes HAPI
calls and uses a set of functions provided by the API to manage the conversation between HyperChem and your external program. This is a high-level
replacement for communicating via a lower-level DDE call.
The HyperChem API performs the task of packing and unpacking the data
coming to and from messages so that arguments to HAPI calls can be in aform that you are familiar with and calls to the HAPI library become a simple
extension to normal C or Fortran programming. The sophisticated error handling built into the HyperChem API guarantees robustness of the communication. While it is possible for applications to communicate with HyperChem
without HAPI calls (as described in chapters 8 and 9, for example), it is not
the recommended procedure. The HAPI library is meant for users intending
to write their own sophisticated interfaces or back ends to the HyperChem
front end. Moreover, some applications, such as most Fortran programs running under Windows 95 and NT, cannot easily interface to HyperChem without the HyperChem API.
Another reason for using the set of HAPI calls rather than DDE is the compatibility issue. There are indications that DDE may be replaced by anothercommunication paradigm (OLE Automation) in future versions ofMicrosoft’s operating systems. It thus might happen that Hypercube would
need to change its underlying communication protocol from DDE to anothermessaging system in future releases of its HyperChem core product. Applications using the HAPI calls will preserve compatibility, while those that use alower-level DDE protocol might lose future compatibility.

137

Towards a Chemical Operating System

Towards a Chemical Operating System
The richness of HyperChem, evident in its HyperChem Command Language(Hcl), its embedded Tcl/Tk interpreter, and its HAPI library of calls, is indicative of a direction Hypercube is making towards a Chemical Operating System (The HyperChem OS). A picture of this system is as follows:

Tcl/TkHyperChem
Scripting
and
GUI
GUI
HAPI
HAPI
Calls
Calls

Your
ProgramHyperChem OS
Microsoft Windows and NT
HardwareIn this picture we have divided HyperChem into the fundamental services(building molecules, performing calculations, visualizing results, etc.) that it
supplies to its normal users (and can provide to your external program) andthe graphical user interface (GUI) that normal users use to get at these services. These services are all available by making HAPI calls to the HyperChem “Operating System”.

The Components
The components of the HyperChem Application Programming Interface are:•138

Chapter 11

hc.h - This is the header file for C and C++ interfaces that define each of
the entry points for the HyperChem API.

The HAPI Calls•

hsv.h - This header file defines an integer corresponding to each HSV
and is needed if binary communication to HyperChem from C and C++
programs is to be used.

•hcload.c - This file contains the C code for the LoadHAPI routine that C
and C++ programs should call to load the HAPI calls before using them.
It generally is placed after the hc.h and hsv.h files in a C/ C++ program.

•

HAPI.DLL - This is the DLL that must get loaded to access the HyperChem API.

•

HAPI.LIB - This is the file that could be linked with your C, C++ or Fortran application as an alternative to calling LoadHAPI.

•

hc.fi - The Fortran equivalent of hc.h as an include file to define the
HAPI calls of your program.

•hsv.fi - The Fortran equivalent of hsv.h. This file is a necessary include
file for your Fortran program if it is to attempt binary communication
with HyperChem.

•

hapi.bas - The Visual Basic equivalent of hc.h as an include file to define
the HAPI calls of your program.

•hsv.bas - The Visual Basic equivalent of hsv.h. This file is a necessary
include file for your Visual Basic program if it is to attempt binary communication with HyperChem.

The HAPI Calls
A complete and detailed documentation of each of the HAPI calls is given in
Appendix C. Here we briefly list the calls and describe the kinds of calls thatare in the library. These calls can be made from C, C++, Fortran, Visual,
Basic, or external Tcl/Tk programs among others. In some situations, e.g.
Tcl/Tk, the implemented set of calls is a subset of the full set.
In listing the calls below, we indicate their type and their arguments using aC-like syntax. Further details are again available in Appendix C. The calls for
Fortran have the syntax, hfHAPICALL, the calls for Visual Basic have thesyntax, hbHAPICALL, whereas the calls for other language situations begin
with hc and have the syntax, hcHAPICALL.

The HAPI Interface to HyperChem

139

The HAPI Calls

Initialization and Termination
BOOL hcInitAPI (void)
This call is generally not needed in most contexts as initialization happens
automatically.

BOOL hcConnect (LPSTR lszCmd)
This call connects to HyperChem. A non-null string as an argument can beused to connect to a specific instance of HyperChem.

BOOL hcDisconnect (void)
This call disconnects from HyperChem.

void hcExit(void)
This causes immediate termination of the calling application.

Discussion
The principal call of importance here is the one that connects to HyperChem.
Prior to connecting, however, the HAPI library must have been loaded. See
below how you should load the appropriate DLL or LIB file.

Text-based Basic Communication Calls
BOOL hcExecTxt (LPSTR script_cmd)
This sends an Hcl script command to HyperChem.

LPSTR hcQueryTxt (LPSTR var_name)
This queries an HSV in HyperChem.

Discussion
These are the text calls that send a command to HyperChem or perform a
Read/Write of a HyperChem State Variable (HSV). They correspond to callsin the HyperChem Command Language (Hcl), i.e. they involve either a menu
invocation, e.g. menu-file-open, a direct command, e.g. do-molecular dynamics, an HSV write, e.g. window-color green, or an HSV read, e.g. win-

140

Chapter 11

The HAPI Calls

dow-color ?. The reading of an HSV is performed by the call, hcQueryTxt,
while the other Hcl script commands are invoked by hcExecTxt.

Binary-based Basic Communication Calls
BOOL hcExecBin (int cmd, LPV args, DWORD args_length)
This is the binary form for sending an Hcl script command to HyperChem.

LPV hcQueryBin( int hsv, int indx1, int indx2, int* length)
This is the binary form for querying an HSV in HyperChem.

Discussion
The HyperChem Command Language is basically a text form for communicating and exchanging data with HyperChem. For completeness and for efficiency there is an equivalent binary form for all the Hcl script commands.
These can be much more effective and simpler to use in languages like Fortran where one has to use character data to invoke normal script commands.
See the programming examples for examples of both text and binary based
communication with HyperChem.
With text based communication you use strings, like “window-color” and“do-molecular-dynamics” to denote the HSV of interest or the direct command that you want to invoke. With binary versions of hcExec and hcQuery
you use an integer to denote the operation. The name of this integer has thesyntax, window_color or do_molecular_dynamics, for example, where anunderscore replaces the hyphen or minus sign of a Hcl text string. These integers are defined in hsv.h, hsv.fi, and hsv.bas for C and C++, Fortran, andVisual Basic applications. Only text-based communication is available for
Tcl/Tk.

Binary Format
The binary form of a HAPI call results in a binary message being sent toHyperChem rather than a simple text message. The format of these binary
messages is

Length*Binary Code

Arguments**

4 bytes

4 bytesn-bytesThe HAPI Interface to HyperChem

141

The HAPI Calls*To make the binary message different from a text message it is required to
set the highest bit of the first field to 1.
** Arguments are also coded as binary data.

The binary code for each command is the 4-byte integer number found in
hsv.h, hsv.fi, or hsv.bas. The codes may change between different versions ofHyperChem. Three utility Tcl scripts are included on the HyperChem CDROM, called cgenhsv.tcl, fgenhsv.tcl, and bgenhsv.tcl thatare capable of generating the correct hsv.h, hsv.fi, and hsv.bas files for theversion of HyperChem that you are using.
To issue a binary command the user uses, for example:
result=hcExecBin(hsv,arg,length);

in a C/C++ program, or
result=hfExecBin(hsv,arg,length)

in a Fortran program.

Binary-based Get Integer Calls
int hcGetInt (int hsv)
This call gets the binary value of an integer HSV.

int hcGetIntVec( int hsv, int* buff, int max_length)
This call gets all the binary values of an integer vector HSV into a buffer.

int hcGetIntArr (int hsv, int* buff, int max_length)
This call gets all the binary values of an integer array HSV into a buffer.

int hcGetIntVecElm (int hsv, int index)
This call gets a single binary element of an integer vector HSV.

int hcGetIntArrElm (int hsv, int atom_index, int mol_index)
This call gets a single binary element of an integer array HSV.

142

Chapter 11

The HAPI Calls

Discussion
These calls are specialized forms of hcQueryBin specific to integer variables,
vectors, and arrays. One form gets the whole vector or array at once while theother form (Elm) gets only a single element at once.

Binary-based Get Real Calls
double hcGetReal (int hsv)
This call gets the binary value of a real HSV.

int hcGetRealVec( int hsv, double* buff, int max_length)
This call gets all the binary values of a real vector HSV into a buffer.

int hcGetRealArr (int hsv, double* buff, int max_length)
This call gets all the binary values of a real array HSV into a buffer.

double hcGetRealVecElm (int hsv, int index)
This call gets a single binary element of a real vector HSV.

double hcGetRealArrElm (int hsv, int atom_index, int mol_index)
This call gets a single binary element of a real array HSV.

int hcGetRealVecXYZ (int hsv, index, double* x, double* y,double* z)
This call gets the three real values of a single element of a real array HSV.
The three real values are normally the Cartesian components of a real variable
such as a dipole moment, etc.

int hcGetRealArrXYZ (int hsv, int atom_index, int mol_index,
double* x, double* y, double* z)
This call gets the three real values of a single element of a real array HSV.
The three real values are normally the Cartesian components of a real variable
such as a coordinate, etc.

The HAPI Interface to HyperChem

143

The HAPI Calls

Discussion
These calls are specialized forms of hcQueryBin specific to real variables,
vectors, and arrays. One form gets the whole vector or array at once while theother form (Elm) gets only a single element at once. The XYZ forms are specific to Cartesian values.

Binary-based Get String Calls
int hcGetStr (int hsv, char* buff, int max_length)
This call gets a string corresponding to all values of the HSV.

int hcGetStrVecElm (int hsv, int index, char* buff, int max_length)
This calls gets a string corresponding to a particular element of a vector.

int hcGetStrArrElm (int hsv, int atom_index, int mol_index, char*buff, int max_length)
This call gets a string corresponding to a particular element of an array.

Discussion
These calls correspond very closely to the text based calls in that they convey
arguments as a string. However the HSV is represented as a binary integer not
as a string.

Binary-based Set Integer Calls
int hcSetInt (int hsv, int value)
This call sets the binary value of an integer HSV.

int hcSetIntVec( int hsv, int* buff, int length)
This call sets length binary values of an integer vector HSV into a buffer.

int hcSetIntArr (int hsv, int* buff, int max_length)
This call sets length binary values of an integer array HSV into a buffer.

144

Chapter 11

The HAPI Calls

int hcSetIntVecElm (int hsv, int index, int value)
This call sets a single binary element of an integer vector HSV.

int hcSetIntArrElm (int hsv, int atom_index, int mol_index, int
value)
This call sets a single binary element of an integer array HSV.

Discussion
These calls are specialized forms of hcExecBin specific to writing HSV’s for
integer variables, vectors, and arrays. One form sets the whole vector or arrayat once while the other form (Elm) sets only a single element at once.

Binary-based Set Real Calls
int hcSetReal (int hsv, double value)
This call sets the binary value of a real HSV.

int hcSetRealVec( int hsv, double* buff, int length)
This call sets length binary values of a real vector HSV into a buffer.

int hcSetRealArr (int hsv, double* buff, int length)
This call sets length binary values of a real array HSV into a buffer.

int hcSetRealVecElm (int hsv, int index, double value)
This call sets a single binary element of a real vector HSV.

int hcSetRealArrElm (int hsv, int atom_index, int mol_index,
double value)
This call sets a single binary element of a real array HSV.

int hcSetRealVecXYZ (int hsv, index, double x, double y, double z)
This call sets the three real values of a single element of a real array HSV. The
three real values are normally the Cartesian components of a real variable
such as a dipole moment, etc.

The HAPI Interface to HyperChem

145

The HAPI Calls

int hcSetRealArrXYZ (int hsv, int atom_index, int mol_index,
double x, double y, double z)
This call sets the three real values of a single element of a real array HSV. The
three real values are normally the Cartesian components of a real variable
such as a coordinate, etc.

Discussion
These calls are specialized forms of hcExecBin specific to writing HSV’s forreal variables, vectors, and arrays. One form sets the whole vector or array atonce while the other form (Elm) sets only a single element at once. The XYZ
forms are specific to Cartesian values.

Binary-based Set String Calls
int hcSetStr (int hsv, char* string)This call sets an HSV to the value of a string.

int hcSetStrVecElm (int hsv, int index, char* string)This call sets a particular element of an HSV vector to a string.

int hcSetArrElm (int hsv, int atom_index, int mol_index, char*string)This call sets a particular element of an HSV array to a string.

Discussion
These calls correspond very closely to the text based calls in that they convey
arguments as a string. However the HSV is represented as a binary integer not
as a string.

Get and Set Blocks
int hcGetBlock (int hsv, char* buff, int max_length)
This call gets all the data, irrespective of type, corresponding to an HSV.

146

Chapter 11

The HAPI Calls

int hcSetBlock (unt hsv, char* buff, int length)
This call sets an HSV, irrespective of its type from a buffer.

Discussion
These calls do block copies of data associated with an HSV of any type.

Notification Calls
int hcNotifyStart (LPSTR hsv)
This call requests a notification for an HSV.

int hcNotifyStop (LPSTR hsv)
This call terminates a request for notification of an HSV.

int hcNotifySetup (PFNB pCallBack, int NotifyWithText)
This call establishes how notifications are to be handled.

int hcNotifyDataAvail (void)
This call determines whether a notification is available.l

int hcGetNotifyData (char* hsv, char* buff, int max_length)
This call gets the data associated with a notification on an HSV.

Discussion
These calls are associated with notifications.

Memory Allocation
void * hcAlloc (size_t, n_bytes)
This allocates memory associated with the HAPI but is not recommended toreplace the normal user memory allocation routines.

The HAPI Interface to HyperChem

147

The HAPI Dynamic Link Library (HAPI.DLL)

hcFree (void* pointer)
This frees memory allocated with hcAlloc or after processing data fromhcQueryTxt and hcQueryBin which allocate memory for the result of thequery.

Discussion
These calls are for memory allocation and deallocation associated with the
HAPI.

Auxiliary Calls
void hcShowMessage (LPSTR message)
This call displays a message box with the message provided.

void hcSetTimeouts (int ExecTimeout, int QueryTimeout, int
OtherTimeout)
This call sets timeouts for hcExec, hcQuery, and other HAPI calls.

int hcLastError (char* LastErr)
This call enquires about the last error.

int hcGetErrorAction (void)
This call asks how errors are currently being handled.

void hcSetErrorAction (int err)
This call sets how errors are to be handled.

Discussion
Further details on these calls are available in Appendix C.

The HAPI Dynamic Link Library (HAPI.DLL)
The HyperChem Application Programming Interface (HAPI), forms a set ofsystem calls that can be utilized by an application to perform certain tasks inconjunction with HyperChem. It is somewhat analogous to the Microsoft
148

Chapter 11

How to use the HyperChem API

Windows API and is implemented in a similar way, through a dynamic Link
Library (DLL).
The whole Microsoft Windows operating system is seen by a user program as
an API - the Microsoft Windows 32-bit API for Windows 95 and NT. For
example, this means that a user writing code in C can utilize all Microsoft’s
system calls that form the API. In addition to the generic Windows API there
are specific API’s, such as the WINSOCK API - the library that defines
TCP/IP communication for Windows applications. Usually, a Microsoft API
is provided to users in a form of a DLL.
A Dynamic Link Library is specific to Microsoft Windows and NT and as alibrary has one important feature: it can be linked to the user program at runtime. In most cases, it can also be linked while the application is loaded intomemory (load time). At run-time, however, it can be loaded any time during
program execution, as well as unloaded when it is no longer required. Thisfeature is of great importance, as it provides both users and developers a painless method of improving upon both the standard Microsoft API and an application specific API.
The HyperChem API (HAPI) has been developed as a 32-bit DLL that iscompatible with Microsoft Windows 95, Microsoft NT and Microsoft’s
W32S 32-bit subsystem for Windows 3.1. Thus, it can be used with all the
programming tools that call 32-bit DLLs including almost all modern C/C++
and Fortran compilers, 32-bit versions of Microsoft Visual Basic, and tools
like the Tcl/Tk interpreter, Microsoft Excel, Borland’s Delphi, etc.

How to use the HyperChem API
To make the HyperChem API available to your application, you must havethe requisite header files, load the HAPI.DLL properly, and then make aproper connection of your program to HyperChem. Alternatively, it is possible to use a library file, HAPI.LIB, link it with your application and use loadtime dynamic linking. Though it is possible for you to make use of he HyperChem API with a variety of compilers and development systems throughintelligent use of these tools, inspecting our header files, etc., we believe it
makes sense to illustrate the tools very explicitly with a very small variety ofstandard environments. Thus, we have chosen to provide standard interface
source code along with the CDK so that at least for certain environments aninterface to HyperChem becomes very straight-forward. We have chosen thefollowing to illustrate the HyperChem API:•- Microsoft 32-bit C/C++ compilers (from Visual C++ 4.0)
The HAPI Interface to HyperChem

149

How to use the HyperChem API•- Microsoft Power Station Fortran compiler (version 4.0 and higher)•- Microsoft Visual Basic 4.0•- Tcl/Tk implemented as a 32-bit “wish41” Windows application

Nevertheless, if you must interface to the HyperChem API from another typeof application, you can use the information in this section combined with eachfunction’s header information to write your own code to call the API. Sucha situation might happen when you want to use other tools such as Borland
Delhi, for example.

Accessing the HyperChem API from C/C++ code
Run-Time Dynamic Linking
The method for accessing a function in the HAPI depends on the programming language used. For C/C++ programs, the easiest method is to include
the provided hcload.c source code just after including the main header
file, hc.h. The typical sequence is as follows:#include "hc.h"#include "hcload.c"

Alternatively, instead of including hcload.c into each module of the larger
application it may be convenient to link the application with hcload.obj
during a static linkage phase. In this case the program only needs:#include "hc.h"

The corresponding ‘makefile’ (or project workspace) would have the form:#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#+
EXAMPLE make file+#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
userapp.exe : userapp.obj hcload.obj$(LINKER) $(GUIFLAGS) -OUT:userapp.exe userapp.obj hcload.obj$(GUILIBS)
userapp.obj : userapp.c$(CC) $(CFLAGS) step0.c
hcload.obj : hcload.c$(CC) $(CFLAGS) hcload.c
150

Chapter 11

How to use the HyperChem API

In the environment of the Microsoft Developer Studio, the corresponding
action would be to insert hcload.c as another source file among theuser’s files, i.e. by using the menu item, <Insert/Files into Project...>.
Within your source code one of the first things to do is to dynamically load,or activate the library. Your program has to call the LoadHAPI function
defined in hcload.c. A typical sequence would be:/* loading HAPI.DLL*/
if (!LoadHAPI("hapi.dll")) {MessageBox(hwnd,"Error loading HAPI.DLL","Error",MB_OK | MB_ICONSTOP);exit(0);}
The LoadHAPI call takes one parameter which is a file name, HAPI.DLL.
Note that the DLL can be placed in the local directory, but the most appropriate place is the main Windows system directory (usually C: \WINDOWS).
LoadHAPI activates each of the functions in the DLL by making repetitive
calls to GetProcAddress, the function provided by Microsoft to get theaddress of the corresponding function in the DLL:
hcExecTxt=(T_hcExecTxt*)GetProcAddress(hinst,"hcExecTxt");
if ( hcExecTxt == NULL) res=_hcLoadError("hcExecTxt",szN);

This method utilized by LoadHAPI is called Run-Time Dynamic Linking.

Load-Time Dynamic Linking
There is another method to link HAPI with a user application. It uses LoadTime Dynamic Linking and requires direct linking of the user program withthe library file (HAPI.LIB) provided with the CDK. This file contains no code
but contains all of the API function headers and proper initialization code.
You can use load-time linking by inserting HAPI.LIB as one of the libraries
into a project, i.e. by the menu command, < Insert/Files into Project>, or by
writing an appropriate makefile when working outside of the Microsoft
Developer Studio (using a DOS command shell for compilation).
In either cases the application still needs:#include "hc.h"However, with load-time linking, all the HAPI functions are available forcalling as soon as the application starts. There is no need for the LoadHAPI
call.

The HAPI Interface to HyperChem

151

How to use the HyperChem API

If you are making binary calls, it is necessary to have:#include “hsv.h”

Accessing the HyperChem API from Fortran code
To use the HAPI calls from Fortran programs you have to translate Fortranstyle calls into the appropriate system calls to the HAPI. With Microsoft
Power Station Fortran it suffices to just include the file, hc.fi, provided
with the CDK and then statically link in HAPI.LIB. The code in hc.fi has
to be included in all functions and subroutines that use HAPI calls. For example:
subroutine ExeTest
character*100 cmd
common /flags/flagfile,fconnected
logical res,flagfile,fconnected
include "hc.fi"
1write(*,*)' Script command to execute (0 - returns) ->'read(*,'(A)')cmd
if (cmd.eq.'0') return
res=hfExecTxt(cmd)write(*,*)' hfQueryTxt returns: ',resgoto 1end

What does the source inside hc.fi look like and do? It provides an INTERFACE (a Fortran capability of Microsoft Fortran Power Station), so the Fortran compiler can type-check all function parameters and issue the propercalling sequences. The source looks as follows:
INTERFACE
c-----------------------------------------------------------------c This is a Microsoft Fortran Power Station 4 Interface to CDK API
c-----------------------------------------------------------------c-----------------------------------------------------------------c Initialization & termination functionsc-----------------------------------------------------------------logical function hfInitAPI()!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hcInitAPI@0' :: hfInitAPI
end function hfInitAPI

152

Chapter 11

How to use the HyperChem API

logical function hfConnect(init_string)!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hfConnect@8' :: hfConnect
character*(*) init_stringend function hfConnect
logical function hfDisconnect()!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hcDisconnect@0' :: hfDisconnect
end function hfDisconnect
subroutine hfExit()!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hcExit' :: hfExit
end subroutine hfExitc----------------------------------------------------------------c-----------------------------------------------------------------c Text Query & Execute functionsc-----------------------------------------------------------------logical function hfExecTxt(script_cmd)!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hfExecTxt@8' :: hfExecTxt
character*(*) script_cmd!ms$ATTRIBUTES REFERENCE :: script_cmd
end function hfExecTxt
logical function hfQueryTxt(var_name, res)character*(*) var_name,res!MS$ATTRIBUTES reference :: var_name!MS$ATTRIBUTES reference :: res!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hfQueryTxt@16' :: hfQueryTxt
end function hfQueryTxt......................................
c----------------------------------------------------------------integer function hfLastError(error)!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hcLastError@4' :: hfLastError!ms$ATTRIBUTES C,REFERENCE :: error
character *(*) error
end function hfLastError
integer function hfGetErrorAction()!ms$ATTRIBUTESDLLIMPORT,ALIAS:'_hcGetErrorAction@0'::hfGetErrorAction
end function hfGetErrorAction

The HAPI Interface to HyperChem

153

How to use the HyperChem API

subroutine hfSetErrorAction(action)!ms$ATTRIBUTESDLLIMPORT,ALIAS:'_hcSetErrorAction@4'::hfSetErrorAction!ms$ATTRIBUTES VALUE :: action
integer action
end subroutine hfSetErrorAction
c-----------------------------------------------------------------c end of hc.fic-----------------------------------------------------------------END INTERFACE

If you are making binary calls, it is also necessary to have:include “hsv.fi”

Accessing the HyperChem API from Visual Basic Code
While it is relatively straight forward for Visual Basic programs to communicate with HyperChem via DDE as described in Chapter 9, it may be desirable to use the HyperChem API and HAPI.DLL from Visual Basic for similarreasons to that described above for C, C++, and Fortran. It is possible to do
so with the principal requirement being the need to have two files,
hapi.bas and hsv.bas that define the interface to the HAPI.DLL The
following is a portion of the hapi.bas file,

Attribute VB_Name = "Module1"
Declare Function hbInitAPI Lib "hapi.dll" Alias “hcInitAPI” () As Long
Declare Function hbConnect Lib "hapi.dll" Alias “hcConnect” (ByVal
command As String) As Long
Declare Function hbDisconnect Lib "hapi.dll" Alias “hcDisconnect” ()As Long
Declare Sub hbExit Lib "hapi.dll" Alias “hcExit” ()Declare Function hbExecTxt Lib "hapi.dll" Alias “hcExecTxt” (ByVal
script_cmd as string) As Long
Declare Function hbExecBin Lib "hapi.dll" Alias “hcExecBin” (ByVal
cmd as Long, ByRef args as Long,
ByVal args_length as Long ) As Long

154

Chapter 11

How to use the HyperChem API

Declare Function hcQueryTxt Lib "hapi.dll" (ByVal command As String)
As String
Declare Function hfQueryBinLib "hapi.dll" (ByVal var,indx1,
indx2 as integer, ByRef result as integer,
ByRef cbL as integer) As Integer

The Visual Basic application, DLA, which is on the HyperChem CD-ROM,
is an example of a Visual Basic application that uses HAPI calls.

Accessing the HyperChem API from Tcl/Tk code
A description of this interface is given in Chapter 10. Only text-based communication is supported. Notifications are processed by the Notification
Agent.

Considerations for Console-based Applications
A “Console application” is a new application type available for Windows 95
and Windows NT operating systems. It is an implementation of the popular
text-based terminal environment well known in the UNIX world. Such a program uses a regular main() function as an entry point, rather than WinMain().
Instead of communicating with the user through a GUI , the console application simply writes to the screen using the regular printf call and reads using
the scanf call. This is for C code. In Fortran the familiar write, print, and readcalls are available.
But the real differences between GUI-based and Console-based applications
are much larger than just input/output. All regular Windows application are
event-driven applications, where all processing is performed by reacting toincoming messages or events, generated by the operating system. This makes
writing Windows programs a difficult task for most traditional programmers
with a so called top-down or serialized view of programming. This represents
a new paradigm for programming that is not in the experience of most UNIXstyle programmers.
The console interface makes the conversion of programs from UNIX to Windows easy and painless. Now, under Windows 95 and NT, almost all older
UNIX C and FORTRAN programs can be compiled without problems andwithout severe modifications to the code. The underlying POSIX-compatible
system calls layer, available for Windows NT, makes the porting to NT of alarge number of “legacy” applications possible.

The HAPI Interface to HyperChem

155

How to use the HyperChem API

However, because console applications are not event-driven, Microsoft
decided to insulate them from certain features of Windows. Particularly, there
is no possibility for an application to be called via regular DDE callback functions. In practice, DDE communication can be used by the console application, as long as there is no need for the application to be called through a DDE
Callback function. However, this “callback” feature is mandatory to receive
notifications from HyperChem about the change in an HSV variable.

The Notification Agent
To work around this, HyperCube, has implemented “The Notification
Agent”. The agent is another thread of execution (both Win95 & NT are realmultithreading applications) that does the following:•

Starts a regular Windows procedure (analogous to WinMain) by registering the window class and defining a WndProc-type of function that canprocess all windows messages.

•

The agent then opens its own DDE communication with HyperChem.

•

The agent registers and processes notifications and allocates its own
buffers when necessary.

•

Each notification results in buffer allocation up to the limit of memory
resources.

•

The notification buffers are freed when a user copies their contents into
their own memory.

•

The user application access the buffers which form very simple linked
list using only two functions:

From a C Program:

DWORD _stdcall hcNotifyDataAvail()
DWORD _stdcall hcGetNotifyData(char* name, char *buffer, DWORD
MaxBuffLength)

From a Fortran program:integer function hfNotifyDataAvail()
integer function hfGetNotifyData(name,result,res_length)156

Chapter 11

Examples of HAPI Calls•

The first informs the caller if there is some data that has came in as a notification message. The second copies the top-most buffer into the user
program, deallocating the buffer.

•

The proper accessing by the notification agent and your user program ofa critical section of storage (the buffer area and control area) is handled
by use of semaphores, making the whole solution very robust. Tests
made under both Windows 95 and NT have shown the proper handlingof data without any loss of incoming messages, irrespective of their size.

The notification agent is useful also for those applications that cannot definea callback (like a regular Tcl/Tk scripting application). It is also the method
used by HyperChem to avoid an event-driven programming paradigm in console applications, particularly.

Examples of HAPI Calls
C, C++
Text-based
int result;result = hcExecTxt(“do-molecular-dynamics”);
result = hcExecTxt(“menu-file-open”);
result = hcExecTxt (“dipole moment 2.5”);

Binary-based
int result;double value;
value = 2.5;
result = hcExecBin (do_molecular_dynamics);
result = hcExecBin (menu_file_open);
result = hcExecBin (dipole_moment, &value, 8);

Fortran
Text-based
integer result
result = hfExecTxt (‘do_molecular_dynamics’)

The HAPI Interface to HyperChem

157

Examples of HAPI Calls

result = hfExecTxt (‘menu-file-open’)
result = hfExecTxt (‘dipole-moment 2.5’)

Binary-based
integer result
double precision value
value = 2.5
result = hfExecBin (do_molecular_dynamics)
result = hfExecBin (menu_file_open)

Visual Basic
Text-based
Dim result As Long
result = hbExecTxt (“do_molecular_dynamics”)
result = hbExecTxt (“menu-file-open”)
result = hbExecTxt (“dipole-moment 2.5”)

Binary-based
Dim result As Long
Dim value As Double
value = 2.5
result = hbExecBin (do_molecular_dynamics)
result = hbExecBin (menu_file_open)
result = hbExecBin (dipole_moment, value, 8)

158

Chapter 11

Chapter 12
Development Using the Windows API

Introduction
This chapter describes the development of “Standard” Windows programs
that interface with HyperChem. By standard we mean that these programs are
written in C and use the lower-level approach of calling the Windows Application Programming Interface (API) directly. Such programs are said to be
developed with the System Developer Kit (SDK). This contrasts with the next
chapter which describes development of Windows programs using C++ and
the Microsoft Foundation Classes. The SDK is in some sense the hard way to
do Windows programming but it is also the most basic and flexible way tobuild a Windows program and most of the commercial Windows applications
you will encounter have been written in the following fashion.

Microsoft Development Tools
The interfacing examples of these next few chapters assume that you haveaccess to certain Windows development tools. While much of what we
describe is generic to a selection of compilers and programming environments, we have specifically used Microsoft’s tools in all of our examples.
Thus, this chapter and the next make use of the C and C++ compilers ofMicrosoft Visual C++, version 4.0, for 32-bit development. We have used
this compiler for HyperChem Release 5.0. The information needed to interface your program to HyperChem is fundamentally independent of the specific Windows tools used, but there may be small changes necessary to adapt
to your specific tool set if you are not using Visual C++ 4.0.

Programming AssistanceThis manual is certainly not a programming manual for Windows but you
may need one. With the entering of any new area of endeavor, it is comfortingto have the right information and assistance from experts. If you are new to159

A First Example

the type of programming illustrated in this chapter, we very strongly recommend that you get a copy of the following book,
Programming Windows
Charles Petzold and Paul Yao
ISBN 1-55615-676-6
Microsoft Press, 1996
This is a new version of the programming classic by Charles Petzold. Since
Windows NT programming is very similar to that for Windows 95, it is anappropriate book for NT development as well. There is an assumption in thismanual that you are probably a UNIX programmer. The Petzold book is an
excellent way for you to approach programming for Windows and NT and wehighly recommend it. A great deal has been written about programming forWindows and there exist other fine reference books as well.

LanguageThis chapter uses the C language and the next chapter uses C++, rather than
Fortran, which is generally much more familiar to scientific programmers andmay be your language of choice. In Chapter 14 we describe how to write socalled console programs in Fortran that can be interfaced to HyperChem.
However, for writing a normal Windows program that has a graphical userinterface, visualization, etc., Fortran is somewhat problematic and C or C++
are much to be preferred for normal Windows programming. With theChemist’s Developer Kit, C, C++, and VB are the languages that we anticipate you will be using for true “Windows-like” development. Any of thefour languages, C, C++, VB, and Fortran are appropriate for the “characterlike” programming common to most large computational chemistry modules.

A First Example
The first programming example will again be our “Red and Green” example
which is the equivalent in this manual to the common “Hello World” programming examples that you probably have seen elsewhere.
This example is referred to as Colors and will be in its own Colors directoryfrom the HyperChem CD-ROM. It is assumed that you have installed VisualC++ 4.0 and that you are working from a DOS box in Windows 95. The firstthing that you must do, as with other programming examples from this chap-

160

Chapter 12

A First Example

ter, is to go to the proper directory and execute MSC.BAT to configure yourenvironment for the Microsoft compiler.
1.

Change to the COLORS directory

2.

Type MSC.BAT

If you have any trouble with running out of environment space, click on theProperties tool in the DOS-box tool bar to increase the amount of environment memory. You are now ready to compile the COLORS.C file and create
the executable. Type NMAKE. You should see your program being compiled
and the executable COLORS.EXE being created. Make sure HyperChem isrunning and then execute COLORS.EXE. That is,
3.

Type NMAKE

4.

Make sure HyperChem is running

5.

Type COLORS to execute COLORS.EXE

You could do this last step by typing COLORS in your DOS box or by double
clicking on the Colors icon inside the Explorer or by having HyperChem execute the script COLORS.SCR which simply has in it the Hcl script command,
execute-HyperChem-client colors.exe. You should then see the following
Windows Application on the screen:

If you push the Red button, the HyperChem background window color willturn red. If you push the Green button, it will turn green. The text above thebuttons indicates the current color of the HyperChem window, if its lastchange came from the external application, Colors. If you change the window
from the <File/Preferences...> dialog box within HyperChem, the external
application will not know about the change (a notification operation is necessary for this).

Development Using the Windows API

161

A First Example

The code for this Windows application is shown below. It is a completely
standard “boiler-plate” windows code except for the text shown in bold.
/*
Window Colors - SDK program to connect and talk to HyperChem*/#include <windows.h>#include "hc.h"char cmd_line[120];
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow){static char szAppName[] = "Colors" ;HWND
hwnd ;MSG
msg ;WNDCLASSEX wndclass ;intwindowx,windowy;
wndclass.cbSize= sizeof (wndclass) ;wndclass.style= CS_HREDRAW | CS_VREDRAW ;wndclass.lpfnWndProc= WndProc ;wndclass.cbClsExtra= 0 ;wndclass.cbWndExtra= 0 ;wndclass.hInstance= hInstance ;wndclass.hIcon= LoadIcon (NULL, IDI_APPLICATION) ;wndclass.hCursor= LoadCursor (NULL, IDC_ARROW) ;wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ;wndclass.lpszMenuName = NULL ;wndclass.lpszClassName = szAppName ;wndclass.hIconSm= LoadIcon (NULL, IDI_APPLICATION) ;RegisterClassEx (&wndclass) ;lstrcpy(cmd_line,szCmdLine);
windowx=200;
windowy=175;
hwnd = CreateWindow (szAppName, "Colors",
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT,
windowx,
windowy,
NULL, NULL, hInstance, NULL) ;ShowWindow (hwnd, iCmdShow) ;UpdateWindow (hwnd) ;while (GetMessage (&msg, NULL, 0, 0)){162

Chapter 12

A First Example

TranslateMessage (&msg) ;DispatchMessage (&msg) ;}return msg.wParam ;}LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam,
LPARAM lParam){
static HWND hwndButton[2] ;static RECT rect ;static int
cxChar, cyChar ;
HDC
hdc ;
PAINTSTRUCT ps ;TEXTMETRIC
tm ;static char szBuff[200], szInitColor[50];char*response;int
result;static int
connected=FALSE;
switch (iMsg){
case WM_CREATE :hdc = GetDC (hwnd) ;SelectObject (hdc,GetStockObject(SYSTEM_FIXED_FONT));
GetTextMetrics (hdc, &tm) ;cxChar = tm.tmAveCharWidth ;cyChar = tm.tmHeight + tm.tmExternalLeading ;ReleaseDC (hwnd, hdc) ;hwndButton[0]=CreateWindow("button","Red",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
7*cxChar, 3*cyChar, 10*cxChar, 2*cyChar,hwnd, (HMENU)0,((LPCREATESTRUCT) lParam) -> hInstance,
NULL) ;
hwndButton[1]=CreateWindow("button","Green",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
7*cxChar, 6*cyChar, 10*cxChar, 2*cyChar,hwnd,(HMENU)1,((LPCREATESTRUCT) lParam) -> hInstance,
NULL) ;
return 0;
caseWM_SHOWWINDOW :Development Using the Windows API

163

A First Example

if (!connected){/* loading CDK API DLL*/
if (!LoadHAPI("hapi.dll")){
MessageBox(hwnd,"Error loading CDK's API DLL !","Error", MB_OK | MB_ICONSTOP);exit(0);}/* connecting to HyperChem */if (!hcConnect(cmd_line)){
MessageBox(hwnd,"Error connecting with HyperChem !","Error", MB_OK | MB_ICONSTOP);exit(0);}else{
connected=TRUE;}/* obtaining initial window-color from HyperChem */response=hcQueryTxt("window-color");lstrcpy(szInitColor,response);
hcFree(response);
wsprintf(szBuff,"%s",szInitColor);}
return 0;case WM_PAINT :InvalidateRect (hwnd, &rect, TRUE) ;hdc = BeginPaint (hwnd, &ps) ;SelectObject(hdc,GetStockObject(SYSTEM_FIXED_FONT));
SetBkMode (hdc, TRANSPARENT) ;TextOut(hdc,cxChar,cyChar,szBuff,lstrlen(szBuff)) ;EndPaint (hwnd, &ps) ;return 0 ;case WM_DRAWITEM :case WM_COMMAND :hdc = GetDC (hwnd) ;SelectObject(hdc,GetStockObject(SYSTEM_FIXED_FONT));switch (LOWORD (wParam)) {case 0 :164

Chapter 12

Modification of a Molecule’s Coordinates

wsprintf(szBuff,"window-color = Red");result=hcExecTxt(szBuff);
break;
case 1 :wsprintf(szBuff,"window-color = Green");result=hcExecTxt(szBuff);
break;
default : ;}/*TextOut (hdc, cxChar, cyChar,szBuff,lstrlen(szBuff));*/
ReleaseDC (hwnd, hdc) ;InvalidateRect (hwnd, NULL, TRUE) ;break ;
case WM_DESTROY :result=hcExecTxt(szInitColor);
result=hcDisconnect();
PostQuitMessage (0) ;return 0 ;}return DefWindowProc (hwnd, iMsg, wParam, lParam) ;}The changes to a standard version of the WinMain routine, as used by all
Windows programs, are very minimal. the only changes are to include aheader file, hc.h, to change the size of the window to a smaller than normal
value, to save the invoking command line for potential use, and to change thename of the main window to Colors.
The changes to WndProc, the callback procedure, are more extensive. This is
the routine that contains the code you get to execute when certain eventsoccur. It is, of course, very application dependent although all Windows programs have a similar basic outline.

Modification of a Molecule’s Coordinates
The next example that we demonstrate and explain is one which has a very
fundamental capability similar to many programs that you might wish towrite. That is, this program gets a molecule and its coordinates from HyperChem, modifies these coordinates in some fashion and returns them to HyperDevelopment Using the Windows API

165

Modification of a Molecule’s Coordinates

Chem for continuous display. A more elaborate example might extend thisprogram to perform a geometry optimization, to execute a molecular dynamics, trajectory, etc. Once again the modifications from a standard Windows
program are denoted in bold face type.
/** C-API Examples************************************************ Rotation - program to demonstrate ** modification of coordinates in the HyperChem workspace ******************************************************************/#include <windows.h>#include <math.h>#include <stdio.h>#include "hc.h"#include "hsv.h"char cmd_line[100];
static char *Label[] = {"Step Size","Total Steps"};#define _CW(l) cxChar*(lstrlen(l)+1)#define MAX_BUFF 200
typedef struct _ATM_COORDS { double x,y,z; } ATM_COORDS;LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow){static char szAppName[] = "Rotate" ;HWND
hwnd ;MSG
msg ;WNDCLASSEX wndclass ;int windowx,windowy;
wndclass.cbSize= sizeof (wndclass) ;wndclass.style= CS_HREDRAW | CS_VREDRAW ;wndclass.lpfnWndProc= WndProc ;wndclass.cbClsExtra= 0 ;wndclass.cbWndExtra= 0 ;wndclass.hInstance= hInstance ;wndclass.hIcon= LoadIcon (NULL, IDI_APPLICATION) ;wndclass.hCursor= LoadCursor (NULL, IDC_ARROW) ;wndclass.hbrBackground=(HBRUSH)GetStockObject(COLOR_BACKGROUND);
wndclass.lpszMenuName = NULL ;wndclass.lpszClassName = szAppName ;wndclass.hIconSm= LoadIcon (NULL, IDI_APPLICATION) ;166

Chapter 12

Modification of a Molecule’s Coordinates

RegisterClassEx (&wndclass) ;lstrcpy(cmd_line,szCmdLine);
windowx=280;
windowy=200;
hwnd = CreateWindow (szAppName, "Rotate",
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT, CW_USEDEFAULT,
windowx,
windowy,
NULL, NULL, hInstance, NULL) ;ShowWindow (hwnd, iCmdShow) ;UpdateWindow (hwnd) ;while (GetMessage (&msg, NULL, 0, 0)){TranslateMessage (&msg) ;DispatchMessage (&msg) ;}return msg.wParam ;}LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg,
WPARAM wParam,LPARAM lParam){
static HWND hwndButton[1],hwndLabel[2],hwndEdit[2] ;static RECT rect ;static int cxChar, cyChar ;
HDC
hdc ;
TEXTMETRIC tm ;HINSTANCE
hins;
static char szBuff[MAX_BUFF],szInitColor[50];int
result,i;static int connected=FALSE;
static
ATM_COORDS *org_xyz,*new_xyz;
static int nMol,*nAtm,nAtmTot;
doubledRot,rAng,rCos,rSin;
intnRot,ia;switch (iMsg){
case WM_CREATE :hdc = GetDC (hwnd) ;SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;GetTextMetrics (hdc, &tm) ;Development Using the Windows API

167

Modification of a Molecule’s Coordinates

cxChar = tm.tmAveCharWidth ;cyChar = tm.tmHeight + tm.tmExternalLeading ;ReleaseDC (hwnd, hdc) ;hins=((LPCREATESTRUCT) lParam) -> hInstance;
hwndLabel[0]=CreateWindow("static",
Label[0],WS_CHILD | WS_VISIBLE,
2*cxChar,
3*cyChar,_CW(Label[0]),2*cyChar,hwnd,(HMENU)101, hins, NULL);
hwndEdit[0]=CreateWindow("edit",
NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT,
2*cxChar,(int)(4.5*cyChar),
10*cxChar,
7*cyChar/4,
hwnd,(HMENU)200 ,hins, NULL);
hwndLabel[1]=CreateWindow("static",
Label[1],WS_CHILD | WS_VISIBLE,
22*cxChar,
3*cyChar,_CW(Label[1]),2*cyChar,hwnd,(HMENU)102, hins, NULL);
hwndEdit[1]=CreateWindow("edit",
NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT,
22*cxChar,(int)(4.5*cyChar),
10*cxChar,
7*cyChar/4,
hwnd,(HMENU)201 ,hins, NULL);
hwndButton[0]=CreateWindow("button","Spin it !",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
12*cxChar,(int)(8.5*cyChar),

168

Chapter 12

Modification of a Molecule’s Coordinates

10*cxChar,
7*cyChar/4,
hwnd,(HMENU)0,hins, NULL) ;return 0;case WM_SHOWWINDOW :if (!connected) {/* loading CDK API DLL*/
if (!LoadHAPI("hapi.dll")) {MessageBox(hwnd,"Error loading CDK's API DLL !","Error", MB_OK | MB_ICONSTOP);exit(0);}/* connecting to HyperChem */if (!hcConnect(cmd_line)) {MessageBox(hwnd,"Error while connecting with HyperChem !","Error", MB_OK | MB_ICONSTOP);exit(0);} else {connected=TRUE;}/* obtaining coordinates from HyperChem */nMol=hcGetInt(molecule_count); // getting number of molecules
if (nMol < 1) {MessageBox(hwnd,"There are no molecules to play with !","Error", MB_OK | MB_ICONSTOP);
hcDisconnect();exit(0);};nAtm=(int*)hcAlloc(nMol*sizeof(int));// getting vector specifing number of atoms in each// moleculeif (!nAtm) {MessageBox(hwnd,"Memory allocation error","Error", MB_OK | MB_ICONSTOP);
hcDisconnect();exit(0);};Development Using the Windows API

169

Modification of a Molecule’s Coordinates

if (!hcGetIntVec(atom_count,nAtm,nMol)) {MessageBox(hwnd,"Error while getting data from HyperChem !","Error", MB_OK | MB_ICONSTOP);
hcDisconnect();exit(0);};nAtmTot=0;
for (i=0;i<nMol;i++) nAtmTot += nAtm[i];org_xyz=(ATM_COORDS*)hcAlloc(nAtmTot*sizeof(ATM_COORDS));
new_xyz=(ATM_COORDS*)hcAlloc(nAtmTot*sizeof(ATM_COORDS));
if ( (!org_xyz) || (!new_xyz) ) {MessageBox(hwnd,"Memory allocation error","Error", MB_OK | MB_ICONSTOP);
hcDisconnect();exit(0);};if ( !hcGetRealArr(coordinates,(double*)org_xyz,nAtmTot*3) ) {MessageBox(hwnd,"Error getting atomic coordinates","Error", MB_OK | MB_ICONSTOP);
hcDisconnect();exit(0);};}
SetWindowText(hwndEdit[0],"12");// default step for rotation
SetWindowText(hwndEdit[1],"30");// default number of rotations
return 0;case WM_COMMAND :hdc = GetDC (hwnd) ;SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;switch (LOWORD (wParam)) {case 0 :// ROTATE
EnableWindow(hwndButton[0], FALSE);
GetWindowText(hwndEdit[0],szBuff,MAX_BUFF);
dRot=atof(szBuff);
GetWindowText(hwndEdit[1],szBuff,MAX_BUFF);

170

Chapter 12

Modification of a Molecule’s Coordinates

nRot=atoi(szBuff);dRot = dRot*3.14159256/180.0;
result=hcSetInt(cancel_menu,1);for (i=0;i<nRot;i++) {rAng=dRot*(i+1);
rSin = sin(rAng);
rCos = cos(rAng);for (ia=0;ia<nAtmTot;ia++) {new_xyz[ia].x = rCos * org_xyz[ia].x+ rSin * org_xyz[ia].y;
new_xyz[ia].y =-rSin * org_xyz[ia].x+ rCos * org_xyz[ia].y;
new_xyz[ia].z=org_xyz[ia].z;}
result=hcSetRealArr(coordinates,(double*)new_xyz,nAtmTot*3);
if (!hcGetInt(cancel_menu)) {result=hcSetRealArr(coordinates,(double*)org_xyz,nAtmTot*3);
hcDisconnect();
PostQuitMessage(0);break;}}
result=hcSetInt(cancel_menu,0);
EnableWindow(hwndButton[0], TRUE);
break;
default : ;}ReleaseDC (hwnd, hdc) ;ValidateRect (hwnd, &rect) ;break ;
case WM_DESTROY :result=hcDisconnect();
PostQuitMessage (0) ;return 0 ;}return DefWindowProc (hwnd, iMsg, wParam, lParam) ;Development Using the Windows API

171

Modification of a Molecule’s Coordinates}

Executing this program (after invoking HyperChem) gives the following window:

Pushing the button will rotate the molecule by 12 degrees 30 times with theabove parameters. In conjunction with this program the Cancel button functions appropriately. Pushing it will terminate the rotation and also terminate
the rotate program.
If you are new to programming for Windows and NT, you should now havethe basis for going on and beginning to build real Windows applications.
However, development with the MFC, as described in the next chapter, will
make your life much easier if you wish to develop serious graphical userinterfaces.

172

Chapter 12

Chapter 13
Development Using the MFC

Introduction
This chapter describes the development of C++ Windows programs using theMicrosoft Foundation Classes (MFC). We describe very briefly how todevelop Windows applications of this kind and then how to have them interface and exchange data with HyperChem programs. Examples of such programs are given.

Microsoft Development Tools
Once again, the appropriate development tool associated with this chapter isMicrosoft Visual C++ which includes the Microsoft Foundation Classes. Thisset of C++ classes allow you to build a Windows graphical user interface in avery short period of time. The combination of the Integrated Development
Environment (IDE), the C++ compiler, and the MFC classes, that are all partof Visual C++ 4.0 make for a powerful development tool. One can very
quickly put together a Windows application, much faster than with the toolsof the last chapter. It is still the case, however, that most of the commercial
software, even that from Microsoft, does not yet use the MFC. As easy as it
is, it does not provide quite the flexibility that making all your own lowerlevel API calls does, as in the SDK-style. In addition, it is still necessary tohave a good appreciation of the Windows API, even if you are programmingwith the MFC. Indeed, the API calls are required for many things even within
the higher level approach briefly described here. You should decide for yourself whether programming in C with direct API calls (Chapter 12) or programming in C++ with the MFC (this chapter) is for you.

Programming Assistance
As stated before, this cannot be a programming manual for Windows development. We will illustrate the basic ideas for building Windows MFC pro173

A First Example

grams that interface to HyperChem and provide some example code but aserious approach to this subject requires you to obtain additional resources.
The first, of course, is Microsoft Visual C++ 4.0 itself. The ideas discussed
here can certainly be implemented with other compilers and with other development environments, but you will have to make some adaptation of thedescriptions given here. We will not attempt to describe development withalternative tools.
The second requirement, if you are new to Windows development, is accessto good documentation and tutorial material. One recent book on the subject
from Microsoft is,
Programming Windows 95 with MFC
Jeff Proise
Microsoft Press, 1996
ISBN 1-55615-902-1
There are many other books that describe development using the MFC andVisual C++ 4.0 on the market, as well.

Language
The C++ language of this chapter may be new to you. If this is the case you
may need programming books and tools that specifically address programming in this language. In many ways the object-oriented flavor of C++ makes
it more different from C, than C even is from Fortran. An advantage of VisualC++ and its Wizards is that very little code will need to be written for development of the GUI and you will be able to develop significant applications
just writing C code for the chemical computation part of your application. An
investment in learning C++ programming is probably a well-rewarded investment.

A First Example
The first example of a C++ program that interfaces to HyperChem will be asimple one to illustrate the basic tools and concepts of Visual C++ 4.0. Bringup the Visual C++ program until it looks similar to the following:

174

Chapter 13

A First Example

Then,
1.

Select <File/New...>

This will bring up a dialog box to select a Wizard to assist you in creating yourapplication,

It is simplest to use the MFC AppWizard to create your application.
Development Using the MFC

175

A First Example

2.

Type in a name for your application and hit <Create>.

You now are required to decide whether your application is a normal single
document application with a menu bar, tool bar, etc., a corresponding document with a multiple document interface (MDI) or a simpler application thatis essentially just a single dialog box. For this first application, choose thesimpler approach.
3.

Choose <Dialog based> and hit <Next>.

You are now asked to elaborate a little on the features of this dialog box.
4.

Choose <About box> and <3D-controls> before hitting <Next>.

It is appropriate to choose a shared Dynamic Link Library for MFC and you
can should comments that may assist you in understanding the files produced.
5.

Choose <As a Shared DLL> and <Yes, Please> prior to hitting <Next>.

You can now complete the process of creating your first MFC application.
6.

Choose <Finish> and <OK> to complete the AppWizard’s work.

You are now left with an application that can be compiled and run but it will
not do anything of significance yet or be able to interact with HyperChem.

Modifications
To create a custom application, we want to modify the widgets on the dialog
box and create code for the modified ones. Specifically, we are once again
going to create two buttons - one to change the HyperChem screen color to
red and one to change it to green. To accomplish this, we first of all need tomodify the existing resources and create two new resources that are the two
new buttons.

176

Chapter 13

1.

Click on the <ResourceView> tab at the bottom of the left window.

2.

Double click on <IDD_CPPCOLOR_DIALOG> to place the current dialog box in the right window as shown below:

A First Example

You will now want to delete the OK and Cancel buttons and the TODO label.
3.

Click on <OK> to select the button and then <File/Delete> to delete it.

4.

Repeat for the Cancel button.

5.

Repeat for the TODO label.

You can now add whatever widgets you like to the dialog box. Select the Button control from the set of Controls and create a button on the dialog box bydragging with the mouse until you get the following:

Development Using the MFC

177

A First Example

That is,6.

Create a Button on the dialog box.

To create a second button select the first one shown above, copy it to the clipboard and then paste it back,7.

Copy and Paste the Button to create a second one.

You can now double click on each button in turn to modify its properties.
8.

Double click on the first button to change its name to IDC_RED and it
Caption to Red.

9.

Repeat for the second Green button.

The buttons should now be labelled Red and Green. To continue, we need to
invoke the Class Wizard to allow us to create specific code for these buttons.

178

Chapter 13

A First Example

10. Select the menu item <View/Class Wizard...>You should see the following:

11. Select <IDC_RED> and <IDC_GREEN> in turn with the Message field
as <BN_CLICKED> and hit <Add Function> to create functions OnRed
and OnGreen.
Next you need to add code for these functions, so,
12. Hit <Edit Code> and type in the correct code for each button.
The appropriate code to add is:void CCppColorDlg::OnRed(){// TODO: Add your control notification handler code here
hcExecTxt ("window-color red");}13. Repeat steps 11 and 12 for the green button.
void CCppColorDlg::OnGreen(){// TODO: Add your control notification handler code here
hcExecTxt ("window-color green");}Development Using the MFC

179

A First Example

This completes the use of the AppWizard and Control Wizard for creating
this application. There are still a couple of things that have to be done, however, before this code will compile and run correctly. The first task is to add
our include files to the set of includes. The second task is to load the dynamic
link library so that the function hcExec can be found. Finally we have to makea connection between this program and HyperChem.
The MFC application includes a number of files, all of which are machine
generated. In this case CColor.cpp is really identical to a generic applicationand no changes to it are necessary. The CColorDlg.cpp file contains all thecode associated with the dialog box and we need to modify this code. To lookat code you select the <FileView> tab of the left window, find the file of interest and double click on it. This will give you a view of CColorDlg.cpp as
below:

Included FilesAt the beginning of the above file the following bold-faced code should be
added to the include files already there:// CppColorDlg.cpp : implementation file//#include "stdafx.h"
180

Chapter 13

A First Example#include "CppColor.h"#include "CppColorDlg.h"#include “hc.h”#include “hcload.c”
These are the include files that are needed to communicate with HyperChem.
If you are making library calls, e.g. hcExecBin, you will need hsv.h also.

Dynamic Link Library and Connecting to HyperChem
The code that is needed to initialize the loading of the HAPI.DLL and establish the connection to HyperChem should be placed in the OnInitDialog routine inside CColorDlg.cpp after the appropriate place where the AppWizard tells you it should go,
SetIcon(m_hIcon, TRUE);// Set big icon
SetIcon(m_hIcon, FALSE);// Set small icon// TODO: Add extra initialization here
if (!LoadHAPI("hapi.dll")){
MessageBox("Error loading HAPI.DLL", Error",
MB_OK|MB_ICONSTOP);exit(0);}if (!hcConnect(NULL)))
MessageBox("Error connecting to HyperChem", "Error",
MB_OK|MB_ICONSTOP);
return TRUE; // return TRUE unless you set the focus to a control

This completes the first simple example. If everything went correctly, you
should have created a Windows application that can talk to and control
HyperChem. Remember that the code we have put into the new Windows
application expects HyperChem to be there so that you need to start HyperChem before starting the new application. The CppColor application looks asfollows:

Development Using the MFC

181

Cavity

CavityThis next example, called Cavity, is considerably more sophisticated than thelast example. It is still a simple Dialog application but it collects significant
information from HyperChem - the current selections, the current coordinates, plus it collects the values of quantities in the dialog box before calculating the center of mass of the selection. The application can then place anatom of arbitrary atomic number at the center of mass of the “cavity” anddraw special dotted bonds between the center of the cavity and the rest of themolecule. It is essentially identical to the last example except for the moresophisticated interactions with HyperChem and the inclusion of entries madein the dialog box. The code for this example is on the HyperChem CD-ROM.
The dialog box is shown below,

182

Chapter 13

Cavity

This application is too long to discuss all the code here. If you are interested,
however, you should be able to follow every aspect of this relatively simple
calculation using the full source code. All the calls in this program are textbased calls with no binary call that need hsv.h. We will discuss certain portions of the code as being instructive of how one generally interacts with
HyperChem. The code, OnCalc, associated with pushing the Calculate button
is where the coordinates are read. The first thing that is necessary, before
reading the coordinates, is to characterize the atoms and molecules of the system in HyperChem,// HyperChem won't send tags with OMSGS
hcExecTxt("query-response-has-tag = false");// Gather information about molecular system// start with number of molecules
resp=hcQueryTxt("molecule-count");
iMol=atoi(resp);hcFree(resp);// allocate memory for iaAtomCount array
iaAtomCount=(int*)calloc(iMol,sizeof(int));// next, get count of atom in each molecule
resp=hcQueryTxt("atom-count");// parse string returned by CDK into integer array
Development Using the MFC

183

Cavity

pstr=resp;
i=0;iAtomTot=0;
while (ptok=strtok(pstr,_DELIMITERS)) {if (pstr) pstr=NULL;
iAtomTot += iaAtomCount[i++]=atoi(ptok);}
hcFree(resp);

As with many interfaces to HyperChem, the first thing to do is to eliminate
the tag which comes, by default, with a returning message. Next, we get the
number of molecules, molecule-count, which comes in as a string and getsconverted to an integer. The memory allocation for the string occurs automatically within hcQueryTxt and this memory must be freed by you when thestring is no longer needed. Forgetting to free memory is a common C programming error.
The HSV, atom-count, is a vector. Each element could have been read in turnbut all the elements can also be read at once - the resulting string must thenbe parsed, however. The vector , iaAtomCount, is used to hold the result of
this parsing.
The next step is to sort out which of the atoms and molecules are selected
since we are only going to read the selected atoms coordinates. This result in
vectors iaSelectedAtom and iaSelectedMol being allocated and filled in, plus
a variable, iSelected, that represents the total number of atoms selected. The
code for this can be inspected in the source files if you wish. We skip it for
brevity. The next step is to read the coordinates for the selected atoms. The
code for this is,// get coordinates of atoms
faX=(float*)calloc(iSelected,sizeof(float));faY=(float*)calloc(iSelected,sizeof(float));faZ=(float*)calloc(iSelected,sizeof(float));for (is=0;is<iSelected;is++) {wsprintf(buff,"coordinates(%d,%d)",iaSelectedAtom[is],iaSelectedMol[is]);resp=hcQueryTxt(buff);
pstr=resp;
i=0;in=0;
while (ptok=strtok(pstr,_DELIMITERS)) {if (pstr) pstr=NULL;
switch (in) {184

Chapter 13

Cavitycase 0: x=(float)atof(ptok); in++; break;case 1: y=(float)atof(ptok); in++; break;case 2: z=(float)atof(ptok); in=0; break;}}hcFree(resp);
faX[is] = x;faY[is] = y;faZ[is] = z;}

The loop over selected atoms makes a request for the coordinates of that
atom, as an element of the coordinate array. This element is a string of threevalues (x, y, and x coordinates) and has to be parsed.
The code for the remaining portions of this problem is available for yourinspection, if you are interested.

Development Using the MFC

185

Cavity

186

Chapter 13

Chapter 14
Console C and Fortran Applications

Introduction
This chapter describes how to develop “conventional” character-oriented orconsole applications in C or Fortran that can be interfaced with HyperChem.
It is relatively common in computational or theoretical chemistry to develop
applications in Fortran (or as is becoming more common, in C) that have nographical user interface but operate with input files creating output files. For
example, many programs have been developed to calculate a molecular wave
function. Such a program in its simplest form might need as input the Cartesian coordinates of a molecule and give as output the energies and coefficients describing the molecular orbitals. It is a significant effort to build the
additional graphics program that would allow the molecule to be just sketchedand the output to be presented as a 3D rendering of the molecular orbitals. The
CDK, however allows the developer of such a molecular orbital program touse HyperChem to sketch the molecule and to render the molecular orbitals.
HyperChem can act as a front end GUI and a back end visualizer to this character-oriented program by simply having it call on HyperChem whenever itneeds graphical services.

Console Applications
Microsoft refers to programs that have no graphical user interface as console
applications. An example output from one of these console applications isshown below.

187

Introduction

These applications look a lot like many UNIX applications or applications
developed in DOS. Until recently it was very difficult to develop such console
programs within the Windows environment, i.e. without a window and agraphical user interface. Now with Windows 95 or NT and Visual C++ 4.0
and Fortran Power Station it is relatively easy to port traditional non-graphical scientific applications to the Windows environment. With the Chemists
Developer Kit, it is also easy to interface these to HyperChem.

C or FortranUntil recently, the Microsoft Windows environment and development tools
have essentially been usable only with C (or C++). With the recent introduction of Fortran PowerStation, however, it has become easy to develop Windows applications in Fortran. For console applications, the tools for C and
Fortran are essentially on the same basis and the choice can be based uponwhich language is your personal choice. For more graphical programs, Fortran (which requires calls to the Windows API - developed for C) is still more
awkward to use than C. It is still possible, however, using tools that Microsoft
has provided with Fortran PowerStation. In this chapter and in this manual we
will not concern ourselves with development of graphical user interfaces in
Fortran. Rather, we restrict our Fortran discussions to the console applications of this chapter. For such console applications, C and Fortran are interchangeable as to their ease of use within Windows.

188

Chapter 14

C Program

The Integrated Development Environment
The Visual C++ 4.0 Integrated Development Environment is where FortranPowerStation programs are developed and this gives an identical development environment for both C and Fortran. Thus a console program is created,
as before, by selecting <File/New>, choosing to create a new Project Workspace and then selecting a Console Application,

For console applications, one has to Insert C (*.c), C++ (*.cpp), or Fortran(*.f) files into the project as needed since none are generated automatically aswith the AppWizard.

C Program
Our first example of a console program is a C program. The program looks
like any C program beginning with main(), etc. The code for it is as follows:/** Console - UNIX like C program that talks to HyperChem **/#include <stdio.h>#include <windows.h>#include "hc.h"#include "hcload.c"
int main(int iArg, char **pArg){
char cmd_line[100],initColor[100],color[100],buffer[100];
Console C and Fortran Applications

189

C Programchar *response;
int result;/* loading HAPI.DLL*/
if (!LoadHAPI("hapi.dll")) {printf("Error loading HAPI.DLL !\n");exit(0);};/* connecting to HyperChem */if (iArg!=2) {strcpy(cmd_line,"");} else {strcpy(cmd_line,pArg[1]);};if (!hcConnect(cmd_line)) {printf("Error while connecting with HyperChem !\n");exit(0);}/* obtain initial window-color from HyperChem */response=hcQueryTxt("window-color");printf("initial state = %s\n",response);
strcpy(initColor,response);
hcFree(response);
for(;;) {printf("Choose window-color (black, green, red ... (-1 to end))\n");scanf("%s",color);if (atoi(color) == -1) {result=hcExecTxt(initColor);
result=hcDisconnect();
return 0 ;} else {sprintf(buffer,"window-color %s",color);
result=hcExecTxt(buffer);}}
return 0;

This code looks like any simple C program with the exception of calls to
hcConnect, hcQueryTxt, hcExecTxt, and hcDisconnect. Any command line
arguments are passed through to HyperChem. The header files, hc.h andhcload.c are required as is the dynamic loading of the library of the HyperChem Application Programming Interface, HAPI.DLL. Subsequent to con-

190

Chapter 14

Fortran Programs

necting to HyperChem, the program can just read and write HSV’s to HyperChem or control HyperChem via direct commands. The program requires
HyperChem to be running prior to its own invocation. The result of running
this program is the following Console window.

The corresponding HyperChem window with its changing background colors
is not shown. The console window contains any text that a normal C program
outputs via “standard output” using printf, etc. It can be iconized, if desired,
so that it is effectively running in the background while you interact with
HyperChem. It behaves very much like HyperNewton, HyperNDO, etc., thestandard back ends that come with HyperChem and perform compute intensive computations.

Fortran Programs
We will now illustrate, in somewhat more detail, examples of Fortran programs that behave like the above. It is believed that HyperChem and the CDK
provide an ideal opportunity to interface a wide variety of Fortran programs,
such as could be available from the Quantum Chemistry Program Exchange(QCPE) at Indiana University. Many programs have been generated overmany years, by many chemists, and these could very quickly have a “slick”
graphical user interface.

Console C and Fortran Applications

191Fortran Programs

Reflect
Our first example is a program that simply collects the coordinates of all theatoms from HyperChem, performs some simple transformation of these coordinates, and sends them back to HyperChem for display. For simplicity wewill use a reflection in the XY plane through the origin to illustrate the generalprocess. That is, our program will replace all Z coordinates by -Z. If your molecule has chiral centers and their chirality label is displayed, you will see theconversions R->S and S->R from running this program.
This example, while trivial, has some of the characteristics of a “real” program that would perform significant computation on an “initial” structureleading to a “new” structure. Molecular dynamics programs or a structure
optimization programs have this flavor. The whole program is,
program Reflectc-----------------------------------------------------------------c include header files - HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'
parameter (nDimensions=3)
parameter (nMaxAtoms=2000)
character*60 cmd_line
logical result
integer status
integer nAtoms
double precision XYZ(nDimensions, nMaxAtoms)cc Connect to HyperChem using current command lineccall getarg(1,cmd_line,status)
result=hfConnect(cmd_line)
if (.NOT. result) stopc we do not want to have names in front of HSVs !
c query-response-has-tag=false does this for us
result=hfExecTxt("query-response-has-tag=false")
write(*,*)'Reflection Example'
c call subroutines to read in initial atom coordinates

192

Chapter 14

Fortran Programsc and write final atom coordinates
call GetCoords(XYZ, nDimensions, nMaxAtoms, nAtoms)
call PutCoords(XYZ, nDimensions, nMaxAtoms, nAtoms)
endsubroutine GetCoords(coords,nDim,nMaxAt,nAt)c-------------------------------------------------c gets xyz coordinetes of all atoms in the systemc and stores them in 'coords' arrayc-------------------------------------------------c include HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'
double precision coords(nDim,nMaxAt)
c get number of molecules from HyperChem (integer value)c using hfGetInt "binary" function
nMol=hfGetInt(molecule_count)c get total number of atoms by scanning all molecules
nAt=0
do 1 i=1,nMol
c get number of atoms in the moleculec hfGetIntVecElm is "binary" function ("atom_count" is Integer Vector)
iatoms=hfGetIntVecElm(atom_count,i)nAt=nAt+iatoms
1 continue
write(*,*)'There are ',nAt,' atoms in ',nMol,' molecules'

c get xyz coordinates of all atoms and place them into 'coords' arrayc using hfGetRealArr "binary" function ("coordinates" is Real Array)lres=hfGetRealArr(coordinates,coords,nDim*nMaxAt)
do 111 i=1,nAt
write(*,*)(coords(k,i),k=1,3)
111continue
write(*,*)'-----------'
returnConsole C and Fortran Applications

193

Fortran Programs

endsubroutine PutCoords(coords,nDim,nMaxAt,nAt)c-------------------------------------------------c takes the coords array and send it back to HyperChem
c as the cartesian coordinates of all atomsc-------------------------------------------------c include HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'
double precision coords(nDim,nMaxAt)
write(*,*)'There are ',nAt,' atoms'
do 111 i=1,nAt
coords(3,i) = -coords(3,i)

111

write(*,*)(coords(k,i),k=1,3)
continue
write(*,*)'-----------'

c get xyz coordinates of all atoms and place them into 'coords' arrayc using hfGetRealArr "binary" function ("coordinates" is Real Array)lres=hfSetRealArr(coordinates,coords,nDim*nAt)
returnend

The console output is,

194

Chapter 14

Fortran Programs

This example illustrates the use of both binary calls such as hfSetRealArr that
require the include file hsv.fi as well as text calls such as hfExecTxt that
do not. The binary calls require the include file hsv.fi to map integers suchas “atom_count” to the appropriate HyperChem variable. Note that in binary
calls all “hyphens” are replaced by “underscores”. Thus the HSV, atomcount, maps to the integer atom_count through hsv.fi. Each of the HAPI
calls is described in Appendix C.
A single call in the code above is all that is necessary to read or write the atom
coordinates once the total number of atoms is know. HyperChem combines
atom numbers within a molecule with molecule numbers to obtain a uniqueatom number. The code first of all has to query for the number of molecules
and then for the number of atoms in each molecule to obtain the total numberof atoms. Beyond that computation the rest of the above program is verystraight forward.

MiniGauss Orbitals
The next example is one which contains the elements of a number of potentially very significant uses for the CDK. It provides molecule creation andvisualization for an ab initio wave function package. The ab initio package isbased on a demonstration Fortran code that is an appendix to the book,Modern Quantum Chemistry
Attila Szabo and Neil S. Ostlund
Dover Publications, Inc.
New York, 1996

This program, only a couple of pages long, contains all the code for an ab initio STO-1G, STO-2G, or STO-3G calculation on 2-electron diatomics like
H2, HeH+, He2++, etc. It has proved a useful educational tool for a number ofyoung (and not-so-young) theoreticians. What we do here is offer a “frontend” to this program to illustrate how HyperChem can provide molecular
coordinates plus the visualization of the 3D shape of the calculated orbitals
and charge density.

Outline
The basic idea of this example is to mimic the actions of HyperGauss, a full
fledged ab initio package that comes with HyperChem. We will operate theConsole C and Fortran Applications

195Fortran Programs

MiniGauss back end by having a menu item and scripts to conveniently run
the Fortran program. All the scripts for this example, plus the Fortran code,are on the HyperChem CD-ROM associated with the Orbitals directory.
While we could easily use the idea of custom menus to run this program wewill simply place an appropriate menu item in the <Script> menu. To do this,
we first of all run a script, orbitals.scr, to set up a convenient way of runningthese calculations. This script is,
script-menu-caption(1) = "MiniGauss"
script-menu-enabled(1) = true
script-menu-command(1) = "read-tcl-script orbitals.tcl"

This sets up a new menu item, MiniGauss, that when invoked executes a Tcl
script called orbitals.tcl. The orbitals.scr script could be placed
into chem.scr so that it is always executed and the MiniGauss menu always
appears - if you have developed an application that you would like to be moreor less permanently installed. The HyperChem menu item looks as follows:

A New GUI Element
The Tcl/Tk script, orbitals.tcl is going to give us an additional GUI
element (dialog box) that makes for interactive use of MiniGauss. This dialog
box, invoked by selecting the MiniGauss menu item above, is,196

Chapter 14

Fortran Programs

It collects the two Slater exponents for the minimal basis calculation. For theother input to the calculation, i.e. the N of STO-NG, we are going to use thestandard facility of HyperChem to define a basis set. Thus, it is only the above
orbital exponents, plus of course the molecule, that MiniGauss needs. The
Tcl/Tk script, orbitals.tcl, is,label .l1 -text "Zeta1"
entry .en1 -width 20 -textvariable inzeta1label .l2 -text "Zeta2"
entry .en2 -width 20 -textvariable inzeta2
button .b -text "Compute" -command {hcExec "declare-string zeta1"
hcExec "declare-string zeta2"
hcExec "zeta1 $inzeta1"
hcExec "zeta2 $inzeta2"
hcExec "execute-client mini.exe"
Exit}pack .l1 .en1 .l2 .en2 .bThis Tcl script is basically just Tk code to create two labels, two text entry
boxes, and a button to dismiss the dialog box and start the MiniGauss calculation.
Console C and Fortran Applications

197

Fortran Programs

The two text entry boxes are used to input the two orbital exponents, zeta1and zeta2, as strings inzeta1 and inzeta2. The button calls HyperChem to create two new string variables (new HSV’s) called appropriately zeta1 andzeta2. These new HSV’s are then assigned the strings collected from theentry boxes. This is the first time we have seen the ability to create new
HSV’s and as you can see here it is very useful to provide a repository for
any new values entered from a new GUI until they can be passed to their ultimate destination, which in this case will be the MiniGauss program.

The Main Program
The last two things done by pushing the Compute button are:hcExec "execute-client orbitals.exe"
Exit

The Exit, with a capital E, exits the Tcl script but not HyperChem [an exit
with a small e would exit both the Tcl script and HyperChem!]. In concert
with this, the MiniGauss program is invoked which is our main Fortran program and is here called orbitals.f (and orbitals.exe).

Program Orbitals
implicit double precision(a-h,o-z)c ------------------------------------------------------c include header files - HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'
parameter (nDimension=3)
parameter (nMaxAtoms=2000)
character*60 cmd_line
logical result
integer status
integer nAtoms
double precision XYZ(nDimension, nMaxAtoms)cc Connect to HyperChem using current command lineccall getarg(1,cmd_line,status)

198

Chapter 14

Fortran Programs

result=hfConnect(cmd_line)
if (.NOT. result) stopc we do not want to have names in front of HSVs !
c query-response-has-tag=false does this for us
result=hfExecTxt("query-response-has-tag=false")
write(*,*)'Orbitals Example'
c call subroutine to read in initial atom coordinatesccall DoCalc(XYZ, nDimension, nMaxAtoms, nAtoms)
call SendResults
end

The main program simply connects to HyperChem and makes sure that you
don’t get the tags along with the values when HSV’s are queried. It thencalls a routine (DoCalc) that is principally concerned with performing the calculation and one which sends back the results to be displayed graphically(SendResults).

Get Molecule
The Subroutine DoCalc is primarily concerned with getting the coordinatesof all the atoms (nAtoms) to be input to the minimal basis set ab initio calculation. This subroutine is,subroutine DoCalc(coords,nDim,nMaxAt,nAt)
implicit double precision(a-h,o-z)c-------------------------------------------------c gets xyz coordinates of all atoms in the systemc and stores them in 'coords' arrayc-------------------------------------------------c include HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'character *100 buffer
double precision coords(nDim,nMaxAt)
c get number of molecules from HyperChem (integer value)c using hfGetInt "binary" function

Console C and Fortran Applications

199

Fortran Programs

nMol=hfGetInt(molecule_count)c we can work only with one moleculeif (nMol .gt. 1) thenwrite(*,*)'This demo assumes that you have only ONE molecule'c disconnect from HyperChem
result=hfDisconnect()
stop
endif
c get total number of atoms by scanning all molecules
nAt=0
do 1 i=1,nMol
c get number of atoms in the moleculec using hfGetIntVecElm "binary" function ("atom_count" is Integer
Vector)iatm=hfGetIntVecElm(atom_count,i)nAt=nAt+iatm
1 continue
c we can only work with a diatomic
if (nAt .ne. 2) thenwrite(*,*)'This demo assumes that you have TWO atoms'
c disconnect from HyperChem
result=hfDisconnect()
stop
endif
c find out atomic numbers
nAtNum1=hfGetIntArrElm(atomic_number, 1, 1)
nAtNum2=hfGetIntArrElm(atomic_number, 2, 1)
if (nAtNum1 .gt. 2 .or. nAtNum2 .gt. 2) thenwrite(*,*)'This demo assumes that you have H or He atoms'
c disconnect from HyperChem
result=hfDisconnect()
stop
endif
za = dfloat(nAtNum1)
zb = dfloat(nAtNum2)
nCharge=hfGetInt(quantum_total_charge)
nElectrons = nAtNum1 + NAtNum2 - nCharge
if (nElectrons .ne. 2) thenwrite(*,*)'This demo assumes that you have 2 electrons'c disconnect from HyperChem

200

Chapter 14

Fortran Programs

result=hfDisconnect()
stop
endif
c get the basis set
result = hfQueryTxt("atom-basisset(1,1)", buffer)
if (buffer(1:6).eq.'STO-3G') thenn=3else if (buffer(1:6) .eq. 'STO-2G') thenn=2else if (buffer(1:6) .eq. 'STO-1G') then
n=1
else
n=3
end ifc get the zeta
result = hfQueryTxt("zeta1", buffer)read (buffer,*) zeta1
result = hfQueryTxt("zeta2", buffer)read (buffer,*) zeta2
c get xyz coordinates of all atoms and place them into 'coords' arrayc using hfGetRealArr "binary" function ("coordinates" is Real Array)lres=hfGetRealArr(coordinates,coords,nDim*nMaxAt)
dx = coords(1,1)-coords(1,2)
dy = coords(2,1)-coords(2,2)
dz = coords(3,1)-coords(3,2)
r = dsqrt( dx*dx + dy*dy + dz*dz) /0.52918
call hfcalc(n,r,zeta1,zeta2,za,zb)
returnend
The above code contains a number of text and binary calls to HyperChem. A
single call (hfGetRealArr) gets all the coordinates once we know the numberof atoms. The two orbital exponents that we got from the Tk dialog box andstored in HyperChem are retrieved from HyperChem along with other information that HyperChem has about the calculation that is about to be performed. One aspect of this information is the basis set, as set by the user inHyperChem. If HyperChem says it is one of the STO-NG basis sets then that
information is used, otherwise an STO-3G calculation is performed. The
remaining code near the beginning is associated with getting basic information about the molecule and making sure it is simple enough for MiniGauss.

Console C and Fortran Applications

201

Fortran Programs

Wave function Calculation
The call to the routine hfcalc is set up to be identical (apart from iop which isa printing option) to that in Szabo and Ostlund so that you might substitutetheir few pages of code if you so desire. A drastically simpler version of
hfcalc used here is,subroutine hfcalc(n,r,zeta1,zeta2,za,zb)
implicit double precision(a-h,o-z)
common/matrix/s(2,2),x(2,2),xt(2,2),h(2,2),f(2,2),g(2,2),c(2,2),$ fprime(2,2),cprime(2,2),p(2,2),oldp(2,2),tt(2,2,2,2),e(2,2)
c(1,1) = .707
c(2,1) = .707
c(1,2) = .707
c(2,2) = -0.707
e(1,1) = -5.0e(2,2) = 5.0
returnend

This just sets the eigenvalues to arbitrarily be -5.0 and +5.0 and the eigenvectors to be the standard in phase and out of phase orbitals for HOMO andLUMO. The assumption here is made that the overlap is small so that coefficients are just 1/sqrt(2).
As discussed a better hfcalc could easily be programmed. The one shown here
is perfectly satisfactory for illustrating the use of the CDK, however.

Displaying Orbitals and ...
The routine that sends back the orbitals for display is,subroutine SendResults
implicit double precision(a-h,o-z)
common/matrix/s(2,2),x(2,2),xt(2,2),h(2,2),f(2,2),g(2,2),c(2,2),$ fprime(2,2),cprime(2,2),p(2,2),oldp(2,2),tt(2,2,2,2),e(2,2)
c include HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'character *80 buff
result = hfExecTxt('orbital-count=2')
write (unit = buff, fmt = '(2f8.4)') e(1,1), e(2,2)

202

Chapter 14

Fortran Programs

result = hfExecTxt('scf-orbital-energy='//buff)
write (unit = buff, fmt = '(2f8.4)') c(1,1), c(2,1)
result = hfExecTxt('alpha-scf-eigenvector(1)='//buff)
write (unit = buff, fmt = '(2f8.4)') c(1,2), c(2,2)
result = hfExecTxt('alpha-scf-eigenvector(2)='//buff)
write result = hfExecTxt('alpha-orbital-occupancy= 2 0')
returnend
There are a number of ways that the results might be returned. One way is tomake binary HAPI calls such as to hcSetRealVec to return vectors of coefficients. We have chosen here to illustrate the return of text strings to HyperChem. The first thing that is done is to set the total count of the number ofmolecular orbitals which in the minimal basis illustrated here is 2. Next theorbital energies are returned and then the eigenvectors. Since this is only aclosed-shell calculation, only the alpha (RHF) coefficients need be filled in.
Finally the occupancy is set with 2 electrons in the first orbital (HOMO) and0 electrons in the LUMO. The result of selecting the MiniGauss menu itemwith HeH+ on the screen is,

Console C and Fortran Applications

203

Further Examples

The orbitals or the charge density or the electrostatic potential can be plotted
The orbitals are somewhat artificial here but asking for the LUMO orbital
gives a plot like the following:

Diffusion Limited Aggregation
The final example to be mentioned is one of diffusion limited aggregation andis contained in the dla directory from the HyperChem CD-ROM. This is presented for those who wish to follow it as an example that has a Visual Basic
program, setup_dla.exe, to create a number of new variables in HyperChem,
the getting from HyperChem of the initial molecular system, the creation of
new atoms and structures in the HyperChem workspace, and a more elaborated dialog box than we have used so far.

Further Examples
Further examples of using the CDK that might be of interest to you can possibly be found in conjunction with your specific CD-ROM installation ofHyperChem or possibly on the Hypercube WWW site,
http://www.hyper.com

204

Chapter 14

Appendix A
Classification of Hcl Commands

The Classes
In this appendix we list all the HSV’s and Hcl direct commands according
to a set of classes that will hopefully assist you in finding the appropriate
script command for your task. In the Reference Manual these script commands are classified differently - according to the related HyperChem menu.
In Chapter 7 all HSV’s and direct Hcl commands are listed in alphabeticorder. These three listings complement each other and should assist you in
getting familiar with the extensive set of script commands. The listings in the
Reference Manual have the most explicit description of each of the following
script commands and should be referred to if the use of the command listed
here or in Chapter 6 is confusing to you.
The classes which we use to help classify all the script commands are:•General Operations•

Cursors•

Selections•

File Operations•

Scripts

•

Info

•

Errors•

Logging•

Auxiliary•

Viewing•

Rendering•

Coloring and Labeling
205

The Classes•

Images•Model Building•

Stereochemistry•

Atom Properties•

Molecular Properties•

Backends•

Molecular Mechanics Calculations•

Amino Acids and Nucleic Acids•

Molecular Dynamics and Monte Carlo•

Optimization•

General Quantum Mechanics•

Semi-empirical Calculations•

Ab Initio Calculations•

Configuration Interaction•

Infrared Spectra•

UV Spectra•

Plotting

General Operations
The following script commands involve the general operation of HyperChem
including things that don’t easily fit into other categories. Thus, in this category we have the script commands for a single-point calculation and for solvation using the periodic box. Other commands have to do with default or
custom menus, printing, and the operation of the Cancel button.

Single Point
calculation-method: Variable, Read/Write, Type: enum.
do-single-point: Command, Arg list: (void).
total-energy: Variable, Read/Write, Type: float in range (-1e+010 .. 1e+010).

206

Appendix A

The Classes

Solvation
periodic-boundaries: Variable, Read/Write, Type: boolean.
periodic-box-size: Variable, Readonly, Type: (unknown).
solvate-system: Command, Arg list: (void).
solvate-system-in-this-box: Command, Arg list: float, float, float.

Fieldsfield-direction: Variable, Read/Write, Type: integer
field-strength: Variable, Read/Write, Type: float
magnetic-field-direction: Command, Arg list: unregistered.
magnetic-field-strength: Command, Arg list: unregistered.
use-electric-field: Command, Arg list: unregistered.
use-magnetic-field: Command, Arg list: unregistered.

Customization
hide-toolbar: Variable, Read/Write, Type: boolean.
load-default-menu: Command, Arg list: (void).
load-user-menu: Command, Arg list: string.
switch-to-user-menu: Command, Arg list: (void).
custom-title: Variable, Read/Write, Type: string.
factory-settings: Command, Arg list: (void).

Printing
print: Command, Arg list: (void).
printer-background-white: Variable, Read/Write, Type: boolean.

Othercancel-menu: Variable, Read/Write, Type: boolean.
do-vibrational-analysis: Command, Arg list: (void).
help: Command, Arg list: string.
hide-messages: Variable, Read/Write, Type: boolean.
Classification of Hcl Commands

207

The Classes

module-name: Variable, Read/Write, Type: string.

Cursors
The following script commands have to do with the operation of the various
cursors apart from the drawing and selection cursor. The remaining cursors
are associated with rotation, translation, zooming, and clipping operations.
These have parameters that describe, for example, the unit of rotation when
the rotation cursor is dragged in the work space (x-y-rotation-cursor). alternatively, there is a unit or rotation when the appropriate keyboard equivalent isused (x-y-rotation-icon-step). These parameters can be set via the <File/Preferences...> dialog box or via the following script commands.

Mouse Modemouse-mode: Variable, Read/Write, Type: enum

Clipping
clip-cursor: Variable, Read/Write, Type: float in range (0 .. 1000).
clip-icon-step: Variable, Read/Write, Type: float in range (0 .. 1000).
back-clip: Variable, Read/Write, Type: float
front-clip: Variable, Read/Write, Type: float.

Rotation
x-y-rotation-cursor: Variable, R/W, Type: float angle in range (0 .. 3600).
x-y-rotation-icon-step: Variable, R/W, Type: float angle in range (0 .. 3600).
z-rotation-cursor: Variable, R/W, Type: float angle in range (0 .. 3600).
z-rotation-icon-step: Variable, R/W, Type: float angle in range (0 .. 3600).

Translation
x-y-translation-icon-step: Variable, R/W, Type: float in range (0 .. 1000).
z-translation-cursor: Variable, R/W, Type: float in range (0 .. 1000).
z-translation-icon-step: Variable, R/W, Type: float in range (0 .. 1000).

Zoom
zoom-cursor: Variable, Read/Write, Type: float in range (1 .. 1000).
208

Appendix A

The Classes

zoom-icon-step: Variable, Read/Write, Type: float in range (1 .. 1000).

Selections
The following script commands have to do with making selections, a fundamental operation. HyperChem generally operates on a selection rather thanon the whole molecular system and these selection scripts are often used inconjunction with other operations.

Select Options
multiple-selections: Variable, Read/Write, Type: boolean.
select-sphere: Variable, Read/Write, Type: boolean.
selection-target: Variable, Read/Write, Type: enum

Selectselect-none: Command, Arg list: (void).
select-atom: Command, Arg list: integer, integer.
select-path: Command, Arg list: integer, integer, integer, integer.
select-residue: Command, Arg list: integer, integer.
un-select-atom: Command, Arg list: integer, integer.
un-select-residue: Command, Arg list: integer, integer.

Ask About Selection
selected-atom-count: Variable, Readonly, Type: integer.
selected-atom: Variable, Readonly, Type: vector of integer, integer.
selection-value: Variable, Readonly, Type: float.

Operate on Selectiondelete-selected-atoms: Command, Arg list: (void).
reorder-selections: Variable, Read/Write, Type: boolean.

Named Selections
name-selection: Command, Arg list: string.

Classification of Hcl Commands

209

The Classes

delete-named-selection: Command, Arg list: string.
named-selection-count: Variable, Readonly, Type: integer.
named-selection-name: Variable, Readonly, Type: vector of string.
named-selection-value: Variable, Readonly, Type: vector of float.
select-name: Command, Arg list: string.

Other
selection-color: Variable, Read/Write, Type: enum

File Operations
The following script commands deal with operations on the molecule files
and the import/export files.

Molecule Filefile-format: Variable, Read/Write, Type: string.
path: Variable, Read/Write, Type: string.
current-file-name: Variable, Readonly, Type: string.
open-file: Command, Arg list: string.
merge-file: Command, Arg list: string.
write-file: Command, Arg list: string.
delete-file: Command, Arg list: string.

Options
file-needs-saved: Variable, Read/Write, Type: boolean.
velocities-in-hin-file: Variable, Read/Write, Type: boolean.
view-in-hin-file: Variable, Read/Write, Type: boolean.

PDB Fileconnectivity-in-pdb-file: Variable, Read/Write, Type: boolean.
hydrogens-in-pdb-file: Variable, Read/Write, Type: boolean.

210

Appendix A

The Classes

non-standard-pdb-names: Variable, Read/Write, Type: boolean.

Import/Export
import-dipole: Variable, Read/Write, Type: boolean.
import-ir: Variable, Read/Write, Type: boolean.
import-orbitals: Variable, Read/Write, Type: boolean.
import-property-file: Command, Arg list: string.
import-uv: Variable, Read/Write, Type: boolean.
export-dipole: Variable, Read/Write, Type: boolean.
export-ir: Variable, Read/Write, Type: boolean.
export-orbitals: Variable, Read/Write, Type: boolean.
export-property-file: Command, Arg list: string.
export-uv: Variable, Read/Write, Type: boolean.

Other
file-diff-message: Command, Arg list: string, string, string, string.
write-atom-map: Command, Arg list: string.

Scripts
The following script commands have to do with the process of scripting itself.
They are used to open script files, control execution of script commands, orcontrol the process of notification. Certain other scripts control the OMSG
output of a query or manage the menu items inserted under the script menu.
Finally, values of HSVs can be pushed and popped with a stack.

Script Files
read-script: Command, Arg list: string.
read-tcl-script: Command, Arg list: string.
compile-script-file: Command, Arg list: string, string.
read-binary-script: Command, Arg list: string.
Classification of Hcl Commands

211

The Classes

Execution
query-value: Command, Arg list: .
execute-string: Command, Arg list: string.
pause-for: Command, Arg list: integer in range (0 .. 32767).
exit-script: Command, Arg list: (void).

Notifications
notify-on-update: Command, Arg list: string.
cancel-notify: Command, Arg list: string.
notify-with-text: Variable, Read/Write, Type: boolean.
variable-changed: Command, Arg list: string.

OMSGs
append-omsgs-to-file: Command, Arg list: string.
omsg-file: Variable, Read/Write, Type: string.
omsgs-not-to-file: Command, Arg list: (void).
omsgs-to-file: Command, Arg list: string.
query-response-has-tag: Variable, Read/Write, Type: boolean.

Menus
change-user-menuitem: Command, Arg list: integer, string, string.
script-menu-caption: Variable, Read/Write, Type: vector of string.
script-menu-checked: Variable, Read/Write, Type: vector of boolean.
script-menu-command: Variable, Read/Write, Type: vector of string.
script-menu-enabled: Variable, Read/Write, Type: vector of boolean.
script-menu-help-file: Variable, Read/Write, Type: vector of string.
script-menu-help-id: Variable, Read/Write, Type: vector of integer.
script-menu-in-use: Variable, Read/Write, Type: vector of boolean.
script-menu-message: Variable, Read/Write, Type: vector of string.

212

Appendix A

The Classes

Stack Operation
pop-no-value: Command, Arg list: string.
pop-value: Command, Arg list: string.
push: Command, Arg list: string.

Other
execute-client: Command, Arg list: string.
execute-hyperchem-client: Command, Arg list: string.
message: Variable, Read/Write, Type: string.
one-line-arrays: Variable, Read/Write, Type: boolean.

Info
The following script commands are part of a capability for enquiring andobtaining information about a specific HSV.
info-access: Variable, Readonly, Type: string.
info-enum-id-of: Variable, Readonly, Type: string.
info-enum-list: Variable, Readonly, Type: string.
info-factory-setting: Variable, Readonly, Type: string.
info-id-of: Variable, Readonly, Type: integer.
info-type-of: Variable, Readonly, Type: string.
info-type-of-element: Variable, Readonly, Type: string.
info-variable-target: Variable, Read/Write, Type: string.

Errors
The following script commands deal with errors.
no-source-refs-in-errors: Command, Arg list: (void).
source-refs-in-errors: Command, Arg list: (void).
Classification of Hcl Commands

213

The Classes

script-refs-in-errors: Variable, Read/Write, Type: boolean.
error: Variable, Read/Write, Type: string.
errors-are-not-omsgs: Command, Arg list: (void).
errors-are-omsgs: Command, Arg list: (void).
ignore-script-errors: Variable, Read/Write, Type: boolean.
hide-errors: Variable, Read/Write, Type: boolean.

Logging
The following script commands have to do with the process of creating a log
file.
start-logging: Command, Arg list: string, boolean.
stop-logging: Command, Arg list: (void).
log-comment: Command. Arg list: string.
mechanics-print-level: Variable, Read/Write, Type: integer in range (0 .. 9).
quantum-print-level: Variable, Read/Write, Type: integer in range (0 .. 9).

Auxiliary
The following script commands defy simple classification.

Declarations
declare-integer: Command, Arg list: string.
declare-string: Command, Arg list: string.

Warnings
warning: Variable, Read/Write, Type: string.
warning-type: Variable, Read/Write, Type: enum(none, log, message).
hide-warnings: Variable, Read/Write, Type: boolean.
warnings-are-not-omsgs: Command, Arg list: void.
warnings-are-omsgs: Command, Arg list: void.

214

Appendix A

The Classes

Screen Output
status-message: Variable, Read/Write, Type: string.
request: Command, Arg list: string.

Versionversion: Variable, Readonly, Type: string.
serial-number: Variable, Readonly, Type: string.

Other
print-variable-list: Command, Arg list: string.
toggle: Command, Arg list: string.

Viewing
The following script commands are associated with the manipulations determining what one sees on the screen excluding the specific molecular rendering. Some of them are simply viewing transformations. Others move the molecules or show attributes of the molecules.

Alignmentalign-molecule: Command, Arg list: list of enums
align-viewer: Command. Arg list: enum.

Redisplay
global-inhibit-redisplay: Variable, Readonly, Type: boolean.
inhibit-redisplay: Variable, Read/Write, Type: boolean.

Rotationrotate-molecules: Command, Arg list: enum, float.
rotate-viewer: Command, Arg list: enum, float.

Classification of Hcl Commands

215

The Classes

Translationtranslate-selection: Command, Arg list: float, float, float.
translate-view: Command, Arg list: float, float, float.
translate-whole-molecules: Variable, Read/Write, Type: boolean.
translate-merged-systems: Variable, Read/Write, Type: boolean.
use-fast-translation: Variable, Read/Write, Type: boolean.

Windowwindow-height: Variable, Read/Write, Type: integer.
window-width: Variable, Read/Write, Type: integer.
workspace-height: Variable, Read/Write, Type: integer
workspace-width: Variable, Read/Write, Type: integer

Other
show-perspective: Variable, Read/Write, Type: boolean.
wall-eyed-stereo: Variable, Read/Write, Type: boolean.
zoom: Command, Arg list: float in range (0.01 .. 50).
show-axes: Variable, Read/Write, Type: boolean.
show-dipoles: Variable, Read/Write, Type: boolean.

Rendering
The following script commands affect the molecular rendering of the molecule in the workspace.

General Options
bond-spacing-display-ratio: Variable, R/W, Type: float in range (0 .. 1).
cpk-max-double-buffer-atoms: Variable, Read/Write, Type: integer.
dot-surface-angle: Variable, R/W, Type: float angle in range (-90 .. 90).
double-buffered-display: Variable, Read/Write, Type: boolean.
render-method: Variable, Read/Write, Type: enum.

216

Appendix A

The Classes

Specific Rendering Options
balls-highlighted: Variable, R/W, Type: boolean
balls-radius-ratio: Variable, R/W, Type: float in range (0 .. 1).
balls-shaded: Variable, R/W, Type: boolean
cylinders-color-by-element: Variable, R/W, Type: boolean
cylinders-width-ratio: Variable, R/W, Type: float in range (0 .. 1).
spheres-highlighted: Variable, R/W, Type: boolean
spheres-shaded: Variable, R/W, Type: boolean
sticks-width: Variable, R/W, Type: integer in range (0 .. 25)

Show - Don’t Show
show-aromatic-rings-as-circles: Variable, Read/Write, Type: boolean.
show-gradient-vectors: Variable, Read/Write, Type: boolean.
show-hydrogen-bonds: Variable, Read/Write, Type: boolean.
show-hydrogens: Variable, Read/Write, Type: boolean.
show-isosurface: Command, Arg list: boolean.
show-multiple-bonds: Variable, Read/Write, Type: boolean.
show-periodic-box: Variable, Read/Write, Type: boolean.
show-ribbons: Variable, Read/Write, Type: boolean.
show-stereo: Variable, Read/Write, Type: boolean.
show-stereochem-wedges: Variable, Read/Write, Type: boolean.
show-vibrational-vectors: Variable, Read/Write, Type: boolean.

Coloring and Labeling
The following script commands affect the showing of labels for atoms or residues as well as the colors that appear on the screen for various objects.

Coloratom-color: Variable, Read/Write, Type: array of enum.

Classification of Hcl Commands

217

The Classes

bond-color: Variable, Read/Write, Type: enum.
color-element: Command, Arg list: integer, enum.
color-selection: Command, Arg list: string.
negatives-color: Variable, Read/Write, Type: enum.
positives-color: Variable, Read/Write, Type: enum.
revert-element-colors: Command, Arg list: (void).
window-color: Variable, Read/Write, Type: enum.

Labelsatom-label-text: Variable, Readonly, Type: array of string.
atom-labels: Variable, Read/Write, Type: enum.

Images
The following script commands deal with getting bitmaps and metafiles(images) of molecules into the clipboard or into a file.
image-color: Variable, Read/Write, Type: boolean.
image-destination-clipboard: Variable, Read/Write, Type: boolean.
image-destination-file: Variable, Read/Write, Type: boolean.
image-destination-filename: Variable, Read/Write, Type: string
image-file-bitmap: Variable, Read/Write, Type: boolean.
image-file-bitmapRGB: Variable, Read/Write, Type: boolean.
image-file-metafile: Variable, Read/Write, Type: boolean.
image-include-cursor: Variable, Read/Write, Type: boolean.
image-source-window: Variable, Read/Write, Type: enum.

Model Building
The following script commands deal with aspect of drawing and creating
molecules with the model builder.

218

Appendix A

The Classes

Options
allow-ions: Variable, Read/Write, Type: boolean.
explicit-hydrogens: Variable, Read/Write, Type: boolean.
default-element: Variable, Read/Write, Type: integer in range (0 .. 103).

Drawing
create-atom: Command, Arg list: integer in range (0 .. 103).
set-bond: Command, Arg list: integer, integer, integer, integer, enum.
delete-atom: Command, Arg list: integer, integer.

Constraints
constrain-geometry: Command, Arg list: string.
constrain-bond-length: Command, Arg list: float in range (0 .. 100).
constrain-bond-angle: Command, Arg list: float angle in range (-360 .. 360).
constrain-bond-torsion: Command, Arg list: angle in range (-360 ... 360)
constrain-drawing: Variable, Read/Write. Type: boolean
unconstrain-bond-length: Command, Arg list: (void).
unconstrain-bond-angle: Command, Arg list: (void).
unconstrain-bond-torsion: Command, Arg list: (void).

Other
is-ring-atom: Variable, Readonly, Type: array of boolean.
neighbors: Variable, Readonly, Type: array of (unknown).

Stereochemistry
The following script commands deal with aspects of creating and showing
specific stereochemistry.
builder-enforces-stereo: Variable, Read/Write, Type: boolean.
change-stereochem: Command, Arg list: integer, integer.

Classification of Hcl Commands

219

The Classeschirality: Variable, Read/Write, Type: array of string.
constrain-bond-down: Command, Arg list: integer, integer, integer, integer.
constrain-bond-up: Command, Arg list: integer, integer, integer, integer.
constrain-change-stereo: Command, Arg list: integer, integer.
constrain-fix-stereo: Command, Arg list: integer, integer.
cycle-atom-stereo: Command, Arg list: integer, integer.
cycle-bond-stereo: Command, Arg list: integer, integer, integer, integer.
remove-all-stereo-constraints: Command, Arg list: (void).
remove-stereo-constraint: Command, Arg list: integer, integer.
set-atom-charges-to-formal: Command, Arg list: (void).

Atom Properties
The following script commands deal with changing or displaying properties
of individual atoms perhaps associated with labels.

Labelsatom-charge: Variable, Read/Write, Type: array of float.
atom-mass: Variable, Read/Write, Type: array of float.
atom-name: Variable, Read/Write, Type: array of string.
atom-spin-density-at-nucleus: Variable, Read/Write, array of float.
atom-spin-population: Variable, Read/Write, Type: array of float.
atom-type: Variable, Read/Write, Type: array of string.
atomic-number: Variable, Read/Write, Type: array of integer.
atomic-symbol: Variable, Readonly, Type: array of string.
set-atom-charge: Command, Arg list: float in range (-100 .. 100).
set-atom-type: Command, Arg list: string.

Coordinates and Velocities
coordinates: Variable, Read/Write, Type: array of float, float, float.
gradient-x: Variable, Reaonly, Type: float

220

Appendix A

The Classes

gradient-y: Variable, Readonly, Type: float
gradient-z: Variable, Readonly, Type: float
gradients: Variable, Read/Write, Type: array of float, float, float
set-velocity: Command, Arg list: enum, float, float, float.
velocities: Variable, Read/Write, Type: array of float, float, float
set-bond-angle: Command, Arg list: float angle in range (0 .. 180).
set-bond-length: Command, Arg list: float in range (0 .. 3200).
set-bond-torsion: Command, Arg list: float angle in range (-360 .. 360).

Other
coordination: Variable, Readonly, Type: array of integer.

Molecule Properties
The following script commands deal with some properties of molecules or theatoms in molecules.

Charge-Multiplicity
multiplicity: Variable, Read/Write, Type: integer in range (1 .. 6).
quantum-total-charge: Variable, R/W, Type: integer

Countsatom-count: Variable, Readonly, Type: vector of integer.
molecule-count: Variable, Readonly, Type: integer.

Labelsmolecule-name: Variable, Readonly, Type: vector.
name-molecule: Command, Arg list: string.

Properties
dipole-moment: Variable, R/W , Type: float in range (-1e+010 .. 1e+010).
dipole-moment-components: Variable, R/W, Type: float, float, float.
heat-of-formation: Variable, R/W, Type: float in range (-1e+10 .. 1e+10).
Classification of Hcl Commands

221

The Classes

moments-of-inertia: Variable, Readonly, Type: float float float.

Back Ends
The following script commands deal with the operation of the computational
back ends and communication with them.

Basicbackend-active: Variable, Read/Write, Type: boolean.
backend-communications: Variable, Read/Write, Type: enum.

Large Communication Structures
atom-info: Variable, Readonly, Type: (unknown).
mechanics-info: Variable, Readonly, Type: (unknown).
mechanics-data: Variable, Readonly, Type: (unknown).

Remote Back Ends
backend-host-name: Variable, Read/Write, Type: string.
backend-process-count: Variable, R/W, Type: integer in range (1 .. 32).
backend-user-id: Variable, Read/Write, Type: string.
backend-user-password: Variable, Read/Write. Type: string.

Molecular Mechanics Calculations
The following script commands deal with computations in molecularmechanics.

Methodmolecular-mechanics-method: Variable, Read/Write, Type: enum.
is-extended-hydrogen: Variable, Readonly, Type: array of boolean.
keep-atom-charges: Variable, Read/Write, Type: boolean.

222

Appendix A

The Classes

Energy Components
bend-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
stretch-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
torsion-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
nonbond-energy: Variable, R only, Type: float in range (-1e+10 .. 1e+10).
estatic-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
hbond-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).

Cutoffs
cutoff-type: Variable, Read/Write, Type: enum.
cutoff-inner-radius: Variable, Read/Write, Type: float in range (0 .. 1e+10).
cutoff-outer-radius: Variable, Read/Write, Type: float in range (0 .. 1e+10).

Scale Factors
mechanics-dielectric: Variable, R/W, Type: enum, enum, enum, enum.
mechanics-dielectric-scale-factor: Variable, R/W, Type: four floats.
mechanics-electrostatic-scale-factor: Variable, R/W, Type: four floats.
mechanics-mmp-electrostatics: Variable, Read/Write, Type: enum.
mechanics-van-der-waals-scale-factor: Variable, R/W, Type: four floats.

Parametersparameter-set-changed: Variable, Read/Write, Type: boolean.
use-parameter-set: Command,Arg list: string.

Amino Acids and Nucleic Acids
The following script commands pertain to amino acid templates and the construction of peptides or to nucleic acid templates and the construction of
DNA-like structures.

Amino Acids
add-amino-acid: Command, Arg list: string.

Classification of Hcl Commands

223

The Classesamino-alpha-helix: Command, Arg list: (void).
amino-beta-sheet: Command, Arg list: (void).
amino-isomer: Variable, Read/Write, Type: enum.
amino-omega: Variable, Read/Write, Type: float angle in range (-360 .. 360).
amino-phi: Variable, Read/Write, Type: float angle in range (-360 .. 360).
amino-psi: Variable, Read/Write, Type: float angle in range (-360 .. 360).

Nucleic Acids
add-nucleic-acid: Command, Arg list: string.
nucleic-a-form: Command, Arg list: (void).
nucleic-alpha: Variable, Read/Write, Type: float angle in range (-360 .. 360).
nucleic-b-form: Command, Arg list: (void).
nucleic-backwards: Variable, Read/Write, Type: boolean.
nucleic-beta: Variable, Read/Write, Type: float angle in range (-360 .. 360).
nucleic-chi: Variable, Read/Write, Type: float angle in range (-360 .. 360).
nucleic-delta: Variable, Read/Write, Type: float angle in range (-360 .. 360).
nucleic-double-strand: Variable, Read/Write, Type: boolean.
nucleic-epsilon: Variable, R/W, Type: float angle in range (-360 .. 360).
nucleic-gamma: Variable, R/W, Type: float angle in range (-360 .. 360).
nucleic-sugar-pucker: Variable, Read/Write, Type: enum.
nucleic-z-form: Command, Arg list: (void).
nucleic-zeta: Variable, Read/Write, Type: float angle in range (-360 .. 360).

General Residue
mutate-residue: Command, Arg list: string.
residue-charge: Variable, Readonly, Type: array of float.
residue-coordinates: Variable, Readonly, Type: array of float, float, float.
residue-count: Variable, Readonly, Type: vector of integer.
residue-label-text: Variable, Readonly, Type: array of string.
224

Appendix A

The Classes

residue-labels: Variable, Read/Write, Type: enum.
residue-name: Variable, Readonly, Type: array of string.

Molecular Dynamics and Monte Carlo
The following script commands pertain to the two type of molecular dynamics (normal and Langevan) and the very closely related Mont eCarlo calculations.

Basic
do-molecular-dynamics: Command, Arg list: (void)
do-langevin-dynamics: Command, Arg list: (void)
do-monte-carlo: Command, Arg list: (void)
dynamics-restart: Variable, Read/Write, Type: boolean.
dynamics-average-period: Variable, R/W, Type: integer.
dynamics-collection-period: Variable, R/W, Type: integer.
screen-refresh-period: Variable, Read/Write, Type: integer.

Run Parameters
dynamics-bath-relaxation-time: Variable, R/W, Type: float.
dynamics-constant-temp: Variable, Read/Write. Type: boolean.
dynamics-cool-time: Variable, Read/Write, Type: float.
dynamics-heat-time: Variable, Read/Write, Type: float.
dynamics-final-temp: Variable, R/W, Type: float.
dynamics-friction-coefficient: Variable, R/W, Type: float
dynamics-run-time: Variable, Read/Write, Type: float.
dynamics-seed: Variable, Read/Write, Type: integer.
dynamics-simulation-temp: Variable, Read/Write, Type: float.
dynamics-starting-temp: Variable, Read/Write, Type: float.
dynamics-temp-step: Variable, Read/Write, Type: float.
dynamics-time-step: Variable, Read/Write, Type: float.

Classification of Hcl Commands

225

The Classes

Averagingappend-dynamics-average: Command, Arg list: string.
append-dynamics-graph: Command, Arg list: string.
dynamics-info-elapsed-time: Variable, R only, Type: float.
dynamics-info-kinetic-energy: Variable, Readonly, Type: float.
dynamics-info-last-update: Variable, Readonly, Type: boolean.
dynamics-info-potential-energy: Variable, Readonly, Type: float.
dynamics-info-temperature: Variable, Readonly, Type: float.
dynamics-info-total-energy: Variable, Readonly, Type: float.

Playback
dynamics-playback: Variable, Read/Write, Type: enum.
dynamics-playback-end: Variable, Read/Write, Type: integer.
dynamics-playback-period: Variable, Read/Write, Type: integer.
dynamics-playback-start: Variable, Read/Write, Type: integer.
dynamics-snapshot-filename: Variable, Read/Write, Type: string.
dynamics-snapshot-period: Variable, Read/Write, Type: integer.

Monte Carlo Specificmonte-carlo-cool-steps: Variable, Read/Write, Type: float
monte-carlo-heat-steps: Variable, Read/Write, Type: float
monte-carlo-info-acceptance-ratio: Variable, Readonly, Type: float
monte-carlo-max-delta: Variable, R/W, Type: float
monte-carlo-run-steps: Variable, R/W, Type: float

Optimization
The following script commands deal with facets of geometry optimization.

Basic
do-optimization: Command, Arg list: (void).

226

Appendix A

The Classes

optim-algorithm: Variable, Read/Write, Type: enum.
optim-converged: Variable, Readonly, Type: boolean.
optim-convergence: Variable, Read/Write, Type: float in range (0 .. 100).
optim-max-cycles: Variable, Read/Write, Type: integer in range (1 .. +Inf).
rms-gradient: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
state-to-optimize: Variable, Read/Write, Type: integer.

Restraints
restraint: Command, Arg list: string, float, float.
restraint-tether: Command, Arg list: complex.
use-no-restraints: Command, Arg list: (void).
use-restraint: Command, Arg list: string, boolean.

General Quantum Mechanics
The following script commands deal with facets of quantum mechanical computations that are independent of the quantum mechanical method, whether it
is semi-empirical or ab initio.

Input Parameters
do-qm-calculation: Variable, Read/Write, Type: boolean.
uhf: Variable, Read/Write, Type: boolean.
accelerate-scf-convergence: Variable, Read/Write, Type: boolean.
alpha-orbital-occupancy: Variable, Read/Write, Type: vector of float.
beta-orbital-occupancy: Variable, Read/Write, Type: vector of float.
excited-state: Variable, Read/Write, Type: boolean.
max-iterations: Variable, Read/Write, Type: integer in range (1 .. 32767).
scf-convergence: Variable, Read/Write, Type: float in range (0 .. 100).
polar-field-strength: Variable, Read/Write, Type: float
polarizability-calculated: Variable, Read/Write, Type: Boolean

Classification of Hcl Commands

227

The Classes

Output Results
orbital-count: Variable, Readonly, Type: integer.
alpha-scf-eigenvector: Variable, Read/Write, Type: vector of float-list.
beta-scf-eigenvector: Variable, Read/Write, Type: vector of float-list.
scf-orbital-energy: Variable, Read/Write, Type: vector of float.
orbital-results: Variable, Read/Write, Type: vector of float-list.
scf-electronic-energy: Variable, Read/Write, Type: float.

Semi-empirical Calculations
The following script commands deal with the input parameters required to
specifically perform semi-empirical calculations and with their results. Someof the input parameteters for semi-empirical methods are essentially part ofthe *.abp parameter files.

Generalsemi-empirical-method: Variable, Read/Write, Type: enum.
d-orbitals-on-second-row: Variable, Read/Write, Type: boolean.
scf-atom-energy: Variable, Read/Write, Type: float.
scf-binding-energy: Variable, Read/Write, Type: float.
scf-core-energy: Variable, Read/Write, Type: float.

Huckelhuckel-constant: Variable, Read/Write, Type: float in range (0 .. 10).
huckel-scaling-factor: Variable, R/W, Type: float in range (0 .. 100000).
huckel-weighted: Variable, Read/Write, Type: boolean.

ZINDO
zindo-1-pi-pi: Variable, Read/Write, Type: float in range (0 .. 2).
zindo-1-sigma-sigma: Variable, Read/Write, Type: float in range (0 .. 2).
zindo-s-pi-pi: Variable, Read/Write, Type: float in range (0 .. 2).
zindo-s-sigma-sigma: Variable, Read/Write, Type: float in range (0 .. 2).

228

Appendix A

The Classes

Ab Initio Calculations
The following script commands pertain to performing ab initio calculations their inputs and their results.

Input Options
abinitio-calculate-gradient: Variable, Read/Write, Type: boolean.
abinitio-d-orbitals: Variable, Read/Write, Type: boolean.
abinitio-f-orbitals: Variable, Read/Write, Type: boolean.
abinitio-direct-scf: Variable, Read/Write, Type: boolean.
abinitio-mo-initial-guess: Variable, Read/Write, Type: enum.
abinitio-mp2-correlation-energy: Variable, Read/Write, Type: boolean.
abinitio-mp2-frozen-core: Variable, Read/Write, Type: boolean.
abinitio-scf-convergence: Variable, R/W, Type: float in range (0 .. 100).
abinitio-use-ghost-atoms: Variable, Read/Write, Type: boolean.

Basis Set
assign-basisset: Command, Arg list: string.
atom-basisset: Variable, Read/Write, Type: array of string.
atom-extra-basisset: Variable, Read/Write, Type: array of string, float.
auxilliary-basis: Variable, Read/Write, Type: integer.
basisset-count: Variable, Readonly, Type: integer.
use-auxilliary-basis: Variable, Read/Write, Type: boolean.

2-electron Integrals
abinitio-buffer-size: Variable, Read/Write, Type: integer.
abinitio-cutoff: Variable, Read/Write, Type: float in range (0 .. 1e+10).
abinitio-integral-format: Variable, Read/Write, Type: enum.
abinitio-integral-path: Variable, Read/Write, Type: string.

Results
mp2-energy: Variable, Read/Write, Type: float.
Classification of Hcl Commands

229

The Classes

TNDO
tndo-version: Variable, Read/Write, Type: integer.

DFT
correlation-functional: Variable, Read/Write, Type: enum.
exchange-functional: Variable, Read/Write, Type: enum
small-density-cutoff: Variable, Read/Write, Type: float
use-mullikan-approximation-to-density: Variable, Read/Write, Type:booleanuse-small-density-cutoff: Variable, Read/Write, Type: boolean.

Configuration Interaction
The following script commands are relevant to post-SCF configuration interaction calculations.
ci-criterion: Variable, Read/Write, Type: enum.
ci-excitation-energy: Variable, Read/Write, Type: float in range (0 .. 10000).
ci-occupied-orbitals: Variable, R/W, Type: integer in range (0 .. 32767).
ci-state-to-optimize: Command, Arg list: unregistered.
ci-unoccupied-orbitals: Variable, R/W, Type: integer in range (0 .. 32767).
configuration-interaction: Variable, Read/Write, Type: enum.

Infrared Spectra
The following script commands are relevant to the calculation and display ofvibrational spectra.

Animations
animate-vibrations: Variable, Read/Write, Type: boolean.
ir-animate-amplitude: Variable, Read/Write, Type: float in range (0 .. 10).
ir-animate-cycles: Variable, Read/Write, Type: integer in range (0 .. +Inf).
230

Appendix A

The Classes

ir-animate-steps: Variable, Read/Write, Type: integer in range (3 .. +Inf).

Spectrair-band-count: Variable, Read/Write, Type: integer.
vibrational-mode: Variable, Read/Write, Type: integer.
ir-frequency: Variable, Read/Write, Type: vector of float.
ir-intensity: Variable, Read/Write, Type: vector of float.
ir-intensity-components: Variable, R/W, Type: vector of float, float, float.
ir-normal-mode: Variable, Read/Write, Type: vector of float-list.

UV Spectra
The following script commands are relevant to the calculation of electronic
spectra.
configuration: Variable, Read/Write, Type: integer.
uv-band-count: Variable, Read/Write, Type: integer.
uv-dipole-components: Variable, Read/Write, Type: vector of float-list.
uv-energy: Variable, Read/Write, Type: vector of float.
uv-oscillator-strength: Variable, Read/Write, Type: vector of float.
uv-spin: Variable, Read/Write, Type: vector of float.
uv-total-dipole: Variable, Read/Write. Type: vector of float.
uv-transition-dipole: Variable, R/W, Type: vector of float, float, float.

Plotting
the following script commands are relevant to the plotting of 2D and 3D contours and renderings of orbitals, electron density, spin density and electrostatic potentials.

General Options
graph-beta: Variable, Read/Write, Type: boolean.
graph-data-type: Variable, Read/Write, Type: enum.
Classification of Hcl Commands

231

The Classes

graph-orbital-selection-type: Variable, Read/Write, Type: enum.
graph-orbital-offset: Variable, Read/Write, Type: integer in range (0 ..
+Inf).

2D
do-qm-graph: Variable, Read/Write, Type: boolean.
graph-contour-increment: Variable, Read/Write, Type: float.
graph-contour-increment-other: Variable, Read/Write, Type: boolean.
graph-contour-levels: Variable, Read/Write, Type: integer.
graph-contour-start: Variable, Read/Write, Type: float.
graph-contour-start-other: Variable, Read/Write, Type: boolean.

3D
do-qm-isosurface: Variable, Read/Write, Type: boolean.
isosurface-grid-step-size: Variable, R/W, Type: float in range (0 .. 1e+10)
isosurface-hide-molecule: Variable, Read/Write, Type: boolean
isosurface-map-function: Variable, Read/Write, Type: boolean
isosurface-map-function-display-legend: Variable, R/W, Type: boolean
isosurface-map-function-range: Variable, Read/Write, Type: float, float
isosurface-mesh-quality: Variable, Read/Write, Type: enum
isosurface-render-method: Variable, Read/Write, Type: enum
isosurface-threshold: Variable, Read/Write, Type: float.
isosurface-transparency-level: Variable, R/W, Type: float in range (0 .. 1)
isosurface-x-min: Variable, Read/Write, Type: float.
isosurface-x-nodes: Variable, R/W, Type: integer in range (0 .. 32767).
isosurface-y-min: Variable, Read/Write, Type: float.
isosurface-y-nodes: Variable, R/W, Type: integer in range (0 .. 32767).
isosurface-z-min: Variable, Read/Write, Type: float.
isosurface-z-nodes: Variable, R/W, Type: integer in range (0 .. 32767).

232

Appendix A

The Classes

Gridgraph-data-row: Variable, Readonly, Type: vector of float-list.
graph-horizontal-grid-size: Variable, R/W, Type: integer in (2 .. 8192).
graph-plane-offset: Variable, Read/Write, Type: float.
graph-vertical-grid-size: Variable, R/W, Type: integer in range (2 .. 8192).
grid-max-value: Variable, Readonly, Type: float.
grid-min-value: Variable, Readonly, Type: float.
isosurface-grid-step-size: Variable, R/W, Type: float in range (0 .. 1e+10).

Classification of Hcl Commands

233

The Classes

234

Appendix A

Appendix B
Listing of Tcl Commands

The Tcl Commands
In this appendix we give a very brief alphabetic list of the most important Tcl
commands and functions. They are listed with their arguments, with optional
arguments in angular brackets. However, no detailed description of eachcommand is given here and a reference book on Tcl is strongly suggested.
abs (x)acos (x)append varName value <value …>
asin (x)atan(x)
atan2 (x,y)
breakcatch command <varName>
cd <dirName>
ceil (x)close fileId
concat <list list …>
continuecos (x)cosh (x)double (i)eof fileId

235

The Tcl Commands

error message <info> <code>eval arg <arg arg …>
exec <-keepnewline> <- -> <arg ..>exit <code>
exp (x)expr arg <arg arg …>
file atime namefile dirname namefile executable namefile exists namefile extension namefile isdirectory namefile isfile namefile lstat name arrayName
file mtime namefile option name <arg arg …>
file owned namefile readable namefile readlink namefile rootname namefile size namefile stat name arrayName
file tail namefile type namefile writable namefloor (x)flust file Id
fmod (x,y)
for init test reinit body236

Appendix B

The Tcl Commands

foreach varName list bodyformat formatString <value value …>
gets file Id <varName>glob <-nocomplain> <- -> pattern <pattern …>
global name1 <name2 …>
hypot (x,y)
if test1 body1 <elseif test2 body2 elseif …> <else bodyn>incr varName <increment>int (x)join list <joinString>lappend varName value <value …>lindex list index
linsert list index value <value …>list <value value…>
llength list
log (x)log10 (x)lrange list first last
lreplace list first last <value value …>
lsearch <-exact> <-glob> <-regexp> list patternlsort <-ascii> <-integer> <-real> <-command command>\ <-increasing> <decreasing> list
open l command <access>open name <access>pid <fileId>
pow (x,y)
proc name argList bodyputs <-nonewline> <fileId> string
pwd

Listing of Tcl Commands

237

The Tcl Commands

read <-nonewline> fileId
read fileId numBytes
regexp <-indices> <-nocase> <- -> exp string <matchVar> \ <subVar subVar…>
regsub <-all> <-nocase> <- -> exp string subSpec varName
return <-code code> <-errorinfo info> <-errorcode code> <string>
return <options> <value>round (x)scan string format varName <varName varName …>
seek fileId offset <origin>
set varName <value>sin (x)sinh (x)source fileName
split string <splitChars>
sqrt (x)string compare string1 string2
string first string1 string2
string index string charIndex
string last string1 string2
string length string
string match pattern string
string range string first last
string tolower string
string toupper stsring
string trim string <chars>
string trimleft string <chars>
string trimright striing <chars>switch <options> string pattern body <pattern body …>

238

Appendix B

The Tcl Commands

switch <options> string (pattern body <pattern body …>)tan (x)tanh (x)tell fileId
unset varName <varName varName …>
uplevel <level> arg <arg arg …>
upvar <level> otherVar1 my Var1 <otherVar2 myVar2 …>
while test body

Listing of Tcl Commands

239

The Tcl Commands

240

Appendix B

Appendix C
Classification of HAPI Calls

This appendix lists each of the HAPI calls and gives details as to their use,
their declaration and their parameters. The HAPI calls are classified according to their use. Visual Basic Arguments listed as N/A can be inferred fromthe corrsponding C/C++ call.

The API functions
Functions for Initialization and Termination
The functions in this group are responsible for initialization of the HAPI
library, establishing a connection with HyperChem and termination of theconnection.

hcInitAPI
The function performs initialization of the HAPI.

API header
BOOL _stdcall hcInitAPI()FORTRAN interface
logical function hfInitAPI()VISUAL BASIC declaration
Declare Function hbInitAPI Lib "hapi.dll" Alias "hcInitAPI" () As Long

241

The API functions

Parameters
The function takes no parameters.

Return Value
The function returns TRUE if initialization was successful. The function
returns FALSE if the user application is already connected with HyperChem.

Remarks
There is no need for explicitly calling the function if you use any of the recommended methods described in the section “How to use the CDK API” of
Chapter 11. Both LoadHAPI and automatic DLL initialization code call thefunction. However the call may be required if you perform your own RunTime Load for an unusual application.

hcConnect
The function establishes a link between the user application and HyperChem.
It must be called before ANY other function is called except for auxiliary functions.

API header
BOOL _stdcall hcConnect(LPSTR lszCmd);

FORTRAN interface
logical function hfConnect(init_string)
character*(*) init_string

VISUAL BASIC declaration
Declare Function hbConnect Lib "hapi.dll" Alias "hcConnect" (ByVal command As
String) As Long

Parameters
C/C++:

242

Appendix C

LPSTR lszCmd - command line received from HyperChem or empty string (“” ). See Remarks.

The API functions

FORTRAN:character*(*) init_string - command line received from HyperChem or empty
string (Fortran string). See Remarks.

VB:

command - VB variable of string type

Return Value
The function returns TRUE(1) when it finds HyperChem and establishes aconnection to it. When it fails, it returns FALSE(0).

Remarks
The command line string lszCmd is received from HyperChem when theapplication is called via the ‘execute-hyperchem-client’ script command.
The string contains the information required to connect the user application
with a proper instance of HyperChem. When HyperChem initiates the user
application after issuing a script command:
execute-hyperchem-client userapp.exe

the user application receives a command line parameter. The parameter has
the form:-hinst:ChemServer-xxxx

For example:-hinst:ChemServer-510e

The user application should read the command line and simply pass it as aparameter to hcConnect. If the parameter is not passed (lszCmd points to an
empty string “”), the HAPI connects to the first HyperChem instance it finds.
This may cause problems when there are more than one active HyperChem
on the desktop.
If the flag errACTION_MESS_BOX is raised for error processing (see Auxiliary functions) the HAPI displays a message box if the function is not able toestablish a connection with HyperChem. The action then depends on theuser’s choice (Abort/Retry/Ignore).
When the user ignores the message, hcConnect returns FALSE. See Error
processing section for details.

Classification of HAPI Calls

243

The API functions

See Also
hcDisconnect, hcSetErrorAction, hcLastError

hcDisconnect
The function hcDisconnect closes the connection with HyperChem opened byhcConnect.

API header
BOOL hcDisconnect(void);

FORTRAN interface
logical function hfDisconnect()

VISUAL BASIC declaration
Declare Function hbDisconnect Lib "hapi.dll" Alias "hcDisconnect" () As Long

Parameters
The function takes no parameters

Return Value
The function returns TRUE if the disconnecting was successful.

Remarks
The function is called automatically when errors occurs and the user chooses
ABORT as an action. The application should always close the connection
before it exits, otherwise the number of open but not used DDE channels
would grow unnecessarily.

See Also
hcConnect244

Appendix C

The API functions

hcExitThis function causes an immediate exit from the application that calls it.

API header
void hcExit(void);

FORTRAN interface
subroutine hfExit()

VISUAL BASIC declaration
Declare Sub hbExit Lib "hapi.dll" Alias "hcExit" ()Parameters
The function takes no parameters.

Remarks
The function should be treated as an emergency exit rather than a regularmethod of exiting program operation.

Functions for Text-based Communication

hcExecTxt
This function executes a HyperChem command in a text format. The functionis also used for updating HSV values using a text format.

API header
BOOL hcExecTxt(LPSTR script_cmd);

FORTRAN interface
logical function hfExecTxt(script_cmd)
character*(*) script_cmd

Classification of HAPI Calls

245

The API functions

VISUAL BASIC declaration
Declare Function hbExecTxt Lib "hapi.dll" Alias "hcExecTxt" (ByVal script_cmd
As String) As Long

Parameters
C/C++:The parameter is a NULL terminated string containing the command to be
executed.

FORTRAN:The parameter is Fortran string containing the command to be executed.

VB:

The parameter is VB string containing the command to be executed

Return Value
The function returns TRUE (1) upon successful completion. If there is anerror, the user is notified by the appropriate message-box. If the error processing level is set to errACTION_NO (see SetErrorAction), the user may callhcLastError for info about the error.

Remarks
The update of an HSV variable is conceptually similar to the execution of acommand. Hence, to set the value of an HSV variable the user’s application
might use the following syntax:
result=hcExecTxt(“coordinates(1,2)=0.1,0.2,0.3”)

for setting the coordinates of atom 1 in molecule 2 to (0.1,0.2,0.3).
Some commands may take time to complete. The regular time-out value forcommand completion is set at about 65 seconds. The user may extend thetime-out by calling hcSetTimeouts.

See Also
hcQueryTxt, hcExecBin

hcQueryTxt
The function queries for a value of an HSV variable in text mode.

246

Appendix C

The API functions

API header
LPSTR hcQueryTxt(LPSTR hsv);

FORTRAN interface
logical function hfQueryTxt(hsv, res)character*(*) hsv,res

VISUAL BASIC declaration
Declare Function hbQueryTxt Lib "hapi.dll" Alias "hcQueryTxt" (ByVal command
As String) As String

Parameters
C/C++:

Null terminated string containing HSV to be queried. May contain indices in
the case of vector and array variables.

FORTRAN:‘hsv’ is a Fortran string containing the HSV to be queried. ‘res’ is a
Fortran string where the output is placed.

VB:

VB String containing HSV name to be queried.

Return ValueIn the C, C++, or VB version , the function allocates the memory required tohold the answer and returns a pointer or a NULL pointer if the answer is not
valid. However, the Fortran interface receives logical .true. or .false. indicating successful or unsuccessful completion of the function.

Remarks
When accessed from C/C++, the function returns a pointer to the newly allocated memory. Hence, the calling application is responsible for deallocating
this particular memory block after it has been used, using the hcFree call.
The Fortran interface deallocates the memory block automatically. However,
it is the calling application’s responsibility to pass a reference to the Fortranstring (‘res’) of sufficient length. If the answer is longer than provided
string, the output is truncated.
When Querying for elements of vectors and arrays, the regular‘parenthesis’ syntax is used. For example:
txt_xyz=hcQueryTxt(“coordinates(1,2)”);for querying the coordinates of atom 1 in molecule 2.
Classification of HAPI Calls

247

The API functions

See Also
hcQueryBin; see remarks for hcExecTxt for information about modifying
HSV values.

Functions for Binary Communication
Binary Execute and QueryhcExecBin
This function executes a binary representation of a script command.

API header
BOOL hcExecBin(HSV cmd, LPV args, DWORD args_length);

FORTRAN interface
logical function hfExecBin(cmd,args,args_length)
integer cmd,args,args_length
dimension args(args_length)

VISUAL BASIC declaration
Declare Function hbExecBin Lib "hapi.dll" Alias "hcExecBin" (ByVal cmd As Long,
ByRef args As IntBuff, ByVal args_length As Long) As Long

Parameters

248

C/C++:‘cmd’ specifies the HSV code. The calling application should include an‘hsv.h’ file to have the codes available. ‘args’ is a pointer to memory
block containing possible arguments. ‘args_length’ is the total length ofvalid data pointed to by ‘args’.

FORTRAN:The calling application should include an ‘hsv.fi’ file to have the relevant
HSV codes available. The difference in the Fortran interface is that ‘args’is the reference to integer array. When transfering arguments of different
types, the user has to use an equivalence instruction to pack the array withthe required data type.

VB:

The ‘cmd’ and ‘args_length’ parameters have the same meaning as for C andAppendix C

The API functions

Fortran. The ‘args’ parameter is of ‘IntBuff’ type. This user defined Visual
Basic type is defined in ‘hsv.bas’ module file.

Return Value
The function returns TRUE when successfully completed.

Remarks
The function may be used to update the values of an HSV variable, similar to
the update via the use of hcExecTxt. Data may need to be packed. However,
it is highly recommended that you use instead the functions from the Binary
Get/Set group, which perform all required packing internally.
Some commands may take time to complete. The regular time-out value forcommand completion is set at about 65 seconds. The user may extend thetime-out by calling hcSetTimeouts

See Also
hcQueryBin, hcGetxxx and hcSetxxx functions

hcQueryBin
The function queries for the binary value of an HSV of any type.

API header
void* hcQueryBin(int hsv,int indx1,int indx2,int* resp_length);

FORTRAN interface
logical function hfQueryBin(hsv,indx1,indx2,result,resp_length)
integer hsv,indx1,indx2,resp_length,result
dimension result(resp_length)

VISUAL BASIC declaration
Declare Function hbQueryBin Lib "hapi.dll" Alias "hfQueryBin" (ByVal var As
Long, ByVal indx1 As Long, ByVal indx2 As Long, ByRef result As IntBuff, ByRef
cbL As Long) As LongClassification of HAPI Calls

249

The API functions

Parameters
C/C++:‘hsv’ - the binary code for HSV to be queried. ‘indx1’, ‘indx2’ theindexes for vector and array HSVs conforming the rules: indx1=0, indx2=0 queries scalar HSV, entire vector or entire array; indx1=n,indx2=0 - queriesn-th element of the vector HSV; indx1=m, indx2=n - get m,n-th element of thearray HSV. ‘resp_length’ is the pointer to an integer variable where thelength of the memory allocated by the function and returned as a pointer isstored.

FORTRAN:The arguments: ‘hsv’, ‘indx1’ and ‘indx2’ have identical meaning as in
C/C++ case. The fourth argument, ‘result’ is a reference to the integer
array that will receive the result of the query. The fifth argument,‘resp_length’ should contain maximum number of bytes that ‘result’array can receive. Upon successful completition ‘resp_length’ will hold thenumber of bytes received.

VB:

The ‘var’, ‘indx1’ and ‘indx2’ have the same meaning as for C/C++ andFortran. ‘result’ is a variable of the ‘IntBuff’ type defined in hsv.bas. Seeremarks to hcExecBin for explanations. The fifth argument, ‘resp_length’
should contain maximum number of bytes that ‘result’ array can receive.

Return ValueIn the C/C++ case the function returns the pointer to the memory allocatedto hold the result of the query. A null value indicates failure during the query
operation. In the Fortran and VB interface the function returns 1 if it wascompleted successfully and 0 otherwise.

Remarks
In the C/C++ case the function allocates a required memory block andreturns the resultant pointer. It is the calling application’s responsibility tofree the memory when it is no longer needed, by calling hcFree.
When querying for vector and array variable with indexes (indx1 and/or
indx2 set to zero) the result of the query contains all of the elements of respective variable. If it is an array, the atom indices change faster than the molecule indices.
If, in the Fortran case, the size of ‘result’ is smaller than the size of thequery results, only the first ‘resp_length’ bytes are actually transferred tothe ‘result’ array.

250

Appendix C

The API functions

See Also
hcExecBin, hcQueryTxt, hcGetxxx, hcSetxxx

Functions for Binary ‘Get’
This group of HAPI functions provide the easiest way for querying (Get) andupdating (Set) for HSV variables. The transfer is performed in binary mode,
hence, it is the fastest method for exchanging data. The functions provide all
the necessary low-level operations on the blocks of memory transferred
between a user application and HyperChem. This isolates the user application from the tedious task of preparing and interpreting the binary messages
used by a lower-level communication between HyperChem and the user’s
application.

hcGetInt
The function gets the value of a scalar HSV of integer type and returns thatvalue.
API header
int hcGetInt(int hsv);

FORTRAN interface
integer function hfGetInt(hsv)
integer hsv

VISUAL BASIC declaration
Declare Function hbGetInt Lib "hapi.dll" Alias "hcGetInt" (ByVal hsv As Long)As LongParameters
C/C++:

HSV code of the variable

FORTRAN:HSV code of the variable

VB:

HSV code of the variable

Classification of HAPI Calls

251

The API functions

Return Value
The function returns the value of the HSV variable of integer type.
Remarks
See Also
hcSetInt, Appendix A for the types of HSV variables

hcGetRealThe function gets the value of a scalar HSV of floating point (double
precision) type and returns this value.
API header
double hcGetReal(HSV var);

FORTRAN interface
double precision function hfGetReal (hsv)
integer hsv

VISUAL BASIC declaration
Declare Function hbGetReal Lib "hapi.dll" Alias "hcGetReal" (ByVal hsv As Long)As Double

Parameters
C/C++:

HSV code of the variable

FORTRAN:HSV code of the variable

VB:

HSV code of the variable
Return Value
The function returns the double precision value of HSV variable.
Remarks

252

Appendix C

The API functions

See Also
hcSetRealhcGetIntVec
The function gets the contents of the HSV variable of integer vector type .
API header
int hcGetIntVec(HSV var, int* buff, int max_length);

FORTRAN interface
integer function hfGetIntVec (hsv, result, res_length)
integer hsv, result, res_length
dimension result(res_length)

VISUAL BASIC declaration
Declare Function hbGetIntVec Lib "hapi.dll" Alias "hcGetIntVec" (ByVal hsv As
Long, ByRef buff As IntBuff, ByVal max_length As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer where the vector is copied,'max_length' - the size of 'buff'

FORTRAN:‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
integer array to receive the vector, ‘res_length’ - the size of ‘result’ array.

VB:

The ‘hsv’ and ‘max_length’ have the same meaning as in the C/C++ case.
‘buff’ is of IntBuff type defined in ‘hsv.bas’ module definition file.

Return Value
The function returns the number of integer words transfered to the buffer, if
the operation was completed successfuly, or 0 if it failed.
Remarks
The function does not allocate memory for 'buff' - it assumes that theappropriate memory block pointed out by 'buff' was allocated and is of'max_length' size. If the amount of integer words in the HSV is larger than theClassification of HAPI Calls

253

The API functions

buffer, only the first 'max_length' words are copied into buffer. the same
applies to the Fortran ‘result’ and ‘res_length’ variables.
See Also
hcSetIntVec, hcGetIntVecElm, hcGetIntArray, hcSetIntArray

hcGetIntArr
The function gets the contents of the HSV variable of the integer array type.
API header
int hcGetIntArr(HSV var, int* buff, int max_length);

FORTRAN interface
integer function hfGetIntArr (hsv, result, res_length)
integer hsv, result, res_length
dimension result(res_length)

VISUAL BASIC declaration
Declare Function hbGetIntArr Lib "hapi.dll" Alias "hcGetIntArr" (ByVal var As
Long, ByRef buff As IntBuff, ByVal max_length As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer where the array is copied,'max_length' - the size of 'buff'

FORTRAN:‘hsv’ - the HSV code for the array variable, ‘result’ - one dimensional
integer array to receive the HSV array, ‘res_length’ - the size of the‘result’ array.

VB:

N/A
Return Value
The function returns the number of integer words transferred to the buffer, if
the operation was completed successfuly, or 0 if it failed.

254

Appendix C

The API functions

Remarks
The function does not allocate memory for 'buff' - it assumes that theappropriate memory block pointed out by 'buff' was allocated and is of'max_length' size. If the amount of integer words in the HSV is larger than thebuffer, only first 'max_length' words are copied into buffer. The same applies
to the Fortran ‘result’ and ‘res_length’ variables.
See Also
hcGetIntArrElm, hcSetIntArr, hcSetIntArrElm

hcGetIntArrElm
The function gets the contents of the HSV variable of integer array type.
API header
int hcGetIntArrElm(HSV var, int atom_index, int molecule_index);

FORTRAN interface
integer function hfGetIntArrElm( hsv, atom_index, mol_index)
integer hsv, atom_index, mol_index

VISUAL BASIC declaration
Declare Function hbGetIntArrElm Lib "hapi.dll" Alias "hcGetIntArrElm" (ByVal
var As Long, ByVal atom_index As Long, ByVal molecule_index As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'atom_index' - index for the row of array,‘molecule_index’ - index for the column of the array.

FORTRAN:‘hsv’ - the HSV code for the array variable, 'atom_index' - index for the rowof array, ‘mol_index’ - index for the column of the array.

VB:

N/A
Return Value
The function returns the integer value of the element of the array HSVvariable of type integer.
Classification of HAPI Calls

255

The API functions

Remarks
HSV arrays are always the arrays with atom-in-molecule and molecule index.
Both indices run from 1 to number of respective elements.
See Also
hcSetIntArrElm, hcGetInt, hcGetIntArr, hcSetInt, hcSetIntArr

hcGetRealVec
The function gets the contents of the HSV variable of the real (double
precision) vector type.
API header
int hcGetRealVec(HSV var, double* buff,int max_length);

FORTRAN interface
integer function hfGetRealVec (hsv, result, res_length)
integer hsv, res_length
double precision result
dimension result(res_length)

VISUAL BASIC declaration
Declare Function hbGetRealVec Lib "hapi.dll" Alias "hcGetRealVec" (ByVal var
As Long, ByRef buff As DblBuff, ByVal max_length As Long) As Long

Parameters

256

C/C++:'var' - the HSV code, 'buff' pointer to the buffer where the vector is copied,'max_length' - the size of 'buff'

FORTRAN:‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
double precision array to receive the HSV vector, ‘res_length’ - the size of‘result’ array.

VB:

N/A

Appendix C

The API functions

Return Value
The function returns the number of double precision words transfered to thebuffer, if the operation was completed successfully, or 0 if it failed.
Remarks
The function does not allocate memory for 'buff' - it assumes that theappropriate memory block pointed out by 'buff' was allocated and is of'max_length' size. If the amount of double precision words in the HSV islarger than the buffer, only first 'max_length' words are copied into buffer.
the same applies to Fortran ‘resul’ and ‘res_length’ variables.
See Also
hcGetRealVecElm, hcSetRealVec, hcGetReal, hcSetReal, hcGetRealArrXYZ,
hcSetRealArrXYZ

hcGetRealArr
The function gets the contents of the HSV variable of the real (double
precision) array type.
API header
int hcGetRealArr(HSV var, double* buff,int max_length);

FORTRAN interface
integer function hfGetRealVec (hsv, result, res_length)
integer hsv, res_length
double precision result
dimension result(res_length)

VISUAL BASIC declaration
Declare Function hbGetRealArr Lib "hapi.dll" Alias "hcGetRealArr" (ByVal var
As Long, ByRef buff As DblBuff, ByVal max_length As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer where the array is copied,'max_length' - the size of 'buff'

Classification of HAPI Calls

257

The API functions

FORTRAN:‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
double precision array to receive the HSV vector, ‘res_length’ - the size of‘result’ array.

VB:

N/A
Return Value
The function returns the number of double precision words transfered to thebuffer, if the operation was completed successfuly, or 0 if it failed.
Remarks
The function does not allocate memory for 'buff' - it assumes that theappropriate memory block pointed out by 'buff’ was allocated and is of'max_length' size. If the amount of double precision words in the HSV islarger than the buffer, only first 'max_length' words are copied into buffer.
The same applies to Fortran ‘result’ and ‘res_length’ variables.
See Also
hcGetRealArrElm, hcSetRealArr, hcSetRealArrElm, hcSetReal, hcGetReal

hcGetIntVecElm
The function gets the integer value of an element of the vector-type HSVvariable.
API header
int hcGetIntVecElm(HSV var,int index);

FORTRAN interface
integer function hfGetIntVecElm (hsv, index)
integer hsv, index

VISUAL BASIC declaration
Declare Function hbGetIntVecElm Lib "hapi.dll" Alias "hcGetIntVecElm" (ByVal
var As Long, ByVal index As Long) As Long

258

Appendix C

The API functions

Parameters
C/C++:'var' - the HSV code, 'index' - points out the element to be retrieved.

FORTRAN:‘hsv’ - the HSV code for the vector variable, ‘index’ - points out theelement to be retrieved.

VB:

N/A
Return Value
The function returns the integer value of the element of an HSV variable ofinteger type.
Remarks
The first element of the vector is referred to as an element with index equal toone.
See Also
hcGetInt, hcSetInt, hcSetIntVecElm, hcGetIntVecElm

hcGetRealVecElm
The function gets the value of a double-precision element of a vector HSV
variable..
API header
double hcGetRealVecElm(HSV var,int index);

FORTRAN interface
double precision function hfgetRealVecElm (hsv, index)
integer hsv, index

VISUAL BASIC declaration
Declare Function hbGetRealVecElm Lib "hapi.dll" Alias "hcGetRealVecElm" (ByVal
var As Long, ByVal index As Long) As Double

Classification of HAPI Calls

259

The API functions

Parameters
C/C++:'var' - the HSV code, 'index' - points out the element to be retrieved.

FORTRAN:‘hsv’ - the HSV code for the vector variable, ‘index’ - points out theelement.

VB:

N/A

Return Value
The function returns the double precision value of the element of the HSV
vector of real type.
Remarks
The first element of the vector is refered to as an element with index equal toone.
See Also
hcSetRealVecElm, hcGetReal, hcSetReal, hcGetRealVec, hcSetRealVec

hcGetRealArrElm
The function gets an element of an array HSV of real (double precision type).
API header
doublehcGetRealArrElm(HSV var,int atom_index,int molecule_index);

FORTRAN interface
integer function hfgetRealArrElm( hsv, atom_index, molecule_index)
integer hsv, atom_index, molecule_index

VISUAL BASIC declaration
Declare Function hbGetRealArrElm Lib "hapi.dll" Alias "hcGetRealArrElm" (ByVal
var As Long, ByVal atom_index As Long, ByVal molecule_index As Long) As Double

260

Appendix C

The API functions

Parameters
C/C++:'var' - the HSV code, 'atom_index' - index for the row of array,'molecule_index' - index for the column of the array

FORTRAN:‘hsv’ - the HSV code for the array variable, ‘atom_index’ - index for therow of array, ‘molecule_index’ - index for the column of the array.

VB:

N/A
Return Value
The function returns the double precision value of the element of the array
HSV variable of real type.
Remarks
HSV arrays are always arrays with atom-in-molecule and molecule index.
Both indices run from 1 to number of respective elements.
See Also
hcSetRealArrElm, hcGetReal, hcGetRealArr, hcSetReal, hcSetRealArr

hcGetRealArrXYZ
The function gets the three reals (double precision) that form an element of
the array HSV variable. It's designed almost exclusively for getting Cartesian
coordinates of an atom.
API header
int hcGetRealArrXYZ(HSV var,int atom_index,int molecule_index, double* x,
double* y, double* z);

FORTRAN interface
logical function hfGetrealArrXYZ (hsv, atom_index, molecule_index, x, y, z)
integer hsv, atom_index, molecule_index
double precision x, y, z

VISUAL BASIC declaration
Declare Function hbGetRealArrXYZ Lib "hapi.dll" Alias "hcGetRealArrXYZ" (ByVal

Classification of HAPI Calls

261

The API functions
var As Long, ByVal atom_index As Long, ByVal molecule_index As Long, ByRef x
As Double, ByRef y As Double, ByRef z As Double) As Long

Parameters
C/C++:'var' - the HSV code, 'atom_index' - index for the row of array,'molecule_index' - index for the column of the array, 'x' , 'y' and 'z' pointers todouble precision words where the results will be placed.

FORTRAN:‘hsv’ - the HSV code, ‘atom_index’ - index for the row of the array,‘molecule_index’ - index for the column of the array, ‘x’, ‘y’, and ‘z’- double precision variables that receive the results.

VB:

N/A
Return Value
The function returns 1 if the operation was successful and 0 otherwise.
Remarks
The coordinates of atoms are represented in HyperChem as an array indexed
bythe atom-in-molecule number and the molecule number. However theelement of the array is not a number but a triple of numbers representing
three cartesian components of the position of the atom in space. Both atomand molecule indices run from 1 tothe respective number of elements.
See Also
hcSetRealArrXYZ, hcGetRealArr, hcSetRealArr

hcGetRealVecXYZ
The function gets the three components of the elements of a vector HSV
variable.
API header
int hcGetRealVecXYZ(HSV var,int atom_index,double* x, double* y, double* z);

FORTRAN interface
logical function hfGetRealVex\cXYZ (hsv, index, x, y, z)
integer hsv, index

262

Appendix C

The API functions
double precision x, y, z

VISUAL BASIC declaration
Declare Function hbGetRealVecXYZ Lib "hapi.dll" Alias "hcGetRealVecXYZ" (ByVal
var As Long, ByVal index As Long, ByRef x As Double, ByRef y As Double, ByRefz As Double) As Long

Parameters
C/C++:'var' - the HSV code, 'index' - index for the element of the vector, 'x' , 'y' and'z' pointers to double precision words where the results will be placed.

FORTRAN:‘hsv’ - the HSV code, ‘index’ - index of the vector element, ‘x’, ‘y’,and ‘z’ - double precision values that receive the results.

VB:

N/A
Return Value
The function returns 1 if the operation was successful and 0 otherwise.
Remarks
Some properties in HyperChem are represented as a vector of triples usually
representing three cartesian components of the property. The index runs from
1 to the respective number of elements.
See Also
hcSetRealVecXYZ, hcGetReal, hcSetReal, hcGetRealVec, hcSetRealVec

hcGetStr
This function retrives the contents of the HSV variable of string type.
API header
int hcGetStr(HSV var,char* buff,int max_length);

FORTRAN interface
integer function hfGetStr( hsv, result, res_length)
cahracter*(*) result

Classification of HAPI Calls

263

The API functions

VISUAL BASIC declaration
Declare Function hbGetStr Lib "hapi.dll" Alias "hcGetStr" (ByVal var As Long,
ByVal buff As String, ByVal max_length) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer where the string is copied,'max_length' - the size of 'buff'

FORTRAN:‘hsv’ - the HSV code, ‘result’ - character array where the string is copied,‘res_length’ - the length of the ‘result’ string.

VB:

N/A
Return Value
The function returns the number of charactesr copied into the buffer if theoperation was sucessful or zero otherwise.
Remarks
The function does not allocate memory for 'buff' - it assumes that theappropriate memory block pointed out by 'buff' was allocated and is of'max_length' size. If the number of characters in the HSV is larger than thebuffer, only first 'max_length' bytes are copied into buffer.
See Also
hcSetStr, hcSetBlock, hcGetBlockhcGetStrVecElm
The function retrives the contents of the element of the vector HSV variableof string type.
API header
int hcGetStrVecElm(HSV var, int index, char* buff, int max_length);

FORTRAN interface
integer function hfGetStrVecElm( hsv, index, result, res_length)
integer hsv, index, res_length

264

Appendix C

The API functions
character*(*) result

VISUAL BASIC declaration
Declare Function hbGetStrVecElm Lib "hapi.dll" Alias "hcGetStrVecElm" (ByVal
var As Long, ByVal index As Long, ByVal buff As String, ByVal max_length AsLong) As Long

Parameters
C/C++:'var' - the HSV code, 'index' - points out the element to be retrieved, 'buff'
pointer to the buffer where the string is copied, 'max_length' - the size of 'buff'

FORTRAN:‘hsv’ - the HSV code, ‘index’ - pointsout the element to be retreived,‘result’ - character array where the string is copied, ‘res_length’ - thelength of’result’ array.

VB:

N/A
Return Value
The function returns the number of characters copied into the buffer if theoperation was sucessful or zero otherwise.
Remarks
The function does not allocate memory for 'buff' - it assumes that theappropriate memory block pointed out by 'buff' was allocated and is of'max_length' size. If the number of characters in the HSV is larger than thebuffer, only first 'max_length' bytes are copied into buffer.
The first element of the vector has index equal to one.
See Also
hcSetStrVecElm, hcGetStr, hcSetStr

hcGetStrArrElm
The function retrives the contents of the element of the array HSV variable ofstring type.

Classification of HAPI Calls

265

The API functions

API header
int hcGetStrArrElm(HSV var, int atom_index, int molecule_index, char* buff,
int max_length);

FORTRAN interface
integer function hfGetStrArrElm(hsv,atom_index,mol_index,result,res_length)
integer hsv, atom_index, mol_index, res_lengthcharacter*(*) result

VISUAL BASIC declaration
Declare Function hbGetStrArrElm Lib "hapi.dll" Alias "hcGetStrArrElm" (ByVal
var As Long, ByVal atom_index As Long, ByVal molecule_index As Long, ByVal buff
As String, ByVal max_length As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'atom_index' - index for the row of array,'molecule_index' - index for the column of the array, 'buff' pointer to thebuffer where the string is copied, 'max_length' - the size of 'buff'

FORTRAN:‘hsv’ - the HSV code, ‘atom_index’ - index for the row of array,‘mol_index’ - index for the column of array, ‘result’ - character array
where the string is copied, ‘res_length’ - the length of’result’ array.

VB:

N/A
Return Value
The function returns the number of characters copied into buffer if theoperation was sucessful or zero otherwise.
Remarks
The function does not allocate memory for 'buff' - it assumes that theappropriate memory block pointed out by 'buff' was allocated and is of'max_length' size. If the number of characters in the HSV is larger than thebuffer, only first 'max_length' bytes are copied into buffer.
Both indices start with one.
See Also
hcSetStrArrElm, hcSetStr, hcGetStr

266

Appendix C

The API functions

hcGetBlock
The function retrives the contents of the whole HSV variable irrespetiv of its
type.
API header
int hcGetBlock(HSV var, char* buff, int max_length);

FORTRAN interface
integer function hfgetBlock( hsv, result, res_length)
integer*1 result

VISUAL BASIC declaration
Declare Function hbGetBlock Lib "hapi.dll" Alias "hcGetBlock" (ByVal var As
Long, ByVal buff As String, ByVal max_length) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer where the data is copied,'max_length' - the size of 'buff'

FORTRAN:‘hsv’ - the HSV code, ‘result’ - the integer*1 (byte) array where the datais copied, ‘res_length’ - the size of the result.

VB:

N/A
Return Value
The function returns the number of bytes copied into the buffer.
Remarks
Some HSV variables, particularly some vectors and arrays, have the type ofelement which is not just an integer, real or string. The hcGetBlock wasprovided to get access to that kind of variable. However, the user's
application is responsible for the interpretation of the data in the block andthe proper "sorting-out" of individual elements of the block.
See Also
hcSetBlock, hcQueryBin

Classification of HAPI Calls

267

The API functions

Functions for Binary ‘Set’

hcSetInt
The function updates the scalar HSV of integer type.
API header
int hcSetInt(int var,int value);

FORTRAN interface
logical function hfSetInt( hsv, value)
integer hsv, value

VISUAL BASIC declaration
Declare Function hbSetInt Lib "hapi.dll" Alias "hcSetInt" (ByVal hsv As Long,
ByVal value As Long) As Long

Parameters
C/C++:‘var’ - HSV code of the variable to be modified, ‘value’ - new value forthe variable.

FORTRAN:‘hsv’ - HSV code of the variable to be modified, ‘value’ - new value forthe variable.

VB:‘var’ - HSV code of the variable to be modified, ‘value’ - new value forthe variable.
Return Value
The function returns 1 if the update was successful or 0 if it failed.
Remarks
See Also
hcGetInt, Appendix A for the types of HSV variables

268

Appendix C

The API functions

hcSetRealThe function updates the scalar HSV of floating point (double precision)
type.
API header
int hcSetReal(int var,double value);

FORTRAN interface
logical function hfSetReal( hsv, value)
integer hsv
double precision value

VISUAL BASIC declaration
Declare Function hbSetReal Lib "hapi.dll" Alias "hcSetReal" (ByVal hsv As Long,
ByVal value As Double) As Long

Parameters
C/C++:‘var’ - HSV code of the variable to be modified, ‘value’ - new value forthe variable.

FORTRAN:‘hsv’ - HSV code of the variable to be modified, ‘value’ - new value forthe variable.

VB:‘var’ - HSV code of the variable to be modified, ‘value’ - new value forthe variable.
Return Value
The function returns 1 if the update was successful or 0 if it failed.
Remarks

See Also
hcGetRealClassification of HAPI Calls

269

The API functions

hcSetIntVec
The function updates the vector HSV variable of the integer element type.
API header
int hcSetIntVec(HSV var, int* buff, int length);

FORTRAN interface
logical function hfSetIntVec( hsv, result, res_length)
integer hsv, result, res_length
dimension result(res_length)

VISUAL BASIC declaration
Declare Function hbSetIntVec Lib "hapi.dll" Alias "hcSetIntVec" (ByVal hsv As
Long, ByRef buff As IntBuff, ByVal max_length As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer with the new contens for thevector, 'length' - the number of elements in the 'buff' buffer.

FORTRAN:‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
integer array containing data for the vector, ‘res_length’ - the size of‘result’ array.

VB:

N/A
Return Value
The function returns 1 if the variable was updated successfully, or 0 if it was
not updated.
Remarks
The user’s application is responsible for the appropriate number of elementsin the buffer. If the number was incorrect, HyperChem would signal an error.
See Also
hcGetIntVec, hcSetIntVecElm, hcSetIntArray, hcGetIntArray,
hcSetIntVecElm

270

Appendix C

The API functions

hcSetIntArr
The function updates the array HSV variable of the integer element type.
API header
int hcSetIntArr(int var, int* buff, int length);

FORTRAN interface
logical function hfSetIntArr( hsv, result, res_length)
integer hsv, result, res_length
dimension result(res_length)

VISUAL BASIC declaration
Declare Function hbSetIntArr Lib "hapi.dll" Alias "hcSetIntArr" (ByVal var As
Long, ByRef buff As IntBuff, ByVal max_length As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer with the new contens for thearray, 'length' - the number of elements in the 'buff' buffer.

FORTRAN:‘hsv’ - the HSV code for the array variable, ‘result’ - one dimensional
integer array containing data for the array, ‘res_length’ - the size of‘result’ array.

VB:

N/A
Return Value
The function returns 1 if the variable was updated successfully, or 0 if it was
not updated.
Remarks
The user’s application is responsible for the appropriate number of elementsin the buffer. If the number was incorrect, HyperChem would signal an error.
See Also
hcSetIntArrElm, hcGetIntArr, hcGetIntArrElm

Classification of HAPI Calls

271

The API functions

hcSetIntArrElm
The function updates the element of the array HSV variable of the integer
array type.
API header
int hcSetIntArrElm(HSV var, int atom_index, int molecule_index, int value);

FORTRAN interface
logical function hfSetIntArrElm( hsv, atom_index, mol_index, value)
integer hsv, atom_index, mol_index, value

VISUAL BASIC declaration
Declare Function hbSetIntArrElm Lib "hapi.dll" Alias "hcSetIntArrElm" (ByVal
var As Long, ByVal atom_index As Long, ByVal molecule_index As Long, ByVal
value As Double) As Long

Parameters
C/C++:'var' - the HSV code, 'atom_index' - index for the row of array,‘molecule_index’ - index for the column of the array, ‘value’ - the newvalue for the variable.

FORTRAN:'hsv' - the HSV code, 'atom_index' - index for the row of array,‘molecule_index’ - index for the column of the array, ‘value’ - the new
integer value for the variable.

VB:

N/A
Return Value
The function returns 1 if the variable was updated successfully, or 0 if it was
not updated.
Remarks
HSV arrays are always the arrays with atom-in-molecule and molecule index.
Both indices run from 1 to number of respective elements.
See Also
hcGetIntArrElm, hcSetInt, hcSetIntArr, hcGetInt, hcGetIntArr

272

Appendix C

The API functions

hcSetRealVec
The function updates the contents of the HSV variable of the real (double
precision) type.
API header
int hcSetRealVec(int var, double* buff,int length);

FORTRAN interface
logical function hfSetRealVec( hsv, result, res_length)
integer hsv, res_length
double precision result
dimension result(res_length)

VISUAL BASIC declaration
Declare Function hbSetRealVec Lib "hapi.dll" Alias "hcSetRealVec" (ByVal var
As Long, ByRef buff As DblBuff, ByVal max_length As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer with the new contens for thevector, 'length' - the number of elements (double precission words) in the'buff' buffer.

FORTRAN:‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
double precision array containing the data for the vector, ‘res_length’ - thesize of the ‘result’ array.

VB:

N/A
Return Value
The function returns 1 if the variable was updated successfully, or 0 if it was
not updated.
Remarks
The user’s application is responsible for the appropriate number of elementsin the buffer. If the number was incorrect, HyperChem would signal an error.

Classification of HAPI Calls

273

The API functions

See Also
hcSetRealVecElm, hcGetRealVec, hcSetReal, hcGetReal, hcSetRealArrXYZ,
hcGetRealArrXYZ

hcSetRealArr
The function updates the HSV variable of the real (double precision) type.
API header
hcSetRealArr(int var, double* buff,int length);

FORTRAN interface
logical function hfSetRealArr( hsv, result, res_length)
integer hsv, res_length
double precision result
dimension result(res_length)

VISUAL BASIC declaration
Declare Function hbSetRealArr Lib "hapi.dll" Alias "hcSetRealArr" (ByVal var
As Long, ByRef buff As DblBuff, ByVal max_length As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer with the new contens for thearray, 'length' - the number of elements (double precission words) in the 'buff'
buffer.

FORTRAN:‘hsv’ - the HSV code for the array variable, ‘result’ - one dimensional
double precision array containing the data for the array, ‘res_length’ - thesize of the ‘result’ array.

VB:

N/A
Return Value
The function returns 1 if the variable was updated successfully, or 0 if it was
not updated.

274

Appendix C

The API functions

Remarks
The user’s application is responsible forthe appropriate number of elementsin the buffer. If the number was incorrect, HyperChem would signal an error.
See Also
hcSetRealArrElm, hcGetRealArr, hcGetRealArrElm, hcGetReal, hcSetReal

hcSetIntVecElm
The function updates the element of the vector HSV variable of integer type.
API header
int hcSetIntVecElm(int var,int index,int value);

FORTRAN interface
logical function hfSetIntVecElm( hsv, index, value)
integer hsv, index, value

VISUAL BASIC declaration
Declare Function hbSetIntVecElm Lib "hapi.dll" Alias "hcSetIntVecElm" (ByVal
var As Long, ByVal index As Long, ByVal value As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'index' - points out the element to be updated, ‘value’- new value for the element.

FORTRAN:'hsv' - the HSV code fo rthe vector variable, 'index' - points out the element tobe updated, ‘value’ - new value for the element.

VB:

N/A
Return Value
The function returns 1 if the variable was updated successfully, or 0 if it was
not updated.

Classification of HAPI Calls

275

The API functions

Remarks
The first element of the vector has an index equal to one.
See Also
hcSetInt, hcGetInt, hcGetIntVecElm, hcSetIntVecElm

hcSetRealVecElm
The function updates the element of the vector HSV variable of doubleprecission type.
API header
int hcSetRealVecElm(int var,int index,double value);

FORTRAN interface
logical function hfSetRealVecElm( hsv, index, value)
integer hsv, index
double precision value

VISUAL BASIC declaration
Declare Function hbSetRealVecElm Lib "hapi.dll" Alias "hcSetRealVecElm" (ByVal
var As Long, ByVal index As Long, ByVal value As Long) As Long

Parameters
C/C++:'var' - the HSV code, 'index' - points out the element to be updated, ‘value’- new value for the element.

FORTRAN:'hsv' - the HSV code for the vector variable, 'index' - points out the element tobe updated, ‘value’ - new double precision value for the element.

VB:

N/A

Return Value
The function returns 1 if the variable was updated successfully, or 0 if it was
276

Appendix C

The API functions

not updated.
Remarks
The first element of the vector has index equal to one.
See Also
hcGetRealVecElm, hcSetReal, hcGetReal, hcSetRealVec, hcGetRealVec

hcSetRealArrElm
The function updates the element of the array HSV variable of real (double
precission type).
API header
int hcSetRealArrElm(int var,int atom_index,int molecule_index,double value);

FORTRAN interface
logical function hfSetRealVecElm( hsv, atom_index, mol_index, value)
integer hsv, atom_index, mol_index
double precision value

VISUAL BASIC declaration
Declare Function hbSetRealArrElm Lib "hapi.dll" Alias "hcSetRealArrElm" (ByVal
var As Long, ByVal atom_index As Long, ByVal molecule_index As Long, ByVal
value As Double) As Double

Parameters
C/C++:'var' - the HSV code, 'atom_index' - index for the row of array,'molecule_index' - index for the column of the array, value - the new value forthe variable

FORTRAN:'hsv' - the HSV code, 'atom_index' - index for the row of array, 'mol_index' index for the column of the array, value - the new value for the variable

VB:

N/A

Classification of HAPI Calls

277

The API functions

Return Value
The function returns 1 if the variable was updated successfully, or 0 if it was
not updated.
Remarks
HSV arrays are always arrays with an ‘atom-in-molecule’ anda‘molecule’ index. Both indices run from 1 to the number of respective
elements.
See Also
hcGetRealArrElm, hcSetReal, hcSetRealArr, hcGetReal, hcGetRealArr

hcSetRealArrXYZ
The function updates an element of array HSV variable that has three real
numbers as the element type. It's designed almost exclusively for updating thecartesian coordinates for an atom
API header
int hcSetRealArrXYZ)(int
double y, double z);var,int

atom_index,int

molecule_index,doublex,

FORTRAN interface
logical function hfSetRealArrXYX( hsv, atom_index, mol_index, x, y, z)
integer hsv, atom_index, mol_index
double precision x, y, z

VISUAL BASIC declaration
Declare Function hbSetRealArrXYZ Lib "hapi.dll" Alias "hcSetRealArrXYZ" (ByVal
var As Long, ByVal atom_index As Long, ByVal molecule_index As Long, ByVal x
As Double, ByVal y As Double, ByVal z As Double) As Long

Parameters
C/C++:

278

Appendix C'var' - the HSV code, 'atom_index' - index for the row of array,'molecule_index' - index for the column of the array, 'x' , 'y' and 'z' are double
precision new values for the element.

The API functions

FORTRAN:'hsv' - the HSV code, 'atom_index' - index for the row of array, 'mol_index' index for the column of the array, 'x' , 'y' and 'z' are double precision newvalues for the element.

VB:

N/A
Return Value
The function returns 1 if the operation was successful and 0 otherwise.
Remarks
The coordinates of atoms are represented in HyperChem as an array indexedby the atom-in-molecule number and the molecule number. However theelement of the array is not a number but a triple of numbers representing
three Cartesian components of the position of the atom in space. Both atomand molecule indices run from 1 to the respective number of elements.
See Also
hcGetRealArrXYZ, hcSetRealArr, hcGetRealArr

hcSetRealVecXYZ
The function updates an element of vector HSV variable that has three real
numbers as the element type.
API header
int hcSetRealVecXYZ(int var,int index,double x, double y, double z);

FORTRAN interface
logical function hfSetRealVecXYX( hsv, index, x, y, z)
integer hsv, index
double precision x, y, z

VISUAL BASIC declaration
Declare Function hbSetRealVecXYZ Lib "hapi.dll" Alias "hcSetRealVecXYZ" (ByVal
var As Long, ByVal index As Long, ByVal x As Double, ByVal y As Double, ByValz As Double) As LongClassification of HAPI Calls

279

The API functions

Parameters
C/C++:'var' - the HSV code, 'index' - index for the element of the vector, 'x' , 'y' and'z' double precision new values for the element.

FORTRAN:'hsv’ - the HSV code, 'index' - index for the element of the vector, 'x' , 'y' and'z' double precision new values for the element.

VB:

N/A
Return Value
The function returns 1 if the operation was successful and 0 otherwise.
Remarks
Some properties in HyperChem are represented as the vector of triples,
usually representing three Cartesian components of the property. The index
runs from 1 to the respective number of elements.
See Also
hcGetRealVecXYZ, hcSetReal, hcGetReal, hcSetRealVec, hcGetRealVec

hcSetStr
The function updates the content of the HSV variable of string type.
API header
int hcSetStr(int var,char* string);

FORTRAN interface
logical function hfSetStr( hsv, buff)
integer hsv
character*(*) buff

VISUAL BASIC declaration
Declare Function hbSetStr Lib "hapi.dll" Alias "hcSetStr" (ByVal var As Long,
ByVal buff As String) As Long

280

Appendix C

The API functions

Parameters
C/C++:'var' - the HSV code, 'string' pointer to the NULL-terminated string
containing a new string.

FORTRAN:'hsv' - the HSV code, 'buff' - Fortran character array containing the new valueof the string.

VB:

N/A
Return Value
The function returns 1 if the operation was successful and 0 otherwise.
Remarks
See Also
hcGetStr, hcGetBlock, hcSetBlockhcSetStrVecElm
The function updates the content of the element of the vector HSV variable ofstring type.
API header
int hcSetStrVecElm(int var, int index, char* string);

FORTRAN interface
logical function hfSetStrVecElm( hsv, index, buff)
integer hsv, index
character*(*) buff

VISUAL BASIC declaration
Declare Function hbSetStrVecElm Lib "hapi.dll" Alias "hcSetStrVecElm" (ByVal
var As Long, ByVal index As Long, ByVal buff As String, ByVal max_length As
Long, ByVal buff As String) As Long

Parameters
C/C++:'var' - the HSV code, 'index' - points out the element of the variable to beClassification of HAPI Calls

281

The API functions

updated, 'string' pointer to the NULL-terminated string containing a new
string.
FORTRAN:'hsv' - the HSV code, 'index' - points out the element of the variable to be
updated, 'buff' - character array containing the Fortran string.

VB:

N/A
Return Value
The function returns 1 if the operation was successful and 0 otherwise.
Remarks
The first element of the vector has index equal to one.
See Also
hcGetStrVecElm, hcSetStr, hcGetStr

hcSetStrArrElm
The function updates the element of the array HSV variable of string type.
API header
int hcSetStrArrElm(int var,int atom_index, int molecule_index, char* string);

FORTRAN interface
logical function hfSetStrArrElm( hsv, atom_index, mol_index, buff)
integer hsv, atom_index, mol_index
character*(*) buff

VISUAL BASIC declaration
Declare Function hbSetStrArrElm Lib "hapi.dll" Alias "hcSetStrArrElm" (ByVal
var As Long, ByVal atom_index As Long, ByVal molecule_index As Long, ByVal buff
As String, ByVal max_length As Long, ByVal buff As String) As Long

Parameters
C/C++:

282

Appendix C'var' - the HSV code, 'atom_index' - index for the row of array,'molecule_index' - index for the column of the array, 'string' pointer to theThe API functions

new, NULL-terminated string.
FORTRAN:'hsv' - the HSV code, 'atom_index' - index for the row of array, 'mol_index' index for the column of the array, 'buff' - character array containing Fortranstring.

VB:

N/A
Return Value
The function returns 1 if the operation was successful and 0 otherwise.
Remarks
The both atom and molecule indices start with one.
See Also
hcGetStrArrElm, hcGetStr, hcSetStr

hcSetBlock
The function updates the contents of the whole HSV variable irrespevtively of
its type.
API header
int hcSetBlock(int var, char* buff, int length);

FORTRAN interface
logical function hfSetBlock( hsv, buff, res_length)
integer*1 buff

VISUAL BASIC declaration
Declare Function hbSetBlock Lib "hapi.dll" Alias "hcSetBlock" (ByVal var As
Long, ByVal buff As String, ByVal max_length) As Long

Parameters
C/C++:'var' - the HSV code, 'buff' pointer to the buffer where the data is copied,'length' - the size of 'buff' (in bytes)

FORTRAN:'hsv' - the HSV code, 'buff' - integer*1 (byte) array containing the data,
Classification of HAPI Calls

283

The API functions‘res_length' - the size of 'buff' (in bytes)
VB:

N/A
Return Value
The function returns 1 if the operation was successful and 0 otherwise.
Remarks
Some HSV variables, particularly, some vectors and arrays have the type ofelement which is not scalar. The hcGetBlock was provided to get access tothat kind of variable. However, the user's application is responsible for theinterpretation of the data in the block and proper setting all of the individual
elements of the block.
See Also
hcGetBlock, hcQueryBin

Functions for Processing Notifications

hcNotifyStart
The function requests for notifications about any change of the HSV variable.
API header
int hcNotifyStart(LPSTR var_name);

FORTRAN interface
logical function hfNotifyStart(hsv_name)character*(*) hsv_name

VISUAL BASIC declaration
Declare Function hbNotifyStart Lib "hapi.dll" Alias "hcNotifyStart" (ByVal
var_name As String) As Long

284

Appendix C

The API functions

Parameters
C/C++:‘var_name’ - HSV name (text) for which notification is requested.

FORTRAN:‘hsv_name’ - HSV name (text) for which notification is requested.

VB:

N/A

Return Value
The function returns 1 if the notification request is accepted.
Remarks
The function simply request for notification. H how the notification will beprocessed is specified by the hcNotifySetup function.
See Also
hcNotifyStop, hcNotifySetup

hcNotifyStop
The function cancels the request for notifications about the change of the HSVvariable.
API header
int hcNotifyStop(LPSTR var_name);

FORTRAN interface
logical function hfNotifyStop( hsv_name)character*(*) hsv_name

VISUAL BASIC declaration
Declare Function hbNotifyStop Lib "hapi.dll" Alias "hcNotifyStop" (ByVal
var_name As String) As Long

Parameters
C/C++:‘var_name’ - HSV name (text) for which notification request is cancelled.
Classification of HAPI Calls

285

The API functions

FORTRAN:‘hsv_name’ - HSV name (text) for which notification request is cancelled

VB:

N/A

Return Value
The function returns 1 if the notification request was canceled.
Remarks
The function stops the notification irrespective of the method for notification
processing.
See Also
hcNotifyStart, hcNotifySetup

hcNotifySetup
The function establishes how the notifications have to be processed.

API header
int hcNotifySetup(PFNB pCallBack,int NotifyWithText);

FORTRAN interface
logical function hfNotifySetup (FnCallback, TextAdviseFlag)
logical TextAdviseFlag

VISUAL BASIC declaration
Declare Function hbNotifySetup Lib "hapi.dll" Alias "hcNotifySetup" (ByVal clb
As Long, ByVal NotifyWithText As Long) As Long

Parameters
C/C++:

286

Appendix C‘pCallBack’ - pointer to the callback function designed to process
notifications. However, the user may provide NULL parameter for pCallBack
and in this case the Notification Agent will be used. The last parameter‘NotifyWithText’ orders text notifications if is 1 and binary if it is 0.

The API functions

FORTRAN:‘FnCallBack’ - pointer to the callback function designed to process
notifications. However, the user may provide 0 as a parameter for
FnCallBack and in this case the Notification Agent will be used. The lastparameter ‘TextAdviseFlag’ orders text notifications if is 1 and binary if it
is 0.

VB:

N/A
Return Value
The function returns 1 if the notification request was cancelled.
Remarks
The user application may define its own function to process notification in
one of the forms:

typedef VOID (*PFNB)(int var, char* data, int length);

for the binary notifications, or:typedef VOID (*PFNX)(char* name, char* data);

for the text notifications.
In both cases the notification agent will not be used and the application is
responsible for processing, storing or buffering the incoming data through the
callback function. This is the best method for processing notifications.
However, as it was noted in Chapter 11, many types of applications cannot
receive or properly process notifications. This include all console based
applications, FORTRAN programs, external Tcl/Tk programs etc. Providing
NULL as the callback address parameter automatically starts the Notification
Agent (0 in Fortran).
See Also
hcNotifyStart, hcNotifyStop

hcNotifyDataAvail
The functions checks if the Notification Agent has any not-processed
notifications in its buffers.

Classification of HAPI Calls

287

The API functions

API header
int hcNotifyDataAvail(void);

FORTRAN interface
integer function hfNotifyDataAvail()

VISUAL BASIC declaration
Declare Function hbNotifyDataAvail Lib "hapi.dll" Alias "hcNotifyDataAvail"(ByVal var_name As String) As Long

Parameters
The function has no parameters
Return Value
The function returns 1 if there is any unprocessed notification or 0 otherwise.
Remarks
The application may call the function as often as required; a call to thefunction deschedules the time slicing of the Windows operating system, so theapplication does not consume much processing time.
See Also
hcNotifyStart, hcNotifySetup

hcGetNotifyData
The functions gets data arriving from a notification previously checked.

API header
int hcGetNotifyData(char* name,char *buffer, DWORD MaxBuffLength);288

Appendix C

The API functions

FORTRAN interface
integer function hfGetNotifyData( name. result, res_length)
integer res_lengthcharacter*(*) name, result

VISUAL BASIC declaration
Declare Function hbGetNotifyData Lib "hapi.dll" Alias "hcGetNotifyData" (ByVal
name As String, ByVal buffer As String, ByVal MaxBuffLength As Long) As Long

Parameters
C/C++:‘name’- is the address of the buffer where the name of the variable isplaced. ‘buffer’ - is the address of the buffer where incoming data will becopied, ‘MaxBufferLength’ is the maximum size of the data block that‘buffer’ can accept.

FORTRAN:‘name’- is the character array where the name of the variable is placed.
‘result’ - is the character array where incoming data will be copied,‘res_length’ is the maximum size of the data block that ‘result’ can accept(in bytes).

VB:

N/A
Return Value
The function returns the number of bytes copied by the function to the buffer‘buffer’.
Remarks
Each call to hcGetNotifyData copies the notification message to the provided
buffers and discards that message, deleting the appropriate buffers in the
Notification Agent area. This means that the user’s application listening for
notifications must properly process all discarded (and copied) messages.
See Also
hcNotifyStart, hcNotifySetup, hcNotifyDataAvail

Classification of HAPI Calls

289

The API functions

Functions For Memory AllocationhcAlloc
The function allocates a memory block.

API header
void* hcAlloc(size_t n_bytes);

FORTRAN interface
This function is unavailable for Fortran programs

VISUAL BASIC declaration
This function is unavailable for Visual Basic programs

Parameters
C/C++:‘n_bytes’ number of bytes to allocate.

FORTRAN:

N/A

VB:

N/A

Return Value
The function returns a pointer to the allocated block, or NULL if theallocation was not successful.

Remarks
The ‘hcAlloc’ allocates memory for both internal HAPI needs and possibleuser requirements. However, the user may use regular C/C++ allocation
routines.

See Also
hcFree290

Appendix C

The API functions

hcFree
The function deallocates a block of memory previously allocated by a call to
hcAlloc.

API header
void hcFree(void* pointer);

FORTRAN interface
This function is unavailable for Fortran programs

VISUAL BASIC declaration
This function is unavailable for Visual Basic programs

Parameters
C/C++:‘pointer’ is the pointer obtained by a previous call to hcAlloc.

FORTRAN:

N/A

VB:

N/A

Return Value
The function does not return any data.

Remarks
The main use for hcFree is after processing the data returned by hcQueryTxt
and hcQueryBin. See description for these functions.
See Also
hcAlloc, hcQueryBin, hcQueryTxt

Classification of HAPI Calls

291

The API functions

Auxiliary Functions

hcShowMessage
The function displays message box with provided string.

API header
void hcShowMessage(LPSTR message);

FORTRAN interface
subroutine hfShowMessage( str)
character*(*) str

VISUAL BASIC declaration
This function is useless for Visual Basic programs

Parameters
C/C++:‘message’ points to NULL terminated string containing message to be
displayed.

FORTRAN:‘str’ - Fortran string containing the message to display.

VB:

N/A
Return Value
The function does not return any data.
Remarks
The function may be useful for debuging programs that cannot easily display
regular Windows messages (like most console-based programs).
See Also

292

Appendix C

The API functions

hcSetTimeouts
The function sets new timeout values for execution, querying and other typesof communication.

API header
void hcSetTimeouts(int ExcTimeOut,int QryTimeOut,int RstTimeOut);FORTRAN interface
subroutine hfSetTimeouts(t_exc, t_qry, t_other)integer t_exc, t_qry, t_other

VISUAL BASIC declaration
Declare Function hbSetTimeouts Lib "hapi.dll" Alias "hcSetTimeouts" (ByVal
ExcTimeOut As Long, ByVal QryTimeOut As Long, ByVal RstTimeOut As Long) As Long

Parameters
C/C++:‘ExcTimeOut’ is the new time-out value (in miliseconds) for the executionof commands sent to HyperChem, ‘QryTimeOut’ is the new time-out value(in miliseconds) for the processing requests for HSV variables,’RstTimeOut’ is the new time-out value for processing controlingcommands, like notification requests etc.

FORTRAN:‘t-exc’ is the new time-out value (in milliseconds) for the execution ofcommands sent to HyperChem, ‘t_qry’ is the new time-out value (inmilliseconds) for processing requests for HSV variables ,’t_other’ is the
new time-out value for process controlling commands, like notification
requests, etc.

VB:

N/A

Return Value
The function does not return any data.

Remarks
The default value for all time-outs is about 65 seconds (0xFFF0.) After thistime expires and any command, query or other operation has not finished, theerror condition is invoked. The user may increase the time-out value for any
Classification of HAPI Calls

293

The API functionsof these three types. The most common situation where the time expires is
associated with execution of commands controlled by ‘’ExcTimeOut’ andt_exc’.

See Also

hcLastError
This function retrieves code and messages associated with the last error
associated with an HAPI operation.

API header
int hcLastError(char* LastErr);

FORTRAN interface
integer function hfLastError( error)
character*(*) error

VISUAL BASIC declaration
Declare Function hbLastError Lib "hapi.dll" Alias "hcLastError" (ByVal
last_error As String) As Long

Parameters
C/C++:The ‘LastErr’ pointer to string that will receive the text message associatedwith the last error. The string should be of ‘hcMaxMessSize’, with‘hcMaxMessSize’ defined in ‘hc.h’

FORTRAN:‘error’ is the Fortran string that receives the last error message.

VB:

N/A

Return Value
The function returns a value indicating how severe the error was. There arethree possibilities:
errNO_ERROR - last operation was completed successfully
errNON_FATAL - last operation has not completed successfully, but the
294

Appendix C

The API functions

program can continue.
errFATAL - last operation caused a severe error and the application cannot
continue.
The flags errNO_ERROR, errNON_FATAL and errFATAL are defined in‘hc.h’.

Remarks
The hcLastError function is most useful when the user setsthe error action
flag to errACTION_NO using hcSetErrorAction. In this case the error does
not invoke messages on the screen asking for user intervention.
See Also
hcSetErrorAction, hcGetErrorAction

hcGetErrorAction
This function retrives the flag informing you how HAPI processes errors.

API header
int hcGetErrorAction(void);

FORTRAN interface
integer function hfGetErrorAction()

VISUAL BASIC declaration
Declare Function hbGetErrorAction Lib "hapi.dll" Alias "hcGetErrorAction" ()As LongParameters
C/C++:

The function takes no parameters.

FORTRAN:VB:Classification of HAPI Calls

295

The API functions

Return Value
The function returns the flag that may be a sum of the following flags definedin ‘hc.h’:errACTION_NO - do not perform any action on any error
errACTION_MESS_BOX - display message box with error message
errACTION_DISCONNECT - disconnect the application from HyperChem
errACTION_EXIT- immediately exit from application
errDDE_REP - report low level DDE error messages
errDDE_NO_REP - do not report low level DDE error messages

Remarks
The function should be called before the user changes the error processing
method by a call to hcSetErrorAction, and its value stored for later use inrestoring the original error processing method.
See Also
hcLastError, hcSetErrorAction

hcSetErrorAction
This function changes the way errors are processed.

API header
void hcSetErrorAction(int err);

FORTRAN interface
subroutine hfSetErrorAction(action)
integer action

VISUAL BASIC declaration
Declare Function hbSetErrorAction Lib "hapi.dll" Alias "hcSetErrorAction"(ByVal action As Integer) As Long

296

Appendix C

The API functions

Parameters
C/C++:‘err’ - the value indicating how errors are to be processed. Must be a sumof the following flags defined in ‘hc.h’:errACTION_NO - do not perform any action on any error
errACTION_MESS_BOX - display message box with error message
errACTION_DISCONNECT - disconnect the application from HyperChem
errACTION_EXIT - immediately exit from application
errDDE_REP - report low level DDE error messages
errDDE_NO_REP - do not report low level DDE error messages

FORTRAN:‘action’ -indicates how errors are processed. See above for symbolic names.

VB:

N/A

Return Value
The function does not return any data.

Remarks
There are situations when the user does want to change the default error
processing. By combining the value of flags in the appropriate sum it ispossible to get different actions on errors, ranging from no action(errACTION_NO) to full information ( errACTION_MESS_BOX |errDDE_REP) and, possibly, exiting from current application(errACTION_EXIT ).

See Also
hcGetErrorAction, hcLastError

Classification of HAPI Calls

297

The API functions

298

Appendix CHyperChem®
Computational ChemistryPart 1
Practical Guide
Part 2
Theory and Methods

Hypercube, Inc.
Publication HC70-00-04-00

January 2002

Copyright © 2002 Hypercube, Inc.
All rights reserved

The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. Thispublication, or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ORIMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE, INC. BE
LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES INCONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF HYPERCUBE, INC.
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY DEFECT OR ERROR IN THESE
MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC., REGARDLESS OF THE FORM OF
ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALS DESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.

Hypercube Trademarks
HyperChem is a registered trademark of Hypercube, Inc. HyperMM+, HyperNewton, HyperEHT, HyperNDO,
HyperTNDO, HyperDFT, HyperGauss, HyperNMR, HyperChem Data and ChemPlus are trademarks of Hypercube, Inc.

Third Party Trademarks
MM2 is a trademark of Dr. Norman Allinger, University of Georgia.
CHARMm is a registered trademark of Accelrys Inc.
Microsoft, MS-DOS, and Excel are registered trademarks, and Windows, Windows 95, Windows 98, Windows ME,
Windows NT, and Windows XP are trademarks of Microsoft Corporation.
IBM is a registered trademark of International Business Machines, Inc.
ChemDraw is a trademark of CambridgeSoft Corporation.

All other brand and product names are trademarks or registered trademarks of their respective holders.

PRINTED IN USA

Table of Contents
Preface1
Who Should Read this Guide? .
Annotated Bibliography . . .

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

. . . .1
. . . .2

Part 1: Practical Guide
Chapter 1

Practical Guide Introduction

What is Computational Chemistry?

.

.

.

.

.

7

What is HyperChem? . . . . . . . . . . . . . .
Building and Displaying Molecules . . . . . .
Optimizing the Structures of Molecules . . . . .
Investigating the Reactivity of Molecules . . . .
Generating and Viewing Orbitals and Electronic Plots
Evaluating Chemical Pathways and Mechanisms . .
Studying the Dynamic Behavior of Molecules . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.8
.8
.8
.8
.9
.9
10

Chapter 2

.

.

7
.

.

.

.

.

HyperChem Calculations

Exploring Potential Energy Surfaces . . . .
Complexity of Potential Energy Surfaces
Types of Calculations . . . . . . . . .
Single Point . . . . . . . . .
Geometry Optimization . . . . .
Transition State Search . . . . . .
Molecular Dynamics . . . . . .
Langevin Dynamics . . . . . . .
Monte Carlo Simulations . . . . .

11
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

11
14
16
16
16
17
18
18
19

iii

Chapter 3

Calculation Methods

21

Molecular Mechanics . . . . . . . . . . . .
Bonds and Angles . . . . . . . . . . .
Torsions . . . . . . . . . . . . . .
van der Waals Interactions and Hydrogen Bonding
Electrostatic Potential . . . . . . . . .
United versus All Atom Force Fields . . . . .
Cutoffs . . . . . . . . . . . . . .
Quantum Mechanics. . . . . . . . . . . . .
Background . . . . . . . . . . . . .
Molecular Geometry . . . . . . .
Calculating Electronic Potential Energy .
Range of Quantum Mechanics Methods . . . .
Exclusion Principle . . . . . . . . . .
Simplified Wave Functions . . . . . . . .
Hartree-Fock Wave Functions . . . . . . .
Extending the Wave Function Calculation . . .
Extending the Wave Function Calculation
Configuration Interaction . . . . .
Møller-Plesset Perturbation Theory . .
Density Functional Theory (DFT) . . . . . .
Kohn-Sham Orbitals . . . . . . .
Molecular Orbitals and Electronic Structure. . .
Orbital Occupancy . . . . . . . .
Atomic Orbitals and Their Interactions .
SCF Technique . . . . . . . . .
Virtual Orbitals . . . . . . . . .
RHF and UHF . . . . . . . . . . . .
Multiplicity Considerations . . . . .
Bond Breaking . . . . . . . . .
RHF Half-Electron Technique . . . . . . .
SCF Convergence . . . . . . . . . . .
Applying an External Field . . . . . . . .
Calculation Results . . . . . . . . . .
Quantitative Results . . . . . . .

Chapter 4

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Single Point Calculations

Dipole Moment . .
Electric Polarizabilities
Total Electron Density
Total Spin Density .

iv

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

. 21
. 23
. 25
. 26
. 27
. 28
. 29
. 31
. 33
. 33
. 33
. 35
. 35
. 37
. 38
. 39
. 39
. 39
. 41
. 42
. 43
. 43
. 43
. 44
. 45
. 46
. 46
. 47
. 47
. 48
. 49
. 50
. 50
. 52

53
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

. 54
. 54
. 54
. 55

Electrostatic Potential . . . . . .
Examples of Single Point Calculations .

Chapter5
59

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

. 55
. 55

GeometryOptimizationsandTransitionStateSearching

Geometry Optimizations . . . . . . . . . .
Steepest Descent . . . . . . . . . .
Conjugate Gradient . . . . . . . . .
Block Diagonal . . . . . . . . . .
Eigenvector Following . . . . . . . .
Conjugate Directions . . . . . . . .
Setting Convergence Criteria . . . . . .
Examples of Geometry Optimizations . . .
Solvation and Periodic Boundary Conditions .
Transition State Searching. . . . . . . . . .
Eigenvector Following . . . . . . . .
Synchronous Transit . . . . . . . .

Chapter 6

.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Molecular Dynamics

59
60
61
62
62
62
63
64
65
67
68
69

71

Integration Algorithm . . . . . . . . . . . . . . . .
Length of Simulations . . . . . . . . . . . . .
Conservation of Energy . . . . . . . . . . . .
Temperature Control . . . . . . . . . . . . . . . .
Translational and Rotational Quenching . . . . . . . . . .
Simulation Periods . . . . . . . . . . . . . . . . .
Initial Conditions and Heating . . . . . . . . . .
Equilibration and Data Collection . . . . . . . . .
Tests for Equilibration . . . . . . . . . .
Effect of Solvent on Equilibration. . . . . . .
Collecting Data . . . . . . . . . . . .
Cooling. . . . . . . . . . . . . . . . . .
Examples of Molecular Dynamics Simulations . . . . . . . .
Strategies . . . . . . . . . . . . . . . . . . . .
Constant Temperature versus Constant Energy . . . . .
Conformational Searching. . . . . . . . . . . .
Quenched Dynamics. . . . . . . . . . .
Simulated Annealing. . . . . . . . . . .
Randomization During Molecular Dynamics . . .
Sampling Frequency . . . . . . . . . . .
When is Conformational Space Adequately Sampled?

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

72
73
73
74
75
75
75
76
77
77
78
78
78
79
80
80
80
81
81
82
82

v

Using Geometric Restraints . . . . . . . . . . . . . . . 83
Using Experimental Data as Restraints . . . . . . . . . 84
Crossing Energy Barriers . . . . . . . . . . . . . . 84
LimitingConformationalChangesduringHighTemperatureSimulations
84
Docking Molecules . . . . . . . . . . . . . . . 86
Freezing Part of a System . . . . . . . . . . . . . . . . 86
Solvent Simulations . . . . . . . . . . . . . . . . . . 87
Choice of Dielectric Constant . . . . . . . . . . . . 87
Effects on Dynamic Motion . . . . . . . . . . . . . 88
Collecting Averages from Simulations . . . . . . . . . . . . 88
Evaluating Stability and Equilibration . . . . . . . . . 89
Constant Energy Simulations . . . . . . . . . 89
Constant Temperature Simulations . . . . . . . 90
Conformational Searches . . . . . . . . . . . . . 90
Setting Up a Molecular Dynamics Simulation . . . . . . . . . . 91
Heating Time . . . . . . . . . . . . . . . . . 91
Simulation or Run Time . . . . . . . . . . . . . . 91
Cooling (Annealing) Time . . . . . . . . . . . . . 92
Step Size . . . . . . . . . . . . . . . . . . . 92
Temperature . . . . . . . . . . . . . . . . . 93
Scripts . . . . . . . . . . . . . . . . . . . 93
Bond Breaking . . . . . . . . . . . . . . . . . . . . 93

Chapter 7

Langevin Dynamics and Monte Carlo

Langevin Dynamics . . . . . . . . . . . . . .
Integration Algorithm . . . . . . . . . .
Setting Up a Langevin Dynamics Simulation . . .
Heating Time, Run Time, and Cooling Time.
Time Step. . . . . . . . . . . .
Temperature . . . . . . . . . . .
Constant Temperature vs. Constant Energy .
Friction coefficient . . . . . . . . .
Additional Procedures . . . . . . . .
Monte Carlo Simulations . . . . . . . . . . . .
Introduction . . . . . . . . . . . . .
Background and Method . . . . . . . . .
Monte Carlo Trajectories and Simulation Parameters .
Initial Configurations . . . . . . . .
Temperature . . . . . . . . . . .
Step Size and Acceptance Ratio . . . . .
Initial Phase and Equilibration . . . . .
viTable of Contents

95
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 95
. 96
. 97
. 97
. 97
. 98
. 98
. 98
. 99
. 99
. 99
100
101
101
101
102
102

Equilibration and Statistical Averaging .
Heating and Cooling. . . . . . .

Chapter 8

.
.

.
.

.
.

.
.

Using Molecular Mechanics Methods

Availability of Parameters . . . . .
Force Field Features . . . . . . .
MM+ . . . . . . . .
Electrostatic Interactions . .
Accuracy of Force Fields . . . . .
Previous Experiences . . . . . .
Choosing Force Field Options . . .
Dielectric Function . . . .
1–4 Nonbonded Scale Factors .
Nonbonded Cutoffs . . . .
Restraints . . . . . . . . . .
References. . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

. 102
. 103

105
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Chapter 9 Using Quantum Mechanics
Methods

. 105
. 105
. 105
. 107
. 107
. 107
. 107
. 107
. 108
. 108
. 109
. 110

111

Obtaining a Starting Structure . . . . . . . . . . . .
Calculating Part of a Molecular System . . . . . . .
Setting Up Options . . . . . . . . . . . . . . . .
Selecting Options for an Ab Initio or DFT Method . . .
Choosing a Basis Set . . . . . . . . . .
Add Extra Basis Function . . . . . . . .
Applying a Basis Set . . . . . . . . . .
Charge and Spin Multiplicity . . . . . . .
Convergence Criteria . . . . . . . . .
UHF versus RHF . . . . . . . . . . .
Convergence Acceleration . . . . . . . .
Calculate Gradient . . . . . . . . . .
Calculate MP2 Correlation Energy . . . . .
Two-Electron Repulsion Integrals . . . . . .
Two-electron Integral Cutoff . . . .
Two-electron Integral Buffer Size . . .
Regular Two-Electron Integral Format .
Raffenetti Two-Electron Integral Format .
Direct SCF Calculation . . . . . . . . .
Initial Guess of MO Coefficients . . . . . .
Number of d Orbitals . . . . . . . . .

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 111
. 112
. 113
. 113
. 113
. 115
. 115
. 115
. 116
. 116
. 116
. 117
. 117
. 117
. 117
. 118
. 118
. 118
. 119
. 119
. 119

vii

Ghost-Atoms . . . . . . . . . . . . . 120
Configuration Interaction . . . . . . . . . 121
Selecting Options for the Extended Hückel Method . . . . 121
Charge and Spin Multiplicity . . . . . . . . 121
Hückel Constant . . . . . . . . . . . . 121
d Orbitals. . . . . . . . . . . . . . . 122
Selecting Options for NDO Methods . . . . . . . . . 122
Convergence Criteria . . . . . . . . . . . 122
Charge, Spin, and Excited State . . . . . . . . 123
UHF versus RHF. . . . . . . . . . . . . 123
Convergence Acceleration . . . . . . . . . 123
Configuration Interaction . . . . . . . . . 123
Log File for Results . . . . . . . . . . . . . . 124
Log File for Results . . . . . . . . . . . . 124
Types of Calculations . . . . . . . . . . . . . . . . 125
Single Point Calculations and CI . . . . . . . . . . 125
Optimization Methods . . . . . . . . . . . . . 126
Transition State Search . . . . . . . . . . . . . 127
Molecular Dynamics . . . . . . . . . . . . . . 127
Energy Conservation in Molecular Dynamics Calculations .
128
Vibrations . . . . . . . . . . . . . . . . . 128
Contour Plots and Orbitals . . . . . . . . . . . . 128
Vibrational Spectrum . . . . . . . . . . . . . . 129
Electronic Spectrum . . . . . . . . . . . . . . 129
Saving Information in a Log File . . . . . . . . . . 129
Extended Hückel Method . . . . . . . . . . . . . . . 130
Limitations of Extended Hückel . . . . . . . . . . 130
NDO Methods . . . . . . . . . . . . . . . . . . . 131
Defining Electron-Electron Interactions . . . . . . . . 131
Treatment of Electron-Electron Interactions . . . . . . 131
CNDO, INDO, MINDO/3, ZINDO/1, and ZINDO/S Methods132
MNDO, MNDO/d, AM1, and PM3 Methods . . . . 132
TNDO Methods . . . . . . . . . . . . . 133
Practical Uses of NDO Methods . . . . . . . . . . 133
Parameterization . . . . . . . . . . . . 134
Results of Semi-Empirical Calculations . . . . . . . . . . . 135
Energies of Molecules. . . . . . . . . . . . . . 135
Geometries of Molecules. . . . . . . . . . . . . 138
Energies of Transition States . . . . . . . . . . . 138
Molecular Orbital Energies and Ionization Potentials. . . . 139
Dipole Moments . . . . . . . . . . . . . . . 140

viii

Table of ContentsElectrostatic Potential . . . . . . . . . . . . . . 141
Atomic Charges . . . . . . . . . . . . . . . . 143
Chemical Reactivity . . . . . . . . . . . . . . . 144
Atomic Charges and Reactivity . . . . . . . . 146
Frontier Molecular Orbitals. . . . . . . . . . 146
Vibrational Analysis and Infrared Spectroscopy . . . . . . 149
Experimental Characteristic IR Fundamental Frequencies .
150
UV-visible Spectra . . . . . . . . . . . . . . . 152
Choosing a Semi-Empirical Method . . . . . . . . . . . . 153
Extended Hückel . . . . . . . . . . . . . . . . 153
CNDO . . . . . . . . . . . . . . . . . . . 154
INDO . . . . . . . . . . . . . . . . . . . 155
MINDO/3 . . . . . . . . . . . . . . . . . . 155
MNDO . . . . . . . . . . . . . . . . . . . 155
MNDO/d . . . . . . . . . . . . . . . . . . 156
AM1 . . . . . . . . . . . . . . . . . . . . 156
PM3 . . . . . . . . . . . . . . . . . . . . 156
ZINDO/1 . . . . . . . . . . . . . . . . . . 157
ZINDO/S . . . . . . . . . . . . . . . . . . 157
TNDO . . . . . . . . . . . . . . . . . . . 157
Further Reading . . . . . . . . . . . . . . . . . . . 158

Part 2: Theory and Methods
Chapter 10 Theory and Methods Introduction

161

HyperChem Architecture . . . . . . . . . . . . . . . . 161
The Back Ends . . . . . . . . . . . . . . . . 162
HyperChem Philosophy . . . . . . . . . . . . . . . . 163
Background on Computational Chemistry . . . . . . . . . . 164
Potential Energy Surfaces . . . . . . . . . . 164
Single Point . . . . . . . . . . . . 167
Geometry Optimization . . . . . . . . 168
Molecular Dynamics . . . . . . . . . 168
The Born-Oppenheimer Approximation . . . . . . . . 168
The Hamiltonian of a Collection of Nuclei and Electrons .
169
The Electronic Hamiltonian . . . . . . . . . 170
The Nuclear Hamiltonian . . . . . . . . . . 170

Table of Contentsix

Molecular Mechanics versus Quantum Mechanics
Classical Mechanics on a Potential Energy Surface
Force-Energy Generators . . . . . . . . .

.
.
.

.
.
.

.
.
.

.
.
.

Chapter 11 Molecular Mechanics
Background . . . . . . . . . . . . . . . .
Atom Types . . . . . . . . . . . . . . . .
Definition of Atom Type. . . . . . . . . .
The Typing Rules . . . . . . . . . . . .
Redefining or Adding Types. . . . . . . . .
Force Fields . . . . . . . . . . . . . . . . .
Background . . . . . . . . . . . . . .
Energetic Terms in the Potential . . . .
Bond Stretching . . . . . . .
Bond Angle Bending . . . . .
Dihedrals . . . . . . . . .
Improper Dihedrals . . . . . .
van der Waals . . . . . . .
Electrostatic . . . . . . . .
Hydrogen Bonding . . . . . .
Effective Dielectric Constants . . . . .
Cutoffs . . . . . . . . . . . .
Terms Involving Vicinal 1–4 Interactions. .
MM+ . . . . . . . . . . . . . . . .
Units . . . . . . . . . . . . .
Bond Stretching. . . . . . . . . .
Bond Dipoles . . . . . . . . . .
Angle Bending . . . . . . . . . .
Bond Stretch and Angle Bending Cross Term
Out-of-Plane Bending . . . . . . . .
Dihedrals . . . . . . . . . . . .
van der Waals . . . . . . . . . .
AMBER . . . . . . . . . . . . . . .
Bond Stretching. . . . . . . . . .
Angle Bending . . . . . . . . . .
Dihedrals . . . . . . . . . . . .
Improper Dihedrals . . . . . . . .
van der Waals . . . . . . . . . .
Electrostatic . . . . . . . . . . .
Hydrogen Bonding. . . . . . . . .
Lone Pairs . . . . . . . . . . .
OPLS . . . . . . . . . . . . . . . .
x

Table of Contents

171
172
173

175
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

176
177
177
178
180
181
182
182
183
183
183
184
184
187
188
188
189
190
190
191
191
192
193
194
195
195
196
197
198
198
198
198
199
199
200
200
200

van der Waals . . . . . . . . . . . . . . 201
Electrostatic . . . . . . . . . . . . . . 201
BIO+. . . . . . . . . . . . . . . . . . . . 202
Bond Stretching . . . . . . . . . . . . . 202
Angle Bending . . . . . . . . . . . . . . 203
Dihedrals . . . . . . . . . . . . . . . 203
Improper Dihedrals . . . . . . . . . . . . 203
van der Waals . . . . . . . . . . . . . . 204
Electrostatic . . . . . . . . . . . . . . 205
Hydrogen Bonding . . . . . . . . . . . . 205
Urey-Bradley . . . . . . . . . . . . . . 205
Parameter Sets . . . . . . . . . . . . . . . . . . . 205
Text or DBF Form for Parameters . . . . . . . . . . . 206
Modifying Existing Parameter Sets . . . . . . . . . . 207
Creating New Parameter Sets . . . . . . . . . . . . 207
Compiling Parameters . . . . . . . . . . . . . . . . . 208
Registry Setup of Force Field Options . . . . . . . . . 208
Periodic Boundary Conditions and Solvent . . . . . . . . . . 210
The Periodic Boundary Conditions . . . . . . . . . . 210
Equilibrated Water Box . . . . . . . . . . . . . . 211
Details of Solvation Methodology . . . . . . . . . . 212
Restraints . . . . . . . . . . . . . . . . . . . . . 212
Definition of a Restraint . . . . . . . . . . . . . 212
Adding Restraints . . . . . . . . . . . . . . . 213
The Default (MM+) Force Field . . . . . . . . . . . . . . 214
The Wild Card Approach . . . . . . . . . . . . . 215
The Default Force Field . . . . . . . . . . . . . . 216
Approximate Hybridization . . . . . . . . . 216
Bond Stretching . . . . . . . . . . . . . 218
Parameters for Butadiene and Related Molecules .
220
Angle Bending . . . . . . . . . . . . . . 221
Stretch-Bends . . . . . . . . . . . . . . 221
Out-Of-Plane Bends . . . . . . . . . . . . 221
Torsions . . . . . . . . . . . . . . . . 221
Single Bonds . . . . . . . . . . . 221
Double Bonds . . . . . . . . . . . 222
Electrostatic . . . . . . . . . . . . . . 222
van der Waals . . . . . . . . . . . . . . 222

Chapter 12 Quantum Mechanics
Background .

.

.

.

.

.

.

225
.

.

.

.

.

.

.

.

.

.

Table of Contents

.

.

. 227
xi

Approximate Solutions of the Schrödinger equation .
Charge and Multiplicity . . . . . . . . . .
Independent Electron Methods . . . . . . . . . .
The Independent Electron Approximation . . . .
Molecular Orbitals. . . . . . . . . . . .
Orbital Energy Diagrams. . . . . . . . . .
The MO-LCAO Approximation. . . . . . . .
The Matrix equations for the Molecular Orbitals . .
Solving for the Molecular Orbitals. . . . . . .
Self-Consistent Field Methods . . . . . . . . . . .
Hartree-Fock Method . . . . . . . . . . .
The Roothaan equations . . . . . . . . . .
Spin Pairing . . . . . . . . . . . . . .
Pople-Nesbet Unrestricted equations . . . . . .
Convergence . . . . . . . . . . . . .
Spin Pairing—Restricted or Unrestricted? . . . .
Electronic States . . . . . . . . . . . .
Post Self-Consistent Field Calculations . . . . . . . .
Configuration Interaction . . . . . . . . .
MP2 Correlation Energy . . . . . . . . . .
The Neglect of Differential Overlap Approximation . . . .
Characterizations of the Wave function. . . . . . . .
Contour Plots . . . . . . . . . . . . .
Total Electron Density . . . . . . . . . .
Spin Density . . . . . . . . . . . . .
Orbital Plots . . . . . . . . . . . . .
Electrostatic Potential . . . . . . . . . .
Mixed Quantum/Classical Model . . . . . . . . . .
Choosing the Classical–Quantum Boundary . . .
Capping Atoms and their Parameters. . . . . .
Supported Methods . . . . . . . . . . . . . .
Ab Initio Method . . . . . . . . . . . .
Normalized Primitive Gaussian Functions .
Contracted Gaussian Functions . . . . .
Minimal Basis Sets: STO-3G . . . . . .
Split-Valence Basis Sets . . . . . . .
Polarized Basis Sets . . . . . . . . .
Two-Electron Integrals . . . . . . .
Regular Integral Format . . . .
Raffenetti Integral Format . . . .
Two-Electron Integral Cutoff . . .
Direct SCF Calculation . . . . . . .
Initial Guess of MO Coefficients . . . .

xii

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

227
228
229
229
230
230
231
232
233
234
234
235
236
237
239
240
242
245
245
246
248
250
250
251
253
253
254
256
256
258
260
261
263
264
265
268
271
272
273
274
275
275
276

Projected Hückel . . . . . . . . . . 277
Projected CNDO/INDO . . . . . . . . 277
Mixed Model . . . . . . . . . . . . . . 277
Ghost-Atoms . . . . . . . . . . . . . . 278
Extended Hückel Theory . . . . . . . . . . . . . 278
Basic Method . . . . . . . . . . . . . . 279
Valence Atomic Orbitals. . . . . . . . . . . 279
Hamiltonian Matrix Elements . . . . . . . . . 281
Choosing a Hückel Constant . . . . . . . . . 282
Mixed Model . . . . . . . . . . . . . . 283
CNDO . . . . . . . . . . . . . . . . . . . 284
The CNDO equations . . . . . . . . . . . 284
Expectation Values . . . . . . . . . . . . 287
Mixed Model (CNDO and INDO) . . . . . . . . 287
INDO . . . . . . . . . . . . . . . . . . . 288
Exchange Phenomena . . . . . . . . . . . 288
Differences Between INDO and CNDO . . . . . . 290
Spin Interactions in INDO . . . . . . . . . . 291
MINDO/3 . . . . . . . . . . . . . . . . . . 292
Two-Center Two-Electron Integrals . . . . . . . 293
One-Center One-Electron Integral Hµµ . . . . . . 293
Two-Center One-Electron Integral Hµν (Resonance Integral)
294
One-Center Two-Electron Integral . . . . . . . 294
Core-Core Repulsion Integrals . . . . . . . . . 295
Mixed Model . . . . . . . . . . . . . . 295
MNDO . . . . . . . . . . . . . . . . . . . 296
Two-Center Two-Electron Integrals . . . . . . . 298
One-Center One-Electron Integral Hµµ . . . . . . 301
Two-Center One-Electron Integral Hµν . . . . . . 302
One-Center Two-Electron Integrals . . . . . . . 302
Core-Core Repulsion Integrals . . . . . . . . . 303
Mixed Model (MNDO, AM1, and PM3) . . . . . . 304
MNDO/d . . . . . . . . . . . . . . . . . . 304
AM1 and PM3 . . . . . . . . . . . . . . . . 305
ZINDO/1 . . . . . . . . . . . . . . . . . . 306
Overlap Weighting Factors . . . . . . . . . . 307
Mixed Model . . . . . . . . . . . . . . 308
ZINDO/S . . . . . . . . . . . . . . . . . . 308
Mixed Model . . . . . . . . . . . . . . 309
TNDO . . . . . . . . . . . . . . . . . . . 309

Table of Contents

xiiiChapter 13 Density Functional Theory
Wavefunctions versus Electron Density . . . . . . . .
The Hohenberg-Kohn Theorem . . . . . . . . . .
The Kohn-Sham Equations . . . . . . . . . . . .
Overview . . . . . . . . . . . . . .
The Electron Density and Kohn-Sham Orbitals . .
The Kohn-Sham Equations . . . . . . . . .
The Exchange-Correlation Functional . . . . . . . .
A Simple Example: The Slater Functional . . . .
The Uniform Electron Gas and Local Density Approximations.
Exchange versus Correlation Functional . . . . .
Uniform Electron Gas (UEG) . . . . . . . .
LDA Correlation Functionals . . . . . . . .
Beyond the LDA - Gradient Corrected Functionals . . . .
Energy Gradients . . . . . . . . . . . . . . .
Hybrid Functionals . . . . . . . . . . . . . .
A Set of Functionals . . . . . . . . . . . . . .
Exchange Functionals . . . . . . . . . .
Hartree-Fock . . . . . . . . . . .
Slater . . . . . . . . . . . . .
Becke-88 . . . . . . . . . . . .
Perdew-Wang-91 . . . . . . . . .
Gill-96. . . . . . . . . . . . .
PBE-96 . . . . . . . . . . . .
HCTH-98 . . . . . . . . . . . .
Correlation Functionals . . . . . . . . . .
VWN#5 . . . . . . . . . . . .
Perdew-Zunger-81 . . . . . . . . .
Perdew-86 . . . . . . . . . . .
LYP. . . . . . . . . . . . . .
Predew-Wang-91 . . . . . . . . .
PBE-96 . . . . . . . . . . . .
HCTH-98 . . . . . . . . . . . .
Custom and Hybrid Functionals . . . . . . .
B3-LYP . . . . . . . . . . . .
B3-PW91 . . . . . . . . . . . .
EDF1 . . . . . . . . . . . . .
Becke-97 . . . . . . . . . . . .
Numerical Integration Schemes . . . . . . . . . .
Angular Integrations . . . . . . . . . . .
Radial Integrations . . . . . . . . . . .

xiv

Table of Contents

311
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

311
312
312
312
313
314
316
317
317
317
318
318
318
319
320
320
320
320
321
321
322
322
322
323
323
323
324
324
324
325
325
325
326
326
326
327
327
327
328
328

Chapter 14 Computational Options

331

Single Points on a Potential Energy Surface . . . . . . . . . . 331
Local Minima on a Potential Energy Surface . . . . . . . . . . 333
Unconstrained Geometry Optimization . . . . . . . . 334
Optimization Methods . . . . . . . . . . . . . . 335
Steepest Descent . . . . . . . . . . . . . 335
Conjugate Gradient Methods . . . . . . . . . 336
Fletcher-Reeves . . . . . . . . . . . . . 337
Polak-Ribiere . . . . . . . . . . . . . . 338
Newton-Raphson Methods . . . . . . . . . . 338
Block Diagonal Newton-Raphson . . . . . . . . 338
Powell’s Conjugate Directions . . . . . . . . . 339
Transition Structures on a Potential Energy Surface. . . . . . . . 339
Transition States Search Methods . . . . . . . . . . 340
Eigenvector Following Method . . . . . . . . 340
Synchronous Transit Method . . . . . . . . . 341
Molecular Dynamics on a Potential Energy Surface. . . . . . . . 342
Temperature . . . . . . . . . . . . . . . . . 343
Statistical Averaging . . . . . . . . . . . . . . . 343
Background . . . . . . . . . . . . . . 343
Newton's Equations of Motion . . . . . . 344
Leap-frog Algorithm . . . . . . . . . 344
Statistical Mechanical Averages . . . . . 345
Random Velocities or Restart Velocities . . . . . . 345
The Basic Phases of a Trajectory . . . . . . . . 346
The Fundamental Time Step . . . . . . 346
Heating and Cooling . . . . . . . . . 347
Equilibration at a Temperature T . . . . . 348
Collecting Data . . . . . . . . . . 349
Free Dynamics or Constant Temperature Dynamics . . 349
Data, Averaging, Snapshot, and Screen Refresh Periods . 350
The Data Collection Period . . . . . . . 351
The Statistical Averaging Period . . . . . 351
The Snapshot Collection Period . . . . . 351
The Screen Refresh Period . . . . . . . 351
Averaging Energetic and Structural Data . . . . . 351
Averaging Energetic Values . . . . . . . 352
Averaging Named Selections . . . . . . 353
Deviations from the Average . . . . . . 354
The CSV File . . . . . . . . . . . 355
Plotting Instantaneous Values Along the Trajectory . . 355
Obtaining and Understanding MD Graphs . . 355
Placing Graphs into Other Documents . . . 357
Table of Contentsxv

Collecting Trajectory for Subsequent Playback .
Creating a Snapshot (SNP) file . . .
Reading a (HIN, SNP) File for Playback.
Running a Script at Playback . . . .
Global Minima on a Potential Energy Surface . . . .
Simulated Annealing . . . . . . . . .
Simple Reactions on a Potential Energy Surface . . .
Trajectory Analysis . . . . . . . . . .
Setting Initial Coordinates and Velocities . .
Temperature Considerations . . . . . . .
RHF/UHF Considerations. . . . . . . .
UV Visible Spectroscopy . . . . . . . . . . . . .
Vibrational Analysis and IR Spectroscopy . . . . . . . .
Vibrational Calculation . . . . . . . . . . .
Normal Coordinate Analysis . . . . . . . . .
Infrared Absorption . . . . . . . . . . . .

Chapter 15 Index

xvi

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

357
358
358
359
359
360
360
361
362
362
363
363
365
365
366
369

375

Preface
HyperChem Computational Chemistry contains two parts. Part 1, thePractical Guide, contains an overview and introduction to the typesof calculations that you can perform with HyperChem™. Part 2,
Theory and Methods, provides detailed information on the specificimplementation of calculations in HyperChem.
This Practical Guide first explores the discipline of computational
chemistry and the nature of HyperChem calculations. Next, it
examines the concept of a potential energy surface and three calculations of the potential energy surface: single point, geometry
optimization, and molecular dynamics. These calculations provide
the energies and energy derivatives you need to construct andexamine potential energy surfaces. Finally, the Practical Guide illustrates strategies for specific calculations.
Theory and Methods includes the equations, analytical descriptions,and data you need to understand the calculations. It deals with thescience behind HyperChem calculations. Information on parameters and settings lets you modify and customize calculations.

Who Should Read this Guide?
HyperChem Computational Chemistry is for both novice computational chemists and for scientists with advanced knowledge andexperience.
Novice users can benefit from this book in several ways:•

It gives an overview of the computational chemistry methods
that you’ll find in HyperChem. The overview acquaints you
with the program and the power of methods.

•

It helps you choose computational techniques and protocols.

1Annotated Bibliography•

It includes general references to aid you in more detailed study.
Although these references are not comprehensive, some are
key references. Other references provide examples of research
problems using these computational methods.

Advanced users can also benefit from reading this guide. Many
people use a limited number of algorithms and methods for chemical calculations. This book compares of the different methods inHyperChem and helps you determine the most appropriate
method for your research problems. The book discusses strengths
and weaknesses of the methods and algorithms.

Annotated Bibliography
Although you can investigate many research problems after reading the HyperChem Reference Manual and HyperChem Computational
Chemistry, you may also need information from textbooks and current journals. The following list of selected texts can supply the
background necessary for understanding the calculations inHyperChem.
Allen, M.P.; Tildesley, D.J. Computer Simulation of Liquids,
Clarendon Press, Oxford, 1987.
An important though demanding book. Topics include statistical mechanics, Monte Carlo simulations, equilibrium andnon-equilibrium molecular dynamics, analysis of calculational
results, and applications of methods to problems in liquid
dynamics. The authors also discuss and compare many algorithms used in force field simulations. Includes a microfichecontaining dozens of Fortran-77 subroutines relevant tomolecular dynamics and liquid simulations.
Berkert, U.; Allinger, N.L. Molecular Mechanics, American Chemical
Society Monograph 177, Washington, D.C., 1982.
The classical introduction to molecular mechanics calculations. The authors describe common components of force
fields, parameterization methods, and molecular mechanics
computational methods. Discusses the application of molecular mechanics to molecules common in organic and biochemistry. Several chapters deal with thermodynamic and chemical
reaction calculations.

2

PrefaceAnnotated Bibliography

Brooks III, C.L.; Karplus, M.; Pettitt, B.M. Proteins: A Theoretical
Perspective of Dynamics, Structure, and Thermodynamics, in: Advancesin Chemical Physics, Vol. 71. John Wiley and Sons, New York, 1988.
This text is similar to that of McCammon and Harvey (seebelow), but also provides a background for force field-based
calculations and a more sophisticated discussion. Includes
numerous examples of computing the structure, dynamics,
and thermodynamics of proteins. The authors provide aninteresting chapter on the complementary nature of molecularmechanics calculations and specific experimental techniques.
Clark, T. A Handbook of Computational Chemistry, John Wiley andSons, New York, 1985.
A practical introduction to molecular mechanics and semiempirical quantum mechanics calculations, with extensive
examples from the MMP2 (not in HyperChem), MINDO/3,
and MNDO methods. One of the more accessible books for
new computational chemists.
Dewar, M.J.S. The Molecular Orbital Theory of Organic Chemistry.
McGraw-Hill, New York, 1969.
Provides a survey of quantum mechanics, semi-empirical computational methods, and the application of molecular orbital
theory to organic chemistry. The concepts explored in thisbook should be easy for most readers to understand.
Hehre, W.J.; Radom, L.; Schleyer, P.v.R.; Pople, J.A. Ab Initio
Molecular Orbital Theory, John Wiley and Sons, New York, 1986
Covers theory and applications of ab initio quantum mechanics calculations. The discussions are useful for understanding
the differences between ab initio and semi-empirical methods.
Although both sections are valuable, the discussion of theapplications of ab initio theory fills a void. It includes comparisons between experiment and many types and levels of calculation. The material is helpful in determining strategies for,and the validity of, ab initio calculations.
Lipkowitz, K.B.; Boyd, D.B., Eds., Reviews in Computational
Chemistry, VCH Publishers, New York, 1990.
Contains nine reviews in computational chemistry by various
experts. This book is particularly useful for beginning computational chemists. Six chapters address issues relevant toHyperChem, including semi-empirical quantum mechanics
Preface3

Annotated Bibliographymethods, using the results of semi-empirical calculations to
obtain molecular properties, and a brief review of empiricalcalculations (particularly molecular dynamics). The chapter by
D. B. Boyd, “Aspects of Molecular Modeling,” contains an
excellent basic review of quantum mechanics calculations andsummaries of the accuracy of these methods.
McCammon, J.A.; Harvey, S.C. Dynamics of Proteins and Nucleic
Acids, Cambridge University Press, Cambridge, 1987.
Focuses on force field calculations for understanding the
dynamic properties of proteins and nucleic acids. Provides auseful introduction to several computational techniques,
including molecular mechanics minimization and molecular
dynamics. Includes discussions of research involving structural changes and short time scale dynamics of these biomolecules, and the influence of solvent in these processes.
Szabo, A.; Ostlund, N.S. Modern Quantum Chemistry, McGraw-Hill,
New York, 1989.
A textbook describing the theory associated with calculationsof the electronic structure of molecular systems. While thebook focuses on ab initio calculations, much of the information is also relevant to semi-empirical methods. The sections
on the Hartree-Fock and Configuration Interactions methods,
in particular, apply to HyperChem. The self-paced exercises areuseful for the beginning computational chemist.
Pople, J.A.; Beveridge, D.L. Approximate Molecular Orbital Theory
McGraw-Hill, New York, 1970.
Presents the basic theory of quantum mechanics, particularly,
semi-empirical molecular orbital theory. The authors detailand justify the approximations inherent in the semi-empirical
Hamiltonians. Includes useful discussions of the applicationsof these methods to specific research problems.
Stewart, J.J.P. MOPAC: A Semiempirical Molecular Orbital
Program. J. Computer-Aided Molecular Design 4:1-105, 1990.
A valuable review of the MOPAC program and the semi-empirical methods MNDO, MINDO/3, AM1, and PM3. Of particular
use are theoretical discussions of these semi-empirical methods and many tables validating the accuracy of the MOPAC
program and its associated Hamiltonians.

4

PrefaceHyperChem®
Computational ChemistryPart 1
Practical Guide

5

6

Chapter 1
Practical Guide Introduction
What is Computational Chemistry?
Computational chemistry is a new discipline. Its advent and popularity have paralleled improvements in computing power during
the last several decades. As with other disciplines in chemistry,computational chemistry uses tools to understand chemical reactions and processes. Scientists use computer software to gain
insight into chemical processes. Although computational chemists
frequently develop and refine software tools, their primary interest
is in applying software tools to enhance chemical knowledge.
The challenges for computational chemistry are to characterize
and predict the structure and stability of chemical systems, to estimate energy differences between different states, and to explain
reaction pathways and mechanisms at the atomic level. Meetingthese challenges could eliminate time-consuming experiments.
Software tools for computational chemistry are often based on
empirical information. To use these tools, you need to understandhow the technique is implemented and the nature of the databaseused to parameterize the method.1 You use this knowledge todetermine the most appropriate tools for specific investigations
and to define the limits of confidence in results.
To ensure that computational chemistry develops in an orderlyway, researchers must provide certain information so that others
can reproduce and analyze their results. Gund et al. proposed
guidelines for reporting molecular modeling results.2 You should
consider these guidelines for your publications.
1. Dearing, A., Computer-aided Molecular Modelling: Research Study or Research Tool
J. Computer-Aided Molecular Design 2:179–189, 1988.
2. Gund, P.; Barry, D.C.; Blaney, J.M.; Cohen, N.C. Guidelines for Publications in Molecular
Modeling Related to Medicinal Chemistry J. Med. Chem. 31:2230–2234, 1988.

7

What is HyperChem?

What is HyperChem?
HyperChem is a versatile molecular modeler and editor and a powerful computational package. It offers many types of molecularand quantum mechanics calculations.

Building and Displaying Molecules
Submitting a structure to a calculation can be expensive in termsof human time and effort. HyperChem lets you build and display
molecules easily. Since HyperChem contains a graphical interface,
you can monitor the construction of molecules.
Using the Drawing tool, you can draw a two-dimensional (2D) representation of a molecule, and then use the Model Builder to generate a three-dimensional (3D) structure. The Model Builder adds
implicit hydrogens to the molecule at your request. You can also
manipulate individual bonds, bond geometries, angles, torsions,and atomic charges during model building (using the Constrain
commands on the Build menu) or after model building (using the
Set commands on the Edit menu).
HyperChem contains a database of amino and nucleic acid residues so you can quickly build polymers containing these subunits.
You can also read in structures in files from standard databases,
such as the Brookhaven Protein Data Bank (see the HyperChem Reference Manual).

Optimizing the Structures of Molecules
To calculate the properties of a molecule, you need to generate awell-defined structure. A calculation often requires a structure that
represents a minimum on a potential energy surface. HyperChem
contains several geometry optimizers to do this. You can then calculate single point properties of a molecule or use the optimized
structure as a starting point for subsequent calculations, such as
molecular dynamics simulations.

Investigating the Reactivity of Molecules
You can use HyperChem to investigate the reactivity of molecules
and their functional groups. One method is to use Frontier Molec-

8

Chapter 1

What is HyperChem?

ular Orbital Theory3. You can use molecular orbital energies, coefficients, and nodal properties from single point quantum mechanics calculations to investigate issues such as the relative reactivityof different molecular substituents, regioselectivity of reactions,and site-selectivity of nucleophiles and electrophiles.

Generating and Viewing Orbitals and Electronic Plots
HyperChem can plot orbital wave functions resulting from semiempirical and ab initio quantum mechanical calculations. It isinteresting to view both the nodal properties and the relative sizesof the wave functions. Orbital wave functions can provide chemical insights.
You can also plot the electrostatic potential, the total charge density, or the total spin density determined during a semi-empiricalor ab initio calculation. This information is useful in determining
reactivity and correlating calculational results with experimental
data. These examples illustrate uses of these plots:•

If you calculate the electrostatic potential for cyclopropane,
three minima occur in regions that bisect the carbon-carbon
bonds. This result is consistent with protonation of cyclopropane occurring along the bond bisector.

•

Spin densities help to predict the observed coupling constantsin electron spin resonance (ESR) spectroscopy. From spin density plots you can predict a direct relationship between thespin density on a carbon atom and the coupling constant associated with an adjacent hydrogen.

Evaluating Chemical Pathways and Mechanisms
Calculating single point properties and energies provides information about chemical pathways and mechanisms.
Example: Researchers have used MNDO and AM1 semi-empiricalmethods to calculate possible reaction pathways for the interaction of glycine and cocaine.4 In choosing possible interaction sites,
3. Fleming, I. Frontier Orbitals and Organic Chemical Reactions John Wiley & Sons, New York,1976.
4. Wu, C.S.; Neely, W.C.; Worley, S.D. A Semiempirical Theoretical Study of the MolecularInteraction of Cocaine with the Biological Substrate Glycine. J. Comput. Chem. 12:862-867,
1991.

Practical Guide Introduction

9What is HyperChem?

they first calculated atomic charges and HOMO-LUMO (highest
occupied and lowest unoccupied molecular orbitals) electron densities for the two molecules. Using this information, they proposed
two possible reaction pathways and computed the heats of formation for geometry-optimized structures.

Studying the Dynamic Behavior of Molecules
A molecular system at room temperature is accurately characterized by its motion. Molecular dynamics simulations calculate thefuture positions and velocities of atoms based upon their current
values. You can obtain qualitative and quantitative data from
HyperChem molecular dynamics simulations.
The greatest value of molecular dynamic simulations is that they
complement and help to explain existing data for designing newexperiments. The simulations are increasingly useful for structuralrefinement of models generated from NMR, distance geometry,and X-ray data.
The results are also important for investigating macromolecules,
where concerted motions may occur during ligand binding, enzymatic activity, and molecular recognition. Using constant temperature molecular dynamics, you can investigate an enzyme that has
a loop of residues flanking the active site. You can store snapshotsof a molecular dynamic trajectory (the set of positions and velocities of atoms over time) and use them to detect possible conformational changes of the loop region that could change the interaction with the active site. You can further investigate conformational change during the course of the simulation by averaging
and plotting the dihedral angle values associated with the loop.

10Chapter 1

Chapter 2HyperChem Calculations
Exploring Potential Energy Surfaces
HyperChem calculations examine potential energy surfaces withsingle point calculations, optimizations, and molecular dynamic
simulations. Energies and derivatives of energy, such as the forceson atoms, are necessary to “construct” a potential energy surface.
This concept gives the molecular and quantum mechanics methods a unifying purpose: they generate the energies and energy
derivatives necessary to produce and examine potential energy
surfaces.
Both molecular and quantum mechanics methods rely on the
Born-Oppenheimer approximation. In quantum mechanics, theSchrödinger equation (1) gives the wave functions and energies ofa molecule.
HΨ = EΨ(1)

where H is the molecular Hamiltonian, Ψ is the wave function, andE is the energy. The molecular Hamiltonian is composed of these
operators: the kinetic energy of the nuclei (N) and electrons (E),nuclear-nuclear (NN) and electron-electron repulsion (EE), and theattraction between nuclei and electrons (NE) (equation 1).
H = ( kinetic energy ) N + ( kinetic energy ) E + ( repulsion ) NN(2)+ ( repulsion ) EE + ( attr

Nuclei have many times more mass than electrons. During a verysmall period of time when the movement of heavy nuclei is negligible, electrons are moving so fast that their distribution issmooth. This leads to the approximation that the electron distribution is dependent only on the fixed positions of nuclei and noton their velocities. This approximation allows two simplifications

11

Exploring Potential Energy Surfacesof the molecular Hamiltonian. The nuclear kinetic energy term
drops out (equation 3).
H = ( kinetic energy ) E + ( repulsion ) NN + ( repulsion ) EE
+ ( attraction ) NE

(3)

Since the nuclear-nuclear repulsion is constant for a fixed configuration of atoms, this term also drops out. The Hamiltonian is now
purely electronic.
H electronic = ( kinetic energy ) E + ( repulsion ) EE + ( attraction ) NE
(4)
After solving the electronic Schrödinger equation (equation 4), to
calculate a potential energy surface, you must add back nuclearnuclear repulsions (equation 5).
H electronic Ψ electronic = E electronic Ψ electronic
V PES = E electronic + ( repulsion ) NN

(5)

Generating the potential energy surface (PES) using this equation
requires solutions for many configurations of nuclei. In molecularmechanics, the electronic energy is not evaluated explicitly.
Instead, these methods solve the potential energy surface by using
a force field equation (see “Molecular Mechanics” on page 21). The
force field equation represents electronic energy implicitly
through parameterization.
The dimensionality of a potential energy surface depends on thenumber of degrees of freedom in a molecule. If VPES is a functionof two variables, then a plot of the potential energy surface represents a 3D space.
Example: In this plot of a potential energy surface with two variables, points A and C are both minima.

12

Chapter 2

variable 2 (degrees)

Exploring Potential Energy SurfacesAC
B

variable 1 (degrees)This means that the forces on the atoms are zero for the structures
found at A and C. The structure at C is more stable than the structure at A. In fact, C is the global minimum for this example. Geometry optimizations seek minima such as A and C.
Point B is a maximum along the path from A to C (saddle point).
The forces on the atoms are also zero for this structure. Point B represents a transition state for the transformation of A to C.
Convergence of a geometry optimization calculation does not necessarily mean that the calculation found a minimum on the potential energy surface. To categorize a point definitively on the potential energy surface, you must calculate the second derivatives ofthe potential energy with respect to atomic coordinates. You canthen calculate vibrational frequencies from the second derivative
matrix. A minimum configuration has six vibrational frequencies
with a value of zero. For linear molecules the minimum is five withzero values. A transition state has one vibrational frequency, andthis frequency is an imaginary number.

HyperChem Calculations

13

Exploring Potential Energy Surfaces

The path of minimum potential energy that connects reactants
and products is known as the reaction coordinate.
Example: The reaction coordinate for rotation about the centralcarbon-carbon bond in n-butane has several stationary points. A,
C, E, and G are minima and B, D, and F are maxima. Only the
structures at the minima represent stable species and of these, theanti conformation is more stable than the gauche.

energy

D
F

B
C

E

A

G

H3CCH2 - CH2CH3
torsion angle (degrees)

Complexity of Potential Energy Surfaces
Most potential energy surfaces are extremely complex. Elber and
Karplus analyzed a 300 psec molecular dynamics trajectory of theprotein myoglobin5. They estimate that 2000 thermally accessible
minima exist near the native protein structure. The total numberof conformations is even larger. Dill derived a formula to calculate
the upper bound of thermally accessible conformations in a
protein.6 Using this formula, a protein of 150 residues (the approx34

imate size of myoglobin) has an upper limit of 4 x 10

conforma-

5. Elber, R.; Karplus, M. Multiple conformational states of proteins: a molecular dynamics
analysis of myoglobin. Science 235:318-321, 1987.

14

Chapter 2

Exploring Potential Energy Surfaces

tions for the backbone atoms. Here are two of the consequences ofthis complexity:•

A single stable structure may not adequately represent theproperties of a molecule. You should investigate a Boltzmann
distribution of thermally accessible potential structures.

•

For all but the smallest of molecules, a search for the global
minimum may be impossible.

United atom force fields (see “United versus All Atom Force Fields”
on page 28) are sometimes used for biomolecules to decrease thenumber of nonbonded interactions and the computation time.
Another reason for using a simplified potential is to reduce thedimensionality of the potential energy surface. This, in turn,allows for more samples of the surface.
Example: Crippen and Snow reported their success in developing asimplified potential for protein folding7. In their model, single
points represent amino acids. For the avian pancreatic polypeptide, the native structure is not at a potential minimum. However,a global search found that the most stable potential minimum had
only a 1.8 Ångstrom root-mean-square deviation from the native
structure.
Example: Solvation can have a profound effect on the potential
energy profile for a reaction. Jorgensen’s research group provided
important insights into the role of solvation8. Consider the
nucleophilic addition of the hydroxide anion to formaldehyde:
Ab initio, gas phase calculations found two minima and one maximum for the reaction coordinate, leading to an exothermic formation of the tetrahedral complex. One minimum is an ion-dipole–
complex at a H2(O)C–OH distance of 2.74 Ångstroms. The second–
is the tetrahedral complex at a H2(O)C–OH distance of 1.47 Ångstroms. A potential-of-mean-force calculation was performed
using a Monte Carlo simulation of the reactants in TIP4P water.
6. Dill, K.A. Theory for the folding and stability of globular proteins. Biochemistry 24:15011509, 1985.
7. Crippen, G.M.; Snow, M.E. A 1.8Å resolution potential function for protein folding.
Biopolymers 29:1479-1489, 1990.
8. Madura, J.D.; Jorgensen, W.L. Ab initio and Monte Carlo calculations for a nucleophilic
addition reaction in the gas phase and in aqueous solution. J. Am. Chem. Soc. 108:25172527, 1986.

HyperChem Calculations

15

Types of Calculations

The reaction coordinate showed no ion-dipole complex. In contrast to the gas phase study, the tetrahedral intermediate was
10–14 kcal/mol less stable than the reactants and there was a 24–
28 kcal/mol activation barrier to the formation of the tetrahedral
intermediate.

Types of Calculations
There are multiple types of calculations in HyperChem. The
include: single point, geometry optimization or minimization,transition state searching, molecular dynamics, and Monte Carlo.

Single Point
A single point calculation gives the static properties of a molecule.
The properties include potential energy, derivatives of the potential energy, electrostatic potential, molecular orbital energies, andthe coefficients of molecular orbitals for ground or excited states.
The input molecular structure for a single point calculation usuallyreflects the coordinates of a stationary point on the potential
energy surface, typically a minimum or transition state. Use ageometry optimization to prepare a molecule for a single point calculation.
One type of single point calculation, that of calculating vibrational
properties, is distinguished as a vibrations calculation in HyperChem. A vibrations calculation predicts fundamental vibrationalfrequencies, infrared absorption intensities, and normal modes fora geometry optimized molecular structure.
You can use a single point calculation that determines energies forground and excited states, using configuration interaction, to predict frequencies and intensities of an electronic ultraviolet-visible
spectrum.

Geometry Optimization
To carry out a geometry optimization (minimization), HyperChem
starts with a set of Cartesian coordinates for a molecule and tries
to find a new set of coordinates with a minimum potential energy.
You should appreciate that the potential energy surface is very

16

Chapter 2

Types of Calculations

complex, even for a molecule containing only a few dihedral
angles.
Since minimization calculations cannot cross or penetrate potential energy barriers, the molecular structure found during an optimization may be a local and not a global minimum. The minimum
represents the potential energy closest to the starting structure ofa molecule. Researchers frequently use minimizations to generate
a structure at a stationary point for a subsequent single point calculation or to remove excessive strain in a molecule, preparing it
for a molecular dynamics simulation.

Transition State Search
As mentioned earlier, a potential energy surface may contain saddle points; that is, stationary points where there are one or more
directions in which the energy is at a maximum. A saddle pointwith one negative eigenvalue corresponds to a transition structure
for a chemical reaction of changing isomeric form. Transition
structures also exist for reactions involving separated species, forexample, in a bimolecular reaction
A + B → C + D.
Activation energy, i.e., the energy of the transition structure relative to reactants, can be observed experimentally. However, theonly way that the geometries of transition structures can be evaluated is from theory. Theory also can give energetics and geometry
parameters of short-lived reaction intermediates.
Transition state search algorithms rather climb up the potential
energy surface, unlike geometry optimization routines where an
energy minimum is searched for. The characterization of even a
simple reaction potential surface may result in location of morethan one transition structure, and is likely to require many moreindividual calculations than are necessary to obtain equilibriumgeometries for either reactant or product.
Calculated transition structures may be very sensitive to the levelof theory employed. Semi-empirical methods, since they areparametrized for energy minimum structures, may be less appropriate for transition state searching than ab initio methods are.
Transition structures are normally characterized by weak “partial”
bonds, that is, being broken or formed. In these cases UHF calcu-

HyperChem Calculations

17

Types of Calculations

lations are necessary, and sometimes even the inclusion of electron correlation effects.

Molecular Dynamics
A molecular dynamics simulation samples phase space (the region
defined by atomic positions and velocities) by integrating numerically Newton’s equations of motion. Unlike single point andgeometry optimization calculations, molecular dynamics calculation account for thermal motion. Molecules may contain enoughthermal energy to cross potential barriers. Molecular dynamics calculations provide information about possible conformations, thermodynamic properties, and dynamic behavior of molecules. (Seealso “Studying the Dynamic Behavior of Molecules” on page 10.)Langevin Dynamics
Molecules in solution undergo collisions with other molecules andexperience frictional forces as they move through the solvent.
Using Langevin dynamics, you can model these effects and study
the dynamical behavior of a molecular system in a liquid environment. These simulations can be much faster than molecular
dynamics. Instead of explicitly including solvent molecules, theLangevin method models their effect through random forces
applied to the molecule of interest to simulate collisions, and frictional forces are added to model the energy losses associated withthese collisions.
Langevin dynamics simulations can be used to study the samekinds of problems as molecular dynamics: time dependent properties of solvated systems at non-zero temperatures. Because of theimplicit treatment of the solvent, this method is particularly wellsuited for studying large molecules in solution. It is possible todecouple the time scales of molecular motion and focus on just theslow modes associated with conformational changes, for example,
or to follow the rapid bond stretching motions leading to chemical
reaction, while incorporating the influence of molecular collisions. Langevin dynamics has been use to study solvent effects on
the structural dynamics of the active site of the enzyme lysozyme,
conformational equilibria and the dynamics of conformationaltransitions in liquid alkanes, and temperature effects on a system
of interacting quantum harmonic oscillators.

18

Chapter 2

Types of Calculations

Monte Carlo Simulations
The Monte Carlo method samples phase space by generating random configurations from a Boltzmann distribution at a given temperature. Averages computed from a properly equilibrated Monte
Carlo simulation correspond to thermodynamic ensemble averages. Thus, the Monte Carlo method can be used to find averageenergies and equilibrium structural properties of complex interacting systems.
A sequence of successive configurations from a Monte Carlo simulation constitutes a trajectory in phase space; with HyperChem,
this trajectory may be saved and played back in the same way as adynamics trajectory. With appropriate choices of setup parameters, the Monte Carlo method may achieve equilibration more rapidly than molecular dynamics. For some systems, then, Monte
Carlo provides a more direct route to equilibrium structural andthermodynamic properties. However, these calculations can bequite long, depending upon the system studied.
Monte Carlo simulations provide an alternate approach to thegeneration of stable conformations. As with HyperChem’s othersimulation methods, the effects of temperature changes and solvation are easily incorporated into the calculations.

HyperChem Calculations

19

Types of Calculations

20

Chapter 2

Chapter 3
Calculation Methods
HyperChem uses two types of methods in calculations: molecularmechanics and quantum mechanics. The quantum mechanics
methods implemented in HyperChem include semi-empirical, ab
initio, and density functional quantum mechanics methods. The
molecular mechanics and semi-empirical quantum mechanics
methods have several advantages over ab initio and density functional methods. Most importantly, these methods are fast. While
this may not be important for small molecules, it is certainly
important for biomolecules. Another advantage is that for specificand well-parameterized molecular systems, these methods can calculate values that are closer to experiment than lower level ab initio
and density functional techniques.
The accuracy of a molecular mechanics or semi-empirical quantum mechanics method depends on the database used to parameterize the method. This is true for the type of molecules and thephysical and chemical data in the database. Frequently, thesemethods give the best results for a limited class of molecules or
phenomena. A disadvantage of these methods is that you musthave parameters available before running a calculation. Developing parameters is time-consuming.
The ab initio or density functional methods may overcome thisproblem. However they are slower than any molecular mechanics
and semi-empirical methods.

Molecular Mechanics
Molecular mechanical force fields use the equations of classicalmechanics to describe the potential energy surfaces and physicalproperties of molecules. A molecule is described as a collection of
atoms that interact with each other by simple analytical functions.
This description is called a force field. One component of a force
field is the energy arising from compression and stretching a bond.
21

Molecular Mechanics

This component is often approximated as a harmonic oscillator
and can be calculated using Hooke’s law.
2
1
V spring = --- K r ( r – r 0 )2(7)

The bonding between two atoms is analogous to a spring connecting two masses. Using this analogy, equation 7 gives the potential
energy of the system of masses, Vspring, and the force constant of
the spring, Kr. The equilibrium and displaced distances of the atoms in a bond are r0 and r. Both Kr and r0 are constants for a specific pair of atoms connected by a certain spring. Kr and r0 are force
field parameters.
The potential energy of a molecular system in a force field is thesum of individual components of the potential, such as bond,angle, and van der Waals potentials (equation 8). The energies of
the individual bonding components (bonds, angles, and dihedrals) are functions of the deviation of a molecule from a hypothetical compound that has bonded interactions at minimum values.
E Total = term 1 + term 2 + … + term n(8)The absolute energy of a molecule in molecular mechanics has no
intrinsic physical meaning; ETotal values are useful only for comparisons between molecules. Energies from single point calculations are related to the enthalpies of the molecules. However, they
are not enthalpies because thermal motion and temperaturedependent contributions are absent from the energy terms (equation 8).
Unlike quantum mechanics, molecular mechanics does not treat
electrons explicitly. Molecular mechanics calculations cannot describe bond formation, bond breaking, or systems in which electronic delocalization or molecular orbital interactions play a majorrole in determining geometry or properties.
This discussion focuses on the individual components of a typicalmolecular mechanics force field. It illustrates the mathematical
functions used, why those functions are chosen, and the circumstances under which the functions become poor approximations.
Part 2 of this book, Theory and Methods, includes details on the implementation of the MM+, AMBER, BIO+, and OPLS force fields inHyperChem.
22

Chapter 3

Molecular Mechanics

Bonds and Angles
HyperChem uses harmonic functions to calculate potentials forbonds and bond angles (equation 9).
V stretch =∑ K (r – r ) V
2

r

0

bend

=

bond

∑ K (θ – θ )
θ

0

2

(9)

angle

Example: For the AMBER force field, a carbonyl C–O bond has anequilibrium bond length of 1.229 Å and a force constant of 570
2

kcal/mol Å . The potential for an aliphatic C–C bond has a minimum at 1.526 Å. The slope of the latter potential is less steep; a C–
2

C bond has a force constant of 310 kcal/mol Å .
Kr = 570 kcal/mol Å2; r0 = 1.229Å

energy (kcal/mol)

Kr = 310 kcal/mol Å2; r0 = 1.526Å

bond length (Å)

Calculation Methods

23

Molecular Mechanics

A Morse function best approximates a bond potential. One of theobvious differences between a Morse and harmonic potential isthat only the Morse potential can describe a dissociating bond.

Morseenergy (kcal/mol)

harmonic

bond length (Å)

The Morse function rises more steeply than the harmonic potential at short bonding distances. This difference can be important
especially during molecular dynamics simulations, where thermalenergy takes a molecule away from a potential minimum.
In light of the differences between a Morse and a harmonic potential, why do force fields use the harmonic potential? First, the harmonic potential is faster to compute and easier to parameterize
than the Morse function. The two functions are similar at the potential minimum, so they provide similar values for equilibrium
structures. As computer resources expand and as simulations ofthermal motion (See “Molecular Dynamics”, page 71) become
more popular, the Morse function may be used more often.

24

Chapter 3

Molecular Mechanics

Torsions
In molecular mechanics, the dihedral potential function is often
implemented as a truncated Fourier series. This periodic function(equation 10) is appropriate for the torsional potential.
V dihedrals =Vn∑ -----2- 1 + cos ( n φ – φ )

(10)

0

dihedrals

In this representative dihedral potential, Vn is the dihedral force
constant, n is the periodicity of the Fourier term, φ0 is the phaseangle, and φ is the dihedral angle.
Example: This example of an HN–C(O) amide torsion uses the
AMBER force field. The Fourier component with a periodicity ofone (n = 1) also has a phase shift of 0 degrees. This component
shows a maximum at a dihedral angle of 0 degrees and minima at
both –180 and 180 degrees. The potential uses another Fouriercomponent with a periodicity of two (n = 2).

energy (kcal/mol)

sum

n=1

n=2

dihedral angle (degrees)

The relative sizes of the potential barriers indicate that the V2 force
constant is larger than the V1 constant. The phase shift is 180
degrees for the Fourier component with a two-fold barrier. Minima
occur at –180, 0, and 180 degrees and maxima at –90 and 90

Calculation Methods

25

Molecular Mechanics

degrees. Adding the two Fourier terms results in potential withminima at –180, 0, and 180 degrees and maxima at –90 and 90
degrees. (The “sum” potential is shifted by 2 kcal/mol to make thisillustration legible.) Note that the addition of V to V shows that12

the cis conformation (dihedralhnco = 0 degrees) is destabilized relative to the trans conformation (dihedralhnco = 180 degrees).

van der Waals Interactions and Hydrogen Bonding
A 6–12 function (also known as a Lennard-Jones function) frequently simulates van der Waals interactions in force fields (equation 11).
V VDR =

A ij

B ij

12
ij

6
ij

- – -----∑ ------R
R
i<j

(11)

Rij is the nonbonded distance between two atoms. Aij, and Bij arevan der Waals parameters for the interacting pair of atoms. The
R–6 term describes the attractive London dispersion interaction between two atoms, and the R–12 term describes the repulsive interaction caused by Pauli exclusion. The 6–12 function is not as
appropriate physically as a 6-exponential function, but it is fasterto compute.
The AMBER force field replaces the van der Waals by a 10–12
potential for pairs of atoms that can participate in hydrogen bonding (equation 12). The hydrogen bond potential does not contribute significantly to the hydrogen bonding attraction between two
atoms; rather, it is implemented to fine-tune the distances
between these atoms.
V Hbonds =Hbonds26

Chapter 3

C ij

D ij

12
ij

10
ij

- – -------∑ ------R
R(12)

Molecular Mechanics

energy (kcal/mol)

Example: In this example, the van der Waals (6–12) and hydrogenbond (10–12) potentials are quickly damped.

6-12

10-12

interatomic distance (Å)

The attraction for two neutral atoms separated by more than fourÅngstroms is approximately zero. The depth of the potential wells
is minimal. For the AMBER force field, hydrogen bonds have welldepths of about 0.5 kcal/mol; the magnitude of individual van der
Waals well depths is usually less.

Electrostatic Potential
This is a typical function for electrostatic potential (equation 13).
V EEL =

qi qj

∑ --------εR
i<j

(13)

ij

In this model of electrostatic interactions, two atoms (i and j) havepoint charges qi and qj. The magnitude of the electrostatic energy(VEEL) varies inversely with the distance between the atoms, Rij.
The effective dielectric constant is ε. For in vacuo simulations or
simulations with explicit water molecules, the denominator equals
εRij. In some force fields, a distance-dependent dielectric, where

the denominator is εRij · Rij, represents solvent implicitly.

Calculation Methods

27

Molecular Mechanics

Example: For nonbonded interaction between two atoms having
point charges of 0.616 and –0.504 e, a distance-dependent dielectric, compared to a constant dielectric, reduces long range electrostatic interactions. Unlike van der Waals and hydrogen bondpotentials, the magnitude of electrostatic potential energy
between two atoms is large and remains significant over long nonbonded distances.
distance-dependent dielectricenergy (kcal/mol)constant dielectricinteratomic distance (Å)

United versus All Atom Force Fields
Because of the restricted availability of computational resources,
some force fields use United Atom types. This type of force field
represents implicitly all hydrogens associated with a methyl,
methylene, or methine group. The van der Waals parameters forunited atom carbons reflect the increased size because of theimplicit (included) hydrogens.
United Atom force fields are used often for biological polymers. In
these molecules, a reduced number of explicit hydrogens can havea notable effect on the speed of the calculation. Both the BIO+ and
OPLS force fields are United Atom force fields. AMBER contains
both a United and an All Atom force field.

28

Chapter 3

Molecular Mechanics

Caution: If you are new to computational chemistry, do not use
United Atoms for AMBER calculations. This HyperChem option isavailable for researchers who want to alter atom types and parameters for this force field.

Cutoffs
Force field calculations often truncate the nonbonded potential
energy of a molecular system at some finite distance. Truncation(nonbonded cutoff) saves computing resources. Also, periodic boxes and boundary conditions require it. However, this approximation is too crude for some calculations. For example, a molecular
dynamic simulation with an abruptly truncated potential produces anomalous and nonphysical behavior. One symptom is that thesolute (for example, a protein) cools and the solvent (water) heats
rapidly. The temperatures of system components then slowly converge until the system appears to be in equilibrium, but it is not.
A relatively simple method for alleviating some of the nonphysicalbehaviors caused by imposing a nonbonded cutoff is to use a potential switching function (equation 14).
WhenR ij ≤ R on ,′E EEL
= E EEL ≥ 1

WhenR on < R ij ≤ R off
2( R off – R ij ) ( R off + 2R ij – 3R on )′E EEL
= E EEL • -----------------------------------------------------------------------------3( R off – R on )WhenR ij > R off ,

(14)

′
E EEL
= E EEL ≥ 0

These functions allow the nonbonded potential energy to turn off
smoothly and systematically, removing artifacts caused by a truncated potential. With an appropriate switching function, the potential function is unaffected except in the region of the switch.
Example: For two atoms having point charges of 0.616 and–0.504 e and a constant dielectric function, the energy curveshows a switching function turned on (Ron) at a nonbonded distance of 10 Å and off (Roff) at a distance of 14 Å. Compare theswitched potential with the abruptly truncated potential.

Calculation Methods

29

Molecular Mechanics

switched cutoff10Å cutoff

energy (kcal/mol)no cutoffinteratomic distance (Å)

HyperChem also provides a shifting potential for terminating
nonbonded interactions (equation 15).
24
2R ij R ij ′
E EEL
= E EEL •  1 – --------+--------2
4

R off R off(15)

In an attempt to remedy truncation problems, a shifting potential
multiplies the nonbonded electrostatic potential by a functionthat goes to zero. That is, the potential is shifted to zero at the cutoff Roff. Unlike the switching function, the shifted potential does
not apply to van der Waals interactions.

30

Chapter 3

Quantum Mechanics

shifted cutoff

energy (kcal/mol)constant dielectricinteratomic distance (Å)

Caution: Comparing the shifted constant dielectric to a constantdielectric function without a cutoff shows that the shifted dielectric, unlike a switching function, perturbs the entire electrostatic
energy curve, not only the region near the cutoff.

Quantum Mechanics
This section provides an overview and review of quantum
mechanics calculations. The information can help you use HyperChem to solve practical problems. For quantitative details of quantum mechanics calculations and how HyperChem implements
them, see the second part of this book, Theory and Methods.
Ab initio quantum mechanics methods have evolved for many
decades. The speed and accuracy of ab initio calculations have been
greatly improved by developing new algorithms and introducing
better basis functions.
Density functional methods are newer methods that have a lot incommon with ab initio methods. They use density functional theory (DFT) to predict how the energy depends on the density rather
than the wavefunction. In particular, they replace the HartreeFock potential of ab initio calculations with an exchange-correlation potential that is a functional of the electron density. They
include the effects of electron correlation and hence can, in prinCalculation Methods

31Quantum Mechanics

cipal, be more acurate than ab initio Hartree-Fock calculations.
Their results might be compared with ab initio Hartree-Fock plus
MP2 correlation.
Semi-empirical quantum mechanics methods have evolved overthe last three decades. Using today’s microcomputers, they can
produce meaningful, often quantitative, results for large molecularsystems. The roots of the methods lie in the theory of π electrons,
now largely superseded by all-valence electron theories.

32

Chapter 3

Quantum Mechanics

BackgroundMolecules consist of electrons and nuclei. Most applications ofquantum chemistry separate the motion of the nuclei from the
motion of electrons (the Born-Oppenheimer approximation). The
approximation results in a model of nuclei moving on a potential
energy surface, with electrons adjusting instantly to changes innuclear positions. Nuclear motion is constrained by the interaction of nuclei and electrons. At any fixed positions of the nuclei,
potential energy is the sum of repulsions among the positively
charged nuclei and attractions arising from the electrons. Electrons are the “glue” holding nuclei together.

Molecular Geometry
The most important chemical structures are stable, equilibrium
molecular geometries and transition states. Equilibrium geometryof a molecule (bond lengths and angles) describes the coordinatesof a deep minimum on a potential energy surface (see page 11). A
set of atoms may have a number of potential energy minima, eachcorresponding to a different isomer of the molecular system.
Other, less-deep minima may correspond to intermediates inchemical reactions.
Saddle points serve as models for transition states of chemical reactions. The potential energy for saddle points is a maximum along
one direction, called the reaction coordinate, and a minimumalong all others. You can think of saddle points as mountainpasses: they are the lowest barriers separating reactant and productpotential energy valleys. For a discussion of the potential energy
surface, see “Exploring Potential Energy Surfaces” on page 11.
Using the coordinates of special geometries, minima, and saddle
points, together with the nearby values of potential energy, you
can calculate spectroscopic properties and macroscopic thermodynamic and kinetic parameters, such as enthalpies, entropies, andthermal rate constants. HyperChem can provide the geometries
and energy values for many of these calculations.

Calculating Electronic Potential Energy
How is electronic potential energy computed? Electrons, which are
more than three orders of magnitude lighter than nuclei, are too
small for classical mechanics calculations. Electronic energy must

Calculation Methods

33Quantum Mechanics

be computed by solving the quantum mechanical Schrödinger
equation. The lowest energy solution to this equation is called theground-state wave function. Molecular orbital methods provide
approximate solutions of the Schrödinger equation, the groundstate wave function, and certain low energy excited states.
Quantum mechanics methods have several attractive features:•

They require no information about the location or geometryof bonds in a molecular system.

•

Parameters for elements (basis functions in ab initio and DFTmethods usually derived from experimental data and empirical parameters in semi-empirical methods usually obtained
from empirical data or ab initio calculations) are independentof the chemical environment. In contrast, parameters used inmolecular mechanics methods often depend on the chemical
environment.

•

With simple precautions, quantum mechanics methods candescribe bond breaking.

•HyperChem can perform quantum mechanics MO calculations on molecules containing 100 or more atoms. There is norestriction on the number of atoms, but larger structures may
require excessive computing times and computer main memory.

•

You can interpret results, including dipole moments andatomic charges, using the simple concepts and familiar vocabulary of the Linear Combination of Atomic Orbitals (LCAO)–
molecular orbital (MO) theory.

Once HyperChem calculates potential energy, it can obtain all of
the forces on the nuclei at negligible additional expense. This
allows for rapid optimization of equilibrium and transition-stategeometries and the possibility of computing force constants, vibrational modes, and molecular dynamics trajectories.
In addition to computing molecular geometries, energies, andforces, HyperChem computes and displays charge and spin density
functions, atomic charges, dipole moments, and electrostatic
potential. Individual molecular orbital contributions, importantin visualizing and interpreting chemical results, are calculated anddisplayed graphically.

34

Chapter 3

Quantum Mechanics

Range of Quantum Mechanics Methods
The quantum mechanics methods in HyperChem differ in how
they approximate the Schrödinger equation and how they compute potential energy. The ab initio and DFT methods expand
molecular orbitals into a linear combination of atomic orbitals(LCAO) and do not immediately introduce any further approximation. Ab initio Hartree-Fock calculations then approximate theform of the final wavefunction determining the energy while DFT
calculations approximate the relationship of the energy to theelectron density.
The Extended Hückel method, for example, does not explicitly
consider the effects of electron-electron repulsions but incorporates repulsions into a single-electron potential. This simplifies thesolution of the Schrödinger equation and allows HyperChem tocompute the potential energy as the sum of the energies for eachelectron.
Neglect of Differential Overlap (NDO) methods, such as CNDO
and INDO, include electron repulsions, but the resulting equations
are nonlinear. The energy calculation includes terms for pairs ofelectrons. These methods include nuclear repulsions, but only by
reducing the charge on each nucleus by the number of core electrons shielding it. The other NDO methods, MINDO/3, MNDO,
AM1, and PM3 replace nuclear repulsion terms in the potential
energy by parameterized, core-repulsion terms. The terms compensate for considering only valence electrons in the electronic
Schrödinger equation, and they incorporate effects of electron correlation (see “Configuration Interaction” on page 123). For more
about these methods see “Using Quantum Mechanics Methods”
on page 111“Using Quantum Mechanics Methods” on page 111.

Exclusion Principle
Because of the quantum mechanical Uncertainty Principle, quantum mechanics methods treat electrons as indistinguishable particles. This leads to the Pauli Exclusion Principle, which states thatthe many-electron wave function—which depends on the coordinates of all the electrons—must change sign whenever two electrons interchange positions. That is, the wave function must be
antisymmetric with respect to pair-wise permutations of the electron coordinates.

Calculation Methods

35Quantum Mechanics

Example: If two functions are sin and cos and two variables are x
and y, then sin(x)cos(y) has the same sign if you interchange x andy to give sin(y) cos(x). The antisymmetrized version,sin(x)cos(y)–cos(x)sin(y), does change sign. This is the determinant:sin ( x ) cos ( x )sin ( y ) cos ( y )Example: If a(1) is a function of the coordinates of electron 1 andb(2) is a function of the coordinates of electron 2, then the productfunction, a(1)b(2), is not antisymmetric. The function a(1)b(2)–b(1)a(2), an expansion of a 2x2 determinant, is antisymmetric.
The Exclusion Principle is fundamentally important in the theoryof electronic structure; it leads to the picture of electrons occupying distinct molecular orbitals. Molecular orbitals have welldefined energies and their shapes determine the bonding patternof molecules. Without the Exclusion Principle, all electrons could
occupy the same orbital.
The Exclusion Principle also gives rise to the “exchange” phenomenon. This phenomenon is important in understanding theenergy differences between electronic states of different spin symmetries; for example, singlet-triplet splittings and related properties. Exchange is also important in understanding the nature of thecovalent bond. In the simplest description of bonds for the hydrogen molecule, almost all of the binding energy is due to exchange.
(Binding energy is the energy of the two hydrogen atoms separated
by infinity minus the energy of the stable hydrogen molecule at its
equilibrium bond length.)
The Exclusion Principle is quantum mechanical in nature, andoutside the realm of everyday, “classical” experience. Think of it as
the inherent tendency of electrons to stay away from one another;to be mutually excluded. Exclusion is due to the antisymmetry of
the wave function and not to electrostatic coulomb repulsion
between two electrons. Exclusion exists even in the absence ofelectrostatic repulsions.
Consider what happens to the many-electron wave function when
two electrons have identical coordinates. Since the electrons havethe same coordinates, they are indistinguishable; the wave function should be the same if they trade positions. Yet the Exclusion
Principle requires that the wave function change sign. Only a zero

36

Chapter 3

Quantum Mechanics

value for the wave function can satisfy these two conditions, identity of coordinates and an antisymmetric wave function. For thehydrogen molecule, the antisymmetric wave function is a(1)b(1)–b(1)a(1), which is zero. Since the wave function is a probability
function, the probability of two electrons having the same coordinates is also zero. In this sense they are mutually excluded.

Simplified Wave Functions
The simplest many-electron wave function that satisfies the Exclusion Principle is a product of N different one-electron functions
that have been antisymmetrized, or written as a determinant.
Here, N is the number of electrons (or valence electrons) in themolecule. HyperChem uses this form of the wave function for
most semi-empirical and ab initio calculations. Exceptions involve
using the Configuration Interaction option (see page 123). HyperChem computes one-electron functions, termed molecular spin
orbitals, by relatively simple integration and summation calculations. The many-electron wave function, which has N! terms (thenumber of terms in the determinant), never needs to be evaluated.
N molecular spin orbitals must be different from one another in a
way that satisfies the Exclusion Principle. Because the wave function is written as a determinant, interchanging two rows of thedeterminant corresponds to interchanging the coordinates of thetwo electrons. The determinant changes sign according to theantisymmetry requirement. It also changes sign when two columns are interchanged; this corresponds to interchanging two
spin orbitals.
To avoid having the wave function zero everywhere (an unacceptable solution), the spin orbitals must be fundamentally different
from one another. For example, they cannot be related by a constant factor. You can write each spin orbital as a product of a spacefunction which depends only on the x, y, and z coordinates of theelectron—and a spin function. The space function is usually called
the molecular orbital. While an infinite number of space functions
are possible, only two spin functions are possible: alpha and beta.
To use HyperChem for calculations, you specify the total molecular charge and spin multiplicity (see “Charge, Spin, and Excited
State” on page 123). The calculation selects the appropriate manyelectron wave function with the correct number of alpha or beta

Calculation Methods

37Quantum Mechanics

electrons. You don’t need to specify the spin function of eachorbital.

Hartree-Fock Wave Functions
Quantum mechanics calculations use either of two forms of the
wave function: Restricted Hartree-Fock (RHF) or Unrestricted Hartree-Fock (UHF). Use the RHF wave function for singlet electronic
states, such as the ground states of stable organic molecules.
Spin orbitals are grouped in pairs for an RHF calculation. Eachmember of the pair differs in its spin function (one alpha and onebeta), but both must share the same space function. For N electrons, N/2 different molecular orbitals (space functions) are doubly
occupied, with one alpha (spin up) and one beta (spin down) electron forming a pair.
The UHF wave function is most often used for multiplicities
greater than singlets. In this case, the space orbitals for alpha electrons need not be the same as for beta electrons. For open-shell systems, some of the spins are unpaired — alpha and beta electrons
occupy different orbitals. This is because there are more alpha electrons than beta electrons, and they tend to repel each other morethan they do beta electrons. This effect is known as exchange
repulsion. It is a quantum mechanical effect with no classical analog and would persist even without electrostatic coulomb forces.
Essentially, it is due to the requirement that the wave function
must be antisymmetric (see “Exclusion Principle” on page 35).
Exchange repulsion affects the choice of the semi-empiricalmethod (see “Choosing a Semi-Empirical Method” on page 153).
The UHF wave function can also apply to singlet molecules. Usually, the results are the same as for the faster RHF method. That is,electrons prefer to pair, with an alpha electron sharing a molecularspace orbital with a beta electron. Use the UHF method for singlet
states only to avoid potential energy discontinuities when a covalent bond is broken and electrons can unpair (see “Bond Breaking”
on page 47).

38

Chapter 3

Quantum Mechanics

Extending the Wave Function Calculation
Extending the Wave Function Calculation
Configuration Interaction
You can extend the calculation of the Hartree-Fock semi-empiricalwave function by choosing Configuration Interaction (CI) in the
Semi-empirical Options dialog box and you can also extend thecalculation of the Hartree-Fock ab initio wave function by choosing
CI in the Ab Initio Options dialog box. Use CI for these electron
configurations:•closed-shell singlet ground states (for both semi-empirical andab initio methods)•

half-electron, excited singlet states (for semi-empirical methods only)•

half-electron, doublet and triplet open-shell ground states (forsemi-empirical methods only)

Configuration Interaction (or electron correlation) adds to the single determinant of the Hartree-Fock wave function a linear combination of determinants that play the role of atomic orbitals. Thisis similar to constructing a molecular orbital as a linear combination of atomic orbitals. Like the LCAO approximation, CI calculations determine the weighting of each determinant to produce thelowest energy ground state (see “SCF Technique” on page 45).
CI calculations can be used to improve the quality of the wavefunction and state energies. Self-consistent field (SCF) level calculations are based on the one-electron model, wherein each electron moves in the average field created by the other n-1 electrons
in the molecule. Actually, electrons interact instantaneously andtherefore have a natural tendency to avoid each other beyond therequirements of the Exclusion Principle. This correlation results ina lower average interelectronic repulsion and thus a lower stateenergy. The difference between electronic energies calculated at
the SCF level versus the exact nonrelativistic energies is the correlation energy.
There are two types of electron correlations: static and dynamic.
Static correlation refers to a near degeneracy of a given state; aCalculation Methods

39Quantum Mechanics

dynamic correlation refers to the instantaneous avoidance of electrons with each other.
CI calculations are perhaps the most widely used method of going
computationally beyond an SCF description. An SCF computation
yields a configuration describing the orbital occupancy of the electrons. Other configurations may be generated from this reference
configuration by exciting electrons from the set of occupied orbitals to the set of virtual (unoccupied) orbitals. A CI calculation yields
a set of improved states, each of which is represented by a linear
combination of these configurations.
There are two types of CI calculations implemented in HyperChem — singly excited CI and microstate CI. The singly excited CI
which is available for both ab initio and semi-empirical calculations may be used to generate UV spectra and the microstate CI
available only for the semi-empirical methods in HyperChem isused to improve the wave function and energies including theelectronic correlation. Only single point calculations can be performed in HyperChem using CI.
You can use CI calculations to do the following:•Calculate UV spectra•

Calculate the energy of excited states•

Study the making or breaking of bonds, and change of spin
couplings (e.g. dissociation of H2)•

Capture the effects of London dispersion forces•

Describe a nearly degenerate state•

Study singlet-triplet splittings more accurately

You can use CI to predict electronic spectra. Since the CI wave
function provides ground state and excited state energies, you canobtain electronic absorption frequencies from the differences
between the energy of the ground state and the excited states.
You can also use a RHF wave function with CI for calculations
involving bond breaking, instead of using a UHF wave function(see also “Bond Breaking” on page 47).
The Microstate CI Method lowers the energy of the uncorrelated
ground state as well as excited states. The Singly Excited CI Method
is particularly appropriate for calculating UV visible spectra, and40

Chapter 3

Quantum Mechanics

does not affect the energy of the ground state (Brillouin’s Theorem).
Be careful when you use the Orbital Criterion for symmetrical systems. To get correct results, you must include all or none of any setof degenerate orbitals in the CI, not just some of them. Carryingout an RHF calculation first and studying the Orbitals dialog box
will help you to spot degenerate orbitals and avoid this pitfall.
In large systems there can be many orbitals in a small energy
range, and the size of the CI matrix can be very sensitive to thevalue of the maximum excitation if you use Energy Criterion. Since
calculation time depends heavily on the size of the CI matrix, you
can end up with very long calculations, especially if you use the abinitio methods or the MNDO, AM1, or PM3 semi-empirical methods. This could exhaust the memory of your system. Again,
inspecting the results of an RHF (no CI) calculation will help you
avoid these pitfalls.
Using CI may not necessarily improve the calculation of groundstate energies. Parameters for the MINDO/3, MNDO, AM1, andPM3 methods already include the effects of CI. CI calculations
require more computing time.
Note: When you use CI, HyperChem does not calculate forces (gradient).

Møller-Plesset Perturbation Theory
Configuration interaction is a systematic procedure for going
beyond the Hartree-Fock approximation. A different systematic
approach for finding the correlation energy is perturbation theory(Rayleigh-Schrödinger many-body perturbation theory — RSPT).
In this approach, the total Hamiltonian of the system is divided or
partitioned into two parts: a zeroth-order part, H0 (which has
known eigenfunctions and eigenvalues), and a perturbation, V.
The exact energy is then expressed as an infinite sum of contributions of increasing complexity. The expressions for these contributions contain the eigenvalues of H0 and matrix elements of theperturbation between the eigenfunctions of H0. By introducing
the ordering parameter λ, the total Hamiltonian can be written as9
H = H + λV
9. Szabo, A.; Ostlund, N. Modern Quantum Chemistry. Macmillan, New York, 1985

Calculation Methods

41Quantum Mechanics

The exact eigenfunctions and eigenvalues can now be expanded ina Taylor series in λ.
(0)

+ λψ

(0)

+ λE

ψλ = ψ

Eλ = E

(1)

+λ ψ

2

(2)

(1)

+λ E

2

(2)

+…

+…

If H0 is chosen wisely, then the perturbation is small and the perturbation expansion (i.e., the sum of the 1st, 2nd, ..., nth-orderenergies) converges quickly. To obtain a perturbation expansion
for the correlation energy, the best way is to choose the HartreeFock Hamiltonian as the zeroth-order Hamiltonian. The application to N-electron molecular systems is sometimes called MøllerPlesset (MP) perturbation theory. These methods, which can beterminated at second (MP2), third (MP3), or fourth order (MP4),
with these three being the most frequently used in different ab initio programs, calculate the correlation energy and rely on a good
description of the virtual orbitals in the original SCF function. The
calculated total correlation energy is therefore quite dependent on
the quality of the basis set.
HyperChem supports MP2 (second order Møller-Plesset) correlation energy calculations using ab initio methods with any available
basis set. In order to save main memory and disk space, the HyperChem MP2 electron correlation calculation normally uses a socalled “frozen-core” approximation, i.e. the inner shell (core)
orbitals are omitted. A Registry setting allows excitations from thecore orbitals to be included if necessary (melted core). Only thesingle point and geometry optimization calculations are available
for this option.

Density Functional Theory (DFT)
Density functional calculations appear, at first glance, to be almost
identical to ab initio Hartre-Fock calculations apart from having tochoose a specific functional for the exchange and correlation to
replace the Hartree-Fock functional. One solves a set of SCF equations in the same way as one does in ab initio Hartree-Fock calculations.

42

Chapter 3

Quantum Mechanics

Kohn-Sham Orbitals
These similarities are somewhat of an illusion, however, and theresults of ab initio and DFT calculations may have to be interpreted
quite differently. For example DFT results in orbitals that arereferred to as Kohn-Sham orbitals. These should not be used to perform Configuration Interaction calculations in the way one uses
the Hartree-Fock orbitals. HyperChem allows one, in practice, to
use the computed orbitals of DFT in exactly the same ways that
one can use Hartree-Fock orbitals (once the orbitals are computed
via either of the two methods no further distinction is made).
Kohn-Sham orbitals, however, do not satisfy a theorem called
Bruekner’s Theorem (as Hartree-Fock orbitals do) and hence theirinterpretations requires explicit consideration of the subtle differences between Hartree-Fock and DFT calculations.

Molecular Orbitals and Electronic Structure
The molecular orbitals computed by HyperChem have several
important properties. Each molecular orbital has a uniquely
defined orbital energy. Interpretations of orbital energies give useful predictions. For example, the highest energy-occupied molecular orbital (HOMO) provides a remarkably accurate estimate of thefirst ionization potential (Koopmans’ theorem10). Orbital energies
are also important in interpreting molecular geometry (Walsh’s
rules) and chemical reactivity (Woodward-Hoffmann rules11).

Orbital Occupancy
Because of the LCAO-MO approximation, ab initio, DFT, and semiempirical calculations produce occupied and unoccupied (virtual)orbitals. The Aufbau or “building up” principle determines theoccupancy of orbitals for the ground-state wave function. This firstarranges the orbitals in order of increasing energy. Then it assigns
electrons to orbitals beginning with the lowest energy. For example, in an RHF calculation for a molecule with ten electrons andtwelve molecular orbitals, the five lowest energy orbitals receive
two electrons each. The remaining seven virtual orbitals remainunoccupied and do not appear in the many-electron wave func10. Koopmans, T. On the Relation of Wave Functions and Eigenvalues to Individual Electrons of Atoms Physica (Utrecht) 1:104, 1933.
11. Woodward, R.B. and Hoffmann, R. Conservation of Orbital Symmetry Verlag Chemie,
Weinheim, FRG, 1970.

Calculation Methods

43Quantum Mechanics

tion. Some of these virtual orbitals are important in discussions ofchemical reactivity and excited electronic states (see “Chemical
Reactivity” on page 144).
In an Extended Hückel calculation, the Aufbau population ofmolecular orbitals is unambiguous. The calculation method is
non-iterative and the total energy is proportional to the sum of theenergies of occupied orbitals. The Aufbau guarantees the lowest
energy wave function.
For NDO calculations (see “NDO Methods” on page 131), the Aufbau also produces the lowest energy wave function. However, insome cases, a calculation may converge to a result that is not the
ground state (lowest energy), even though the Aufbau is satisfied(for example, RHF calculations on singlet biradicals or moleculeswith highly distorted bonds).
In extreme cases, a calculation may not converge on a lowest
energy solution because of the iterative nature of the SCF procedure. The highest energy occupied (HOMO) and lowest energy
unoccupied (virtual) orbitals (LUMO) may switch occupancies
from one SCF cycle to the next when the two orbitals are close inenergy (nearly degenerate). It is even possible, though unlikely,that the ground state would not satisfy the Aufbau—there is a virtual orbital with an orbital energy lower than an occupied orbital.
HOMO and LUMO, also known as Frontier orbitals, are important
in interpreting results of a calculation (see “Frontier MolecularOrbitals” on page 146). You can use these molecular orbitals tocompute the lowest excited electronic singlet state of molecules
and the ground states of radicals.

Atomic Orbitals and Their Interactions
HyperChem uses the Linear Combination of Atomic OrbitalsMolecular Orbital (LCAO-MO) approximation for all of its ab initio,
DFT, and semi-empirical methods. If ψi represents a molecularorbital and φ an atomic orbital, then the LCAO representation ofµ
the molecular orbital isψi = ∑ Cµi φµµ44

Chapter 3(16)

Quantum Mechanics

where Cµi is the coefficient or “weight” of the µth atomic orbitalin the ith molecular orbital.
This equation is important in interpreting the results of calculations. In ab initio, DFT, and semi-empirical calculations, atomic
orbitals are functions of the x, y, and z coordinates of the electronthat closely resemble the valence orbitals of the isolated atoms.
These atomic orbitals, called Slater Type Orbitals (STOs), are a simplification of exact solutions of the Schrödinger equation for thehydrogen atom (or any one-electron atom, such as Li+2). HyperChem uses Slater atomic orbitals to construct semi-empiricalmolecular orbitals. The complete set of Slater atomic orbitals iscalled the basis set. Core orbitals are assumed to be chemicallyinactive and are not treated explicitly. Core orbitals and the atomic
nucleus form the atomic core.
Because the calculation of multi-center integrals that are inevitable
for ab initio and DFT methods is very difficult and time-consuming, HyperChem uses Gaussian Type Orbital (GTO) for ab initio
and DFT methods. In truly reflecting a atomic orbital, STO may bebetter than GTO, so HyperChem uses several GTOs to construct a
STO. The number of GTOs depends on the basis sets. For example,
in the minimum STO-3G basis set HyperChem uses three GTOs toconstruct a STO.

SCF Technique
All molecular orbitals are combinations of the same set of atomic
orbitals; they differ only by their LCAO expansion coefficients.
HyperChem computes these coefficients, Cµi, and the molecularorbital energies by requiring that the ground-state electronicenergy be at a minimum. That is, any change in the computed
coefficients can only increase the energy.
The technique for this calculation involves two steps. The first step
computes the Hamiltonian or energy matrix. The elements of thismatrix are integrals involving the atomic orbitals and terms
obtained from the Schrödinger equation. The most important contributions to this matrix involve the overlap integrals, which aremainly responsible for the bonding between atoms.
The second step determines the LCAO coefficients by standard
methods for matrix diagonalization. In an Extended Hückel calculation, this results in molecular orbital coefficients and orbital
Calculation Methods

45Quantum Mechanics

energies. Ab initio, DFT, and NDO calculations repeat these two
steps iteratively because, in addition to the integrals over atomic
orbitals, the elements of the energy matrix depend upon the coefficients of the occupied orbitals. HyperChem ends the iterations
when the coefficients or the computed energy no longer change;
the solution is then “self-consistent.” The method is known as
Self-Consistent Field (SCF) calculation.
Note: You should be aware that the length of semi-empirical calculations increases as the cube of the number of atomic orbitals,
because this is the number of operations required for matrix diagonalization; and the length of ab initio and DFT calculations
increases as the power of four of the number of atomic orbitals(basis functions), because of the calculation of two-electron repulsion integrals. A molecule with 60 atomic orbitals takes about
eight times as long to compute as a molecule containing 30 atomic
orbitals by using a semi-empirical method and sixteen times aslong to compute by using the ab initio or DFT method.

Virtual Orbitals
Even with the minimal basis set of atomic orbitals used in mostsemi-empirical calculations, the number of molecular orbitals
resulting from an SCF calculation exceeds the number of occupied
molecular orbitals by a factor of about two. The number of virtual
orbitals in an ab initio or DFT calculation depends on the basis set
used in this calculation.

RHF and UHF
HyperChem quantum mechanics calculations must start with thenumber of electrons (N) and how many of them have alpha spins(the remaining electrons have beta spins). HyperChem obtains
this information from the charge and spin multiplicity that you
specify in the Semi-empirical Options dialog box or Ab Initio andDFT Options dialog box. N is then computed by counting the electrons (valence electrons in semi-empirical methods and all electrons in ab initio or DFT methods) associated with each (assumed
neutral) atom and subtracting the charge. Multiplicity, which isrelated to the allowed values of the total spin angular momentum,
is one for a singlet state, two for a doublet, three for a triplet, andfour for a quartet.

46

Chapter 3

Quantum Mechanics

Multiplicity Considerations
Most stable organic molecules have an even number of electrons
and a singlet ground-state wave function. Half the electrons arealpha. For a radical with an odd number of electrons, the groundstate is almost always a doublet with one more alpha than beta
electron. For some highly symmetrical molecules, such as oxygen,the ground state is a triplet with two more alpha than beta electrons. Biradicals (metastable species formed, for example, by
breaking a bond in a ring molecule) also frequently have triplet
ground states.
UHF

RHF

Ψ4α

Ψ4

Ψ3β
Ψ3α

Ψ3

Ψ2β
Ψ2α

Ψ2

Ψ1β
Ψ1α

Ψ1

If you specify a multiplicity of one (singlet), then you would mostoften choose the RHF method, unless the reactions result in bondbreaking (see page 47). If the selected multiplicity is greater thanone, then the system is open-shell and the usual choice is the UHF
method, which uses different orbitals for electrons with different
spins.

Bond Breaking
Applications of semi-empirical, ab initio, and DFTmethods frequently follow the course of chemical reactions that break andCalculation Methods

47

Quantum Mechanics

form covalent bonds. You must take care in choosing a method forthese applications.
If a covalent bond is broken, as in the simple case of dissociationof the hydrogen molecule into atoms, then the RHF wave function
without the Configuration Interaction option (see “Extending the
Wave Function Calculation” on page 39) is inappropriate. This isbecause the doubly occupied RHF molecular orbital includes spurious terms that place both electrons on the same hydrogen atom,even when they are separated by an infinite distance.
An RHF wave function is also inappropriate for a reaction wherereactants and products share different occupied orbitals, as in a
Woodward-Hoffmann orbital symmetry forbidden thermal reaction. For example, in the absence of symmetry, the disrotatory ring
opening of cyclobutene to butadiene must involve a change in theorbital occupancy between reactants and products. The lowest virtual orbital in reactants becomes the highest occupied in the product. This gives rise to an artificial and undesirable cusp in thepotential energy surface along the reaction path, plus an unrealistically high activation energy. You can prevent this problem andthe breaking of a covalent bond by using a UHF wave function forthe singlet state. A minor disadvantage of the UHF method is thatthe space and spin symmetry of the molecular orbitals are broken.
For example, the UHF wave function is a mixture of singlet andtriplet states. To preserve spin symmetry, use RHF plus the Configuration Interaction option instead of UHF.
For Woodward-Hoffman allowed thermal reactions (such as theconrotatory ring opening of cyclobutane), orbital symmetry isconserved and there is no change in orbital occupancy. Even
though bonds are made and broken, you can use the RHF wave
function.

RHF Half-Electron TechniqueWith all semi-empirical methods, HyperChem can also perform
pseudo-RHF calculations for open-shell systems. For a doublet
state, all electrons except one are paired. The electron is formallydivided into two “half electrons” with paired spins. Each half electron carries half the charge of a whole electron. The calculation
produces a set of molecular orbitals appropriate for this pseudowave function. HyperChem then assigns the unpaired electron its
proper spin (alpha), substitutes this electron in the orbital for-48

Chapter 3

Quantum Mechanics

merly occupied by the half electrons, and calculates energy andother properties.
You can think of the half-electron technique as a device to get reasonable orbitals to populate later with whole electrons.
The half-electron method can also apply to triplet states. For thiscalculation, HyperChem populates selected molecular orbitals
with pairs of half electrons. The final energy is computed byassigning the proper spins.
You can study the lowest excited singlet state of a system with aclosed-shell ground state. The difference in energy between thisstate and the singlet ground state is related to the lowest electronic
absorption frequency. Here, the calculation is carried out for thehalf-electron triplet state. The final energy is computed using theappropriate singlet wave function (which involves two determinants) for this singly excited state.
An advantage of the half-electron technique is its simplicity.
HyperChem can carry it out with only minor modifications of theusual calculation. A disadvantage is that forces may not be accurate because of the half electron approximation.
Although UHF is often a better theoretical treatment of open-shell
systems than the RHF (half-electron) methods, it takes longer tocompute. Separate matrices for electrons of each spin roughly double the length of the calculation.

SCF Convergence
Not all iterative semi-empirical, ab initio, or DFT calculations converge for all cases. For SCF calculations of electronic structure, systems with a small energy gap between the highest occupied orbital
and the lowest unoccupied orbital may not converge or may converge slowly. (They are generally poorly described by the HartreeFock method.)Some systems converge poorly, particularly those with multiple
bonds or weak interactions between open-shell systems.
HyperChem includes two convergence accelerators. One is thedefault convergence accelerator, effective in speeding up normallyconvergent calculations. The other, called the Direct Inversion in
the Iterative Subspace (DIIS) method, is available for all the SCF
methods in HyperChem. You can turn on this accelerator in the

Calculation Methods

49Quantum Mechanics

Semi-empirical Options dialog box or in the Ab Initio and DFT
Options dialog box. It uses more memory and computing time.
If you observe convergence problems, you might try a different
semi-empirical method or first try optimizing the geometry using
another method. Convergence problems occur more often awayfrom optimized geometries than close to them. Often, a fast geometry optimization with a molecular mechanics calculation may
solve convergence difficulties with a semi-empirical optimization.

Applying an External Field
An external electric or magnetic field can be applied to quantum
mechanical calculations. The external field is part of the workspace and affects any result computed for the molecular system
while the field is in effect.
Because of complexities in implementing magnetic fields, theexternal magnetic field is only available for TNDO semi-empiricalcalculations. The electric field is available for any quantum
mechanical method.

Calculation Results
The results of calculations are often interpreted in terms of familiar
orbital interaction diagrams. The simplest example is two oneelectron atoms combining to form a molecule. This diagram showsa two-orbital interaction forming a bonding (lower energy) andantibonding (higher energy) combination.

50

Chapter 3

Quantum Mechanics−+

Note: This simple orbital interaction picture is useful for interpreting results, but neglects many aspects of a calculation, such as electron-electron interactions. These diagrams are closely related to
the results from Extended Hückel calculations.
A larger interaction energy (the off-diagonal element of an energy
matrix, proportional to the overlap integral between two molecular orbitals) causes a larger energy separation between two atomic
orbitals, and the lower orbital is doubly occupied according to the
Aufbau principle (see “Orbital Occupancy” on page 43). The magnitude of this additional splitting is proportional to the magnitudeof the overlap integral between the two atomic orbitals. The
greater the splitting, the greater the strength of the covalent bond.
The occupied molecular orbital results from the in-phase or positive combination of the two atomic orbitals. This is shown for ans-type orbital on the left atom and a sigma p-type on the right. The
virtual orbital is the negative or out-of-phase combination. The
occupied or “bonding” molecular orbital shows a buildup ofelectron density between the two atoms. The virtual orbital, on theother hand, has a node (a value of zero) between the atoms.
A simple example is the formation of the hydrogen molecule fromtwo hydrogen atoms. Here the original atomic energy levels aredegenerate (they have equal energy), but as the two atoms
approach each other, they interact to form two nondegenerate
molecular orbitals, the lowest of which is doubly occupied.

Calculation Methods

51Quantum Mechanics

In the general heteronuclear case, individual atomic orbital andoverlap energies determine the magnitude of energy difference
between two molecular orbitals. Atomic orbital energies are thediagonal elements of the Hamiltonian matrix, and the interactionenergy between atomic orbitals are the off diagonal elements.
HyperChem can display molecular orbitals and the electron density of each molecular orbital as contour plots, showing the nodal
structure and electron distribution in the molecular orbitals.

Quantitative Results
HyperChem provides quantitative results for all calculations. The
status line shows the binding energy and gradient (only binding
energy if you use the Configuration Interaction option, seepage 123). The log file for a calculation contains this information,plus more, including heats of formation (for all the SCF semiempirical methods in HyperChem), orbital coefficients, dipole
moments, and atomic charges.

52

Chapter 3

Chapter 4
Single Point Calculations
A single point calculation determines molecular properties, suchas energy or spin density, of a defined molecular structure. Normally, these calculations are for stationary points on a potential
energy surface. Occasionally, you may want to characterize thepotential energy surface by calculating the energies of a grid ofpoints on the surface. You can use those results to generate a contour plot of the surface.
With HyperChem, you can use either molecular or quantum
mechanical methods for single point calculations. The calculation
provides an energy and the gradient of that energy. The gradient is
the root-mean-square of the derivative of the energy with respect
to Cartesian coordinates. At a minimum the forces on atoms (thegradient) are zero. The size of the gradient can provide qualitative
information to determine if a structure is close to a minimum.
In addition to total energy and gradient, HyperChem can use
quantum mechanical methods to calculate several other properties. The properties include the dipole moment, polarizabilities,
total electron density, total spin density, electrostatic potential,heats of formation, orbital energy levels, vibrational normal
modes and frequencies, infrared spectrum intensities, and ultraviolet-visible spectrum frequencies and intensities. The HyperChem
log file includes energy, gradient, dipole and polarizability values,
while HIN files store atomic charge values.

53

Dipole Moment

Dipole Moment
This describes the classical dipole moment:

∑q r

i i

where qi are point charges located at positions ri.
In the quantum mechanical description of dipole moment, thecharge is a continuous distribution that is a function of r, and thedipole moment is an average over the wave function of the dipole
moment operator, µ:µ =∑ ( –r ) + ∑ Z R
i

i

A

A

(17)

A

where ZA is the charge of the nuclear core and RA is the distance
between the origin and nucleus A. Note that the sign convention
used in the quantum mechanical calculation of dipoles is opposite
to that used in molecular mechanics dipole calculations; thisreflects the differing sign conventions of physics and chemistry.

Electric Polarizabilities
The electric polarizabilities are computed as a tensor αij,
α ij =∂µ i∂ Fj

by differentiating the dipole moment in an electric field, F. The ijelement of the polarizability tensor is the dipole moment in theith direction induced by an electric field in the jth direction.

Total Electron Density
Electron density represents the probability of finding an electron
at a point in space. It is calculated from the elements of the density
matrix. The total electron density is the sum of the densities foralpha and beta electrons. In a closed-shell RHF calculation, electron densities are the same for alpha and beta electrons.

54

Chapter 4

Total Spin Density

Total Spin Density
Total spin density reflects the excess probability of finding α versus
β electrons in an open-shell system. For a system in which the αelectron density is equal to the β electron density (for example, aclosed-shell system), the spin density is zero.

Electrostatic Potential
The classical electrostatic potential for qn point charges is thepotential energy at a position R (equation 18).
V =qi

∑ --------------R–r

(18)

i

For a molecule with a continuous electron charge distribution andnuclear point charges, the expression becomes:
V =

∑

2
ZA
Ψ d τ------------------- – --------------R – RA
R–r

∫

(19)

The potential indicates what a reactant ‘sees’ as it approaches amolecule. You can use a contour plot of electrostatic potential tovisually determine possible trajectories for the approach of a reactant.

Examples of Single Point Calculations
Example: Suzuki et. al. used a reaction strategy to expand the C60
molecule, buckminsterfullerene, by adding divalent carbon equivalents.11 Adding phenyl diazomethane to C60, (I), followed by theloss of molecular nitrogen, results in a C61 compound.

11. Suzuki, T.; Li, Q.; Khemani, K.C.; Wudl, F.; Almarsson, Ö. Systematic Inflation of Buckminsterfullerene C60: Synthesis of Diphenyl Fulleroids C61 to C66 Science, 254:1186-1188,
1991.

Single Point Calculations

55

Examples of Single Point Calculations+1) N ≡ N-CPh22) -N2||||||

By analogy to additions of divalent carbon to the C10 aromatic
framework, the molecule C61 was expected to have the norcaradiene (II) or the cycloheptatriene (III) structure. Although an X-ray
13

structure was not available, the UV-visible spectrum, C NMR
spectrum, and cyclic voltammetry supported the cycloheptatriene(III) structure. The researchers then calculated the relative molecular mechanics energies of II and III and found the cycloheptatriene
structure stabilized by 31 kcal/mol with respect to the norcaradiene structure. Although the calculations do not confirm the structures, they provide additional supporting evidence.
Example: Miller and Rich investigated the conformational consequences of substitutions on an amino acid in cyclosporin A, an
important immunosuppressive drug12. One of the amino acids inthis cyclic undecapeptide is (2s, 3r, 4r, 6e)-3-Hydroxy-4-methyl-2(methylamino)-6-octenoic acid (MeBmt). It is essential for biological activity.

12. Miller, K.E.; Rich, D.H. Molecular Mechanics Calculations of Cyclosporin A Analogues.
Effect of Chirality and Degree of Substitution on the Side-Chain Conformations of (2s, 3r,
4r, 6e)-3-Hydroxy-4-methyl-2-(methylamino)-6-octenoic Acid and Related Derivatives.
J. Am. Chem. Soc., 111:8351-8362, 1989.

56

Chapter 4

Examples of Single Point Calculations

4
3

2

1

The researchers investigated three MeBmt analogs: the C-4 epimer((4s)-MeBmt), the C-4 des methyl analog (MeBth), and the C-4
dimethyl (MeBm2t) analog. The immunosuppressive activity of
the analogs follows the order MeBmt > MeBm2t > MeBth > (4s)MeBmt.
Starting with the crystal and solution structures of cyclosporin A,
Miller and Rich generated conformations of the parent structure
and its analogs through a grid search of C1–C4 torsional angles.
They minimized the conformations and calculated their potential
energies, using the AMBER force field. They calculated a Boltzmann distribution for the conformations.
Miller and Rich assumed that cyclosporin A and its MeBmt analogs
share a common bioactive conformation. Their molecularmechanics calculations found such a conformation. The Boltzmann population of the proposed bioactive conformation correlates with the immunosuppressive activities of the compounds.

Single Point Calculations

57

58

Chapter 5
Geometry Optimizations andTransition State Searching
Geometry Optimizations
HyperChem can calculate geometry optimizations (minimizations) with either molecular or quantum mechanical methods.
Geometry optimizations find the coordinates of a molecular structure that represent a potential energy minimum.
These are excellent references for optimization calculations:•Fletcher, R. Practical Methods of Optimization, John Wiley &Sons, New York, 1980•

Gill, P.E.; Murray, W.; Wright, M.H. Practical Optimization,
Academic Press, Inc., New York,1981

For a potential energy V and Cartesian coordinates ri, the optimized coordinates satisfy this equation:∂V = 0-----∂r i(20)

You might perform a geometry optimization calculation with oneof these goals in mind:•

Characterize a potential energy minimum. A geometry optimization results in a new structure at a minimum. You can examine atomic coordinates and energy of this structure.

•

Obtain a new stable structure as a starting point for a single
point, quantum mechanical calculation, which provides alarge set of structural and electronic properties.

59

Geometry Optimizations•

Prepare a molecule for a molecular dynamics simulation. If theforces on atoms are too large, the integration algorithm may
fail during a molecular dynamics calculation.

HyperChem supplies three types of optimizers or algorithms:
steepest descent, conjugate gradient (Fletcher-Reeves and PolakRibiere), and block diagonal (Newton-Raphson).

Steepest Descent
The steepest descent method is a first order minimizer. It uses thefirst derivative of the potential energy with respect to the Cartesian coordinates. The method moves down the steepest slope of
the interatomic forces on the potential energy surface. The descentis accomplished by adding an increment to the coordinates in the
direction of the negative gradient of the potential energy, or theforce.
Example: A potential energy surface has a minimum at M. If theminimization begins at point A and proceeds with infinitesimallysmall steps, the structure follows the overall path A–M during asteepest descent optimization. If the first step is larger, it mightproceed along A–B, then the next step would proceed along B–C.
A larger initial step might place the system at D. A second step
could proceed along the path D–E, which diverges from the minimum.
E

A

C

M
B

D

The steepest descent method rapidly alleviates large forces on
atoms. This is especially useful for eliminating the large nonbonded interactions often found in initial structures. Each step in60

Chapter 5

Geometry Optimizations

a steepest descent requires minimal computing time. Its disadvantage is that convergence toward a minimum is very slow.

Conjugate GradientA conjugate gradient method differs from the steepest descenttechnique by using both the current gradient and the previous
search direction to drive the minimization. A conjugate gradientmethod is a first order minimizer.
The advantage of a conjugate gradient minimizer is that it uses theminimization history to calculate the search direction, and converges faster than the steepest descent technique. It also contains
a scaling factor, b, for determining step size. This makes the step
sizes optimal when compared to the steepest descent technique.
Example: Compare the steps of a conjugate gradient minimization
with the steepest descent method. A molecular system can reach apotential minimum after the second step if the first step proceedsfrom A to B. If the first step is too large, placing the system at D,
the second step still places the system near the minimum(E)because the optimizer remembers the penultimate step.

A

E
B

M

D

HyperChem provides two versions of the conjugate gradientmethod, Fletcher-Reeves and Polak-Ribiere. Polak-Ribiere is morerefined and is the default choice in HyperChem.
Caution: Geometry optimizations of large molecules may takelonger than you expect. The number of computing cycles required
for a conjugate gradient calculation is approximately proportional

Geometry Optimizations and Transition State Searching61

Geometry Optimizations

to the number of atoms (N), and the time per cycle is proportional
to N2.

Block Diagonal
The Newton-Raphson block diagonal method is a second order
optimizer. It calculates both the first and second derivatives ofpotential energy with respect to Cartesian coordinates. These
derivatives provide information about both the slope and curvature of the potential energy surface. Unlike a full Newton-Raphson
method, the block diagonal algorithm calculates the second derivative matrix for one atom at a time, avoiding the second derivatives with respect to two atoms.
This technique is available only for the MM+ force field. As is true
for the conjugate gradient methods, you should not use this algorithm when the initial interatomic forces are very large (meaning,the molecular structure is far from a minimum).
Note: Because of its neglect of off-diagonal blocks, this optimizer
can sometimes oscillate and fail to converge. In this case, use a
conjugate gradient method.

Eigenvector Following
The Eigenvector Following method is in some ways similar to the
Newton-Raphson method. Instead of explicitly calculating the second derivatives, it uses a diagonalized Hessian matrix to implicitly
give the second derivatives of energy with respect to atomic displacements. The initial guess is computed empirically.
This method is available for all semi-empirical methods except
Extended Hückel, and for ab initio calculations. This algorithm
may be used if the structure is far from a minimum.

Conjugate Directions
The Conjugate Direction method like the Conjugate Gradientmethod seeks to define directions of search that are conjugate toeach other, i.e. optimum. Unlike the Conjugate Gradient optimizers, however, a conjugate direction optimizer only uses values of
the independent variable itself without information about the gradient.

62

Chapter 5

Geometry Optimizations

This makes such an optimizer much more generic since the valueof the variable (energy) is almost always available while the gradients of that energy (or forces) may be more difficult to compute.
Thus, for example, the MP2 correlation energy is relatively easy tocompute while all the gradients for an MP2 calculation are moredifficult to compute. Thus, a conjugate direction optimizer is theeasiest to use or implement and sometimes only this optimizer isavailable for situations like the geometry of a ground state from a
Hartree-Fock plus MP2 model.
On the other hand, a Conjugate Direction optimizer is not as good
as one that has available the first derivatives of the energy. It is
given less information to enable it to find a minimum. In particular it may not have a good idea how close to an energy minimum
it is. The gradient which goes to zero at an energy minimum provides a good measure of convergence and this is unavailable forthe conjugate directions method. Only when it is the only method
available should the Conjugate Directions optimizer commonly be
used.

Setting Convergence Criteria
In setting up an optimization calculation, you can use two convergence criteria: the root-mean-square gradient and the number of
optimization cycles.
You should terminate a geometry optimization based upon the
root-mean-square gradient, because the number of cycles needed
to minimize a molecule varies according to the initial forces on theatoms and the type of optimizer used. There is no way of predicting how many cycles are needed for an adequate geometry optimization.
HyperChem automatically calculates a default number of cycles as
15 times the number of atoms. Use the cycle number as a termination condition when mixing optimization algorithms. Suppose
you are preparing a protein for a molecular dynamics simulation.
The initial structure of the protein comes from X-ray crystallography studies. A molecular mechanics force field or a quantum
mechanics method would undoubtedly find some large forces
associated with the protein. An efficient minimization scheme
would first subject the protein to 500–1000 cycles of steepest

eigenvector following

63

Geometry Optimizations

descent minimization. Then it would minimize the structure using
a conjugate gradient or Newton-Raphson optimizer, with the rootmean-square gradient as a termination condition.

Examples of Geometry Optimizations
Example: Saunders used conformational searching and molecularmechanics to investigate the structure of a fully reduced buckminsterfullerene, C60H60.13 By putting one of the hydrogens inside
the reduced buckminsterfullerene he found that the molecule stabilized by 53 kcal/mol. After geometry optimization, the moleculewith one hydrogen inside had three less eclipsed interactions andmore favorable C-C-C angles than the isomer with all hydrogens
outside. A search for other isomers, with different numbers of
inside hydrogens, resulted in the finding that the most stablearrangement has ten hydrogens inside. This isomer, after minimization, had C1 symmetry, with an energy 402 kcal/mol more stable
than the all-outside isomer. Each of the six-membered rings had…
one inside hydrogen, and the closest H H nonbonded distancefor the inside hydrogens was greater than 3 Ångstroms.
Example: Jensen and Gorden calculated the potential energy surface of glycine using ab initio and semi-empirical methods.14 This
study is of special interest to developers of molecular mechanics
force fields. They frequently check their molecular mechanics
methods by comparing their results with ab initio and semi-empirical calculations for small amino acids.
The researchers established that the potential energy surface isdependent on the basis set (the description of individual atomic
orbitals). Using an ab initio method (6-31G*), they found eight Cs
stationary points for the conformational potential energy surface,
including four minima. They also found four minima of Cs symmetry. Both the AM1 and PM3 semi-empirical methods foundthree minima. Only one of these minima corresponded to the
6-31G* conformational potential energy surface.

13. Saunders, M. Buckminsterfullerene: The inside story. Science 253:330-331, 1991
14. Jensen, J.H.; Gordon, M.S. The conformational potential energy surface of glycine: A
theoretical study. J. Am. Chem. Soc. 113:7917-7924, 1991.

64

Chapter 5

Geometry Optimizations

Solvation and Periodic Boundary Conditions
Solvation can have a profound effect on the results of a chemical
calculation. This is especially true when the solute and solvent arepolar or when they can participate in hydrogen bonding. The solvent effect is expressed in several ways, including these:•

The solvent can strongly influence the energies of different
solute conformations or configurations of atoms.

•

The nature of solute-solute and solute-solvent interactions isdependent on the solvent environment. Solvent influences
the hydrogen-bonding pattern, solute surface area, and hydrophilic and hydrophobic group exposures.

Be cautious when projecting the results of calculations in one solvent to those using a different environment.
HyperChem uses the TIP3P water model for solvation.15 You canplace the solute in a box of TIP3P water molecules and impose periodic boundary conditions. You may then turn off the boundary
conditions for specific geometry optimization or molecular
dynamics calculations. However, this produces undesirable edge
effects at the solvent-vacuum interface.
Periodic boundary conditions place the molecular system in a box.
Virtual identical images surround the initial box. The atoms farthest from the center of the original box no longer suffer frominteractions with an edge, since the original box now meets animage of itself in all directions. HyperChem uses 26 virtual images.
The solute in the original box interacts only with its nearest neighbor solute images.
Since the periodic images are exact copies of the original box,
movements of atoms in the original box are duplicated in theimages. When a particle leaves a box, its periodic image entersfrom the opposite box side and replaces it. This conserves thenumber of atoms in each box.

15. Jorgensen, W.L.; Chandrasekhas, J.; Madura, J.D.; Impey, R.W.; Klein, M.L. Comparisonof simple potential functions for simulation liquid water. J. Chem. Phys. 79:926-935, 1983.

eigenvector following

65Geometry Optimizations

Choose the nonbonded cutoff carefully when using periodic
boundary conditions. The cutoff must be small enough to preventan atom from interacting simultaneously with another atom andwith that atom’s virtual image.
A

B

C

A

B

C

A

A

B

B

C

C

t + δttThis example shows the round particle in cell {B,B} with two possible nonbonded cutoffs. With the outer cutoff, the round particle
interacts with both the rectangle and its periodic image. By reducing the nonbonded cutoff to an appropriate radius (the inner circle), the round particle can interact with only one rectangle—in
this case, the rectangle also in cell {B,B}.
For a rectangular box, the nonbonded cutoff should be less than
one-half the smallest box dimension.
abccutoff < 1/2b

66

Chapter 5Transition State SearchingTransition State Searching
HyperChem can calculate transition structures with either semiempirical quantum mechanics methods or the ab initio quantum
mechanics method. A transition state search finds the maximum
energy along a reaction coordinate on a potential energy surface.
It locates the first-order saddle point; that is, the structure with
only one imaginary frequency, having one negative eigenvalue.
There are excellent references for transition state search calculations and methods:
1. Baker, J., “An Algorithm for the Location of Transition States,”J. Comp. Chem, Vol. 7(4), 385-395 (1986)
2. Peng, C. and Schlegel, H.B., “Combining Synchronous Transit
and Quasi-Newton Methods to Find Transition States”, Israel
Journal of Chemistry, Vol. 33, 449-454 (1993)
Computational strategies and many examples can also be foundin: Hehre, W.J., Radom, L., Schleyer, P. von R., and Pople, J. A., Ab
Initio Molecular Orbital Theory, John Wiley & Sons, New York, 1986.
To find a first order saddle point (i.e., a transition structure), a maximum must be found in one (and only one) direction and minima
in all other directions, with the Hessian (the matrix of second
energy derivatives with respect to the geometrical parameters)
being varied. So, a transition structure is characterized by the point
where all the first derivatives of energy with respect to variation ofgeometrical parameters are zero (as for geometry optimization)and the second derivative matrix, the Hessian, has one and only
one negative eigenvalue.
You might perform a transition geometry optimization calculation
with one of these goals in mind:
1. Characterize a potential energy maximum along the reaction
coordinate. Transition state searching results in a new structure. You can examine the atomic coordinates and energy ofthis structure.
2. Characterize a potential energy surface for a certain number ofatoms, i.e., detect all the local energy minima, the global minimum on the surface, and all the transition states between different minima.

eigenvector following

67

Transition State Searching

3. Calculate activation energies for chemical processes andenergy barriers for isomerization between different isomers of
the same molecule.
HyperChem supplies two different types or algorithms for transition state search: eigenvector following and synchronous transit(linear and quadratic search).

Eigenvector Following
The eigenvector-following (or Hessian mode) method implemented in HyperChem is based on an efficient quasi-Newton likealgorithm for locating transition states, which can locate transition states for alternative rearrangement/dissociation reactions,even when starting from the wrong region on the potential energy
surface.
The algorithm consists of several steps. The first one involves making an initial guess at the position of the transition state. It will calculate the gradient vector g and the Hessian matrix H, at the initialpoint. The second step involve diagonalization of the Hessian anddetermination of local surface characteristics (number of negative
eigenvalues). The next step depends on the structure of the Hessian. If the Hessian has the wrong number of negative eigenvalues,
it will determine which Hessian mode has the greatest overlap
with the eigenvector followed. If mode following has not beenswitched on, this algorithm will follow the lowest mode. The next
step will determine SCF convergence. If the criteria are satisfied, it
will stop at this point as the position of the transition state. If convergence criteria are not satisfied, it will calculate the energy andgradient vector at the new point, provided that maximum numberof steps has not been exceeded.
If a transition state has not been reached after a certain number ofsteps, the user may need to upgrade the Hessian and repeat the calculation. It may be necessary if many calculation steps have been
done, and the current geometry differs considerably from the starting point. The Hessian calculated at the starting point and updated
at each new point may not be appropriate at the geometry reachedby the search. This procedure can also help to get to a good starting
point where the Hessian has a correct structure with only one negative eigenvalue.

68

Chapter 5Transition State Searching

HyperChem uses the eigenvector following method described in
Baker, J, “An Algorithm for the Location of Transition States,”J. Comp. Chem, Vol. 7(4), 385-395 (1986).

Synchronous Transit
The synchronous transit method is also combined with quasiNewton methods16 to find transition states. Quasi-Newton methods are very robust and efficient in finding energy minima. Basedsolely on local information, there is no unique way of moving
uphill from either reactants or products to reach a specific reaction
state, since all directions away from a minimum go uphill. HyperChem has two synchronous transit methods implemented. The
linear synchronous transit method (LST) searches for a maximum
along a linear path between reactants and products. It may happen
that this method will end up with a structure having two or morenegative eigenvalues. The quadratic synchronous transit method(QST) is an improvement of the LST approach and searches for a
maximum along a parabola connecting reactants and products,
and for a minimum in all directions perpendicular to the parabola.
HyperChem offers a Reaction Map facility under the Setup menu.
This is needed for the synchronous transit method to match reactants and products, and depending on λ (a parameter having values between 0 and 1, determining how far away from reactants
structures a transition structure can be expected) will connect
atoms in reactants and products and give an estimated or expectedtransition structure. This procedure can also be used if the eigenvector following method is later chosen for a transition state
search method, i.e., if you just want to get an estimate of the transition state geometry.
HyperChem uses the synchronous transit method described inPeng, C., and Schlegel, H.B., Israel Journal of Chemistry, 33, 449-454(1993).

16. Banerjee, A., Adams, N., Simons, J., and Shepard, R., J. Phys. Chem. 87, 52(1985); Simons,J., Nichols, J., Int. J. Quantum Chem., Quantum Chem. Symp. 24, 263(1990)

eigenvector following

69

70

Chapter 6
Molecular Dynamics
Molecular dynamics simulations calculate future positions andvelocities of atoms, based on their current positions and velocities.16 A simulation first determines the force on each atom (Fi) as
a function of time, equal to the negative gradient of the potential
energy (equation 21).
∂V
F i = – -----∂r i(21)

where V = potential energy function and ri = position of atom i.
You can then determine the acceleration, ai, of each atom by dividing the force acting on it by the mass of the atom (equation 22).
F
a i = ------i
mi

(22)

The change in velocities, vi, is equal to the integral of acceleration
over time. The change in the position, ri, is equal to the integral of
velocity over time. Kinetic energy (K) is defined in terms of thevelocities of the atoms (equation 23).
1
K = --2

N

∑m v

2
i i

(23)

i=1

The total energy of the system, called the Hamiltonian, is the sumof the kinetic and potential energies (equation 24).
16. See van Gunsteren, W.F.; Berendsen, H.J.C. Computer simulation of molecular dynamics– methodology, applications, and perspectives in chemistry Angewandte Chemie, International Edition in English, 29:992-1023, 1990, and Karplus, M.; Petsko, G.A. Molecular dynamics
simulations in biology Nature 347:631-639, 1990.

71

Integration Algorithm

H ( r, p ) = K ( p ) + V ( r )(24)where r = the set of Cartesian coordinates and p = the momenta of
the atoms.

Integration Algorithm
If the atomic positions at a particular time, t, are ri (t), the velocities, vi (t), are the first derivative of the positions with respect totime (equation 25).
dv i ( t ) = ----- r i ( t )
dt

(25)

HyperChem employs the leap frog algorithm to integrate theequations of motion. This algorithm updates the positions ofatoms and the velocities for the next time step by this calculation(equation 26).
1v i  t + --- ∆ t = v i  t – 1--- ∆ t + ∆ ta i ( t )
 2 
 2 

(26)

In the first time step (∆t), the velocities advance from time
t=0 to (t +1/2 ∆t). In doing so, they “leap” over the positions attime t. The current velocities are then calculated using equation
27. This equation supplies only approximate velocities used to calculate energies at time t.
1
1v i ( t ) = --- v i  t + --- ∆ t + v i  t – 1--- ∆ t 2 
2  2 (27)

The acceleration is determined and the cycle renewed. In the subsequent steps, the velocities advance from t–1/2 ∆t to t+1/2 ∆t. The
resulting set of positions and velocities is the molecular dynamics
trajectory.
During a molecular dynamics simulation, HyperChem stores thecurrent positions, ri (t), and the mid-step velocities, vi (t – 1/2 ∆t).
Since the algorithm provides mid-step velocities, but not velocities, vi (t), for the positions at time t, HyperChem calculates
approximate values of ETOT (t). This results in slightly larger fluctuations in ETOT (t) than an algorithm that calculates exact values ofvi (t).

72

Chapter 6

Integration Algorithm

Length of Simulations
HyperChem integrates the equations of motion using very small
time steps (∆t). At each step, the algorithm evaluates energy andforces of the molecular system. Use a time step of about 0.5 to 1.0
femtoseconds (fs) for an All Atom system or 1 to 2 fs for a United
Atom system. Small time steps allow the simulation to adequately
integrate the highest frequency motions of the system, usuallybond stretching vibrations on the order of several picoseconds.
Adjust ∆t for each molecular system to obtain energy conservation(see the next section).
One drawback to a molecular dynamics simulation is that the trajectory length calculated in a reasonable time is several orders ofmagnitude shorter than any chemical process and most physicalprocesses, which occur in nanoseconds or longer. This allows you
to study properties that change within shorter time periods (suchas energy fluctuations and atomic positions), but not long-term
processes like protein folding.

Conservation of Energy
Molecular dynamics calculations use equations 25–27.
HyperChem integrates equations 26 and 27 to describe themotions of atoms. In the absence of temperature regulation, there
are no external sources or depositories of energy. That is, no otherenergy terms exist in the Hamiltonian, and the total energy of thesystem is constant.
One way to test for success of a dynamics simulation and thelength of the time step is to determine the change in kinetic andpotential energy between time steps. In the microcanonicalensemble (constant number, volume, and energy), the change inkinetic energy should be of the opposite sign and exact magnitude
as the change in potential energy. Though the total energy of thesystem should not change during the simulation, molecular
dynamics simulations only approximate this condition. Energy
conservation is difficult to achieve using computers with finite
precision.
Because of limitations in computer power and time, it is frequently
impractical to run a constant energy molecular dynamics simulation. Several approximations to the energy (usually to the potential energy) are possible, which require modifying the HamiltoMolecular Dynamics

73Temperature Control

nian. The most extreme approximation is to cut off intermolecular
nonbonded interactions. Another common modification is temperature scaling: changing the atomic velocities to maintain adesired amount of kinetic energy.

Temperature Control
In a molecular dynamics calculation, you can add a term to adjust
the velocities, keeping the molecular system near a desired temperature.17 During a constant temperature simulation, velocities are
scaled at each time step. This couples the system to a simulated
heat bath at T0, with a temperature relaxation time of τ. The velocities are scaled by a factor λ, where1⁄2∆t T
λ = 1 + -----  -----0 – 1

τT

(28)

If the coupling parameter (the Bath relaxation constant inHyperChem), τ, is too “tight” (<0.1 ps), an isokinetic energy
ensemble results rather than an isothermal (microcanonical)
ensemble. The trajectory is then neither canonical or microcanonical. You cannot calculate true time-dependent properties orensemble averages for this trajectory. You can use small values of τ
for these simulations:•

To obtain a minimum energy structure at 0K.

•

To reach equilibrium temperature quickly before starting theequilibration phase of a simulation (see “Equilibration andData Collection” on page 76).

If the Bath relaxation constant, τ, is greater than 0.1 ps, you shouldbe able to calculate dynamic properties, like time correlation functions and diffusion constants, from data in the SNP and/or CSV
files (see “Collecting Averages from Simulations” on page 88).17
Note: This method of temperature regulation does not give allproperties of the canonical ensemble. In particular, you cannot
calculate CV, heat capacity at constant volume.
17. Berendsen, H.J.C., Postma, J.P.M.; van Gunsteren, W.F.; DiNola, A.; Haak, J.R. Molecular
Dynamics with coupling to an external bath J. Chem. Phys. 81:3684, 1984.

74

Chapter 6

Translational and Rotational Quenching

For a stable trajectory, use a Bath relaxation constant greater than
0.1 ps. A constant of 0.01 ps is too small and causes disturbances
in a simulation.17

Translational and Rotational Quenching
During a molecular dynamics trajectory, energy that resides ininternal degrees of freedom can be transformed into translationalor rotational energy. This may be undesirable if one prefers tofocus on the internal degreees of freedom and not have the system
rotate or translate off the screen, for example. Dialog box items areavailable to measure rotational and translation energy and toquench either or both of them as desired.

Simulation Periods
A molecular dynamics simulation can have three distinct time andtemperature periods: heating, simulation (run), and cooling. If you
want to measure equilibrium properties of a molecular system, you
can divide the simulation period into two parts: equilibration anddata collection.

Initial Conditions and Heating
A molecular dynamics simulation usually starts with a molecular
structure refined by geometry optimization, but without atomic
velocities. To completely describe the dynamics of a classical system containing N atoms, you must define 6N variables. These correspond to 3N geometric coordinates (x, y, and z) and 3N variables
for the velocities of each atom in the x, y, and z directions.
To begin a molecular dynamics simulation from this static structure, HyperChem assigns velocity values that are realistic for themolecular system at a designated temperature.
Since HyperChem-constructed molecular systems are near 0 K (theatoms have zero velocity), a simulation usually begins by adjusting
the system to a higher temperature during a heating step. Heating
can take place in one step (from near 0 K to simulation temperature), but it is better to heat to the simulation temperature slowly,
in small temperature increments. Slow heating allows the system

Molecular Dynamics

75

Simulation Periods

to approach equilibrium during each heating step, so the system
requires less time at the simulation temperature to reach equilibrium.
HyperChem can either use initial velocities generated in a previous
simulation or assign a Gaussian distribution of initial velocities
derived from a random number generator. Random numbers avoid
introducing correlated motion at the beginning of a simulation.
HyperChem immediately scales (adjusts) the velocities of each
atom so that the total kinetic energy is equal to 3/2kT, where k is
the Boltzmann constant and T is the specified starting temperature. Scaling creates a Gaussian distribution of velocities. After 100
to 300 steps of a simulation, this becomes a Boltzmann distribution.
Caution: For molecular dynamics simulations, use molecules thatare optimized to an energy minimum or to a small gradient value.
For room temperature simulations, the gradient should be ≤ 3. Atlower temperatures, the gradient should be smaller. This avoids
artifacts caused by huge local forces in a high energy region. If aregion of the molecule is highly strained, the molecular dynamics
simulation tries to release the strain during the first few steps, leading to an explosion of the molecule or to structural distortion.
Adequate geometry optimization is particularly important formolecular dynamics simulations of peptides or of large, flexible
molecules.

Equilibration and Data Collection
In many molecular dynamics simulations, equilibration is a separate step that precedes data collection. Equilibration is generally
necessary to avoid introducing artifacts during the heating stepand to ensure that the trajectory is actually simulating equilibrium
properties. The period required for equilibration depends on theproperty of interest and the molecular system. It may take about
100 ps for the system to approach equilibrium, but some properties are fairly stable after 10–20 ps.18 Suggested times range from 5
ps to nearly 100 ps for medium-sized proteins.
Equilibration corrects the velocities of atoms. Velocities resulting
from heating do not simulate the type of motion found in a realmolecular system. Instead, these velocities depend on a random
18. Levitt, M.; Sharon, R. Proc. Nat. Acad. Sci. (U.S.) 85:7557–7561, 1989.
76

Chapter 6

Simulation Periods

distribution of values corresponding to a given temperature andon the forces in a partially minimized structure.
To generate characteristic velocities and bring a molecular system
to equilibrium at the simulation temperature, atoms are allowed tointeract with each other through the equations of motion. For isothermal simulations, a “temperature bath” scales velocities todrive the system towards the simulation temperature. Scaling
occurs at each step of a simulation, according to equation 28.

Tests for Equilibration
To determine when a molecular system reaches equilibrium, you
can monitor fluctuations in temperature, kinetic energy, totalenergy, number of hydrogen bonds or nonbond contacts, or thenumber of times a particular configuration occurs. If you plot
potential energy against time during a constant temperature run,then equilibration is close when average potential energy is constant. Other properties of the molecular system may also become
constant unless a major conformational change occurs.

Effect of Solvent on Equilibration
In systems with solvent molecules, many properties may still show
fluctuations even after equilibration periods lasting several tens ofpicoseconds.
Molecular dynamics simulations of proteins often begin with aknown structure (such as an X-ray diffraction structure) that you
want to maintain during equilibration. Since the solvent may contain high energy hot spots, equilibration of the protein and solvent at the same time can change the protein conformation. To
avoid this, select only the water molecules and run a molecular
dynamics equilibration. This relaxes the water while fixing theprotein structure. Then deselect the water and equilibrate thewhole system.
Caution: During a simulation, solvent temperature may increase
while the solute cools. This is particularly true of small solvent
molecules, such as water, that can acquire high translational androtational energies. In contrast, a macromolecule, such as a peptide, retains most of its kinetic energy in vibrational modes. This
problem remains unsolved, and this note of caution is provided toadvise you to give special care to simulations using solvent.

Molecular Dynamics

77

Examples of Molecular Dynamics Simulations

Collecting Data
After initial heating and equilibration, the trajectory may be stable
for thousands of time points. During this phase of a simulation,
you can collect data. Snapshots and CSV files (see “Collecting
Averages from Simulations” on page 88) store conformational andnumeric data that you can later use in thermodynamic calculations.
In general, the longer the simulation, the more reliable the calculated properties. You can also average the data from several simulations.
Generating several different trajectories for the same molecularsystem can lead to more accurate and more reliable simulations ofreal physical systems and their properties. To increase the sampling of conformational states, you can run several mediumlength simulations from the same molecular geometry but withdifferent initial velocities or velocity vectors. You can change the
distribution of velocities—but not their initial directions—by
changing the number and size of heating steps. To change thedirections of the initial velocities, you can rotate the molecularsystem in the Molecular Coordinate System, changing atomic
coordinates.

Cooling
Cooling a molecular system after heating or equilibration canserve these functions:•

Reduce stress on molecules caused by a simulation at elevatedtemperatures. The cooling process, called simulated annealing,takes new, high energy conformational states toward stableconformations.

•Overcome potential energy barriers and force a molecule intoa lower energy conformation than the one you might obtainusing geometry optimization alone.

Examples of Molecular Dynamics Simulations
Example: Brady investigated classical dynamics of α-d-glucose inwater.19 In this simulation, 207 water molecules surrounded one

78

Chapter 6

Strategies

α-d-glucose. The system was in a cubic box with periodic boundary
conditions. During the simulation, several hydroxyl group transitions occurred. These transitions are normally unlikely with an invacuo simulation.

You can detect hydroxyl group transitions by plotting dihedral
angles versus time over the course of the simulation. This is the“distance history.” Brady investigated the distance history of water
near the hydroxyl groups and found that the water structure forsome conformations of the C-2 hydroxyl were different than for
the anomeric hydroxyl group. He suggested that this difference
might be related to the free energy differences between the α- andβ-anomers.
Example: Paulsen and Ornstein investigated the molecular
dynamics of a 414-amino acid protein, cytochrome p-450cam.20
The 175-psec simulation, with 40 psec used to equilibrate the protein, was carried out at constant temperature. The simulation was
performed in vacuo, although 204 crystallographic waters were
included in the structure. The trajectory analysis included the calculation of root-mean-square deviations and fluctuations, dihedral angle changes, and a hydrogen bond analysis. The authors
analyzed the dynamic motion near the protein binding site withrespect to a ‘gate-opening’ mechanism for substrate binding. In
this example, the simulation does not model the motions of theprotein.

Strategies
Molecular dynamics simulations can overcome energy barriers andprovide information about the time-dependent motion of molecular systems. You can use various strategies to set up and run amolecular dynamics simulation, depending on your objective.
This section defines many of these strategies and discusses specificconsiderations in setting up a simulation.

19. Brady, J.W. Molecular dynamics simulations of α-d-glucose in aqueous solution.
J. Am. Chem. Soc. 111:5155–5165, 1989.
20. Paulsen, M.D.; Ornstein, R.L. A 175-psec molecular dynamics simulation ofcamphor-bound cytochrome p-450cam Proteins 11:184–204, 1991.
Molecular Dynamics

79Strategies

Constant Temperature versus Constant Energy
If there is no external temperature control (using a simulated constant temperature bath), molecular dynamics simulations are constant energy.
For a constant temperature simulation, a molecular system is coupled to a heat bath via a Bath relaxation constant (see “Temperature
Control” on page 74). When setting this constant, remember thata small number results in tight coupling and holds the temperature closer to the chosen temperature. A larger number corresponds to weaker coupling, allowing more fluctuation in temperature and possibly an unstable trajectory. However, weak couplingleads to a more natural trajectory.
Most molecular dynamics simulations, and particularly those forproteins, use constant temperature conditions.

Conformational Searching
Molecular dynamics simulations are efficient for searching theconformational space of medium-sized molecules and peptides.
Different protocols can increase the efficiency of the search andreduce the computer time needed to sample adequately the available conformations.

Quenched Dynamics
Quenched dynamics is a combination of high temperature molecular dynamics and energy minimization. This process determines
the energy distribution of conformational families produced during molecular dynamics trajectories. To provide a better estimateof conformations, you should combine quenched dynamics withsimulated annealing.
For a conformation in a relatively deep local minimum, a room
temperature molecular dynamics simulation may not overcome
the barrier and search other regions of conformational space inreasonable computing time. To overcome barriers, many conformational searches use elevated temperatures (600–1200 K) at constant energy. To search conformational space adequately, run simulations of 0.5–1.0 ps each at high temperature and save themolecular structures after each simulation. Alternatively, take asnapshot of a simulation at about one picosecond intervals to store

80

Chapter 6

Strategies

the structure. Run a geometry optimization on each structure andcompare structures to determine unique low-energy conformations.
Note: A molecular dynamics simulation cannot overcome constraints imposed by covalent bonds, such as disulfide bonds andrings. Check that such constraints are acceptable. Search otherpossible structures in separate simulations.
High temperature simulations require special consideration inchoosing the sampling interval (see “Step size” on page 92).
The potential energy functions used in molecular mechanics calculations often cannot simulate the behavior of molecules at hightemperature. This is true for United Atom representations of alphacarbons in amino acids; high temperatures can cause a change inchirality. In some cases, you can use restraints to control the
behavior of molecules at high temperature (see “Using Geometric
Restraints” on page 83).
Researchers report that high temperature molecular dynamics
searches of many different starting conformations are much more
efficient than using one starting structure and longer simulations.

Simulated Annealing
Quenched dynamics can trap structures in local minima. To prevent this problem, you can cool the system slowly to room temperature or some appropriate lower temperature. Then run room
temperature molecular dynamics simulations to search for conformations that have lower energies, closer to the starting structure.
Cooling a structure slowly is called simulated annealing.

Randomization During Molecular Dynamics
A problem in searching conformational space using molecular
dynamics simulations is repeating a trajectory that generates thesame structures. To reduce this possibility, you can randomize thevelocities of the atoms.
To increase the possibly of finding new conformers, try one ofthese techniques:•

Run a molecular dynamics simulation, then rotate the molecular system in the Molecular Coordinate System. This changes

Molecular Dynamics

81Strategies

the coordinates of all atoms, but not the velocity vectors
present at the end of the last molecular dynamics simulation.
•

Run a molecular dynamics simulation. Start another simulation with the same molecular system and with Restart off in
the Molecular Dynamics dialog box. HyperChem assigns a
new set of velocities at random.

Sampling Frequency
One of the most important considerations in using molecular
dynamics for a conformational search is determining the samplinginterval. HyperChem lets you sample the simulation in two ways:•

Snapshots at regular time intervals that store atomic coordinates and velocities. You can play back these snapshots toinspect the simulated structures or to average values. You specify a Snapshot period in the Molecular Dynamics Snapshotsdialog box.

•

Averages or plotted values at regular time intervals. You specify
an Average/Graph period in the Molecular Dynamics Averages
dialog box.

If the sampling interval is too short, the total number of structuresthat belong to unique structural families is small compared to thetotal number available. If the sampling interval is too large, thetotal number of available structures is small, and you can missunique conformations.
High temperature molecular dynamics simulations add anotherconsideration to setting the length of the sampling interval. Low
potential energy regions in a molecule can develop high kinetic
energies and velocities. If you are sampling a molecular dynamics
simulation, you have a higher probability of observing the slowmoving conformations that have higher potential energy. Longer
sampling periods accentuate this effect.
You must consider these factors when deciding on sampling interval. There is no ideal interval for all molecules; however, intervalsof 0.5–1.0 ps are often used.

When is Conformational Space Adequately Sampled?
One of the most important questions for a conformational searchstrategy is, “When have I found all of the energetically interesting82

Chapter 6

Using Geometric Restraints

conformers?” This is an area of active research and the ideal
answer seems to be, “When you find all of the local minima.”
However, this answer is not always reasonable, because medium tolarge molecules have a large number of minima (see “Complexity
of Potential Energy Surfaces” on page 14).
Sometimes you need only a quick survey of the available low
energy structures near a known or suspected minimum. When you
need a broader search, you can assess the completeness of a searchby observing the amount of variation between families of uniquestructures. To obtain this information you can monitor torsion
angles, nonbonded distances, or other properties. You can also
make a histogram of the number of times a search found each conformation. If each structure occurs many times, you can be confident that the search was adequate for that region of the potential
energy surface. If each conformation occurs only one or a few
times, the search may not have covered all possible structures andmore simulations are probably necessary.

Using Geometric Restraints
You can include geometric restraints—for interatomic distances,bond angles, and torsion angles—in any molecular dynamics calculation or geometry optimization. Here are some applications ofrestraints:•

Include experimental data in a geometry optimization ormolecular dynamics search.

•

Force a geometric parameter to cross a barrier during a geometry optimization or molecular dynamics simulation.

•

Reduce the possibility of undesired conformational changes
during a molecular dynamics simulation.

•

Dock two different molecules by restraining intermolecular(interatomic) distances.

Restraints add potential terms to a force field calculation, favoring
the value that you specify in a restraint. The larger the value of theharmonic force constant, the more tightly the calculation restrains
the value.
For all restraints, HyperChem uses named selections that containtwo, three, or four atoms each. You use Name Selection on the
Molecular Dynamics

83Using Geometric Restraints

Select menu to assign names to groups of selected atoms. Then you
can apply named selections as restraints for a calculation in the
Restraint Forces dialog box from Restraints on the Setup menu.
Caution: Restraints may significantly affect the property you areobserving. When using restraints, check their effects on measured
values.

Using Experimental Data as Restraints
You can often use experimental data, such as Nuclear Overhauser
Effect (NOE) signals from 2D NMR studies, as restraints. NOE signals give distances between pairs of hydrogens in a molecule. Usethese distances to limit distances during a molecular mechanics
geometry optimization or molecular dynamics calculation. Information on dihedral angles, deduced from NMR, can also limit a
conformational search.
When using NOE signals as restraints, choose the distance
between the nonbonded atoms. A typical distance is about 4 to 5Ångstroms. A typical force constant is 0.5 to 5.0 kcal/Å2, depending on the flexibility of the rest of the molecule and the strengthof the NOE signal.
You usually remove restraints during the final phases of molecular
dynamics simulations and geometry optimizations.

Crossing Energy Barriers
Restraints can force molecules to cross energy barriers within reasonable calculation times. For example, you can flip a torsion
angle using very high restraint values. This restraint still allows
bond angles and distances for the atoms that define the dihedral
angle to relax during a calculation. You can use this procedure
with either geometry optimization or molecular dynamics.

Limiting Conformational Changes during High
Temperature Simulations
High temperature searches of conformational space (see“Quenched Dynamics” on page 80), can produce unwanted conformational changes, such as cis-trans peptide flips, ring inver-

84

Chapter 6

Using Geometric Restraints

sions, and other changes that you cannot reverse easily by geometry optimization. You can use restraints to prevent these changes.

Molecular Dynamics

85

Freezing Part of a System

Docking Molecules
Restraints can facilitate docking a substrate molecule to a bindingsite. Restraints can also facilitate the interaction of two molecules
in solution. In both cases, it is unlikely that two different neutral
molecules would come into van der Waals contact with each otherwithout the use of restraints.
Example: If a drug molecule interacts with a receptor molecule
through hydrogen bonds, then you might restrain the distance
between the donor and acceptor atoms involved in the hydrogenbonds. During a molecular dynamics simulation, these atoms
would stay near an ideal value, while the rest of the molecular system fully relaxes.
Example: You could explore the possible geometries of two molecules interacting in solution and guess at initial transition structures. For example, if molecule A undergoes nucleophilic attack onmolecule B, you could impose a distance restraint between the two
atoms that would form a bond, allowing the rest of the system torelax. Simulations such as these can help to explain stereochemistry or reaction kinetics and can serve as starting points for quantum mechanics calculations and optimizations.

Freezing Part of a System
You can completely freeze part of a molecule while allowing theremaining atoms to move in the field of the frozen atoms. This
option is useful, for example, in a conformational search of part ofa molecule.
To limit a molecular mechanics calculation to part of a molecule,select the atoms of interest. Only the selected atoms can move, but
the other (frozen) atoms influence the calculation.
To limit a semi-empirical calculation to part of a molecule, selectthe atoms of interest. Then choose Extend to sp3 on the Selectmenu to terminate correctly the selected group of atoms. Only theselected atoms move, but the frozen atoms influence the calculation. This is now possible with all the semi-empirical methods inHyperChem.
To limit an ab initio calculation to part of a molecular system, selectthe molecules of interest. Only the selected molecules move, but
the frozen molecules influence the calculation. The ab initio
86

Chapter 6

Solvent Simulations

method implemented in HyperChem does not support any
boundary atoms between the selected and unselected regions. In
other words, the ab initio method does not accept partially selected
molecule.
Example: You can use this technique to dock a flexible drug molecule (selected) to a rigid receptor site.You can then use restraints tosearch the conformations available to the drug (see “Using Geometric Restraints” on page 83) and to simulate the interactions of
the drug with the macromolecule (see “Docking Molecules” onpage 86).
Example: Molecular dynamics simulations of selected portions ofproteins can demonstrate the motion of an amino acid sequence
while fixing the terminal residues. These simulations can probe
the motion of an alpha helix, keeping the ends restrained, as
occurs naturally in transmembrane proteins. You can also investigate the conformations of loops with fixed endpoints.

Solvent Simulations
Often you need to add solvent molecules to a solute before running a molecular dynamics simulation (see also “Solvation andPeriodic Boundary Conditions” on page 65). In HyperChem,choose Periodic Box on the Setup menu to enclose a solute in a periodic box filled appropriately with TIP3P models of water molecules.

Choice of Dielectric Constant
Before running a molecular dynamics simulation with solvent anda molecular mechanics method, choose the appropriate dielectric
constant. You specify the type and value of the dielectric constantin the Force Field Options dialog box. The dielectric constantdefines the screening effect of solvent molecules on nonbonded(electrostatic) interactions.
Use a constant dielectric of 1.0 with TIP3P water molecules in aperiodic box. Because of the parameterization of TIP3P molecules,
using a distance-dependent dielectric or a value other than 1.0
gives unnatural results.

Molecular Dynamics

87Collecting Averages from Simulations

A distance-dependent dielectric constant is commonly used to
mimic the effect of solvent in molecular mechanics calculations,in the absence of explicit water molecules.

Effects on Dynamic Motion
Including solvent in a molecular dynamics simulation creates africtional force that damps some motion of the solute. This affects
in particular the motions of exposed side chain in proteins.
Caution: Solvation in simulations can significantly increase computation time so that the simulation may be impractical.

Collecting Averages from Simulations
Molecular dynamics calculations can automatically average andsave these values:•

Kinetic energy (EKIN)•

Potential energy (EPOT)•

Total energy (ETOT)•

Temperature (TEMP)•

Any length, bond angle, or torsion defined in a named selection (see the HyperChem Reference Manual)•

The RMS deviation (Dx) of any of the preceding values21

The calculation of average energies and their deviations from themean are useful in several aspects of molecular dynamics simulations, such as these:
Evaluating the stability of a simulation and the extent of equilibration.

•

Identifying possibly interesting low energy conformations.
2

21. D x =〈 x 2〉 – 〈 x〉 , where xi = value of EKIN, ETOT, EPOT, TEMP, or another value,

1〈 x 〉 =  --n

n

2

88

•

2
x i  , and

∑ 

i=1

Chapter 6〈 x〉 2

1=  --n

n

∑

i=1

2


x i .
Collecting Averages from Simulations

You choose the values to average in the Molecular Dynamics Averages dialog box. As you run a molecular dynamics simulation,
HyperChem stores data in a CSV file. This file has the same nameas the HIN file containing the molecular system, plus the extension .csv. If the molecular system is not yet stored in a HIN file,
HyperChem uses the filename chem.csv.
For more information about the contents of CSV files, see appendix A, “HyperChem Files”, in the HyperChem Reference Manual.

Evaluating Stability and Equilibration
Successful molecular dynamics simulations should have a fairly
stable trajectory. Instability and lack of equilibration can result
from a large time step, treatment of long-range cutoffs, or unrealistic coupling to a temperature bath.

Constant Energy Simulations
You can check the success of a simulation by studying averages ofthe energy terms and their deviations. Since energy is conserved ina constant energy simulation, you can monitor the equilibration
by dividing the deviation of the total energy (D ETOT) by the average total energy (ETOT). The data to calculate these averages is in
the CSV file. This is a convenient way to obtain the averages for amolecular dynamics run:
4. Before starting a molecular dynamics simulation, L-click on
Averages in the Molecular Dynamics Options dialog box.
5. Choose D ETOT and Add to average this value. Repeat this process for ETOT. L-click OK.
6. Set options for the simulation and L-click Proceed.
7. After a molecular dynamics simulation or the playback of asimulation, L-click on Averages in the Molecular Dynamics
Options dialog box.
8. L-click on D ETOT. The average appears below, after Value.
Write down this number. Repeat for ETOT. This averagereplaces the previous average.
9. Calculate the ratio.
For simulations of liquids, the generally accepted upper limit for
the ratio is 0.0001. For proteins and macromolecules, this number
Molecular Dynamics

89Collecting Averages from Simulations

can be larger, about 0.001. However, constant energy simulationsof proteins are uncommon.
You can also use deviation of the total energy (D ETOT) divided by
the deviation of the kinetic energy (D EKIN) to assist in evaluating
the quality of a simulation. Acceptable ratios are less than 0.05.

Constant Temperature Simulations
To some extent you can monitor constant temperature simulations by the temperature (TEMP) and its deviation (D TEMP) or bykinetic energy (EKIN) and its deviation (D EKIN). Plot these values
using the HyperChem Molecular Averages dialog box.
Large deviations in temperature and kinetic energy indicate there
is a problem with the simulation or improper equilibration. Large
fluctuations often accompany conformational or other geometry
changes that induce rapid changes in the potential energy. It isuseful to monitor both the kinetic and the potential energies as afunction of time.

Conformational Searches
A molecular dynamics simulation used for a conformational
search can provide a quick assessment of low energy conformers
suitable for further analysis. Plot the average potential energy ofthe molecule at each geometry. This plot may also suggest conformational changes in a molecule.
Evaluating average distances, angles, and torsion angles, plus theirdeviations, can facilitate understanding of detailed molecularproperties and functional characteristics.
Example: The distance between two ends of a large, flexible molecule can provide information about its structural properties or its
interaction with solvent. Analysis of an angle can reveal a hinged
motion in a macromolecule.
Example: You can monitor improper torsion angles to determine
which side of a substrate molecule faces the active site of a protein.
Select three atoms on the substrate molecule and a fourth in theactive site. These atoms define an improper torsion angle. Save thisselection as a named selection. Then observe a plot of thisimproper torsion angle (in the Molecular Dynamics Results dialog

90

Chapter 6

Setting Up a Molecular Dynamics Simulationbox) to follow the motion of the substrate as it interacts with themacromolecule.

Setting Up a Molecular Dynamics Simulation
Heating Time
The choice of heating time depends on the purpose of the molecular dynamics simulation. If the simulation is for conformational
searches, the heating step is not critical for a successful calculation.
The heating step may be rapid to induce large structural changes
that provide access to more of the conformational space.
Heating and equilibration are critical (see page 75 and page 76) forinvestigating equilibrium properties of a molecular system. Several
strategies are available to heat and equilibrate molecules.
For simulations of biological molecules, many researchers advocate slow heating. This allows the molecule to heat while keeping
the structure close to the starting conformation. These simulations
often investigate the potential energy surface near an important
local minimum, such as a crystal structure.The heat time might bein the range of 510 ps, with a temperature step of 6 K, until the system reaches a simulation temperature of 300 K. The heating rate
(30 K/ps) should allow a molecule to equilibrate during each temperature step.
For constant energy simulations without temperature regulation,use heating steps of about 0.5 ps and a heating time of 20–30 ps.
In general, short heating times and large temperature steps perturb
the initial system more than longer heating times and small temperature steps.

Simulation or Run Time
The simulation or run time includes time for the system to equilibrate at the simulation temperature plus the time for data collection, while the trajectory evolves. Simulation times depend on thetime scale of the property you are investigating.
Example: For a medium-sized molecule in the gas phase, withvibrations larger than 50 cm–1, a trajectory of only 10 ps should be
adequate to explore motions due to vibrations.
Molecular Dynamics

91Setting Up a Molecular Dynamics Simulation

Example: For protein molecules with motions occurring at a frequency of about 1 cm–1, the vibrational period is about 30 ps.
Clearly, simulations of hundreds of picoseconds are necessary toprobe adequately the motions of this system.

Cooling (Annealing) TimeUse the cooling time for simulated annealing (see “Cooling” onpage 78). For simulated annealing following high temperature
molecular dynamics (for example, 600 K), cool the system slowly
to 300 K or lower. The result is a single molecular structure. To savecomputing time and obtain more annealed structures, start each
new high temperature simulation from the coordinates and velocities of the previous high temperature simulation.

Step Size
Step size is critical in all simulations. This is the increment for integrating the equations of motion. It ultimately determines theaccuracy of the numerical integration. For molecules with highfrequency motion, such as bond vibrations that involve hydrogens, use a small step size.
Temperature also determines step size. An acceptable time step forroom temperature simulations is about 0.5–1 fs for All Atom systems or for simulations that do not constrain hydrogen atoms. For
United Atom systems or systems containing only heavy atoms,
you can use steps of 1–2 fs.
In general, smaller time steps generally lead to more accurate trajectories, but they can increase computing time significantly. Since
each integration step requires about the same computing time,decreasing the time step from 1.0 fs to 0.1 fs may require an orderof magnitude more time. You must balance accuracy with available computing resources.
Higher temperatures correspond to increased velocities and greater
distances traveled by atoms between time steps. Generally, thelength of a time step should allow only a small energy change.
However, high temperature simulations can cause large energychanges between time steps, resulting in inaccurate integrations
and unstable molecular dynamics trajectories. If a high temperature conformational search uses a large time step (> 1 fs), a molec-

92

Chapter 6

Bond Breaking

ular structure can explode. These simulations sometimes requiretime steps as small as 0.1 fs.

Temperature
The temperature of a simulation depends on your objectives. Youmight use high temperatures to search for additional conformations of a molecule (see “Quenched Dynamics” on page 80). Roomtemperature simulations generally provide dynamic properties ofmolecules such as proteins, peptides, and small drug molecules.
Low temperatures (<250 K) often promote a molecule to a lower
energy conformation than you could obtain by geometry optimization alone.

Scripts
Molecular dynamics trajectories can be generated initially (realtime) or played back later at faster speed (playback-time). At playback time, it is possible to run any HyperChem script at each playback time step. This can be a very generic operation. For example,
a trajectory might be generated and at playback time a quantum
mechanical single point calculation might be requested, alongwith display of the electron density. This would result in a “movie”
showing how the 3D electron density changes in time along a trajectory of the molecular system. This capability could be use, forexample, to show the orbital changes during a chemical reaction.
The procedure for running a script during molecular dynamics
play back is to place a script with a specific name in the HyperChem
Program folder. This name is chem-dynamics.scr. If such a script
exists, then it will be run at every playback time step. If it doesn’t
exist with this specific name, then play back will occur as normal.
This functionaity is similar to that for chem.scr which is run at
instantiation time, if the script exists in the program folder.

Bond Breaking
Quantum mechanical calculation of molecular dynamics trajectories can simulate bond breaking and formation. Although you do
not see the appearance or disappearance of bonds, you can plot the
distance between two bonded atoms. A distance exceeding a theoretical bond length suggests bond breaking.
Molecular Dynamics

93Bond Breaking

94

Chapter 6

Chapter 7
Langevin Dynamics andMonte Carlo
Langevin Dynamics
The molecular dynamics method is useful for calculating the timedependent properties of an isolated molecule. However, more
often, one is interested in the properties of a molecule that is interacting with other molecules. With HyperChem, you can add solvent molecules to the simulation explicitly, but the addition ofmany solvent molecules will make the simulation much slower. A
faster solution is to simulate the motion of the molecule of interest
using Langevin dynamics.
Langevin dynamics simulates the effect of molecular collisions
and the resulting dissipation of energy that occur in real solvents,
without explicitly including solvent molecules. This is accomplished by adding a random force (to model the effect of collisions)and a frictional force (to model dissipative losses) to each atom ateach time step. Mathematically, this is expressed by the Langevinequation of motion (compare to Equation (22) in the previous
chapter):

ai =

Fi
R
− γvi + i .
mimiHere, γ is the friction coefficient of the solvent, in units of ps-1,
and Ri is the random force imparted to the solute atoms by the solvent. The friction coefficient is related to the diffusion constant Dof the solvent by Einstein’s relation: γ = kBT/mD. The random force
is calculated as a random number, taken from a Gaussian distribu-

95

Langevin Dynamics

tion, with an average value of zero and no correlation with theatom’s velocity.

Integration Algorithm
To integrate the Langevin equation, HyperChem uses the methodof: M.P. Allen and D.J. Tildesley, Computer Simulation of Liquids,
Clarendon Press, Oxford, 1987; Ch.9, page 261:r(t+∆t) = r(t) + c1∆tv(t) + c2∆t2F(t)/m + ∆rGv(t+∆t) = c0v(t) + c1∆tF(t)/m + ∆vG
where:
c0 = e-t
c1 = (1 – c0)/(γ ∆t)c2 = (1 – c1)/(γ ∆t)and ∆rG and ∆vG are random numbers chosen from a Gaussian distribution, with:∆r G = 0∆v G = 0
and standard deviations:
σr2 = ∆t2(kBT/m)(γ ∆t)-1(2 - (γ ∆t)-1(3 - 4 e-γ ∆t + e-2γ ∆t))σv2 = (kBT/m)(1 - e-2γ ∆t)
σr and σv are correlated, with correlation coefficient crv, defined
through the relation:

crvσrσv = ∆t(kBT/m)(γ ∆t)-1(1 - e-2γ ∆t)Assuming that the interatomic force term F(t) varies linearly withtime, the equations above can be rewritten in a form which produces more accurate simulations:r(t+∆t) = r(t) + c1∆tv(t) + c2∆t2F(t)/m + ∆rGv(t+∆t) = c0v(t) + (c1 - c2)∆tF(t)/m + c2∆tF(t+∆t)/m + ∆vG
96

Chapter 7

Langevin Dynamics

As γ approaches zero, this method reduces to the velocity Verlet
algorithm:r(t+∆t) = r(t) + ∆tv(t) + ½∆t2F(t)/mv(t+∆t) = v(t) + ½∆t[F(t) + F(t+∆t)/m]

Setting Up a Langevin Dynamics Simulation
In general, Langevin dynamics simulations run much the same as
molecular dynamics simulations. There are differences due to thepresence of additional forces. Most of the earlier discussions (seepages 71–94 and p. 342-360 of this manual) on simulation parameters and strategies for molecular dynamics also apply to Langevindynamics; exceptions and additional considerations are noted
below.

Heating Time, Run Time, and Cooling Time
Most of the considerations described previously regarding theheat, run, and cool phases of a molecular dynamics simulation
apply also to simulations that employ Langevin dynamics (see“Setting Up a Molecular Dynamics Simulation” on page 91). As
with molecular dynamics, the time needed for these phases
depends upon the purpose of the simulation and on the intrinsic
dynamics of the system being studied as well. Gradual heating isneeded for investigations of equilibrium properties. Conformational searches, on the other hand, are often successful with larger
temperature steps and may be carried out with a very short heat
period.

Time Step
When the friction coefficient is set to zero, HyperChem performs
regular molecular dynamics, and one should use a time step thatis appropriate for a molecular dynamics run. With larger values ofthe friction coefficient, larger time steps can be used. This isbecause the solution to the Langevin equation in effect separates
the motions of the atoms into two time scales: the short-time (fast)
motions, like bond stretches, which are approximated, and longtime (slow) motions, such as torsional motions, which are accurately evaluated. As one increases the friction coefficient, theshort-time motions become more approximate, and thus it is lessimportant to have a small timestep.
Langevin Dynamics and Monte Carlo97

Langevin Dynamics

Temperature
Temperature is handled the same way in Langevin dynamics as it
its in molecular dynamics. High temperature runs may be used toovercome potential energy barriers. Cooling a system to a low temperature in steps may result in a different stable conformation
than would be found by direct geometry optimization.

Constant Temperature vs. Constant Energy
As with molecular dynamics, Langevin dynamics simulations may
be run at constant temperature, using the heat bath describedunder “Temperature Control” on page 74 to regulate the temperature. In the absence of coupling to a heat bath, the simulations are
conducted at constant energy. For a constant temperature simulation, the bath relaxation constant determines the strength of thecoupling to the bath. A small bath relaxation constant results intight coupling and holds the temperature closer to the chosentemperature. A larger number corresponds to weaker coupling,allowing more fluctuations in temperature (and possibly an unstable trajectory).

Friction coefficient
The friction coefficient determines the strength of the viscous dragfelt by atoms as they move through the medium; its magnitude isrelated to the diffusion coefficient, D, through the relation
γ = kBT/mD. Because the value of γ is related to the rate of decay of
velocity correlations in the medium, its numerical value determines the relative importance of the systematic dynamic and stochastic elements of the Langevin equation. At low values of thefriction coefficient, the dynamical aspects dominate and Newtonian mechanics is recovered as γ → 0. At high values of γ , the random collisions dominate and the motion is diffusion-like.
Example: Conformations of molecules like n-decane can be globally characterized by the end-to-end distance, R. In a comparisonof single-molecule Brownian (Langevin) dynamics to molecular
dynamics, the average end-to-end distance for n-decane from a
600 ps single-molecule Langevin dynamics run was almost identical to results from 19 ps of a 27-molecule molecular dynamics run.
Both simulations were at 481K; the time step and friction coefficient for the Langevin simulation were 0.001 ps and 3.759 ps-1,
respectively.16
98

Chapter 7

Monte Carlo Simulations

Example: The dynamical effects of solvent on supercoiled DNA
have been explored extensively by Langevin dynamics simulations. In one study, the effects of solvent damping and the random
forces due to molecular collisions on the dynamics of DNA supercoiling were examined by systematically varying the viscosity(friction coefficient, γ ) over ten orders of magnitude. Three distinct physical regimes of DNA behavior were identified, from thelow-γ region where DNA motions are mostly harmonic, to thehigh friction limit where the dynamics are dominated by random
forces and the global modes are effectively frozen by overdamping.
Analogous studies of the dynamics of the damped harmonic oscillator exhibit similar behavior.17

Additional Procedures
Refer to the following sections of this manual for related material:“Strategies” on page 79; “Using Geometric Restraints” on page 83;“Collecting Averages from Simulations” on page 88; “Molecular
Dynamics on a Potential Energy Surface” on page 342.

Monte Carlo Simulations
Introduction
Monte Carlo simulations are commonly used to compute the average thermodynamic properties of a molecule or a system of molecules, and have been employed extensively in the study of thestructure and equilibrium properties of liquids and solutions.18
Monte Carlo methods have also been used to conduct conformational searches under non-equilibrium conditions.
Monte Carlo calculations are somewhat similar to the molecular(or Langevin) dynamics calculations discussed earlier. All function
by repeated application of a computational algorithm that generates a new configuration from the current configuration. The
16. W.f. van Gunsteren, H.J.C. Berendsen and J.A.C.Rullmann. “Stochastic dynamics formolecules with constraints. Brownian dynamics of n-alkanes.” Molecular Physics, 1981, Vol.
44, No.1, 69-95.
17. G. Ramachandran and T. Schlick. “Solvent effects on supercoiled DNA dynamics explored by Langevin dynamics simulations.”, Phys.Rev. E, Vol. 51, No. 6, p.6188 (1995).
18. Allen, M. P., and Tildesley, D.J., Computer Simulation of Liquids, Oxford University Press,
New York (1987).

Langevin Dynamics and Monte Carlo99

Monte Carlo Simulations

sequence of configurations of the molecular system constitutes a
trajectory, and after an initial equilibration phase, system properties may be sampled and averaged for the duration of the run toobtain ensemble averages. Dynamics simulations use an equationof motion as the basis for generating new configurations, whichconstitute the dynamical trajectory of the system. Monte Carlosimulations employ a statistical sampling technique to generateconfigurations that represent a trajectory in phase space.
Thus, unlike molecular dynamics or Langevin dynamics, whichcalculate ensemble averages by calculating averages over time,
Monte Carlo calculations evaluate ensemble averages directly bysampling configurations from the statistical ensemble.
If run long enough, Monte Carlo and molecular dynamics should
give the same average results for the same system (provided thatthe system is ergodic). However, only molecular dynamics can calculate time-dependent properties of a system, such as rotationalfrequencies or transition rates. On the other hand, Monte Carlo is
generally better at sampling the allowed states of a system, andthus often can calculate the average properties more quickly andaccurately.

Background and Method
In order to compute average properties from a microscopic
description of a real system, one must evaluate integrals over phasespace. For an N-particle system in an ensemble with distributionfunction P(rN) , the experimental value of a property A(rN) may be
calculated from〈 A(rN) 〉 = ∫ A(rN) P(rN) d rN .

The problem with direct evaluation of this multi-dimensional
integral (apart from the huge number of phase space points to besampled) is that most of the configurations sampled contributenothing to the integral, having energy that is so high that theprobability of their occurrence is vanishingly small. The trick,then, is to generate trajectories that sample commonly occurringconfigurations more than rare ones.
Thermodynamically, the probability of finding a system in a state
whose energy is ∆E above the ground state is proportional toexp(-∆E/kT). HyperChem uses the Metropolis method,19 whichchooses random configurations with this probability, to concen100

Chapter 7

Monte Carlo Simulations

trate sampling of configurations in regions of space that makeimportant contributions to the calculation of thermodynamic
averages.
In the Metropolis method, a randomly selected atom attempts tomove by a random distance in a random direction. The energychange associated with this move is calculated. If the energychange is negative, then the move is accepted, and the energy ofthe system is added to the currently running average. If the energychange is positive, then the move is accepted with probability
exp(-∆E/kT). So, the larger the positive change in energy, the lesslikely it is that the move will be accepted. If a move is rejected,
then the energy of the old configuration is again added to the average.
In HyperChem, the atoms are not chosen randomly, but instead,each atom is moved once per Monte Carlo step.

Monte Carlo Trajectories and Simulation Parameters
Initial Configurations
A good starting configuration for a Monte Carlo simulation is one
that can relax quickly to a structure that is representative of thesystem to be studied. It is not necessary to begin with an energyminimized structure (as with molecular dynamics); in fact, a random configuration could be used, at least in principle. However, inorder to minimize computational time it is best to begin with aphysically reasonable choice. Many simulations of the liquid state
have used a crystal lattice as a reproducible and well-defined starting point. With adequate sampling, results of a simulation will be
independent of the starting configuration; in fact, dependence ofthe results on the starting configuration can be monitored as one
index of the reliability of the simulation.

Temperature
The effect of temperature in Monte Carlo simulations is primarily
to modulate the strength of intermolecular interactions, sincetemperature enters the simulation only through the Boltzmann
factor exp(-∆E/kT) , where ∆E represents a difference in potential
19. Metropolis, N., Rosenbluth, A.W., Rosenbluth, M.N., Teller, A.H. and Teller, E., Equationof state calculations by fast computing machines, J. Chem. Phys. 21, 1087-92 (1953).

Langevin Dynamics and Monte Carlo101

Monte Carlo Simulations

energy. Thus, at higher temperatures, configurations of higher
energy become more probable and contribute more to computed
averages. The simulation temperature also determines the averagekinetic energy, which contributes a fixed amount to the configurationally averaged potential energy to give the average total energy.

Step Size and Acceptance Ratio
The step size, ∆r, is the maximum allowed atomic displacement
used in the generation of trial configurations. The default value ofr in HyperChem is 0.05 Ångstroms. For most organic molecules,
this will result in an acceptance ratio of about 0.5, which meansthat about 50% of all moves are accepted.
Increasing the size of the trial displacements may lead to more
complete searching of configuration space, but the acceptanceratio will, in general, decrease. Smaller displacements generally
lead to higher acceptance ratios but result in more limited sampling. There has been little research to date on what the optimum
value of the acceptance ratio should be. Most researchers tend totry for an average value around 0.5; smaller values may be appropriate when longer runs are acceptable and more extensive sampling is necessary.

Initial Phase and Equilibration
The first phase of a run will, in general, be used to allow the system
to move away from high-energy and thus statistically insignificant
configurations. During this period, the potential energy may
either increase or decrease, depending on the starting point; its
instantaneous value should be monitored. The number of steps
required before equilibration has been achieved and equilibrium
averages can be accumulated is strongly dependent on the system,
the starting point, the step size, and the temperature of the simulation. Typical values for Lennard-Jones liquids are 500-1000 steps.

Equilibration and Statistical Averaging
A thermodynamically stable system conserves energy. Thus, bymonitoring the potential energy one can confirm that a stable(and productive) phase of the simulation has begun. Absence ofsystematic drift in computed averages is often used as a check on
the stability of a Monte Carlo trajectory. Fluctuations in the energy
should be computed and used to quantitatively assess the reliabil-

102

Chapter 7

Monte Carlo Simulations

ity of the run; from statistical mechanics, one expects the meansquared fluctuations in the energy for the canonical ensemble tobe simply related to the constant-volume heat capacity: 〈(δE)2〉 =kBT2 CV . For a simulation of finite duration this equality will not
be strictly obeyed, but it is useful as a limiting value.
Averaging and storage of data for a Monte Carlo run are carried out
in much the same way as for molecular dynamics (see p. 350-357).

Heating and Cooling
The use of heating and cooling phases are optional and not often
used in Monte Carlo simulations. However, they may be useful forsome applications.

Langevin Dynamics and Monte Carlo

103

104

Chapter 8
Using Molecular Mechanics
Methods
HyperChem offers four molecular mechanics force fields: MM+,AMBER, BIO+ (CHARMM), and OPLS (see “References” on page110). To run a molecular mechanics calculation, you must firstchoose a force field. The following sections discuss considerations
in choosing a force field.

Availability of Parameters
Force fields give the best results for molecules similar to those used
to develop its parameters. Choose a force field developed for arange of molecules similar to your molecular system.

Force Field Features
The force field equations for MM+, AMBER, BIO+, and OPLS are
similar in the types of terms they contain: bond, angle, dihedral,van der Waals, and electrostatic. There are some differences in theforms of the equations that can affect your choice of force field.
Note: The BIO+ force field is an implementation of the CHARMM(Chemistry at HARvard Macromolecular Mechanics) force fielddeveloped in the group of Martin Karplus at Harvard University.
Like AMBER and OPLS, it is primarily designed to explore macromolecules.

MM+
MM+ is unique among the force fields in the way it treats bonds
and angles. Both the bond and angle terms can contain higher

105Force Field Featuresorder terms than the standard quadratic. These bond and angle
potentials express a harmonic motion better than a harmonic
potential.
MM+ also contains a stretch-bend cross term, called a Urey-Bradleyterm. The other force fields in HyperChem normally evaluate nonbonded interactions for atoms separated by three or more bonds(1–4 and larger interactions). A Urey-Bradley term includes 1–3
interactions, which are critical for accurately simulating molecules. For example, the bond angles for heavy atoms in cyclobutane are compressed, compared to the natural bond angle for C sp3
orbitals, and the carbon-carbon bonds have higher p character.
This results in a weaker bond and an increased carbon-carbon
bond length. A Urey-Bradley term allows for these structuralchanges and recognizes the unique 1–3 interactions which occur
in strained molecules.
HyperChem supplements the standard MM2 force field (see “References” on page 110) by providing additional parameters (force
constants) using two alternative schemes (see the second part ofthis book, Theory and Methods). This extends the range of chemicalcompounds that MM+ can accommodate. MM+ also provides cutoffs for calculating nonbonded interactions and periodic boundary conditions.
Note: MM+ is derived from the public domain code developed by
Dr. Norman Allinger, referred to as MM2(1977), and distributed by
the Quantum Chemistry Program Exchange (QCPE). The code for
MM+ is not derived from Dr. Allinger’s present version of code,
which is trademarked MM2. Specifically, QCMP010 was used asa starting point for HyperChem MM+ code. The code was extensively modified and extended over several years to include molecular dynamics, switching functions for cubic stretch terms, periodic boundary conditions, superimposed restraints, a default(additional) parameter scheme, and so on.
The HyperChem MM+ code and program also differ from
MM2(1977) by having parameters in text files separate from thecode. These parameter files are available for your modification andadditions. The parameters distributed with HyperChem include
the public domain values, generally referred to as the MM2(1991)
parameter set, that Dr. Allinger contributed to HyperCube, Inc.
Parameters not obtained from Dr. Allinger are appropriately
labeled in the distributed parameter files.

106

Chapter 8

Accuracy of Force Fields

Electrostatic Interactions
Another difference between the force fields is the calculation ofelectrostatic interactions. AMBER, BIO+, and OPLS use point
charges to model electrostatic interactions. MM+ calculates electrostatic interactions using bond dipoles. The bond dipole method
may not adequately simulate very polar or charged systems.

Accuracy of Force Fields
For biological polymers, molecular mechanics force fields are notwell substantiated by experimental data. You should be cautious
about relying on predictions from these calculations.
Use the force fields that have demonstrated accuracy for particularmolecules or simulations. For example, OPLS reproduces physicalproperties in liquid simulations extremely well. MM+ reproduces
the structure and thermodynamic properties of small, nonpolar
molecules better than AMBER, BIO+, and OPLS.

Previous Experiences
Previous investigations might influence the choice of a molecularmechanics method. If molecular mechanics calculations of a particular compound or molecule type already exist, choose the sameforce field so you can make comparisons easily.

Choosing Force Field Options
The HyperChem Reference manual and Getting Started discuss thesequence of steps to perform a molecular mechanics calculation.
These steps include choosing a force field, force field options, andpossible restraints.

Dielectric Function
You can use two types of dielectric functions: a constant and a distance-dependent dielectric. Use constant dielectric for in vacuo systems and for molecular systems with explicit solvent molecules.
Using Molecular Mechanics Methods

107Choosing Force Field Options

Also use constant dielectric for MM+ and OPLS calculations. Use
the distance-dependent dielectric for AMBER and BIO+ to mimic
the screening effects of solvation when no explicit solvent molecules are present. The scale factor for the dielectric permittivity, ε,can vary from 1 to 80. HyperChem sets ε to 1.5 for MM+. Use 1.0
for AMBER and OPLS, and 1.0–2.5 for BIO+.

1–4 Nonbonded Scale Factors
AMBER, BIO+, and OPLS scale 1–4 van der Waals and 1–4 electrostatic interactions. Although the value of the 1–4 nonbonded scale
factors is an option in HyperChem, you should generally use recommended values. This is because during parameterization, theforce field developers used particular values for the 1–4 nonbonded scale factors, and their parameters may not be correct forother scale factors.
The van der Waals scale factors used during force field parameterization are 0.5 for AMBER, 1.0 for BIO+, and 0.125 for OPLS. For 1–
4 electrostatic interactions, use 0.5 for AMBER, BIO+, and OPLS.

Nonbonded Cutoffs
You can choose to calculate all nonbonded interactions or to truncate (cut off) the nonbonded interaction calculations using aswitched or shifted function. Computing time for molecularmechanics calculations is largely a function of the number of nonbonded interactions, so truncating nonbonded interactions
reduces computing time. You must also truncate nonbonded interactions for periodic boundary conditions to prevent interaction
problems between nearest neighbor images.
Use these guidelines for nonbonded interactions:108

Chapter 8•

For small and medium-sized molecules, calculate all nonbonded interactions.

•

For larger molecules, such as proteins, use a switching function
to dramatically decrease computing time.

•

Use a switching function for periodic boundary conditions.

•Use a shifted function only to reproduce reported results. Sincea shifted dielectric potential affects the entire potential energy
surface, it is not recommended.

Restraints

A switched function extends over the range of inner (Ron) to outer(Roff) radius and a shifted function from zero to outer (Roff) radius.
Beyond the outer radius, HyperChem does not calculate nonbonded interactions. The suggested outer radius is approximately
14 Ångstroms or, in the case of periodic boundary conditions, lessthan half the smallest box dimension. The inner radius should beapproximately 4 Ångstroms less than the outer radius. An inner
radius less than 2 Ångstroms may introduce artifacts to the structure.

Restraints
You can restrain atoms during molecular mechanics or quantum
mechanics calculations. Choosing restraints, via the Restraint
Forces dialog box, applies additional harmonic forces—which you
specify, to interatomic distances, angles, or dihedrals that you
have set up as named selections.
Note: Restraints apply to distances, angles and dihedrals between
bonded or nonbonded atoms. You can also restrain atoms topoints in space.
You need to specify two parameters: the equilibrium value of theinternal coordinate and the force constant for the harmonic
potential. The equilibrium restraint value depends on the reason
you choose a restraint. If, for example, you would like a particularbond length to remain constant during a simulation, then theequilibrium restraint value would probably be the initial length of
the bond. If you want to force an internal coordinate to a newvalue, the equilibrium internal coordinate is the new value.
2

Recommended values for the force constant are 7.0 kcal/mol Å for2

an interatomic distance, 12.5 kcal/mol degree for an angle, and2

16.0 kcal/mol degree for a dihedral angle. Use the recommended
values and then, if the internal coordinate is not sufficiently
restrained, try a larger force constant.
See “Using Geometric Restraints” on page 83 for examples of using
restraints.

Using Molecular Mechanics Methods

109

References

References
MM2

Allinger, N.L. J. Am. Chem. Soc. 99:8127, 1977.

AMBER

Weiner, S.J.;Kollman, P.A.; Case, D.A.; Singh, U.C.,
Ghio, C.; Alagona, G.; Profeta Jr., S.; Weiner, P.
A new force field for molecular mechanical simulation of nucleic acids and proteins J. Am. Chem. Soc.
106:765–784, 1984.
Weiner, S.J.; Kollman, P.A.; Nguyen, D.T.; Case,
D.A. An all atom force field for simulations of proteins and nucleic acids J. Comput. Chem. 7:230–
252, 1986.
Cornell, W.D.; Cieplak P.; Bayly, C.I.; Gould, I.R.;
Merz, K.M., Jr.; Ferguson, D.M.; Spellmeyer, D.C.;
Fox, T.; Caldwell, J.W.; Kollman, P.A., A second
generation force field for the simulation of proteins and nucleic acids, Journal of the American
Chemical Society 117, 5179-5197 (1995).

CHARMM

Brooks, B.R.; Bruccoleri, R.E.; Olafson, B.D.; States,
D.J.; Swaminathan, S.; Karplus, M. CHARMM: A
program for macromolecular energy, minimization, and dynamics calculations J. Comput. Chem.
4:187–217, 1983.
MacKerell, A.D., Jr.; Bashford, D.; Bellott, M.; Dunbrack, R.L., Jr.; Evanseck, J.; Field, M.J.; Fischer, S.;
Gao, J.; Guo, H.; Ha, S.; Joseph, D.; Kuchnir, L.;
Kuczera, K.; Lau, F.T.K.; Mattos, C.; Michnick, S.;
Ngo, T.; Nguyen, D.T.; Prodhom, B.; Reiher, W.E.,
III; Roux, B.; Schlenkrich, M.; Smith, J.; AStote, R.;
Straub, J.; Watanabe, M.; Wiorkiewicz-Kuczera, J.;
Yin, D.; Karplus, M, J. Phys. Chem B, 102, 3586.

OPLS

Jorgensen, W.L.; Tirado-Rives, J. The OPLS potential functions for proteins. Energy minimizations
for crystals of cyclic peptides and crambin. J. Am.
Chem. Soc. 110:1657–1666, 1988
Pranate, J.; Wierschke, S.; Jorgensen, W.L.
J. Am. Chem. Soc. 113:2810, 1991.

110

Chapter 8

Chapter 9
Using Quantum Mechanics
Methods
There are three steps in carrying out any quantum mechanical calculation in HyperChem. First, prepare a molecule with an appropriate starting geometry. Second, choose a calculation method andits associated (Setup menu) options. Third, choose the type of calculation (single point, geometry optimization, molecular dynamics, Langevin dynamics, Monte Carlo, or vibrational analysis) withthe relevant (Compute menu) options.

Obtaining a Starting Structure
Use the HyperChem Model Builder to construct an approximate
geometry. If you want to look at the relative energies of a set ofmolecules, you may want to carry out the calculations using fully
optimized molecular geometries. These geometry optimization
calculations can use either molecular mechanics or quantum
mechanics to further refine the molecular geometry beyond thatgiven by the Model Builder.
Geometry optimization using an ab initio or DFT quantum
mechanical method may take much longer than using a semiempirical quantum mechanical method. In turn, semi-empiricalquantum mechanical calculations take longer than molecularmechanics (force field) calculations. You might first run a molecular mechanics optimization to get close to the optimized geometry
and then refine with a semi-empirical optimization. Similarly, you
might run a semi-empirical optimization before you run an ab initio or DFT geometry optimization. The closer the starting geometry
is to the final geometry, the faster HyperChem can reach an optimized structure. For some molecules, such as certain inorganic
molecules, molecular mechanics methods may not have appropriate parameters and will yield poor geometries. In those cases, use
111

Obtaining a Starting Structure

the Model Builder to get a reasonable starting geometry, with thepossibility of refining the geometry by semi-empirical calculations
before submitting it to ab initio or DFT computation.

Calculating Part of a Molecular System
You can perform quantum mechanical calculations on a part of amolecular system, such as a solute, while using molecular mechanics for the rest of the system, such as the solvent surrounding thesolute. This boundary technique is available in HyperChem for all
quantum mechanical methods. It is somewhat less complete withab initio and DFT calculations than with semi-empirical calculations, however. With ab initio and DFT calculations the boundary
must occur between molecules rather than inside a molecule.
Choose the region (single or multiple molecules) of interest for an
ab initio or DFT calculation from the total molecular system.
HyperChem performs the ab initio or DFT calculation for theselected region using the perturbation of an electrostatic potential
arising from the net charges on the atoms of the unselected part.
(For further details of this electrostatic potential perturbation
implemented in HyperChem, please see the second part of thisbook, Theory and Methods).
Choose the atoms of interest for the semi-empirical calculation,then use the Extend to sp3 option on the Select menu to establish
the appropriate atomic boundaries for the quantum mechanics
calculation. HyperChem substitutes pararmeterized pseudo-fluorine atoms for the portions of the molecule not included directlyin the calculation (see the second part of this book, Theory andMethods).
The algorithms of the mixed classical-quantum model used inHyperChem are different for semi-empirical and ab initio or DFT
methods. The semi-empirical methods in HyperChem treat
boundary atoms (atoms that are used to terminate a subset quantum mechanical region inside a single molecule) as speciallyparameterized pseudo-fluorine atoms. However, HyperChem will
not carry on mixed model calculations, using ab initio or DFT
quantum mechanical methods, if there are any boundary atoms inthe molecular system. Thus, if you would like to compute a wavefunction for only a portion of a molecular system using ab initio or
DFT methods, you must select single or multiple isolated mole-

112

Chapter 9

Setting Up Options

cules as your selected quantum mechanical region, without any
boundary atoms.
Semi-empirical methods could thus treat the receptor portion of asingle protein molecule as a quantum mechanical region but ab
initio and DFT methods cannot. However, both semi-empirical andab initio or DFT methods could treat solvents as a perturbation ona quantum mechanical solute. In the future, HyperChem may
have an algorithm for correctly treating the boundary between aclassical region and an ab initio or DFT quantum mechanicalregion in the same molecule. For the time being it does not.

Setting Up Options
Certain options are needed to setup for running quantum
mechanics calculations in HyperChem via the corresponding
option dialog boxes on the Setup menu.

Selecting Options for an Ab Initio or DFT Method
The ab initio or DFT options are available via the Ab Initio menu
item or Density Functional menu item on the Setup menu.

Choosing a Basis Set
Any set of one-electron functions can be a basis set in the LCAO
approximation. However, a well-defined basis set will predict electronic properties using fewer terms than a poorly-defined basis set.
So, choosing a proper basis set in ab initio and DFT calculations is
critical to the reliability and accuracy of the calculated results.
There may be as many basis sets defined for polyatomic calculations as there are quantum chemists! One would like to define, in
advance, the standard basis sets that will be suitable to most users.
However, one also wants to allow sophisticated users the capability
to modify existing basis sets or define their own basis sets. We havethus defined a HyperChem basis set file format and included with
HyperChem a number of these *.BAS files that define standard
basis sets. Users, however, can define as many of their own basis
sets as they like using this file format. The details of the HyperChem basis set file format are described in the HyperChem Reference
manual.

Using Quantum Mechanics Methods

113Setting Up Options

Many conventional and commonly-used ab initio and DFT basis
sets are supported in HyperChem. These basis sets include but are
not limited to:•

STO-1G and STO-1G* (H and He)22,23,24;•

STO-2G and STO-2G* (H to Xe);•

STO-3G and STO-3G* (H to Xe);•

STO-4G and STO-4G* (H to Xe);•

STO-5G and STO-5G* (H to Xe);•

STO-6G and STO-6G* (H to Xe);•

3-21G, 3-21G*, and 3-21G** (H to Ar)25,26,27;•

4-21G, 4-21G*, and 4-21G** (H to Ne)28,29,30;•

6-21G, 6-21G*, and 6-21G** (H to Ar);•

4-31G, 4-31G*, and 4-31G** (H to Ne);•

5-31G, 5-31G*, and 5-31G** (H to F);•

6-31G, 6-31G*, and 6-31G** (H to Ar);•

6-311G, 6-311G*, and 6-311G** (H to Ar)31,32;

22. Hehre, W.J.; Stewart, R.F.; Pople, J.A. Self-consistent molecular-orbital methods. I. Use ofGaussian expressions of Slater-Type Atomic Orbitals J. Chem. Phys. 51:2657-2664, 1969.
23. Collins, J.B.; Schleyer, P.V.; Binkley, J.S.; Pople, J.A. Self-consistent molecular-orbital
methods. XVII. Geometries and binding energies of second-row molecules. A comparisonof three basis sets J. Chem. Phys. 64:5142-5151, 1976.
24. Stewart, R.F. Small Gaussian expansions of Slater-Type Orbitals J. Chem. Phys. 52:431438, 1970.
25. Binkley, J.S.; Pople, J.A.; Hehre, W.J. Self-consistent molecular orbital methods. 21. Small
split-valence basis sets for first-row elements J. Am. Chem. Soc. 102:939-947, 1980.
26. Gordon, M.S.; Binkley, J.S.; Pople, J.A.; Pietro, W.J.; Hehre, W.J. Self-consistent molecular-orbital methods. 22. Small split-valence basis sets for second-row elements J. Am. Chem.
Soc. 104:2797-2803, 1982.
27. Pietro, W.J.; Francl, M.M.; Hehre, W.J.; Defrees, D.J.; Pople, J.A.; Binkley, J.S. Self-consistent molecular orbital methods. 24. Supplemented small split-valence basis sets for secondrow elements J. Am. Chem. Soc. 104:5039-5048, 1982.
28. Hehre, W.J.; Ditchfield, R.; Pople, J.A. Self-consistent molecular orbital methods. XII.
Further extensions of Gaussian-Type basis sets for use in molecular orbital studies of organic
molecules J. Chem. Phys. 56:2257-2261, 1972.
29. Hariharan, P.C.; Pople, J.A. The influence of polarization functions on molecular orbitalhydrogenation energies Theor. Chim. Acta. 28:213-222, 1973.
30. Gordon, M.S. The isomers of silacyclopropane Chem. Phys. Lett. 76:163-168, 1980.

114

Chapter 9

Setting Up Options•

D95, D95* and D95** (H to Cl)33.

Add Extra Basis Function
HyperChem offers an easy way to interactively add certain basis
functions to a molecular system. The Extra Basis Function dialog
box can be used to add an S, P, D, SP, or SPD shell to the selected
atom(s). These extra basis functions are primitives with no contractions. Thus, the extra basis functions are uniquely defined by
the shell type and the value of the exponent.
One and only one extra shell can be applied to any atom in thecurrent version of HyperChem. Different extra shells can beapplied to different atoms but any atom can receive only one extra
shell. If you would like to add more than one extra shell to any
atom, you will need to modify a basis set file and create a new basis
set. To use this new basis set you will need to include it in the[basisset] section of the Registry.
A basis set for an atom thus consists of a standard basis set (3-21G,
for example) and an optional extra shell.

Applying a Basis Set
You can use multiple basis sets in a single molecular system. The
Apply Basis Set in HyperChem applies the currently selected basis
set to the selected atoms or to all the atoms in HyperChem if there
is no current selection. For example, some heavy atoms might
have a 6-31G basis set (s and p only) while other heavy atoms
might use a 6-31G* basis set (with d-orbitals). This is an unusual
but flexible option for ab initio or DFT calculations.

Charge and Spin Multiplicity
Specify the extra (net) charge and the spin multiplicity in the Ab
Initio Options dialog box.
The extra charge defines whether the current molecular system isa neutral system, positively charged system (cation), or negatively
charged system (anion).
31. Krishnan, R.; Kinkley, J.S.; Seeger, R.; Pople, J.A. Self-consistent molecular orbital methods. XX. A basis set for correlated wave functions J. Chem. Phys. 72:650-654, 1980
32. McLean, A.D.; Chandler, G.S. Contracted Gaussian basis sets for molecular calculations.
I. Second row atoms, Z=11-18 J. Chem. Phys. 72:5639-5648, 1980.
33. Dunning, T.H.; Hay, P.J. in Modern Theoretical Chemistry Plenum, New York, 1976.

Using Quantum Mechanics Methods

115

Setting Up Options

Closed-shell molecules have a multiplicity of one (a singlet). A radical, with one unpaired electron, has a spin multiplicity of two (adoublet). A molecular system with two unpaired electrons (usuallya triplet) has a multiplicity of three. In some cases, however, suchas a biradical, two unpaired electrons may also be a singlet.

Convergence Criteria
Convergence limit and Iteration limit specify the precision of the
SCF calculation. Convergence limit refers to the difference in total
electronic energy (in kcal/mol) between two successive SCF iterations yielding a converged result. Iteration limit specifies the maximum number of iterations allowed to reach that goal.
You can always use the default values. If the calculation exceeds
the iteration limit before it reaches the convergence limit, thenmost likely there is a convergence failure. Simply increasing thislimit is unlikely to help. The DIIS convergence accelerator may
help in some cases.

UHF versus RHF
Choose UHF (spin Unrestricted Hartree-Fock) or RHF (spinRestricted Hartree-Fock) calculations according to your molecularsystem. HyperChem supports UHF for both open-shell and closedshell calculations and RHF for closed-shell calculations only. The
closed-shell UHF calculation may be useful for studying dissociation of molecular systems. ROHF (spin Restricted Open-shell Hartree-Fock) is not supported in the current version of HyperChem(for ab initio or DFT calculations).
One would normally choose RHF for closed-shell singlets and UHF
for open-shell doublets and triplets.

Convergence Acceleration
Choose the DIIS SCF convergence accelerator to potentially speed
up SCF convergence. DIIS often reduces the number of iterations
required to reach a convergence limit. However, it takes memory
to store the Fock matrices from the previous iterations and thisoption may increase the computational time for individual iterations because the Fock matrix has to be calculated as a linear combination of the current Fock matrix and Fock matrices from previous iterations.

116

Chapter 9

Setting Up Options

Calculate GradientSpecifies the calculation of gradients (the first derivatives of thetotal energy with respect to the nuclear positions). The RMS gradient gives an indication of the deviation from an optimized structure. The computations of two-electron integrals and their derivatives are time-consuming, because of the huge number of the twoelectron integrals even for a medium size of molecule. You may
not be interested in gradients for single point calculations, so you
can turn off (not check) gradient calculation to speed up your task.
This option applies to single point calculations only. HyperGauss
always computes the gradients in doing geometry optimization,
molecular dynamics, and vibration calculations.

Calculate MP2 Correlation Energy
Specifies the calculation of electron correlation energy using the
Møller-Plesset second order perturbation theory (MP2). This
option can only be applied to Single Point calculations.
MP2 correlation energy calculations may increase the computational time because a two-electron integral transformation fromatomic orbitals (AO's) to molecular orbitals (MO's) is required.
HyperChem may also need additional main memory and/or extra
disk space to store the two-electron integrals of the MO's.

Two-Electron Repulsion Integrals
The calculation of the two-electron repulsion integrals in ab initio
or DFT methods is inevitable and time-consuming. The computational time is mainly dominated by the performance of the twoelectron integral calculation. The following items can control theperformance of the two-electron integrals.

Two-electron Integral Cutoff
Set this threshold to a small positive constant (the default value is10-10 Hartree). This threshold is used by HyperChem to ignore all
two-electron repulsion integrals with an absolute value less than
this value. This option controls the performance of the SCF iterations and the accuracy of the wave function and energies since it
can decrease the number of calculated two-electron integrals.

Using Quantum Mechanics Methods

117Setting Up Options

Two-electron Integral Buffer Size
HyperChem computes two-electron integrals and saves them inmain memory (two-electron integral buffer). The units of thisbuffer are in double-precision words (8 bytes per double-precision
word in Windows). Once this buffer is full, these two-electron integrals are written to a temporary file on a disk (the selected disk canbe set in the Registry, before you start HyperChem, or with a script
command, after you start HyperChem). A large buffer may reduce
the processing time through fewer disk accesses. If the two-electron integral buffer size is big enough to hold all the integrals,
HyperChem does not use the disk.

Regular Two-Electron Integral Format
Specifies the use of a “regular” format for saving the two-electron
integrals. HyperChem uses 16 bytes to store every integral. The
first 8 bytes stores the four indices of an integral and the second 8
bytes stores its value. HyperChem only stores an integral and its
associated indices when the integral's absolute value is greaterthan or equal to the two-electron integral cutoff. The two-electron
integral and its indices are stored without any modification when
you choose this regular two-electron integral format. These twoelectron integrals and their indices can be printed out to a log fileby choosing a proper setting for QuantumPrintLevel in the Registry.

Raffenetti Two-Electron Integral Format
Specifies the use of the Raffenetti two-electron integral format34.
HyperChem can calculate all two-electron integrals and store
them in a special form that makes it easier to generate a Fockmatrix during the SCF iterations. The Raffenetti two-electron integral format may take more main memory or disk space for the twoelectron integrals, particularly in a UHF calculation, but may still
be faster than the regular two-electron integral format for the same
calculation.
The Raffenetti format is not available when performing MP2 andCI calculations or DFT calculations.

34. Raffenetti, R.C. Pre-processing two-electron integrals for efficient utilization in manyelectron self-consistent field calculations. Chem. Phys. Letters 20:335-338, 1973.

118

Chapter 9

Setting Up Options

Direct SCF Calculation
When the Direct SCF calculation35 option is chosen, the two-electron integrals are recomputed in every iteration. A Direct SCF calculation will be considerably slower than a regular SCF calculation
which computes all the two-electron integrals and then saves
them, retrieving the saved integrals every iteration to form theFock matrices. The Direct SCF calculation avoids using disk spaceor a large main memory. This option may be practical for large
molecular systems run on a desk-top PC where there is little available space on the disk.

Initial Guess of MO Coefficients
An initial guess at the molecular orbital coefficients is necessary for
an SCF calculation. Usually, the initial guess is obtained by solving
the Hartree-Fock-Roothaan equations with the replacement of theFock matrix by the core Hamiltonian. This initial guess of the MO
coefficients is usually acceptable. However, in some cases, the core
Hamiltonian leads to incorrect occupied orbitals or the initial
guess may be far from the final converged SCF MO coefficients.
Hence, HyperChem supports a few alternative methods for generating an initial guess at the MO coefficients. These alternative
methods are:•Projected Hückel: the initial guess at the MO coefficients is
obtained from an extended Hückel calculation;•

Projected CNDO: the initial guess at the MO coefficients is
obtained from a CNDO calculation;•

Projected INDO: the initial guess at the MO coefficients is
obtained from an INDO calculation.

However, these alternative methods can be only applied to certain
elements. For example, the projected CNDO/INDO may be used
only for molecular systems with atomic numbers less than or equal
to 18 (Ar). Elements beyond 18 are not available in the projected
CNDO/INDO initial guess.

Number of d Orbitals
There are two different sets of d-type functions (d orbitals) used in
ab initio and DFT calculations. One 3d set consists of five 3d func35. Almlof, J.; Faegri Jr., K.; Korsell, K. J. Comp. Chem. 3:385, 1982.

Using Quantum Mechanics Methods

119Setting Up Options

tions —3d0, 3d+1, 3d-1, 3d+2, and 3d-2 and is normally used in STONG basis sets. The other is a set of six 3d functions — 3dxx, 3dyy,
3dzz, 3dxy, 3dxz, and 3dyz, and is used in the split-valence basis sets,such as, 3-21G, 4-31G, 6-31G, etc.
The contraction exponents and coefficients of the d-type functions were optimized using five d-primitives (the first set of d-typefunctions) for the STO-NG basis sets and six d-primitives (the second set of d-type functions) for the split-valence basis sets. Thus,
five d orbitals are recommended for the STO-NG basis sets and six
d orbitals for the split-valence basis sets.

Ghost-Atoms
With HyperChem you can always name a selection of atoms using
the Name Selection item of the Select menu. A named selection
called “ghost-atoms” has a special meaning, however. In most situations any atom that is a “ghost” atom, i.e. is a member of theghost-atom set is treated just like any other atom and the named
selection “ghost-atoms” is treated like any other named selection.
[An alternative to naming “ghost-atoms” is to just make the selection, GHOST ATOMS]. However HyperChem may treat the ghost
atoms differently from the regular atoms when performing certain
ab initio or DFT calculations. If you have specified the use of“ghost-atoms” in the Ab Initio and DFT Advanced Options dialog
box, then a ghost atom is represented in ab initio or DFT calculations by its basis set only and does not have any nucleus or electrons associated with it. Since there are atomic orbitals (basis functions) belonging to a ghost atom, there will be Mulliken charges
attached to the ghost atoms after performing an ab initio or DFT
calculation.
The concept of “ghost-atoms” only applies to Single Point calculations in the current version of HyperChem.
A major use of ghost atoms is to be able to offset the effect of basis
set superposition effects (BSSE). For example, as two monomers
come together the basis set of one monomer extends the basis setof the other, lowering the dimer energy more than just from thephysical monomer-monomer interaction. A way to offset this incomputing the dimerization energy is to use the same basis set inboth monomer and dimer calculations. That is, the monomer
energy is the energy of the dimer with ghost-atoms for the atomsof one of the monomers and “real” atoms for the other monomer.

120

Chapter 9

Setting Up Options

Configuration Interaction
Use Configuration Interaction to predict the electronic spectra ofmolecules. The Configuration Interaction wave function computes a ground state plus low lying excited states. You can obtainelectronic absorption frequencies from the differences between
the energies of the ground state and the excited states.
A configuration interaction calculation is available only for single
points when the reference ground state is obtained from an RHF
calculation.
The calculation mixes all single determinant wavefunctions thatcan be obtained from the ground state by exciting electrons froma subset of the occupied orbitals (of the ground state) to a subset ofthe unoccupied orbitals. The subsets are specified as a fixed number (highest occupied or lowest unoccupied) or by an energy criterion associated with the energy difference between the occupied
orbital and the unoccupied orbital.
If you use the Conjugate Direction optimizer, you can optimize
the geometries of excited states from configuration interaction calcultions.

Selecting Options for the Extended Hückel Method
Charge and Spin Multiplicity
Specify the extra (net) charge and spin multiplicity in the Semiempirical Options dialog box.
The extra charge defines whether the current molecular system isa neutral system, positively charged system (cation), or negatively
charged system (anion).
Closed-shell molecules have a multiplicity of one (a singlet). A radical, with one unpaired electron, has a multiplicity of two (a doublet). A molecular system with two unpaired electrons (usually a
triplet) has a multiplicity of three. In some cases, however, such as
a biradical, two unpaired electrons may also be a singlet.

Hückel Constant
The Hückel constant (k) scales the interaction energy between two
atomic orbitals (see “Extended Hückel Method” on page 130).
HyperChem uses the default value of 1.75 (see the second part ofUsing Quantum Mechanics Methods

121Setting Up Options

this book, Theory and Methods). You should use this value for mostcases. A suggested range for experimental adjustment of this constant is 1.6–2.0.36
You can select Unweighted constant or Weight diffuseness for the
Hückel constant. The unweighted option uses only the scale factor
k. The Weight diffuseness option weighs the contributions from thetwo binding energies differently, but absorbs this weighting into
the Hückel constant. The option you choose makes little difference in cases of orbitals with similar diffuseness, as for mostorganic molecules. It may be useful in calculations involving third
row elements.

d Orbitals
The Extended Hückel method also allows the inclusion of d orbitals for third row elements (specifically, Si, P, S and Cl) in the basis
set. Since there are more atomic orbitals, choosing this option
results in a longer calculation. The major reason to include d orbitals is to improve the description of the molecular system.
In some situations, using this option may be important. For example, if p orbitals on electronegative atoms interact with d orbitals,(as for a silicon atom bonded to an amine group), you may want
to include d orbitals.

Selecting Options for NDO Methods
After you select a method for a semi-empirical calculation (using
the Semi-empirical item on the Setup menu), choose Options in the
dialog box to set conditions for the calculation. You see the Semiempirical Options dialog box. The following sections explain these
options.

Convergence Criteria
Convergence limit and Iteration limit specify the precision of the calculation. Convergence limit refers to the difference in energy (inkcal/mol) between two successive SCF cycles. Iteration limit specifies the maximum number of cycles allowed to reach that goal.
You can usually use the default values. If the calculation exceeds
the iteration limit before it reaches the convergence limit, then
36. Hoffmann, R. An Extended Hückel Theory. I. Hydrocarbons J. Chem. Phys. 39(6):13971412, 1963.
122

Chapter 9

Setting Up Options

there is most likely convergence failure. Simply increasing the limits is unlikely to help. The DIIS convergence accelerator, (see “SCF
Convergence” on page 49), which is available for all the SCF
semiempirical methods, might help in some cases. Most often,
however, the reason for convergence failure lies in the moleculargeometry. For example, two nuclei very close together often leadto convergence failure. If convergence problems arise, check thestarting geometry for unrealistic features.

Charge, Spin, and Excited State
Specify the charge and spin multiplicity in the Semi-empirical
Options dialog box.
Closed-shell molecules have a multiplicity of one (a singlet). A radical, with one unpaired electron, has a multiplicity of two (a doublet). A molecular system with two unpaired electrons (usually a
triplet) has a multiplicity of three. In some cases, however, such as
a biradical, two unpaired electrons may also be a singlet.
This dialog box also contains the option for specifying that themolecular system is in the first excited singlet state (Next lowest)or the Lowest electronic state.

UHF versus RHF
Next, you choose a UHF or RHF calculation. HyperChem can compute open-shell (non-singlet) systems with either the half-electron
RHF or the UHF method (see “Hartree-Fock Wave Functions” onpage 38).

Convergence Acceleration
The DIIS convergence accelerator is available for all the SCF
semiempirical methods. This accelerator may be helpful in curing
convergence problems. It often reduces the number of iteration
cycles required to reach convergence. However, it may be slower
because it requires time to form a linear combination of the Fockmatrices during the SCF calculation. The performance of the DIIS
accelerator depends, in part, on the power of your computer.

Configuration Interaction
Configuration Interaction (or electron correlation) improvesenergy calculations using CNDO, INDO, MINDO/3, MNDO,
Using Quantum Mechanics Methods

123Setting Up Options

MNDO/d, AM1, PM3, ZINDO/1, ZINDO/S, and TNDO for theseelectron configurations•

closed-shell singlet ground states•

half-electron, excited singlet states•

half-electron, doublet, triplet, and quartet open-shell groundstates.

See also “Extending the Wave Function Calculation” on page 39.
Use Configuration Interaction to predict electronic spectra of molecules. The Configuration Interaction wave function provides aground state plus some excited state energies. You can obtain electronic absorption frequencies from the differences between theenergies of the ground state and the excited states.
You can also use a RHF wave function with Configuration Interaction for calculations involving bond breaking, instead of using a
UHF wave function. Using RHF plus Configuration Interaction
conserves spin symmetry.
Note: Configuration Interaction significantly increases computing
time. For calculations of ground-state energies, MINDO/3, MNDO,
AM1, and PM3 methods may already include in their parameterssome effects of Configuration Interaction.

Log File for Results
Log File for Results
After you choose the computation method and options, you can
use Start Log on the File menu to record results, such as total energies, orbital energies, dipole moments, atomic charges, enthalpies
of formation (for the CNDO, INDO, MINDO/3, MNDO, MNDO/d,
AM1, PM3, ZINDO/1, ZINDO/S, and TNDO methods), etc.
Use the QuantumPrintLevel setting in the Start Log dialog box to set
the amount of information recorded in a log file.
For more information about log files, see Appendix A in the HyperChem Reference manual.

124

Chapter 9

Types of Calculations

Types of Calculations
Single-point, geometry optimization, molecular dynamics andvibration calculations are all available with either ab initio, DFT, or
semi-empirical SCF methods. After obtaining a wavefunction via
any of these calculations, you can plot two-dimensional contour
diagrams of the electrostatic potential surrounding a molecule, thetotal electronic density, the spin density, one or more molecularorbitals, and the electron densities of individual orbitals. After avibration calculation, you can display a predicted infrared spectrum and display normal modes as vector attached to atoms or byanimation of each mode. If you have performed a single-point calculation with a singly-excited configuration interaction, you candisplay a simulated ultraviolet-visible spectrum.
The setup of these calculations is very similar for both quantum
and molecular mechanics. In practice, molecular dynamics calculations using the ab initio, DFT, and semi-empirical quantum
mechanical SCF methods are limited to relatively small systems.
Each time step requires a complete calculation of the wave function and the forces.
Note: You can superimpose harmonic restraining forces to interatomic distances, angles, or dihedrals that you have set up as
named selections. You can also restrain atoms to points in space.
See “Using Geometric Restraints” on page 83 and “Restraints” onpage 109.

Single Point Calculations and CI
HyperChem always computes the electronic properties for themolecule as the last step of a geometry optimization or molecular
dynamics calculation. However, if you would like to perform a
configuration interaction calculation at the optimized geometry,an additional single point calculation is required with the CI
option being turned on.
For quantum mechanical methods, many more options are available for a single point calculation than for molecular mechanics.
This is because the quantum mechanical methods yield various
electronic properties. Among the options available following a Single Point calculation is the plotting of contour diagrams. Theseplots include the electrostatic potential surrounding a molecule,the total electronic density, the spin density, and the contour diaUsing Quantum Mechanics Methods

125Types of Calculations

grams describing individual molecular orbitals. HyperChem canproduce different plots in succession without repeating the single
point calculation, as long as the coordinates of the molecule areunaltered. To plot these pictures after a calculation, choose either
Plot Molecular Graphs or Orbitals from the Compute menu ofHyperChem.

Optimization Methods
Four optimization techniques are available for geometry optimizations with quantum mechanical methods: a steepest descentmethod, two conjugate gradient methods, and eigenvector following. A generally less desirable conjugate directions optimizer is alsoavailable for certain situations where gradients are not available.
To select these methods, choose Geometry Optimization on theCompute menu. The Semi-empirical Optimization or Ab Initio or
Density Functional Optimization dialog box appears. You have thechoice of the same methods as for molecular mechanics calculations (see “Geometry Optimizations” on page 59).
In general, the steepest descent method is useful when a molecule
is far from a minimum. Conjugate gradient methods are better
when the minimum is nearby. You choose the precision of the
optimization in the Semi-empirical Optimization or Ab Initio or
Density Functional Optimization dialog box. Suitable default values for ending an optimization calculation are either an RMS gradient of 0.1 kcal/mol/Å or a maximum number of cycles that is 15
times the number of atoms involved in the calculation. In general,
you must use a gradient limit. For improved precision, use a lower
gradient limit.
The conjugate directions optimizer will take longer than the otheroptimizers to find a minimum since it does not have information
on gradients. It may require a relatively large number of cycles tofind a minimum. Each time it is started over again (somewhat)since without gradients it doesn’t know where it is starting from or
how far away the minimum is.
Note: You cannot use the Extended Hückel method or any one of
the SCF methods with the CI option being turned on for geometry
optimizations, molecular dynamics simulations or vibrational calculations, in the current version of HyperChem [Geometry optimization by Conjugate Directions is available with the CI option].

126

Chapter 9

Types of Calculations

Transition State Search
You can use the ab initio or Density Functional method (with any
basis set), and all semi-empirical methods except Extended Hückel,
to perform a transition state search. Two different methods areavailable: eigenvector following and synchronous transit. In thesynchronous transit method, both linear synchronous transit(LST) and quadratic synchronous transit (QST) are available. To
select any of these methods, choose Transition State on the Compute menu. If you choose eigenvector following, the calculation
will start with the calculation of the Hessian matrix. Then the dialog box will appear, in which you can choose the mode to be followed, and specify the calculation termination conditions (RMS
gradient and number of SCF cycles). If the synchronous transit
method is chosen, the dialog box appears, in which you can specify a linear or quadratic search, and can specify convergence criteria.
In general, ab initio or DFT calculations are preferable for transition
state searching. The time required for the calculation to finish may
sometimes be the limiting factor in the choice of the calculation
method. Semi-empirical methods may be less successful in transition state searching, since they were originally parametrized forenergy minimization searching. (The ZINDO/S method is especially likely to give poor results for transition state searching since
it was parameterized for spectral calculations.) Many times, atighter SCF convergence criteria may be needed, as well as a larger
number of SCF cycles, in order to locate the transition state successfully with a semi-empirical method.
Note: You can not use the Extended Hückel method, nor any of
the other SCF methods with the CI option turned on, for geometry
optimization or molecular dynamics simulations.

Molecular Dynamics
You can use any ab initio or DFT SCF calculation and all the semiempirical methods, except Extended Hückel, for molecular
dynamics simulations. The procedures and considerations are similar for simulations using molecular mechanics methods (see“Molecular Dynamics” on page 71).
These simulations take much longer than molecular mechanics
simulations. They may, however, model bond breaking and formaUsing Quantum Mechanics Methods

127Types of Calculations

tion more accurately. While HyperChem doesn't rearrange its
molecular graph dynamically, you can detect the changes by monitoring interatomic distances (see “Bond Breaking” on page 93).

Energy Conservation in Molecular Dynamics Calculations
In order to conserve the total energy in molecular dynamics calculations using semi-empirical methods, the gradient needs to bevery accurate. Although the gradient is calculated analytically, it isa function of wavefunction, so its accuracy depends on that of the
wavefunction. Tests for CH4 show that the convergence limit
needs to be at most 1e-6 for CNDO, INDO, and TNDO and 1e-7 for
MINDO/3, MNDO, MNDO/d, AM1, and PM3 for accurate energy
conservation. ZINDO/S is not suitable for molecular dynamics calculations.

Vibrations
A vibrations calculation is the first step of a vibrational analysis. It
involves the time consuming step of evaluating the Hessian matrix(the second derivatives of the energy with respect to atomic Cartesian coordinates) and diagonalizing it to determine normal modes
and harmonic frequencies. For the SCF methods the Hessian
matrix is evaluated by finite difference of analytic gradients, so thetime required quickly grows with system size.
Once the vibration calculation completes, you can analyze anddisplay the results by using Vibrational Spectrum menu item.

Contour Plots and Orbitals
Once you have calculated an ab initio, DFT, or a semi-empiricalwave function via a single point calculation, geometry optimization, molecular dynamics or vibrations, you can plot the electrostatic potential surrounding the molecule, the total electronic density, the spin density, one or more molecular orbitals ψi, and theelectron densities of individual orbitals ψi2. You can examine
orbital energies and select orbitals for plotting from an orbitalenergy level diagram.

128

Chapter 9

Types of Calculations

Vibrational Spectrum
To perform a vibrational analysis, choose Vibrations on the Compute menu to invoke a vibrational analysis calculation, and thenchoose Vibrational Spectrum to visualize the results. The Vibrational Spectrum dialog box displays all vibrational frequencies anda simulated infrared spectrum. You can zoom and pan in the spectrum and pick normal modes for display, using vectors (using theRendering dialog box from Display/Rendering menu item) and/or
animation.
Generally, a vibration analysis calculation should be performed
after a geometry optimization with the same method. This ensuresthat the calculation of second derivatives is performed at a configuration for which all first derivatives are zero.

Electronic Spectrum
Use the Electronic Spectrum dialog box to display and analyze theUV-visible spectrum produced by a singly excited CI calculation.
This dialog box is available from the Compute menu only after
you do a single point CI semi-empirical, DFT, or ab initio calculation. Electronic Spectrum is then activated on the Compute menu.
the DFT values are to be considered suspect because the orbitals are
Kohn-Sham orbitals not Hartree-Fock orbitals and their use in a CI
requires re-examination. For example, the matrix elements
between the ground state and singly-excited states from DFT are
no longer zero as the CI code assumes.

Saving Information in a Log File
You can obtain detailed results of calculations by using Start Log
on the File menu. The amount of calculational results is controlled
by the QuantumPrintLevel. For more details of the log file andinformation saved in the log file, see the HyperChem Reference
manual.

Using Quantum Mechanics Methods

129Extended Hückel Method

Extended Hückel Method
Extended Hückel is the simplest and fastest semi-empiricalmethod included in HyperChem, but it is also the least accurate. It
is particularly simple in its treatment of electron-electron interactions: it has no explicit treatment of these interactions, although
it may include some of their effects by parameterization.
Extended Hückel provides the approximate shape and energy
ordering of molecular orbitals. It also yields the approximate formof an electron density map. This is the only requirement for many
qualitative applications of quantum mechanics calculations, suchas Frontier Orbital estimates of chemical reactivity (see “Frontier
Molecular Orbitals” on page 146).
HyperChem determines the energy and form of the molecularorbitals using a single set of parameters that represents the binding
energies of electrons in each atomic orbital. Binding energy refers
to the attraction between an electron in an atomic orbital and thenucleus of the same atom. These energies are the diagonal elements of the Hamiltonian matrix. The off-diagonal elements are
the interaction energies between two atomic orbitals. Interactionenergies are the average of the binding energies multiplied by theoverlap integral over the two atomic orbitals. HyperChem scales
this result by the Hückel constant, k, which has a default value of
1.75 (see the second part of this book, Theory and Methods).

Limitations of Extended Hückel
The neglect of electron-electron interactions in the Extended
Hückel model has several consequences. For example, the atomic
orbital binding energies are fixed and do not depend on charge
density. With the more accurate NDO semi-empirical treatments,
these energies are appropriately sensitive to the surrounding
molecular environment.
HyperChem cannot perform a geometry optimization or molecular dynamics simulation using Extended Hückel. Stable molecules
can collapse, with nuclei piled on top of one another, or they candissociate into atoms. With the commonly used parameters, thewater molecule is predicted to be linear.

130

Chapter 9

NDO Methods

NDO Methods
The Extended Hückel method neglects all electron-electron interactions. More accurate calculations are possible with HyperChem
by using methods that neglect some, but not all, of the electronelectron interactions. These methods are called Neglect of Differential Overlap or NDO methods. In some parts of the calculation
they neglect the effects of any overlap density between atomic
orbitals. This reduces the number of electron-electron interaction
integrals to calculate, which would otherwise be too time-consuming for all but the smallest molecules.

Defining Electron-Electron Interactions
NDO calculations use the Hartree-Fock (HF) approximation tosolve the Schrödinger equation. HF methods deal with several
kinds of electron-electron interactions. By understanding theseinteractions, you can appreciate differences between the NDO
methods and gain insight into why the NDO approximation works
well or fails.
Electrons repel each other electrostatically, and the repulsion
between an electron in one atomic orbital and an electron inanother (or the same, if doubly occupied) is called a coulomb interaction. The identical nature of electrons requires a correction forelectrons of the same spin, and this is often described as if it werea real interaction. The contributions to matrix elements describing
this correction are called atomic exchange integrals. This isbecause they arise from terms in the many-electron wave function
involving the interchange of coordinates of an electron pair (see“Exclusion Principle” on page 35). In a typical calculation, there
are many more exchange-type integrals than coulomb integrals.
Think of an exchange integral as an electron in the overlap region
between two atomic orbitals interacting with an electron in an
overlap region between two other atomic orbitals.

Treatment of Electron-Electron Interactions
The NDO methods in HyperChem are built on three different
approximations to the treatment of electron-electron interactions.
The NDO methods are discussed in the following sections.

Using Quantum Mechanics Methods

131

NDO Methods

CNDO, INDO, MINDO/3, ZINDO/1, and ZINDO/S Methods
The simplest method is CNDO (Complete Neglect of Differential
Overlap). The electron repulsion between electrons in different
orbitals depends only on the nature of the atoms involved, andnot on the particular orbital. This creates a very simple picture.
One of its disadvantages is that because it neglects almost all
exchange integrals, it cannot calculate differences between statesof multiplicity arising from the same electronic configuration.
CNDO treats singlet-triplet energy gaps poorly.
The INDO method (Intermediate NDO) corrects some of the worst
problems with CNDO. For example, INDO exchange integrals
between electrons on the same atom need not be equal, but candepend on the orbitals involved. Though this introduces moreparameters, additional computation time is negligible. INDO andMINDO/3 (Modified INDO, version 3) methods are different
implementations of the same approximation.
ZINDO/1 and ZINDO/S are Dr. Michael Zerner’s INDO versions
and used for molecular systems with transition metals. ZINDO/1 is
expected to give geometries of molecules, and ZINDO/S is parametrized to give UV spectra.

MNDO, MNDO/d, AM1, and PM3 Methods
The NDDO (Neglect of Diatomic Differential Overlap) approximation is the basis for the MNDO, MNDO/d, AM1, and PM3 methods. In addition to the integrals used in the INDO methods, they
have an additional class of electron repulsion integrals. This classincludes the overlap density between two orbitals centered on thesame atom interacting with the overlap density between two orbitals also centered on a single (but possibly different) atom. This is asignificant step toward calculating the effects of electron-electroninteractions on different atoms.
Calculating the extra integrals takes time. MNDO, MNDO/d, AM1,
and PM3 calculations typically take about one and one-half times
as long as INDO or MINDO/3 calculations.
AM1 is generally the most accurate computational method
included in HyperChem and is often the best method for collecting quantitative information. PM3 is functionally similar to AM1,
but uses an alternative parameter set (see “PM3” on page 156).

132

Chapter 9

NDO Methods

TNDO Methods
The TNDO (Typed Neglect of Differential Overlap) approximation
is a new semi-empirical method with considerable research needed
before its parameters are fully known for the variety of situations
in which it might be used. It is essentially identical to CNDO
(TNDO/1) or INDO (TNDO/2). The only difference is that thesemi-empirical parameters are a function not of the atomic number but of the atom type. It uses Amber atom types and is in somesense a combination of molecular mechanics and semi-empiricalquantum mechanics.
To be fully effective TNDO needs lots of research effort to develop
parameters for the different atom types (chemical environments).
For example, unlike INDO, which has one β bonding parameter for
all C-C bonds, TNDO/2 has different β values for C-C single bonds,
double bonds, triple bonds, aromatic bonds, etc. The atom parameters depend upon specific chemical environments as well as theproperty one is trying to predict. That is, in the general TNDO
scheme one does not have one generic set of parameters for all situations but different parameter sets for different properties. Thus,
in HyperNMR, which uses TNDO, there is one parameter set forpredicting chemical shifts and a different parameter set for predicting spin-spin coupling.
For only the TNDO semi-empirical method a scheme, associatedwith the menu item Select Parameter Set, is available for quickly
choosing and copying parameter sets.

Practical Uses of NDO Methods
NDO methods work best for molecules with electrons that are
spread evenly throughout, with no significant charge polarization.
Hydrocarbons are classic examples: all NDO methods work well on
nonpolar hydrocarbons. Molecular systems with heteroatoms provide a better test of these methods. Groups with several electronegative atoms close together, such as NO2, are the most difficult totreat. Among inorganic, main group compounds, even the bestsemi-empirical methods can fail dramatically with, for example,
interhalogen molecules.

Using Quantum Mechanics Methods

133

NDO Methods

Parameterization
The various semi-empirical methods in HyperChem differ in manytechnical details. Treatment of electron-electron interactions is
one major distinguishing feature. Another important distinguishing feature is the approach used to parameterize the methods.
Based on the methods used for obtaining parameters, the NDO
methods fall into two classes:•

CNDO and INDO were developed by the Pople group at Carnegie Melon University. This group chose parameters based primarily on theory. Their intent was to give them values as close
as possible to those possibly obtained by an exact Hartree-Fockcalculation, using the same basis set.

•

MINDO/3, MNDO, and AM1 were developed by the Dewargroup at the University of Texas at Austin. This group chose
many parameters, such as heats of formation and geometriesof sample molecules, to reproduce experimental quantities.
The Dewar methods yield results that are closer to experimentthan the CNDO and INDO methods.

•

MNDO/d was developed by Walter Thiel a former member ofthe Dewar group principally to deal with main group elements
where d orbitals are important.

•PM3, developed by James J.P. Stewart37, is a reparameterizationof AM1, which is based on the neglect of diatomic differential
overlap (NDDO) approximation. NDDO retains all one-center
differential overlap terms when Coulomb and exchange integrals are computed. PM3 differs from AM1 only in the valuesof the parameters. The parameters for PM3 were derived bycomparing a much larger number and wider variety of experimental versus computed molecular properties. Typically, nonbonded interactions are less repulsive in PM3 than in AM1.
PM3 is primarily used for organic molecules, but is also parameterized for many main group elements.

•

ZINDO/1 is based on a modified version of the intermediate
neglect of differential overlap (INDO), which was developedby Michael Zerner of the Quantum Theory Project at the University of Florida. Zerner’s original INDO/1 used the Slater

37. Stewart, J. J. P. Optimization of Parameters for Semiempirical Methods. I. Method J.
Comput. Chem. 10:209, 1989 and Stewart, J. J. P. Optimization of Parameters for Semiempirical Methods. II. Applications J. Comput. Chem. 10:221, 1989.

134

Chapter 9

Results of Semi-Empirical Calculations

orbital exponents with a distance dependence for the first row
transition metals only. However, in HyperChem constantorbital exponents are used for all the available elements, as recommended by Anderson, Edwards, and Zerner, Inorg. Chem.
28, 2728-2732,1986.
•

ZINDO/S is an INDO method parameterized to reproduce UV
visible spectroscopic transitions when used with the singly
excited CI method. It was developed in the research group of
Michael Zerner of the Quantum Theory Project at the University of Florida.

•

TNDO is based on CNDO and INDO as modified by Hypercube, Inc. starting with Release 1.0 of HyperNMR.

Results of Semi-Empirical Calculations
You can use the information obtained from semi-empirical calculations to investigate many thermodynamic and kinetic aspects ofchemical processes. Energies and geometries of molecules haveclear relationships to chemical phenomena. Other quantities, likeatomic charges and Frontier Orbitals, are less defined but provide
useful qualitative results.

Energies of Molecules
The total energy in an Molecular Orbital calculation is the net
result of electronic kinetic energies and the interactions between
all electrons and atomic cores in the system. This is the potential
energy for nuclear motion in the Born-Oppenheimer approximation (see page 33).
The stable geometry of a molecule has a minimal total energy.
Geometries at different energy minima (local minima plus the global minimum) describe different stable or metastable conformations and isomers of a molecule. Geometry optimizations with
NDO methods generally yield geometries corresponding to energy
minima.
While the HyperChem status line reports the binding energy ofthe electrons, all the SCF methods also supply heat of formation.
MINDO/3, MNDO, AM1, and PM3 are parameterized by fitting toexperimentally determined heats (enthalpies) of formation for aset of molecules at 298 K. The heat of formation is calculated for
Using Quantum Mechanics Methods

135

Results of Semi-Empirical Calculations

these methods by subtracting atomic heats of formation from thebinding energy. Results are reported in the log file for a calculation(see page 124). Heat of formation is the value usually reported
when describing results and is more useful than the directly calculated binding energy.
The following data (Table 1) for molecules, including hydrocarbons, strained ring systems, molecules with heteroatoms, radicals,
and ions comes from a review by Stewart.38 For most organic molecules, AM1 reports heats of formation accurate to within a few
kilocalories per mol. For some molecules (particularly inorganic
compounds with several halogens, such as perchloryl fluoride,even the best semi-empirical method fails completely.
Table 8–1. Heats of formation of selected molecules from AM1 calculations

Molecular
FormulaName

Heat of
Formation(experiment,
kcal/mol)Heat of
Formation(AM1,
kcal/mol)

C7H6O2

Benzoic Acid

–70.1

–68.0

C7H8

Norbornadiene

+59.7

+67.7

C5H8O

Cyclopentanone

–46.0

–36.1

C2H4O

Ethylene oxide

–12.6

–9.0

C5H8

Spiropentane

+44.3

+50.5

C4H10

n-butane

–30.4

–31.2

CF4

Carbontetrafluoride–223.3–225.7C3H5Allyl radical

+40.0

+38.6

CH2 (triplet)

Methylene

+92.3

+80.8

CH3O

Methoxy radical

–0.5

–3.7

C7H7+

Benzyl cation+216.0+222.1

CH2F2+

Difluoromethane
cation+185.2+151.6

38. Stewart, J. J. P. MOPAC: A Semiempirical Molecular Orbital Program J. Computer-Aided
Mol. Design 4, 1–105:1990.
136

Chapter 9

Results of Semi-Empirical Calculations

Molecular
FormulaName

Heat of
Formation(experiment,
kcal/mol)Heat of
Formation(AM1,
kcal/mol)

O3FCl

Perchloryl fluoride–5.1+246.5You can investigate the energetics of chemical equilibrium bycomparing the heats of formation of reactants and products. This
produces one of the most useful results of a chemical calculation.
The accuracy and reliability of the heats of formation depend on
the method used (see “Choosing a Semi-Empirical Method” onpage 153).
A common application of the direct calculation of molecularenergy is the study of organic reaction mechanisms. You can investigate the energies of different potential intermediates, species noteasily studied by experiment. A review by Thiel39 lists many suchapplications for MNDO, including studies of rearrangements,
questions of stereoselectivity, regiospecificity, and photochemical
reactions. The accuracy of calculations in predicting relative energies of related species is generally greater than the absolute heatsof formation (see Tables 1 and 2). This shows how much interest
there is in the study of reaction mechanisms.
Data on proton affinities (gas phase) of many different compounds(see Table 2) demonstrate the high level of accuracy possible indetermining energies of related species. In this report by Dewar
and Dieter40, the enthalpy of formation of H+ is the experimental
value (367.2 kcal/mol). The calculated value for H+ is unreliable.
Table 8–2. Proton affinities of selected compounds, from AM1 calculations

Base

Conjugate Acid

ProtonAffinity(experimental,
kcal/mol)

ProtonAffinity(AM1,kcal/mol)

CH4

CH5+

132.0

134.0

C6H6 (benzene)

C6H7+

181.3

183.2

39. Thiel, W. Semiempirical Methods: Current Status and Perspectives Tetrahedron, 44:7393,
1988.
40. Dewar, J. S.; Dieter, K. M. J. Am. Chem. Soc. 108: 8075, 1986.

Using Quantum Mechanics Methods

137

Results of Semi-Empirical Calculations

Base

Conjugate Acid

ProtonAffinity(experimental,
kcal/mol)

ProtonAffinity(AM1,kcal/mol)

CH3NH2CH3NH3+

214.1

211.1

Ph-NH2

Ph-NH3+

209.5

211.4

CH3CN

CH3CNH+

188.4

190.4

H2O

H3O+

166.5

164.5

CH3CHOCH3CHOH+

186.6

184.9

Geometries of Molecules
The geometries obtained from optimizations with semi-empiricalcalculations describe the shapes of molecules. The calculations
have varying degrees of accuracy and take more time than molecular mechanics methods. The accuracy of the results depends onthe molecule.
Molecular mechanics force fields have much information built
into them and can be accurate for the molecules used in theirparameterization. For molecules outside the limited scope forwhich they were designed, semi-empirical methods are more reliable. Stewart38 reports a statistical study of geometries obtainedusing MNDO and AM1. For second row elements, the calculationsof bond lengths are accurate to an average of approximately 0.01
Ångstrom for AM1, and almost twice this error for MNDO. For
third row elements, the error is about twice that of the second row
elements. Bond angles are predicted correctly to within a few
degrees for almost all organic molecules.

Energies of Transition States
Many transition states of chemical reactions contain symmetry
elements not present in the reactants and products. For example,
in the umbrella inversion of ammonia, a plane of symmetry exists
only in the transition state.

138

Chapter 9

Results of Semi-Empirical Calculations

Symmetrical transition states are the lowest energy configuration
within that symmetry. If a geometry optimization starts off withinthat symmetry, then the calculation can find the transition state.
Example: If you start an optimization of a planar ammonia molecule and constrain it to that geometry, the calculation finds thetransition state.
Example: Ethane is stable in the staggered (gauche) conformation.
The transition state for rotating a methyl group in ethane has the
eclipsed conformation. A geometry optimization starting from aneclipsed conformation yields the transition state.
Semi-empirical methods take their parameters from data on stablemolecules, so the parameters are less suited to describing transition states than to describing minimum energy geometries. Activation energies derived from these methods are generally less reliable
than are reaction energies. Calculations of rotational barriers using
MNDO and AM1 provide examples of the accuracy of activationenergies (Table 3). The following data is from Stewart’s review.38
Table 8–3. Barriers to rotation and inversions, from AM1 calculations

Molecule

Barrier toExperiment(kcal/mol)

AM1(kcal/mol)

MNDO(kcal/mol)

EthaneMethyl rotation

2.9

1.25

1.01

Ammonia

Inversion

6

4.24

11.58

Methanol

Methyl rotation

1.1

1.04

0.74

Molecular Orbital Energies and Ionization Potentials
Koopmans’ Theorem states that the first ionization energy of aclosed-shell molecule is approximated to second order by theenergy of the highest occupied orbital (HOMO). During ionization, the remaining electrons are reorganized, contributing an
additional energy term not considered in this theorem. However,Koopmans’ theorem does hold for many situations and enables
interpretation of photoelectron spectra from Molecular Orbital
calculations. It is also true that orbital energies can reasonably
approximate higher ionization potentials.

Using Quantum Mechanics Methods

139

Results of Semi-Empirical Calculations

Errors in ionization potentials are typically a few tenths of an electron volt, a small percentage of the total. Stewart gives tables withsample values.24, 41

Dipole Moments
The molecular dipole moment is perhaps the simplest experimental measure of charge density in a molecule. The accuracy of theoverall distribution of electrons in a molecule is hard to quantify,
since it involves all of the multipole moments. Experimental measures of accuracy are necessary to evaluate results. The values forthe magnitudes of dipole moments from AM1 calculations for asmall sample of molecules (Table 4) indicate the accuracy you may
expect. This data is a sampling from Stewart’s review.38
Table 8–4. Dipole moments of selected molecules, from AM1 calculations

FormulaName

Experiment(Debyes)

AM1(Debyes)

C3H4O

Acrolein

3.12

2.53

NH3

Ammonia

1.47

1.85

H2O

Water

1.85

1.86

C6H6O

Phenol

1.45

1.23

HSiF3

Trifluorosilane

1.27

1.55

C6H4F2o-difluorobenzene

2.59

2.68

The value for water in Table 4 is particularly interesting. AM1
reproduces the water molecule’s electron distribution very welland can give accurate results for hydrogen bonds.
The HyperChem log file includes calculated dipole moments ofmolecules. To set the amount of information collected in the log
file, change the value of the QuantumPrintLevel setting in thechem.ini file. Note that the sign convention used in the quantum
mechanical calculation of dipoles is opposite to that used inmolecular mechanics dipole calculations; this reflects the differing
sign conventions of physics and chemistry.
41. Stewart, J.J.P. in Reviews of Computational Chemistry, Lipkovitz, K.; Boyd, D.B., Eds. VCM
Publishers, New York, 1990.

140

Chapter 9

Results of Semi-Empirical Calculations

Electrostatic Potential
Electron distribution governs the electrostatic potential of molecules. The electrostatic potential describes the interaction ofenergy of the molecular system with a positive point charge. Electrostatic potential is useful for finding sites of reaction in a molecule: positively charged species tend to attack where the electrostatic potential is strongly negative (electrophilic attack).
HyperChem displays the electrostatic potential as a contour plotwhen you select the appropriate option in the Contour Plot dialog
box. Choose the values for the starting contour and the contour
increment so that you can observe the minimum (typically about–0.5 for polar organic molecules) and so that the zero potential
line appears.
View the contour map in several planes to see the general form of
the distribution. As long as you don’t alter the molecular coordinates, you don’t need to repeat the wave function calculation. Use
the left mouse button and the HyperChem Rotation or Translation
tools (or Tool icons) to change the view of a molecule withoutchanging its atomic coordinates.
Atomic charges indicate where large negative values (sites forelectrophilic attack) are likely to occur. However, the largest
negative value of the electrostatic potential is not necessarily adjacent to the atom with the largest negative charge. An example isformamide (NH2CHO). The largest negative atomic charge occurs
on the nitrogen, but the most negative values of the electrostatic
potential occur at the oxygen lone pair sites. Protonation mostfavorably occurs at these sites. This illustrates the value of electrostatic potential compared to simple atomic charges in predicting
reactivity.

Using Quantum Mechanics Methods

141

Results of Semi-Empirical Calculations

In this example, the deepest minimum occurs at oxygen lone pairsites. The contour starting value is –0.4 and the increment is 0.04.
Fifteen contour levels were calculated on a 60 by 60 grid. The mostnegative (Mulliken) atomic charge in this system is that of thenitrogen (–0.448), with oxygen (–0.371) being the only other negative atom in the system. Electrostatic potential predicts protonation on the oxygen atom.
142

Chapter 9

Results of Semi-Empirical Calculations

Atomic Charges
Energy, geometry, dipole moment, and the electrostatic potential
all have a clear relation to experimental values. Calculated atomic
charges are a different matter. There are various ways to define
atomic charges. HyperChem uses Mulliken atomic charges, which
are commonly used in Molecular Orbital theory. These quantities
have only an approximate relation to experiment; their values are
sensitive to the basis set and to the method of calculation.
It is interesting to calculate the atomic charges of the water molecule using the various methods in HyperChem, and compare theresults to the optimized point charges for the TIP3P model ofwater. The TIP3P model, which HyperChem uses in its periodic
box, gives atomic charges that reproduce accurately the electrostatic interactions between water molecules. The charge on theoxygen atom is –0.834, while the charges on the oxygens from thesemi-empirical calculations at optimized geometries are –0.383(AM1), –0.326 (MNDO), –0.505 (MINDO/3), –0.312 (INDO), and–0.266 (CNDO). At the CNDO geometry, the Extended Hückel
charge on oxygen is –0.884. Extended Hückel, which gives theleast accurate results of any method, yields a charge closest to theelectrostatic potential values of TIP3P. Note that the TIP3P values
are appropriate for a particular use; it would be incorrect to callthem the proper atomic charges. However, it is clear that reliableenergies and geometries do not translate into a meaningful set of
atomic charges.
Despite these reservations, Mulliken population-derived atomic
charges are easy to compute. Empirical investigation shows thatthey have various uses; they provide approximate representationof the 3D charge distribution within a molecule.
AMBER, BIO+, and OPLS calculations use information on atomic
charges. Atomic charges can come from these sources:•

HyperChem residue templates. HyperChem uses these templates when it reads a Protein Data Bank file or when you construct a molecule from residues.

•

Set Charge on the Build menu. You can use this command toassign charges to individual atoms.

•

Semi-empirical calculations.

•

Ab initio calculations

Using Quantum Mechanics Methods

143

Results of Semi-Empirical Calculations

For example, semi-empirical calculations on a substrate molecule
provide a set of charges that you can use in a molecular mechanics
calculation of the interaction of that substrate with another molecule. To include the effects of polarization, repeated semi-empirical calculations can provide a set of charges that respond to theenvironment.
If the MM+ option to use bond dipoles for nonbonded electrostatic
calculations is set, then MM+ ignores atomic charges but uses
dipole moments supplied in its parameter set (in the mmpstr.*
files).
One of the common uses of Mulliken atomic charges is to indicate
chemical reactivity.

Chemical Reactivity
Because of thermodynamic forces, many elementary reactions(those that take place in a single step) favor the most stable product. In these cases, calculating energies of the reaction products
yields straightforward, well-defined information about the likely
products. Electrophilic, aromatic substitutions are an example ofthis type of reaction.
Other reactions are controlled kinetically, and the most stableproduct is not the major one observed. In these cases, you must
look at the reactant side of the reaction coordinate to discover factors determining the outcome. Klopman42 and Salem43 developed
an analysis of reactivity in terms of two factors: an electrostaticinteraction approximated by atomic charges and a Frontier orbital
interaction. Fleming’s book provides an excellent introduction tothese ideas.44
The Klopman-Salem equation partitions contributions to theinteraction energy of two molecules into two teams, as they
approach each other (equation 29).

42. Klopman, G. J. Am. Chem. Soc. 90:223, 1968.
43. Salem, L. J. Am. Chem. Soc. 90:543,90:553, 1968.
44. Fleming, I. Frontier Orbitals and Organic Chemical Reactions Wiley and Sons, London,
1976.

144

Chapter 9

Results of Semi-Empirical Calculations C ⋅ C ⋅ H 2 
2∑ µr νs µν 
q A q B  occ unocc occ unocc  µ ν
∆E = ∑ ------------- + ----------------------------------------------------–

∑
∑
∑
∑
R
εr – εsA < B AB
 r

s
s
r


(29)
∆E is the interaction energy; qA and qB are charges on atoms A andB, separated by RAB, on different molecules. r and s are molecularorbitals on the two different molecules. µ and ν label the atomic
orbitals that contribute to these molecular orbitals, with coefficients Cµr and Cνs. Hµν is the matrix element between atomic orbitals µ and ν, which is a measure of the energy of their interaction,roughly proportional to their overlap. The energies of the molecular orbitals are εr and εs.

The first term includes the electrostatic attractions and repulsions
between the net charges on pairs of atoms, one from each molecule. The second involves interactions between occupied andvacant molecular orbitals on the two molecules. The hypothesis isthat the reaction proceeds in a way to produce the most favorable
interaction energy. In one extreme, this can be accomplished by afavorable electrostatic interaction between charges. At the otherextreme, it is accomplished by a favorable overlap of Frontier
orbitals. Note that the Klopman-Salem equation is approximate,
and that even within the framework of the equation, both factors
are always at work.
Frontier Orbital theory supplies an additional assumption to thiscalculation. It considers only the interactions between the highest
occupied molecular orbital (HOMO) and the lowest unoccupied
molecular orbital (LUMO). These orbitals have the smallest energy
separation, leading to a small denominator in the Klopman-Salem
equation. The Frontier orbitals are generally diffuse, so the numerator in the equation has large terms.
The interaction between charges favors reaction between sites (onthe two species) that have extreme charge values: the most positive
charge interacts with the most negative. This ionic reaction generally involves strongly polar reactants. The second term favors
interactions where the HOMO and the LUMO can overlap mostfavorably. This generally occurs for less polar reactants and isUsing Quantum Mechanics Methods

145

Results of Semi-Empirical Calculations

important when the two have similar energies, so that the denominator is small.

Atomic Charges and Reactivity
It is generally true that nucleophiles attack molecules at sites of
positive charge, and that electrophiles attack sites of negative
charge. You can estimate sites of ionic reactivity from the atomic
charges in a molecule, particularly for reactions involving “hard”
nucleophiles and electrophiles. While the electrostatic potential isa rigorous expression of this idea, the charges provide a quick summary of the main features of the electron distribution. Predictionsof ionic reactivity based on atomic charges are generally more reliable when comparing different atoms of the same element.
Caution: For ionic reactions in solution, solvent effects can play asignificant role. These, of course, are neglected in calculations on
a single molecule. You can obtain an indication of solvent effects
from semi-empirical calculations by carefully adding water molecules to the solute molecule.

Frontier Molecular Orbitals
You can interpret the stereochemistry and rates of many reactions
involving “soft” electrophiles and nucleophiles—in particular
pericyclic reactions—in terms of the properties of Frontier orbitals.
This applies in particular to pericyclic reactions. Overlap between
the HOMO and the LUMO is a governing factor in many reactions.
HyperChem can show the forms of orbitals such as HOMO andLUMO in two ways: a plot at a slice through the molecule and asvalues in a log file of the orbital coefficients for each atom.
Example: An example of Frontier Orbital theory is in predicting
sites of nitration (electrophilic attack) on aromatic compounds. If
you plot the HOMO as a contour map, the region of highest density (regardless of sign) is generally the site of electrophilic attack.
Alternatively, you can look in the log file for the atom with thelargest molecular orbital coefficient. This is generally the site ofreaction.

146

Chapter 9

Results of Semi-Empirical Calculations

In this example, the HOMO is plotted one Ångstrom above theplane of the molecule. Since it is of π symmetry, it has a node in
the plane of the molecule. It shows the site of electrophilic attackat the carbon adjacent to the oxygen atom. This is also the experimentally observed site. The orbital comes from an Extended
Hückel calculation of an MM+ optimized geometry.
Plotting the same orbital as its density, which is the square of the
wave function, emphasizes the difference in magnitude at the different sites.

Using Quantum Mechanics Methods

147

Results of Semi-Empirical Calculations

Frontier Orbital theory is qualitative, so there is no need for great
accuracy in the calculation as long as it produces the approximate
form of the orbitals.
Example: Another example of frontier orbital theory uses the reaction of phenyl-butadiene with phenylethylene. This reaction is a
[4 + 2] pericyclic addition to form a six-membered ring. It could
proceed with the two phenyl rings close to each other (head tohead) or further away from each other (head to tail).
An initial assumption is that the reaction takes place with maximum overlap between the HOMO on one molecule and the LUMO
on the other. The HOMO of phenylbutadiene has most density on
the terminal carbon atom.

The LUMO of phenylethylene also has most density at the terminal (beta) carbon, so that these two atoms attach to each other,yielding the sterically unfavorable product.

148

Chapter 9

Results of Semi-Empirical Calculations

This example uses AM1 for optimization and orbital calculations.
For more examples of Frontier Orbital theory, see Fleming's book.29

Vibrational Analysis and Infrared Spectroscopy
The quality of the vibrational frequencies varies widely with thesemi-empirical method that is used. Generally, AM1, and PM3 arein closer agreement with experiment than methods based on
CNDO or INDO.
The vibrational frequencies are derived from the harmonic
approximation, which assumes that the potential surface has aquadratic form.
Large amplitude (floppy) vibrational modes often exhibit significant anharmonicity that may increase errors in computed frequencies. In addition to anharmonicity, usually there is coupling
between vibrational modes.
If there are negative frequencies in an IR spectrum, it is a sign thatyou are not at a minimum energy structure. A valid minimum
energy structure possesses only positive frequencies.
Results of a recent literature study indicate that frequencies computed using semi-empirical PM3, AM1, and MNDO methods compare well to values obtained at the ab initio level using medium size
basis sets. Of these three methods, PM3 showed the closest correspondence to experimental values, which is generally about 10
percent too high in value from stretches (Seeger, D.M.; Korzeniewski, C.; Kowalchyk, W., J. Phys.Chem. 95:68-71, 1991).

Using Quantum Mechanics Methods

149

Results of Semi-Empirical Calculations

The following table shows the accuracy of computed fundamental
frequencies for CO2 (cm-1):
Normal
Mode

CNDO

INDO

AM1

PM3

Experiment

bend

571

553

525

521

667

asymmetricstretch

1888

2080

1480

1406

1340

symmetric
stretch

6427

5737

2565

2386

2349

Experimental Characteristic IR Fundamental Frequencies
After you compute an IR spectrum with HyperChem, you can use
the table below to assign computed IR lines and qualitatively assess
the accuracy of the computation.
:

FunctionalGroup

Frequency, cm–1

Intensitya

Assignment

1.Alkanes

2850-3000s

C – J stretch

1450-1470s

CH2 and CH3 bend

1370-1380s

720-725m

3080-3140m= C - H stretch

1645

m

C = C stretch

990

s

910

s

3080-3140m= C - H stretch

1650

m

C = C stretch

2.Alkenesa) (RCH = CH2)C – H out-of-plane bendb) R2C = CH2

150

Chapter 9

Results of Semi-Empirical Calculations
Frequency, cm–1

Intensitya

Assignment890s

C – H out-of-plane bend

3020

w

= C - H stretch

1660

m

C = C stretch

675-725m

C – H out-of-plane bend

3020

w

= C - H stretch

1675

vw

C = C stretch

970s

C – H out-of-plane bend

3020

w

= C - H stretch

1670

w

C = C stretch

790-840s

C – H out-of-plane bend

1670

vw

C = C stretch

3300

s

≡ C – H stretch

2100-2140m

C ≡ C stretch

600-700s≡ C – H bend

2190-2260

vw

C ≡ C stretcha) R – F

1000-1350

vs

C – F stretchb) R – Cl

750-850s

C – Cl stretchc) R – Br

500-680s

C – Br stretchd) R – I

200-500s

C – I stretch

3600

var

free O – H stretch

FunctionalGroupc) cis-RCH = CHRd) trans-RCH = CHRe) R2C = CHRf) R2C = CR2
3.Alkynesa) RC ≡ CHb) RC ≡ CR
4.Alkyl Halides

5.Alcoholsa) RCH2OH

Using Quantum Mechanics Methods

151

Results of Semi-Empirical Calculations

FunctionalGroup

Frequency, cm–1

Intensitya

Assignment

3400

s

bonded O – H stretch

1050b) R2CHOH

C – O stretch

3600

var

free O – H stretch

3400

s

bonded O – H stretch

1150

s

C – O stretch

3600

var

free O – H stretch

3400

s

bonded O – H stretch

1200

s

C – O stretch

6.Ethers

1070-1150s

C – O stretch

7.Aldehydes

1725

s

C = O stretch

2720, 2820m

C – H stretcha) acyclic

1715

s

C = O stretchb) three-membered

1850

s

C = O stretchc) four-membered

1780

s

C = O stretchd) five-membered

1745

s

C = O stretche) six-membered

1715

s

C = O stretchf) seven-membered

1705

s

C = O stretchc) R3COH

8. Ketones

a. vs=very strong, s=strong, m=medium, w=weak, vw=very weak, v=variable

UV-visible Spectra
The longest wavelength absorption transition for ethene calculated by HyperChem using PM3 is 207 nm, which compares favorably with the experimental value of 190-200 nm.

152

Chapter 9

Choosing a Semi-Empirical Method

After you compute an electronic spectrum with HyperChem, you
can use the table below to assign computed transitions and qualitatively assess the accuracy of the computation.:
Substrates

Absorption maxima (nm)Simple alkenes

190-200

Acyclic dienes

220-250

Cyclic dienes

250-270

Styrenes270-300

Saturated ketones

270-280α, β - Unsaturated ketones

310-330

Aromatic ketones and aldehydes

280-300

Aromatic compounds

250-280

Choosing a Semi-Empirical Method
The choice of the NDO method depends on several factors including your previous experience and preferences. If you want to compare the results to other studies, you must use the same semiempirical method. Since some methods can converge much more
quickly than others, you might want to use a fast method to obtainan approximation of the final answer, and then a more accurate
method for the final result.

Extended Hückel
Extended Hückel (EHT) is the computational equivalent of theorbital interaction pictures familiar to chemists (see “Generating
and Viewing Orbitals and Electronic Plots” on page 9). The energies of atomic orbitals are well defined, and the total energy is thesum of occupied orbital energies. Neither factor is true for othermethods. Extended Hückel is useful for examining the generalform and energy ordering of molecular orbitals. The method is
simple and it provides qualitative answers to questions about electronic structure.
Using Quantum Mechanics Methods

153

Choosing a Semi-Empirical Method

For transition metals the splitting of the d orbitals in a ligand field
is most readily done using EHT. In all other semi-empirical methods, the orbital energies depend on the electron occupation.
HyperChem’s molecular orbital calculations give orbital energy
spacings that differ from simple crystal field theory predictions.
The total molecular wavefunction is an antisymmetrized productof the occupied molecular orbitals. The virtual set of orbitals are
the residue of SCF calculations, in that they are deemed least suitable to describe the molecular wavefunction.
Normally, you would expects all 2p orbitals in a given first row
atom to be identical, regardless of their occupancy. This is only
true when you perform calculations using Extended Hückel. The
orbitals derived from SCF calculations depend sensitively on theiroccupation. For example, the 2px, 2py, and 2pz orbitals are notdegenerate for a CNDO calculation of atomic oxygen. This is especially important when you look at d orbital splittings in transition
metals. To see a clear delineation between t2u and eg levels you
must use EHT, rather than other semiempirical methods.
See also “Limitations of Extended Hückel” on page 130.

CNDO
Although CNDO is less accurate than other NDO methods, there
are two common reasons for using it:•

CNDO and INDO are generally faster than the MINDO/3,
MNDO, AM1, and PM3 and require much less memory. You
can apply them to molecules that are too large for MINDO/3,
MNDO, AM1, and PM3.

•

Apart from speed, an appealing aspect of CNDO is its simplicity. It uses fewer parameters than any other method except for
Extended Hückel and, consequently, it is easier to understandthe results of modifying a calculation.

Note: Do not use CNDO on any problem where electron-spin is
critically important. Its complete neglect of atomic exchange integrals makes it incapable of dealing with these problems.

154

Chapter 9

Choosing a Semi-Empirical Method

INDO
INDO is faster than MINDO/3, MNDO, AM1, and PM3 and, unlike
CNDO, can deal with spin effects. It is a particularly appealing
choice for UHF calculations on open-shell molecules. It is alsoavailable for mixed mode calculations (see the previous section).
INDO shares the speed and storage advantages of CNDO and isalso more accurate. Although it is preferred for numerical results,
it loses some of the simplicity and interpretability of CNDO.

MINDO/3
MINDO/3 is the earliest of the Dewar methods. It provides moreaccurate geometries and heats of formation than CNDO or INDO,
and has been used widely. The limitations of the INDO approximation, on which MINDO/3 is based, frequently lead to problems ofaccuracy when dealing with molecules containing heteroatoms.
MINDO/3 is particularly good for describing carbocations, including nonclassical carbocations, and polynitro organic compounds.
For these problems it gives better results than MNDO and AM1,even though those methods are generally more accurate. Stewart23
reports that for a set of 11 nitro and polynitro organic compounds,
the average error in heats of formation is 3.5 kcal/mol for
MINDO/3, compared to 34.5 kcal/mol for MNDO or 13.7 kcal/mol
for AM1.

MNDO
MNDO was introduced to correct some of the problems withMINDO/3. It has been used widely to calculate heats of formation,
molecular geometries, dipole moments, ionization energies, electron affinities, and other properties. It has problems dealing withsterically crowded molecules (too unstable), four-membered rings(too stable), hydrogen bonding (almost nonexistent), and hypervalent compounds (too unstable). Also, nitrobenzene incorrectly
yields an out-of-plane nitro group, and the peroxide bond is too
short by about 0.17 Ångstrom.
Although AM1 is generally a significant improvement over
MNDO, MNDO gives better results for some classes of molecule,such as some phosphorus compounds.

Using Quantum Mechanics Methods

155

Choosing a Semi-Empirical Method

MNDO/dMNDO/d is a version of MNDO with d-orbital capability. In addition to the previous MNDO parameter sets, parameters for several
new elements are included in the implementation of the MNDO/dmethod, such as Na, Mg, Cd and Sn. The MNDO/d method and its
parameter set referred to can be found in the following references:
W. Theil and A. Voityuk, Theo. Chim. Acta 81, pp391-404 (1992);
W. Thiel and A. Voityuk, Int.J. Quant. Chem. 44, pp807-829(1992);

AM1
Many problems with MNDO involve cases where the NDO approximation electron-electron repulsion is most important. AM1 is an
improvement over MNDO, even though it uses the same basic
approximation. It is generally the most accurate semi-empiricalmethod in HyperChem and is the method of choice for most problems. Altering part of the theoretical framework (the function
describing repulsion between atomic cores) and assigning newparameters improves the performance of AM1. It deals with hydrogen bonds properly, produces accurate predictions of activation
barriers for many reactions, and predicts heats of formation ofmolecules with an error that is about 40 percent smaller than with
MNDO.
Problems still exist with AM1. Treatment of phosphorus-oxygenbonds is inaccurate, nitro compounds are still too positive inenergy, and the peroxide bond, for example, is still too short. In
many cases, PM3 is an improvement over AM1.

PM3
PM3 is a reparameterization of AM1, which is based on the neglectof diatomic differential overlap (NDDO) approximation. NDDO
retains all one-center differential overlap terms when Coulomb
and exchange integrals are computed. PM3 differs from AM1 onlyin the values of the parameters. The parameters for PM3 were
derived by comparing a much larger number and wider variety ofexperimental versus computed molecular properties. Typically,
nonbonded interactions are less repulsive in PM3 than in AM1.
PM3 is primarily used for organic molecules, but is also parameterized for many main group elements.
156

Chapter 9

Choosing a Semi-Empirical Method

PM3 can also be used to study transition metal (tm) compounds;
new parameters include the following elements Ti, Mn, Fe, Co, Ni,
Cu, Zr, Mo, Rh, Pd, Hf, Ta and W.

ZINDO/1
The ZINDO/1 method is the most suitable semi-empirical method
in HyperChem for determining structures and energies of molecules with first or second transition row metals.
The ability to perform molecular orbital (MO) calculations on metals is extremely useful because molecular mechanics methods are
generally unable to treat metals. This is because metals have a wide
range of valences, oxidation states, spin multiplicities, and haveunusual bonding situations (e.g., dπ-pπ back bonding). In addition, the nondirectional nature of metallic bonding is less amenable to a ball and spring interpretation.
Conversely, these factors dictate that molecular orbital calculations on metals yield less reliable results than with organic compounds.

ZINDO/SZINDO/S is parameterized to reproduce spectroscopic transitions,
therefore we do not recommend using this method for geometry
optimization. You can obtain better results by performing a singlepoint calculation with ZINDO/S on a geometry obtained from theModel Builder, an optimization using one of HyperChem’s othermethods, or an external source.
For transition metal complexes with several possible spin arrangements, a separate calculation within each spin multiplicity may berequired to find the ground state of the complex.
When computing UV visible spectra, you should do a CI singles
calculation. RHF or UHF calculations are sufficient to reproduce
the proper order of molecular orbitals in most complexes.

TNDO
TNDO is essentially an experimental method. While simple, it canbe the most accurate of any of the semi-empirical methods. To be
accurate, however, requires a good set of parameters for the propUsing Quantum Mechanics Methods

157

Further Reading

erty of interest and the set of atom types included in set of molecules for which predictions are required. If only the CNDO or
INDO parameters are available then it reduces to a method withthe relatively modest predictability that CNDO or INDO provide.

Further Reading
Documentation on the reliability of the different NDO methods
for various applications is scattered throughout the chemistry literature. Original papers describing the methods present relevantmaterial. The CNDO and INDO methods are discussed in books by
Pople and Beveridge45 and by Murrell and Harget46. Compilations
exist for MINDO/3 and MNDO in a book by Clark.47 For MNDO,
AM1, and PM323, see the MOPAC documentation by Stewart24 anda review article by Stewart27.

45. Pople, J. A.; Beveridge, D. L. Approximate Molecular Orbital Theory McGraw-Hill, New
York, 1970.
46. Murrell, J. N.; Harget, A. J. Semi-empirical Self-consistent-field Molecular Orbital Theory of
Molecules Wiley Interscience, New York, 1971.
47. Clark, T. A. Handbook of Computational Chemistry, John Wiley and Sons, New York, 1985.

158

Chapter 9

HyperChem®
Computational ChemistryPart 2
Theory and Methods

159

160

Chapter 10
Theory and Methods Introduction
This part describes the essentials of HyperChem’s theoretical andcomputational chemistry or how HyperChem performs chemical
calculations that you request from the Setup and Compute menus.
While it has pedagogical value, it is not a textbook of computational chemistry; the discussions are restricted to topics of immediate relevance to HyperChem only. Nevertheless, you can learnmuch about computational chemistry by reading this manual
while using HyperChem.
The theory and methods discussed in this book are HyperChem's
two fundamental force-energy-generator modules: one for molecular mechanics and one for quantum mechanics. Molecularmechanics and quantum mechanics are described in subsequent
chapters as modules capable of delivering an energy, or derivativesof the energy. Other chapters describe the uses for these energies
and their derivatives in more generic parts of HyperChem.

HyperChem Architecture
While you may not necessarily perceive the difference, HyperChem is designed to consist of two basic components: a front end
and a back end.
The front end is what you see and what you interact with. It provides a user interface to molecular modeling and provides the visualization of molecules and the results of computations. The front
end can be thought of as the molecular modeling component ofHyperChem.

161

HyperChem Architecture

The back end is the component of HyperChem that performs themore time-consuming scientific calculations. This is where molecular mechanical and quantum mechanical calculations are performed. The back end can be thought of as the computational
chemistry component of HyperChem.

The Back Ends
As an aid in understanding how to use HyperChem effectively, thissection describes the essentials of the front end and back end
architecture. While this may not be necessary, an intuition as to
how the program operates can be useful in optimizing its efficientuse. A network version of HyperChem will allow the front end to
run on a local workstation or personal computer with the back end
running somewhere else in the network, possibly on a large, parallel-processing machine at a different geographical location. The
non-network version simply merges the front end and back end
into the same machine.
The user only interacts with the front end. The front end collects
input from the user, initiates back end calculations, collects resultsfrom the back end, and then, if requested, displays these results tothe user. The front end launches a back end program, sends it
input data, and then receives output results from it. The back end
programs included with HyperChem are HyperMM+, HyperNewton (performs AMBER, BIO+, and OPLS calculations), HyperEHT(performs Extended Hückel calculations), HyperNDO (performs
CNDO, INDO, MINDO/3, MNDO, AM1, PM3, ZINDO/1, andZINDO/S calculations), HyperTNDO (performs TNDO calculations), HyperGauss (performs ab initio quantum mechanical calculations), and HyperDFT (performs density functional calculations).
When the front end initiates a back end program, an icon willappear (for the Microsoft Windows version only) representing theback end program. The icons are a falling red apple, indicating amolecular mechanics calculation and an orbiting electron rendering of an atom, indicating a semi-empirical quantum mechanicalcalculation or a blue psi wavefunction symbol indicating an ab initio or DFT calculation. While the icon is visible, a back end program is active. The user can explicitly stop a back end program but
only the front end can start a program.

162

Chapter 10

HyperChem Philosophy

A back end program essentially acts as a computational server for
the front end. It receives input, computes something, sends it backto the front end and then looks for further input or commands
from the front end. It can be used over and over for different calculations. If it has been explicitly stopped, the front end will start
the back end executing again as necessary. If the front end determines that it needs to stop a back end program or start anothercopy it will do so. In particular, switching between calculation
methods may stop a back end program and start another one.
For example, if the user requests a molecular dynamics calculation
using the AMBER force field, HyperChem starts a copy of HyperNewton running and sends it a copy of the chosen AMBER parameter set. It then sends it a copy of the current molecular system in
the work space and the appropriate parameters for the molecular
dynamics run. The back end runs the dynamics trajectory periodically sending back results to the front end to update the display ofthe molecule, plot structural or energetic values, etc. The front end
and back end communicate via messages that are as appropriate toa distributed computing environment as they are to the single
machine configuration.
The internal architecture of HyperChem back ends is different
from that expected to be used by third-party packages. To a thirdparty agent wishing to interface with HyperChem, HyperChem
always acts as a server. Thus a third-party molecular dynamics
package would ask HyperChem to send the coordinates of a molecule rather than HyperChem determining on its own that itshould send coordinates at the appropriate time.

HyperChem Philosophy
The HyperChem philosophy associated with back end computations is one which is intended to instill confidence, as far as is possible, in the scientific results emanating from HyperChem. Thisphilosophy is one of openness — openness about the product, thecalculations being performed, the science embodied in the product, etc. Apart from protecting the proprietary code associatedwith a commercial product, Hypercube wishes to document anddescribe as fully as is possible the calculations that HyperChem
performs. There should be no mystery about the scientific results
obtained with HyperChem.

Theory and Methods Introduction

163

Background on Computational Chemistry

HyperChem should not be viewed as a black box that computes
only what its designers thought correct. It has an open architecture that makes it possible to customize it many ways. As far as ispossible, the parameters of molecular mechanics and semi-empirical calculations are in the user's hands. As the techniques of software engineering advance and our expertise in building newreleases of HyperChem progresses, we intend to make as many facets of HyperChem computations available to the user as possible.
In the past, it was thought necessary to provide source code tousers to allow them to customize a product. The ability to customize a product to one’s own use is now attainable much more simply
by means of an open architecture and well-defined, documented
ways to use and customize the product.
In order to balance public domain science with a high qualitycommercial software product it has been necessary for us to reimplement almost every aspect of computational chemistryembodied in HyperChem. All HyperChem source code is written
in C or C++, specified, designed, and implemented by HyperChem's developers. We have stood on the scientific shoulders ofgiants, but we have not used their FORTRAN code! Thus, although
we have had access to MOPAC and other public domain codes fortesting and other purposes, HyperChem computes MINDO,
MNDO, and AM1 wave functions, for example, with HyperChem
code, not MOPAC code. We have made the effort to implement
modern chemical science in a modern software-engineered product.

Background on Computational Chemistry
The principal theory behind HyperChem is the concept of a potential energy surface and the distinction between classical and quantum energies, kinetic and potential energies, energies of electrons
versus energies of nuclei, etc. This section provides a concise
approach to the problem of defining a potential energy surface forthe motion of nuclei and begins with the usual quantum mechanical definitions prior to a more rigorous quantum mechanical definition.

Potential Energy Surfaces
A potential energy surface is simply a specification of the classicalpotential energy, V, as a function of molecular structure. For exam164

Chapter 10

Background on Computational Chemistryple, the potential surface (in this case a potential curve) for adiatomic molecule is sketched qualitatively in the following illustration. The potential energy curve shows the potential energy ofthe molecule as a function of the internuclear distance R. Now, in
fact, there are six degrees of freedom on which the energy might
depend—for instance the X, Y, and Z coordinates of each of thetwo atoms. However, five of these degrees of freedom correspondto translations (3) and rotations (2) of the rigid molecule and do
not affect the energy of the system. This leaves only the internuclear distance as the variable upon which the potential energy
depends.
EnergyR

The curve above shows that as R→ ∞, the potential energy
approaches a constant, which is the energy of the two individual
atoms. Further, there is a global minimum for this potential surface at intermediate distances. At very short distances, the energy
rises to +∞ as the two atoms repel each other.
The semi-empirical methods of HyperChem are quantum mechanical methods that can describe the breaking and formation ofchemical bonds, as well as provide information about the distribution of electrons in the system. HyperChem's molecular mechanics techniques, on the other hand, do not explicitly treat the electrons, but instead describe the energetics only as interactions
among the nuclei. Since these approximations result in substantial
computational savings, the molecular mechanics methods can beapplied to much larger systems than the quantum mechanicalmethods. There are many molecular properties, however, which
Theory and Methods Introduction

165

Background on Computational Chemistry

are not accurately described by these methods. For instance,molecular bonds are neither formed nor broken during HyperChem's molecular mechanics computations; the set of fixed bonds
is provided as input to the computation.

166

Chapter 10

Background on Computational ChemistryThis difference is shown in the next illustration which presents thequalitative form of a potential curve for a diatomic molecule forboth a molecular mechanics method (like AMBER) or a semiempirical method (like AM1). At large internuclear distances, thedifferences between the two methods are obvious. With AM1, themolecule properly dissociates into atoms, while the AMBER potential continues to rise. However, in explorations of the potential
curve only around the minimum, results from the two methods
might be rather similar. Indeed, it is quite possible that AMBER will
give more accurate structural results than AM1. This is due to thecloser link between experimental data and computed results ofmolecular mechanics calculations.
Energymolecular
mechanics

semi-empiricalR

HyperChem provides three types of potential energy surface sampling algorithms. These are found in the HyperChem Computemenu: Single Point, Geometry Optimization, and Molecular
Dynamics.

Single Point
A single point calculation, as its name suggests, performs a calculation at only a single point on the potential surface. For a diatomic
molecule, this might be a calculation at R=2.0 Å, for example. The
results of a single point calculation give the potential energy of thesystem at that geometry, as well as the gradient at that point. For
single parameter potential curves like that shown above, the gradient describes the steepness of the potential curve at that point
along the direction in which the energy decreases. For a polyTheory and Methods Introduction

167

Background on Computational Chemistryatomic system, the situation is more complicated, but essentiallythe same — the gradient gives the direction in which the energy
goes most steeply downhill, along with the steepness of the downhill slope. The RMS gradient that is reported is just the root-meansquare average of the Cartesian components of the gradient vector.

Geometry Optimization
A geometry optimization samples single points on the potential
surface, searching for a minimum. At a potential minimum, thegradient is zero, and any small change in geometry causes thepotential energy to rise. The technique used to search for the minimum is called the optimization algorithm, and several of these areavailable for selection in the optimization dialog box. The optimization algorithms are recipes for using the past history of points
sampled from the potential surface to determine the next point toexamine.

Molecular Dynamics
Molecular dynamics involves the addition of kinetic energy to theabove potential energy surface description and the subsequentmotion of the molecular system over the potential surface. This
motion follows the laws of classical mechanics according to Newton. Normally (except for the constant temperature algorithm ofHyperChem), the classical total energy (sum of kinetic energy andpotential energy) is conserved and the motion is faster (larger
kinetic energy) near minima in the potential surface (smaller
potential energy). If a set of initial conditions is defined (initial
velocities and a particular point on the potential surface), then
Newton's laws cause the molecular system to evolve along a paththat is referred to as the molecular dynamics trajectory. This trajectory traverses the potential surface in ways that are of considerable
interest to explore. Both the end point of a trajectory and the pathtaken to get there are of interest in molecular modeling.

The Born-Oppenheimer Approximation
The first basic approximation of quantum chemistry is the BornOppenheimer Approximation (also referred to as the clampednuclei approximation). The Born-Oppenheimer Approximation isused to define and calculate potential energy surfaces. It uses theheavier mass of nuclei compared with electrons to separate the168

Chapter 10

Background on Computational Chemistry

problem of computing the energy of a collection of nuclei andelectrons (a molecular system) into two problems: an electronic
problem and a nuclear motion problem. The electronic problem
solves for the wave function of the electrons in the field of fixed(clamped) nuclei. The nuclear motion problem subsequently
solves for the motion of nuclei (which can be referred to as atoms
here) on a potential energy surface. The potential energy surface isthe energy of the associated electronic problem, as a function of
the position of the clamped nuclei (clamped only during each single energy calculation).

The Hamiltonian of a Collection of Nuclei and Electrons
A molecular system in HyperChem consists of N nuclei A (having
positive charges, +ZA) and M electrons i (each with negative
charge, qi = -1). The nuclei are described by a vector, R, with 3N
Cartesian X, Y, and Z components. The electrons are described bya vector, r, with 3M Cartesian x, y, and z components. The electrons are explicitly considered only in semi-empirical calculations.
Electrons

NucleiA Hamiltonian is the quantum mechanical description of anenergy contribution. The exact Hamiltonian for a molecular system is:( R, r ) =n ( R ) + e ( r ) + ee ( r, r ) + ne ( R, r ) + nn ( R, R )(1)

where (R) is the total kinetic energy of the nuclei, (r) is thenetotal kinetic energy of the electrons,(r,r) is the potential energy
eeof interaction of electrons with electrons,(R,r) is the potential
neenergy of interaction of the nuclei with electrons, and(R,R) isnn
the potential energy of interaction of nuclei with nuclei.

Theory and Methods Introduction

169

Background on Computational Chemistry

The Electronic Hamiltonian
Since nuclei are much heavier than electrons and move slower, theBorn-Oppenheimer Approximation suggests that nuclei are stationary and thus that we can solve for the motion of electrons
only. This leads to the concept of an electronic Hamiltonian, describing the motion of electrons in the potential of fixed nuclei.
elec ( r ) =e ( r ) + ee ( r, r ) + ne ( R, r )(2)HyperChem's semi-empirical calculations solve (approximately)
the Schrödinger equation for this electronic Hamiltonian leading(r) for the electrons:
to an electronic wave function Ψ
elec
elec ( r )Ψ elec ( r ) = E elec ( R )Ψ elec ( r )(3)The eigenvalue of this Schrödinger equation, the electronic energyE, depends parametrically, as shown, on the coordinates of theelec
nuclei (assumed to be fixed for the purposes of calculating each
E(R), but variable in general). The electronic energy, E
(R)
elec
elec
(R,R) is the total energy of Single Point semicombined withnn
empirical calculations.

The Nuclear HamiltonianIn the same way that we assumed nuclei move much slower thanelectrons, we can assume electrons move much faster than nuclei
and the detailed motion of electrons might be replaced by theiraverage position. Thus Equation (1) above becomes:(R) =( R, 〈 r 〉 ) =(R) =n ( R ) + E elec ( R ) + nn ( R, R )n ( R ) + 〈 elec〉 + nn ( R, R )

(4)

or
(5)

This last equation is the nuclear Schrödinger equation describing
the motion of nuclei. The electronic energy computed from solving the electronic Schrödinger equation (3) on page 170 plus the(R,R) provide a potential for
nuclear-nuclear interactionsnn
nuclear motion, a Potential Energy Surface (PES).
PES ( R ) =( R ) = E elec ( R ) +nn ( R, R )(6)This potential energy surface, which is just values of the Single
Point energy of HyperChem, can be thought of as describing the170

Chapter 10

Background on Computational Chemistryinteractions between the atoms (described by coordinates R) of amolecular system. It is commonly referred to in quantum mechanical calculations as the total energy, although it is only the potential energy as far as the motion of a collection of atoms is concerned. It provides a potential for a nuclear Hamiltonian:(R) =n(R) +(R)(7)

Solutions to a Schrödinger equation for this last Hamiltonian (7)describe the vibrational, rotational, and translational states of amolecular system. This release of HyperChem does not specifically
explore solutions to the nuclear Schrödinger equation, although
future releases may. Instead, as is often the case, a classical approximation is made replacing the Hamiltonian by the classical energy:
E = T + (R)(8)

where T is the classical kinetic energy and is the potential energy.
The potential energy is either the total energy, E
(R) +
elec
(R,R), reported from a semi-empirical quantum mechanicalnncalculation or the (potential) energy of a molecular mechanics calculation. In either case, is the energy computed in Single Point
or Optimization calculations. The kinetic energy, T, is only computed during Molecular Dynamics calculations, where a distinction must be made between kinetic and potential energy. Elsewhere, the total energy usually means the total potential energy ofthe nuclei (atoms) as a function of the coordinates of the nuclei(atoms).
The quantity, (R), the sum of the electronic energy E
comelec
puted in a wave function calculation and the nuclear-nuclear coulomb interaction (R,R), constitutes a potential energy surface
having 3N independent variables (the coordinates R). The independent variables are the coordinates of the nuclei; but having
made the Born-Oppenheimer approximation, we can think ofthem as the coordinates of the atoms in a molecule.

Molecular Mechanics versus Quantum Mechanics
Molecular quantum mechanics finds the solution to a Schrödinger
equation for an electronic Hamiltonian, H, that gives a total
elec
energy, E(R) + (R,R). Repeated solutions at different nuclear
elec
configurations, R, lead to some approximate potential energy sur-

Theory and Methods Introduction

171

Background on Computational Chemistry

face (R). This procedure requires the solution, albeit a very
approximate solution, of some Schrödinger equation for every
value of R. This can be very time consuming and impractical forlarge molecular systems.
Molecular mechanics approximates (R) by analytical functions
that are deduced and subsequently parameterized via accurate calculations or experimental results. In many situations, the potential energy surface obtained is more accurate than that calculated
from first principles because of resorting to experiment for defining the parameters of the analytical functions. The analytical function (potential energy surface) (R) is sometimes referred to as aforce field. Most force fields contain terms associated with bondstretching, angle bending, torsional twisting, and other terms thathave chemical significance. The common difficulty with molecular mechanics is that a (R) may not have been defined or parameterized for the molecular system of interest.

Classical Mechanics on a Potential Energy Surface
Rather than solve a Schrödinger equation with the Nuclear Hamiltonian (above), a common approximation is to assume that atoms
are heavy enough so that classical mechanics is a good enoughapproximation. Motion of the particles on the potential surface,according to the laws of classical mechanics, is then the subject ofclassical trajectory analysis or molecular dynamics. These comeabout by replacing Equation (7) on page 171 with its classicalequivalent:
1
E ( R ) = Σ i --- m i ( dR i ⁄ dt ) 2 + ( R )2(9)In this context, E is the total classical energy including kinetic
energy. You can then investigate the potential energy surface in apurely classical way using the positions (R ) and velocitiesi(V = dR /dt) of the constituent atoms.
i
i

172

Chapter 10

Background on Computational Chemistry

Force-Energy Generators
HyperChem performs a number of different types of calculations
such as geometry optimization, molecular dynamics, etc. Each ofthese types of calculations is designed to be, as far as is possible,
independent of the technology that produces the potential energy
surface. The technology that produces the potential energy surface
is referred to here as a force-energy generator. Thus, geometry optimization of a molecule is fed by routines that compute the poten22tial energy (R) and its derivatives d (R)/dR, d (R)/dR , etc.
without concern whether these force-energy generators are molecular mechanics or semi-empirical quantum mechanics. New forceenergy generators could, in principle, be added easily. An example
would be the addition of an ab initio force-energy generator forwhich all the other methodology of HyperChem, such as molecular dynamics, would become available.

Theory and Methods Introduction

173

Background on Computational Chemistry

174

Chapter 10

Chapter 11
Molecular Mechanics
Molecular Mechanics uses an analytical, differentiable, and relatively simple potential energy function, (R), for describing theinteractions between a set of atoms specified by their Cartesian
coordinates R.
Unlike first principles of quantum mechanical calculations,molecular mechanics might be thought of as simply a fitting procedure, attempting to obtain as accurately as possible a representation of (R) with no particular regard for theoretical foundations.
However, it is found that the most successful fitting procedures,
having generic utility, lead to terms in the potential that can be
ascribed to chemically meaningful interactions. For example,
molecular mechanics potentials typically have simple analytic
terms that provide an energetic penalty for deviations from standard bond lengths, bond angles, and bond dihedral angles,
together with simple analytic terms for long-range coulombic andvan der Waals interactions.
To be useful, molecular mechanics potentials have to balance thesimplicity of the analytical form of the potential (so that theenergy and its derivatives can be rapidly evaluated, even for large
molecules) with the accuracy of describing important characteristics of the exact (R). Developing these molecular mechanics force
fields has been an active and important activity for many years,
resulting in a number of standard methodologies as described
below. None of the standard force fields used in HyperChem, however, have complete general utility and they must be used withcare. Force fields are usually developed for specific types of molecules and their use in other situations will either fail (for lack ofparameters for the analytic expressions) or give poor results(because it is employed beyond the original range of molecular situations for which the force field was developed).

175

Background

BackgroundMolecular mechanics has three important concepts:•

Functional form•

Atom types•

Parameter sets

Each molecular mechanics method has its own functional form:
MM+, AMBER, OPLS, and BIO+. The functional form describes theanalytic form of each of the terms in the potential. For example,
MM+ has both a quadratic and a cubic stretch term in the potential
whereas AMBER, OPLS, and BIO+ have only quadratic stretchterms. The functional form is referred to here as the force field. For
example, the functional form of a quadratic stretch with force constant K and equilibrium distance r is:
r0
E quadratic stretch = K r ( r – r 0 ) 2(10)Each force field includes a set of atom types. Consider the quadratic stretch term shown above. In principle, every different bondin every molecule would have its own parameters r0 and K . Thisr
would be unmanageable for a generic method that attempts tocompare molecules. Instead, atoms are classified as having a given
type. Thus, you can distinguish an sp-hybridized carbon from an
2
3
sp -hybridized carbon from an sp -hybridized carbon by saying
they are different types (C2, C3, and C4 in MM+, for example). You
can then describe quadratic stretching constants r0 and K for eachrpair of atoms types (C2-C2, C2-C3, C3-C3, etc. as in MM+). The
atom types in HyperChem are a characteristic of the force fieldwith one set of atom types for each force field.
Finally, each force field may have multiple parameter sets (the values of r0 and K , for example). The AMBER force field and AMBERr
set of types may be used with, for example, the AMBER/2 or
AMBER/3 set of parameters.
These ideas plus others related to the molecular mechanics optionsof HyperChem are discussed in this chapter.

176

Chapter 11

Atom Types

Atom Types
The concept of atom types might be considered the most fundamental topic in molecular mechanics and lies behind all aspects of
the approach. Atom types, not atoms, are the fundamental basis
for calculating interactions in molecular mechanics.

Definition of Atom TypeThe atom type defines the chemical environment of an atom. The
basic idea is that not all carbon atoms in molecules are the sameand can be distinguished by the following:•Hybridization•

Formal charge on the atom•

Immediate bonded neighbors

The chemical environment for an atom in a molecule is probably
unique to that molecule. Chemistry tries to find unifying concepts
and the atom type is one of those unifying concepts. For example,
the AMBER force field defines five atom types for oxygens:O

carbonyl oxygenOHhydroxyl (alcohol) oxygen

O2

carboxylic acid oxygen or phosphate oxygenOSester or ether oxygen

OW

oxygen in water

The molecular mechanics interactions are computed between
types not elements. Thus, you would compute different values forthe long range nonbonded interaction of two water oxygens than
you would for the interaction of water oxygen and an ester oxygen. These values would differ from the values for the interactionof two ester oxygens. Of course, if you want to neglect the chemical environment in calculating interactions, you could definesome default type for all oxygens to make all oxygens identical.
In principle, atom types could be associated with a particularparameter set rather than the functional form or force field. In
HyperChem, however, atoms types are rigorously tied to a force
field: MM+, AMBER, OPLS, and BIO+. Each of the force fields has
Molecular Mechanics

177Atom Typesa default set of atom types and all parameter sets for a given force
field must use the same set of atom types. It is possible, however,to redefine or modify the atom types associated with a force field
as described in the next section.
Atom types are defined in the file chem.rul. The atom types foreach of the force fields are listed in the files pointed to by the
AtomTypeMass entries associated with the specific force fields inthe Registry. They are usually named *typ.txt or *typ.dbf, depending on whether text or dBASE format is used. For the AMBER force
field, all variations use the same type file, defined in the [Amber]
section of the Registry. It is usually called ambertyp.txt, if a text
format file is used, indicated by FileFormat=Text or ambertyp.dbf,
if a dBASE III format file is used, indicated by FileFormat=dbf [dBase formats for parameters are being discontinued in favor oftext files].
The concept of atom types is particularly relevant to the united
atom approach. In AMBER, for example, an all atom treatment ofa methyl group uses the type CT to describe the carbon and thetype HC to describe the hydrogens. A united atom approach collapses the hydrogens into the carbon nucleus to represent thewhole methyl group as one type, C3, located at the position of the
carbon but with quite different interaction characteristics (parameters). For each force field, the list of types and their atomic masses
is stored in the file pointed to by the AtomTypeMass entry in theRegistry or chem.ini. The masses of CT and C3 are respectively
12.01 and 15.03, with the larger number including the mass of thehydrogen atoms.
While atom types are tied to a specific force fields, it is easy tomodify each force field's atom types; the functional form cannot
be modified but atom types can. The next section describes how
atom types are defined.

The Typing Rules
Atom types represent the chemical environment of an atom. The
atom types associated with a given force field could be hard-wired
to have specific values and meaning. HyperChem also allows flexible definitions of the atom types and the associated chemical
environments. The chemical environment of an atom (a set ofrules for defining a type) and the default rules are in a standard
ASCII text file, chem.rul, included with HyperChem. You can

178

Chapter 11

Atom Types

modify this file and compile it in a binary form that HyperChem
uses to calculate the atom types from the chemical environmentof an atom.
The syntax and semantics of the typing rules in a chem.rul file areincluded in the HyperChem Reference Manual. The following example illustrates their use. The five AMBER types for oxygen atoms
shown above are defined in chem.rul by the following rules:O:; carbonyl
connected to =C?
=O.
;neutral carboxylic acidconnected to (H)C(=O)?
=OH.
; negative carboxylic acidconnected to ~C~O?
=O2.
; etherconnected to (-C)-C?
=OS.
; esterconnected to (C=O)C?
=OS.
; waterconnected to H2?
=OW.
; hydroxyl
connected to H?
=OH.
; phospho ester
connected to (C)P?
=OS.

Molecular Mechanics

179Atom Types; phosphateconnected to P?
=O2.
; default=OS.

These rules are executed in order until a set of rules is satisfied. If
all the rules fail then the last default type OS is assigned. The tests
on neighboring lines are AND’ed together and sets of tests (clauses)
separated by blank lines are OR’ed.
The above rules state that if an oxygen is connected to a carbon bya double bond it is a carbonyl oxygen with type O. Otherwise, if it
is connected to both a hydrogen and a carbon that is itself connected by a double bond to another oxygen then it is a neutral carboxylic oxygen with type OH. Otherwise, if it is connected by anaromatic bond to a carbon which in turn is connected by an aromatic bond to another oxygen then it is a negative carboxylic oxygen with type O2. Otherwise, if it is connected by single bonds totwo carbon atoms it is an ether oxygen of type OS. Otherwise, if it
is connected to a carbonyl group and to a carbon it is an ester oxygen with type OS. Otherwise, if it is connected to two hydrogens
it is a water oxygen with type OW. Otherwise, if it is connected toa hydrogen it is an hydroxyl oxygen with type OH. Otherwise, if it
is connected to a carbon and a phosphorus it is a phospho ester
oxygen with type OS. Otherwise, if it is connected to a phosphorus
it is a phosphate oxygen with type O2. Otherwise, for lack of otherinformation it is defined to be of type OS.
Note that two different environments, although they might be distinguished by tests (such as for ether and ester) can share an atom
type (such as OS). A refinement of the AMBER force field would use
separate types for these two along with different parameters for thedifferent types.

Redefining or Adding Types
To redefine an atom type associated with a force field, adjust therules in the chem.rul file to represent the new chemical environment for a particular type and then compile the new types. It isalways desirable to save the original chem.rul under another nameprior to modifying chem.rul. Having modified chem.rul, you can

180

Chapter 11

Force Fields

start a copy of HyperChem and click Build/Compile Type Rules tocreate a new typerule.bin, the binary file which HyperChem
always uses to calculate atom types.
To add new types to a force field, follow this procedure:
1. Add the new type to the chem.rul file.
2. Add the new type and its mass to the file pointed to by the
AtomTypeMass entry of the Registry or the chem.ini file forthe appropriate force field.
3. Compile the chem.rul file to a new typerule.bin file as
described in the previous paragraph.
4. Add nonbonded and other parameters to the appropriate files.
The new parameter files must be compiled for each parameter set
used with the particular force field that has the new type, as follows:
1. Start HyperChem.
2. Choose the appropriate force field (MM+, AMBER, OPLS, or
BIO+).
3. Select Setup/Select Parameter Set and specify a particularparameter set.
4. Select Setup/Compile Parameter File to create a new binary*.par parameter file that includes the new type.
5. Repeat steps 3 and 4 for each of the parameter sets available
with the particular force field being modified.

Force Fields
This section describes HyperChem's four force fields, MM+,AMBER, OPLS, and BIO+, providing auxiliary information for allforce field calculations.
Note: All of the force fields provided in HyperChem are built on
new implementations of force fields developed by various computational chemistry research groups. However, HyperChem
improves on the original force fields and uses new code.

Molecular Mechanics

181

Force Fields

Background
Many of the ideas and issues surrounding the use of molecularmechanics (or force field technology) in computational chemistry
are common to all force fields and in this section we describe manyof these basic ideas.

Energetic Terms in the Potential
The interaction potential (R) describes both bonding and nonbonding interactions. The bonding interactions are usually formulated as a strain energy that is zero at some ideal configuration of
the atoms and describe how the energy increases as the ideal configuration is deformed. Bonding interactions usually refer to atoms
in the following relationships:•

Directly bonded (a 1–2 bond stretch relationship)•

Geminal to each other (a 1–3 angle bending relationship)•

Vicinal to each other (a 1–4 dihedral angle rotation relationship)

The nonbonded interactions usually include the following:•

An exchange repulsion when atoms get too close•

A long range attraction arising from dispersion forces•

Electrostatic interactions coming from the interaction of
charges, dipoles, quadrupoles, etc.

The exchange repulsion and dispersive attraction combine in what
is referred to as a van der Waals term. Sometimes a potential isadded to account for hydrogen bonding explicitly; while in othersituations this is expected to fall out of ordinary electrostatic interactions.
In addition to these basic terms, force fields often have cross terms
that combine the above interactions. For example there may be aterm which causes an angle bend to interact with a bond stretchterm (opening a bond angle may tend to lengthen the bonds
involved).
The interaction potential (R) in used by the force fields inHyperChem share the following types of terms:

182

Chapter 11

Force Fields

Bond StretchingThis term is associated with deformation of a bond from its standard equilibrium length. For small displacements from equilibrium, a harmonic function is often used:
E bond =∑ Kr ( r – r0 ) 2

(11)

bonds

A larger value for the stretch force constant K leads to a greaterrtendency for the bond to remain at its equilibrium distance r0.
Higher powers of r - r0, giving cubic, quartic, or higher terms arealso common. A Morse function might also be employed.

Bond Angle Bending
This term is associated with the deformation of an angle from its
normal value. For small displacements from equilibrium, a harmonic function is often used:
E bond angle =Kθ ( θ – θ0 ) 2∑
angles(12)

A larger value for the bending force constant K leads to a greaterθtendency for the angle to remain at its equilibrium value θ . There0

may be cubic, quartic, etc. terms as with the corresponding bondstretch term in addition to the quadratic term shown here.

Dihedrals
This term is associated with the tendency of dihedral angles tohave a certain n-fold symmetry and to have minimum energy forthe cis-, gauche-, or trans-conformation, etc.

E dihedral =∑V------n [ 1 + cos ( nφ – φ 0 ) ]2dihedral(13)

The period of the interaction is 360/n. The phase angle φ shifts the0curve to the left or right. For n=1 and φ =0, the curve represents the0

situation where the energy is a minimum for the trans-conforma-

Molecular Mechanics

183Force Fields

tion with a barrier of V to the highest energy cis-conformation. Anphase angle of φ =180 represents the opposite situation with a0minimum at the cis-conformation and a maximum at the transconformation. By including sums of terms of the above kind, dihedral angle interactions of arbitrary complexity can be described. In
HyperChem, n is restricted to values from 1 to 6, so up to six Fourier terms may be used for a particular dihedral angle.

Improper Dihedrals
This term is associated with maintaining the planarity of planaratoms, or preventing inversion of tetrahedral carbons with onehydrogen in a united atom representation. This type of term usually employs an energetic penalty for deformation of a dihedral
angle defined by the central atom and its three bonded neighbors.
The functional form employed may be that of equation (12) orequation (13) on page 183, or a different scheme altogether (as inMM+).

van der Waals
This term describes the repulsive forces keeping two nonbonded
atoms apart at close range and the attractive force drawing them
together at long range.
E vanderWaals =∑ij ∈ vdW

A ij B ij-------- – ------R ij12 R ij6(14)

The above potential is referred to as a Lennard-Jones or 6–12
potential and is summed over all nonbonded pairs of atoms ij. The
first positive term is the short range repulsion and the second negative term is the long range attraction. The parameters of the interaction are A and B . The convenient analytical form of the 6–12
ij

ij

potential means that it is often used, although an exponential
repulsion term is usually considered to be a more accurate representation of the repulsive forces (as used in MM+).
The force fields in HyperChem that use the above 6–12 potential
allow six ways of specifying the constants A and B ; three by sinij

ij

gle atom type and three by pairs of atom types. Single atom typemeans that there are constants for individual atom types, i, thatare combined by a combining rule that results in a parameters for
184

Chapter 11

Force Fields

a specific pair, ij, of atom types. Pairs of atom types means thatparameter files contain explicit parameters for a pair of atom types
ij and that no combining of single atom type parameters is necessary. If in the first case, there were N parameters, the second casewould require N(N-1)/2 parameters for an equivalent set. If
present, the constants specified by pairs of atoms types are used tooverride the values generated from single atom types.
The form that single atom type constants take is selected by setting
the Registry/chem.ini parameter set entry 6–12AtomVDWFormat
to one of RStarEpsilon, SigmaEpsilon or SlaterKirkwood. This specifies the combination rules that are used for the file pointed to by
the 6–12AtomVDW entry in the Registry or the chem.ini file forthe same parameter set.
For the 6–12AtomVDWFormat entry set to RStarEpsilon, the combination rules used are:r i∗ r j∗ 12εi εj
A ij =  ----- + -----2
2

(15)

r i∗ r j∗ 6εi εj
B ij = 2  ---- 2- + ----2

(16)

where r∗i /2 is half the minimum energy separation for two atomsof type i, ε is the well depth for two atoms of type i. These parami

eters are found in the parameter file.
For the 6–12AtomVDWFormat entry set to SigmaEpsilon, the combination rules used are:
A ij = 4 ( σ i σ j ) 6 ε i ε j(17)

B ij = 4 ( σ i σ j ) 3 ε i ε j(18)where σ , the zero energy separation for two atoms of type ii( r = 6 2 σ i ) , and ε , the well depth for two atoms of type i, are theiparameters from the parameter file.
For the 6–12AtomVDWFormat entry set to SlaterKirkwood, thecombination rules used are:Molecular Mechanics

185Force Fields
Cα i α j
B ij = -------------------------αjαi----- + ----Ni
Nj

(19)

1
A ij = --- B ij ( R i + R j ) 6
2(20)

where α , the polarizability of an atom of type i, N , the effectiveiinumber of valence electrons for an atom of type i, and R , the vanider Waals radius of an atom of type i, are the parameters from theparameter file. The constant C combines the permittivity of freespace (ε ), the charge of an electron (e), the mass of an electron
0(m ) and Planck's constant (h):e3ehC = ---------------------4 πε 0 m e(21)

The form of Lennard-Jones constants specified by pairs of atom
types is selected by setting the parameter set entry
6–12PairVDWFormat in the Registry or the chem.ini file to one of
RStarEpsilon, SigmaEpsilon or AijBij. This specifies the interpretation of the file, if any, pointed to by the 6–12PairVDW entry in theRegistry or the chem.ini file for the same parameter set. Values
specified in this fashion override the values generated by single
atom type constraints, so they are typically used just to specify
parameters for certain cases where the atom combination rules
don’t give acceptable results.
For the 6–12PairVDWFormat entry set to RStarEpsilon, the values
are converted by:
A ij = r ij∗ 12 ε ij

(22)

B ij = 2r ij∗ 6 ε ij

(23)

where r*ij, the minimum energy separation for two atoms of type i
and j, and e , the well depth for two atoms of type i and j, are theijparameters from the parameter file.
For the 6–12PairVDWFormat entry set to SigmaEpsilon, the values
are converted by:

186

Chapter 11

Force Fields
A ij = 4σ ij12 ε ij

(24)

B ij = 4σ ij6 ε ij

(25)

where σ , the zero energy separation for two atoms of type i andijj (r = 6 2σij ) , and εij, the well depth for two atoms of type i and j,

are the parameters from the parameter file.
For the 6–12PairVDWFormat entry set to AijBij, the values in theparameter file are not converted.
Usually, atoms with a 1–4 vicinal relationship or more are considered to be nonbonded. Sometimes, however, only atoms with a
1–5 relationship are considered to be fully nonbonded and theatoms with a 1–4 relationship have scaled down nonbonded interactions or are deleted completely from the nonbonded computations, or different parameters are used.

Electrostatic
This term describes the classical nonbonded electrostatic interactions of charge distributions.
E electrostatic =

∑

qi qj
--------εR ij(26)ij ∈ electrostatic

The above potential describes the monopole-monopole interactions of atomic charges q and q a distance R apart. Normally
i

j

ij

these charge interactions are computed only for nonbonded atoms
and once again the 1–4 interactions might be treated differently
from the more normal nonbonded interactions (1–5 relationshipor more). The dielectric constant ε used in the calculation is sometimes scaled or made distance-dependent, as described in the next
section.
Electrostatic terms other than the simple charge interactions
above are commonly included in molecular mechanics calculations, particularly dipole-dipole interactions. More recently, second-order electrostatic interactions like those describing polarizability have been added to some force fields.

Molecular Mechanics

187Force Fields

Hydrogen Bonding
This term is an explicit recognition of the importance of hydrogenbonding to molecular interactions.

E H-bonded =∑C ij D ij-------- – --------R ij12 R ij10

ij ∈ H-bond(27)

Not all force fields add a specific hydrogen bonding term, as thereis evidence from accurate quantum mechanical calculations thathydrogen bonding is accounted for by normal electrostatic interactions. In HyperChem, only the AMBER force field employs an
explicit hydrogen bonding term. The 12–10 form was suggested by
Pauling but other functional forms for explicit hydrogen bonding
have also been used.

Effective Dielectric Constants
Many molecular mechanics potentials were developed at a time
when it was computationally impractical to add large numbers of
discrete water molecules to the calculation to simulate the effect of
aqueous media. As such, techniques came into place that wereintended to take into account the effect of solvent in some fashion. These techniques were difficult to justify physically but they
were used nevertheless.
The first modification is to simply scale the dielectric permittivityof free space (ε ) by a scale factor D to mediate or dampen the long0

range electrostatic interactions. Its value was often set to be
between 1.0 and 78.0, the macroscopic value for water. A value of
D=2.5, so that ε =2.5ε , was often used in early CHARMM calcula0

tions.
Alternatively, a distance dependent dielectric constant is often
used in the absence of explicit water molecules. This sets ε in equation (26) to D ε R , proportional to the distance between charges.
0ij

The electrostatic interaction then uses R

–-2

ij

and does not require

the evaluation of a square root. To quote Weiner et al., the developers of AMBER, “A rationale for using a distance-dependent
dielectric constant is that it mimics the polarization effect inattractive interactions, with closer interactions weighted more
188

Chapter 11

Force Fields

heavily. Second, it helps compensate for the lack of explicit solvation by implicitly damping longer range charge interactions morethan shorter range ones. There is empirical and computational
support for such a model, given that solvent (water) is not explicitly included in the calculation.”

Cutoffs
When dealing with large systems where the number of nonbonded
interactions dominate the calculation time, a time-saving approximation introduces a cutoff distance. This neglects nonbonded
interactions beyond this distance. While this approximation isparticularly difficult to justify for long range coulombic interactions (unit charges separated by 20 Å still contribute 17 kcal/mol
to the energy), a cutoff in the range of 8–15 Å is still commonlyused.
For the periodic boundary conditions described below, the cutoff
distance is fixed by the nearest image approximation to be lessthan half the smallest box length. With a cutoff any larger, morethan nearest images would be included.
When the cutoff is sharp, discontinuities in the forces and resultant loss of conservation of energy in molecular dynamics calculations can result. To minimize edge effects of a cutoff, often the cutoff is implemented with a switching or shifting function to allow
the interactions to go smoothly to zero.
The switching function used by HyperChem, called switch below,
alters the nonbonded energy (van der Waals, hydrogen bond, andelectrostatic) in the following way:2
2
, R outer)E ( switched ) = E ( non-switched ) × switch ( R ij2 , R inner(28)

where:
switch ( x, a, b ) = 1x≤aswitch ( x, a, b ) = 0

x≥b

(29)

( b – x ) 2 ( b + 2x – 3a )switch ( x, a, b ) = ---------------------------------------------------( b – a)3

Between the inner radius R

inner

R

outer

a<x<b

of the switch and the outer radiusof the switch the interaction goes smoothly to zero.

Molecular Mechanics

189

Force Fields

HyperChem uses as its default an inner radius of 10 Å and an outerradius of 14 Å.
HyperChem can also use a shifted nonbonded potential, where thenonbonded energy is modified by:
2
4+ R ij4 ⁄ R outer)
E ( shifted ) = E ( unshifted ) ( 1 – 2R ij2 ⁄ R outerfor R less than or equal to R
ij

than R

outer

(30)

and E (shifted) = 0 for R greaterij. Shifted cutoffs apply to van der Waals, hydrogen bond-outer

ing and electrostatic interactions, but not to 1–4 interactions with
the BIO+ force field.

Terms Involving Vicinal 1–4 Interactions
Although interactions between vicinal 1–4 atoms are nominallytreated as nonbonded interactions, most of the force fields treat
these somewhat differently from normal 1–5 and greater nonbonded interactions. HyperChem allows each of these 1–4 nonbonded interactions to be scaled down by a scale factor < 1.0 with
AMBER or OPLS. For BIO+ the electrostatic may be scaled and different parameters may be used for 1–4 van der Waals interactions.
The AMBER force field, for example, normally uses a scaling factorof 0.5 for both van der Waals and electrostatic interactions.

MM+
The MM+ force field is an extension of MM2 which was developedby Allinger and co-workers [N. L. Allinger, J. Am. Chem. Soc., 99,
8127 (1977), N. L. Allinger and Y. H. Yuh, Quantum Chemistry
Program Exchange, Bloomington, Indiana, Program #395, U.
Burkert and N. L. Allinger, Molecular Mechanics, ACS Monograph
177 (1982).] and is designed primarily for small organic molecules
although it is being expanded to peptides [J. Lii et. al., J. Comp.
Chem. 10, 503 (1989)] and other systems as well [K. B. Lipkowitz,
QCPE Bulletin, Indiana University,12, 1, (Feb., 1992)]. The effortsof the Allinger group have been focused more on very accurate
results for certain classes of molecules than on developing ageneric (but less accurate) method that can be applied to almost all
situations in organic chemistry. Thus, the MM2 force field will failin many situations where no parameters exist. With the MM+force field specified, HyperChem first tries to perform a calculation
with MM2 (1991)parameters but has a default scheme when there
190

Chapter 11

Force Fields

are no MM2 parameters. A message in the status line and log file
indicates that default parameters are being used. These default calculations are described later in this chapter.
HyperChem’s MM+ force field uses the latest MM2 (1991) parameters and atom types (provided directly by Dr. Allinger) with the1977 functional form [N. L. Allinger, J. Am. Chem. Soc., 99, 8127
(1977), N. L. Allinger and Y. H. Yuh, Quantum Chemistry Program
Exchange, Bloomington, Indiana, Program #395, U. Burkert andN. L. Allinger, Molecular Mechanics, ACS Monograph 177 (1982).]
modified to incorporate nonbonded cutoffs (using switched or
shifted smoothing), periodic boundary conditions, and the bondstretch term switched from cubic form to quadratic form at longrange (to avoid the long range repulsive region of standard MM2).

Units
Like MM2, MM+ internally uses ergs for energy and reports its
force constants (a stretching force constant, for example) in unitsof millidynes per Ångstrom. Other force fields in HyperChem
report their force constants in kcal/mol per Å2. In addition, there
is a factor of 1/2 in the definition of a stretching force constantwhen comparing MM+ and other force fields. Thus, it is necessary
to be quite careful in comparing force constants between different
force fields. In the following discussion (and in HyperChem),
every equation uses kcal/mol as the basic unit of energy and appropriate conversion constants are described. For example, a factor of
71.94 must be multiplied to MM+ stretching force constants forcomparison with stretching force constants for the other force
fields. These details affect the internal operation and the interpretation of the input values in parameter files but HyperChem
reports all energetic results in energy units of kcal/mol.

Bond StretchingMM2 uses a cubic stretch term:
E bond = 143.88∑

1--- K r ( r – r 0 ) 2 [ 1 + CS ( r – r 0 ) ]
2

(31)

bonds

The cubic stretch term is a factor CS times the quadratic stretch
term. This constant CS can be set to an arbitrary value by an entry

Molecular Mechanics

191Force Fields

in the Registry or the chem.ini file. The default value for MM2 andMM+ is CS =-2.0.
However, this form becomes repulsive for r - r0 > 2/3 CS, so it isunsuitable for bond lengths significantly larger than equilibrium.
In the MM2 program, this is avoided by temporarily setting CS tozero, reverting to a quadratic form, which leads to discontinuities
in the potential surface that are unacceptable for geometry optimization and molecular dynamics. Thus the MM+ force field applies
the switching function from equation (29) on page 189 to giveE bond = 143.88∑

1--- K r ( r – r 0 ) 2
2

bonds

1
4
× 1 + switch  r – r 0, – --- CS, – --- CS CS ( r – r 0 )
3
3

(32)

Inside the point of inflection of equation (31) equation (32) is
identical to MM2 with the cubic stretch term turned on. At very
long bond distances, it is identical to MM2 with the cubic stretchterm turned off.
Two r0 values are given for each MM+ bond, r0A and r0B. If r0B isavailable (has a non-zero value in the parameter file) then it is usedin preference to the normal r0A for bonds where atom i and atom
j have at least two hydrogen atoms directly attached to them. For
example, CH -CH , CH -CH , or CH -CH bonds may have their
2
2
2
3
3
3
own equilibrium distance differentiated from the average single
bond between carbon atoms.

Bond Dipoles
MM+ calculations do not usually have an electrostatic chargecharge interaction nor define a set of atomic charges for atoms.
Instead, the electrostatic contribution comes from defining a set ofbond dipole moments associated with polar bonds. These bondmoments are defined in the mmpstr.txt(dbf) file along with thebond stretching parameters and are given in units of Debyes. The
center of the dipole is defined to be the midpoint of the bond andtwo dipoles µ and µ , separated by R , as shown below:
i
j
ij

192

Chapter 11

Force Fields

The MM+ dipole interaction energy is:

E dipole = 14.39418 ε∑cos χ – 3 cos α i cos α jµ i µ j ------------------------------------------------R ij3(33)

ij ∈ polar bonds

where ε, the dielectric constant, is assumed to be larger than 1(even in the gas phase there is assumed to be some screening ofdipole interactions by the rest of the molecule). The MM2 value of
1.5 is used by HyperChem. The angle χ is the angle between thetwo dipole vectors, and α and α are the angles that the two dipoleijvectors make with the R vector. The constant 14.39418 convertsij
ergs/molecule to kcal/mol.

Angle Bending
The quadratic angle bending term in MM+ is identical to that ofequation (12) on page 183, apart from a factor 1/2. Three θ0 values
are given for each MM+ bond, θA, θB and θC. If θB is available (hasa non-zero value in the parameter file) then it is used in preference
to the normal θA, for angles where the central atom has one hydrogen atom directly attached to it. If θC is available (has a non-zerovalue in the parameter file) then it is used in preference to the normal θA for angles where the central atom has two hydrogen atoms
directly attached to it. If no hydrogen atoms are attached to thecentral atom or if θA or θB values are not available (when they are
relevant), the normal θA is used.
MM+ also includes a sextic angle bending term. The final form forthe angle bending energy is:

Molecular Mechanics

193

Force Fields

E bond angle = 0.043828∑

1--- K θ ( θ – θ 0 ) 2 [ 1 + SF ( θ – θ 0 ) 4 ]2(34)

angles

The sextic bending term is a scale factor SF times the quadratic
bending term. This constant SF can be set to an arbitrary value by
an entry in the Registry or the chem.ini file. The default value for-8
MM+ is SF = 7.0 x 10 . The constant 0.043828 converts the MM+
bending constants expressed in millidyne-Å per radian2 tokcal/mol per degree2 used by the other force fields. Note that theMM+ expression also includes a factor of 1/2 in the definition thatis missing from other force fields.
The MM+ force field uses special values for the bending force constants when the atoms are in a three- or four-membered ring.

Bond Stretch and Angle Bending Cross Term
Like MM2, MM+ includes coupling between bond stretching andangle bending. If the angle is defined to include atoms i, j, and k,where k is the central atom, then MM+ couples stretching of the ik
and jk bonds with the angle:
E stretch-bend = 2.51118∑ Ksb ( θ – θ0 )ikj [ ( r – r0 )ik + ( r – r0 )jk ](35)

anglesIf atom i or atom j is a hydrogen, the deformation (r-r ) is consid0

ered to be zero. Thus, no stretch-bend interaction is defined for
XH groups. The stretch-bend force constants are incorporated
2
into the program and you cannot modify them. If R is an atomother hydrogen, the values of the stretch-bend force constants are:K sb = 0.120 for XR 2

X = atom in 1st long row
K sb = 0.090 for XRHorK sb = 0.250 for XR 2

X = atom in 2nd long row

194

Chapter 11

Force Fields
K sb = – 0.400 for XRH

The constant 2.51118 converts between MM+ stretch-bend force
constants expressed in millidynes per radian and HyperChem’s
default, kcal per degree.

Out-of-Plane Bending2
An atom that has sp hybridization tends to be coplanar with its
attached atoms. This effect is accounted for by improper torsions
in other force fields and by out-of-plane-bending interactions in
MM+. Consider the following situation involving an atom X that2is sp hybridized

Y is the projection of X onto the ABC plane. When the central
2
atom (X) of these angles is sp hybridized, the angle bending calculations are modified to use the in-plane angles AYB, AYC, and
BYC in equation (34) on page 194 with the standard force constants defined in mmpben.txt(dbf) rather than the standard angles
AXB, AXC, and BXC. In addition, out-of-plane components arecomputed as well, for the out-of-plane angles XAY, XBY, and XCY.
These last three calculations use equation (34) as well, but with aθ0 equal to 0 and special out-of-plane bending constants, K ,θdefined in mmpoop.txt(dbf).

Dihedrals
The dihedral angle or torsional energy interaction in MM+ is of thegeneral form of equation (12) on page 183 but explicitly includes
n=1, 2, and 3 with a phase angle φ =0:0(36)

E dihedral =Molecular Mechanics

195Force Fields

∑

V
V
V1
------ ( 1 + cos φ ) + ------2 ( 1 – cos 2φ ) + ------3 ( 1 + cos 3φ )222dihedrals

The values of V1, V2, and V3, in kcal/mol, are listed in mmptor.txt(dbf). The MM+ force field uses special values for the torsional force constants when the atoms are in a four-member ring.

van der Waals
The MM+ van der Waals interactions do not use a Lennard-Jones
potential but combine an exponential repulsion with an attractive
6
1/R dispersion interaction. The basic parameters are a van der*
Waals radius r for each atom type and a hardness parameter εiithat determines the depth of the attractive well and how easy (ordifficult) it is to push atoms close together. There are interactions
for each nonbonded ij pair, including all 1–4 pairs. The parameters
for a pair are obtained from individual atom parameters as follows:r ij∗ = r i∗ + r j∗(37)

ε ij =

(38)

εi εj

The van der Waals interaction is then calculated as:
E vanderWaals =∑ εij( 2.9 × 105 exp ( –12.5ρij ) – 2.25ρij–6 )(39)

ij ∈ vdW

where
R ij
ρ ij = ------r ij∗(40)

At short distances (r ≤ 3.311) the above expression is replaced by:ij

E vanderWaals = 336.176

ε ij ρ ij– 2∑
ij ∈ vdW(41)

For CH interactions the normal ε and r* values are replaced by special CH values:
ε CH = 0.046

196

Chapter 11(42)

Force Fields
r CH∗ = 3.340(43)

For XH bonds, where X is any heavy atom, the hydrogen electron
density is not thought to be centered at the position of the hydrogen nucleus but displaced along the bond somewhat, towards X.
The MM+ force field reduces the XH bond length by a factor of
0.915 strictly for the purposes of calculating van der Waals interactions with hydrogen atoms.

AMBER
The AMBER (Assisted Model Building and Energy Refinement) isbased on a force field developed for protein and nucleic acid computations by members of the Peter Kollman research group at the
University of California, San Francisco. The original AMBER has
become one of the more widely used academic force fields andextensive work has gone into developing it — resulting in a number of versions of the method and associated parameters.
HyperChem originally gave results equivalent to Versions 2.0 and
3.0a of the AMBER program distributed by the Kollman group andparameter sets for both these versions are distributed with HyperChem. Subsequently, the ambers parameter set was added for sugars molecules. More recently, the Amber94 and Amber96 parameter sets were added corresponding to a slightly revised form of theAmber force field that eliminated explicit hydrogen bonding terms
and included a whole new set of atom types. the current program
includes choices of Amber2, Amber3, Ambers, Amber94, andAmber96 parameter sets and associated force field terms.
AMBER was first developed as a united atom force field [S. J.
Weiner et al., J. Am. Chem. Soc., 106, 765 (1984)] and later
extended to include an all atom version [S. J. Weiner et al., J. Comp.
Chem., 7, 230 (1986)]. The newest version of Amber is due to Cornell et. al., J. Am. Chem. Soc. 117, 5179-5197 (1995). HyperChem
allows the user to switch back and forth between the united atom
and all atom force fields as well as to mix the two force fields
within the same molecule. Since the force field was developed for
macromolecules, there are few atom types and parameters forsmall organic systems or inorganic systems, and most calculations
on such systems with the AMBER force field will lack explicit
parameters. HyperChem, however, will chooses a default parmaeter for a missing parameters as per the scheme originally imple-

Molecular Mechanics

197

Force Fields

mented in MM+. That is, default parameters are chosen as
described later in this chapter.

Bond Stretching
The functional form for bond stretching in AMBER is quadratic
only and is identical to that shown in equation (11) on page 183.
2
The bond stretching force constants are in units of kcal/mol per Å
and are in the file pointed to by the QuadraticStretch entry for theparameter set in the Registry or the chem.ini file, usually called*str.txt(dbf).

Angle Bending
The functional form for angle bending in AMBER is quadratic only
and is identical with that shown in equation (12) on page 183. The
2
angle bending force constants are in units of kcal/mol per radianand are in the file pointed to by the QuadraticBend entry for theparameter set in the Registry or the chem.ini file, usually called*ben.txt(dbf).

Dihedrals
The functional form for dihedral angle (torsional) rotation is identical to that shown in equation (13) on page 183. The barrierheights are in kcal/mol and are in the file pointed to by the FourierTorsion entry for the parameter set in the Registry or thechem.ini file, usually called *tor.txt(dbf). If more than one term isavailable for a given dihedral angle in the parameter file, the terms
are summed to give the total potential, i.e., the potential can be a
Fourier sum over n in equation (14) where n is from 1 to 6.

Improper Dihedrals
The functional form for improper dihedral term is identical to thatshown in equation (13) on page 183. The barrier heights are inkcal/mol and are in the file pointed to by the FourierImpTorsion
entry for the parameter set in the Registry or the chem.ini file, usually called *imp.txt(dbf). The central atom in the improper torsion
is the second or third atom (i.e. a central atom) in the dihedral
angle. For atoms that have the improper flag set (either from templates or editing a HIN file) HyperChem uses the improper dihedral angle formed by neighbor 1 - neighbor 2 - central atom 198

Chapter 11

Force Fields

neighbor 3, where the order of neighbors is how they appear in a
HIN file. Not all planar atoms customarily have associatedimproper torsions, and the order of atoms is arbitrary but was consistently chosen by the authors of the AMBER force field. The templates contain the standard AMBER definitions of improper torsions for amino and nucleic acids.

van der Waals
The functional form for van der Waals interactions in AMBER is
identical with that shown in equation (13) on page 183. The coefficients A and B are computed from the parameters in the fileij

ij

pointed to by the 6–12AtomVDW entry for the parameter set in
the Registry or the chem.ini file, usually called *nbd.txt(dbf), andoptionally with the file pointed to by the 6-12PairVDW entry forthe parameter set, usually called *npr.txt(dbf). The standard
AMBER parameter sets use equations (15) and (16) for the combination rules by setting the 6-12AtomVDWFormat entry to
RStarEpsilon. The 1–4 van der Waals interactions are usually scaledin AMBER to half their nominal value (a scale factor of 0.5 in theForce Field Options dialog box).

Electrostatic
The functional form for electrostatic interactions in AMBER is
identical with that shown in equation (26) on page 187. You normally use a dielectric scaling of D=1 with AMBER combined witha constant functional form when solvent molecules are explicitly
included or a distance dependent form when trying to emulate theeffects of solvent without explicitly adding solvent molecules. The
charges q are not part of any AMBER parameter file. Standardi

atomic charges are placed on an atom only when the molecularsystem is created from templates, by using the database menu or
reading a PDB file. Otherwise charges must be set manually or by
a quantum mechanical calculation, or they default to zero and noelectrostatic interactions result. The 1–4 electrostatic interactions
are usually scaled in AMBER to half their nominal value (a scale
factor of 0.5 in the Force Field Options dialog box).

Molecular Mechanics

199

Force Fields

Hydrogen Bonding
The original AMBER force field uses a hydrogen bonding term
identical to equation (27) on page 188. The coefficients C and D
ij

ij

for appropriate donor-acceptor pairs are given in the file pointed
to by the 10–12PairHBond entry for the parameter set in the Registry or the chem.ini file, usually called *hbd.txt(dbf). If a nonbonded atom pair (excluding 1–4 interactions) has hydrogen bondparameters, the interaction is calculated using the hydrogen bonding term instead of the van der Waals term.
The newer, Cornell et. al. Amber94 and Amber96 versions ofAmber do not use a hydrogen bonding term.

Lone Pairs
The AMBER force field expects lone pairs to be added to all sulfur
atoms and computes the interactions as if these lone pairs were
atoms with a specific type just like any other atom. The templates
automatically add the expected lone pairs to sulfur atoms whenusing the AMBER force field.

OPLS
OPLS (Optimized Potentials for Liquid Simulations) is based on aforce field developed by the research group of Bill Jorgensen now
at Yale University and previously at Purdue University. Like
AMBER, the OPLS force field is designed for calculations on proteins and nucleic acids. It introduces nonbonded interaction
parameters that have been carefully developed from extensiveMonte Carlo liquid simulations of small molecules. These nonbonded interactions have been added to the bonding interactionsof AMBER to produce a new force field that is expected to be better
than AMBER at describing simulations where the solvent is explicitly included and nonbonded interactions are particularly important.
The HyperChem OPLS force field gives results equivalent to theoriginal OPLS force field.
The OPLS force field is described in two papers, one discussing
parameters for proteins [W. L. Jorgensen and J. Tirado-Rives, J.
Amer. Chem. Soc., 110, 1657 (1988)] and one discussing parameters
for nucleotide bases [J. Pranata, S. Wierschke, and W. L. Jorgensen,
200

Chapter 11

Force Fields

J. Amer. Chem. Soc., 113, 2810 (1991)]. The force field uses theunited atom concept for many, but not all, hydrogens attached tocarbons to allow faster calculations on macromolecular systems.
The amino and nucleic acid residue templates in HyperChem
automatically switch to a united atom representation whereappropriate when the OPLS option is selected.
The OPLS atom types are a superset of the AMBER united atom
types and the bonding parameters are just those of AMBER, supplemented where needed by the OPLS developers. The bondstretch, angle bending, dihedral angle and improper dihedral
angle terms are identical to those of AMBER. Unlike AMBER, different combination rules are used for the van der Waals parameters, no hydrogen bonding term is used and no lone pairs are used.

van der Waals
The van der Waals term in the OPLS force field is that of equation(14) on page 184. The coefficients A and B are computed fromij

ij

the parameters in the file pointed to by the 6–12AtomVDW entry
for the parameter set in the Registry or the chem.ini file, usuallycalled *nbd.txt(dbf), and optionally with the file pointed to by the
6-12PairVDW entry for the parameter set, usually called*npr.txt(dbf). The standard OPLS parameter sets use equations (17)and (18) on page 185 for the combination rules by setting the
6-12AtomVDWFormat entry to SigmaEpsilon. The 1–4 van der
Waals interactions are usually scaled in OPLS to one-eighth theirnominal value (a scale factor of 0.125 in the Force Field Options
dialog box).

Electrostatic
The OPLS form of electrostatic interactions is that of equation (26)
on page 187. That is, it uses a charge-charge interaction just like
AMBER. However, since the nonbonded potentials were developed
from liquid studies with explicit water molecules, the use of a distance-dependent dielectric is excluded. The appropriate dielectricscaling factor for OPLS calculations is D=1. A set of charges aredefined for protein and nucleic acid residues in the template (.tpl)
files.

Molecular Mechanics

201

Force Fields

BIO+
The BIO+ force field is an implementation of the CHARMM(Chemistry at HARvard Macromolecular Mechanics) force fielddeveloped in the group of Martin Karplus at Harvard University.
Like AMBER and OPLS, it is primarily designed to explore macromolecules. It does not use lone pairs.
CHARMM was first developed as a united atom force field andparameters for some amino acids have been published [B. R.
Brooks et al., J. Comp. Chem., 4, 187 (1983)]. Subsequent changes
to the functional form and parameters were published [W. Reiher,
Ph.D., Harvard 1985], but most parameter development remained
unpublished and unavailable without purchasing the CHARMM
program, i.e. until relatively recently. Subsequent parameter development in the Karplus group at Harvard employed an all-atom
representation, using all dihedral angles with no hydrogen bonding term and a Urey-Bradley term [J. C. Smith and M. Karplus, J.
Am. Chem. Soc. 114, 805-812, 1992]. More recently, full details of
the CHARMM force field and parameters have been made available[A.D. MacKerell et. al. J. Phys. Chem B, 102, 3586] and a web site(http://www.pharmacy.umaryland.edu/~alex/research.html)
describes the current parameter sets. Thus parameter setscharmm19, charmm22, and charmm27, etc. are now available inHyperChem for an up-to-date implementation of CHARMM.
Beginning with the choice of the charmm22 set and beyond, thenewer force field without hydrogen bonding terms and with a
Urey-Bradley term is used. The HyperChem BIO+ force field thus
gives results equivalent to CHARMM using the same CHARMM
parameter sets.

Bond Stretching
The functional form for bond stretching in BIO+, as in CHARMM,
is quadratic only and is identical to that shown in equation (11)on page 183. The bond stretching force constants are in units of2
kcal/mol per Å and are in the file pointed to by the QuadraticStretch entry for the parameter set in the Registry or the chem.ini
file, usually called *str.txt(dbf).

202

Chapter 11

Force Fields

Angle Bending
The functional form for angle bending in BIO+ is quadratic only
and is identical with that shown in equation (12) on page 183. The
2
angle bending force constants are in units of kcal/mol per radianand are in the file pointed to by the QuadraticBend entry for theparameter set in the Registry or the chem.ini file, usually called*ben.txt(dbf).

Dihedrals
The functional form for dihedral angle (torsional) rotation is identical to that shown in equation (13) on page 183. The barrierheights are in kcal/mol and are in the file pointed to by the FourierTorsion entry for the parameter set in the Registry or thechem.ini file, usually called *tor.txt(dbf). If more than one term isavailable for a given dihedral angle in the parameter file, the terms
are summed to give the total potential, i.e. the potential can be a
Fourier sum over n in equation (13), where n is from 1 to 6. The
term in BIO+ is a generalization of that given for CHARMM in B.
R. Brooks et al., J. Comp. Chem., 4, 187 (1983), in that φ values
0other than 0° or 180° are allowed. In HyperChem, all bond dihedral angles are included in the energy calculation, equivalent toautogenerating dihedral angles in CHARMM. Thus, parametersdeveloped for use with arbitrary subsets of bond dihedral angles,
as is common with CHARMM, need to be scaled or have someparameters set to have zero force constants for use in HyperChem
BIO+. Note: An extra column exists in the dihedral parameter filefor specifying a factor to divide into the force constant.

Improper Dihedrals
The functional form for an improper dihedral term is that shownin equation (12) on page 183 except that the summation is over
improper torsion angles and q represents an improper torsion
angle. For angles smaller than 6°, with q equal to 0°, a series
0

expansion is used to avoid a numerically indeterminate derivative.
The barrier heights are in kcal/mol and are in the file pointed to by
the QuadraticImpTorsion entry for the parameter set in the Registry or the chem.ini file, usually called *imp.txt(dbf). The central
atom in the improper torsion is the first or fourth atom (i.e. a terminal atom) in the dihedral angle. For atoms that have theMolecular Mechanics

203

Force Fields

improper flag set (either from templates or editing a HIN file)
HyperChem uses the improper dihedral angle formed by central
atom - neighbor 1 - neighbor 2 - neighbor 3, where the order ofneighbors is how they appear in a HIN file. Not all planar atoms
customarily have associated improper torsions. The order of atoms
is arbitrary but has been consistently chosen by the original
authors of the CHARMM force field. The templates contain equivalent CHARMM definitions of improper torsions for amino acids.
Improper dihedral angles cannot be defined that do not have acentral atom, as is sometimes done in CHARMM calculations.

van der Waals
The functional form for van der Waals interactions in BIO+ is identical with that shown in equation (14) on page 184. The coefficients A and B are computed from the parameters in the fileij

ij

pointed to by the 6–12AtomVDW entry for the parameter set in
the Registry or the chem.ini file, usually called *nbd.txt(dbf), andoptionally with the file pointed to by the 6-12PairVDW entry forthe parameter set, usually called *npr.txt(dbf). When using thenewer, published CHARMM parameter sets, BIO+ uses equations(15) and (16) for the combination rules by setting the
6-12AtomVDWFormat entry to RStarEpsilon. When using earlier,published CHARMM parameter sets, BIO+ uses equations (19), (20)and (21) by setting the 6-12AtomVDWFormat entry to SlaterKirkwood.
The 1-4 van der Waals interactions cannot be scaled in CHARMM
but in newer CHARMM parameter sets some atom types (usuallyunited atoms) use different parameters for 1–4 interactions. These
are specified for BIO+ in the file pointed to by the
6–12Atom14VDW entry, usually called *nbd.txt(dbf). If an atom
type is absent in the 6–12Atom14VDW file, the normal parameters
are used. The format of the 6–12Atom14VDW file is also specified
by the 6–12AtomVDWFormat entry for the parameter set.
Newer, published CHARMM parameter sets override some of the
combination rule generated parameters for some atom type pairs.
These parameters are found in the file pointed to by the
6–12PairVDW entry for the parameter set, usually called*npr.txt(dbf). The values of Aij and Bij for these are computed using
equations (22) and (23) on page 186 by setting the
6–12PairVDWFormat entry to RStarEpsilon.

204

Chapter 11

Parameter Sets

Electrostatic
The functional form for electrostatic interactions in CHARMM is
identical with that shown in equation (26) on page 187. A dielectric scaling of D=2.5 was common with older, published
CHARMM parameter sets but newer sets seem to use a scaling of
D=1, combined with a constant functional form when solvent
molecules are explicitly included or a distance-dependent form
when trying to emulate the effects of solvent without explicitly
adding solvent molecules. The charges q are not part of any pubi

lished CHARMM parameter file. Standard atomic charges areplaced on an atom only when the molecular system is created from
templates, by using the database menu or reading a PDB file. Otherwise charges must be set manually or by a quantum mechanicalcalculation, or they default to zero and no electrostatic interactions result. The 1-4 electrostatic interactions are scaled withnewer, published CHARMM parameter sets to 0.4 or 0.5 times theirnominal value (a scale factor of 0.4 or 0.5 in the Force Field
Options dialog box).

Hydrogen Bonding
The BIO+ force field option in HyperChem has no hydrogen bonding term. This is consistent with evolution and common use of the
CHARMM force field (even the 1983 paper did not use a hydrogenbonding term in its example calculations and mentioned that thefunctional form used then was unsatisfactory and under review).

Urey-Bradley
If one selects a parameter set charmm22 or later, a Urey-Bradleyterm (harmonic repulsion between the terminal atoms of a bondangle) is included in the force field, provided parameters are available.

Parameter Sets
The concept of a parameter set is an important (but often inconvenient) aspect of molecular mechanics calculations. Molecularmechanics tries to use experimental data to replace a priori computation, but in many situations the experimental data is not known
and a parameter is missing. Collecting parameters, verification of
Molecular Mechanics

205

Parameter Sets

their validity, and the relationship of these molecular mechanics
parameters to chemical and structural moieties are all importantand difficult topics.
A molecular mechanics method in HyperChem is defined by a setof atom types and a functional form for the energy and its derivatives— for example AMBER. For the AMBER method, you may use
many different default and user-defined parameter sets. HyperChem comes with default parameter sets, Amber2, Amber3,
AmberS, Amber94, and Amber96 in the case of the AMBER
method. It is possible, however, to define an arbitrary number of
additional parameter sets for the AMBER method (or for any of theother three force field methods). These user-defined parameter sets
can be specified in the Parameters dialog box and integrated into
HyperChem, in the same way as the default sets. [New parameter
sets must now be added to the end of the list of parameter sets andapply only to the latest force fields].

Text or DBF Form for Parameters
HyperChem provides two forms of parameter sets — an ASCII text
form and the *.dbf database form consistent with dBASE IV and alarge number of other database packages. Since the principal difficulty with using molecular mechanics is having or obtaining
appropriate parameters, you may want to explore parameter sets asa database in the *.dbf form. [ With Release 7 of HyperChem dBase
parameter sets are being phased out in favor of text files althougholder versions of dBase parameter sets are still supported].
The text form for parameters uses white space or commas to separate the fields (columns) of the parameter files. They can be readby ordinary text editors, word processors, etc. In the text form,
parameters are easy to modify but not easy to compare, study, etc.
Many database programs are capable of reading columns of text asa database, however. While spreadsheets are not, per se, databases,
they can be useful for examining parameter sets. Microsoft Excel,
for example, can read the text form of a parameter file and put thedata in a form easily manipulated as a matrix or a database. The
text form of parameters are stored, by default only, in *.txt files.
The dBASE IV (or dBASE III) form of the parameter sets come in*.dbf files analogous to the *.txt files. These dbf files are binary files,
so you can't read them directly. They are not required for the product and are provided only as an option. In most situations where206

Chapter 11

Parameter Sets

there is no extensive use of database operations on parameter sets,
the text form is probably more convenient to use. Many spreadsheet programs, including Microsoft Excel, are also capable ofreading *.dbf files.

Modifying Existing Parameter Sets
The entries in molecular mechanics parameter files are describedin the HyperChem Reference Manual. Use the following procedure tomodify an existing parameter set:
1. Modify, add, or delete a parameter in the appropriate file. Usea text editor for a *.txt file or a database program for a *.dbf file.
2. Start HyperChem.
3. Specify the modified parameter set with the Setup/SelectParameter Set command.
4. Select the Setup/Compile Parameters command to recompile
the set of *.txt files or *.dbf files into a par file, a binary description of all the parameters of a given parameter set.
The modified parameters are then available to the current or futureversion of HyperChem. For example, the Amber2 set of parameters
is described by the amberstr.txt, amberben.txt, etc. set of files.
Modifying one or any of these files, saving it, and then, in HyperChem, selecting the Amber2 parameter set and asking for a compilation of parameters produces a new amber2.par file that is usedfrom then on for the Amber2 set of parameters.

Creating New Parameter Sets
New parameter sets can be created by essentially copying an oldparameter set (copying the *str.*, *ben.*, etc. files while changing
their root name), describing the new parameter set to HyperChemwith its new name, via the Registry, and then modifying, adding,and deleting entries in the appropriate files prior to a recompilation to the binary form. The difference between creating a newparameter set and modifying a parameter set, is giving a new nameto the parameter set and its associated files and describing thatnew name in the Registry.
For example, if an Amber02 parameter set was to be added to the
AMBER molecular mechanics method, you could simply copy the
Molecular Mechanics

207

Compiling Parameters

files amberstr.txt(dbf), amberben.txt(dbf), etc. to the new files
newamstr.txt(dbf), newamben.txt(dbf), etc. and then copy theAmber2 entry (multiple text lines) in the Registry into a new
Amber02 entry, changing all the names in the Amber02 entry into
the appropriate Amber02 names (Amber2 replaced by Amber02,
amberben.txt(dbf) replaced by newamben.txt(dbf), etc.). Finally,
the new parameter set should be compiled to amber02.par prior to
its use.

Compiling Parameters
Compilation of parameters makes HyperChem more efficient. It
replaces a set of text or dBASE files (for one parameter set) by a single binary *.par file. The compilation can be performed at any timefrom within HyperChem by selecting the parameter set(Setup/Select Parameter Set) and requesting a compilation(Setup/Compile Parameters). If the parameter files are not modified,you do not have to compile them.

Registry Setup of Force Field Options
The Registry entry for molecular mechanics parameter sets is best
described as it occurs with the default registry. The Registry contains four sections—[mm+], [amber], [bio+], and [opls]—describing the parameter files for each of the four molecular mechanics
methods. Each method section contains as many sections as there
are parameter sets for that method. Thus, the [amber] section contains the [amber2], [amber3], [ambers], [amber94], and [amber96]
sections that describe the amber2, amber3, ambers, amber94, andamber96 parameter sets associated with the amber method. These
CustomNames, amber2, amber3, ambers, amber94, and amber96
should first be described to the [amber] section as the custom
names you choose for the parameter sets.
The force field section (for example [amber]) contains four entries:

208

Chapter 11•

CurrentFiles describes the index of the current parameter set.
CurrentFiles=0 says to use the first parameter set, CurrentFiles=1 says to use the second parameter set, etc.

•

AtomTypeMass is set to the name of the file that lists the atom
types associated with the force field and their masses (masses
are associated with a type here not an atomic number). The fileCompiling Parameters

can have any name but by convention is named, for example,
as ambertyp.txt(dbf).
•

FileFormat describes whether this file is in text or dBASE format. This is, by convention, available in the file names, *.txt or*.dbf, but the AtomTypeMass file name is strictly arbitrary andthe file is interpreted on the basis of the FileFormat setting.

•CustomNames describes the names of the individual parameter sets.

In addition, there are similar entries associated with the newer
force field that begins with the Amber94 parameter set.
A section for a particular parameter set, for example, the [amber2]
section, contains entries in a parameter set section that are as follows: The FileFormat entry describes the file format, text or dBASE,
for the parameter files. The Dielectric, DielectricScale,
1–4ElectrostaticScale, and 1–4vanderWaalsScale entries describe
the default settings of the Molecular Mechanics Options dialog
box. The 6–12AtomVDWFormat and 6–12PairVDWFormat entries
describe the way the Lennard-Jones van der Waals parameters are
obtained æ either from SlaterKirkwood, SigmaEpsilon, or RStarEpsilon values listed in the associated nonbonding parameter files. In
some situations, Lennard-Jones parameters come from parametersspecific to individual atoms or to specific pairs of atoms as
described earlier in the section of the manual that covers genericforce fields.
The entries QuadraticStretch, QuadraticBend, FourierTorsion,
FourierImpTorsion, QuadraticImpTorsion, 6–12AtomVDW,
6–12PairVDW, 6–12Atom14VDW, and 10–12PairHBond describe
the names of the files holding the associated parameters.
In MM+, the parameter files differ sufficiently that they aredescribed by their own entries, MMPStretch, MMPBend,
MMPBend3, MMPBend4, MMPOOPBend, MMPTorsion,
MMPTorsion4, MMPAtomVDW and MMPCubicStretch.
MMPBend3 and MMPBend4 refer to bending constants in 3- and4-membered rings. The OOPBend constants describe out-of-planebending.
The reference manual gives a more complete description of parameter section of the HyperChem registry.

Molecular Mechanics

209Periodic Boundary Conditions and Solvent

Periodic Boundary Conditions and Solvent
Isolated gas phase molecules are the simplest to treat computationally. Much, if not most, chemistry takes place in the liquid or solidstate, however. To treat these condensed phases, you must simulate continuous, constant density, macroscopic conditions. The
usual approach is to invoke periodic boundary conditions. Thesesimulate a large system (order of 1023 molecules) as a continuous
replication in all directions of a small box. Only the molecules inthe single small box are simulated and the other boxes are just copies of the single box.
HyperChem allows solvation of arbitrary solutes (including no solute) in water, to simulate aqueous systems. HyperChem uses only
rectangular boxes and applies periodic boundary conditions to thecentral box to simulate a constant-density large system. The solvent water molecules come from a pre-equilibrated box of water.
The solute is properly immersed and aligned in the box and thenwater molecules closer than some prescribed distance are omitted.
You can also put a group of non-aqueous molecules into a periodicbox.
It is also possible to simulate liquid droplets by surrounding a solute by a finite number of water molecules and performing the simulation without a periodic box. The water, of course, eventually
evaporates and moves away from the solute when periodic boundary conditions are not imposed. If the water is initially added via
periodic boundary conditions, you must edit the resulting HIN file
to remove the periodic boundary conditions, if a droplet approachis desired.
Periodic boundary conditions can also be used to simulate solidstate conditions although HyperChem has few specific tools to
assist in setting up specific crystal symmetry space groups. The
group operations Invert, Reflect, and Rotate can, however, be used
to set up a unit cell manually, provided it is rectangular.

The Periodic Boundary Conditions
When you apply periodic boundary conditions to molecularmechanics simulations, the atoms of the system are placed in arectangular box and treated as if they are surrounded by identicallytranslated images of the box on all sides. A box of dimensions

210

Chapter 11

Periodic Boundary Conditions and Solvent

R x R x R has 26 nearest images of itself, translated by combinaxyztions of ± R , ± R and ± R . For crystalline systems, further layers ofxyz

periodic images might be included, to account for long-range periodicity, and an atom would interact with all its periodic images.
For liquid-phase systems periodic boundary conditions minimize
edge effects of a necessarily finite system, rather than include longrange periodicity. HyperChem employs the usual nearest image or
minimum image restriction, where an atom in the box only interacts with the closest image of another atom in the box. Thus withperiodic boundary conditions, an atom only interacts with the setof images that are within ± 1/2 R , ± 1/2 R andx± 1/2 R of itself.

yz

The nearest image restriction implies a sharp, rectangular cutoff of± 1/2 R , ± 1/2 R and ± 1/2 R . This leads to discontinuities in thexyz

potential energy surface; if an atom moves too far away on one
side it suddenly disappears and reappears on the other side (i.e. a
different image becomes closest). The discontinuity at the switchover point can lead to undesirable artifacts in geometry optimization and molecular dynamics. Another undesirable feature of this
implied rectangular cutoff is that it is anisotropic, so that a rotation of the coordinate system changes the energy.
HyperChem avoids the discontinuity and anisotropy problem of
the implied cutoff by imposing a smoothed spherical cutoff within
the implied cutoff. When a system is placed in a periodic box, aswitched cutoff is automatically added. The default outer radius,
where the interaction is completely turned off, is the smallest of
1/2 R , 1/2 R and 1/2 R , so that the cutoff avoids discontinuitiesxyz

and is isotropic. This cutoff may be turned off or modified in the
Molecular Mechanics Options dialog box after solvation andbefore calculation.

Equilibrated Water Box
The water molecules used to solvate a solute comes from Jorgensen's Monte Carlo equilibrated box of 216 water molecules,
described by the TIP3P potential function [W. L. Jorgensen, J.
Chandrasekhar, J. D. Madura, R. W. Impey, and M. L. Klein, J.
Chem. Phys. 79, 926 (1983)]. This box is cubic and 18.70 Å on aside. When the requested box fits into this, it is just carved out of

Molecular Mechanics

211

Restraints

the basic Jorgensen box. When a bigger box (more than 216 watermolecules or perhaps an elongated box) is required, then the basic
216 molecule box is duplicated to create 3 x 3 x 3 x 216 water molecules in a box 56.10 Å on a side and the required box is carved outof this.

Details of Solvation Methodology
Prior to solvation, the solute is oriented according to its inertial
axes such that the box size needed to accommodate it is minimized (minimizing the number of water molecules). The principal
inertial axis is oriented along the viewer’s Z axis, for example. Thenwater molecules are eliminated if any of the three atoms are closer
to a solute atom than the contact distance you specify.

Restraints
You can add restraints to any molecular mechanics calculation(single point, optimization or dynamics). These might be NMR
restraints, for example, or any situation where a length, angle, or
torsion is known or pre-defined. Restraints with large force constants result in high frequency components in a molecular dynamics calculation and can result in instability under some circumstances.

Definition of a Restraint
A restraint (not to be confused with a Model Builder constraint) is
a user-specified one-atom tether, two-atom stretch, three-atom
bend, or four-atom torsional interaction to add to the list of molecular mechanics interactions computed for a molecule. These addedinteractions are treated no differently from any other stretch,bend, or torsion, except that they employ a quadratic functional
form. They replace no interaction, only add to the computed interactions.
Restraints are commonly used to restrain certain long range conformations. For example, you might restrain a certain end of alarge molecule to be near another end. Alternatively, if the added
force constant associated with the restraint is large enough, a local
geometry, such as a bond length, bond angle, or torsion angle,
could be almost forced to remain fixed. These restraints do not212

Chapter 11

Restraints

actually restrain any specific geometric feature to remain constantbut only make the energy rise when the geometric feature deviatesfrom its restrained value. On the other hand, the Model Builder
constraints are true constraints, normally fixing a geometric feature of a Model Built structure.

Adding Restraints
Use Named Selections to add restraints:
1. Name any one-atom, two-atom, three-atom, or four-atom
selection with the Select/Select command.
2. Use Restraints in the Setup menu to bring up the Restraint
Forces dialog box
3. Add any of the currently named 1-, 2-, 3-, or 4-atom selections
to the list of restraints.
If it is a two atom restraint, the dialog box requests a restrained 2atom distance (bond length or nonbonded distance) and a stretching force constant. For a one atom restraint, the dialog box request
a point to tether the atom to and a force constant. If the force constant is small, there is only a tendency towards keeping the two
atoms at the specified distance. If the force constant is large, thedistance remains near the specified distance since it requires alarge energy to displace it significantly from that distance. The two
atoms need not be bonded and in many restraint situations thetwo atoms definitely will not be bonded.
The 3-atom and 4-atom restraints behave just like those for two
atoms, except that the dialog box requests an angle rather than adistance and the accompanying request for a force constantrequires either a bending force constant (3-atom case) or a torsional force constant (4-atom case).
These molecular dynamics restraints are stored with the HIN fileand are retained as long as the Named Selections are still active(structural changes not made to molecular system) or the restraints
are still requested via the Restraint Forces dialog box.
The default restraints are appropriate for molecular dynamics calculations where larger force constants would create undesirable
high frequency motions but much larger force constants may bedesired for restrained geometry optimization.

Molecular Mechanics

213

The Default (MM+) Force Field

The Default (MM+) Force Field
A default force field was originally developed only for MM+. With
more recent versions of HyperChem the scheme used for MM+ has
been extended to provide default parameters for all the force fields
in essentially an identical way to that used for MM+. It is stillreferred to here as the MM+ default force field and described sp
below although it is now also used with Amber, OPLS, andCHARMM.
One of the major difficulties with molecular mechanics procedures(MM+ or otherwise) is that they almost always fail. That is, youfind that force constants are not available for the molecule ofinterest. This is both the strength and weakness of molecularmechanics; it uses atom types to introduce specific chemical environments for the atoms within a molecule (to obtain accuracy inthe calculations) but then requires knowledge of force constants
specific to that chemical environment (as specific as stating thatan atom is in a five-member ring containing one oxygen and one
carbon, for example). As the number, N, of atom types rises thenumber of force constants needed to describe all possible occurrences of these atom type becomes very large. For torsions, for4example, N force constants are needed. This does not even
include the very real possibility that an atom type has not been
defined for the particular chemical situation at hand.
In computational chemistry it can be very useful to have a genericmodel that you can apply to any situation. Even if less accurate,
such a computational tool is very useful for comparing results
between molecules and certainly lowers the level of pain in usinga model from one that almost always fails. The MM+ force field ismeant to apply to general organic chemistry more than the otherforce fields of HyperChem, which really focus on proteins andnucleic acids. HyperChem includes a default scheme such thatwhen MM+ fails to find a force constant (more generally, force
field parameter), HyperChem substitutes a default value. Thisoccurs universally with the periodic table so all conceivable molecules will allow computations. Whether or not the results of sucha calculation are realistic can only be determined by close examination of the default parameters and the particular molecular situation.

214

Chapter 11

The Default (MM+) Force Field

The Wild Card Approach
The approach used to develop default parameters is best describedusing torsional parameters as an example. A general torsional rotation involves four connected atoms, atom –atom –atom –AXYatom , where atom and atom are the atoms at the ends of theB
AB
torsion and atom and atom are the two central atoms. AtomXYA
is atom type A, for example. The parameters for these torsions aredescribed by the atom types, A–X–Y–B in the torsional parameter
file with the default name mmptor.txt(dbf). If you have a moleculewith a torsion of the type A–X–Y–B, HyperChem searches the
mmp.par binary equivalent of mmptor.txt(dbf) and if there is amatch, extracts and uses the parameters for the torsion.
When no explicitly correct force constant is found, HyperChem
proceeds to stage two and finally to stage three. In stage two, you
can use wildcards to relax the explicitness of the match between
the atom types of the torsion in question and the available MM+parameters. In the torsional case, as many as three searches of the
mmp.par file are performed. If the exact match between A–X–Y–B
and entries in mmp.par fails, then a search in mmp.par looks foran entry labeled, **–X–Y–**, where ** is the designation for wildcard, don't-care, any-atom-type, unknown, etc. This search looks
for a torsional parameter associated only with the central atoms ofthe torsion independent of the terminal vicinal atoms. If this fails,
a third search looks for an entry in the mmp.par file that is labeled**–**–**–**. If such an entry exists, it indicates that this is the force
constant (and additional torsional parameters) to use when no better match is available. Only the above three searches of mmp.parare made with no intermediate searches such as **–X–Y–B or **–X–**–**, etc. If the **–**–**–** entry for the completely generic torsion
exists in mmp.par, then the search for torsional parameters for the
A–X–Y–B torsion will obviously succeed at this point, if not before.
If no **–**–**–** entry exists, and the search of mmp.par fails tofind appropriate parameters, then HyperChem proceeds to stage
three where default parameters are assigned based on perceived
hybridization states of X and Y (and possibly A or B), the type ofbond between X and Y etc. This last stage generally yields sets ofparameters that are more reasonable than ones based on a single
unique generic value, **–**–**–**, to be used everywhere that more
explicit parameters are not available from mmp.par.

Molecular Mechanics

215

The Default (MM+) Force Field

The Default Force Field
If suitable parameters cannot be found in the MMP.PAR file, withor without wild cards, i.e. stage one and stage two fail, then the
final stage three is entered and HyperChem uses a unique default
scheme to find a parameter. At this point the HyperChem statusline notes that default parameters are being used. This default
scheme is similar to the Dreiding force field proposed by Mayo,
Olafson, and Goddard [J. Phys. Chem. 94, 8897 (1990)], but hasenough differences that it needs to be described in its own right.
Specifically, the default scheme retains the MM2 functional form
exactly as proposed by the Allinger group, but uses a scheme similar to that proposed for the Dreiding force field to obtain parameters. The parameters are obtained using a generic approach thatconsiders only the hybridization of relevant atoms, the type of abond (single, double, triple, or aromatic), and standard covalentradii for all elements in the periodic table. This scheme may not
yield an optimized parameter but it does not require so specific acriterion as the explicit listing of a parameter in a parameter fileassociated with specific atom types.
Covalent radii for all the elements are readily available and thebond orders of all bonds are available from the molecular graph.
Prior to describing the explicit default parameter scheme, it is necessary to indicate how a hybridization state is assigned to any atom
in a molecule.

Approximate Hybridization
An estimate of the hybridization state of an atom in a moleculecan be obtained from the group of the periodic table that the atom
resides in (which describes the number of valence electrons) andthe connectivity (coordination of the atom). The HyperChem
default scheme uses this estimate to assign a hybridization state to2
2.5
3
all atoms from the set (null, s, sp, sp , sp , and sp ). The special
2.5
value spis used to denote aromatic systems such as benzene. In
this release of HyperChem, hybridization states involving d orbitals are not considered. For the transition metals (or lanthanides
and actinides) the number of valence electrons is only considered
to be those normally residing in (ns,np) orbitals. This is, of course,
an approximation that may not be justified in all cases but is thebasis of the current default scheme where a hybridization is
assigned based on the number of s and p valence electrons (0–8)
216

Chapter 11

The Default (MM+) Force Field

and the number of neighbors (0–4). The number of valence electrons assigned to each element is shown below:

The number of neighbors is given by the molecular graph and thefollowing rules determine a hybridization state for each atom in amolecule.
1. If the number of valence electrons is 0 or 8, the hybridization
is described as null. This is used for Group 0 (Inert gases).
2. If the number of valence electrons is 1 (H, Na, K, etc.), thehybridization is described as s.
3. If the number of valence electrons is 2 (Be, Mg, etc.), the32
hybridization is set to sp for 4 neighbors, sp for 3 neighbors,and sp for 1 or 2 neighbors.
4. If the number of valence electrons is 3 (B, Al, etc.), the hybrid3
2
ization is set to sp for 4 neighbors, sp for three neighbors,and sp for 1 or 2 neighbors.
5. If the number of valence electrons is 4 (C, Si, etc.), the hybrid3
ization is set to sp for 4 neighbors.
6. If there are 3 neighbors and one or more of them is connected
2.5
by an aromatic bond, then the hybridization is set to sp
or2
the hybridization is set to sp .
7. If there are 2 neighbors and both bonds are single bonds then3
the hybridization is set to sp , or if one of the bonds is a single

Molecular Mechanics

217

The Default (MM+) Force Field

2bond the hybridization is set to sp , or if neither of the bonds
is single the hybridization is set to sp.
8. If there is 1 neighbor, then if the one bond is a triple bond the
hybridization is set to sp, or if the one bond is an aromatic
2.5
bond the hybridization is set to sp , or if the one bond is2
double the hybridization is set to sp , or if the one bond is sin3
gle the hybridization is set to sp .
9. If the number of valence electrons is 5 (N, P, etc.), the hybrid3
ization is set to sp for 4 or 3 neighbors, unless it is attached to
an atom with a triple, double, or aromatic bond, in which case2
it is set to sp .
10. If there are 2 neighbors and one or more of them is connected
2.5
by an aromatic bond then the hybridization is set to sp
or2
the hybridization is set to sp .
11. If there is 1 neighbor, then if the one bond is triple the hybridization is set to sp, or if the one bond is aromatic the hybrid2.5
ization is set to sp , or if the one bond is double the hybrid2
ization is set to sp , or if the one bond is single the hybridiza3
tion is set to sp .
12. If the number of electrons is 6 (O, S, etc.), the hybridization is3
set to sp for 4, 3, or 2 neighbors, unless it is attached to an
atom with a triple, double, or aromatic bond, in which case it
2is set to sp . If these atoms have 1 neighbor, and if the one
bond is triple the hybridization is set to sp, or if the one bond
2.5
is aromatic the hybridization is set to sp , or if the one bond2
is double the hybridization is set to sp , or if the one bond is3
single the hybridization is set to sp .
13. If the number of valence electrons is 7 (Halides, etc.), thehybridization is described as s.
These rules may not be optimal when applied to certain transition
metals (Lanthanides, etc.), but they generate a result for any molecule.

Bond Stretching
The default parameters for bond stretching are an equilibrium
bond length and a stretching force constant. The functional form
is just that of the MM+ force field including a correction for cubic
stretches. The default force constant depends only on the bond

218

Chapter 11

The Default (MM+) Force Field

2order. The default value is 700 kcal/mol/Å for single bonds, 1400
for double bonds and 2100 for triple bonds. The value for aromaticbonds is 1400, the same as for double bonds. The equilibrium
bond length for a bond is the sum of the covalent radii of the two
atoms involved. The covalent radii used are given below:

As special cases to these radii, better values are used for the elements boron to oxygen for particular hybridization states.
Atom
3
B (sp )
2
B (sp )3
C (sp )
2.5
C (sp )
2
C (sp )

Covalent Radius
0.880
0.790
0.770
0.700
0.670

C (sp)3
N (sp )
2.5
N (sp )
2
N (sp )

0.602

N (sp)3
O (sp )

0.556

0.702
0.650
0.615

0.660

Molecular Mechanics

219

The Default (MM+) Force Field

Atom
2.5
O (sp )
2
O (sp )

Covalent Radius
0.660

O (sp)

0.528

0.560

Parameters for Butadiene and Related Molecules
The normal molecular mechanics approach, as used with the
AMBER, MM2, Dreiding or similar force fields, assigns bond lengthparameters on the basis of the “atom types” of the two bonded
atoms. This results in the central sp2–sp2 single bond of a molecule
like butadiene having the same bond length parameters as each of
the two terminal sp2–sp2 double bonds in the same molecule. A
single bond should, of course, be considerably longer than a double bond. This effect can be corrected by assigning the bond lengthparameter on the basis of “bond order” in addition to the “atomtypes” of the bonded atoms. The default MM+ force field applies
such a correction, but the correction is not described in the manuals.
The correction is only applied in the default MM+ parameter
scheme. When MM+ parameters are available in the mmpstr.txt(dbf) file, the normal approach based on only atom types isused. Thus, the correction is applied to butadiene when all theatom types are **, for example, but not when atom types arepresent and their corresponding parameters available in theparameter files.
MM+ increases the bond length parameter for single bonds thatare not sp3–sp3 hybridized. This correction is a sum of two terms,
one for each of the bonded atoms. The correction is 0.03 Ångstroms for sp2.5 (aromatic) hybridization, 0.06 Ångstroms for sp2
hybridization, and 0.09 Ångstroms for sp hybridization. Without
this correction the bond length parameter for the central sp2–sp2
single bond of butadiene, for example, would be 1.34 Ångstroms,
the same as for the terminal double bonds. The correction adds
0.12 Ångstroms (0.06 + 0.06) to this, leading to a bond-lengthparameter for the central single bond of 1.46 Ångstroms, a considerably more accurate value.

220

Chapter 11

The Default (MM+) Force Field

Angle Bending
All default bending force constants are assigned the value 1002kcal/mol/rad

Stretch-Bends
No default stretch-bending interactions are included.

Out-Of-Plane Bends
The MM+ force field assigns default values for out of plane bending terms around an sp2 center. If a central atom has some out ofplane parameters, then the first out of plane parameter involving
that central atom is used if a specific parameter is not found.

Torsions
The functional form for default torsions is the MM+ form withthree torsional constants V1, V2, and V3 for 1-fold, 2-fold, and 3fold contributions. The default values for these constants dependon the particular chemical situation associated with the bondorder of the bond and the hybridization of the relevant atoms. The
rules are:Single Bonds
3
3
1. An ordinary sp –sp single bond has a three-fold barrier
described by V3=2.0 kcal/mol.
33
2. An sp –sp single bond where each of the central atoms is inGroup VIA (for example, hydrogen peroxide) has a two-foldbarrier with optimum torsional angle of 90 degrees, as
described by V2=-2.0 kcal/mol.
3
2
3
2.5
3
3. An sp –sp or sp –sp
single bond where the sp atom is inGroup VIA (for example, the C–O bond of vinyl alcohol) has a
two fold barrier with an optimal planar configuration
described by V2=+2.0 kcal/mol.
3
2
3
2.5
4. An sp –sp or sp –sp
single bond where the atom con2
2.5
2
2.5
nected to the central sp (sp ) atom is another sp (sp )atom, as in the H–C–C–double bond O torsion of acetic acid,is described by the MM+ parameters of acetic acid, V1=-0.167
kcal/mol and V3=-0.1 kcal/mol.
Molecular Mechanics

221

The Default (MM+) Force Field

3
2
3
2.5
5. An sp –sp or sp –sp
single bond where the atom con2
2.5
2nected to the central sp (sp ) atom is not another sp
2.5(sp ) atom, as in the H–C–C–H torsion of propene, isdescribed by a three-fold barrier V3=2.0 kcal/mol.
2
2
2
2.5
6. A planar sp –sp single bond or planar sp –sp
single bond(for example, the central bond of butadiene, with isolated dou2
ble bonds, or phenyl amine, where the nitrogen is sp hybridized) is described by a two-fold barrier, V2=5 kcal/mol.
2.5
2.5
7. A conjugated sp –sp
single bond (for example, the bondjoining the two phenyl rings of biphenyl, the central bond of
butadiene, with delocalized aromatic bonds, or phenyl amine,
2.5
where N–C bond is labeled aromatic and nitrogen is sp
hybridized) is described by a two-fold barrier, V2=10 kcal/mol.

Double Bonds
1. Isolated double bonds (as in ethylene) have a two-fold barrierof V2=45 kcal/mol.
2. Aromatic bonds (as in benzene) have a two-fold barrier of
V2=25 kcal/mol.
In each of the cases above the total barrier heights are divided by
the total number of torsions counted. For example, ethane uses a
parameter V3=2.0/6 for each of its six torsions, leading to a total
barrier of 2.0 kcal/mol.

Electrostatic
No default electrostatic interactions are included.

van der Waals
The default exp-6 van der Waals interaction requires, as shown inequation (37) and (38) on page 196, a van der Waals radii, r*, anda hardness parameter ε. The default values for these parameters are
based strictly on the atomic number and are given below.
The values of 2r* are:222

Chapter 11

The Default (MM+) Force Field

These values are from Mayo, Olafson, and Goddard [J. Phys. Chem.
94, 8897 (1990)] with additional values from A. Bondi (J. Phys.
Chem 68, 441 (1964)}. The values for the rare gases are from Davidson's book, Statistical Mechanics, McGraw-Hill, 1962.
When a specific value above is not known, the rule of Pauling (thevan der Waals radius is approximately 0.76 Å larger than the covalent radius) is used.
The hardness parameters for MM+ are the dissociation energies of
the nonbonded interactions of two identical atoms divided by
1.125, ε=D /1.125. The values of D used are:0
0

Molecular Mechanics

223

The Default (MM+) Force Field

These values are from the same references as 2r*. If a value is notavailable, a default value of 0.1 kcal/mol is used.

224

Chapter 11

Chapter 12
Quantum Mechanics
In addition to molecular mechanics calculations, HyperChem canperform various quantum mechanical calculations. These calculations are more universal than molecular mechanics, but are also
more time consuming and less empirical.
Molecular mechanics depends on the concept of atom types andparameters associated with these atom types. Since the number ofatom types is very large for the universe of possible molecules,
parameters will probably be missing for a random new molecule
unless a force field has been developed for molecules similar to thenew molecule. Molecular mechanics predicts how the new molecule will behave based upon the behavior of known, similar molecules.
Quantum mechanical calculations generally have only one carbon
atom type, compared with the many types of carbon atoms associatedwith a molecular mechanics force field like AMBER. Therefore, thenumber of quantum mechanics parameters needed for all possible
molecules is much smaller. In principle, very accurate quantum
mechanical calculations need no parameters at all, except fundamental constants such as the speed of light, etc.
HyperChem quantum mechanical calculations are referred to as
either ab initio, DFT(density functional theory), or semi-empirical.
Ab initio calculations only have parameters associated with thebasis set of atomic orbitals (contracted basis functions) used, in linear combination, to describe the molecular orbitals. These basis
sets are usually associated with shells, such as an s shell, sp shell,
etc. The basis set is the only parameter in ab initio calculations.
Density Functional Theory (DFT) calculations are similar to ab initio calculations but have additional parameters associated the density functional. The density functional attempts to describes how
the energy of a molecule depends on the electron density of themolecule. These DFT calculations can give better results than ab225initio calculations but depend on having a good density functional. The principal variable in DFT calculations is knowing
which density functional to use. Semi-empirical calculations use
many explicit parameters associated with the specific atomic number (element) of an atom. The concept of atom types is not used in
the conventional quantum mechanics methods. Semi-empiricalquantum mechanics methods use a rigorous quantum mechanicalformulation combined with the use of empirical parameters
obtained from comparison with experiment. If parameters areavailable for the atoms of a given molecule, then ab initio, DFT, andsemi-empirical calculations have an a priori aspect when comparedwith a molecular mechanics calculation, letting you explore newmolecular systems beyond those for which the parameters weregenerated originally.
HyperChem include the commonly used basis sets. These basis setsare STO-nG and STO-nG* with n = 1, 2, 3, 4, 5, and 6 for all theatoms with atomic numbers less than or equal to 54 (H - Xe) [W. J.
Hehre, R. F. Stewart, and J. A. Pople, J. Chem. Phys., 51, 2657 (1969);
J. B. Collons, P. V. Schleyer, J. S. Binkley, and J. A. Pople, J. Chem.
Phys., 64, 5142 (1976); R. F. Stewart, J. Chem. Phys., 52, 431 (1970)],
3-21G, 3-21G*, 3-21G**, 6-21G, 6-21G*, and 6-21G** for the elements H to Ar [J. S. Binkley, J. A. Pople, and W. J. Hehre, J. Am.
Chem. Soc., 102, 939 (1980); M. S. Gordon, J. S. Binkley, J. A. Pople,
W. J. Pietro, and W. J. Hehre, J. Am. Chem. Soc., 104, 2797 (1982);
W. J. Pietro, M. M. Francl, W. J. Hehre, D. J. Defrees, J. A. Pople, and
J. S Binkley, J. Am. Chem. Soc., 104, 5039 (1982)], 4-21G, 4-21G*,
and 4-21G**, 4-31G, 4-31G*, 4-31G**, 6-31G, 6-31G*, and 6-31G**[W. J. Hehre, R. Ditchfield, and J. A. Pople, J. Chem. Phys., 56, 2257
(1972); P. C. Hariharan and J. A. Pople, Theor. Chim. Acta., 28, 213(1973); M. S. Gordon, Chem. Phys. Lett., 76, 163 (1980)], 6-311G, 6311G*, 6-311G**, MC-311G, MC-311G*, and MC-311G** for theelements with atomic numbers less than or equal to 18 (H to Ar)[R. Krishnan, J. S. Kinkley, R. Seeger, and J. A. Pople, J. Chem. Phys.,
72, 650 (1980); A. D. McLean and G. S. Chandler, J. Chem. Phys.,
72, 5639 (1980), and D95, D95*, and D95** for the elements H to
Cl [T. H. Dunning and P. J. Hay, in Modern Theoretical Chemistry,
Plenum, New York, 1976.
HyperChem includes semi-empirical parameters for all the atoms
with atomic numbers less than or equal to 54 and can perform calculations on any molecule composed of only those atoms. The few
restrictions or exceptions to this rule will be pointed out as appropriate. Nevertheless, the probability of having appropriate param-

226

Chapter 12

Backgroundeters for a random calculation are much higher for semi-empiricalcalculations than for molecular mechanics calculations.
Note: This chapter explicitly describes ab initio calculations inaddition to semi-empirical calculations. Almost everything associated with ab initio calculations is also relevant to the calculationsof density functional theory (DFT). However, DFT calculations are
explicitly described in the next chapter by themselves. Where andwhen it is necessary to distinguish details between the two typesof calculations it will be noted. Often DFT calculations are also
referred to as ab initio although that terminology is not used by theHyperChem manuals which explicitly distinguish ab initio from
DFT.

Background
This section describes the basics of HyperChem’s simple molecularorbital calculations. It interprets HyperChem’s results rather thanintroducing quantum chemistry. For a complete discussion, you
should consult textbooks in quantum chemistry, such as I. N.
Levine, Quantum Chemistry, 3rd Edition, Allyn and Bacon, 1986;
and A. Szabo and N. S. Ostlund, Modern Quantum Chemistry,
McGraw-Hill Publishing Co., 1989.

Approximate Solutions of the Schrödinger equation
The Schrödinger equation contains the essence of all chemistry. To
quote Dirac: “The underlying physical laws necessary for themathematical theory of a large part of physics and the whole ofchemistry are thus completely known.” [P.A.M. Dirac, Proc. Roy.
Soc. (London) 123, 714 (1929)]. The Schrödinger equation isΨ = EΨ

(44)

The input, the Hamiltonian , describes the particles of the system;
the output, E, is the total energy of the system; and the wave function, Ψ, constitutes all we can know and learn about the particularmolecular system represented by .
For small molecules, the accuracy of solutions to the Schrödinger
equation competes with the accuracy of experimental results.
However, these accurate ab initio or DFT calculations require enormous computation and are only suitable for the molecular systems

Quantum Mechanics

227

Backgroundwith small or medium size. Ab initio or DFT calculations for verylarge molecules are beyond the realm of current computers, so
HyperChem also supports semi-empirical quantum mechanics
methods. Semi-empirical approximate solutions are appropriate
and allow extensive chemical exploration. The inaccuracy of theapproximations made in semi-empirical methods is offset to adegree by recourse to experimental data in defining the parametersof the method. Indeed, semi-empirical methods can sometimes bemore accurate than some poorer ab initio methods, which require
much longer computation times.
In making certain mathematical approximations to the
Schrödinger equation, we can equate derived terms directly toexperiment and replace difficult-to-calculate mathematical expressions with experimental values. In other situations, we introduce
a parameter for a mathematical expression and derive values forthat parameter by fitting the results of globally calculated results
to experiment. Quantum chemistry has developed two groups ofresearchers:•

Those who fairly successfully obtain improved a priori solutions, but are restricted to relatively small molecules.

•

Those who want to explore chemistry widely with tools thatare not always reliable, but which suggest many chemicallyinteresting possibilities.

Obviously, the ab initio or DFT method in HyperChem is suitable
for the former and the semi-empirical methods are more appropriate for the latter.

Charge and Multiplicity
Once you make a set of approximations and introduce a set ofparameters, you have an a priori method (a model of chemistry) for
exploring arbitrary molecular systems. The input to these calculations is relatively straightforward: it consists of describing thenumber of nuclei, atomic number and position or configuration of
the nuclei, and indicating how many electrons are to be added tothe system of nuclei. This last input essentially describes the total
charge of the system. For example, in a singly charged anion, there
is one more electron than there is total nuclear charge; thus the
charge on the system is –1. The charge of the system is a principal
input quantity.
228

Chapter 12

Independent Electron Methods

Secondly, you must describe the electron spin state of the system
to be calculated. Electrons with their individual spins of s =1/2 cani
combine in various ways to lead to a state of given total spin. The
second input quantity needed is a description of the total spin
S=Σs . Since spin is a vector, there are various ways of combiningi
individual spins, but the net result is that a molecule can have spin
S of 0, 1/2, 1, .... These states have a multiplicity of 2S+1 = 1, 2, 3,...,that is, there is only one way of orienting a spin of 0, two waysof orienting a spin of 1/2, three ways of orienting a spin of 1, andso on.
To define the state you want to calculate, you must specify themultiplicity. A system with an even number of electrons usually
has a closed-shell ground state with a multiplicity of 1 (a singlet).
A system with an odd number of electrons (free radical) usually has
a multiplicity of 2 (a doublet). The first excited state of a systemwith an even number of electrons usually has a multiplicity of 3 (atriplet). The states of a given multiplicity have a spectrum of states—the lowest state of the given multiplicity, the next lowest state of
the given multiplicity, and so on.

Independent Electron Methods
The simplest approximation to the Schrödinger equation is anindependent-electron approximation, such as the Hückel methodfor π-electron systems, developed by E. Hückel. Later, others, principally Roald Hoffmann of Cornell University, extended the
Hückel approximations to arbitrary systems having both π and σelectrons—the Extended Hückel Theory (EHT) approximation.
This chapter describes some of the basics of molecular orbital theory with a view to later explaining the specifics of HyperChem
EHT calculations.

The Independent Electron Approximation
Within the Born-Oppenheimer approximation discussed earlier,
you can solve an electronic Schrödinger equationelec Ψ elec = E elec Ψ elec(45)

for Ψelec, which describes the motion and position of electrons ina molecule. The independent electron approximation assumes
Quantum Mechanics229

Independent Electron Methods

that

elec, collectively describing all electrons, can be approximated as a sum of effective one-electron Hamiltonians, ieff:
elec =

∑i i

eff

(46)

Molecular Orbitals
Electrons are identical, and each term in this sum is essentially thesame operator. You can then solve an independent-electron
Schrödinger equation for a wave function ψ, describing an individual electron:eff ψ = εψ(47)Multiple solutions ψ and ε are possible for this last equation. Theiiwave functions for individual electrons, ψi, are called molecularorbitals, and the energy, ε , of an electron in orbital ψi is called theiorbital energy.
The molecular orbitals describe an electron such that the values ofψi2(r) dr at a point r describe the probability of the electron being
in a small volume dr around that point. The total probability offinding the electron somewhere is∫ ψi2 ( r )dr = 1(48)

which says that the molecular orbitals are normalized.

Orbital Energy Diagrams
You can order the molecular orbitals that are a solution to equation (47) according to their energy. Electrons populate the orbitals,
with the lowest energy orbitals first. A normal, closed-shell,
Restricted Hartree Fock (RHF) description has a maximum of twoelectrons in each molecular orbital, one with electron spin up and
one with electron spin down, as shown:

230

Chapter 12

Independent Electron Methods

Ψ5Ψ 4 = LUMO

Ψ 3 = HOMO
Ψ2
Ψ1

If the number of electrons, N, is even, you can have a closed shell(as shown) where the occupied orbitals each contain two electrons. For an odd number of electrons, at least one orbital must be
singly occupied. In the example, three orbitals are occupied byelectrons and two orbitals are unoccupied. The highest occupied
molecular orbital (HOMO) is ψ3, and the lowest unoccupied
molecular orbital (LUMO) is ψ4. The example above is a singlet, astate of total spin S=0. Exciting one electron from the HOMO to
the LUMO orbital would give one of the following excited states:•

Total spin S=0 (a singlet) if the spins remained the same.

•

Total spin S=1 (a triplet) if a spin-down electron in the HOMO
was promoted to be a spin-up electron in the LUMO. That is,
the spin of one of the electrons was reversed when exciting itfrom the HOMO to the LUMO.

•

If you add a single electron to the LUMO orbital above to create an anion, you obtain total spin S=1/2 (a doublet).

The MO-LCAO Approximation
To compute molecular orbitals, you must give them mathematicalform. The usual approach is to expand them as a linear combination of known functions, such as the atomic orbitals of the constituent atoms of the molecular system. If the atomic orbitals, (1s, 2s,2px, 2py, 2pz, etc.) are denoted as φ , then this equation describesµ
the molecular orbitals as linear combination of atomic orbitals(MO-LCAO):
Quantum Mechanics

231Independent Electron Methods

ψi =∑ν Cν i φν(49)

where the elements of a matrix C are the coefficients in the expansion.

The Matrix equations for the Molecular Orbitals
Now that you know the mathematical form, you can solve theindependent-electron Schrödinger equation for the molecularorbitals. First substitute the LCAO form above into equation (47)on page 193, multiply on the left by φ and integrate to representµthe problem in terms of the matrix elements of a matrix H,
H µν =∫ φµ H effφν dτ

The overlap between two atomic orbitals φ and φ ,
µ
ν

232

Chapter 12(50)

Independent Electron Methods

0 < Overlap < 1

φ

µ

φ

ν

defines the elements of a matrix S,
S µν =∫ φµ φν dτ

(51)

and the independent electron Schrödinger equation (47) reduces
to the following matrix equation:(52)

HC = SCε

where ε is a diagonal matrix of the orbital energies,
ε ij = ε i δ ij

δ ij is 1 (i equal j) or 0 (i not equal j)(53)

Solving for the Molecular Orbitals
Solving the previous matrix equation for the coefficients C
describing the LCAO expansion of the orbitals and orbital energies
ε requires a matrix diagonalization. If the overlap matrix were aunit matrix (Σ = δ ), then you would simply diagonalize theµνµν
matrix H to yield the eigenvectors C (the matrix of the diagonalizing unitary transformation), the eigenvalues ε, and the resulting
diagonal elements of H:
C t HC = ε(54)Because of the presence of the overlap matrix, however, you mustfirst diagonalize the overlap matrix:
U t SU = s(55)then form s-1/2 as the diagonal matrix with elements(s-1/2)ii = [(s)ii] -1/2
Quantum Mechanics

233

Self-Consistent Field Methods

and the nondiagonal matrix S -1/2 by the reverse transformation:S – 1 ⁄ 2 = Us – 1 ⁄ 2 U

t

(56)

Finally, you must diagonalize S -1/2 H S -1/2 to obtain the molecularorbitals and orbital energies:t( S 1 / 2 C ) ( S – 1 ⁄ 2HS – 1 ⁄ 2) ( S 1 / 2 C ) = ε(57)

Self-Consistent Field Methods
In the true independent-electron methods you only have to obtainthe matrix elements H of some quite unspecified effective oneµν
electron Hamiltonian eff. These matrix elements, as in Extended
Hückel Theory, can be quite empirical. The Hartree-Fock procedure
or Self-Consistent Field (SCF) method, however, introduces very
well defined mathematical approximations to end up with a oneelectron eigenvalue problem, but one which must be solved iteratively to self-consistency.

Hartree-Fock Method
While the equations of the Hartree-Fock approach can be rigorously derived, we present them post hoc and give a physicaldescription of the approximations leading to them. The HartreeFock method introduces an effective one-electron Hamiltonian, ,as in equation (47) on page 193:
ψi = εi ψi(58)

but here the Fock operator, , depends implicitly upon the solutions ψ . The Fock operator is a sum of the kinetic energy operator
ifor an electron, a potential that a single electron would feel coming from the fixed nuclei, and an average of the effects of all theother N-1 electrons.
The procedure is as follows:
1. Guess the position of each electron, that is, you guess each
occupied orbital ψ .
i234

Chapter 12

Self-Consistent Field Methods

2. Guess the average potential that a specific electron would feelcoming from the other electrons; that is, you guess at the Fock
operator.
3. Solve equation (58) for a new guess at the positions of the electrons.
4. Repeat the procedure until the wave function for an electron
is consistent with the field that it and the other electrons produce.

The Roothaan equations
The preceding discussion means that the Matrix equations alreadydescribed are correct, except that the Fock matrix, F, replaces theeffective one-electron Hamiltonian matrix, and that F depends on
the solution C:
F ( C )C = SCε(59)

These are the Roothaan SCF equations, which clearly can be solved
iteratively—guess C, form F, diagonalize to a new C, form a new
F,..., and so on.
If you define a density matrix P by summing over all occupied
molecular orbitals:
occ

P µν =∑ Cµ i Cν i

(60)

i

then the rigorous definition of the Fock matrix is

F µν = H µν +∑1P λσ ( µν λσ ) – --- ( µλ νσ )
2

(61)

λσ

where His a true one-electron Hamiltonian representing theµν
kinetic energy and interaction of a single electron with the core of
all the nuclei, and (µν|λσ) is a so-called two-electron integral. The
simpler two-electron integrals are easy to interpret: (µµ|νν) is justthe Coulomb repulsion between one electron described by theprobability φ 2 and another electron described by the probabilityµQuantum Mechanics

235

Self-Consistent Field Methods

φ 2, but others are less intuitive. The density matrix describes theνtotal probability of finding an electron such that
ρ ( r )dr =P µν φ µ ( r )φ ν ( r )dr
∑
µν

(62)

is the probability of finding an electron in the small volume element dr about the point r.

Spin Pairing
The Roothaan equations just described are strictly the equations
for a closed-shell Restricted Hartree-Fock (RHF) description only, as
illustrated by the orbital energy level diagram shown earlier. To be
more specific:•

A closed-shell means that every occupied molecular orbital
contains exactly two electrons.

•

A restricted Hartree-Fock description means that spin-up andspin-down electrons occupy the same spatial orbitals ψ —thereiis no allowance for different spatial orbitals for different electron spins.

The occupancy can be described byψ 1 ( 1 )ψ 1 ( 2 )ψ 2 ( 3 )ψ 2 ( 4 )ψ 3 ( 5 )ψ 3 ( 6 )(63)

The notation here means that electron 1 occupies a spatial orbital
ψ1 with spin up (no bar on top); electron 2 occupies spatial orbital
ψ with spin down (a bar on top), and so on. An RHF description
1of the doublet S=1/2 state obtained by adding an electron to ψ4
would be
ψ 1 ( 1 )ψ 1 ( 2 )ψ 2 ( 3 )ψ 2 ( 4 )ψ 3 ( 5 )ψ 3 ( 6 )ψ 4 ( 7 )(64)

Conversely, an unrestricted Hartree-Fock description implies that
there are two different sets of spatial molecular orbitals: thosemolecular orbitals, ψ α, occupied by electrons of spin up (alphaispin) and those molecular orbitals, ψ β, occupied by electrons ofispin down (beta spin) as shown next.
236

Chapter 12

Self-Consistent Field Methods

β

Ψ5

α
Ψ4

β

Ψ 4 LUMOα

HOMO Ψ 4

β

α

Ψ3

Ψ2

α

Ψ2

α

Ψ1

Ψ3

β

β

Ψ1

Notice that the orbitals are not paired; ψiα does not have the sameenergy as ψiβ. An unrestricted wave function like this is a natural
way of representing systems with unpaired electrons, such as the
doublet shown here or a triplet state:ψ 1 ( 1 )ψ 1 ( 2 )ψ 2 ( 3 )ψ 2 ( 4 )ψ 3 ( 5 )ψ 4 ( 6 )(65)This last Restricted Hartree-Fock (RHF) state, if allowed to go unrestricted, would probably result in the following UHF state:
α

β

α

β

α

α

ψ 1 ( 1 )ψ 1 ( 2 )ψ 2 ( 3 )ψ 2 ( 4 )ψ 3 ( 5 )ψ 4 ( 6 )(66)with different orbitals for different spins. The equations to calculate these unrestricted molecular orbitals are generalizations of the
Roothaan equations as first given by Pople and Nesbet.

Pople-Nesbet Unrestricted equations
The Roothaan equations are the basic equations for closed-shell
RHF molecular orbitals, and the Pople-Nesbet equations are thebasic equations for open-shell UHF molecular orbitals. The PopleNesbet equations are essentially just the generalization of the
Roothaan equations to the case where the spatials ψiα andψiβ, asshown previously, are not defined to be identical but are solved
independently.
These two cases are sufficient to cover all situations, but many theoretical scientists prefer an RHF description over a UHF descrip-

Quantum Mechanics

237

Self-Consistent Field Methods

tion. A UHF wave function has certain undesirable characteristics
as described below. The problem of defining and computing RHF
descriptions for open-shell cases, however, is somewhat severe andit is usually necessary to indicate explicitly how open-shell RHF
calculations are obtained (in HyperChem, they are obtained via
the half-electron approximation). The UHF approximation can beapplied universally without such considerations.
The unrestricted approach defines two different sets of spatial
molecular orbitals—those that hold electrons with spin up:

ψ iα =∑

C ναi φ ν(67)νand those that hold electrons with spin down:ψ iβ =∑

C νβi φ ν

(68)ν

The two sets of coefficients, one for spin-up alpha electrons andthe other for spin-down beta electrons, are solutions of two coupled matrix eigenvalue problems:F α ( C α, C β )C α = SC α ε α(69)F β ( C α, C β )C β = SC β ε β(70)αThe two equations couple because the alpha Fock matrix F
αβdepends on both the alpha and the beta solutions, C and C (andsimilarly for the beta Fock matrix). The self-consistent dependenceof the Fock matrix on molecular orbital coefficients is best repreαβsented, as before, via the density matrices P and P , which essentially state the probability of describing an electron of alpha spin,
and the probability of finding one of beta spin:occα
P µν =∑
i

238

Chapter 12ααCµ i Cν i(71)

Self-Consistent Field Methods

occβ
P µν =

∑

β

β

(72)

Cµ i Cν ii

PT = Pα + Pβ

α = Hα +
F µν
µν

(73)

∑

T ( µν λσ ) – P α ( µλ νσ )
P λσ
λσ

(74)

∑

T ( µν λσ ) – P β ( µλ νσ )
P λσ
λσ

(75)

λσ

β = Hβ +
F µν
µν

λσ

The equations and Roothaan equations are solved by the same
techniques.

Convergence
The solution of the RHF or UHF equations is an iterative procedure
with two principal issues. First is the question of what to use for an
initial guess and second, whether the solutions will converge
quickly or at all. The initial guess affects the convergence also, as
an exact guess would immediately converge.
An initial guess could be couched in terms of an initial guess at one
of C, P, or F, which are equivalent starting points for the CPFCPF...
procedure. The simplest initial guess is to set P = 0 or equivalently,
F = H. This is referred to as using the core Hamiltonian for an initial
guess. HyperChem uses something very similar to this for an initial guess for the ab initio and semi-empirical methods. Alternatively, HyperChem offers some other methods, such as the projected Hückel, projected CNDO, and projected INDO, for an initial
guess of MO for ab initio calculations.
The convergence of SCF interactions is not always successful. In
the simplest iteration procedure, iterations proceed without theaid of either an external convergence accelerator or an extrapolator. This often leads to slow convergence.

Quantum Mechanics

239

Self-Consistent Field Methods

Thus, HyperChem occasionally uses a three-point interpolation of
the density matrix to accelerate the convergence of quantum
mechanics calculations when the number of iterations is exactly
divisible by three and certain criteria are met by the density matrices. The interpolated density matrix is then used to form the Fockmatrix used by the next iteration. This method usually accelerates
convergent calculations. However, interpolation with the
MINDO/3, MNDO, AM1, and PM3 methods can fail on systems
that have a significant charge buildup.
When three-point interpolation fails to yield a convergent calculation, you can request a second accelerator for any SCF calculation
via the Semi-empirical Options dialog box and the Ab Initio
Options dialog box. This alternative method, Direct Inversion in
the Iterative Subspace (DIIS), was developed by Peter Pulay [P.
Pulay, Chem. Phys. Lett., 73, 393 (1980); J. Comp. Chem., 3,556(1982)]. DIIS relies on the fact that the eigenvectors of the density and Fock matrices are identical at self-consistency. At SCF convergence, the following condition exists[P ⋅ F] = 0(76)

The extent to which this condition does not occur is a measure ofdeviance from self-consistency. The DIIS method uses a linear
combination of previous Fock matrices to predict a Fock matrix
that minimizes [ P ⋅ F ] . This new Fock matrix is then used by the
SCF calculation.
The DIIS method is not without cost. A history of Fock matrices
must be maintained and appropriate memory allocated. In addition, the computational cost of generating a new Fock matrix issignificant. Also, in very rare cases, the solution found by thismethod is very different from that found in other ways.

Spin Pairing—Restricted or Unrestricted?
You will need to decide whether or not to request Restricted (RHF)
or Unrestricted (UHF) Hartree-Fock calculations. This question
embodies a certain amount of controversy and there is no simple
answer. The answer often depends simply on which you prefer orwhat set of scientific prejudices you have. Ask yourself whether
you prefer orbital energy diagrams with one or two electrons per
orbital.

240

Chapter 12

Self-Consistent Field Methods

To consider the question in more detail, you need to consider spin
eigenfunctions. If you have a Hamiltonian and a many-electron
spin operator , then the wave function Ψ for the system is ideallyan eigenfunction of both operators:
Ψ = EΨ

(77)

2Ψ =

(78)

( + 1 )ΨThe functions that are exact eigenvalues of the spin operator aredescribed as singlet (S=0), doublet (S=1/2), and so on. One schoolof thought says that since we can't obtain exact eigenvalues of ,we should try to ensure that our wave functions are exact eigenvalues of 2, which we can easily do for RHF wave functions. UHFwave functions relax the restriction of being exact eigenvalues of
2 for a lower energy E. A singlet UHF wave function, for example,
might have a value of S=0.06 and almost be a singlet. Because electron spins are not exactly paired (electrons of opposite spin occupy
different spatial orbitals), an exact spin state is not obtained. Nevertheless, UHF wave functions have lower energy than their RHF
counterparts. A second school of thought uses the variational principle to justify that UHF wave functions are better solutions (given
their better energy).
Of the two, the UHF method provides a more continuous and universal model for chemistry. That is, you can obtain an unrestrictedwave function more easily in various chemical situations than you
can a restricted solution. An RHF solution for arbitrary bonding
situations is sometimes hard to obtain. An example of this is thetwo-electron bond of, say H , as you stretch and break the bond.
2
At normal bond lengths, the molecule is described as a singlet withtwo electrons occupying the same spatial molecular orbital. As you
stretch and break the bond, however, the two electrons are certainly not best described as having the same spatial distribution—
one electron should be on one hydrogen atom (a doublet) and theother electron on the other hydrogen atom (a second spin doublet). You cannot describe two hydrogen atoms by an RHF wave
function with both electrons occupying the same spatial orbital; if
you do, the hydrogen molecule does not dissociate correctly when
you lengthen the bond. A UHF description of H , however, will2
dissociate correctly, and a UHF wave function with separate-orbitals-for-separate-spins can describe two isolated hydrogen atoms.
At normal bond lengths, the UHF solution usually degenerates tothe situation where the two spatial orbitals become identical. The
UHF solution for H , for example, has a smooth potential energy
2
Quantum Mechanics

241Self-Consistent Field Methods

surface with no abnormalities. This makes a UHF computation
desirable for studying chemical reactions involving the breaking ofbonds. Such bond breaking can be poorly handled by RHF wave
functions unless the reaction has no change in spin pairing as itproceeds.
A UHF wave function may also be a necessary description whenthe effects of spin polarization are required. As discussed in “Differences Between INDO and CNDO,” a Restricted Hartree-Fockdescription will not properly describe a situation such as the
methyl radical. The unpaired electron in this molecule occupies ap-orbital with a node in the plane of the molecule. When an RHF
description is used (all the s orbitals have paired electrons), thenno spin density exists anywhere in the s system. With a UHF
description, however, the spin-up electron in the p-orbital interacts differently with spin-up and spin-down electrons in the s system and the s-orbitals become spatially separate for spin-up andspin-down electrons with resultant spin density in the s system.

Electronic States
HyperChem describes electronic states by their spin state (multiplicity, 2S+1) as either singlet (S=0, 2S+1=1), doublet (S=1/2,
2S+1=2), triplet (S=1, 2S+1=3), or quartet (S=3/2, 2S+1=4). Think ofthese states as having 0,1, 2, or 3 unpaired electrons. An even number of electrons can lead to a singlet or a triplet, while an odd numberof electrons leads to a doublet or a quartet. HyperChem does not
explicitly consider states of higher multiplicity, such as quintets,ad so on. The ground state (state of absolutely lowest energy) is notnormally a quartet, but can commonly be a singlet, doublet, or a
triplet. All other states are excited states. Systems with an evennumber of electrons commonly have a singlet ground state, but atriplet ground state is also possible depending on the arrangementof the molecular orbitals. For example, one of the first successes ofmolecular orbital theory was to explain why the O oxygen mole2
cule has a triplet ground state (the HOMO orbitals are degenerate
and occupied by two electrons). Molecules with an odd number ofelectrons (free radicals) generally have a doublet ground state.
HyperChem semi-empirical methods usually let you request a calculation on the lowest energy state of a given multiplicity or the next
lowest state of a given spin multiplicity. Since most molecules with aneven number of electrons are closed-shell singlets without

242

Chapter 12

Self-Consistent Field Methods

unpaired electrons, only the lowest triplet is made available andthe next lowest triplet stated is grayed. For example, benzene hasan even number of electrons and the ground state is a closed-shell
singlet. You can request this ground state (the lowest singlet), thefirst excited singlet state (next lowest singlet), or the first excitedtriplet state (the lowest triplet). That is, either the highest occupied
molecular orbital (HOMO) is occupied by two electrons or one
electron is in the HOMO and one is in the lowest unoccupied
molecular orbital (LUMO) leading to excited singlet or triplet
states. For doublets and quartets, only the lowest state of the given
multiplicity is available as an option.
For open-shell RHF semi-empirical calculations, the half-electron
method [H. C. Longuet-Higgins and J. A. Pople, Proc. Phys. Soc., 68,
591 (1955)] recommended by Dewar [M. J. S. Dewar and S.
Olivella, J. Chem. Soc. Fara. II, 75, 829 (1979)]. It is used in the
MOPAC and AMPAC series of programs [J. J. P. Stewart, Quantum
Chem. Prog. Exchange Bull., 10(4), 86 (1990); Dewar ResearchGroup, Quantum Chem. Prog. Exchange Bull., 7(2), 85 (1987)] inwhat amounts to a closed-shell calculation. For example, if thelowest doublet is requested, the orbital holding the unpaired electron is actually occupied by two 1/2-electrons with opposite spin.
This is so that the full standard machinery of closed-shell HartreeFock calculations can be used to determine the orbitals. A correction is then made to the closed-shell SCF energy to properly represent the doublet state. For molecules with an even number of electrons and a closed-shell ground state this means that the firstexcited singlet and triplet states have the same orbitals—both
being computed by pairs of 1/2-electrons in the HOMO and LUMO
orbitals. The correction applied to obtain the energy of the 1/2electron states, however, leads to the triplet being lower than the
singlet, because of the exchange effect (described earlier in conjunction with the difference between CNDO and INDO).
The UHF option allows only the lowest state of a given multiplicity
to be requested. Thus, for example, you could explore the lowest
Triplet excited state of benzene with the UHF option, but could
not ask for calculations on an excited singlet state. This is because
the UHF option in HyperChem does not allow arbitrary orbital
occupations (possibly leading to an excited single determinant ofdifferent spatial symmetry than the lowest determinant of thesame multiplicity), nor does it perform a Configuration Interaction (CI) calculation that allows a multitude of states to be
described.

Quantum Mechanics

243

Self-Consistent Field Methods

For the RHF option, you can request a Configuration Interaction(CI) wave function. These calculations start with a set of computed
RHF orbitals, either from the lowest singlet (doublet) or from thehalf electron singlet and triplet (doublet and quartet) orbitals. Thisinitial calculation is referred to as the reference state. From this reference state, a set of microstates (different single determinants
shown in an orbital energy diagram as different occupancies of theorbitals) is generated. These microstates are generated by promoting electrons from occupied orbitals closest to the HOMO orbital
into unoccupied orbitals closest to the LUMO orbital until the lowest. Either an orbital criterion or energy criterion can be used to
select microstates. A more accurate set of states is then obtained bytaking appropriate linear combinations of these microstates. The
coefficients of these microstates in the new, more accurate states
are obtained by a diagonalization of the Hamiltonian matrix (theCI calculation). The states resulting from the CI calculation can all
be inspected in the log file. The CI calculation takes a considerably
longer time to obtain than the simple Hartree-Fock (SCF) calculations, and you should use the CI option only if you are prepared
to wait for the (possibly) more accurate results.
Thus, in HyperChem a state is described for calculation in thissequence:
1. Define the multiplicity in the Semi-empirical Options dialog
box or the Ab Initio Options dialog box.
2. Request one of two computational procedures, either RHF or
UHF.
3. Request either the lowest energy state of the specified multiplicity or the next lowest energy state for semi-empirical calculations.
4. Request configuration interaction, if you want it.
Optimization and molecular dynamics cannot be performed whenusing configuration interaction. When a configuration interaction
calculation is performed, gradients of the energy (and hencegeometry optimization and molecular dynamics) are not available.
For these cases, any geometry optimization should be done withanother state or procedure, and then the configuration interaction
calculation requested only to obtain spectral information, such asa ultraviolet-visible spectrum.

244

Chapter 12

Post Self-Consistent Field Calculations

Post Self-Consistent Field Calculations
Configuration Interaction
For some systems a single determinant (SCF calculation) is insufficient to describe the electronic wave function. For example, squarecyclobutadiene and twisted ethylene require at least two configurations to describe their ground states. To allow several configurations to be used, a multi-electron configuration interaction technique has been implemented in HyperChem.
Electronic spectroscopy requires the consideration of multiple
electronic states for the same configuration of the nuclei. Configuration interaction is a procedure for generating and mixing many
configurations (Slater determinants) together to arrive at a description of not only the ground state, but many excited states of a molecule. To a first approximation, only singly-excited configurations
are needed to describe excited electronic states.
HyperChem uses single determinant rather than spin-adapted
wave functions to form a basis set for the wave functions in a configuration interaction expansion. That is, HyperChem expands a
CI wave function, Φa, in a linear combination of single Slater
determinants Ψi
Φa =∑i Cia Ψi(30)

The expansion coefficients Cia are determined by solving the CI
secular equation(31)

HC = CE

where E is the eigenvalue vector and represents the energies of the
CI states.
The single Slater determinants are generated by taking an electronfrom one of the specified occupied orbitals of the ground reference
state and placing that electron into one of the specified unoccupied orbitals (of the ground state). The Slater determinants that are
mixed together in the CI calculation are completely specified bygiving the occupied and unoccupied orbitals to use in generating
the configuration, as specified in the Configuration Interaction
dialog box.

Quantum Mechanics

245

Post Self-Consistent Field Calculations

The elements of the CI matrix are:ˆ |Φ 〉〈Φˆ a| Hb(32)

Evaluation of the CI matrix elements is somewhat difficult. Fortunately, most matrix elements are zero because of the orthogonalityof the MOs. There are only three types of non-zero elements which
are needed to be computed.
1) Diagonal elements:
ˆ |Φ 〉〈Φˆ a| Ha(33)2) Off-diagonal elements:
ˆ |Φ 〉〈Φˆ a| Hb(34)

where Φa = Φb except that Ψi in Φa is replaced by Ψj in Φb.
3) Off-diagonal elements:
ˆ |Φ 〉〈Φˆ a| Hb(35)

where Φa = Φb except that Ψi and Ψj in Φa are replaced by Ψk andΨl in Φb.
Once the CI expansion coefficients are available, the expectation
values of the Sˆ operator can be obtained by22〈Φˆ a| Sˆ |Φ b〉(36)

For the details of calculation for the matrix elements of operator Hˆ
and expectation values of Sˆ in equations (33) to (36), please see J.
P. Stewart, J. Comp. Aided Mol. Design, 4, 1 (1990).
2

MP2 Correlation Energy
Configuration interaction (CI) is a systematic procedure for going
beyond the Hartree-Fock approximation. A different systematic
approach for finding the correlation energy is perturbation theory(Rayleigh-Schrödinger many-body perturbation theory __ RSPT).
In this approach, the total Hamiltonian of the system is divided or
partitioned into two parts: a zeroth-order part, H0 (which has
246

Chapter 12

Post Self-Consistent Field Calculations

known eigenfunctions and eigenvalues), and a perturbation, V.
The exact energy is then expressed as an infinite sum of contributions of increasing complexity. The expressions for these contributions contain the eigenvalues of H0 and matrix elements of theperturbation between the eigenfunctions of H0. By introducing
the ordering parameter λ, the total Hamiltonian can be written as
H = H + λV

(37)

The exact eigenfunctions and eigenvalues can now be expanded ina Taylor series in λ.
(0)

+ λΨ

(0)

(1)

Ψλ = Ψ
Eλ = E

+ λE

(1)

2

+λ Ψ

(2)

2 (2)

+λ E

+…

(38)

+…

(39)

If H0 is chosen wisely, then the perturbation is small and the perturbation expansion (i.e., the sum of the 1st, 2nd, ..., nth-orderenergies) converges quickly. To obtain a perturbation expansion
for the correlation energy, the best way is to choose the HartreeFock Hamiltonian as the zeroth-order Hamiltonian. The application to N-electron molecular systems is sometimes called MøllerPlesset (MP) perturbation theory. These methods, which can beterminated at second (MP2), third (MP3), or fourth order (MP4),
with these three being the most frequently used in different ab initio programs, calculate the correlation energy and rely on a good
description of the virtual orbitals in the original SCF function. The
calculated total correlation energy is therefore quite dependent on
the quality of the basis set.
Møller-Plesset calculations do not give the full correlation energy,
and MP2 is estimated to give only about half of the total correlation energy. They, however, are very fast in comparison with configuration interaction calculations and appear to reproduce wellthe energetic effects of correlation. The MP2 method probably represents the simplest approximation for the correlation energy. The
MP2 energy is given by
E

(2)

= –

∑
ar

V ar V ra----------------------(0)(0)εa – εr(40)

Quantum Mechanics

247

The Neglect of Differential Overlap Approximation

where εa and εr are the eigenvalues of the occupied and unoccupied MOs of the zero-order Hamiltonian and Var are the matrix elements of the perturbation Hamiltonian operator.
The amount of computation for MP2 is determined by the partial
transformation of the two-electron integrals, what can be done ina time proportionally to m4 (m is the number of basis functions),
which is comparable to computations involved in one step of CID(doubly-excited configuration interaction) calculation. To savesome computer time and space, the core orbitals are frequently
omitted from MP calculations. For more details on perturbation
theory please see A. Szabo and N. Ostlund, Modern Quantum Chemistry, Macmillan, New York, 1985.
HyperChem supports MP2 (second order Møller-Plesset) correlation energy calculations using any available basis set. In order tosave main memory and disk space, the HyperChem MP2 electron
correlation calculation normally uses a so called “frozen-core”
approximation, i.e. the inner shell (core) orbitals are omitted. A
setting in CHEM.INI allows excitations from the core orbitals to be
include if necessary (melted core). Only the single point calculation is available for this option.

The Neglect of Differential Overlap Approximation
The principal semi-empirical schemes usually involve one of two
approaches. The first uses an effective one-electron Hamiltonian,where the Hamiltonian matrix elements are given empirical orsemi-empirical values to try to correlate the results of calculations
with experiment, but no specified and clear mathematical derivation of the explicit form of this one-electron Hamiltonian is available beyond that given above. The extended Hückel calculations
are of this type.
The second approach is based on an explicit mathematical approximation: the neglect of certain differential overlap terms. Thisapproximation is not necessarily a valid one in any or all instances
but can be justified to an extent. These approximations are offset
by introducing empirical parameters and then using the new
approximate form of the Schrödinger equation with its adjustableparameters as a fitting procedure for experimental results. A principal difficulty in any attempt to solve the Schrödinger equation
for molecules is the large number (~N4) of two-electron integrals
248

Chapter 12

The Neglect of Differential Overlap Approximation(mn|ls) that have to be computed and used in some fashion in thecomputation. These integrals are defined as( µν λσ ) =

∫

A

B

-1 C

D

φ µ ( r 1 )φ ν ( r 1 )r 12 φ λ ( r 2 )φ σ ( r 2 )dr 1 dr 2

(79)

where φ A is an atomic orbital centered at atom A. In general, theseµintegrals involve atomic orbital basis functions φ on four differµ
ent centers A, B, C, and D. The principal function involved can beconsidered to be the two-center charge distribution, φ A φ B,µ ν
which when integrated is the overlap integral
S µν =

∫

A

(80)

B

φ µ ( r 1 )φ ν ( r 1 )dr 1<< 1 in manyµν
situations and that the overlap or its original argument under the
integrand above can be ignored or approximated in various ways.
The simplest approximation is the complete neglect of differential
overlap

The differential overlap approximation says that S

φ µ φ ν = δ µν φ µ φ µ(81)

The second basic approximation is the neglect of diatomic differential overlap
A B

A A

φ µ φ ν = φ µ φ ν δ AB

(82)

Either of these approximations lead to a great simplification of thegeneral equations, the greatest simplification being that associatedwith complete neglect of differential overlap (CNDO). An intermediate neglect of differential overlap (INDO, ZINDO/1, andZINDO/S) scheme retains some of the one-center terms and theneglect of diatomic differential overlap (NDDO) schemes keep allof the one-center terms above. The TNDO method is a version of
CNDO/INDO with parameters based on atom type rather than
atomic number. The modified INDO (MINDO/3) method andthose that are based on NDDO (MNDO, MNDO/d, AM1, and PM3)
are all available in HyperChem and are discussed extensively
below, in turn. First of all, however, we describe the results of SCF
calculations that are independent of the details of whether the speQuantum Mechanics

249

Characterizations of the Wave functioncific approximation involved is CNDO, MNDO, or some otherapproximate treatment of the general SCF equations.

Characterizations of the Wave function
When you perform a single point semi-empirical or ab initio calculation, you obtain the energy and the first derivatives of the energy
with respect to Cartesian displacement of the atoms. Since thewave function for the molecule is computed in the process, there
are a number of other molecular properties that could be available
to you. Molecular properties are basically an average over the wave
function of certain operators describing the property. For example,
the electronic dipole operator is basically just the operator for the
position of an electron and the electronic contribution to thedipole moment isµ =∑i ∫ ψi ( r )rψi ( r )dr(83)

The dipole moment for a calculation is reported and is containedin the log file if logging is turned on. It is also reported on the status line if you Display Dipole Moment on the Display menu. Other
expectation values besides the dipole moment (for example, quadrupole moment) could be reported with a wave function but the
set reported with this release of HyperChem is limited to only afew. Below we discuss the properties or other characterizations of
the calculated wave function that can be interactively visualized.

Contour Plots
HyperChem allows the visualization of two-dimensional contour
plots for a certain number of variables. These contour plots show
the values of a spatial variable (a property f(x,y,z) in normal threedimensional Cartesian space) on a plane that is parallel to thescreen. To obtain these contour plots the user needs to specify:

250

Chapter 12•

The plane to be contoured•

The contours to be shown•

The number and positioning of the grid of points on the plane
to be used in computing values of the variable

Characterizations of the Wave function

The plane is specified as a plane parallel to the screen and offset
from the center of mass of the current selection towards the user
by a specified number of Ångstroms. For example, if you make noselection and specify an offset of 0.0, the plane is through the center of mass of the whole molecular system. If you select a single
atom, again with an offset of 0.0, then the plane is that plane parallel to the screen that goes through the selected atom. If you specify an offset of 1.0 instead of 0.0, then the plane is 1.0 Å closer tothe viewer than before. You can also specify a negative offset,
which pushes the plane away from the user and into the screen.
You can specify the number and values of visible contour lines.
You specify the total number of contour lines to be shown by simple stating the number, n>0. You normally specify the values of thecontour lines as default values. For this case, HyperChem computes
the maximum and minimum values on the grid and then draws
contours at these values plus n-2 contour lines evenly spaced in
between these maximum and minimum values. If you need nondefault values, you can specify the starting value and then an
increment to define the other n-1 evenly spaced contour lines. If
default values were computed previously, HyperChem suggests thestarting value and increment of the previous default computation
for the new non-default option.
The grid of computed values for the variable used in defining thecontour is a grid of exactly the size of the current working area subdivided evenly such that the total number of grid points is as theuser specifies.
When a molecule rotates, HyperChem abandons the current contour map because it is no longer valid and you must explicitly
request a new contour map via the Graph check box.

Total Electron Density
The density matrices are a representation, in the basis set φ of theµelectron density at a point in space. The electron density ρ(r),described above by equation (62) on page 198, represents a probability distribution function (the probability of an electron being at
a particular point in space (rigorously, in a small volume dr at the
point r in ordinary three-dimensional space). The total density canbe subdivided into the probability of finding a spin-up (alpha)electron plus the probability of finding a spin-down (beta) electron:
Quantum Mechanics

251

Characterizations of the Wave function
ρT( r ) = ρα ( r ) + ρβ ( r )(84)

where the individual densities are defined to be identical in aclosed-shell RHF calculation but can be different in a UHF calculation, according to:ρ α ( r )dr =∑α φ ( r )φ ( r )dr
P µν
µ
ν

(85)

∑

β φ ( r )φ ( r )dr
P µν
µ
ν

(86)

µν

ρ β ( r )dr =µνThe neglect of diatomic differential overlap approximation used in
the semi-empirical methods reduces these formulae to much simpler formulae that can be computed quite rapidly,ρ α ( r )dr =∑α φ ( r )φ ( r )dr
P µν
µ
ν

(87)

A, µν on A

ρ β ( r )dr =∑β φ ( r )φ ( r )dr
P µν
µ
ν

(88)

A, µν on A

where the double sum is over each atom and then the orbitals onthat atom. Without this last approximation the electron density
calculation can be a long one, even longer than solving theapproximate Schrödinger equation in the first place. The reason is
the large number of grid points and the double sum over all pairsof atomic orbitals at each grid point. For ab initio and extended
Hückel calculations where no neglect of overlap (differential orotherwise) is implied in the approximations, the complete calculation is performed and requires considerable patience!
The CNDO/INDO, TNDO, MINDO/3, ZINDO/1, and ZINDO/S
methods might be expected to imply an even simpler equation for
the electron density than the above. For example, a rigorous complete neglect of CNDO approximation, suggests that equations(87) and (88) should be replaced by expressions with a sum only

252

Chapter 12

Characterizations of the Wave function

over diagonal elements of the density matrix. This would represent
a molecular charge density that is the exact sum of atomic densities. Alternatively, expectation values like the dipole moment,
computed from the this density matrix, would have only monopole charge on each atom contributions. The original authors of
the CNDO method recognized that a hybridization term (comingfrom one-center integrals combining s and p type orbitals) was
important to the dipole moment and included it as part of themethod. In order to make the electron density consistent withexpectation values and take account of these hybridization contributions to dipole moments, electrostatic fields, etc., all the semiempirical SCF methods in HyperChem use equations (87) and (88)for the electron density and associated expectation values.

Spin Density
For open-shell situations or for some closed-shell UHF situations(A UHF calculation for a normal closed-shell situation will degenerate into the closed-shell RHF solution in most cases. However, atrue UHF solution is always obtained when a bond is stretched tosuch an extent that it is clearly broken and only an unrestricted
open-shell descriptions of the two fragments is appropriate) nonzero spin densities exist and can be contoured. The definition of aclosed-shell situation has subtleties, but a simplistic definition ofit might be that the probability of finding a spin-up electron is
identical to the probability of finding a spin-down electron, everywhere in space. Thus, in contrast to the total electron density
defined as the sum of alpha and beta densities above, it is convenient to define the spin density as the difference:ρS ( r ) = ρα ( r ) – ρβ ( r )The spin density defines the excess probability of finding spin-up
over spin-down electrons at a point in space and is zero everywhere for closed-shell RHF situations. The spin density at the position of a nucleus is a prime determinant of electron spin resonance(ESR) spectra.

Orbital Plots
For many reasons, including the Woodward-Hoffman rules that
describe the likelihood of reaction based on arguments about the

Quantum Mechanics

253

Characterizations of the Wave function

shapes of orbitals, it is desirable to be able to visualize molecularorbitals.
You can use the semi-empirical and ab initio (or DFT) Orbitals dialog box in HyperChem to request a contour plot of any molecularorbital. When requested, the orbital is contoured for a plane thatis parallel to the screen and which is specified by a subset selection
and a plane offset, as described above. The index of the orbital andits orbital energy (in electron volts, eV) appears in the status line.
If a molecule is rotated by changing the position of the viewer (leftmouse button rotation) then the molecule's position in the molecular coordinate system has not changed and another contour plot
can be requested without recomputing the wave function. That is,
many orbitals can be plotted after a single point ab initio, DFT, or
semi-empirical calculation. Any contour map is available without
recomputation of the wave function.
When you request an orbital, you also request a plot of either theorbital itself or of its square. The orbital ψ is a signed quantity withinodes where the sign changes and the value of the orbital goes tozero. The nodal structure of orbitals has chemical significance. For
planar molecules you can distinguish s-orbitals which have nonzero value in the plane of the molecule from π-orbitals which havea node in the plane of the molecule. As energy increases, an orbital
generally has more and more nodes. The orbital squared represents
the probability distribution function for an electron in the orbital.
When you request an orbital, you can use the cardinal number ofthe orbital (ordered by energy and starting with number=1) or an
offset from either the highest occupied molecular orbital (HOMO)
or the lowest unoccupied molecular orbital (LUMO). Offset fromthe HOMO are negative and from the LUMO are positive. Oftenthese frontier orbitals are the ones of most chemical interest.

Electrostatic Potential
The results of electrostatic potential calculations can be used to
predict initial attack positions of protons (or other ions) during areaction. You can use the Contour Plot dialog box to request a plotof the contour map of the electrostatic potential of a molecularsystem after you done a semi-empirical, ab initio, or DFT calculation. By definition, the electrostatic potential is calculated using
the following expression:

254

Chapter 12

Characterizations of the Wave function

V(r) =∑ZA------------------–
RA – rA∫ρ ( r' )-------------dr'r' – r

The point r is the position of a positive probe charge. Z is theAnuclear charge on atom A located at position R . The function ρ(r')
A

is the electronic density. In the above equation, the first term represents the contribution of the nuclei to the electrostatic potential
and the second term is the electronic contribution. Substituting
the electron density expression:
P µν φ µ ( r )φ ν ( r )∑µνρ(r) =(89)

into the electrostatic potential expression above, the electrostatic
potential can be rewritten asV(r ) =∑ZA-----------------RA – r

A

–

∑ ∫
P µν

φ µ ( r' )φ ν ( r' )----------------------------- dr'r' – rµν(90)

The second summation is over all the orbitals of the system. Thisequation is used in HyperChem ab initio and DFT calculations togenerate contour plots of electrostatic potential. If we choose theapproximation whereby we neglect the effects of the diatomic differential overlap (NDDO), then the electrostatic potential can be
rewritten as

V(r) =

∑
A

on A

ZA
------------------–
RA – r∑ ∫P µνφ µ ( r' )φ ν ( r' )----------------------------- dr'r' – rµν(91)

The second summation of the above is over the orbitals of atom A.
HyperChem calculates the electrostatic potential using this last
expression for the semi-empirical methods.

Quantum Mechanics

255

Mixed Quantum/Classical Model

Mixed Quantum/Classical Model
You can quickly select a portion of a molecule and then treat that
portion quantum mechanically while treating the remaining portion as potential to be included as an external coulomb field in thequantum mechanical calculation. These calculations mix a quantum description (of the selected portion) with a classical (molecular mechanics) description of the point charges on the atoms of
the unsettled portion. A complete merger of the two technologies(molecular mechanics and semi-empirical quantum mechanics) is
not yet available (for performing molecular dynamics, for example, and having both the classical and quantum portions move);
however, you can perform any quantum mechanical calculation
on a selected portion of a molecule and have the remaining portion included (as a potential in the one-electron Hamiltonian
matrix H).
Two basic issues must be solved in order to perform such calculations.
•

How to decide on or form the boundary between the classicalportion and the quantum portion. (Alternatively, you may ask
which atoms will be quantum atoms and which will be classical atoms?)•

How to cap the quantum calculation so that there are no dangling electrons or bonds in the quantum mechanical calculation while still preserving the desired effect of the classical portion (which is now there, only in principle!).

Choosing the Classical–Quantum Boundary
HyperChem assumes that it is easiest for you to just use subset
selection to select that portion of the molecular system that is tobe treated quantum mechanically. You can then extend the initial
selection to form a convenient and universally acceptable boundary. Thus, you make a simple selection of atoms for the first pass atselecting the quantum mechanical portion. The selected atoms arequantum atoms and the unselected atoms are classical atoms.
If you request a semi-empirical quantum mechanical calculation
now, HyperChem carries on as well as possible (as described below)
in choosing how the atoms for quantum mechanical calculation iscapped. If, however, an aromatic benzene ring (with delocalized
256

Chapter 12

Mixed Quantum/Classical Modelbonds, for example), has partially quantum atoms and partiallyclassical atoms, it may be difficult for HyperChem to create a sensible result, although it will certainly try. A special menu item,
Extend to sp3, extends the selection outwards until it finds one of
the following:•

The end of the molecule. Two atoms not part of the same connected molecule must be in separate molecules. Coming to theend of the molecule means reaching a terminal atom of themolecule such as a mono-coordinated hydrogen or fluorine, acarbonyl oxygen, etc.

•

An sp3-sp3 single bond where the outside atom in the bond is
not a mono-coordinated terminal atom such as hydrogen or
fluorine.

The menu setting results in a boundary between the classicalregion and the quantum region that is either intermolecularor occurs in the middle of an sp3-sp3 single bond. As described
below it will be easy for HyperChem to cap the quantum region if
it ends this way.

Quantum Mechanics

257

Mixed Quantum/Classical Model(classical atom to be replaceby capping atom)O

sp3-sp3 single bond(quantum atom)C

Quantum
RegionClassical Region

Because it is desirable to break a peptide this way, some flexibility
is required in the rigorous definition of sp3-sp3 single bond. In particular, the dative C -N bond in the backbone of a peptide is conαsidered to be such a bond since the definition is based on the number of neighbors — four for carbon, three for nitrogen, two for
Oxygen, etc. If this were not the case, you couldn't break a protein
into classical and quantum regions at all.

Capping Atoms and their Parameters
Having found a place (the sp3-sp3 bond) to establish the boundary
between classical atoms and quantum atoms, the next question is
how to cap the quantum atoms. Let's first of all look at an illustrative example of the problem.
Consider an Alanine residue in a protein, [...C —NH—CO—α
C H(CH )—NH—CO—C ...]. If you first select, for example, the3αα3CH methyl group and requested the extension to sp , the3selected quantum atoms would be the fragment [—NH—CO—

258

Chapter 12

Mixed Quantum/Classical ModelC H(CH )—]. This fragment has dangling bonds on both ends
3αand prior to performing a quantum mechanical calculation, youwish to close them off by adding a capping (mono-coordinated)
atom. The obvious choice is to add capping hydrogen atoms (H')
and perform the quantum mechanical calculation on the closedshell molecule [NHH'—CO—C H(H')(CH )].
3αThe principal other consideration, however, is that these cappinghydrogen atoms should simulate the effect of the rest of the protein that they replace, including any electronegative (electron
withdrawing) or electropositive (electron donating) effects. In
particular, the H' atoms should not be normal hydrogen atoms but
rather (for a semi-empirical framework) be false capping hydrogenatoms that are parameterized (have their own parameters) torepresent these electron withdrawing or donating effects. For
example the H' on the right hand end of the fragment above (callit HN) replaces an electronegative nitrogen and should have its
own special parameters while the H' on the left hand end of thefragment above (call it HC) replaces a relatively electroneutral carbon and should have a different set of parameters yet from theordinary H or the capping atom HN.
While these false hydrogen atoms would seem simple and convenient to use for the purposes described, experiments have shown
that, having no π-electrons, capping hydrogen atoms leave out
one principal effect of the classical atoms they replace — hyperconjugation. Hydrogen atoms can only pull or push around s-electrons
but a Fluorine, with its p-orbitals, can also pull or push around pelectrons. The bottom line is that you cannot fully simulate theeffect of the classical atoms unless you cap the quantum calculation with a false fluorine atom rather than a false hydrogen atom.
If you use specially parameterized fluorine atoms, FC, FN, FO, etc.
to cap, then the charge distribution of the real system (a quantum
calculation on the whole system) is correctly reproduced by aquantum calculation on the truncated system (selected quantum
atoms plus capping atoms).
When a selection is used to distinguish a quantum region from aclassical region and a subsequent semi-empirical calculation is performed on the quantum region, “phony” halogen atoms are used
to cap the quantum region. These pseudo-halogen atoms are either
fluorines, chlorines, bromines, or iodines depending on the row of
the periodic table represented by the “connecting” atom of the
Quantum Mechanics

259

Supported Methods

classical portion being replaced by the capping atom. Parameters
for pseudo-halogen atoms depend on the connecting atom and arelabeled by a negative atomic number in the respective *.abp files.
The parameters for pseudo-halogen atoms have only been determined for a limited number of connecting atoms (C, N, O, Si, P
and S) and only for CNDO/INDO methods. If other connecting
atoms are tried, HyperChem will usually complain that the orbital
exponent for that atom is zero since no parameters are available
and the orbital exponent in the relevant *.abp file is zero.The
parameters for these capping atoms, where known, are added tothe parameter files along with parameters for normal atoms. The
parameters, for example for FN, a capping false fluorine atom
meant as a replacement for a nitrogen (plus any other atoms
attached to the nitrogen) are indicated in the parameter file associated with atomic number -7. Atomic number +7 is used for thenormal nitrogen parameters.
Other considerations (such as mixed quantum and classical forces)
arise when considering the complete merger of two or more methodologies in the same molecular system, but since they are not yet
available in this release of HyperChem they need not be considered here.
Note: The capping atoms are only supported in the semi-empiricalquantum mechanics methods in HyperChem. If you want to use
the mixed model in the ab initio method in HyperChem, you mustselect an entire molecule or molecules without any boundary atom
between the selected and unselected regions and then carry out
the calculation.

Supported Methods
HyperChem currently supports one first-principle method (ab initio theory), one independent-electron method (extended Hückel
theory), and ten semi-empirical SCF methods (CNDO, INDO,MINDO/3, MNDO, MNDO/d, AM1, PM3, ZINDO/1, ZINDO/S, andTNDO). This section gives sufficient details on each method toserve as an introduction to approximate molecular orbital calculations. For further details, the original papers on each methodshould be consulted, as well as other research literature. References
appear in the following sections.

260

Chapter 12

Supported Methods

Ab Initio Method
Ab initio methods are characterized by the introduction of an arbitrary basis set for expanding the molecular orbitals and then the
explicit calculation of all required integrals involving this basis set.
The same is true of Density Functional (DFT) calculations andmuch of the formalism below is also valid for DFT calculations.
DFT calculations have a different effective Hamiltonian than Hartree-Fock calculations but the SCF procedure used to solve for themolecular orbitals (Kohn-Sham orbitals in one case and HartreeFock orbitals in the other case) are very similar. Density Functional
calculations are explicitly described in the next chapter and werestrict this chapter to explicit ab initio calculations. You may attimes need to mentally extend the discussion below to DFT calculations also. DFT calculations are sometimes also referred to as abinitio calculations but that terminilogy is not used here.
Ab initio calculations can be performed at the Hartree-Fock level ofapproximation, equivalent to a self-consistent-field (SCF) calculation, or at a post Hartree-Fock level which includes the effects ofcorrelation — defined to be everything that the Hartree-Fock levelof approximation leaves out of a non-relativistic solution to the
Schrödinger equation (within the clamped-nuclei Born-Oppenheimer approximation).
HyperChem performs ab initio SCF calculations generally. It also
can calculate the correlation energy (to be added to the total SCF
energy) by a post Hartree-Fock procedure call MP2 that does a
Møller-Plesset second-order perturbation calculation. The MP2
procedure is only available for single point calculations and only
produces a single number, the MP2 correlation energy, to be added
to the total SCF energy at that single point configuration of thenuclei.
HyperChem’s ab initio calculations solve the Roothaan equations(59) on page 235 without any further approximation apart fromthe use of a specific finite basis set. Therefore, ab initio calculations
are generally more accurate than semi-empirical calculations.
They certainly involve a more fundamental approach to solving
the Schrödinger equation than do semi-empirical methods.
In an ab initio method, all the integrals over atomic orbital basis
functions are computed and the Fock matrix of the SCF computation is formed (equation (61) on page 235) from the integrals. The
Fock matrix divides into two parts: the one-electron Hamiltonian
Quantum Mechanics

261

Supported Methods

matrix, H, and the two-electron matrix, G, with the matrix elements
H µν = 〈µ|H eff|ν〉

(92)

and

G µν =∑

1
P λσ ( µν λσ ) – --- ( µλ νσ )
2

(93)

λσ

respectively.
An ab initio calculation involves the calculation of the following
types of integrals:(1) Overlap integrals:
S µν = 〈µ|ν〉(94)(2) Kinetic energy integrals:
1 2
T µν = 〈µ|  – --- ∇  |ν〉
 2 

(95)

(3) Nuclear-electron attraction energy integrals:
ZA- |ν〉V µν = 〈µ| -----rA(96)(4) Electron-electron repulsion energy integrals:1( µν λσ ) = 〈µν| ------ |λσ〉
r 12

(97)

The first three types of integrals involve one or two centers. The
fourth type of integral involves up to four centers.
To this point, the basic approximation is that the total wave function is a single Slater determinant and the resultant expression of
the molecular orbitals is a linear combination of atomic orbital
basis functions (MO-LCAO). In other words, an ab initio calculation can be initiated once a basis for the LCAO is chosen. Mathematically, any set of functions can be a basis for an ab initio calculation. However, there are two main things to be considered in the
choice of the basis. First one desires to use the most efficient andaccurate functions possible, so that the expansion (equation (49)262

Chapter 12

Supported Methods

on page 232), will require the fewest possible terms for an accurate
representation of a molecular orbital. The second one is the speedof two-electron integral calculation.
The Schrödinger equation for a hydrogen atom has an exact solution for the wave function of the form exp(-αr). These Slater Type
Orbitals (STO) are good basis functions. However, it is very difficult
to calculate analytically the requisite multi-center two-electron
integrals using STO basis functions. In 1950, S. F. Boys [S. F. Boys,
Proc. Roy. Soc., A200, 542 (1950)] proposed using Gaussian functions, which are of the form exp(-αr2). With a Gaussian basis set,an MO is expanded as a linear combination of Gaussian Type
Orbitals (GTO). Each GTO is a fixed linear combination (contraction) of Gaussian functions (primitives). These contractions can bechosen, if desired, to have a GTO approximate an STO. The introduction of GTOs greatly simplifies the two-electron integral calculation, because the multi-center integrals involving GTOs can bemuch more easily computed than integrals involving STOs.

Normalized Primitive Gaussian Functions
A Guassian function is of the form2)
exp ( – αr A

where α is a constant. Boys introduced the generalized Cartesian
Gaussian function,2

m n –α rAl y z exA
A A

for basis functions. Choosing different values of l, m, and n gives
different types of Gaussian orbitals. Only the lowest principal
quantum number for any symmetry is used. That is, all s orbitals
are expanded in 1s primitive Gaussians. The normalized GTO
primitives are
1s
3--2
GF
2α 4 –α rA

φ 1s ( α, r A ) = ------- e
 π

(98)

2px

Quantum Mechanics

263

Supported Methods
1--2
 128α 5 4
–α rA
GF
φ 2p ( α, r A ) =  --------------- x A e
x
3

 π



(99)

2py
1
--2
 128α 5 4
–α rA
GF
φ 2p ( α, r A ) =  --------------- y A e
y
3

 π



(100)

2pz
1--2
 128α 5 4
–α rA
GF
φ 2p ( α, r A ) =  --------------- z A e
z
3

 π



(101)

3dxy
1
--2
 2048α 7 4
–α rA
GF
φ 3d ( α, r A ) =  ------------------ x A y A e
xy
3



π



(102)

etc.

Contracted Gaussian Functions
The contracted Gaussian functions are a linear combination of theprimitive Gaussian functions. That is,
L

CGF

φµ

( rA ) =∑ dp µ φp (αp,rA)
GF

(103)

p=1

where αp and dpµ are the exponents of the primitives and the contraction coefficients. The contracted basis functions may be chosen to approximate Slater functions, Hartree-Fock atomic orbitals,
or any other set of functions desired. Integrals involving such basis
functions reduce to the sum of integrals involving the primitive
Gaussian functions. Even though many primitive integrals mayneed to be calculated for each basis function integral, the basis
function integrals will be rapidly calculated providing that themethod of computing primitive integrals is very fast.
Usually, contractions are determined from atomic SCF calculations. In these calculations one uses a relatively large basis of
uncontracted Gaussians, optimizes all exponents, and determines
264

Chapter 12

Supported Methods

the SCF coefficients of each of the derived atomic orbitals. The
optimized exponents and SCF coefficients can then be used toderive suitable contraction exponents and contraction coefficientsfor a smaller basis set to be used in subsequent molecular calculations.

Minimal Basis Sets: STO-3G
A minimal basis set [W. J. Hehre, R. F. Stewart, and J. A. Pople, J.
Chem. Phys., 51, 2657 (1969); J. B. Collins, P. V. Schleyer, J. S. Binkley, and J. A. Pople, J. Chem. Phys., 64, 5142 (1976); R. F. Stewart,
J. Chem. Phys., 52, 431 (1970)] is a relatively inexpensive one andcan be used for calculations on quite large molecules. It is minimalin the sense of having the smallest number of functions per atom
required to describe the occupied atomic orbitals of that atom.
This is not exactly true, since one usually considers 1s, 2s, and 2p,i.e., five functions, to construct a minimal basis set for Li and Be,
for example, even though the 2p orbital is not occupied in theseatoms. The 2sp (2s and 2p), 3sp, 4sp, 3d, ..., etc. orbitals are always
lumped together as a “shell”, however. The minimal basis set thus
consists of 1 function for H and He, 5 functions for Li to Ne, 9
functions for Na to Ar, 13 functions for K and Ca, 18 functions for
Sc to Kr, ..., etc. Because the minimal basis set is so small, it generally can not lead to quantitatively accurate results. It does, however, contain the essentials of chemical bonding and many usefulqualitative results can be obtained.
Because of the small number of functions in a minimal basis set, it
is particularly important that these functions are of near optimum
form. This immediately rules out a single Gaussian function. One
would prefer to use Slater functions or functions that closely
resemble the known shape of atomic orbitals. A significant
advance in minimal basis calculations came with the developmentof computer programs like “Gaussian 70“, which could reproduce
the results of minimal basis Slater orbital calculations using contracted Gaussian functions. The STO-NG method uses a contraction of N primitive Gaussians for each basis function, where thecontraction coefficients and exponents are chosen so that the basis
functions approximate Slater functions.
In the STO-NG method, the 1s, 2s, and 2p Slater functions are
expanded in a set of primitive Gaussians

Quantum Mechanics

265

Supported Methods

NCGF

φ 1s ( ζ = 1.0 ) =∑ di, 1s φi, 1s ( αi, 1s )
GF

(104)

i=1

N

CGF

φ 2s ( ζ = 1.0 ) =∑ di, 2s φi, 1s ( αi, 2sp )
GF

(105)

i=1

N

CGF

φ 2p ( ζ = 1.0 ) =∑ di, 2p φi, 2p ( αi, 2sp )
GF

(106)

i=1

where the contraction coefficients (d’s) and exponents (α’s) are tobe obtained by a least-squares fit and N is the number of primitive
Gaussians, N = 1, 2, 3, ..., 6 corresponding to STO-1G, STO-2G,
STO-3G, ..., STO-6G.
One of the unique aspects of the STO-NG method and the fitting
procedure is the sharing of contraction exponents in 2sp, 3sp, ...,
shells. Thus the exponents in the above three equations are constrained to be identical and the 2s and 2p fits are performed simultaneously. The reason for this constraint is that if 2s and 2p functions have the same exponents, then they have the same radial
behavior, and during the radial part of the integral evaluation they
can be treated as one function. That is, all integrals involving any
sp shell are treated together and one radial integration is sufficientfor up to 256 (44) separate integrals. This grouping of basis functions by shells with shared exponents leads to considerable efficiency in integral evaluation. The general STO-NG procedure uses
contraction lengths up to N = 6. However, time spent in integral
calculations increases rapidly with the length of the contraction.
It has been empirically determined that a contraction of length 3
is sufficient to lead to calculated properties that reproduce essentially all the valence features of a Slater calculation, and STO-3G
has become a de facto standard for minimal basis calculations.
Once the least-squares fits to Slater functions with orbital exponents ζ = 1.0 are available, fits to Slater functions with other orbital
exponents can be obtained by simply multiplying the α’s in theabove three equations by ζ2. It remains to be determined what
Slater orbital exponents ζ to use in electronic structure calculations. The two possibilities may be to use the “best atom” exponents (ζ = 1.0 for H, for example) or to optimize exponents in each

266

Chapter 12

Supported Methods

calculation. The “best atom” exponents might be a rather poor
choice for molecular environments, and optimization of nonlinear exponents is not practical for large molecules, where thedimension of the space to be searched is very large. A compromise
is to use a set of standard exponents where the average values of
exponents are optimized for a set of small molecules. The recommended STO-3G exponents are
Element

ζ1s

ζ2sp

ζ3sp

H

1.24

He

1.69

Li

2.69

0.80

Be

3.68

1.15

B

4.68

1.50

C

5.67

1.72

N

6.67

1.95

O

7.66

2.25

F

8.65

2.55

Ne

9.64

2.88

Na

10.61

3.48

1.75

Mg

11.59

3.90

1.70

Al

12.56

4.36

1.70

Si

13.53

4.83

1.75

P

14.50

5.31

1.90

S

15.47

5.79

2.05

Cl

16.43

6.26

2.10

Ar

17.40

6.74

2.33

...

The Slater exponents partially listed in the table above are used for
all the STO-NG basis sets. The exponents for all the atoms with

Quantum Mechanics

267

Supported Methods

atomic numbers less than and equal to 54 are available from
HyperChem basis function *.BAS files.

Split-Valence Basis Sets
A minimal basis set has rather limited variational flexibility, particularly if exponents are not optimized. The first step in improving
the minimal basis set is so-called split valence [J. S. Binkley, J. A.
Pople, and W. J. Hehre, J. Am. Chem. Soc., 102, 939 (1980); M. S.
Gordon, J. S. Binkley, J. A. Pople, W. J. Pietro, and W. J. Hehre, J.
Am. Chem. Soc., 104, 2797 (1982); W. J. Pietro, M. M. Francl, W. J.
Hehre, D. J. Defrees, J. A. Pople, and J. S Binkley, J. Am. Chem. Soc.,
104, 5039 (1982); W. J. Hehre, R. Ditchfield, and J. A. Pople, J.
Chem. Phys., 56, 2257 (1972); P. C. Hariharan and J. A. Pople, Theor.
Chim. Acta., 28, 213 (1973); M. S. Gordon, Chem. Phys. Lett., 76,
163 (1980); R. Krishnan, J. S. Kinkley, R. Seeger, and J. A. Pople, J.
Chem. Phys., 72, 650 (1980); A. D. McLean and G. S. Chandler, J.
Chem. Phys., 72, 5639 (1980); T. H. Dunning and P. J. Hay, in Modern Theoretical Chemistry, Plenum, New York, 1976] basis set inwhich two basis functions are used for each valence atomic orbital.
Obviously, more computational time is needed by using the splitvalence technique than using the minimal basis set for the same
molecular system. However, a considerable increase in computational efficiency can be achieved if the exponents of the Gaussianprimitives are shared between different basis functions.
At the split-valence level, primitive exponents are shared betweens and p functions for the valence shells. In particular, a series ofbasis sets at the split-valence level has been defined and designated
K-LMG where K, L, and M are integers. For the atoms Li to Ne, sucha basis consists of an s-type inner-shell function with K primitive
Gaussians, an inner set of valence s- and p-type functions with L
primitive Gaussians, and another outer sp set with M Gaussians.
For the atoms Na to Ar, the basis set consists of an s-type innershell with K primitives, an sp-type inner shell functions also with
K primitives, an inner set of valence s- and p-type functions withL primitive Gaussians, and another outer sp set with M Gaussians.
For hydrogen and helium, only two s-type valence functions (withL and M primitives) are used. The following table lists the KLM values for split-valence basis sets

268

Chapter 12

Basis Set

Κ

L

Μ

3-21G

3

2

1

Supported Methods

Basis Set

Κ

L

Μ

4-21G

4

2

1

6-21G

6

2

1

4-31G

4

3

1

5-31G

5

3

1

6-31G

6

3

1

Thus, the 4-31G basis set consists of 2 functions for H and He, 9functions for Li to Ne, 13 functions for Na to Ar, ..., etc. For hydrogen the contractions are′

φ 1s ( r A ) =

3

′

′

∑ di, 1s φi, 1s (α i, 1s,rA)
GF

(107)

i=1

and
GF

″

φ′′ 1s ( r A ) = φ i, 1s (α i, 1s,r A)(108)

The outer hydrogen function φ''1s is uncontracted and the innerhydrogen function φ'1s is a contraction of three primitive Gaussians. The split-valence basis set is not a fit to any particular functional form, but is derived by choosing the form of the contraction
and then minimizing the energy of an atomic calculation by varying the contraction coefficients and exponents. The 4-31G acronym implies that the valence basis functions are contractions of
three primitive Gaussians (the inner function) and one primitive
Gaussian (the outer function), whereas the inner shell functions
are contractions of four primitive Gaussians. Hydrogen, of course,
does not have inner shells.
For the atoms Li to F, the contractions are4

φ 1s ( r A ) =∑ di, 1s φi, 1s (αi, 1s,rA)
GF

(109)

i=1

′

φ 2s ( r A ) =

3

′

′

∑ di, 2s φi, 1s (α i, 2sp,rA)
GF

(110)

i=1

Quantum Mechanics

269

Supported Methods′

GF

φ′′ 2s ( r A ) = φ i, 2s (α i, 2sp,r A)′

φ 2p ( r A ) =

3

′

(111)

′

∑ di, 2p φi, 2p (α i, 2sp,rA)
GF

(112)

i=1

′′

GF

φ′′ 2p ( r A ) = φ i, 2p (α i, 2sp,r A)(113)

As in the STO-LG basis, the 2s and 2p functions share the exponents for computational efficiency. The contraction coefficients
d1s, d2s’, d2s”, d2p’, and d2p” and the contraction exponents α1s,
α2sp’, and α2sp” were explicitly varied until the energy of an atomic
SCF calculation reached a minimum. Unlike the STO-NG basis,
which was obtained by a least-squares fit to known functions, or
general contraction scheme based on contraction of previously
determined uncontracted atomic calculations, the 4-31G basis sets
were determined by choosing the specific form [equations (109) to(113)] for the contractions and then optimizing all contraction
parameters. That is, the basis set was obtained by contraction first,
then optimization, as opposed to optimization first, then contraction.
Since the basis set is obtained from atomic calculations, it is still
desirable to scale exponents for the molecular environment. Thisis accomplished by defining an inner valence scale factor ζ' and anouter valence scale factor ζ'' (“double zeta”) and multiplying thecorresponding inner and outer α’s by the square of these factors.
Only the valence shells are scaled.
The standard 4-31G scale factors are

270

Chapter 12

Element

ζ’

ζ”

H

1.20

1.15

He

1.00

1.00

Li

1.03

1.12

Be

1.03

1.12

B

1.03

1.12

C

1.00

1.04

N

0.99

0.98

Supported Methods

Element

ζ’

ζ”

O

0.99

0.98

F

1.00

1.00

Polarized Basis Sets
The next step in improving a basis set could be to go to triple zeta,
quadruple zeta, etc. If one goes in this direction rather than adding
functions of higher angular quantum number, the basis set would
not be well balanced. With a large number of s and p functions
only, one finds, for example, that the equilibrium geometry ofammonia actually becomes planar. The next step beyond double
zeta usually involves adding polarization functions, i.e., adding dtype functions to the first row atoms Li-F and p-type functions toH.
To see why these are called polarization functions, consider thehydrogen atom. The exact wave function for an isolated hydrogen
atom is just the 1s orbital. If the hydrogen atom is placed in a uniform electric field, however, the electron cloud is attracted to thedirection of the electric field, and the charge distribution about thenucleus becomes asymmetric. It is polarized. The lowest ordersolution to this problem is a mixture of the original 1s orbital anda p-type function, i.e., the solution can be considered to be a
hybridized orbital. A hydrogen atom in a molecule experiences asimilar, but nonuniform, electric field, arising from its nonspherical environment. Adding polarization functions, e.g., p-type functions, to a basis set for H directly accommodates this effect. In asimilar way, d-type functions, which are not occupied in the firstand second row atoms, play the role of polarization functions forthe these atoms.
Using the standard notation, a basis set with a single star (*) stands
for adding a d-type function to heavy atoms (atomic numbers
greater than 2) and double stars (**) stands for adding d-type functions to heavy atoms and p-type functions to light atoms (H and
He). Hence, for example, 6-31G* is the basis set 6-31G plus d-typefunctions added to all the heavy atoms and 6-31G** is the basis set
6-31G plus d-type functions added to all the heavy atoms and ptype functions added to the light atoms (H and He). These rules
apply to all the K-LMG and STO-NG basis sets except that the standard 3-21G* basis set applies d-type functions only to the atoms
beyond the first row atoms: that is, there are no d-type functions
Quantum Mechanics

271

Supported Methods

added to the first row atoms. It has been empirically determinedthat adding polarization functions to the heavy atoms is more
important than adding polarization functions to hydrogen. This is
why the first star in a basis set stands for adding d-type functions
to the heavy atoms.
The d-type functions used in the conventional STO-NG are Hermite Gaussians. That is, there are five 3d functions __ 3d3z2-r2, 3dxz,
3dyz, 3dx2-y2, and 3dxy (or 3d0, 3d+1, 3d-1, 3d+2, and 3d-2 respectively) for each d-type function. In contrast, the d-type functions
used in the conventional split-valence basis sets (L-KMG) are Cartesian Gaussians. That is, there are six 3d functions __ 3dxx, 3dyy,
3dzz, 3dxy, 3dxz, and 3dyz for each d-type function. These six Cartesian Gaussians are linear combinations of the usual five 3d Hermit Gaussians and a 3s function (x2 + y2 + z2). The d-type functions
that are added to a basis to form a star basis are a simple set of
uncontracted 3d primitive Gaussians (five Hermite Gaussians) in
STO-NG basis sets but Cartesian Gaussians in the split-valencebasis sets.
Calculations at the 6-31G* and 6-31G** level provide, in manycases, quantitative results considerably superior to those at thelower STO-3G and 3-21G levels. Even these basis sets, however,
have deficiencies that can only be remedied by going to triple zeta
(6-311G basis sets in HyperChem) or quadruple zeta, adding morethan one set of polarization functions, adding f-type functions toheavy atoms and d-type functions to hydrogen, improving thebasis function descriptions of inner shell electrons, etc. As technology improves, it will be possible to use more and more accurate
basis sets.

Two-Electron Integrals
In order to form the Fock matrix of an ab initio calculation, all the
core-Hamiltonian matrix elements, Hµν, and two-electron integrals (µν|λσ) have to be computed. If the total number of basis
functions is m, the total number of the core Hamiltonian matrix
elements is1
N 1 = --- m ( m + 1 )2

272

Chapter 12(114)

Supported Methods

after considering the symmetry of the core Hamiltonian matrix
element, Hµν = Hνµ; and the total number of the two-electron integrals is3
2
1 4
N 2 = --- ( m + 2m + 3m + 2m )
8

(115)

After considering the symmetry of the two-electron integrals, wehave( µν λσ ) = ( νµ λσ ) = ( νµ σλ ) = ( µν λσ )= ( λσ µν ) = ( σλ µν ) = ( σλ νµ ) = ( λσ νµ )(116)

The total number of two-electron integrals is thus approximately
equal to m4/8. For example, for benzene, N1 = 666 and N2 =222,111 in an STO-3G basis set (m=36) and N1 = 2,346 and N2 =2,753,031 when using a double zeta basis set such as 6-31G(m=68).
Since the total number of two-electron integrals is so large even fora small molecule like benzene, optimal algorithms for computing
the two-electron integrals are a major topic in ab initio calculations.There are two main concerns for computing the two-electron
integrals: first of all, the speed of evaluating the two-electron integrals; second, the method of storing and retrieving the two-electron integrals. J. Pople and co-workers [i.e. see M. H. Gordon and
J. A. Pople, J. Chem. Phys. 89, 5777 (1988); P. M. W. Gill, M. H. Gordon, and J. A. Pople, J. Phys. Chem. 94, 5564 (1990); P. M. W. Gill,
B. G. Johnson, and J. A. Pople, Int. J. Quan. Chem. 40, 745 (1991)]
have developed a series of procedures for computing two-electron
integrals.
In an SCF calculation, many iterations may be needed to achieve
SCF convergence. In each iteration all the two-electron integrals
are retrieved to form a Fock matrix. Fast algorithms to retrieve thetwo-electrons integrals are important.

Regular Integral Format
For fast access to the two-electron integrals, a four-dimensional
array might be straightforward. The four indices of the four dimensional array correspond to the four basis function indices, µ, ν, λ,and σ, respectively. However, the four dimensional array may takea huge main memory or computer disk space even for a mediumsize molecule. Therefore, this may not be practical.
Quantum Mechanics

273

Supported Methods

An alternate method is to store the values and indices of two-electron integrals. The advantage is that the integrals with zero values
or with a value less than a certain threshold can be ignored. However, the disadvantage is that the indices have to be stored as wellas the integrals, and these indices take computer main memory or
computer disk space. HyperChem uses this method when the user
requests the Regular Integral Format.
HyperChem uses 16 bytes (two double-precision words) of storagefor each electron repulsion integral. The first 8 bytes save the compressed four indices and the second 8 bytes store the value of theintegral. Each index takes 16 bits. Thus the maximum number ofbasis functions is 65,535. This should satisfy all users of HyperChem for the foreseeable future.
Because of the use of two double-precision words for each integral,
HyperChem needs, for example, about 44 MBytes of computer
main memory and/or disk space to store the electron repulsion
integrals for benzene with a double-zeta 6-31G basis set.

Raffenetti Integral Format
Raffenetti [R. C. Raffenetti, Chem. Phys. Lett. 20, 335(1973)] proposed another way to store the two-electron integrals in ab initio
calculations. Raffenetti rewrote (93) on page 262 to readG µν =∑′P λσ D µν ,λσ

(117)

λ≥σ

with the modified density matrix P’′
1P λσ = 4P λσ  1 – --- δ λσ
2

(118)

and supermatrix D
1
1
1
D µν, λσ = ( µν λσ ) – --- ( µλ νσ ) – --- ( µσ νλ )  1 – --- δ [ µν ], [ λσ ]
4
4
2

(119)

Obviously,′P λσ = P σλ

and

274

Chapter 12

′

(120)

Supported Methods
D µν, λσ = D νµ, λσ = D µν, σλ = D λσ ,µν = …

(121)

So only the two-electron integrals with µ ≥ ν, and λ ≥ σ and [µν] ≥[λσ] need to be computed and stored. Dµν,λσ only appears in Gµν,and Gνµ, whereas the original two-electron integrals contribute toother matrix elements as well. So it is much easier to form the Fockmatrix by using the supermatrix D and modified density matrix P’
than the regular format of the two-electron integrals and standard
density matrix.
The Raffenetti integral format emphasizes the speed of computing
the Fock matrix. the Raffenetti format is used only with ab initio
calculations and is not available for the Density Functional calculationof the next chapter.

Two-Electron Integral Cutoff
The total number of two-electron integrals is proportional to m4
for a molecular system with m basis functions. Some of these integrals may be zero because of the symmetry, and some may be verysmall in magnitude. Using the regular integral format or the
Raffenetti integral format, each integral value and its indices take16 bytes and all are saved to the computer main memory or disk.
All saved two-electron integrals are then used in forming the Fockmatrix in every iteration. Those integrals with zero value or with avery small magnitude do not make much contribution to the Fockmatrix and to the total energy. Neglecting these integrals may notaffect the accuracy of ab initio calculations. Thus, in order to savecomputer main memory or disk space and speed up the calculation of the SCF procedure, a two-electron integral cutoff is introduced. HyperChem uses the two-electron integral cutoff to determine which of the two-electron integrals need to be saved. The
value of 10-10 (Hartree) generally is good enough for most calculations. A small value is recommended for “tight” calculations and alarge value for “loose” calculations.

Direct SCF Calculation
Since the first formulation of the MO-LCAO finite basis approach
to molecular Hartree-Fock calculations, computer applications of
the method have conventionally been implemented as a two-stepprocess. In the first of these steps a (large) number of integrals —mostly two-electron integrals — are calculated and stored on external storage. The second step then consists of the iterative solution
Quantum Mechanics

275

Supported Methodsof the Roothaan equations, where the integrals from the first step
are read once for every iteration.
In any scheme for performing ab initio calculations, the limitationsof accuracy, as well as to the size of the system that can be studied
are set by the two-electron integrals. Their number is of the orderof m4 / 8, where m is the number of basis functions; roughly proportional to the size of the system studied. If only integrals whose
magnitude exceeds a certain threshold are considered, the size
dependence is asymptotically reduced to m2 log m [J. Almlof, K.
Faegri Jr., and K. Korsell, J. Comp. Chem. 3, 385 (1982)]. However,in practical applications that threshold must be tightened as large
systems are considered, in order to reduce the accumulation oferrors. Significant deviation from the m4 dependence is therefore
only seen for extended systems, and a calculation on a molecule ofchemically interesting size may easily require 107 to 109 integrals
even for rather modest basis sets. Such large ab initio calculations
may not be practical on a small- or medium-size computer.
Direct SCF calculations [J. Almlof, K. Faegri Jr., and K. Korsell, J.
Comp. Chem. 3, 385 (1982)] offer a solution to this problem by
eliminating the storage of two-electron integrals. This can, however, only be done at the expense of having to recompute integrals
for every iteration.
With the current impressive CPU and main memory capacity ofrelatively inexpensive desktop PC’s, non-direct SCF ab initio calculations involving 300-400 basis functions can be practical. However, to run these kinds of calculation, 20 GBytes of hard disk space
might be needed. Such big disk space is unlikely to be available on
desktop PCs. A direct SCF calculation can eliminate the need forlarge disk storage.

Initial Guess of MO Coefficients
In any SCF method, an initial estimate of the MO coefficients isnecessary before starting the SCF iterations. Normally, the initial
guess to the MO coefficients is obtained by solving the HartreeFock Roothaan equations with replacement of the Fock matrix by
the core Hamiltonian. The core Hamiltonian gives a reasonable
good initial guess in most cases. In some cases, however, the core
Hamiltonian gives a wrong order for the energy levels or the initial
guess MO coefficients are far from the actual MO coefficients.

276

Chapter 12

Supported Methods

HyperChem provides alternative methods for generating an initial
guess of the MO coefficients. These alternative methods are:Projected Hückel
HyperChem performs an empirical Hückel calculation to produce
the MO coefficients for a minimal basis set and then projects thesecoefficients to the real basis set used in an ab initio calculation. The
projected Hückel guess can be applied to molecular systems withan atomic number less than or equal to 54 (Xe).

Projected CNDO/INDO
A projected CNDO/INDO guess uses the computed coefficientsfrom a minimum basis set CNDO/INDO calculation and thenprojects these MO coefficients to the real basis set used in an ab initio calculation. The projected CNDO/INDO guess can be applied tomolecular systems with atomic number less than or equal to 18(Ar).

Mixed Model
Selection is used for many purposes in HyperChem, normally in a
select-operate mode. When a quantum mechanical calculation isrequested, either semi-empirical or ab initio, selection serves to separate the system into a classical region and a quantum mechanicalregion (the selected region). HyperChem treats the unselected
region of any molecular system as a classical perturbation for thequantum mechanical selected region. The charges in the unselected region form a background of electrostatic potential and perturb the properties of the selected quantum mechanical region.
The interaction of the charges in the classical region with thequantum mechanical region are treated correctly by including
them in the one-electron core Hamiltonian for the quantum
region. The contribution of the charges in the classical region, tothe core Hamiltonian, is treated in the following way:

∆H µν =

∑

QB
- |ν〉
〈µ| --------R 1B

(122)

B

where the sum runs over all the atoms, B, in the unselected region.
R1B is the distance between the nucleus of B and the electron, andQuantum Mechanics

277

Supported Methods

QB is the net charge (the nuclear charge minus the electron charge)
on atom B.

Ghost-Atoms
Atoms with an atomic number that is sometimes treated as if itwere zero are known as ghost atoms. That is, a ghost atom is noninteracting and has effectively no nucleus or electrons. HyperChem defines a ghost atom in exactly the same way as a regularatom, and any basis set can be applied to a ghost atom. Under
most situations ghost-atoms is just the name for a set of atoms (anamed selection) and they act as any other atom. When performing an ab initio calculation, however, HyperChem may treat ghost
atoms differently than regular atoms. A ghost atom is represented
by a basis set, but does not have any nuclei attached to it, andtherefore can be regarded as a point in space upon which orbitals
can be centered. The concept of ghost atoms can be very useful inavoiding the basis set superposition error (BSSE) when describing
a so called “basis set deficient” systems, i.e. systems with relatively
large number of electrons represented by relatively poor basis sets.
Some long range interactions (i.e. complexes, hydrogen bonding)can be poorly represented without the use of a ghost atom concept. Also ghost atoms provide a convenient way to specify somearbitrary point in molecular space at which one wishes to placebasis functions.
In the current version of HyperChem, this option is only available
for Single Point calculation.

Extended Hückel Theory
Extended Hückel theory (EHT) is principally attributed to the workof Roald Hoffmann and his collaborators at Cornell University
although other groups have certainly contributed to the development. EHT is normally used just as a rapid method for computing
molecular orbitals, to investigate the orbital structure of molecules. The energies produced have to be somewhat suspect. For
example, optimizing a molecule, i.e., minimizing the energy to
predict the structure of the molecule, cannot give satisfactory
results and is disallowed in HyperChem.
Since no iterations are involved, it is faster than the semi-empirical
SCF methods and no convergence difficulties arise.

278

Chapter 12

Supported Methods

Basic Method
Since EHT is an independent-electron method, it is defined bygiving formulas for each of the H matrix elements of theµν
effective one-electron Hamiltonian eff, described above. Once thematrix H is available, the molecular orbitals ψ and their orbitalienergies ε are just solutions of a standard eigenvalue problemiHC = SCε where C describes the MO-LCAO coefficients of themolecular orbitals in the atomic orbital basis set:ψi =∑ν Cν i φν(123)

and ε is a diagonal matrix of the orbital energies. The method thus
requires:•••

Specification of the atomic orbital basis set {φ }.
µComputation of the overlap integrals S in the atomic orbitalµν
basis set.
Specification of the EHT Hamiltonian matrix elements Hmn inthe atomic orbital basis set.

Valence Atomic Orbitals
Most simple empirical or semi-empirical molecular orbital methods, including all of those used in HyperChem, neglect inner shellorbitals and electrons and use a minimal basis set of valence Slater
orbitals.
Thus for H and He, the basis set consists of one orbital, a 1s atomic
orbital. For atoms Li to Ne the 2 inner-shell electrons are combinedwith the nucleus and the basis set consists of 4 orbitals, the 2s, 2p ,x
2p , and 2p atomic orbitals. This means, for example, that carbonyz
has a nucleus with an effective positive charge of (6-2)=4, not theusual 6. For atoms Na to Al, the 10 inner shell electrons are combined with the nucleus and the basis set consists of the 4 orbitals,
the 3s, 3p , 3p ,and 3p atomic orbitals. For atoms Si to Cl, therexyz
is the question whether to include the 3d orbitals into the basic set
as they are close in energy to the 3s and 3p orbitals, but are unoccupied. The standard option of EHT in HyperChem includes the dorbitals so that the basis set for Si to Cl consists of 9 orbitals, 3s,
Quantum Mechanics

279

Supported Methods

3p , 3p , 3p , 3d 2, 3d , 3d , 3d , and 3d 2 2. An option in
x
y
z
z
xz
yz
xy
x -y
the EHT Option dialog box neglects the 3d orbitals to speed up calculations. The standard parameter set, however, is derived assuming 3d orbitals are used.
So called Hydrogenic atomic orbitals (exact solutions for thehydrogen atom) have radial nodes (values of the distance r where
the orbital's value goes to zero) that make them somewhat inconvenient for computation. Results are not sensitive to these nodes
and most simple calculations use Slater atomic orbitals of the formφ ν ( x, y, z ) = φ ν ( r, θ, ϕ ) = N n, l, m r n – 1 e –ζ r Y l, m ( θ, ϕ )(124)

where Nis a normalization constant, ζ is the orbital
n,l,m
exponent and Y is an angular function distinguishing s(l=0) fromp(l=1) from d(l=2), etc. A 3p orbital, for example, has identicalx
angular behavior to a 2p orbital but differs in its radial functionx
by an extra power of r and its orbital exponent ζ. The orbital exponents are usually common between ns and np orbitals but different for nd. The default orbital exponents of the first three row elements used by HyperChem are shared by s and p orbitals and are

280

Chapter 12

Element

Zeta (s and p)

H

1.3

Li

0.650

Be

0.975

B

1.3

C

1.625

N

1.950

O

2.275

F

2.425

Na

0.733

Mg

0.950

Al

1.167

Si

1.383

Zeta (d)1.383

Supported Methods

Element

Zeta (s and p)

Zeta (d)

P

1.600

1.4

S

1.817

1.5

Cl

2.033

2.033

Hamiltonian Matrix Elements, for an atomic orbital φ , canµµµ
be shown to bear a very close association with the energy needed
to ionize (remove) an electron from the orbital. Valence state ionization energies (VSIEs) can be determined from experiment andextended Hückel theory equates H to the corresponding VSIE,µµ
with opposite sign:
The diagonal matrix elements H(125)

H µµ = – VSIEThe VSIE values of the first three row elements used by HyperChem are shown in the following table.
ELEMENTS-VSIEP-VSIE

H

13.6

Li

5.4

3.5

Be

10.0

6.0

B

15.2

8.5

C

21.4

11.4

N

26.0

13.4

O

32.3

14.8

F

40.0

18.1

Na

5.1

3.0

Mg

9.0

4.5

Al

12.3

6.5

Si

17.3

9.2

D-VSIE

6.0

Quantum Mechanics

281

Supported Methods

ELEMENTS-VSIEP-VSIE

D-VSIE

P

18.6

14.0

7.0

S

20.0

13.3

8.0

Cl

30.0

15.0

9.0

(µ≠ν)
µν
represent the effects of bonding between the atoms and areassumed to be proportional to the overlap, H ~ S . An approxµνµν
imation for differential overlap referred to as the Mulliken approximation

The off-diagonal elements of Extended Hückel theory, H

2

2( φµ + φν )φ µ φ ν = S µν ---------------------2(126)

can be used to estimate the off-diagonal elements( H µµ + H νν )H µν = kS µν -----------------------------2(127)

The Hückel constant k has been inserted here as one more adjustable parameter. Note that the integrated form of equation (126) isexact.

Choosing a Hückel Constant
The constant k can be adjusted to give best agreement with experiment. It is found that a good value to use is somewhat larger thanwould be indicated by the Mulliken approximation and a very
standard value used by many groups is:
k = 1.75(128)

Alternatively, a slight modification to this formula makes k a function of the specific orbital pair, k , rather than identical for eachµνmatrix element H :µνk µν = k + δ 2 + δ 4 ( 1 – k )

(129)

where
δ = ( H µµ – H νν ) ⁄ ( H µµ + H νν )282

Chapter 12(130)Supported Methods

The derivation of this result introduces a generalization of the
Mulliken approximation:φ µ φ ν = 1 ⁄ 2 S µν ( ( 1 + δ )φµ2 + ( 1 – δ )φ ν2 )(131)

where the weighting is based on a measure of the relative diffuseness, δ, of φ and φ . HyperChem allows you to use a simple conµν
stant k or a diffuseness weighted constant k .
µνMixed ModelIn the Extended Hückel approximation, the charges in the unselected part are treated like classical point charges. The correctionof these classical charges to the diagonal elements of the Hamiltonian matrix may be written as:

Quantum Mechanics

283

Supported Methods∆H µµ = – aQ-j∑j -----R ij

and the off-diagonal elements of the Hamiltonian matrix are computed based on the corrected diagonal elements. In this equation,a is a scale factor for the classical-quantum interaction, µ is the µth
atomic orbital belonging to atom i, Q j is a pure charge on atom jin the classical region, R ij is the distance between atom i in theselected region and atom j in the unselected region, and the sum
is over all atoms in the unselected region.

CNDO
HyperChem implements the CNDO method based upon a complete neglect of differential overlap approximation. Specifically,
HyperChem implements the CNDO/2 scheme developed by Pople,
Segal, and Santry [J. A. Pople, D. P. Santry, and G. A. Segal, J. Chem.
Phys., 43, S129 (1965); J. A Pople and G. A. Segal, J. Chem. Phys., 43,
S136 (1965); J. A. Pople and G. A. Segal, J.Chem. Phys., 44, 3289
(1966)]. The method is the simplest of the zero differential overlap(ZDO) methods and generally thought to be the least accurate. The
CNDO/1 method, as originally developed, was quickly modified
and re-parameterized to CNDO/2, which is the method that hasremained in common use for many years.

The CNDO equations
The form of the CNDO/2 equations for the Fock matrix comesfrom the basic approximation φ φ =δ φ φ . This reduces theµ ν µν µ µgeneral two-electron integral (mn|ls) to (mm|ll). However, in orderthat this approximation have rotational invariance (a calculationmust give the same result if a molecule is rotated in the molecular
coordinate system) it is necessary to make the further approximation that this last integral is independent of the specific orbital φµ
or φ but dependent only on the atom A or atom B that the orbital
λresides on( µν λσ ) = δ µν δ λσ γ

284

Chapter 12

AB

(132)

Supported Methods

where γAB is the average electrostatic repulsion between an electron on atom A (in any orbital) and an electron on atom B (in any
orbital). These Coulomb integrals are fundamental to many semiempirical methods. Sometimes they are computed (using sphericalns atomic orbitals for the mathematical functions) and sometimes
they are parameterized to experimental results. In CNDO/2 they
are computed.
The elements of the CNDO/2 Fock matrix (for the RHF case) thus
become1
F µµ = H µµ +  P AA – --- P µµ γ AA +2

P BB γ AB∑
B≠A1F µν = H µν – --- P µν γ AB
2

(133)

(134)

In a ZDO computation where the overlap matrix is assumed tobe the unit matrix, the diagonal elements of the density matrix
become occupancy numbers for the atomic orbitals. Thus P isµµ
the effective number of electrons occupying atomic orbital φ . Theµsum of these numbers over all orbitals on a given atom is the total
number of electrons, PAA residing on that atom, in this case atom
A. The net atomic charge is then the charge of the nucleus (withcollapsed inner shell electrons) ZA minus PAAA

q A = Z A – P AA = Z A –

∑ Pµµ

(135)

µ

It remains to specify the elements of the one-electron core Hamiltonian, H , containing the kinetic energy and nuclear attractionµν
integrals.
The diagonal elements of the core Hamiltonian simply represent
the energy of an electron in an atomic orbital of the corresponding
atom, U , plus the attraction of an electron in that atomic orbitalµµ(on atom A) for the other nuclei (atoms B),
H µµ = U µµ –

∑ VAB

(136)

B≠A

Quantum Mechanics

285

Supported Methods

The off-diagonal elements represent the dominant effects of bonding and are set to be proportional to the overlap by a parameter
dependent on the two atoms involved in the overlap,
O S
H µν = β AB
µν

(137)

One center overlaps are all zero so that the above describes only
two center contributions.
It was found that computed bond lengths were much too shortin CNDO/1 because of poor balance between the attractive VAB
terms and the repulsive γAB terms. Good theoretical justification
can be made for a further simplification that approximates thenuclear attraction terms VAB as follows,
V AB = Z B γ

AB

(138)

This approximation leads to the CNDO/2 scheme. It remains to
explore the values of U which are closely related to valence stateµµ
ionization energies, as in Extended Hückel theory. In the CNDO/1
scheme they were set to just that. The CNDO/2 scheme considers
the electron affinity (the process of adding an electron to orbitalφ ) as well as the ionization potential (subtracting an electron) andµdevelops the following expression for Uµµ
U µµ = – 1--- ( I µ + A µ ) –  Z A – 1--- γ AA

2
2

(139)

where I is the ionization potential of an electron in atomic orbitalµ
φ , A is the electron affinity of the same orbital (determinedµ µ
by adding an electron to the ionized atom) and the average of thetwo is a measure of the chemical concept, electronegativity.
The final expressions for the (UHF) Fock matrices are
α = –1--- ( I µ + A µ )
F µµ
2

1
+ ( P AA – Z A ) –  P α µµ – --- γ AA +
2

(140)

∑
B≠A

286

Chapter 12( P BB – Z B )γ AB

Supported Methods
α = β0 S
α AB
F µν
AB µν – P µν γ

(141)

α
T
The RHF form of these equations simply substitutes P = 1/2 P =β
1/2 P

The CNDO parameters are discussed below.

Expectation Values
You would normally expect to make the same zero differential
overlap (ZDO) approximation in computing expectation values as
in deriving the form for the Fock matrices. However, the original
authors of the CNDO method found that when considering the
dipole moment such a strict ZDO approximation reduces the
dipole moment to just the classical value computed from the point
charges given by equation (135) on page 285. It is expected, however, that one-center (s, px), (s, py), or (s, pz) hybridization terms
are significant contributors to the dipole moment and these terms
were included by the original CNDO authors. HyperChem continues to include these hybridization terms when computing dipole
moments.

Mixed Model (CNDO and INDO)
In the CNDO and INDO level of approximation, the interaction of
the charges between the quantum mechanical region and the classical region is treated semi-empirically. The charges appearing in
the classical region affects the charge distribution and the energy
level of the quantum mechanical region. The contribution of thecharges (including the electronic charges and the nuclear charges)
in the classical region to the core Hamiltonian is treated in the following way:
∆H µµ =∑B ( ZB – QB )γAB

∆H µµ corrects the core Hamiltonian element, H µµ , and∆E N =Z Z

A B
 ------------- – Z A Q B γ AB
∑
R

AB
( A, B )corrects the nuclear-nuclear interaction energy. In these two equations, A is the index for an atom in the quantum region and B for
Quantum Mechanics

287

Supported Methods

an atom in the classical region, Z A , is the nuclear charge of atom
A with a number of the valence electrons, Q B is the electronic
charge, R AB is the distance between atom A and atom B , and γ AB
is the Coulomb interaction of two electrons located on atom A
and atom B , respectively:

γ AB = ( nsns n ′ sn′ s )a Coulomb integral of the Slater orbitals. Therefore, in order to run
a mixed model at the CNDO and INDO approximation level,
HyperChem needs the Slater exponents of s-orbitals for the atoms
in the classical region and limits the elements in the classicalregion to be in the range of H through Xe.

INDO
Exchange Phenomena
The difference between CNDO and INDO is best understood in
relation to the phenomenon of exchange, which we briefly
describe here.
Consider first of all the problem of two electrons, one occupying
orbital ψ1 and the other occupying a different orbital ψ2. The twoelectrons can have their electron spins parallel or anti-parallel, as
shown below. The parallel arrangement leads to a triplet state withtotal spin S=1 and the anti-parallel arrangement leads to a singlet
state with total spin S=0. The total energy of the two states
includes the kinetic energy of the electrons, the attraction of theelectrons for any fixed nuclei (these two contributions sum to givethe one-electron energy contributions) and electron-electroninteractions. In each of the two cases there is a Coulomb interaction
J = (ψ1ψ1|ψ2ψ2) between the two electrons. The difference inenergy between the two states, with the triplet having the lower
energy, comes from a special quantum mechanical effect called
electron exchange. Since electrons are all identical, they can beexchanged without changing any observable. That electrons haveindividual spins, s=1/2, results in the quantum mechanical effectthat the triplet (parallel spin) arrangement has a lower energy than
the singlet (anti-parallel spin) associated with the exchange interaction K = (ψ1ψ2|ψ1ψ2). The CNDO procedure basically neglects mostof these exchange effects leading to a poor treatment of the differ288

Chapter 12

Supported Methods

ences between different spin states of molecules. The INDO procedure restores the major exchange interactions neglected in CNDO
theory.

Quantum Mechanics

289

Supported Methods

Ψ2
Ψ1
E ( singlet ) = E ( one-electron ) + J + K
Ψ2
Ψ1
E ( triplet ) = E ( one-electron ) + J – K

Differences Between INDO and CNDO
The INDO (Intermediate Neglect of Differential Overlap) differsfrom CNDO in the treatment of one-center exchange integrals.
The CNDO (Complete Neglect of Differential Overlap) treatment
retains only the two-electron integrals (µµ|νν) = γ . The γ areµνµν
atomic Coulomb integrals approximated in CNDO by γΑΒ. In orderto take at least minimal account of exchange phenomena, the
INDO procedure restores integrals based on monatomic differential
overlap. That is, it retains, in addition to the CNDO terms, all integrals (µν|λσ), where the atomic orbitals φ , φ , φ , and φ are on theµ ν λσsame atom A. In practice, this amounts to adding all one-centerexchange integrals (µν|µν) as well as distinguishing between different one-center coulomb integrals γΑΑ.
The one-center exchange integrals that INDO adds to the CNDO
scheme can be related to the Slater-Condon parameters F0, G1, andF2 used to describe atomic spectra. In particular, for a set of s, px,
py, pz atomic orbitals, all the one-center integrals are given as:( ss ss ) = ( ss xx ) = F 0 = γ AA
1
( sx sx ) = --- G 1
3
3( xy xy ) = ------ F 2
25

290

Chapter 12(142)Supported Methods
4( xx xx ) = F 0 + ------ F 2
252( xx yy ) = F 0 – ------ F 2
25

There are similar expressions for symmetry related integrals (ss|yy),etc. For direct comparison with CNDO, F0 is computed as in
CNDO. The other INDO parameters, G1, and F2, are generally
obtained [J. I. Slater, Quantum Theory of Atomic Structure,
McGraw-Hill Book Company, Vol. 1, New York, 1960.] from fits toexperimental atomic energy levels, although other sources forthese Slater-Condon parameters are available. The parameter file
CINDO.ABP contains the values of G1 and F2 (columns 9 and 10)
in addition to the CNDO parameters.

Spin Interactions in INDO
The advantages of INDO over CNDO involve situations where thespin state and other aspects of electron spin are particularly important. For example, in the diatomic molecule NH, the last two electrons go into a degenerate p-orbital centered solely on the Nitro3 1
gen. Two well-defined spectroscopic states, S and D, result.
Since the p-orbital is strictly one-center, CNDO results in these twostates having exactly the same energy. The INDO method correctly
makes the triplet state lower in energy in association with theexchange interaction included in INDO.
A second common example of the utility of INDO over CNDO is
the methyl radical CH . This planar molecule is a free radical with3
an unpaired electron occupying a p-orbital centered on the carbon. The p-orbital is purely a p-orbital with a node in the plane of
the molecule; CNDO results in zero spin density at the positions of
the carbon and hydrogen nuclei. Electron Spin Resonance (ESR)
spectra measure quantities proportional to the spin density at thenucleus and show that it is non-zero (negative) at the position of
the hydrogen nucleus. An INDO calculation allows the spin of theunpaired electron to affect the spin distribution in the s-orbitals(because of one-center exchange interactions) and correctly resultsin negative spin density at the position of the hydrogen nucleus.
Obtaining this result requires, in addition to INDO, the use ofunrestricted Hartree-Fock (UHF) wave functions, which allow different spatial distributions for electrons of different spins.
Quantum Mechanics

291

Supported Methods

While INDO calculations have more parameters and are somewhat
more complex that CNDO calculations, they require essentially no
extra computation time and in most situations they are superior to
CNDO calculations.

MINDO/3
MINDO/3 stands for Modified Intermediate Neglect of Differential
Overlap, version 3; it is a modification of the INDO method. The
method was proposed and developed by M. J. S. Dewar and coworkers at the University of Texas at Austin [N. C. Baird and M. J.
S. Dewar, J. Chem. Phys., 50, 1262(1969); M. J. S. Dewar and E. Hasselbach, J. Am. Chem. Soc., 92, 590(1970); M. J. S. Dewar and D. H.
Lo, J. Am. Chem. Soc., 94, 5296(1972); R. C. Bingham, M. J. S.
Dewar, and D. H. Lo, J. Am. Chem. Soc., 97, 1285(1975); 97,1302(1975); 97, 1307(1975); 97, 1311(1975)].
Using the same nomenclature as for the INDO approximation, theelements of the MINDO/3 UHF Fock matrix are described below.
When φ and φ are on different centers the off-diagonal elements
µ
ν
are
α = H
α
F µν
µν – P µν ( µµ νν )(143)(µ on A, ν on B, A≠B)

and when f and f are on the same center, the off-diagonal elemnments areα = ( 2P α + β – P α ) ( µν µν ) – P α ( µµ νν )
F µν
µν
µν
µν

(144)
(µ on A, ν on A, µ≠ν)The diagonal elements of the Fock matrix are
A

α = H
F µµ
µµ +

∑ ( Pννα+ β ( µµ νν ) – Pννα ( µν µν ) )

(145)

ν

B

+

∑ ∑
γ

B

292

Chapter 12

AB

A

α+β

P λλ

(146)

Supported Methods

α+β

T

α

β

≡P +P
where P ≡ P. By replacing the superscripts α and β
by β and α, respectively, in the above three equations, you can easily get three similar equations for the Fock matrix elements forbeta orbitals. Similar expressions to the above for Fock matrix
elements of restricted Hartree-Fock (RHF) calculations can be genαβerated by simply replacing P (or P ) by 1/2 PT in the above equations.

The two-center two-electron, one-center two-electron, two-center
one-electron, one-center one-electron, and core-core repulsion
integrals involved in the above equations are discussed below.

Two-Center Two-Electron Integrals
All non-zero integrals over atomic orbitals on the two centers are
set equal, as in CNDO/INDO, to an averaged γAB. Thus, (s s | s s )A A= (s s | p p ) = (p p
A A

B

B

A

A

B B

| p p ) = γAB. The two-center Coulomb inteB

B

grals, rather than being calculated from first principles using s
orbitals as in CNDO/INDO, are approximated by an Ohno-Klopman [K.Ohno, Theor. Chim. Acta, 2, 219 (1964); G. Klopman,
J. Amer. Chem. Soc., 86, 4550 (1964); 87, 3300 (1965)] relation as
follows:
1
γ AB = ---------------------------------------------------------------1
1 2 1 / 2
 R 2 + 1--- ------+ ----- AB 2 A

A AB

(147)

where AA and AB are the averages of the appropriate one center
two-electron integrals.

One-Center One-Electron Integral Hµµ
The one-center one-electron integral H represents the energyµµ
that an electron in an atomic orbital φ would have if all otherµvalence electrons were removed to infinity. This is calculated byadding to the one-electron energy of the atomic orbital in the fully
ionized atom the potential due to all the other nuclei in the system. The one-electron energy is obtained parametrically, and isgiven by the symbol U . H is thus derived from the fundamenµµ µµ
tal equation, identical to that of CNDO/INDO,

Quantum Mechanics

293

Supported Methods

H µµ = U µµ –

∑ VAB

(148)

B≠A

The core-electron integral, V , as in CNDO/INDO, is thenABequated to the corresponding two-electron integral:
V AB = Z B γ AB

The one-center integrals, U , are computed according to techµµniques originally developed by Oleari et. al. [L. Oleari, L. DiSipio,
and G. De Michelis, Mol. Phys., 10, 97 (1966)].

Two-Center One-Electron Integral Hµν (ResonanceIntegral)
The two-center one-electron integral H , sometimes called theµνresonance integral, is approximated in MINDO/3 by using theoverlap integral, S , in a related but slightly different manner toµν
CNDO/INDO as
H µν = S µν β AB ( I µ + I ν )(149)

where βAB is a adjustable parameter dependent on the specific element pair (unlike CNDO/INDO where it ends up as an averageover the two elements involved), and I and I are the ionizationµν
potentials of the atomic orbitals µ and ν on atoms A and B respectively.

One-Center Two-Electron Integral
The one-center two-electron integrals used in MINDO/3 arederived from an analysis of atomic spectra [see, e.g., N. C. Baird
and M. J. S. Dewar, J. Chem. Phys. 50, 1262(1969)]. Following Pople
et al.[J. A. Pople, D. L. Beveridge, and P. A. Dobosh, J. Chem. Phys.,47, 2026(1967)], the one-center two-electron integrals are writtenkkin terms of the Slater-Condon F and G parameters exactly as inequation (111) on page 230 for INDO. MINDO/3 uses the values
120

quoted by Pople et al. for G and F , and calculates F for each
atom.

294

Chapter 12

Supported Methods

Core-Core Repulsion Integrals
From simple electrostatics the core-core repulsion (as used, forexample, in CNDO/INDO) is:
ZA ZB
E N ( A, B ) = ------------R AB(150)

where ZA and ZB are the core charges (nuclear point charges minus
inner shell electrons). Since, electron-electron and electron-core
integrals do not immediately collapse to the form c/RAB (RAB is the
distance of atom A and atom B, c is a constant) for distances
beyond the van de Waals radii, there would be a net repulsion
between two neutral atoms or molecules. To correct for this, corecore repulsion is approximated by:
E N ( A, B ) = Z A Z B γ AB

(151)

In addition to this term, account must be taken of the decreasing
screening of the nucleus by the electrons as the interatomic distance becomes very small. At very small distances the core-coreterm should approach the classical form. To account for this, anadditional term is added to the basic core-core repulsion integral
in MINDO/3 to give:1
E N ( A, B ) = Z A Z B γ AB +  ----------- – γ AB exp ( – α AB R AB )
R

AB

(152)

Here aAB is a diatomic parameter. In the case of N-H and O-H interactions only, this expression is replaced by:
1 – γ AB α exp ( – R )
E N ( A, B ) = Z A Z B γ AB+  ---------AB
 AB
R AB

(153)

The MINDO/3 parameters appearing in the above equations are
discussed later in the parameter section.

Mixed Model
The basic idea of mixed model in MINDO/3 is the same as thatused for CNDO and INDO and corrects γ AB , which appears in thecore Hamiltonian. Because the algorithm in calculating the Coulomb interaction in MINDO/3 is different from that used in CNDO
and INDO, the procedure to correct γ AB is also different from thatin CNDO and INDO.
Quantum Mechanics

295

Supported Methods

The core Hamiltonian, H µµ correction due to the interaction of
charges in the quantum region and classical region is∆H µµ = –( Z B – Q B ) γ AB∑
B

and to the interaction energy of the nuclei in the quantum region
and the charges in the classical region, E N , is
∆E N =

 ( Z Z ) γ +  ----------- – γ  exp ( – α R ) – Z Q γ 
AB
AB AB
A B AB∑ A B AB  R
AB( A, B )1

The sum A is over all the atoms in the quantum region and B isover all the atoms in the classical region. The two-electron andtwo-center Coulomb integral, γ AB , is computed in MINDO/3 by
1
γ AB = ----------------------------------------------------------------1 ⁄ 22
1 1
1 2
R AB + ---  ------- + ------- 
4  AA AB 

where R AB is the distance between atom A and atom B. AA and AB
are the averaged one-center, two-electron integral. Therefore, to
run the mixed model at the MINDO/3 of approximation,
HyperChem requires not only all the parameters for the atoms in
the quantum mechanical region, but also the parameters for thepseudo-halogen atoms for the boundary atoms, if any, and someparameters for the atoms in the classical region. The parameters forthe atoms in the classical region are A, the averaged one-center
two-electron integral and α AB , the bond parameters.

MNDO
MNDO is a Modified Neglect of Diatomic Overlap method basedon the neglect of diatomic differential overlap (NDDO) approximation. The method was proposed and developed by M. J. S.
Dewar and co-workers at the University of Texas at Austin [e.g. see
M. J. S. Dewar and M. L. McKee, J. Am. Chem. Soc., 99, 5231(1977);
M. J. S. Dewar and W. Thiel, J. Am. Chem. Soc., 99, 4899(1977); M.
J. S. Dewar and H. S. Rzepa, J. Am. Chem. Soc., 100, 58(1978); L. P.
Davis, R. M. Guidry, J. R. Williams, M. J. S. Dewar, and H. S. Rzepa,
J. Comp. Chem. 2, 433(1981)].

296

Chapter 12

Supported Methods

The elements of the MNDO Fock matrix based on the neglect ofdiatomic differential overlap approximation are described below.
When φ and φ are on different centers the off-diagonal elementsµν
of the Fock matrix are:
α = H
F µν
µν –

A

B

λ

σ

α ( µλ νσ )∑ ∑ Pλσ(154)(µ on A, ν on B, A≠B)
and when φ and φ are different atomic orbitals but on the sameµν
center then the off-diagonal elements of the Fock matrix are:
α = H
α
F µν
µν + P µν [ 3 ( µν µν ) – ( µµ νν ) ]

+

B

B

σ

λ

α + β ( µν λσ )∑B ∑ ∑ Pλσ(155)(µ on A, ν on A, µ≠ν)The diagonal elements of the Fock matrix are:
A

α = H
F µµ
µµ +

∑

α + β ( µµ νν ) – P α ( µν µν ) ][ P νν
νν

ν

B

+

∑∑∑
B

T

B

λ

α+β

α + β ( µµ λσ )
P λσ

(156)

σ

α

β

where P ≡ P. By replacing the superscripts α and β≡P +P
by β and α, respectively, in the above three equations, you can easily get three similar equations for the Fock matrix elements forbeta orbitals. Similar expressions to the above for Fock matrix elements of restricted Hartree-Fock (RHF) calculations can be generαβated by simply replacing P (or P ) by -1/2 PT in the above equations.
The terms involved in the above equations are described below.
Quantum Mechanics

297

Supported Methods

Two-Center Two-Electron Integrals
The MNDO method has 22 unique two-center two-electron integrals for each pair of heavy (non-hydrogen) atoms in their local
atomic frame. They are:( ss ss )( ss p π p π )( ss p σ p σ )( p π p π ss )( p σ p σ ss )( pπ pπ pπ pπ )( p π p π p' π p' π )( pπ pπ pσ pσ )( pσ pσ pπ pπ )( pσ pσ pσ pσ )( sp σ ss )( sp σ p π p π )( sp σ p σ p σ )( ss sp σ )( p π p π sp σ )( p σ p σ sp σ )( sp π sp π )( sp σ spσ )( sp π p π p σ )( p π p σ sp π )( pπ pσ pπ pσ )( p π p' π p π p' π )With the exception of integral 22, (p p '|p p '), all the integralsp p p pcan be computed a priori without loss of rotational invariance.
That is, no integral depends on the value of another integral,
except for this last one. It can, however, be shown that1
( p π p' π p π p' π ) = --- [ ( p π p π p π p π ) – ( p π p π p' π p' π ) ]
2

(157)

The use of this formula for integral 22 gives rotational invariance.
The two-center two-electron repulsion integrals (µν | λσ) represents
the energy of interaction between the charge distributions φ φ atµ νatom A and φ φ at atom B. Classically, they are equal to the sum
λ σover all interactions between the multipole moments M of thelm
two charge contributions, where the subscripts l and m specify theorder and orientation of the multipole. MNDO uses the classicalmodel in calculating these two-center two-electron interactions.
The electron density distributions are approximated by a series ofpoint charges. There are four possible types of contributions, i.e.

298

Chapter 12

Supported Methods•

Monopole (1 charge): unit negative charge centered on the
nucleus.

•

Dipole (2 charges): +1/2 charge located at position (x, y, z) and–1/2 charge located at position (-x, -y, -z).

•Linear quadrupole (3 charges): +1/2 charge located at nucleus
and –1/2 charge located at positions (x, y, z) and (-x, -y, -z).

•

Square quadrupole (4 charges) — four charges of magnitude+1/4, –1/4, +1/4, and –1/4 forming a square centered on the
nucleus.

The following types of multipole distributions are used to represent the four types of atomic orbital products.
AtomicorbitalsMultipole
distribution

Numberof charges|ss>

Monopole1|sp>

Dipole2|pp>

Monopole plus linear
quadrupole

4

|pp'>

Square quadrupole

4

Each two-electron integral is the sum of all the terms arising fromthe charge distribution representative of the first pair of atomic
orbitals interacting with the charge distribution representative of
the second pair of atomic orbitals. Thus in the simplest case, the(ss|ss) interaction is represented by the repulsion of two monopoles, while a (p p |p' p' ), a much more complicated interaction,π π π πis represented by 16 separate terms, arising from the four charges
representing the monopole and linear quadrupole on one centerinteracting with the equivalent set on the second center.
Because the repulsion interaction energy of two point charges isinversely proportional to the distance separating the two charges,
Dewar and co-workers, for example, represent the (ss|ss) two-center two-electron integral by:1( ss ss ) = ----------------------------------------------------------------------------------------1
1  2 1 / 2
 ( R + c + c ) 2 + 1---  ------+ -----AB
4 A A A B 

Quantum Mechanics

(158)

299

Supported Methods

where AA and AB are parameters to be defined below and cA and cB
are distances of the multipole charges from their respective nuclei
A and B (a simple function of the atomic orbital type). In the caseof an sp product, this is a vector of length D1 atomic units pointing
along p axis,( 2n + 1 ) ( 4ζ s ζ p ) n + 1 ⁄ 2
D 1 = -----------------------------------------------------3 1 ⁄ 2 ( ζ s + ζ p ) 2n + 2(159)

where ζ and ζ are the orbital exponents and n is the principalspquantum number, equal to 2 for atoms in the first long row. The
corresponding distances of the charges from the nucleus for the
linear and square quadrupoles are 2D2 and

2D 2 , respectively,

where
4n 2 + 6n + 2
D 2 =  -------------------------------
20

1⁄2

1
----ζp(160)

There are some boundary conditions which can be used to fix
parameters AA and AB. For example, when the distance between
nucleus A and nucleus B approaches zero, i.e., RAB = 0.0, the valueof the two-electron two-center integral should approach that of
the corresponding monocentric integral. The MNDO nomenclature for these monocentric integrals is,
G ss = ( ss ss )G sp = ( ss pp )H sp = ( sp sp )G pp = ( pp pp )(161)

G p2 = ( pp p'p' )H pp = ( pp' pp' )Three cases can be identified:
•
•

300

Chapter 12

A monopole-monopole interaction, where the integral should
converge to G
ss
A dipole-dipole interaction, where the integral should converge to H
spSupported Methods•

A quadrupole-quadrupole interaction, where the integral
should converge to Hpp = 1/2 (Gpp -Gp2)

Using the above asymptotic forms of the two-center two-electron
integrals, the parameters AA and AB can be derived. Certainly,
parameter AA is different for different orbitals even though they
reside on the same atom. Dewar used AM to represent the parameter A obtained via Gss, AD to represent the parameter A obtained
via Hsp, and AQ to represent the parameter A obtained from Hpp.
Therefore, the two-center two-electron integral (ss | ss) can be written as:
1( ss ss ) = --------------------------------------------------------------------------1
1  2 1 / 2
 R 2 + 1---  -----------+-----------AB
2  AM A AM B 

(162)

Equivalently, (ss | p p ) can be represented as
π π1( ss p π p π ) = --------------------------------------------------------------------------1
1  2 1 / 2
 R 2 + 1---  -----------+-----------  AB 2  AM
A AM B1⁄2+ ---------------------------------------------------------------------------------------------------1 2 1/2
1
 R 2 + ( 2D B ) 2 + 1---  ------------ + ------------ 
2 AB
2  AM A AQ B 

1⁄4
– -------------------------------------------------------------------------1
1  2 1 / 2
1
 R 2 + ---  ------------- + ----------AB
4  AM
AQ  
A(163)

B

This last integral is the interaction of a monopole with the sum ofa monopole and a linear quadrupole. This gives rise to a total offour terms. However, since the interaction of the monopole witheach of two negative charges of the dipole are the same, only threeterms remain. The remaining integrals are developed by similar
manipulations.

One-Center One-Electron Integral Hµµ
In the MNDO method, the one-center one-electron integral, Hµµ,is given by:
Quantum Mechanics

301

Supported Methods

H µµ = U µµ –

∑ VAB

(164)

B≠A

with VAB approximated in a similar way to before:
V AB = Z B ( µµ ss )where (µµ | ss) is the MNDO generalization of the CNDO/INDO
and MINDO/3 two-electron integral γAB.

Two-Center One-Electron Integral Hµν
In the MNDO method the resonance integral, H , is proportionalµν
to the overlap integral, S :µν
( βµ + βν )H µν = S µν ---------------------2(165)

where β and β are adjustable parameters characteristic of atomicµν
orbitals φ on atom A and φ on atom B. For a given first-row orµν
second-row element, there are at most two different b parameters,i.e., β A for the s-orbital and βpA for the p orbital of atom A. Thiss2
differs from MINDO/3 where N beta parameters are requiredcompared to the O(N) beta parameters needed here.

One-Center Two-Electron Integrals
The one-center two-electron integrals in the MNDO method arederived from experimental data on isolated atoms. Most wereobtained from Oleari's work [L. Oleari, L. DiSipio, and G. DeMichells, Mol. Phys., 10, 97(1977)], but a few were obtained by Dewar
using fits to molecular properties.
For each atom there are a maximum of five one-center two-electron integrals, that is (ss|ss), (ss|pp), (sp|sp), (pp|pp), and (pp|p'p'),where p and p' are two different p-type atomic orbitals. It has beenshown that the extra one-center two-electron integral, (pp'|pp'), isrelated to two of other integrals by
1( pp' pp' ) = --- [ ( pp pp ) – ( pp p'p' ) ]2302

Chapter 12(166)Supported Methods

If the five independent one-center two-electron integrals are
expressed by symbols such as Gss, Gsp, defined above, then the
Fock matrix element contributions from the one-center two-electron integrals are:
α

β

α+β

F ss ← P ss G ss + ( P px
α

α

α+β

+ P pyα+β+ P pz)G sp

α– ( P px + P py + P pz )H sp
α

α+β

α

α+β

F sp ← P sp

F pp ← P ss

(167)

α

H sp – P sp ( H sp + G sp )
α

β

(168)
α+β

α+β

G sp – P ss H sp + P pp G pp + ( P p' p' + P p'' p'' )G p2α1 α– --- ( P p' p' + P p'' p'' ) ( G pp – G p2 )
2

(169)

α
α+β
1 α
F pp' ← P pp' ( G pp – G p2 ) – --- P pp' ( G pp + G p2 )
2

T

α+β

α

(170)

β

where P ≡ P. By replacing the superscripts α and β≡P +P
by β and α, respectively, in the above three equations, you can easily get three similar equations for the Fock matrix elements forbeta orbitals. Similar expressions to the above for Fock matrix elements of restricted Hartree-Fock (RHF) calculations can be generαβated by simply replacing P (or P ) by 1/2 PT in the above equations.

Core-Core Repulsion Integrals
In practice the MNDO approximation to the screening effect issimilar to that of MINDO/3 but has a different functional form:
E N ( A, B ) = Z A Z B ( s A s A s B s B )× [ 1 + exp ( – α A R AB ) + exp ( – α B R AB ) ](171)

The core-core repulsion integrals are different for O-H and N-H
interactions. They are expressed as:
E N ( A, H ) = Z A Z H ( s A s A s H s H )exp ( – α A R AH )×  1 + -----------------------------------+ exp ( – α H R AH )


R AH

Quantum Mechanics

(172)

303

Supported Methods

where a is an adjustable atomic parameter. The numerical valuesof the a parameter are the same for each element.

Mixed Model (MNDO, AM1, and PM3)
The mixed models used in MNDO, AM1, and PM3, are identical,
because all of these three methods are derived based on NDDO.
The core Hamiltonian correction due to the interaction of thecharges between the quantum mechanical region and the classicalregion is∆H µν = –( Z B – Q B ) γ µν
∑
B

AB

AB

for both µ and ν are on atom A, and γ µν is

γ AB = ( µA νA| s B s B )and calculated by the MNDO method. And the interaction energy
between the nuclei in the quantum mechanical region and thecharges (including the nuclear charges and the electronic charges)
is∆E N =

exp ( – α RAB )A{ Z A Z B (sA sA| s B s B ) 1 + exp ( – α A R AB ) + ----------------------------------∑R AB( A, B )– Z A Q B (sA sA| s B s B )}with
1(sA sA| s B s B ) = ----------------------------------------------------------------------------2
1 2
1 1
R AB + ---  ------------- + -------------  1 ⁄ 2
2 AM
AM
A

B

where AM are the monopole-monopole interaction parameters.

MNDO/dThis method is distinguishable from MNDO principally by its useof d orbitals. It is described in the following references: W. Theiland A. Voityuk, Theo. Chim. Acta 81, pp391-404 (1992); W. Thieland A. Voityuk, Int.J. Quant. Chem. 44, pp807-829 (1992);

304

Chapter 12

Supported Methods

AM1 and PM3
AM1 (Austin Model 1) is a modified MNDO method proposed anddeveloped by M. J. S. Dewar and co-workers at the University ofTexas at Austin [see, e.g., M. J. S. Dewar, E. G. Zoebisch, E. F. Healy,
and J. J. P. Stewart, J. Am. Chem. Soc., 107, 3902(1985); M. J. S.
Dewar and K. M. Dieter, J. Am. Chem. Soc., 108, 8075(1986); J. J. P.
Stewart, J. Comp. Aided Mol. Design, 4, 1(1990)].
PM3, developed by James J.P. Stewart, is a reparameterization ofAM1, which is based on the neglect of diatomic differential overlap (NDDO) approximation. NDDO retains all one-center differential overlap terms when Coulomb and exchange integrals are computed. PM3 differs from AM1 only in the values of the parameters.
The parameters for PM3 were derived by comparing a much larger
number and wider variety of experimental versus computed
molecular properties. Typically, nonbonded interactions are lessrepulsive in PM3 than in AM1. PM3 is primarily used for organic
molecules, but is also parameterized for many main group elements.
While MINDO/3 has proved very effective in studies of a wide variety of hydrocarbons [M. J. S. Dewar and H. S. Rzepa, J. Am. Chem.
Soc., 99, 7432(1977)], problems arise in the case of molecules containing heteroatoms because of the neglect of one-center differential overlap in the INDO approximation on which MINDO/3
based. The problems are avoided in MNDO but at the expense ofother weaknesses [M. J. S. Dewar and W. Thiel, J. Am. Chem. Soc.,
99, 4899(1977); 99, 4907(1977)]. In particular MNDO fails to
reproduce hydrogen bonds correctly, gives energies that are too
positive for crowded molecules (e.g. neopentane) and too negativefor ones containing four-membered rings, and gives activationenergies that tend to be too large. Dewar and co-workers foundthat the reason is because MNDO overestimates the repulsions
between atoms at their Van der Waals distance. Hence they modified the core-core repulsion for N-H and O-H interactions to:
E N ( A, H ) = Z A Z H ( s A s A s H s H )Z A Z Hexp ( – α A R AH )+ exp ( – α H R AH ) +  -------------×  1 + -----------------------------------

R 
R AH
AH
×


∑k akA exp [ –bkA ( RAH – ckA ) ] + ∑k akH exp [ –bkH ( RAH – ckH ) ]
2

2

(173)

Quantum Mechanics

305

Supported Methods

and for all other interactions to:
E N ( A, B ) = Z A Z B ( s A s A s B s B )

(174)

ZA ZB
-
[ 1 + exp ( – α A R AB ) + exp ( – α B R AB ) ] +  -----------
R AB




∑k akA exp [ –bkA( RAB – ckA ) ] + ∑k akBexp [ –bkB ( RAB – ckB ) ]
22Comparing the core-core repulsion of the above two equations
with those in the MNDO method, it can be seen that the only difference is in the last term. The extra terms in the AM1 core-core
repulsion define spherical Gaussian functions — the a, b, and c are
adjustable parameters. AM1 has between two and four Gaussianfunctions per atom.
These are the only differences between the MNDO and AM1 functional form. Dewar's group regenerated AM1 parameters for theelements H, B, C, N, O, F, Al, Si, P, S, Cl, Zn, Ge, Br, and Sn andfound that the main gains in AM1 over MNDO were the ability toreproduce hydrogen bonds and the promise of better activationenergies for reactions. AM1 does not significantly change the computation time compared with MNDO.

ZINDO/1
ZINDO/1 is based on a modified version of the intermediate
neglect of differential overlap (INDO), which was developed byMichael Zerner of the Quantum Theory Project at the University
of Florida. Zerner’s original INDO/1 used the Slater orbital exponents with a distance dependence for the first row transition metals only. (See Theoret. Chim. Acta (Berl.) 53, 21-54 (1979).) However,in HyperChem constant orbital exponents are used for all theavailable elements, as recommended by Anderson, Edwards, andZerner, Inorg. Chem. 25, 2728-2732,1986.
As with the other semi-empirical methods, HyperChem’s implementation of ZINDO/1 is restricted to spin multiplicities up to aquartet state. ZINDO/1 lets you calculate the energy states in molecules containing transition metals.

306

Chapter 12

Supported Methods

HyperChem’s implementation of ZINDO/1 has been tested usingparameters suggested by references to work done by Zerner on firstrow transition metals.
The basic equations of ZINDO/1 are the same as those in INDO,
except for Uµν. Instead of using the electronegativity in INDO,ZINDO/1 uses the ionization potential for computing Uµν.

Overlap Weighting Factors
The developers of ZINDO found that the parameters required toreproduce orbital energy orderings and UV spectra are different
from those required to reproduce accurate structures by geometry
optimization. They introduced a new pair of parameters, called theoverlap weighting factors, to account for this. These parameters areprovided in HyperChem in the Semi-empirical Options dialog box.
Their effect is to modify the resonance integrals for the off-diagonal
elements of the Fock matrix.
In semi-empirical formulations, resonance integrals account forsigma and pi bonding patterns in molecules. These one-electron
two-center integrals represent the kinetic energy and electronnuclear attraction energy associated with a charge distributionthat lies between two atoms (overlap distribution). The actual
magnitude of the resonance integral is proportional to the overlap
integral Sµν. There are two general types of atomic orbital overlap:
sigma-sigma and pi-pi. Sigma-pi overlap is generally absent due toorthogonality conditions. Adjusting the weights provides a mechanism to adjust the relative contributions of sigma versus pi bonding.
For geometry optimizations and comparison of total energies(which should be carried out with ZINDO/1, not ZINDO/S), both
overlap weighting factors (Sigma-Sigma and Pi-Pi) should be set to
1 in the Semi-empirical Options dialog box.
If you use ZINDO/S for spectroscopic investigations and orbitalenergies, the default values are 1.267 for Sigma-Sigma (Ridley, J.E.
and Zerner, M.C. Theor. Chim. Acta 42:223, 1976) and 0.585 for PiPi. However, several different values for the Pi-Pi overlap weighting
factor have been used in the literature (Bacon, A.D. and Zerner,
M.C. Theor. Chim. Acta 53:21, 1979). For UV spectra and orbital
eigenvalues of organic molecules, 0.585 is commonly used (Del
Bene, J. and Jaffe, H.H. J. Chem. Phys. 48:1807,1968; ibid., 4050).
For triplets, 0.64 and 0.68 were recommended. In recent studies,
Quantum Mechanics

307

Supported Methods

0.585 was used with good success for transition-metal systems, see,for example, Stavrev, K.K., Zerner, M.C., Meyer, T.J., J. Am. Chem.
Soc. 117:8684, 1995 (on Ru-complexes); Stavrev, K.K., and Zerner,
M.C., J. Chem. Phys. 102:34, 1995 ( Mn-centers); Chem. Phys. Lett.
233:179, 1995 (Cu-porphyrins); ibid. 263:667, 1996 (VCl4); Theor.
Chim Acta 96(3):141 (Mo-nitrogenase); Cory, M.G., Stavrev, K.K.
and Zerner, M.C., Int. J. Quant. Chem. 63:781, 1997 (Fe-proteins).
If you want to change the number that appears in the Semi-Empirical Options dialog box you could include a script command thatsets the value explicitly in your chem.scr initialization script.

Mixed Model
The mixed model used in ZINDO/1 is identical to that used in
CNDO and INDO if there is no d-orbital involved in the quantum
mechanical calculation. Once the system involves transition metals, the mixed model is slightly more complex. HyperChem treats
the charges in the classical region as the following way:
∆H µµ =∑B ( ZB – QB ) γµµ ss
ABcorrects the core Hamiltonian element H µµ , and∆E N =Z Z

A B
 ------------γ ∑ R - – Z A Q B ss ss
AB( A, B )AB

corrects the interaction energy between the quantum mechanical
nuclei and classical charges. Because the Slater exponent for sorbital may be different from the Slater exponent for d orbital,ABγ AB
ss ss may not be equal to γ dd ss . To keep the rotational invariance,

four s type Slater orbitals are used in calculating γ AB
dd ss with d orbital
Slater exponent for the s type Slater orbitals on atom A and sorbital Slater exponent for the s type Slater orbitals on atom B.

ZINDO/SZINDO/S is an modified INDO method parameterized to reproduce UV visible spectroscopic transitions when used with the CI
singles methods. It was developed in the research group of Michael
Zerner of the Quantum Theory Project at the University of Florida.

308

Chapter 12

Supported Methods

As with the other semi-empirical methods, HyperChem’s implementation of ZINDO/S is restricted to spin multiplicities of up to aquartet state. Higher spin systems may not be done using HyperChem.
The algorithms in ZINDO/S are almost the same as those in
ZINDO/1, except of the one-center two-electron integral, F0.
ZINDO/S uses empirical value of F0 instead of using ab initio value
in terms of the Slater orbitals.

Mixed ModelZINDO/S is different from ZINDO/1 because they use different
algorithms in computing the Coulomb integrals. Hence the two
equations used in the mixed model in ZINDO/1 are also employedin ZINDO/S. But the Coulomb integrals are computed by the following way:
AB

f
2f r
-------------------- + R ABA
Bγ ss + γ ss

r
γ ss ss = -------------------------------------

and
AB

f
2f r
-------------------- + R ABA
Bγ ss + γ ss

r
γdd ss = -------------------------------------

A
where f r is a constant and equal to 1.2 and γ A
ss and γ dd are two-elec-tron one-center Coulomb integrals and they are semi-empiricalparameters required by the ZINDO/S model.

TNDO
The TNDO Hamiltonian is identical to the CNDO or INDO Hamiltonian. TNDO/1 is CNDO and TNDO/2 is INDO. The difference isthat TNDO has different parameters from CNDO/INDO andparameters that depend upon the atom type of an atom rather
than the atomic number of an atom. Thus, there are separate
parameters for sp, sp2, and sp3 carbon atoms, not just single
parameters for carbon. The method can be very accurate with theright parameters.

Quantum Mechanics

309

Supported Methods

In general, however, TNDO is a very parameter dependent methodwith even different parameters sets for different computed molecular properties. For example, a parameter set might be designed
specifically for the electronic spectra of dye molecules. Anotherparrameter set might be designed for geometries of hydrocarbons
and so on. Using this method effectively may require you todevelop your own parameter sets.

310

Chapter 12

Chapter 13
Density Functional Theory
In addition to the ab initio and semi-empirical quantum mechanical calculations described in the last chapter, HyperChem, beginning with Release 7, can perform quantum mechanical calculations according to Density Functional Theory (DFT). These are a relatively new type of calculation that bears a very close resemblance
to ab initio calculations; they are even referred to as ab initio insome contexts. We will, however, make a clear distinction between
so-called ab initio and DFT calculations.

Wavefunctions versus Electron Density
The traditional ab initio techniques attempt to solve the Schroedinger equation (using various approximations) for a wavefunction Ψelec describing a molecule or molecular system described bya Hamiltonian H.
H elec Ψ elec = E elec Ψ elec

(1)

Having obtained a wavefunction, which is a function of the 3N
coordinates of all N electrons, one can compute the electron density by integrating the square of the wavefunction over all particles
but one,ρ ( r1 ) =

2∫ Ψ ( r1, r2 ,…rN ) dr2 … drN(2)

That is, the electron density is much simpler than the wavefunction since it is a function of only 3 variables rather than 3N variables. The electron density averages out details of the full N-bodyproblem.
If one could compute the energy and properties of a molecule bycomputing only the electron density rather than the full wave311

The Hohenberg-Kohn Theorem

function, one might expect a simplification of quantum chemistry. This is the hope of Density Functional Theory.

The Hohenberg-Kohn Theorem
The formal rationale for Density Functional Theory begins with aremarkable theorem due to Hohenberg and Kohn. This theorem
states that the energy E of a molecular system is a universal functional of the electron density,
E = E[ ρ](3)and that the exact energy is returned only when ρ is exact; approximate ρ’s lead to higher energies. By the term functional, we meanthat E depends not on simple variables but on a complicated function, the density in three dimensional space. That is, E depends onthe density only, but with an unknown functional dependence. By
the term universal dependence, we mean that this dependence ofthe energy on the density is the same in methane as it is in fluorobenzene and if we only knew this dependence it would help provide solutions for all molecular systems.
In the above form, the Hohenberg-Kohn theorem is not of immediate practical help in solving for the energy and electron densityof molecules. The theorem, however, allows a new formulation fora self-consistent-field (SCF) procedure that can be used to compute
molecular charge densities. This new procedure is embodied in the
Kohn-Sham equations.

The Kohn-Sham Equations
Overview
The Kohn-Sham equations can, in principal, lead to an exact solution for a molecular system. The equations resemble very closely
the equations of Hartree-Fock theory of the last chapter. However,
the interpretation of the solutions to the Kohn-Sham equations isquite different from the interpretation of the solutions to the Hartree-Fock equations. For example, the Kohn-Sham energy can beexact while the Hartree-Fock energy is well known to be missing
what is referred to as the correlation energy. It is enormously useful312

Chapter 12

The Kohn-Sham Equations

that the two sets of equations have so much in common as thismakes it possible to use technology developed over many years for
Hartree-Fock programs to be immediately useful in developing
software to solve the Kohn-Sham equations.
The logic used to turn the Hohenberg-Kohn theorem into the
Kohn-Sham equations is subtle and involves the use of an imaginary system of non-interacting electrons with an electron density
identical to the true system. We will not offer a formal derivationof the Kohn-Sham equations here but simply state the results.
As in Hartree-Fock theory, there are two versions of the KohnSham equations, one for closed-shell systems, analogous to the“restricted” Roothaan equations, and one for open-shell systems,
analogous to the “unrestricted” Pople-Nesbet equations. We willstate the equations in the generalized “unrestricted” form that isvery close to that of UHF equations of the previous chapter.

The Electron Density and Kohn-Sham Orbitals
The total electron density can be subdivided into a density of electrons with spin up (alpha) and a density of electrons with spin
down (beta).
ρTα= ρ +ρ

β(4)

As with the Pople-Nesbet equations, a basis set, {φµ}, is introduced
and the electron densities can be represented by density matrices,
PT = Pα + Pβ

(5)where,occα
P µν =

∑

α

α

(6)

Cµ i Cν ii

andQuantum Mechanics

313

The Kohn-Sham Equationsocc

β
P µν =

∑

β

β

(7)

Cµ i Cν i

i

The C’s are coefficients of basis functions in the expansion of theKohn-Sham orbitals,

ψ iα =∑

C ναi φ ν(8)∑

C νβi φ ν

(9)

ν

and

ψ iβ =

νThe Kohn-Sham orbitals are not unlike the molecular orbitals ofHartree-Fock theory but have energies that must be interpreted differently. As in Hartree-Fock theory, however, the total electron
density is just the sum of the squares of the N occupied orbitals.
The difference here is that this electron density can, in principal,
be exact if the orbitals are solutions to the Kohn-Sham equations
rather than the Hartree-Fock equations.

The Kohn-Sham Equations
The Pople-Nesbet equations of Hartree-Fock Theory involve Fockmatrices, Fα and Fβ that have the following form,

α = Hα +
F µν
µν

∑
λσ

314

Chapter 12

T ( µν λσ ) – P α ( µλ νσ )
P λσ
λσ

(10)

The Kohn-Sham Equations

β = Hβ +
F µν
µν

∑

T ( µν λσ ) – P β ( µλ νσ )
P λσ
λσ

(11)

λσ

The first term in the summations above is the coulomb energy andthe second term is the exchange energy. Coulomb interactions occur
between all the electrons, independent of spin, whereas exchangeinteractions only occur between electrons of parallel spin. In Hartree Fock theory, the correlation energy, the difference between theenergy of the Hartree-Fock single determinant wavefunction
approximation and the exact energy is, by definition, zero.
The Kohn-Sham equations or the fundamental equations of pragmatic Density Functional Theory involve replacing the exchange
term above with a new exchange-correlation potential and equivalent matrix. That is,α = Hα +
F µν
µν

∑

T ( µν λσ ) + F
P λσ
µν

∑

T ( µν λσ ) + F
P λσ
µν

XC α

(12)

XC β

(13)

λσ

β = Hβ +
F µν
µν

λσ

where FXC is the exchange-correlation matrix (for either alpha orbeta elctrons) and these two equations constitute the general(unrestricted) matrix form of the Kohn-Sham equations.
These equations can be solved in a self-consistent fashion identicalto the Pople-Nesbet equations of Hartree-Fock theory, the only difference is the replacement of the Hartree-Fock exchange term withan unknown, effective one-electron, exchange-correlation potential represented by the matrix FXC. The formulation can potentially give exact results. The problem, of course, is to know theexchange-correlation potential and be able to compute the matrix
FXC.
For closed shells, where ρα = ρβ, the Kohn-Sham equations reduce
to a set of equations analogous to the Roothaan equations.

Quantum Mechanics

315

The Exchange-Correlation Functional

The Exchange-Correlation Functional
The complications of normal ab initio theory are in the complexityof the procedures that go beyond the Hartree-Fock approximation
and attempt to calculate the correlation energy. Formulations suchas full Configuration Interaction are easy to describe but almost
impossible to implement for reasonable sized molecules. Density
Functional Theory, as described by the Kohn-Sham equations, hastransferred this complexity into an (unknown) effective one-electron exchange-correlation potential. The equations have the simplicity of the Hartree-Fock equations but with an unknown potential.
The energy that is a solution to the Kohn-Sham equations is givenbyE =P µν H µν + --- ∑ P µν P λσ ( µν λσ ) + E XC
∑
2
µν
µνλσ
1

This expression is identical to the Hartree-Fock energy except thatthe normal exchange term is missing and has been replaced by aneffective exchange-correlation energy, EXC, that hides all the complexity. In line with the Hohenberg-Kohn theorem, this energy isa functional of the Kohn-Sham density,αβ

E XC = E XC [ ρ , ρ ]It is normal to describe an exchange-correlation energy density(per unit volume) f, such thatE XC =αβ∫ f ( ρ , ρ ) dr

The relationship between the exchange-correlation energy, EXC,
and the exchange-correlation matrix of the Kohn-Sham equations
has been formulated in a convenient form by Johnson, Gill, andPople [J.Chem. Phys. 98, 5612(1993)] . In its simplest form, therelationship is,
XC α

F µν

316

Chapter 12=∂f∫ ∂ ρα φµ φν drThe Uniform Electron Gas and Local Density Approximations.

A Simple Example: The Slater Functional
To illustrate the above discussion, we introduce a simple functional for the exchange energy. This functional, introduced by
Slater in the context of so-called Xα theory, does not describe any
correlation energy but is a functional that is a first approximation
to the exchange energy. The functional is3
f = –9--- α  ------
4 4π

1⁄3

α 4⁄3

((ρ )

β 4⁄3

+ (ρ ))

where α is a parameter that Slater set to 1 but which has the valueof 2/3 when this functional is derived as the exact exchange
energy of a uniform electron gas (UEG). The corresponding elements of the exchange-correlation matrix of the Kohn-Sham equations are:
XC α

F µν

Xα

= F µν =

 3

α 1⁄3

- (ρ )∫ –3 α  ----4π

φ µ φ ν dr

The integrand in this case involves the electron density to thethird power. In general integrals involving an exchange-correlation functional are too complicated to be performed analyticallyand such matrix elements must be obtained by numerical integration. Other exchange-correlation functionals are much more complicated than the simple Slater exchange functional and an important step in practical DFT calculations such as those performed inHyperChem is the requisite numerical integrations required. Practical schemes for these integrations will be discussed below.

The Uniform Electron Gas and Local Density
Approximations.
Exchange versus Correlation Functional
Perhaps the principal issue in Density Functional Theory is developing accurate functions that describe either the exchange or thecorrelation energy. Some functionals describe only the exchange
energy and some describe only the correlation energy. To describe
the total exchange-correlation energy one can just add an
exchange functional to a correlation functional. Other functionals
Quantum Mechanics

317

Beyond the LDA - Gradient Corrected Functionals

describe the total exchange-correlation energy without a recommended decomposition.

Uniform Electron Gas (UEG)
A simple model system to try and understand the correct form thata functional could or should take is the uniform electron gas ofconstant density ρ. This system is simple enough that one canexactly calculate the exchange energy. The result in simple analytical form is just the Slater result discussed above. This result is also
called the Local Density Approximation (LDA) or Local SpinDensity Approximation(LSDA) for exchange. It is called local
because one takes the result for the uniform electron gas as describing the exchange energy at a local point r but then integrates thisresult over all space for the non-uniform density of a molecularsystem. Rather than “local” it might just as well be called the UEG
functional. An LSDA result specifically uses ρα and ρβ rather thanjust ρ but depending on the situation it may be identical to the
LDA result. From now on we will simply refer to results for the uniform electron gas as LDA results (and functionals).

LDA Correlation Functionals
While the Slater result describes the LDA result for the exchange
energy in a simple analytic form, no such simple result is available
for the correlation energy of a uniform electron gas. The the LDA
results for a correlation functional are more complicated (andslightly more variable in practice) than for the exchange functional. Most of the LDA functionals for correlation depend upon
numerical results obtained by Monte Carlo simulation of the UEG.
These “exact” results are then fit to an analytical functional form
to obtain an LDA correlation functional. Examples are the VWN
functional and the Perdew-Zunger 81 functional.

Beyond the LDA - Gradient Corrected Functionals
The LDA results described above, either for exchange or correlation, or in combination constitute the simplest approach to Density Functional Theory. Many DFT calculationas have been performed using the LDA and they provide a sort of benchmark fordeveloping better functionals. These functionals directly use
318

Chapter 12

Energy Gradientsresults from the constant electron density situation (UEG). A next
approximation would be to recognize that electron densities inmolecules are not constant but are larger near a nucleus, go to zeroat large distances, etc. That is, electron densities have a gradient.
Equivalently, the next term in a Taylor expansion of a functional
might involve a term dρ/dr, the gradient of the electron density inthree-dimensional space. Functionals that depend upon the gradient of the density as well as the density are called gradient-corrected functionals. Equivalently, one refers to the Generalized Gradient Approximation (GGA). The gradient of the electron density
is usually described via three invariants,
α

α

β

β

α

β

γ αα = ∇ρ ⋅ ∇ργ ββ = ∇ρ ⋅ ∇ργ αβ = ∇ρ ⋅ ∇ρand the generalized gradient approximation has a function that isa generalization of the LDA functional.
αβf = f ( ρ , ρ , γ αα, γ ββ, γ αβ )The Kohn-Sham matrices for GGA functionals have a more complicated form than for LDA functionals. As before, a convenient
expression is given by Pople et. al. as,

XC α

F µν

=

 ∂f

∂f

α

∂f

β



∫  ∂ ρα φµ φν + 2 ∂ γαα ∇ρ + ∂ γαβ ∇ρ ⋅ ∇( φµ φν ) dr

Energy Gradients
HyperChem uses gradients for many things - finding optimized
structures, finding transition states, performing molecular dynamics, etc. The gradient of the energy in DFT calculations has beensomewhat elusive and different formulations have different
approximations to these gradients. HyperChem uses a rigorous
approach outlined by Johnson, Gill and Pople that does not
require second derivatives of the exchange-correlation energy as in
Quantum Mechanics

319

Hybrid Functionals

certain other formulations. The gradient of the exchange-correlation energy with respect to the coordinates of nucleus A are given
by:∇AE XC = – 2

′

α

 ∂f

∂f

α

∂f

β



β

 ∂f

∂f

α

∂f

β



∑µ ∑ν P µν ∫  ∂ ρα φν ∇φµ + Xµν 2 ∂ γαα ∇ρ + ∂ γαβ ∇ρ dr′–2∑µ ∑ν P µν ∫  ∂ ρβ φν ∇φµ + Xµν 2 ∂ γαβ ∇ρ + ∂ γββ ∇ρ dr (14)Hybrid Functionals
On an empirical basis, it has been determined that rather thancompletely replacing the Hartree-Fock exchange term by anexchange functional of the kind being described by DFT, better
results can often be obtained by retaining a percentage of so-called“exact” exchange, i.e. the Hartree-Fock exchange term. These havebeen referred to as hybrid functionals as opposed to pure functionals. Thus, for example, the B3-LYP functional discussed below contains a mixture of 20% exact exchange with 80% of a pureexchange functional.

A Set of Functionals
HyperChem contains a number of functions and here we list eachwith the appropriate literature reference.

Exchange Functionals
Hartree-Fock
This is the normal exchange term of the Hartree-Fock equations.
Using this functional only should give the same result as a normal
ab initio SCF calculation.

320

Chapter 12

A Set of Functionals

SlaterThis is the LDA exchange result described above. Slater derived it
in a different context. Its original derivation is probably due toDirac in 1930. A good reference is one of Slater’s books.
[J.C. Slater, Quantum Theory of Molecules and Solids, Vol. 4: The SelfConsistent Fieled for Molecules and Solids (McGraw-Hill, New York,1974).]

Becke-88
This functional constituted an important step in the developmentof density functional theory for molecules. Becke included a gradient correction to Slater’s result that greatly improved the accuracy.
Like many functionals it was of the general form,EX =∑σ ∫ eXσ

LSDA

gX σ d r

where g=1 is equivalent to the Slater LSDA result but, in general, gis some function of the electron density gradientg X σ ( x ) = g X σ ( ∇ρ

σ

σ 4⁄3

⁄ (ρ )The Becke-88 functional is2

g ( x ) = 1 + ( bx ) ⁄ a ( 1 + 6bx asinh x )

where
3 3
a = ---  ------
2  4π1⁄3and b is a parameter (.0042) used to fit experiment.
The Becke-88 functional is described in the reference:[A.D. Becke, Density-functional exchange energy approximation withcorrect asymptotic behaviour, Phys. Rev. A, 38, 3098(1988).]

Quantum Mechanics

321

A Set of Functionals

Perdew-Wang-91
A large number of the available functionals both for exchange andcorrelation have been developed by J.P. Perdew and his collaborators. The Perdew-Wang-91 exchange functional is similar to the
Becke-88 functional but with a somewhat different g(x). This functional is referred to as GGA-II by Perdew and collaborators. The
functional is originally due to Perdew and Wang but the moretransparent paper upon which the HyperChem implimentation isbased is the following:[J.P. Perdew, J.A. Chevary, S.H.Vosko, K.A. Jackson, M.R. Pederson,
D.J. Sing, and C. Fiolhais, Atoms, molecules, solids, and surfaces:
Applications of the generalized gradient approximation for exchange
and correlation, Phys. Rev. B 46, 6671(1992).]

Gill-96
The Gill exchange functional is a gradient-corrected functional but
has the very simple form,g ( x ) = 1 + bx

3⁄2

with b= 1/137. It is simple enough that there might eventually be
a way to avoid the numerical integrations that plague density
functional theory.

PBE-96More recently Perdew, Burke, and Ernzerhof have developed a
GGA functional that appears to be as accurate as their GGA-II(PW91) functional but avoids the use of purely empirical parameters. Like some other functionals, both an exchange and a correlation functional have been defined. They are commonly recemmended to be used in conjunction with each other but HyperChem allows each to be considered independently. The appropriate reference for the HyperChem implimentation is:[J.P. Perdew, K. Burke, M. Ernzerhof, Generalized Gradient Approximations Made Simple, Phys. Rev. Lett. 77, 3865 (1996).]322

Chapter 12

A Set of Functionals

HCTH-98
Becke has defined a new hybrid exchange-correlation potentialthat we refer to in HyperChem as Becke-97. The pure form of thethe corresponding exchange potential (as well as the correlation
potential) has been adopted by the group of Handy et al. as convenient for defining new pure exchange and correlation potentials
that they refer to as HCTH-98 potentials.
The Becke suggestion was to express g(x) as a sum of terms in aconverging power series where the first term was essentially identical to an earlier Becke-86 (not Becke-88!) potential. Becke hassuggested 3 terms in the series and Handy et. al. have used 5 terms.
The five terms have been used to fit the potential to a set of accurate ab initio results. The exchange potential has 5 parameters andthe correlation potential has 10 parameters. Handy et. al. havedefined a number of parameter sets based on their set of molecules
being fit. HyperChem reads a set of parameters from hcth.txt as
the current set of parameters.
The HyperChem implimentation is from the following reference:[F.A. Hamprecht, A.J. Cohen, D.J. Tozer, and N.C. Handy, Development
and Assessment of New Exchange-correlation Functionals, J. Chem. Phys.
109, 6264(1998)].

Correlation Functionals
VWN#5
The VWN correlatiooin potential developed by Vosko, Wilk, andNusair is an LDA functional and one of the first relatively accurate
LDA correlation functionals. The VWN authors defined a numberof related potentials and recommended the #5 potential which is
the one implimented in HyperChem. The program from GaussianInc. originally implimented a VWN functional, but not the #5. The
VWN functional has a relatively complicate form with many
parameters, the Random Phase Approximation, Pade Approximants, etc. and has little resonance with normal quantum chemistry. The authors used the Monte Carlo results of Ceperley andAlder on the correlation energy of the uniform electron gas toextract an analytical form for the correlation functional. The
details are described in the paper:

Quantum Mechanics323

A Set of Functionals[S.H. Vosko, L. Wilk, and M. Nusair, Accurate Spin-Dependent Electron
Liquid correlation Energies for Local Spin Density Calculations: A Critical
Analysis, Can. J. Phys. 58, 1200 (1980)].

Perdew-Zunger-81
Perdew and Zunger have also developed an LDA functional for thecorrelation energy by fitting to the same numerical Monte Carlo
results of Ceperley and Alder. Their functional form is somewhat
simpler than VWN but yields similar rersults. This Perdew-Zunger81 LDA functional is sometimes used as the leading term in other
GGA correlation potentials if it is not often used in isolation.
The fundamental reference for the Perdew-Zunger-81 functional
is:[J.P. Perdew and A. Zunger, Self-Interaction Correction to Density-Functional Approximations for Many-Electron Systems, Phys. Rev. B 23, 5048
(1981)].

Perdew-86
One of the first gradient-corrected correlation functionals was thisone developed by John Perdew, also going under the name of
GGA-I when combined with a gradient-corrected exchange functional developed by Perdew and Wang [J.P. Perdew and Y. Wang,
Accurate and Simple Density Functional for the Electronic
Exchange Energy: Generalized Gradient Approximation, Phys.
Rev. B 33, 8800 (1986)]. This exchange functional and GGA-I are
not available in HyperChem although the correlation part of GGAI, i.e. Perdew-86 is.
The basis reference for the HyperChem implimentation of this gradient-corrected functional is:[J.P. Perdew, Density-Functional Approximation for the Correlation Energyof the Inhomogeneous Electron Gas, Phys. Rev. B 33, 8832 (1986)].

LYP
The Lee-Yang-Parr correlation functional is described in the following two references:[C. Lee, W. Yang, and R.G. Parr, Phys. Rev. 37, 785 (1988) and B. Miehlich, A. Savin, H. Stoll, and H. Preuss, Chem. Phys. Lett. 157, 200(1989)].

324

Chapter 12

A Set of Functionals

However, the best description associated with the HyperChem
implimentation is given by:[B.G. Johnson, P.M. Gill, and J.A. Pople, Performance of a Family of Density-Functional Methods, J. Chem. Phys. 98, 5612 (1993)].
This last reference is also a valuable paper for the general details of
how to impliment a DFT program such as the one in HyperChem.
Besides giving a straight-forward implimentation of the LYP functional, they also give the appropriate details for the VWN and
Becke-88 functionals.

Predew-Wang-91
This correlation functional is part of the GGA-II functional discussed above. The best source for the implimentation details of
this functional, although originally described by Perdew andWang, are in the previously mentioned reference,[J.P. Perdew, J.A. Chevary, S.H.Vosko, K.A. Jackson, M.R. Pederson,
D.J. Sing, and C. Fiolhais, Atoms, Molecules, solids, and surfaces:
Applications of the generalized gradient approximation for exchange
and correlation, Phys. Rev. B 46, 6671(1992).]

PBE-96
As discussed above for exchange potentials, Perdew, Burke, andErnzerhof have simplified the GGA-II functionals (PW-91) both forexchange (above) and for correlation (here). They eliminated anumber of empirical parameters without sacrificing accuracy,
according to the authors. One believes that the authors now recommend PBE-96 over PW-91 although HyperChem has both available for further clarification of the individual advantages.
The fundamental reference is:[J.P. Perdew, K. Burke, M. Ernzerhof, Generalized Gradient Approximations Made Simple, Phys. Rev. Lett. 77, 3865 (1996).]

HCTH-98
As discussed for exchange potentials, Handy et. al. have developeda many-parameter exchange-correlation functional using the ideas
of Becke-97 but without the exact Hartree-Fock exchange component. Becke has argued that accurate DFT results require a component of Hartree-Fock exchange. It is, however, more convenient

Quantum Mechanics

325

A Set of Functionals

and easier to develop fast, new DFT methods if only a pureexchange functional is used. HCTH divides into a pure exchange
functional and a pure correlation functional. The correlation functional has 10 parameters and different versions of these parameters
exist for different situations. For example, the authors recommend
a specific set of parameters for van der Waal’s interactions [Arguments have been given by others that such interactions are notexplicitly included in the standard DFT formulation!]
The basic paper describing the HCTH functional is:[F.A. Hamprecht, A.J. Cohen, D.J. Tozer, and N.C. Handy, Development
and Assessment of New Exchange-correlation Functionals, J. Chem. Phys.
109, 6264(1998)].

Custom and Hybrid Functionals
These functionals do not divide simply into a single exchange
functional and a single correlation functional.

B3-LYP
This functional, defined, by Becke, contains an exchange functional that consists of:
20% - Hartree-Fock Exchange
8% - Slater Exchange
72% - Becke-88 Exchange
plus a correlation functional that consists of:
19% VWN#5 Correlation
81% - LYP Correlation
This unusual combination [A.D. Becke, J. Chem. Phys. 98, 5648
(1993)] was empirically determined by comparing with the resultsof very accurate calculations.

B3-PW91
Like B3-LYP, this hybrid functional was detemined empirically byBecke. The components are identical to B3-LYP except that the Perdew-Wang-91 correlation functional replaces the LYP correlation
functional.

326

Chapter 12

Numerical Integration Schemes

EDF1
This functional is a slightly rearranged form of two versions ofBecke-88 (with different b parameters) plus a custom version of the
LYP correlation functional (with different a, b, c, and d parameters). It was optimized for a specific basis set (6-31+G*). It performs
better than Becke88-LYP or B3-LYP for this particular basis set anda representative set of molecules.
The basis reference is:[R.D. Adamson. P.M.W. Gill, and J.A. Pople, Empirical Density Functionals, Chem. Phys. Lett. 284, 6 (1998)].

Becke-97
As discussed in the context of HCTH-98, the Becke-97 functional
is a hybrid functional that looks like HCTH (but with 3 parameters
rather than 5, i.e 5 terms in the powers series for g(x)). It has an
admixture (19.43%) of Hartree-Fock exchange in it, as recommended by Becke. A principal difference between Becke-97 and
HCTH-98 is that HCTH is pure while Becke-97 is a hybrid. The
details of Becke-97 are given in the following reference:[A.D. Becke, Density-functional Thermochemistry. V. Systematic Optimization of Exchange-Correlation Functionals, J. Chem. Phys. 107, 8554
(1997)].

Numerical Integration Schemes
The calculation of matrix elements of FXC , the exchange-correltion matrix of the Kohn-Sham equations, requires computing integrals such as∂f∫ ∂ ρα ϕµ φν dr
Because even the simplest functional involves terms like (ρα)4/3,
analytic formulas for these integrals are not available. They mustbe performed numerically. This numerical evaluation of matrix
elements is one of the severe computational burdens of Density
Functional Theory. The integral above involves a complicatedintegrand integrated over all space. Because of the lack of a unique

Quantum Mechanics

327

Numerical Integration Schemes

origin, the presence of multiple nuclei with their associated discontinuities, etc. such an integration can be very difficult.
Fortunately, Becke [A.D. Becke, A Multicenter Numerical Integration
Scheme for Polyatomic Molecules, J. Chem. Phys. 88, 2547 (1988)] hasdeveloped a scheme for decomposing these integrations into asum of “normal” single-center integrations associated with eachnucleus -- with integrands that fall away prior to reaching the discontinuity associated with a neighboring nucleus. This integration
trick is the one used by many programs and is used by HyperChem.
It remains to specify the numerical grid used to perform the Becke
one-center integrations. These are usually decomposed into a setof radial points for dr and a set of angular points for dΩ.

Angular Integrations
Many implimentors have used Lebedev grids for the angular integration and HyperChem does the same. These grids come with discrete numbers of points and HyperChem allows up to 194 Points
in a Lebedev grid.

Radial Integrations
Two versions of radial integrations are offered in HyperChem. The
first is 32 Gauss-Chebyshev points with a substitution to modify
the range from (-1,1) to (0,infinity). The second is an EulerMacLaurin set of points as suggested Murray, Handy, and Lamming [Mol.Phys. 78, 997 (1993)]. Unlike Gauss-Chebyshev points
these points come in any specified quantity. HyperChem allows up
to 50 Euler-MacLaurin radial points.
In addition to these generic integration grids, HyperChem offers
the Standard Grid #1 (SG-1) specified by Gill, Johnson, and Pople[Chem. Phys. Lett. 209, 506 (1993)]. This is essentially 50 radial
Euler-MacLaurin points with the angular Lebedev grid dependent
on the particular value according to an algorithm they give for partitioning the radial points. For example, fewer angular points areneeded at small r near the nucleus. The SG-1 grid is built into
HyperChem as a simple standard option without having to specify
the grid further. If one desires to explore other grids one must use
a more regular (m,n) set of m radial points and n angular points.

328

Chapter 12

Numerical Integration Schemes

HyperChem tries to reduce the magnitude of the numerical integration scheme by trying to determine in advance when the integrand is negligible. An option in the user interface can assist in
reducing the effort. HyperChem allows a user to specify that any
point with an electron density less than a criterion will be
neglected. The criterion is set by the user depending on the accuracy needed in the integration. Neglecting values of electron density less than 10-6 would appear to be reasonable while still retaining chemical accuracy.

Quantum Mechanics

329

Numerical Integration Schemes

330

Chapter 12

Chapter 14
Computational Options
HyperChem provides calculations that explore molecular potential energy surfaces. Indeed, most of computational chemistry
relates in one way or another to molecular potential energy surfaces, the topography of the surface and motion on the surface.

Single Points on a Potential Energy Surface
An N-atom molecular system may be described by 3N Cartesian
coordinates. Six independent coordinates (five for linear molecules, three for a single atom) describe translation and rotation of
the system as a whole. The remaining coordinates describe themolecular configuration and the internal structure. Whether you
use molecular mechanics, quantum mechanics, or a specific computational method (AMBER, CNDO, etc.), you can ask for theenergy of the system at a specified configuration. This is called asingle point calculation.
For a diatomic molecule, for example, there is only one internal
coordinate and the energy as a function of configuration (internuclear distance) will look something like the following:331

Single Points on a Potential Energy Surface

A single point calculation at the points b, c, d, or e will give ahigher energy, E, than a single point calculation near the minimum at a.
In addition, a single point calculation yields information about
the net forces on each atom. If (XA, YA, ZA) are the Cartesian coordinates of an atom A, then the gradient (force) on atom A has thecomponents, (∂E/∂XA, ∂E/∂YA, ∂E/∂ZA). The gradient at position b
is positive for one atom and negative for the other atom in the
direction of increasing the bond length. The gradient is large at dcompared to the gradient at b, which is large compared to the gradient at points near the equilibrium distance a or near the dissociation limit e. Note that the gradient is not only zero at a minimum
but at any extreme (maximum, transition state, etc.).
For multi-dimensional potential energy surfaces a convenientmeasure of the gradient vector is the root-mean-square (RMS) gradient described by
RMS Gradient =( 3N ) –1 



∑
A

 1/2
∂E  2  ∂E  2  ∂E  2 ---------- + ----------- + ----------  ∂X 
 ∂Y 
 ∂Z  
A
A
A


(175)

For a molecular mechanics calculation the energy and the gradientare essentially the only quantities available from a single point calculation. An analysis of the components of this molecularmechanics energy is placed in the log file for further detail. In thecase of MM+, a much more complete description of the individual
332

Chapter 13

Local Minima on a Potential Energy Surface

contributions to the energy, including individual stretch energies,
bending energies, etc., is placed in the log file along with the system dipole moment, if bond dipoles are available.
For a quantum mechanical calculation, the single point calculation leads to a wave function for the molecular system and considerably more information than just the energy and gradient areavailable. In principle, any expectation value might be computed.
You can get plots of the individual orbitals, the total (or spin) electron density and the electrostatic field around the molecule. You
can see the orbital energies in the status line when you plot an
orbital. Finally, the log file contains additional information
including the dipole moment of the molecule. The level of detail
may be controlled by the PrintLevel entry in the chem.ini file.

Local Minima on a Potential Energy Surface
While you might be interested in knowing the energy or gradientat any arbitrary point on a potential surface, you might be moreinterested in classifying the extrema of the potential surface. For asimple potential surface as illustrated above, there are two significant points on the surface, the global minimum and the dissociation limit (two isolated atoms). The first describes a stable configuration of this set of atoms and the second is an important configuration if one is studying chemical reactions. Both are desirable
configurations to be obtained from an exploration of the potential
surface. In this simple case, the dissociation limit can be known
beforehand. In more complicated cases it is important to be able
to discover configurations that represent dissociation into chemical products. The subject of chemical reactions (one of the two
extrema shown above) is described below. Here we are more interested in the possibility of multiple minima on the same potential
surface.
A HyperChem optimizer attempts to find extrema on a potential
surface. That is, it finds points where all the components of thegradient vector go to zero. For the simple surface above, an optimizer would easily find the stable equilibrium configuration of the
diatomic molecule, the only minimum on the surface. It would dothis by starting at some initial guess, say point c, and iterating until
it found point a. In more complicated cases, however, the potential surface is not so simple and might be qualitatively represented
as something like the following.

Computational Options

333

Local Minima on a Potential Energy Surface

This surface has multiple minima (four) with one global minimum. Starting at a is likely to lead to A, while starting at b could
lead to B or to A depending on the shallowness of B, the step size,
etc. Neither are likely to lead to the global minimum C. This general issue of optimizers leading to local minima rather than global
minima is inherent in most procedures. The amount of effort toinsure that a minimum is a global minimum is impractical in mostproblems with many degrees of freedom.

Unconstrained Geometry Optimization
HyperChem has a set of optimizers available to explore potential
surfaces. These differ in their generality, convergence properties
and computational requirements. One must be somewhat pragmatic about optimization and switch optimizers or restart an optimizer when it encounters specific problems.
A particular problem with many optimizers relates to planar molecules. HyperChem directs optimization to proceed initially along
directions associated with the force on an atom. If the starting
point for an optimization is rigorously planar there may be no initial forces out of the plane, and optimization will lead only to the
optimum planar form, which may or may not be a relevant structure. If this is the case, a slight nudge of any atom perpendicular
to the plane will give a non-planar starting point and will lead toa lower energy non-planar structure.
HyperChem includes only unconstrained optimization. That is,given the coordinates { X , Y , Z } of a set of atoms A (the indeA A A

334

Chapter 13

Local Minima on a Potential Energy Surface

pendent variables), it attempts to find a minimum in the energy E(the objective function) as a function of the coordinates with noconstraints on the value of these coordinates. In the process, there
is no guarantee that a minimum is obtained rather than a transition state, etc. It is only guaranteed that the first derivatives haveall gone to zero. The proper characterization of all extrema
requires second derivatives which are not yet available in HyperChem.
HyperChem does not use constrained optimization but it is possible to restrain molecular mechanics and quantum mechanics calculations by adding extra restraining forces.

Optimization Methods
Unconstrained optimization methods [W. H. Press, et. al., Numerical Recipes: The Art of Scientific Computing, Cambridge University
Press, 1986, Chapter 10] can use values of only the objective function, or of first derivatives of the objective function, second derivatives of the objective function, etc. HyperChem uses first derivative information and, in the Block Diagonal Newton-Raphson
case, second derivatives for one atom at a time. HyperChem does
not use optimizers that compute the full set of second derivatives(the Hessian) because it is impractical to store the Hessian for macromolecules with thousands of atoms. A future release may makeexplicit-Hessian methods available for smaller molecules but at
this release only methods that store the first derivative information, or the second derivatives of a single atom, are used.

Steepest Descent
Steepest Descent is the simplest method of optimization. The
direction of steepest descent, g, is just the negative of the gradientvector:∂E ∂E ∂E ∂E ∂E
g = – ∇ E = –  ----------, ----------, ---------, ----------, ----------, … ∂X ∂Y ∂Z ∂X ∂Y

1

1

1

2

(176)

2

HyperChem uses the steepest descent by steps method. New
points are found by:g
x i + 1 = x i + λ i ------igi(177)

Computational Options

335

Local Minima on a Potential Energy Surface

where the step size λ is increased by a factor of 1.2 for the next stepi
if the energy at x
is lower than at x , or decreased by a half if
i+1ithe energy has risen.
The steepest descent by steps method may provide a reasonably
good method to begin an optimization when the starting point is
far from the minimum. However, it converges slowly near theminimum and it is principally recommended only to initiate optimization when the starting point is particularly bad.
The principal difficulty with steepest descent is that the successive
directions of search, g , g , ... are not conjugate directions.
i i+1
Searching along the successive directions of steepest descent
might, for example, keep skipping back and forth across a long narrow valley. A conjugate direction would be along the long narrowvalley. Conjugate gradient methods are a considerable improvement over steepest descent methods and involve search down conjugate directions rather than steepest descent directions.

Conjugate Gradient Methods
If you iterate in the steepest descent method, you are recomputing
the first derivatives all the time but not essentially looking at how
these first derivatives are changing. A better approach would be touse the information on a history of first derivatives to implicitly(or, explicitly, if the Hessian could be stored) gather second derivative information. The basis of conjugate gradient methods is thatthe history of first derivatives allows a more intelligent search
direction than just the direction of steepest descent. These methods search in conjugate gradient directions h rather than simpleisteepest descent directions g .
iAnother difference from steepest descent is that a one-dimensional minimization is performed in each search direction. A line
minimization is made along a direction h until a minimumienergy is found at a new point i+1; then the search direction is
updated and a search down the new direction h
is made. Thisi+1
is repeated until convergence is obtained. The line minimization
method takes increasing steps along the search direction until aminimum in that direction is bracketed. It then interpolates to the336

Chapter 13

Local Minima on a Potential Energy Surface

minimum of the cubic polynomial fit to the energy and its directional derivative at the bracketing points.
If a surface is quadratic it can be characterized by its Hessian matrix
A of second derivatives of the energy with respect to the Cartesian2
coordinates of the atoms A, B, ..., i.e. A = ∂ E/∂X ∂Y , etc. Theij
A B
conjugate directions are defined as a set of 3N search directions
having the property that for a quadratic surface a successive searchdown 3N conjugate directions leads to the exact minimum. The
conjugate directions are defined by:hi • A • hj = 0(178)

Conjugate Gradient methods compute the conjugate directions hiby iterative computation involving the gradient g withouti
recourse to computation of second derivatives. The steps in a conjugate gradient minimization are:
1. A starting point is defined and the initial conjugate direction
is chosen to be the steepest descent direction, h0 = g .
02.

A line minimization is performed along the conjugate direction h until a minimum is found that defines the next point,iwhere the gradient is re-evaluated as g . If the RMS gradienti+1
is below the convergence threshold the procedure is terminated, otherwise:

3. The conjugate dire direction is updated according to the formula, hi+1 = gi+1 + γi+1hi , where the the coefficient g
isi+1
computed from the new and old gradients g
and g . Twoi+1islightly different procedures for computing this coefficient areused in HyperChem and the two procedures are referred to as
the Fletcher-Reeves method and the Polak-Ribiere method.
4. A return to step 2 is made with the new conjugate direction.

Fletcher-Reeves
This procedure computes the coefficient g
as:i+1
gi + 1 • gi + 1
γ i + 1 = ---------------------------gi • gi

(179)

Computational Options

337

Local Minima on a Potential Energy Surface

The conjugate direction is reset to the steepest descent direction
every 3N search directions or cycles, or if the energy rises between
cycles.

Polak-RibiereThis procedure computes the coefficient g
as:i+1( gi + 1 –gi ) • gi + 1
γ i + 1 = ----------------------------------------gi • gi

(180)

For quadratic functions this is identical to the Fletcher-Reeves formula but there is some evidence that the Polak-Ribiere may besomewhat superior to the Fletcher-Reeves procedure for non-quadratic functions. It is not reset to the steepest descent direction
unless the energy has risen between cycles.

Newton-Raphson Methods
The full Newton-Raphson method computes the full Hessian A of
second derivatives and then computes a new guess at the 3N coordinate vector x, according to
xi + 1 = x i + A –1 • gi

(181)

Numerous optimization methods aim at approximating the Hessian (or its inverse) in various ways.

Block Diagonal Newton-Raphson
The block diagonal Newton-Raphson method is an option for
MM+ minimizations only. This method derives from Allinger's
original MM2 program. It retains diagonal blocks of the Hessian
associated with individual atoms and neglects off-diagonal blocks
coupling the minimization of two different atoms.
Pragmatically, the procedure considers only one atom at a time,computing the 3x3 Hessian matrix associated with that atom andthe 3 components of the gradient for that atom and then inverts
the 3x3 matrix and obtains new coordinates for the atom according to the Newton-Raphson formula above. It then goes on to thenext atom and moves it in the same way, using first and second
derivatives for the second atom that include any previous motionof atoms.

338

Chapter 13

Transition Structures on a Potential Energy Surface

The procedure uses second derivative information and can bequite efficient compared to conjugate gradient methods. However,the neglect of coupling in the Hessian matrix can lead to situations
where oscillation is possible. Conjugate gradient methods,
although perhaps slower in reaching a minimum, implicitly
involve the full Hessian.

Powell’s Conjugate Directions
A conjugate direction method attempts to find search directions
that are “non-interfering” or conjugate. This means that if you
optimize along a direction u to a minimum and then along a new
direction v, the optimization along v will not “spoil” the optimization along u.
Powell’s method starts with a coordinate vector xi and searches
along some direction ui to find a new coordinate vector xi+1. A
new search direction ui+1 then becomes xi+1 - xi. This is continued
until a set of search directions, {ui, i=1..3N} are conjugate and aminimum is found.

Transition Structures on a Potential Energy Surface
As indicated earlier, potential energy surfaces are usually quite
complex, with more than one minimum on the surface. In theillustration above, the potential surface had four minima that werediscussed in the geometry optimization section. Between theenergy minima there are three transition structures, located at the
local maximum energy values along the reaction coordinate path.
HyperChem has two methods to locate the transition energy structures: eigenvector following and synchronous transit.
Exploring reaction mechanisms is a major challenge for chemical
theory. The geometries of reactants and products may generally beobtained using wide range of spectroscopic methods. The same
techniques provide little if any information about connecting
pathways. Activation energies, i.e., energies of transition structures
relative to reactants, can also be experimentally determined inmost cases. Geometries of transition structures, local energy maxima along such reaction pathways, usually can only be hypothesized from theory. Computational methods can also be applied tocharacterize short-lived reactive intermediates, which correspondto shallow local minima on the potential energy surface. Such
Computational Options

339

Transition Structures on a Potential Energy Surface

reactive intermediates frequently can be determined experimentally, but detailed information about their geometries is usually
very difficult to obtain.
Theory can be used to examine any arrangement of atoms in amolecule. A reaction potential surface can be explored to any
desired degree, using the same computational methods as forgeometry optimization of reactants and products. In theory, it ispossible to determine whether or not a given structure corresponds to a local minimum (stable intermediate) or a saddle point(transition structure). Favored reaction pathways can then be
obtained as those involving progression from reactants to products over the lowest-energy transition structures.
The success of simple theoretical models in determining the properties of stable molecules may not carry over into reaction pathways. Therefore, ab initio calculations with larger basis sets may be
more successful in locating transition structures than semi-empirical methods, or even methods using minimal or small basis sets.
Nevertheless, this area is one of the richest fields for chemical theory, with great potential to deepen our understanding of the way
chemical reactions occur.

Transition States Search Methods
In HyperChem, two different methods for the location of transition structures are available. Both are the combinations of separate
algorithms for the maximum energy search and quasi-Newton
methods. The first method is the eigenvector-following method,
and the second is the synchronous transit method.

Eigenvector Following Method
HyperChem uses the eigenvector following method described in
Baker, J., J. Comput. Chem., 7, 385-395 (1986), where the details of
the procedures can be found.
The eigenvector following algorithm comprises several consecutive steps. First is needed to make an initial guess X of the positionof the transition state. The gradient vector g and the Hessian
matrix H at the initial point are then calculated (or estimated). If
analytical second derivatives are available in the calculational
method, the exact Hessian can be calculated. For the other wave
functions, the Hessian can be estimated by stepping through each

340

Chapter 13

Transition Structures on a Potential Energy Surface

variable and doing a finite-difference calculation on the gradient.
The second step involves the diagonalization of the Hessian anddetermination of the local surface characteristics, i.e., the numberof negative eigenvalues. Then g is transformed into the local Hessian modes F=Ug.
The next step depends on the structure of the Hessian. If the Hessian has the wrong number of negative eigenvalues (more thanone) then the next step would be P-RFO step, which involves separation of positive and negative hessian eigenvalues, that gives
two matrix equations. If the mode following has been switchedon, then eigenvector followed will be saved. The subsequent steps
will determine which Hessian mode has the greatest overlap withthe eigenvector followed on the previous cycle, and save and follow this mode.
The next step will determine optimization convergence. If the criteria are satisfied, HyperChem will stop at this point, having foundthe position of the transition state. If convergence criteria are notsatisfied, it will calculate the energy and gradient vector at the new
point, provided that maximum number of steps has not been
exceeded.

Synchronous Transit Method
HyperChem uses the synchronous transit method described inPeng, C., and Schlegel, H.B., Israel Journal of Chemistry, 33, 449-454(1993), and the details of the method can be found there.
The synchronous transit method is combined with quasi-Newton
methods to find transition states. Quasi-Newton methods are very
robust and efficient in finding energy minima. Based solely on
local information, there is no unique way of moving uphill fromeither reactants or products to reach a specific reaction state, since
all directions away from a minimum go uphill.
HyperChem has two synchronous transit methods implemented.
The linear synchronous transit method (LST) searches for a maximum along a linear path between reactants and products. It may
happen that this method will end up with a structure having two
or more negative eigenvalues. The quadratic synchronous transit
method (QST) is an improvement of LST approach and searches fora maximum along a parabola connecting reactants and products,
and for a minimum in all directions perpendicular to the parabola.

Computational Options

341

Molecular Dynamics on a Potential Energy Surface

Let X, R and P be the coordinates of the current point, the reactants, and products. (Note that it is necessary to evaluate thegeometries of the reactants and products using the same methodor the same basis set as the one used here to calculate the transition structure). In the linear synchronous transit approach, X is ona path that is a linear interpolation between R and P. The quadratic
synchronous transit method uses a curved path through X, R and
P. In both cases, a maximum is found along the path. The tangent
to the synchronous transit path (LST or QST) is used to guide theoptimization to the quadratic region of the transition state. Thenthe tangent to the path is used to choose the best eigenvector forthe ascent direction and the quasi-Newton method is used to complete the optimization. It is also possible to use an eigenvector-following step to complete optimization.

Molecular Dynamics on a Potential Energy Surface
HyperChem uses molecular mechanics or quantum mechanics tocompute a potential energy surface. This surface is the energy of amolecular system as a function of the 3NCartesian coordinates of
the N atoms comprising the molecular system. Having obtainedsuch a surface or having a method to determine the energy and its
derivatives at any point on the surface, you are in a position toinvestigate many chemical phenomena.
Reality suggests that a quantum dynamics rather than classicaldynamics computation on the surface would be desirable, butmuch of chemistry is expected to be explainable with classicalmechanics only, having derived a potential energy surface withquantum mechanics. This is because we are now only interested in
the motion of atoms rather than electrons. Since atoms are muchheavier than electrons it is possible to treat their motion classically. Quantum scattering approaches for small systems are available now, but most chemical phenomena is still treated by a classical approach. A chemical reaction or interaction is a classical trajectory on a potential surface. Such treatments leave out phenomena such as tunneling but are still the state of the art in much ofcomputational chemistry.

342

Chapter 13

Molecular Dynamics on a Potential Energy Surface

Temperature
Classical mechanics involves studying motion (trajectories) on thepotential surface where the classical kinetic energy equates to thetemperature. The relationship is that the average kinetic energy of-12
2
2
the N atoms, 1/2 N Σ m ( v+v+v) is equated to
A A xAyA
zA
3/2 kT, where m is the mass of the Ath atom, v
is the x-compoAxA
nent of the velocity of the Ath atom, k is the Boltzmann constantand T is the temperature. When the number of degrees of freedom
in the microscopic system is small, the relationship between the
average velocity and the macroscopic temperature may be dubious
unless many different configurations of the microscopic system
are considered. For example, to study a reaction at a specific temperature requires using a Boltzmann distribution of initial conditions for the reacting (or non-reacting) trajectory.

Statistical Averaging
Statistical mechanics states that the macroscopic values of certain
quantities, like the energy, can be obtained by ensemble averaging
over a very large number of possible states of the microscopic system. In many realms of chemistry, these statistical averages arewhat computational chemistry requires for a direct comparison
with experiment. A fundamental principle of statistical mechanics, the Ergodic Hypothesis, states that it is possible to replace anensemble average by a time average over the trajectory of the
microscopic system. Molecular dynamics thus allows you to compute a time average over a trajectory that, in principle, represents
a macroscopic average value. These time averages are fundamental
to the use of molecular dynamics.

Background
This section describes a minimal theoretical background so you
can understand the process of creating a classical molecular
dynamics trajectory and use it to obtain a visual or statisticalresult.

Computational Options

343

Molecular Dynamics on a Potential Energy Surface

Newton's Equations of Motion
A classical molecular dynamics trajectory is simply a set of atoms
with initial conditions consisting of the 3N Cartesian coordinatesof N atoms A (X , Y , Z ) and the 3N Cartesian velocities (v ,A A A
xA
v , v ) evolving according to Newton's equation of motion:
yA zA
a xA = dv xA ⁄ dt = ( m A ) – 1 F xA = ( m A ) –1 ∂E ⁄ ∂X A

(182)

where ais the acceleration in the X direction of atom A, andxA
F
is the total force in the X direction on atom A arising from allxA
the other atoms.

Leap-frog Algorithm
The leap-frog algorithm uses the simplest central difference formula for a derivativedff ( t + ∆t ) – f ( t – ∆t )----- = ----------------------------------------------dt
2∆t

(183)

as the basis for a simple iterative scheme to integrate Newton's
equations of motion. If v-1/2 is a first guess at a velocity (for thetime t0 - 1/2∆t) and x0 is a position at time t0, then by computing
first a new velocity, then a new coordinate, then a new velocity,
etc., we can integrate as follows:v 1 = v 1 + a 0 ∆t

(184)

x 1 = x 0 + v 1 ⁄ 2 ∆t

(185)

v 3 ⁄ 2 = v 1 ⁄ 2 + a 1 ∆t

(186)

x 2 = x 1 + v 3 ⁄ 2 ∆t

(187)

--2

– --2

The new coordinates (x) and accelerations (a) are computed at
integral times and the velocities (v) at half integral times. The time
step ∆t entered by the user is the time between evaluations of a,i.e., ∆t= t1 - t0. The temperatures reported at integral times are theaverages of the values on either side, determined from vi+1/2 andv -1/2i344

Chapter 13

Molecular Dynamics on a Potential Energy Surface

Statistical Mechanical Averages
Statistical mechanical averages in a molecular dynamics run are
obtained by simply averaging an energetic or structural value overtime steps. Thus if the values {xi, i} are being computed in a trajectory, the statistical mechanical average is just1〈 x〉 = ---N

N

∑ xi

(188)

i=1

For purposes of exploring fluctuations and determining the convergence of these statistical averages the root mean square (RMS)
deviation in x is also computed:
D x = [ 〈 x 2〉 – 〈 x〉 2] 1 / 2(189)

Random Velocities or Restart Velocities
As described previously, the Leap-frog algorithm for molecular
dynamics requires an initial configuration for the atoms and an
initial set of velocity vectors v-1/2. These initial velocities can comefrom two sources; the status of the HyperChem molecular dynamics Restart check box determines the source of these velocities.
If Restart is not checked then the velocities are randomly assigned
in a way that leads to a Maxwell-Boltzmann distribution of velocities. That is, a random number generator assigns velocities according to a Gaussian probability distribution. The velocities are thenscaled so that the total kinetic energy is exactly 3/2 kT where T is
the specified starting temperature. After a short period of simulation the velocities evolve into a Maxwell-Boltzmann distribution.
If Restart is checked then the velocities are the existing assigned
velocities derived from a previous molecular dynamics simulation
or included in the HIN file when it was first read in. You can thus
restart a trajectory at exactly the point it was terminated by using
the Restart check box.
The Restart check box can be used in conjunction with the explicit
editing of a HIN file to assign completely user-specified initial
velocities. This may be useful in classical trajectory analysis ofchemical reactions where the initial velocities and directions of
the reactants are varied to statistically determine the probability ofComputational Options

345

Molecular Dynamics on a Potential Energy Surface

reaction occurring, or not, in the process of calculating a rate constant.

The Basic Phases of a Trajectory
A given molecular dynamics trajectory can be divided into three
sequentially-ordered phases:•

Heating•

Running•

Cooling

Any one of these is optional. The running phase is often thoughtof as first an equilibration phase and then an averaging phase,
although HyperChem does not specifically distinguish these two.
The heating phase is used to take a molecular system smoothly
from lower temperatures, indicative of a static initial (possibly
optimized) structure, to the temperature T at which it is desired toperform the molecular dynamics simulation. The run phase thenconstitutes a simulation at temperature T. If the heating has been
done carefully, it may be possible to skip the equilibration phaseand start collecting statistics immediately. If the heating has been
done rapidly, then it may be necessary to run the simulation for an
extended period of time to equilibrate the sample fully prior to collecting statistics. The cooling phase is simply to enable simulated
annealing as discussed below. Proper heating and equilibration areappropriate to the use of molecular dynamics in studying equilibrium statistical mechanical properties but may not be relevant for
certain non-equilibrium studies.

The Fundamental Time Step
Molecular dynamics involves the integration of Newton's equations of motion. To perform this integration, a discrete time step,∆t, must be used. A large value of this fundamental time step will
result in inaccurate integration, and a small value will waste computer resources taking very small steps. The appropriate value ofthe time step is related to the frequency of the motions involved,
which are in turn related to the value of force constants andatomic masses. Large force constants and small masses imply highfrequency motion and need small time steps to preserve integration accuracy. If too large a time step is used, it is possible to have

346

Chapter 13

Molecular Dynamics on a Potential Energy Surface

a basic instability in the equations that results in a molecule blowing apart, i.e. in the molecular coordinates becoming too large,
inappropriate, etc.
The time step should be at least an order of magnitude lower than
the shortest period of internal motion. If hydrogens are present ina system near room temperature a value of 0.5 femtoseconds(0.0005 ps) is usually appropriate.

Heating and Cooling
If the heating time th or cooling time t are non-zero, or if the run
ctime t is non-zero and constant temperature is selected, velocitiesr
are adjusted (rescaled) during the molecular dynamics run tochange the temperature of the system.
In the heating phase (assuming th is non-zero), the velocities are
periodically rescaled to change the system temperature from theinitial temperature T1 to the simulation temperature T2 in increments of the temperature step ∆T. The heating period for rescaling
the velocities, Ph, is defined by:t∆T
P h = ----h- × --------------------∆t T 2 – T 1(190)

where ∆t is the integration time step. Thus every P steps in thehheating phase, the current velocities v +1/2 are rescaled to giveivelocities v' +1/2 with the desired temperature T :i

v′ i + 1 ⁄ 2 =dTd
× vi + 1 ⁄ 2----------------Ti + 1 ⁄ 2(191)

where i is the step number and T +1/2 is the temperature correi
sponding to the velocities v +1/2 (rather than the temperatureireported for step i that is the average of T -1/2 and T +1/2). Theii
scaled velocities v' +1/2 are used to compute the next set of atomicicoordinates. The desired temperature T is incremented from T1 tod
T2 in increments of the temperature step ∆T (for the final heat
phase rescaling at th, T is set to T2). Note that the heating phased
may actually be used to cool the system if T1 is greater than T2.
In the cooling phase (assuming t is non-zero), the velocities arecperiodically rescaled to change the system temperature from therun temperature T2 to the final temperature T in increments of3

Computational Options

347

Molecular Dynamics on a Potential Energy Surface

the temperature step ∆T. The cooling period for rescaling the velocities, P , is defined by:ct∆T
P c = ----c- × --------------------∆t T 2 – T 3(192)

where ∆t is the integration time step. Thus every P steps in theccooling phase the current velocities v +1/2 are rescaled to giveivelocities v' +1/2 with the desired temperature T as in the heatingidphase, except that the desired temperature T is changed from T2
dto T3, again in increments of the temperature step ∆T (for the final
cooling phase, rescaling at th+ t + t , T is set to T3). Note that ther c dcooling phase may actually be used to heat the system if T3 isgreater than T2.
When using the heating and cooling features of HyperChem itshould be remembered that it is accomplished through rescaling of
the velocities, so if the velocities are zero no temperature canoccur. This happens, for example, if you start with an exactly optimized structure and heat from a starting temperature T1 of zero, or
use the restart option when velocities are all zero.
It is also desirable to let the system equilibrate somewhat at eachvalue of T . This may be accomplished by increasing the rescalingdperiods Ph and P through a longer cooling time or larger temperc

ature step, though the larger the temperature step, the greater the
perturbation to the system when rescaling. A compromise value of∆T needs to be chosen that allows sufficient equilibration at eachtemperature but does not unduly perturb the system when rescaling.

Equilibration at a Temperature T
When using molecular dynamics to study equilibrium properties
like enthalpy (the average energy), etc., you want the average overa trajectory to be equivalent to an ensemble average. This means
the system must be in equilibrium; the initial conditions havebeen forgotten and you are sampling from a set of phase space configurations representative of the macroscopic equilibrium state.
You should not begin sampling for the purpose of collecting statistical averages until this equilibration is performed. The lack of any
long term drift is one indication of possible equilibration. To
achieve equilibration to a temperature T, it may be necessary torescale velocities through the use of the constant temperature bath
348

Chapter 13

Molecular Dynamics on a Potential Energy Surface

algorithm, (the use of a heating phase with a small temperature
step and overall temperature change such as one degree or less) orby re-initializing periodically. Equilibration requires the temperature to fluctuate about the requisite value T.
Naturally, the study of non-equilibrium properties involves different criteria although the equilibrium state and evolution towards
the equilibrium state may be important.

Collecting Data
Subsequent to equilibration, averages over the trajectory can beaccumulated to describe statistical mechanical properties. For
example, to calculate an average bond length, the bond should
first be selected, prior to collecting molecular dynamics data or
playing back snapshots, and made a named selection with theSelect/Name Selection menu item. Then, the named selection
should be placed in the Average only or Avg. & graph column ofthe Molecular Dynamics Averages dialog box invoked by the Averages button of the Molecular Dynamics Options dialog box. A
molecular dynamics simulation will then average the bond length.
The average may be viewed after the sampling by re-opening the
Molecular Dynamics Averages dialog box and selecting the desired
property, so that it is outlined, in the Average only or Avg. & graphcolumn. If a graph was requested, the average appearing here isequivalent to the average over the simulation or playback period.
In deciding the convergence of these averages, the RMS deviationof a value from its average (i.e., Dx) may be a very useful indicator.

Free Dynamics or Constant Temperature Dynamics
If the Constant temperature option has not been selected,
HyperChem’s molecular dynamics uses constant volume and constant total energy corresponding to a microcanonical ensemble.
The temperature then becomes something to be calculated rather
than specified (it is used, however, to specify the initial kinetic
energy). This is free dynamics. The total energy remains constant
but there is a free flow of energy back and forth between the potential energy and the kinetic energy (the temperature). If, initially,
the system is far from equilibrium (high potential energy), potential energy is converted to kinetic energy as the trajectory evolves
and the temperature rises significantly from the initial temperature. If a molecular dynamics simulation is stopped and started
again without the Restart box being checked, a re-equilibration ofComputational Options

349

Molecular Dynamics on a Potential Energy Surface

velocities will be performed and such excess energy purged. The
temperature always fluctuates, however, rather than remaining
constant, and may continue to drift as the trajectory evolves.
Berendsen et al. [H. J. C. Berendsen, J. P. M. Postma, W. F. van Gunsteren, A. di Nola, and J. R. Haak, J. Chem. Phys. 81, 3684 (1984)]
have described a simple scheme for constant temperature simulations that is implemented in HyperChem. You can use this constant temperature scheme by checking the constant temperaturecheck box and specifying a bath relaxation constant t. This relaxation constant must be equal to or bigger than the dynamics step
size Dt. If it is equal to the step size, the temperature will be kept
as close to constant as possible. This occurs, essentially, by rescaling the velocities used to update positions to correspond exactly tothe specified initial temperature. For larger values of the relaxation
constant, the temperature is kept approximately constant bysuperimposing a first-order relaxation process on the simulation.
That is:( Td – T )dT------- = ------------------τ
dt

(193)

where T is the specified desired temperature. This is accomplisheddby scaling the velocities every time step during the running phasebyv′ i + 1 ⁄ 2 =Td∆t ----------------– 1 × ----- + 1 × v i + 1 ⁄ 2
T
 τ

(194)

i+1⁄2

If the relaxation constant is large there is little effect on a trajectory
apart from the long term drift towards fluctuation about T , anddthe reduction of cumulative numerical roundoff error.

Data, Averaging, Snapshot, and Screen Refresh Periods
HyperChem includes a number of time periods associated with a
trajectory. These include the basic time step in the integration of
Newton's equations plus various multiples of this associated withcollecting data, the forming of statistical averages, etc. The fundamental time period is ∆t1 ≅ ∆t, the integration time step set in the
Molecular Dynamics dialog box.

350

Chapter 13

Molecular Dynamics on a Potential Energy Surface

The Data Collection Period
HyperChem runs the molecular dynamics trajectory, averaging
and analyzing a trajectory and creating the Cartesian coordinatesand velocities. The period for reporting these coordinates andvelocities is the data collection period ∆t2. It is a multiple of thebasic time step, ∆t2 = n2 ∆t1, and is also referred to as a data step.
The value n2 is set in the Molecular Dynamics options dialog box.

The Statistical Averaging Period
You can average and plot various energetic and structural quantities and save the instantaneous values in a file (in comma separated value, or CSV format). The period for such activity is called
the Average/graph period ∆t3. The quantities to be averaged arethus collected at times t0, t0 + ∆t3, t0 + 2∆t3, etc. The Average/graphperiod is specified in the Averages dialog box by n data steps, i.e.
3
as a multiple of the data collection period, ∆t3 = n3 ∆t2.

The Snapshot Collection Period
HyperChem can store a file of snapshots of a trajectory for subsequent analysis. The period for doing so is referred to as the Snapshot period ∆t . The snapshots are made at times t0, t0 + ∆t4, t0 +42∆t4, etc. The Snapshot period is specified in the Snapshot dialog
box by n4 data steps, i.e. as a multiple of the data collection period,∆t4 = n4 Dt2.

The Screen Refresh Period
HyperChem updates the screen during a trajectory at regular intervals so you can visualize the trajectory. Since this screen update
may slow down a trajectory if it occurs too frequently, you canspecify the duration of the Screen Refresh period ∆t5. The screen
updates at times t0, t0 + ∆t5, t0 + 2∆t5, etc. The Screen Refresh
period is specified in the Molecular Dynamics options dialog box
by n5 data steps, i.e. as a multiple of the data collection period,∆t5 = n5 ∆t2.

Averaging Energetic and Structural Data
Statistical mechanical averaging is a fundamental aspect of molecular dynamics. While there may be many reasons for wanting to
generate a molecular dynamics trajectory, using it to obtain statisComputational Options

351

Molecular Dynamics on a Potential Energy Surface

tical mechanics averages may be the most common. In the microcanonical ensemble of constant volume and number of particles,
the appropriate equilibrium macroscopic average of some variable
x(r) depending on the configuration r of the particles is given by,
1〈 x〉 =  --- Z∫V ( r )x ( r )exp  – ----------- dr
 kT 

(195)

where Z is the partition function and exp [-V(r)/kT] is the Boltzmann factor associated with the potential energy of the configuration r. By the nature of the ergodic hypothesis, any equilibrium
value computed this way can also be computed by a time average
from a molecular dynamics trajectory. That is:1〈 x〉 = ---N

N

∑

i=1

1
x i = ---NN

∑ x ( r i, t i )

(196)

i=1

where the xi are the values of x at time step i. In addition to equilibrium values, it is possible to compute dynamic values, like correlation functions, from the molecular dynamics approach.
Although HyperChem includes no specific facility for such
dynamic properties, the values stored in the *.csv file or the snapshots of the trajectory in a *.csv file can be used off-line to computecorrelation functions.

Averaging Energetic Values
You can request the computation of average values by clicking the
Averages button in the Molecular Dynamics Options dialog box todisplay the Molecular Dynamics Averages dialog box. The energetic quantities that can be averaged appear in the left Selection
column. When you select one or more of these energetic quantities(EKIN, EPOT, etc.) and click Add, the quantity moves to the Average Only column on the right. You can move quantities back to
the left column by selecting them and clicking Del. Quantities
residing in the Average Only column are not plotted but are written to a CSV file and averaged over the molecular dynamics trajectory. If you return to this dialog box after generating the trajectoryand select one of the quantities so that the outline appears aroundit in the Average Only column, the average value over the last trajectory is displayed at the bottom of the column next to the word
“Value”.
352

Chapter 13

Molecular Dynamics on a Potential Energy Surface

Quantities, which are selected from the Averages Only column andadded to the Avg. & graph column, will be written out and averaged, as described above, but will also be plotted on the molecular
dynamics graph. To inspect the computed average value, select thequantity so that the outline appears around it and the average isdisplayed beside Value.
HyperChem allows the computation and display of the potential
energy (EPOT), the kinetic energy (EKIN), or the total energy ETOT= EPOT + EKIN. The temperature (TEMP) can also be chosen for
averaging or plotting but is simply related to EKIN by EKIN = 3/2
Nk TEMP.
For free dynamics where the constant temperature check box in
the Molecular Dynamics dialog box is not checked, the totalenergy ETOT should remain constant. A fluctuation of the total
4energy about its average value of about 1 part in 10 is normallyconsidered acceptable. A larger fluctuation, or a drift in the totalenergy, is symptomatic of an unphysical phase space trajectory,
and generally indicates that the time step is too large. In freedynamics, however, the individual kinetic and potential energy
contributions to this total energy will fluctuate.
For constant temperature dynamics where the constant temperature check box in the Molecular Dynamics Options dialog box ischecked, the energy will not remain constant but will fluctuate asenergy is exchanged with the bath. The temperature, dependingon the value set for the relaxation constant, will approach constancy.
In addition to the energy quantities EKIN, etc., it is possible toaverage and plot their standard deviations D EKIN, etc. as
described below.

Averaging Named Selections
In addition to averaging and plotting energetic values associatedwith a trajectory, it is possible to average or plot structural quantities. The structural quantities that can be averaged are those that
represent 2, 3, or 4-atom structural variables. Monitoring such avalue represents a study of diffusion. A 2-atom structural quantity
is a distance between atoms; any bonded or nonbonded interatomic distance can be monitored. A 3-atom structural quantity isan angle, and a 4-atom structural quantity is a dihedral angle.

Computational Options

353

Molecular Dynamics on a Potential Energy Surface

To average or plot a structural quantity, the structural quantity
must first be selected and named by the normal process for creating named selections (select the atoms and then use the menu
item Select/Name Selection to give the selected atoms a name).
From then on the Molecular Dynamics Averages dialog box willshow these named selections as possible candidates to be averaged
or plotted in addition to energetic quantities described above.
To average a torsion, select the four atoms of the torsion, name thetorsion “tor,” for example, and then select “tor” as the quantity to
be averaged from the Molecular Dynamics Averages dialog box.

Deviations from the Average
In addition to being able to plot simple instantaneous values of aquantity x along a trajectory and reporting the average, <x>,HyperChem can also report information about the deviation of x
from its average value. These RMS deviations may have particularsignificance in statistical mechanics or just represent the process of
convergence of the trajectory values.
If a request for a deviation in a quantity x is made, the instantaneous values that are plotted represent:
Dx = [ 〈 x 2〉 i – 〈 x〉 i2 ] 1 / 2(197)

The i subscripts emphasize that the averaging is only up to the current step in the trajectory, not necessarily over the whole trajectory:
1〈 x〉 i = --i

i

∑ xj

(198)

j=1

The single average value that is reported for this quantity in the
Molecular Dynamics averages dialog box is the limit reached by
the plotted values at i=N, i.e. the RMS value of x:[ 〈 x 2〉 – 〈 x〉 2 ] 1 / 2 = 〈 ( x – 〈 x〉 ) 2〉 = lim Dx
i→N

(199)

In summary, for x, the average value is the average of the plottedvalues; for Dx the average value is the final value of the plotted values.

354

Chapter 13

Molecular Dynamics on a Potential Energy Surface

The CSV File
When a molecular dynamics average is requested over a trajectory,
certain quantities can be plotted as previously described. It is desirable, however, to allow the user to collect a full set of appropriate
data values for possible custom use. Since HyperChem is not a fullplotting package, it cannot allow you every desired plot. Therefore,
HyperChem collects the basic data used for averaging and plotting
into a comma-separated-values file, with the extension .csv, forgeneral use in other applications. For example, the values can bereadily brought into Microsoft Excel and plotted and manipulated
in innumerable ways using the convenient plotting and statisticalanalysis features of Excel.
For every quantity you request to average, a column of the CSV filecontains the N values of x . These are exactly the values that areiplotted, and can be used to create further custom averages. For
example, if you were interested in NMR, you might wish to average<r 3> for certain internuclear distances r. The instantaneous valuesof r could be placed in the chem.csv file and a spreadsheet program
such as Microsoft Excel be used to generate and plot values of r 3
and its average over various regions of the trajectory.

Plotting Instantaneous Values Along the Trajectory
Molecular dynamics is essentially a study of the evolution in timeof energetic and structural molecular data. The data is often best
represented as a graph of a molecular quantity as a function oftime. The values to be plotted can be any quantity x that is being
averaged over the trajectory, or the standard deviation, Dx. You
can create as many as four simultaneous graphs at once.
While you can follow the progress of a trajectory, you cannot get
publication quality graphs from HyperChem. You can, however,
use the information in the CSV file with other programs for creating graphs for publication.

Obtaining and Understanding MD Graphs
The graph associated with choosing an x is just the sequence ofvalues of x as a function of i. The values of i run from i=0 to i=Niwhere N is the total number of time steps requested, i.e. the total
run time in picoseconds divided by the time increment ∆t. The
graph appears in a fixed-size window with the total graph (deter-

Computational Options

355

Molecular Dynamics on a Potential Energy Surface

mined by the value of N) scaled to fit the window, if necessary. The
plot lines appear only after enough points (the number of points
is set by the chem.ini setting DynamicsGraphOnset) have beencreated to establish an initial vertical scale for the graph. The graphthen fills all of the vertical space apart from a single pixel. The vertical scale factor is kept constant unless you explicitly request a rescaling by clicking on the rescale button (or performing the equivalent by pressing the space bar). If no rescaling is performed theplot may go off scale and not be seen until a rescale is performed.
As many as four plots are possible with colors red, green, blue andblack. Each plot is scaled independent of the others and the colored labels identify the minimum and maximum of the plot andthe name of the quantity being plotted. In addition to the valuesof x, the RMS deviation in x (Dx) can be plotted. The plot of Dx
converges to the RMS deviation of x at the end of the run and represents the current value of the RMS deviation at any point in theplot.
You can request a plot by selecting a quantity from the Averages
Only column of the Molecular Dynamics Averages dialog box andpassing it to the right (to the Avg. & graph column) by clicking the
Add button. Only four quantities can be plotted as indicated bytheir presence in this last column of the dialog box. A molecular
dynamics run with any quantity in the Avg. & graph column automatically pops up the Molecular Dynamics Results window toshow requested plots. This window is of fixed size and cannot be
resized, but can be moved or iconized to place it out of the way. It
can always be made visible again by double-clicking on the icon.
In addition to the plots and their labels, the window contains two
buttons, one (Rescale) for rescaling the plot and one (Done) for
deciding that plots are to be discontinued. Discontinuing the plotting of values does not terminate the trajectory. If new values areto be plotted, the trajectory must be terminated (by selecting Cancel from the Menu bar or by pressing the [Esc] key) and restarted
using the restart check box in the Molecular Dynamics Options
dialog box. Restarting the trajectory results in no discontinuity inthe trajectory but does initiate averaging from scratch. If complete
continuity is desired it may be necessary to save the CSV file prior
to restart and concatenate individual CSV files.

356

Chapter 13

Molecular Dynamics on a Potential Energy Surface

Placing Graphs into Other Documents
Since the Molecular Dynamics Results window containing plots isa true window, an image of it alone can be captured into the clipboard or a file using Top-level in the File/Preferences/Setup Image
dialog box. This captured image, in addition to showing themolecular dynamics plots, shows the Restart and Done buttons,
etc. If you only want the plots, you can erase the details of the box
with a paint program, such as Microsoft Windows Paintbrushwhich comes with Microsoft Windows.

Collecting Trajectory for Subsequent Playback
Particularly in the past, molecular dynamics has been batch-oriented where the trajectory is calculated as a one-shot operation
requiring large amounts of computer time over a period of months
with the trajectory being stored on tape or disk. The trajectory wasthen analyzed, perhaps many times, in much shorter time frames
by reading the trajectory tape. HyperChem, which utilizes fastercomputers, uses more real-time, interactive molecular dynamics
trajectories and averages, allowing a degree of experimentation
not possible with a batch approach. Nevertheless, computing a trajectory, particularly for large molecules, can be a very lengthy process; therefore, HyperChem can compute a trajectory for storageand later playback for analysis, visualization, etc.
The molecular dynamics analyzes times steps, also called snapshots (coordinates and velocities), for display, averaging, and plotting (possibly from other applications). In the present release ofHyperChem, two particular sources are relevant (the DDE interface
allows the possibility of other generators of snapshots as well). The
first source are time steps that are computed, displayed, and averaged. This is the normal real-time use of HyperChem molecular
dynamics.
The second source of time steps is individual snapshots stored in asnapshot file (*.snp) on disk and analyzed later. The limiting rate isdetermined by disk access times. Thus HyperChem, in addition to
the real-time operation of molecular dynamics, allows the playback of molecular dynamics from previously created trajectories(snapshot files). A given snapshot file can be played back over andover again with different aspects of the trajectory being investigated each time. For a large molecule the trajectory might be created overnight, for example, and then analyzed interactively, playing back particular parts of the trajectory, analyzing different strucComputational Options

357

Molecular Dynamics on a Potential Energy Surface

tural changes, etc. If you request frequent display of the time stepsof a trajectory, the playback speed is limited by the display update
time rather than disk speed.

Creating a Snapshot (SNP) file
To create a set of snapshots of any molecular dynamics run, press
the Snapshot button of the Molecular Dynamics Options dialog
box to bring up the Molecular Dynamics Snapshots dialog box for
naming a snapshot file. A snapshot file contains snapshots of thecoordinates and velocities of a molecular system along the trajectory. The dialog box allows you to name the file and decide at whatfrequency to take snapshots. For example, choosing the snapshot
period to be two data steps implies that only every other time step
is stored in the snapshot file.
These snapshots, created for playback purpose (or for third-party
purposes), consist of two components. The first is simply a HIN filethat contains the starting configuration for the molecular dynamics run. The name of the snapshot becomes the name of the HIN
file. The second component is the actual snapshots of the coordinates (velocities) stored in a SNP file. A snapshot stored as XXX
will have a file, xxx.hin, containing the molecular system's starting configuration and a file, xxx.snp, containing the energies,
coordinates and velocities of subsequent configurations. The snapshot HIN file contains an entry (for example, dynamics
c:\hyper\xxx.snp) indicating that there exists a corresponding
SNP file. When you read the HIN file it warns you that editing themolecule will invalidate the attached SNP file.
The format of the binary snapshot file is described in the Reference
Manual.

Reading a (HIN, SNP) File for Playback
To playback a trajectory that has been stored in a snapshot file you
must first read the appropriate HIN file unless you have alreadysaved snapshots with the current system. When reading the HIN
file a warning will be issued that the attached SNP file is only valid
if the molecular system in the HIN file is not edited in any way.
That is, the attached *.snp trajectory applies only to the molecularsystem as it is currently constituted. Any editing of the molecularsystem such as deleting an atom, etc. will gray the playback
option, making it inaccessible. It is possible, however, to change
the view of the system, define new named selections, etc. as long358

Chapter 13

Molecular Dynamics on a Potential Energy Surface

as its atomic information is not altered. You need not decide what
structural features you are interested in at the time of creation of
the trajectory; you could, for example, name a new torsion angle
and average that torsion angle only at playback time, with no needfor the torsion to be defined before the snapshot creation.
To playback a trajectory rather than create one, you simply checkthe playback check box in the Molecular Dynamics Options dialog
box. The check box is not available if no SNP file exists (all optionsof the dialog box that are not relevant to playback are also grayedand show the parameters used in the original creation of the snapshot). Clicking on the Snapshots button brings up a dialog box toset parameters for the playback. In all other regards the molecular
dynamics run from playback is identical to a real-time run. Averaging, graphing and visualization of the evolving molecular system can be performed in the same way at playback time as at creation time. Real-time interactive exploration at the creation of a
trajectory is appropriate when the trajectory is computed quickly.
Exploration at playback time is appropriate when the trajectory is
computed slowly instead.

Running a Script at Playback
At playback time, it is possible to run a script at every time step.
This may have many uses but a simple example might be to execute a quantum mechanical single point and plot a molecularorbital. The playback would then show the molecular orbital as afunction of time during the trajectory.
The procedure for running a script involves giving a specific predefined name to the script and placing it in the HyperChem program directory. The name of the script must be chem-dynamics.scr. If such a script exists, then it is run at every playback step.
If it does not exist in this directory, playback proceeds as normal.
One should be careful to remember to change the name of thescript or move it when not desiring this capability.

Global Minima on a Potential Energy Surface
The HyperChem optimization algorithms only guarantee that theminimum obtained is a local minimum. The global minimum of
the potential energy surface is a desirable point to know but can be
impractical to find when there are large numbers of degrees of free-Computational Options

359

Molecular Dynamics on a Potential Energy Surface

dom (large numbers of atoms). Many techniques are available,
however, for exploring the surface and finding additional minima.
Knowing that one of these additional minima is the global minimum is not easy, however. You could obviously try to find additional minima by using different starting points for a minimization. As shown in the diagram earlier, a potential surface can bevery convoluted and different starting points will lead to different
minima.
HyperChem has a facility for a more systematic approach to theglobal minimum than just choosing random starting points. Thisfacility is associated with the idea of simulated annealing.

Simulated Annealing
The basic concept of simulated annealing is to use the temperatureand kinetic energy to get over energy barriers between a particularregion with a local minimum and a generally lower energy region
where the global minimum might exist. The pragmatic procedure
involves heating the system to an artificially high temperature, letting molecular dynamics move the system to a more favorable
potential energy region, and then letting the system gradually cool
down to seek out the lowest energy without getting stuck in shallow local minima. Simulated annealing is described more extensively in the Practical Guide.

Simple Reactions on a Potential Energy Surface
The theory of chemical reactions has many facets including elaborate quantum mechanical scattering approaches that treat the
kinetic energy of atoms by proper wave mechanical methods.
These approaches to chemical reaction theory go far beyond thecapabilities of a product like HyperChem as many of the ideas are
yet to have wide-spread practical implementations.
Fortunately, the theory of chemical reactions need not always
require such sophistication. Indeed, since nuclei (atoms) are muchheavier than electrons you can use classical mechanics to understand many chemical reactions. That is, as long as the potential
energy surface is computed quantum mechanically, a classicalmechanical treatment of motion on this potential surface can provide an adequate treatment of many chemical reactions. Thisapproach is referred to as classical trajectory analysis and is themethodology for HyperChem's molecular dynamics with a poten360

Chapter 13

Molecular Dynamics on a Potential Energy Surface

tial surface that allows molecules to come apart, i.e., to react. In
most molecular mechanics potential surfaces, the potential is suchthat it describes molecules only near their equilibrium geometry
but does not describe dissociation or movement into totally new
regions of the potential surface that equate to a chemical reaction
occurring. Quantum mechanically calculated surfaces such as
those available in HyperChem allow such reactions to be
described. Basically HyperChem performs molecular dynamics butallows bonds to break and reform.

Trajectory Analysis
The F + H — H —> F—H + H reaction is a common example of areaction easily studied by classical trajectory analysis. The potential surface we are interested in is that for FH . This potential sur2
face may have many extrema. One of them corresponds to an isolated Fluorine atom and a stable H molecule; these are the reac2
tants. Another extremum of the surface corresponds to an isolatedhydrogen atom and the stable H-F molecule; these are the products. Depending on how the potential surface was obtained there
may or may not be an extremum corresponding to stable H F, but
2at the least you would expect an extremum corresponding to thetransition state of the reaction being considered.
The reaction in question can be studied by exploring molecular
dynamics on the potential energy surface paying particular attention to trajectories that lead from a region of the potential surface
characterizing reactants to a region of the potential surface characterizing products. In the simplest scenario you start with H2 andan isolated F atom but then shoot the F atom at the H2 and watch
the molecular dynamics trajectory to see what happens. If the trajectory leads to a region of the potential surface representing products, a score for reaction is tallied. If the trajectory terminates in aregion of the potential surface that still corresponds to F + H2, thena score for non-reaction is tallied. By giving the F atom a distribution of initial positions, velocities, and directions corresponding toexperimental conditions, and performing the experiment over
and over again, you can calculate the probability that the end
result of a trajectory is react over non-react, and hence calculate areaction rate constant. HyperChem includes no particular facilities
for setting up these Boltzmann distributions of initial conditions
but does allow the exploration of any one particular initial condi-

Computational Options

361

Molecular Dynamics on a Potential Energy Surface

tion. A script or third-party software package interfaced to HyperChem via DDE could, in principle, do a full trajectory analysis bylooping over initial conditions and keeping score.

Setting Initial Coordinates and Velocities
To study a particular classical trajectory you must set the initialcoordinates and velocities. In the above case of F + H2 you might
position an H2 molecule at the center of the screen, oriented any
way you chose, and then place the F atom in the left part of thescreen approximately on line with the H2 molecule. This positioning might be done manually, or by setting the coordinates to specified values, using interactive translation of selected atoms or byactually editing the HIN file. The initial velocities of the two H
atoms would probably best be set to values sampled from an isolated H2 molecule trajectory at the temperature T of the experiment. The velocity of the F atom might then be set to have only alarge positive x value, say a few hundred Ångstroms/picosecond so
as to come in to the center of the screen from the left and collidewith the H2 molecule causing a reaction or possibly bouncing off
without reaction. A variety of these initial conditions correspondto the experimental situation.
Coordinates of atoms can be set by normal translation or rotationof HyperChem molecules. To set initial velocities, however, it isnecessary to edit the HIN file explicitly. The unit of velocity in the
HIN file is Ångstroms/picosecond. A react.hin file and a script
react.scr are included with HyperChem to illustrate one simple
reacting trajectory. In order to have these initial velocities used ina trajectory the Restart check box of the Molecular Dynamics
Options dialog box must be checked. If it is not, the initial velocities in the HIN file will be ignored and a re-equilibration to thetemperature T of the Molecular Dynamics Options dialog box will
occur. This destroys any imposed initial conditions on the molecular dynamics trajectory.

Temperature Considerations
A trajectory analysis of a chemical reaction is less ambiguous if freedynamics is used and constant temperature algorithm is turned
off. If Restart is correctly checked, then the temperature setting in
the Molecular Dynamics Options dialog box becomes irrelevant. It
is used only to determine an initial set of velocities when freedynamics is used. If the velocities come from the HIN file instead
362

Chapter 13

UV Visible Spectroscopy(Restart) then the temperature is related only to the average kinetic
energy from the velocities in the HIN file. In a proper trajectory
analysis the initial velocities are sampled according to the temperature of the experimental situation being simulated.
If the constant temperature algorithm is used in a trajectory analysis, then the initial conditions are constantly being modified
according to the simulation of the constant temperature bath andthe relaxation of the molecular system to that bath temperature.
The effect of such a bath on a trajectory analysis is less studied
than for the simulation of equilibrium behavior.

RHF/UHF Considerations
As discussed earlier, the RHF scheme may not be appropriate to thesituation where open shells are present or bonds are breaking. In
this case, a UHF scheme may be the only sensible computational
approach. This becomes particularly relevant here in conjunction
with chemical reactions where we need to correctly describe
molecular dissociation. This can be easily illustrated with the H2molecule. At equilibrium distances the UHF and RHF methods givethe same answer; the UHF different-orbitals-for-different-spins
solution degenerates into the RHF solution. However, at long bondlengths a branch point occurs and the UHF becomes a lower
energy solution. As dissociation occurs, the UHF solution converges to a correct description of two isolated H atoms whereas the
RHF solution goes to the wrong limit, indicative that a closed shellis an improper description of isolated hydrogen atoms. Thus, if thewhole potential surface is to be described correctly, a UHF solution
must be used. HyperChem cannot detect that the UHF solution is
now lower in energy than the RHF solution and switch to the UHFsolution; the UHF solution must be used throughout. HyperChem
kicks the UHF solution off the metastable RHF initial guess and isalways able to obtain the UHF solution (when it is lower than the
RHF one) although, in principle, the RHF solution is also a solution
to the UHF equations.

UV Visible Spectroscopy
In HyperChem, you can now compute the energy difference
between the ground electronic state and the first few excited electronic states of a molecular system by using the ab initio method

Computational Options

363

UV Visible Spectroscopy

or any of the semi-empirical methods except for the Extended
Hückel. To generate a UV-vis spectrum, you must perform a singly
excited CI method with the ab initio method or semi-empiricalmethod you choose.
Use the Electronic Spectrum dialog box to display and analyze theUV-vis spectrum produced by a singly excited CI calculation. Thisdialog box is available only after you do a single point CI semiempirical calculation. Electronic Spectrum is then activated on theCompute menu.
By definition, the transition frequency, ν, of the UV spectrum isgiven by
Ef – Ei
ν = --------------h(200)

and the oscillator strength is given by 8π 2 m
2f i → f =  -------------- ( E f – E i ) d fi
22
 3e h (201)

for the transition i __> f, where i is the initial state and f is the final
state and dfi is the transition dipole moment, and h is the Planck
constant. Here only the dipole moment transition is considered
and all the higher orders of transitions are ignored because of thesmall probability of the higher order transitions. The oscillator
strength is a dimensionless value.
The energies, Ei and Ef, of the initial and final states of transitions
in equations (178) and (179) are determined by the CI eigenvalues
and the transition dipole moment dfi is obtained by using the CI
eigenvectors, that is,
d fi = 〈Φ f|∑k rk |Φi〉where k is the sum over all the electrons.

364

Chapter 13(202)

Vibrational Analysis and IR Spectroscopy

Vibrational Analysis and IR Spectroscopy
Vibrational Calculation
You can now use HyperChem to calculate vibration using ab initio
methods and any of the semi-empirical methods except for
Extended Hückel.
The following illustration shows the potential energy surface forvibrational motion along one normal mode:Eenergyfirst-excited
vibrational state
excitation energy

ground vibrational state

optimized geometry

normal mode displacement

HyperChem computes the Hessian using numerical second derivative of the total energy with respect to the nuclear positions basedon the analytically calculated first derivatives in ab initio methods
and any of the semi-empirical methods, except the Extended
Hückel. Vibration calculations in HyperChem using an ab initio
method may take much longer than calculations using the semiempirical methods.
HyperChem performs a vibrational analysis at the moleculargeometry shown in the HyperChem workspace, without any automatic pre-optimization. HyperChem may thus give unreasonable
results when you perform vibrational analysis calculations with anunoptimized molecular system, particularly for one far from optimized. Because the molecular system is not at a stationary point,neither at a local minimum nor at a local maximum, the vibraComputational Options

365Vibrational Analysis and IR Spectroscopy

tional analysis may give strange results including negative vibrational frequencies. Except in very specialized cases, you should
always do a geometry optimization before a vibrational analysis.

Normal Coordinate Analysis
HyperChem models the vibrations of a molecule as a set of N point
masses (the nuclei of the atoms) with each vibrating about its equilibrium (optimized) position. The equilibrium positions are determined by solving the electronic Schrödinger equation.
Defining mass-weighted Cartesian displacement coordinates qi,
qi = mi1⁄2e( xi – xi )(203)

then the classical kinetic energy, T, of vibration about the equilibrium positions is1
T = --2

3Ndq∑  d t i

2

(204)

i=1

The potential energy of vibration is a function of the coordinates,
x1, ..., zN; hence it is a function of the mass-weighted coordinates,
q1, ..., q3N. For a molecule, the vibrational potential energy, U, isgiven by the sum of the electronic energy and the nuclear repulsion energy:
U = U ( q 1, …, q 3N )(205)

The vibrational potential may be expanded in a Taylor series about
the equilibrium positions of the atoms.
3N

U = Ue +∑i=l ∂U  q + 1-- ∂ q e i 2
i

3N 3N

∑∑

i =1 j = 1

2

∂ U 
 qi qj + …
 ∂ q i ∂q j e

(206)

At the equilibrium geometry of the molecule, U is a minimum andthe gradient vanishes ∂U  = 0
∂q 
i e

366

Chapter 13(207)

Vibrational Analysis and IR Spectroscopy

If the vibrations are small (e.g., low temperatures, rigid bonding
framework), the higher order terms can be neglected. Thus thepotential energy simplifies to
3N

U = Ue +∑ uijqi qj

(208)

i=l

where uij is given by2∂ U 
u ij =  ∂ q i ∂q j  e(209)

The classical-mechanical problem for the vibrational motion may
now be solved using Newton's second law. The force on the x component of the ith atom is
2

F i, x = m

d xi
dt

2

= –

∂U
∂ xi

(210)

Transforming to mass-weighted coordinates, equation (210) canbe rewritten into a set of 3N simultaneous linear differential equations
2

d qi
dt

2

+ ∂U = 0
∂ qi

(211)

Each differential equation contains all the coordinates qi since ∂U∂ qi
is expressed as a single summation over the qj's.
∂U
=
∂ qi

3N

∑ uijqj

(212)

j=1

Substituting equation (212) into equation (211), it becomes
2

d qi
dt

2

3N

+

∑ uijqj = 0

(213)

j=1

for i = 1, 2, ..., 3N.
Equations (213) are a system of 3N simultaneous linear differential
equations in the 3N unknowns qj. It can be transformed to a
Computational Options367

Vibrational Analysis and IR Spectroscopy

matrix form, if the mass-weighted coordinates, qi, are rewritteninto
q i = A i sin ( λ1⁄2

t + b)(214)

for i = 1, 2, ..., 3N, where λ and b are constants. Then the matrix
form of equation (213) is
UL = L Λ(215)

where matrix U is the mass-weighted Hessian with matrix element
uij defined in equation (209), L and Λ are eigenvectors and eigenvalues, respectively.
The eigenvalues and eigenvectors of the mass-weighted force
matrix can be obtained by diagonalizing equation (215). Theneach eigenvalue corresponds to its normal coordinates, Qk
3N

Qk =

∑ lki qi

(216)

i=1

Because U is a unitary transformation matrix, equation (216) canbe written in the form
3N

qi =

∑ lki Qk

(217)

k

Using normal coordinates Qk, equation (213) can be rewritten to
2

d Qk
dt

2

+ λk Qk = 0(218)

with k = 1, 2, ..., 3N. The general solutions of these equations are
1⁄2

Q k = B k sin ( λ k t + β k )(219)with k = 1, 2, ..., 3N.
Motion along each normal coordinate is described by each atom
vibrating in phase with one another with the same frequency. The
vibration frequency, ν, is related to the eigenvalues, λ, by368

Chapter 13Vibrational Analysis and IR Spectroscopy
1⁄2λiυ = ---------2π(220)

Notice that although the energies and forces are evaluated quantum mechanically in HyperChem, the vibrational analysis has
been purely classical.

Infrared Absorption
The mechanism of infrared (IR) light absorption is conceptuallysimilar to that of UV visible light absorption. In both cases, theoscillating electric dipole of the light beam induces a mirror image
oscillating electric dipole in the molecule (transition dipole).
Energy (photons) may be exchanged between the molecule andthe light beam if the frequency of the light closely corresponds toan energy gap between levels of the molecule.
The connection between transition energy ∆E and frequency ν isgiven by Einstein’s classic formula∆E = hν(221)
15where h is the Planck constant. UV visible frequencies (~10cycles per second) correspond to gaps between different electronicenergy levels, whereas IR frequencies (~1012 cycles per second) correspond to gaps between vibrational energy levels. Thus, each line
in a UV-visible spectrum corresponds to an excitation of electrons
from one electronic state to another. Analogously, each line in an
IR spectrum represents an excitation of nuclei from one vibrational state to another.
The frequency of electronic motion in a molecule (classicallyspeaking, the number of orbits per second) is similar to that of UVvisible light, and the frequency of vibrational motion is similar tothat of IR light. When IR light passes through a molecule, the electrons see an essentially constant electric field rather than an oscillating dipole. Similarly, when UV-visible light passes through amolecule, the nuclei see an essentially constant electric field rather
than an oscillating dipole. In both cases, no mechanism exists forthe absorption of light due to the frequency mismatch between
the light and the molecule. In other words, IR light cannot polarize
electrons and UV-visible light cannot polarize nuclei.
When IR radiation passes through a molecule, the nuclei move so
as to create a molecular dipole that is synchronized with that ofComputational Options369

Vibrational Analysis and IR Spectroscopy

the light. To a first approximation, each normal mode of vibrationinteracts independently with IR light.
A normal mode can absorb IR light if the molecular dipole
moment changes during the course of a normal vibration. For
example, the symmetric stretch in CO2 does not entail a changing
dipole moment, whereas the asymmetric stretch and bend do
induce a changing dipole moment. CO2 absorbs IR light at frequencies corresponding to the asymmetric stretch and bend
because the IR light is “shaking” the atoms of the molecule along
the asymmetric stretch and bending coordinates.
Quantitatively, we may express how “shakeable” a given normal
mode will be under the influence of IR light, by examining themagnitude of its induced dipoles.
µ = µ0 + (dµ/dq)0 q + (d2µ/dq2)0 q2 + ...

(222)

Keeping only the linear term, the transition dipole moment isgiven by〈 µ fi〉 =

vib

(223)

vib

∫ Ψf ( dµ ⁄ dq )qΨi dq

Since we assume that all higher derivatives are essentially zero,dµ/dq = constant. Therefore, it may be taken out of the integral
sign as follows:

∫

vib

(224)

vib

〈 µ fi〉 = ( dµ ⁄ dq ) Ψ f qΨ i dq

Qualitatively, the selection rule for IR absorption for a given modevib

is that the symmetry of qΨ ivibmust be the same as qΨ f . Quanti-tatively, the transition dipole moment is proportional to thedipole derivative with respect to a given normal mode dµ/dq.
Generally, IR oscillator strengths (absorption intensities) are on
the order of 10-4 of those of UV visible lines.
The integrated infrared band intensity for the kth fundamental isdefined [W. B. Person and K. C. Kim, J. Chem. Phys. 69, 1764
(1978)] as
1
A k = -------CL

370

Chapter 13



I 0

∫  ln ---I- dυ
band

(225)

Vibrational Analysis and IR Spectroscopy

where C is concentration (in moles liter-1), L is optical path length(in cm), is wavenumber in cm-1, and I0 and I, respectively, are theintensities of incident and transmitted light. Assuming electricand mechanical harmonicity, Ak may be approximated by
πN A g k ∂µ 2
A k = ---------------2
3000c ∂ Q k(226)

where NA is the Avogadro number (mol-1), c is the light velocity(cm s-1), gk is the degeneracy factor, and ∂µ / ∂Qk is the dipolemoment derivative with respect to the kth normal coordinate Qk.
In equation (225), a natural logarithm is used. Another definition[B. A. Hess, Jr., L. J. Schaad, P. Carsky, and R. Zahradnik, Chem. Rev.
86, 709 (1986)] uses a common logarithm in equation (225), thatis,1
A k = -------CL



I 0

∫  log ---I- dυ
band

(227)

So, the integrated infrared band intensity for the kth fundamental
is defined as
2
πN A g k- ∂µA k = --------------------------------2 ∂Q
3000 ln ( 10 )c
k

(228)

In HyperChem, equation (226) is used for calculating the integrated infrared band intensities for the ab initio method and equation (228) is employed for all the semi-empirical methods. All IR
lines correspond to transitions from the ground vibrational state
to an excited vibrational state that has one additional quantum
deposited in a given vibrational mode.

Computational Options371

Vibrational Analysis and IR Spectroscopy

372

Chapter 13

Acknowledgments

Hypercube would like to thank the following authors for contributing significant portionsof this text:
Dr. Allison Howard, University of California at San Francisco.
Dr. James McIver, State University of New York at Buffalo.
Dr. Jack Collins, Molecular Research Institute, Palo Alto, CA.

373

374

HyperChem® Release 7.0
for Windows
Reference ManualHypercube, Inc.
Publication HC70-00-02-00

January 2002

Copyright © 2002 Hypercube, Inc.
All rights reserved

The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. Thispublication, or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ORIMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE, INC. BE
LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES INCONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF HYPERCUBE, INC.
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY DEFECT OR ERROR IN THESE
MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC., REGARDLESS OF THE FORM OF
ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALS DESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.

Hypercube Trademarks
HyperChem is a registered trademark of Hypercube, Inc. HyperMM+, HyperNewton, HyperEHT, HyperNDO,
HyperTNDO, HyperDFT, HyperGauss, HyperNMR, HyperChem Data and ChemPlus are trademarks of Hypercube, Inc.

Third Party Trademarks
MM2 is a trademark of Dr. Norman Allinger, University of Georgia.
CHARMm is a registered trademark of Accelrys Inc.
Microsoft, MS-DOS, and Excel are registered trademarks, and Windows, Windows 95, Windows 98, Windows ME,
Windows NT, and Windows XP are trademarks of Microsoft Corporation.
IBM is a registered trademark of International Business Machines, Inc.
ChemDraw is a trademark of CambridgeSoft Corporation.

All other brand and product names are trademarks or registered trademarks of their respective holders.

PRINTED IN USA

Table of Contents
Chapter 1

Introduction

1

What is HyperChem? . . . . . . . .
Calculation Methods . . . . .
Starting HyperChem . . . . . . . .
HyperChem for Windows . . . . . . .
Using Multiple Windows . . . .
Using the Mouse . . . . . . . . .
Using Keyboard Alternatives for Windows .
Using Keyboard Alternatives for HyperChem
HyperChem Menus . . . . . . . . .
Gray Menu Items . . . . . .
HyperChem Dialog Boxes . . . . . . .
Persistent Dialog Boxes . . . . .
Working in Dialog Boxes . . . .
Editing Text . . . . . . . .
Editing Keys . . . . .
Case Preferences . . . .
Entering Exponents . . .

Chapter 2

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

The Basics of HyperChem

Levels of Molecular Organization . .
Coordinate Systems. . . . . . .
Viewer’s Coordinate System .
Molecular Coordinate System.
Inertial Axes . . . . . . . . .
Constructing a Molecule . . . . .

1
3
3
4
6
7
9
10
12
13
13
14
14
14
15
15
15

17
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

17
18
19
20
21
22

iii

Chapter 3

Tools

Pop-up Help for Tool Icons . . . . . . . . . . .
Drawing Tool . . . . . . . . . . . . . . . . . .
Drawing Molecules . . . . . . . . . . . . .
Choosing and Changing Elements . . . . . .
Adding Hydrogen Atoms . . . . . . . . .
Selection Tool . . . . . . . . . . . . . . . . . .
Selection Levels . . . . . . . . . . . . . .
Selecting . . . . . . . . . . . . . . . . .
Using the Selection Tool . . . . . . . . .
Using the Select Menu . . . . . . . . .
Measuring with the Selection Tool . . . . . . . .
Selecting Annotations . . . . . . . . . . . .
XY Translating and Zooming an Annotation . .
XY Rotation Tool . . . . . . . . . . . . . . . . .
Using the XY Rotation Tool . . . . . . . . . . .
Setting the Amount of XY Rotation . . . . .
Z Rotation Tool . . . . . . . . . . . . . . . . .
Using the Z Rotation Tool . . . . . . . . . . .
Setting the Amount of Z Rotation . . . . . .
XY Translation Tool . . . . . . . . . . . . . . . .
Using the XY Translation Tool . . . . . . . . . .
Fast Translation . . . . . . . . . . . .
Translation of Annotations . . . . . . . .
Z Translation Tool . . . . . . . . . . . . . . . .
Using the Z Translation Tool . . . . . . . . . .
Setting the Amount of Z Translation . . . . .
Zoom Tool . . . . . . . . . . . . . . . . . . .
Using the Zoom Tool . . . . . . . . . . . . .
Setting the Zoom Sensitivity. . . . . . . .
Zooming Annotations. . . . . . . . . .
Z Clipping Tool . . . . . . . . . . . . . . . . .
Using the Z Clipping Tool . . . . . . . . . . .
Setting the Amount of Clipping Plane Movement .
Keyboard Equivalents for Tools . . . . . . . . . . . .
A . . . . . . . . . . . . . . . . . . . . . .
Tools . . . . . . . . . . . . . . . . . . . . .
Annotations are Text . . . . . . . . . . . . .
Symbols are Text in a Symbol Font . . . . . . . .
The Annotation Layer . . . . . . . . . . . .
Transparency in Printing . . . . . . . . .
The Annotation Interface . . . . . . . . . . .
Creating a Simple Text Annotation . . . . . . . .
iv

Table of Contents

27
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 27
. 28
. 29
. 29
. 30
. 30
. 32
. 32
. 32
. 34
. 35
. 36
. 37
. 37
. 37
. 38
. 39
. 39
. 40
. 40
. 41
. 42
. 42
. 43
. 43
. 45
. 45
. 45
. 46
. 46
. 47
. 48
. 49
. 49
. 50
. 50
. 51
. 51
. 53
. 53
. 54
. 54

Creating a Symbol . . . . . .
Selecting Annotations . . . . .
Moving Annotations . . . . .
Editing Annotations. . . . . .
Multiline Text. . . . . . . .
Ordering within Annotation Layer .
Ordering the Annotation Layer . .
Hiding the Annotation Layer . . .

Chapter 4

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

Annotations
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Managing Files

File Menu . .
New .
Open

.
.
.

.
.
.

54
56
57
57
58
59
59
60

61

Definition. . . . . . . . . . . . . .
Types of Annotations . . . . . . . . . .
Text . . . . . . . . . . . . .
Lines . . . . . . . . . . . .
Ellipses . . . . . . . . . . . .
Rectangles . . . . . . . . . . .
An Example . . . . . . . . . . . . .
The Annotation Layer . . . . . . . . . .
Transparency in Printing . . . . . . . . .
The Annotation Interface . . . . . . . . .
. . . . . . . . . . . . . . . . .
Text Annotations . . . . . . . . . . .
Annotations as Text . . . . . . . .
Symbols are Text in a Symbol Font . . .
Creating a Simple Text Annotation . . .
Creating a Symbol . . . . . . . .
Selecting Text Annotations . . . . .
Moving Text Annotations . . . . . .
Editing Text Annotations . . . . . .
Multiline Text. . . . . . . . . .
Line, Ellipse, and Rectangle Annotations . . . .
Options. . . . . . . . . . . .
Ordering Annotations within the Annotation Layer
Ordering the Annotation Layer . . . . . . .
Hiding the Annotation Layer. . . . . . . .

Chapter 5

.
.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

61
61
62
62
62
63
63
64
65
65
66
66
66
67
68
68
70
71
71
72
73
74
75
75
76

77
.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

Table of Contents

.
.
.

.
.
.

. 77
. 78
. 78

v

Open File Dialog Box . . . . . . . . . . . . 79
Reading Non-standard PDB Files . . . . . . . . 81
Reading ChemDraw Files . . . . . . . . . . . 81
Using the Z-Matrix File Filter . . . . . . . . . 81
Merge . . . . . . . . . . . . . . . . . . . 82
Save . . . . . . . . . . . . . . . . . . . . 82
Save As . . . . . . . . . . . . . . . . . . . 83
Save File Dialog Box . . . . . . . . . . . . 83
Editing Comments . . . . . . . . . . . . . 85
Save As HTML... . . . . . . . . . . . . . . . . 86
Content of HTML Page . . . . . . . . . . . 86
Option Details . . . . . . . . . . . . . . 88
Sample HTML Page . . . . . . . . . . . . 89
Start Log . . . . . . . . . . . . . . . . . . . . 90
Open Log Dialog Box . . . . . . . . . . . . 90
Stop Log . . . . . . . . . . . . . . . . . . . 91
Log Comments. . . . . . . . . . . . . . . . 91
Import . . . . . . . . . . . . . . . . . . . . . 92
Export . . . . . . . . . . . . . . . . . . . . . 93
Print . . . . . . . . . . . . . . . . . . . . 94
General tips for printing or copying images . . . . . 94
Preferences . . . . . . . . . . . . . . . . . . 95
Preferences Property Sheet . . . . . . . . . . 95
Window Color . . . . . . . . . . . 95
Bond Color . . . . . . . . . . . . 96
Selection Color . . . . . . . . . . . 96
Tool. . . . . . . . . . . . . . . 97
Key . . . . . . . . . . . . . . . 98
Setup Image . . . . . . . . . . . . 99
Isosurface Colors . . . . . . . . . 102
Paths . . . . . . . . . . . . . 103
Network License . . . . . . . . . . 104
Using Black-and-white Output . . . . . . . . 105
Exit . . . . . . . . . . . . . . . . . . . . . . . 105
Script Menu . . . . . . . . . . . . . . . . . . . 105
Open Script. . . . . . . . . . . . . . . . 106
Script One . . . Script Ten . . . . . . . . . . . . 106
Script Editor. . . . . . . . . . . . . . . . . 107
Overview . . . . . . . . . . . . . . . 107
Tutorials . . . . . . . . . . . . . . . 108
1. Entering Commands In The Script Editor . 108
2. Using The Paste Message Dialog Box . . 109
3. Requesting Information From HyperChem 109

vi

Table of Contents

4. Working With The Message List
Working With Files . . . . .
Reference . . . . . . . . . . .
Main Window . . . . . . .
File Menu . . . . . . . .
Edit Menu . . . . . . . .
Options Menu . . . . . . .
Cancel Menu . . . . . . .
Help Menu . . . . . . . .
Paste Message Dialog Box . . .
Values Dialog Box . . . . . .
Help Menu . . . . . . . . . . . . . . . .
About HyperChem . . . . . . . . . . .

Chapter 6

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.

Building Molecules

. 110
. 111
. 112
. 112
. 112
. 113
. 113
. 113
. 113
. 114
. 114
. 115
. 116

117

Build Menu . . . . . . . . . . . . . .
Explicit Hydrogens . . . . . . . . .
Default Element . . . . . . . . . .
Element Table Dialog Box . . . .
Element Properties . . . . . .
Add Hydrogens . . . . . . . . . .
Model Build/Add H & Model Build . . . .
Constrain Length and Angles . . . . . .
Allow Arbitrary Valence . . . . . . .
Set Formal Charge . . . . . . . . .
Set Formal Charge Dialog Box . . .
United Atoms . . . . . . . . . . .
All Atoms . . . . . . . . . . . .
Calculate Types . . . . . . . . . .
Compile Type Rules . . . . . . . . .
Set Atom Type . . . . . . . . . .
Set Atom Type Dialog Box . . . .
Set Mass . . . . . . . . . . . .
Set Atom Mass Dialog Box . . . .
Set Charge. . . . . . . . . . .
Set Atom Charge Dialog Box . . .
Set Custom Label. . . . . . . . . .
Set Custom Label Dialog Box . . .
Constrain Geometry . . . . . . . .
Constrain Geometry Dialog Box . .
Constrain Bond Length . . . . . . .
Constrain Bond Length Dialog Box .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 117
. 119
. 120
. 121
. 123
. 123
. 124
. 125
. 126
. 126
. 127
. 128
. 129
. 129
. 130
. 130
. 131
. 132
. 132
. 132
. 133
. 133
. 133
. 134
. 134
. 136
. 137
vii

Constrain Bond Angle . . . . . . . . . . . . . 137
Constrain Bond Angle Dialog Box . . . . . . . 138
Constrain Bond Torsion . . . . . . . . . . . . . 138
Constrain Bond Torsion Dialog Box . . . . . . 139
Databases Menu . . . . . . . . . . . . . . . . . . 139
Amino Acids . . . . . . . . . . . . . . . . 141
Amino Acids Dialog Box . . . . . . . . . . 142
Make Zwitterion . . . . . . . . . . . . . . . 145
Remove Ionic Ends . . . . . . . . . . . . . . 146
Sequence Editor . . . . . . . . . . . . . . . 147
Overview . . . . . . . . . . . . . . . 147
Tutorial . . . . . . . . . . . . . . . 147
Background . . . . . . . . . . . . . . 148
Reference . . . . . . . . . . . . . . . 149
File Menu . . . . . . . . . . . . 149
Edit Menu. . . . . . . . . . . . 150
View Menu . . . . . . . . . . . 151
HyperChem Menu . . . . . . . . . 153
Classifying Secondary Structure . . . . . 153
Cancel Menu . . . . . . . . . . . 154
Help Menu . . . . . . . . . . . 154
Dayhoff Comparison Dialog Box . . . . 155
Sequence Length Dialog Box And XY Plot Dialog Box
155
Files. . . . . . . . . . . . . . 156
Hints . . . . . . . . . . . . . 156
Limitations . . . . . . . . . . . 156
Nucleic Acids . . . . . . . . . . . . . . . . 157
Nucleic Acids Dialog Box . . . . . . . . . . 159
Add Counter Ions . . . . . . . . . . . . . . . 162
Crystal Bui . . . . . . . . . . . . . . . . lder 163
Overview . . . . . . . . . . . . . . . 163
Tutorials . . . . . . . . . . . . . . . 163
1. Creating A Crystal Of Sodium Metal . . . . . 163
2. Creating A Crystal Of Sodium Chloride . . . . 165
Background . . . . . . . . . . . . . . 166
Reference . . . . . . . . . . . . . . . 167
Main Window . . . . . . . . . . 167
File Menu . . . . . . . . . . . . 168
View Menu . . . . . . . . . . . 168
HyperChem Menu . . . . . . . . . 169
Help Menu . . . . . . . . . . . 170
Atom Data Dialog Box . . . . . . . . 170

viii

Table of Contents

Samples Dialog Box . . . . . .
View Dialog Box . . . . . . .
Choose Structure Dialog Box . . .
About Dialog Box . . . . . . .
Toolbar . . . . . . . . . .
Hints . . . . . . . . . . .
Sugar Builder . . . . . . . . . . . . . .
Overview . . . . . . . . . . . .
Tutorial . . . . . . . . . . . . .
Background . . . . . . . . . . .
Reference . . . . . . . . . . . .
Main Window . . . . . . . .
File Menu . . . . . . . . .
Add Menu . . . . . . . . .
Help Menu . . . . . . . . .
Aldoses Dialog Box . . . . . .
Ketoses Dialog Box . . . . . .
Derivatives Dialog Box . . . . .
Blocking Groups Dialog Box . . .
User Dialog Box . . . . . . .
Link Dialog Box . . . . . . .
Link Chains: Orientation Dialog Box .
About Dialog Box . . . . . . .
Limitations . . . . . . . . .
Polymer Builder . . . . . . . . . . . . .
Monomer Specification . . . . . . . .
Head and Tail . . . . . . . . . . .
Polymerization by Elimination . . . . .
Specific Torsion Angles . . . . . . . .
Example. . . . . . . . . . . . .
Limitations . . . . . . . . . . . .
Mutate . . . . . . . . . . . . . . . .
Mutate Dialog Box . . . . . . . . .
Choices of Nucleotide Residues . . . . .
Replace . . . . . . . . . . . . . . . .
Protein Design . . . . . . . . . . .
Cutting (Deleting) a Residue Sequence . . .
Replacing a Residue Sequence . . . . . .
Creating a Source Sequence . . . .
Replacing Target Residues . . . .
Relative Length of Residues . . . .
Relative Orientation of Residues . .
Executing the Replace . . . . .

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 171
. 173
. 173
. 173
. 173
. 175
. 175
. 175
. 176
. 177
. 178
. 178
. 178
. 179
. 180
. 181
. 182
. 182
. 182
. 182
. 185
. 186
. 186
. 186
. 187
. 187
. 187
. 187
. 187
. 188
. 190
. 190
. 191
. 192
. 192
. 192
. 193
. 194
. 194
. 197
. 198
. 199
. 199

ix

Inserting A Residue Sequence
Invoke Database . . . . . . .

.
.

.
.

.
.

.
.

.
.

.
.

.
.

.
.

Chapter 7 Edit, Select, andDisplay Menus
Edit Menu . . . . . . . . . . . . . .
Clear. . . . . . . . . . . .
Cut . . . . . . . . . . . . .
Copy . . . . . . . . . . . . .
Copy ISIS Sketch . . . . . . . . .
Paste . . . . . . . . . . . . .
Pasting Superatoms From ISIS/Draw
Copy Image . . . . . . . . . . .
Invert . . . . . . . . . . . . .
Reflect . . . . . . . . . . . .
Rotate . . . . . . . . . . . .
Rotate Dialog Box . . . . . .
Translate . . . . . . . . . . . .
Translate Dialog Box . . . . .
Zoom. . . . . . . . . . . .
Zoom Dialog Box . . . . . .
Z Clip. . . . . . . . . . . . .
Z Clip Dialog Box . . . . . .
Align Viewer . . . . . . . . . .
Align Viewer Dialog Box . . . .
Align Molecules . . . . . . . . .
Align Molecules Dialog Box . . .
Set Bond Length . . . . . . . . .
Set Bond Length Dialog Box . . .
Set Bond Angle . . . . . . . . . .
Set Bond Angle Dialog Box . . .
Set Bond Torsion . . . . . . . . .
Set Bond Torsion Dialog Box . .
Select Menu . . . . . . . . . . . . .
Visible Atoms . . . . . . . . . .
Atoms . . . . . . . . . . . .
Residues . . . . . . . . . . . .
Molecules . . . . . . . . . . .
Multiple Selections: Accumulating Selections
Select Sphere and Group Selecting . . .
Selecting in Two Dimensions . .
Selecting in Three Dimensions . .
xTable of Contents

199
199

201
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

201
203
203
203
204
204
205
206
206
208
209
209
210
211
212
212
213
214
215
215
216
217
218
219
219
220
220
220
220
222
223
225
226
227
227
228
230

Select All . . . . . . . . . . . . . . . . .
Complement Selection . . . . . . . . . . . . .
Select . . . . . . . . . . . . . . . . . .
Select Dialog Box . . . . . . . . . . . .
Selecting by String . . . . . . . . . . .
Selecting by Number . . . . . . . . . . .
Numbering. . . . . . . . . . . . .
Name Selection . . . . . . . . . . . . . . .
Name Selection Dialog Box. . . . . . . . .
Naming Selections . . . . . . . . . . .
Using Named Selections. . . . . . . . . .
Using Named Selections for Restraints . .
Using Named Selections in MD Calculations
Name Molecule . . . . . . . . . . . . . . .
Name Molecule Dialog Box. . . . . . . . .
Extend Ring . . . . . . . . . . . . . . . .
Extend Side Chain . . . . . . . . . . . . . .
Extend to sp3. . . . . . . . . . . . . . .
Select Backbone . . . . . . . . . . . . . . .
Display Menu . . . . . . . . . . . . . . . . . .
Scale to Fit . . . . . . . . . . . . . . . . .
Overlay . . . . . . . . . . . . . . . . . .
RMS Fit . . . . . . . . . . . . . . . . . .
Overview . . . . . . . . . . . . . .
Tutorials. . . . . . . . . . . . . . .
1. Overlaying Two Structures Of The Same Molecule
2. Overlaying Selected Atoms Only . . . . . .
Reference . . . . . . . . . . . . . .
RMS Fit Options Dialog Box . . . . . . . .
Overlay By Molecule Numbering . . . .
Overlay By Selection Order . . . . . .
Suppressing The Options Dialog Box . . .
Hints . . . . . . . . . . . . . . . .
Show All . . . . . . . . . . . . . . . . .
Show Selection Only . . . . . . . . . . . . .
Hide Selection . . . . . . . . . . . . . . .
Rendering . . . . . . . . . . . . . . . . .
Rendering: Rendering Method. . . . . . . .
Rendering: Sticks . . . . . . . . . . . .
Rendering: Cylinders. . . . . . . . . . .
Rendering: Balls . . . . . . . . . . . .
Rendering: Overlapping Spheres . . . . . . .
Using Stereo . . . . . . . . . . . . . . . .

Table of Contents

. 231
. 232
. 232
. 233
. 236
. 236
. 237
. 237
. 238
. 240
. 240
. 241
. 241
. 242
. 242
. 242
. 243
. 244
. 245
. 248
. 250
. 251
. 252
. 252
. 252
. 252
. 253
. 254
. 254
. 255
. 255
. 256
. 256
. 258
. 258
. 258
. 258
. 258
. 260
. 262
. 263
. 264
. 268

xi

Walleyed Stereo . . . . . . .
Cross-eyed Stereo . . . . . .
Last Rendering . . . . . . . . . .
Raytracing . . . . . . . . . . .
Overview . . . . . . . . .
Obtaining a Raytraced Image . .
Default Lighting Scheme .
Types of Images . . . .
Custom Lighting . . . . . .
Using POV-Ray . . . . . . .
Show Isosurface . . . . . . . . .
Isosurface . . . . . . . . . . . . .
Show Hydrogens . . . . . . . . .
Show Periodic Box. . . . . . . . .
Show Multiple Bonds . . . . . . . .
Show Hydrogen Bonds . . . . . . .
Recompute Hydrogen Bonds . . . . .
Show Inertial Axes. . . . . . . . .
Show Dipole Moment . . . . . . .
Labels. . . . . . . . . . . . .
Labels Dialog Box . . . . . .
Color . . . . . . . . . . . . .
Selection Color Dialog Box . . .
Element Color . . . . . . . . . .
Element Color Dialog Box . . .

Chapter 8

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Chemical Calculations

Setup Menu . . . . . . . . . . . . . . . .
Molecular Mechanics . . . . . . . . . . .
Molecular Mechanics Force Field Dialog Box
MM+ Options Dialog Box . . . . . . . . .
Force Field Options Dialog Box . . . . .
Force Field Components Included Dialog Box
Semi-empirical . . . . . . . . . . . . .
Semi-empirical Method Dialog Box . . .
Available Elements . . . . . . . . .
Extended Hückel . . . . . .
CNDO, INDO . . . . . . .
MINDO3 . . . . . . . . .
MNDO . . . . . . . . . .
AM1 . . . . . . . . . .
PM3 . . . . . . . . . .
xii

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

268
269
269
269
269
270
270
270
271
273
274
274
274
275
276
277
278
279
280
281
281
282
283
284
285

287
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

287
289
290
291
293
295
296
298
300
301
301
301
302
302
302

ZINDO/1. . . . . . . . . . . . . 303
ZINDO/S . . . . . . . . . . . . . 303
Semi-empirical Options (Hückel) Dialog Box . . . . 304
Semi-empirical Options Dialog Box . . . . . . . 305
Configuration Interaction Dialog Box . . . . . . 308
Practical Applications. . . . . . . . . 310
Mixed Mode Calculations . . . . . . . . . . 311
Ab Initio and Density Functional . . . . . . . . . . 311
Choosing a Basis Set . . . . . . . . . . . . 312
DFT Specific Basis Sets . . . . . . . . 312
Generic Basis Sets . . . . . . . . . . 312
Pople-like Basis Sets . . . . . . . . . 313
Other Basis Sets . . . . . . . . . . 314. . . . . . . . . . . . . . . . . . 315
Ab Initio and Density Functional Method Dialog Boxes 315
Assign Other Basis Set Dialog Box . . . . . . . 318
Ab Initio and DFT Options Dialog Box . . . . . . 318
Ab Initio and DFT Advanced Options Dialog Box. . . 322
Initial Guess of MO Coefficients . . . . . 325
Number of d Orbitals . . . . . . . . . 326
Ghost-Atoms . . . . . . . . . . . 326
Configuration Interaction . . . . . . . 327
Configuration Interaction Dialog Box . . . . . . 327
Extra Basis Function Dialog Box . . . . . . . . 328
DFT Integration Grids Dialog Box. . . . . . . . 329. . . . . . . . . . . . . . . . . . 329
Exchange Correlation Potential Dialog Box . . . . 331
Mixed Mode Calculations . . . . . . . . . . 334
Periodic Box . . . . . . . . . . . . . . . . . 335
Periodic Boundary Conditions. . . . . . . . . 336
Periodic Box Options Dialog Box . . . . . . . . 337
Changing periodic box size. . . . . . . . . . 338
Removing the periodic box. . . . . . . . . . 339
Solvents other than water . . . . . . . . . . 339
Restraints . . . . . . . . . . . . . . . . . . 340
Restraint Forces Dialog Box. . . . . . . . . . 340
Setting Up Restraints. . . . . . . . . . . . 342
Applying Restraints . . . . . . . . . . . . 343“Dummy atoms” and Conformational Restraint . . . 343
Set Velocity . . . . . . . . . . . . . . . . . . . 344
Get and Set Velocity Dialog Box . . . . . . . . 344
Applying an Electric or Magnetic Field . . . . . . . . . 345
Network . . . . . . . . . . . . . . . . . . . . 346

Table of Contents

xiiiNetwork Options Dialog Box . . . . . . . . 347
Edit Parameters. . . . . . . . . . . . . . . . 347
Atom Parameters . . . . . . . . . . . . 348
Bond Parameters . . . . . . . . . . . . 349
Angle Parameters . . . . . . . . . . . . 350
Torsion Parameters . . . . . . . . . . . . 350
Select Parameter Set . . . . . . . . . . . . . . 351
Force field Parameters Dialog Box . . . . . . . 352
Compile Parameter File . . . . . . . . . . . . . 353
Reaction Map . . . . . . . . . . . . . . . . . . 353
Compute Menu . . . . . . . . . . . . . . . . . . 357
Warning Messages . . . . . . . . . . . . 359
Single Point. . . . . . . . . . . . . . . . 360
Using a Molecular Mechanics Method . . . . . 361
Using a Semi-empirical or Ab Initio or DFT Method . 361
Geometry Optimization . . . . . . . . . . . . . 362
Molecular Mechanics/Semi-empirical/Ab Initio/DFT
Optimization Dialog Box . . . . . . . . 364
Molecular Dynamics . . . . . . . . . . . . . . 368
Changing the Initial Velocity for Calculations 369
Molecular Dynamics Options Dialog Box . . . . 369
Molecular Dynamics Snapshots Dialog Box . . . . 375
Molecular Dynamics Playback Dialog Box . . . . 375
Molecular Dynamics Averages Dialog Box . . . . 377
Molecular Dynamics Results Dialog Box . . . . . 380
Time Periods in a Molecular Dynamics Simulation . 382
Running a Script During Molecular Dynamics . . . 383
Langevin Dynamics . . . . . . . . . . . . . . 383
Monte Carlo . . . . . . . . . . . . . . . . 384
Vibrations . . . . . . . . . . . . . . . . . 385
Transition State . . . . . . . . . . . . . . . 386
Transition State Search Dialog Box . . . . . . . 388
Properties Display . . . . . . . . . . . . . . . 389
Atom Properties. . . . . . . . . . . . . 389
Bond Properties . . . . . . . . . . . . . 390
Molecular System Properties . . . . . . . . . 390
Plot Molecular Graphs . . . . . . . . . . . . . 391
Plot Molecular Properties Property Sheet . . . . . 392
Plot Molecular Properties . . . . . . . 392
Isosurface Grid Dialog Box . . . . . . 393
Contour Grid. . . . . . . . . . . 395
Isosurface Rendering . . . . . . . . 396
Transparency Level . . . . . . . . . 398

xiv

Table of Contents

Mapped Function Options . . . . . . . 399
Plotting Results . . . . . . . . . . . . . 399
Orbitals. . . . . . . . . . . . . . . . . . 401
Orbitals Dialog Box . . . . . . . . . . . . 401
Describing Orbitals . . . . . . . . . . . . 404
Practical Guidelines for Orbitals . . . . . . . . 405
Vibrational Spectrum . . . . . . . . . . . . . . 406
Vibrational Spectrum Dialog Box . . . . . . . . 408
Practical Guidelines . . . . . . . . . . . . 409
Comparing Computed Results with Experiment . . . 410
Electronic Spectrum. . . . . . . . . . . . . . 411
Electronic Spectrum Dialog Box . . . . . . . . 412
Practical Guidelines . . . . . . . . . . . . 414
Saving Information in a Log File . . . . . . . . 415
Potential Energy Plotting . . . . . . . . . . . . . 416
One Dimensional Potentials . . . . . . . . . 416
Choosing the Independent Variable . . . . 416
Current Selection . . . . . . . . . . 417
Named Selection PLOT1 . . . . . . . . 417
Requesting a Plot . . . . . . . . . . . . . 417
Plotting Options . . . . . . . . . . . . . 419
Help . . . . . . . . . . . . . . 420
Types of Fitting. . . . . . . . . . . 420
Data . . . . . . . . . . . . . . 421
Exporting and Printing Plots . . . . . . 421
Titles, Labels, Etc. . . . . . . . . . . 422
Two-Dimensional Potentials . . . . . . . . . 423
Example. . . . . . . . . . . . . . . . 423
Cautions . . . . . . . . . . . . . . . 425
Conformational Search . . . . . . . . . . . . . . 425
Overview . . . . . . . . . . . . . . . 425
Tutorial . . . . . . . . . . . . . . . . 426
Background . . . . . . . . . . . . 428
1. Selection Of An Initial Structure . . . . 429
2. Variation Of Geometric Parameters . . . 429
3. Geometry Optimization . . . . . . . 431
4. Comparison With Previously Accepted
Conformations And Energy Criterion . . 431
Options Supported In Conformational Search . 432
Reference . . . . . . . . . . . . . . . 433
Main Window . . . . . . . . . . . 433
File Menu . . . . . . . . . . . . 436
Edit Menu . . . . . . . . . . . . 437

Table of Contents

xv

Options Menu . . . . . . .
Run Menu. . . . . . . . .
Cancel Menu . . . . . . . .
Help Menu . . . . . . . .
Auto Save Option Dialog Box . .
Choose Torsions Dialog Box . . .
Define Rings Dialog Box . . . .
Setup Ranges Dialog Box . . . .
Search Method Dialog Box . . .
Test Options For Search Dialog Box .
Atoms To RMS Compare Dialog Box
Optimization Options Dialog Box .
Random Number Seed Dialog Box .
Limits For Search Dialog Box . . .
Files . . . . . . . . . . . . .
HCCONF.INI File . . . . . .
HCS Files . . . . . . . . .
Limitations . . . . . . . . . . .
QSAR Properties . . . . . . . . . . . .
Overview . . . . . . . . . . . .
Tutorials . . . . . . . . . . . .
1. Calculating Partial Charges . .
2. Calculating Log P . . . . .
3. Calculating Surface Areas . . .
Background . . . . . . . . . . .
Partial Charges . . . . . . .
Limitations . . . . . . . .
Surface Area (Approx.) . . . . .
Surface Area (Grid) . . . . . .
Volume . . . . . . . . .
Hydration Energy . . . . . .
Log P . . . . . . . . . .
Refractivity . . . . . . . .
Polarizability . . . . . . . .
Reference . . . . . . . . . . . .
Main Window . . . . . . .
File Menu . . . . . . . . .
Options Menu . . . . . . .
Cancel Menu . . . . . . . .
Help Menu . . . . . . . .
Calculation Options Dialog Box . .
Output Options Dialog Box . . .
Results Window Dialog Box . . .

xvi

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

437
438
439
439
439
439
440
441
442
443
446
447
448
449
449
449
450
450
450
450
451
451
452
452
453
453
453
455
455
456
456
456
457
458
458
458
460
461
461
461
461
462
463

Cancel .

Chapter 9.

.

About QSAR Properties Dialog Box . . . . 463
Batch Calculations Using DDE . . . . . . . . 464
QSAR Properties As DDE Server . . . . . 464
Starting A DDE Conversation . . . . . . 464
DDE Message Syntax . . . . . . . . . 465
Example . . . . . . . . . . . . . 466
Hints . . . . . . . . . . . . . . . . . 468
Drawing Heterocyclic Rings For Log P Calculations
468. . . . . . . . . . . . . . . . . . . 469

Constructing Molecules

471

Drawing Molecules . . . . . . . . . . . . . .
Adding Atoms and Bonds . . . . . . . . .
Removing Atoms. . . . . . . . . . . .
Changing the Drawing Element . . . . . . .
While Drawing . . . . . . . . .
After Drawing . . . . . . . . . .
Element Properties . . . . . . . .
Changing the Bond Order . . . . . . . . .
Aromatic Rings . . . . . . . . . . . .
. . . . . . . . . . . . . . . . .
Alternative Drawing Mode. . . . . . . . .
Adding Hydrogen Atoms . . . . . . . . .
Cutting and Pasting Atoms . . . . . . . .
Cut . . . . . . . . . . . . .
Copy . . . . . . . . . . . . .
Paste . . . . . . . . . . . . .
Allowing Arbitrary Valence . . . . . . . .
Changing Molecular Conformation . . . . . . . .
Using Wedges to Display and Specify Stereobonds .
Wedges Explained . . . . . . . .
For Atoms with Four Neighbors .
For Atoms with Three Neighbors .
Changing Chirality . . . . . . . . . . .
Converting 2D Drawings into 3D Structures . . . . . .
Incremental Model Building . . . . . . . .
Formal Charge . . . . . . . . . . . .
Building Inorganic Structures . . . . . . . .
Building Molecules from Residues . . . . . . . . .
The Databases Menu . . . . . . . . . .
Proteins . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 471
. 472
. 473
. 473
. 474
. 475
. 475
. 475
. 477
. 477
. 477
. 478
. 479
. 479
. 480
. 480
. 481
. 481
. 482
. 484
. 484
. 485
. 485
. 487
. 487
. 488
. 489
. 492
. 493
. 493
xvii

Constructing a Protein . . .
Cross-linking with Cyx . . .
Choosing Conformations . .
Creating Zwitterions . . . .
Mutating Amino Acids . . .
Adding Unusual Residues. . .
Nucleic Acids . . . . . . . . .
Constructing a Polynucleotide .
Choosing Conformations . .
Adding Counter Ions . . . .
Mutating Nucleic Acid Residues . . .
Creating Unusual Base Pairs . .
Adding Unusual Residues. . .
Water Molecules . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

Chapter 10 Protein Data Bank Files
Obtaining PDB Files . .
Reading PDB Files. . .
Creating PDB-type Files .
Sample PDB Files . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

503
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

Chapter 11 Scripts and DDE
Automatic Operation with Scripts . . . . . .
Integrating HyperChem with DDE . . . . . .
Using HyperChem Messages . . . . . . . .
Types of Input Messages . . . . . . .
Message Syntax . . . . . . . . .
Variables . . . . . . . . .
Behavior of array variables . . .
Atom Indices . . . . .
Two-dimensional Arrays .
One-dimensional Arrays .
Commands . . . . . . . .
Arguments . . . . . . . .
Menu Activators . . . . . .
HyperChem Messages . . . . . . . . . .
File Menu . . . . . . . . . .
Edit Menu . . . . . . . . . . .
Build Menu . . . . . . . . . . .
Select Menu . . . . . . . . . . .

xviii

494
495
495
495
496
496
497
497
499
499
499
500
501
501

503
503
504
506

509
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.

.

.

.
.
.

.
.
.

.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

509
509
510
510
511
511
512
512
513
513
516
516
517
518

. 519
.
.
.

526
529
533

Display Menu . . . . . . . . .
Databases Menu . . . . . . .
Setup Menu . . . . . . . . .
Compute Menu . . . . . . . .
Script Menu . . . . . . . . .
Cancel . . . . . . . . . . .
Data Variables. . . . . . . . .
Help Menu. . . . . . . . . .
Miscellaneous Commands . . . . .
Miscellaneous Variables . . . . .
Cross Reference of HyperChem Messages . . .
Message Cross-Reference . . . . .
Scripts . . . . . . . . . . . . . .
Dynamic Data Exchange (DDE) . . . . . .
Other Applications to HyperChem . .
HyperChem to Other Applications . .
HyperChem and Excel . . . . . . . . .

.

.

.

.

.

.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.

.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Chapter 12 Using HyperChem Results
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Appendix A HyperChem Files
.
.
.

.
.
.

.
.
.

. 545
. 556
. 568
. 573
. 573
. 578
. 579
. 580
. 584
. 584
. 602
. 604
. 604
. 605
. 606

611

Setting Display Conditions . . . . . . . .
Transferring Graphics . . . . . . . . . .
Setting Up a Graphics Transfer . . . .
Choosing the Extent of the Image
Choosing File Formats . . . .
Choosing the Destination . . .
Saving Color Images . . . . .
Using Copy Image (or [F9]) . . . . . .
Using the Clipboard . . . . . . . .
Using BMP or WMF Files . . . . . .
Printing a Molecular System . . . . . . . .
Storing Results in a Log File . . . . . . . .
Stopping a Log . . . . . . . . .
Adding Comments to a Log . . . . .
Storing Results of a Molecular Dynamics Simulation
Analyzing HyperChem Results . . . . . . .

Water Files . . .
Program Files . . .
Essential DLL Files .

. 536

. 542

. 611
. 612
. 612
. 612
. 613
. 613
. 614
. 614
. 614
. 615
. 616
. 616
. 616
. 617
. 617
. 618

619
.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

.
.
.

Table of Contents

.
.
.

.
.
.

. 621
. 621
. 622

xix

Module Executable Files. . . . . . . . . .
Help Text File . . . . . . . . . . . . .
Script Files . . . . . . . . . . . . . .
Snapshot Files . . . . . . . . . . . . .
Fixed Sized Header . . . . . . . .
Variable Sized Header. . . . . . . .
Coordinate and Velocity Data . . . . .
Plot and Averages Files . . . . . . . . . .
Graphics Files . . . . . . . . . . . . .
Metafile Graphics . . . . . . . . .
Bitmapped Graphics . . . . . . . .
Log Files. . . . . . . . . . . . . . .
Extended Hückel Calculations . . . . .
NDO Calculations . . . . . . . . .
Ab initio calculations . . . . . . . .
Molecular Mechanics Calculations . . .
Annotated Example Log File Output . . .
MM+ . . . . . . . . . .
AMBER . . . . . . . . .
Extended Hückel . . . . . .
CNDO. . . . . . . . . .
CNDO Configuration Interaction .

Appendix B

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Force Field Files

Atom Types . . . . . . . . . . . . . . . .
Atom Typing Rules . . . . . . . . . . .
Syntax . . . . . . . . . . . . . . .
forcefield . . . . . . . . . . . .
<element-symbol>:. . . . . . . . .
;<comment> . . . . . . . . . . .
<clause> . . . . . . . . . . . .
<test>? . . . . . . . . . . . .
Connected to Expressions. . . .
Side Groups . . . . . . . .
Rings . . . . . . . . . .
<assignment-statement>. . . . . . . .
Force Field Parameters . . . . . . . . . . . . .
Parameter Files . . . . . . . . . . . . .
Parameter Sets . . . . . . . . . . . . .
Newer Force Fields for Amber and BIO+(CHARMM) .
Type Parameter File (*typ) . . . . . . . . .
Bond Length Parameter File (str) . . . . . . .
xx

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

622
622
622
623
623
625
627
629
630
630
631
631
632
633
634
638
639
639
643
644
645
651

653
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

654
655
656
656
656
656
656
657
657
659
659
659
659
660
661
664
665
665

MM+ Bond Length Parameter file. . .
Bond Angle Parameter File (ben) . . . . . .
MM+ Bond Angle Parameter Files. . .
Urey-Bradley Bend Parameter File . . . . .
Torsion Parameter File (tor) . . . . . . .
MM+ Torsion Angle Parameter Files . .
Improper Torsion Parameter File (*imp) . . .
BIO+ Improper Torsion Parameter File .
Out-of-plane Bending Parameter File (mmpoop) .
Nonbonded Parameter Files (nbd) . . . . .
Pair-based Nonbonded Parameter Files .
Hydrogen Bond Parameter File (am*hbd) . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

Appendix C Quantum Mechanics Files

. 666
. 666
. 667
. 668
. 669
. 669
. 670
. 671
. 672
. 673
. 675
. 677

679

Semi-Empirical Files . . . . . . . . . . . . .
Extended Hückel Parameter File . . . . . . .
exhuckel.abp File Format . . . . . .
References for Parameters in exhuckel.abp .
CNDO and INDO Parameter File . . . . . . .
cindo.abp File Format . . . . . . .
MINDO/3 Parameter Files . . . . . . . . .
mindo3_1.abp File Format . . . . . .
mindo3_2.abp File Format . . . . . .
mindo3_3.abp File Format . . . . . .
MNDO and MNDO/d Parameter Files . . . . .
mndo_1.abp or mndod_1.abp File Format .
mndo_2.abp or mndod_2.abp File Format .
AM1 and PM3 Parameter Files . . . . . . .
am1_1.abp and pm3_1.abp File Format . .
am1_2.abp and pm3_2.abp File Format . .
am1_3.abp and pm3_3.abp File Format . .
ZINDO/1 Parameter Files . . . . . . . . .
zindo1_1.abp File Format . . . . . .
zindo1_2.abp File Format . . . . . .
zindo1_3.abp File Format . . . . . .
ZINDO/S Parameter Files . . . . . . . . .
zindos_1.abp File Format . . . . . .
zindos_2.abp File Format . . . . . .
zindos_3.abp File Format . . . . . .
zindos_4.abp File Format . . . . . .
TNDO Parameter Files . . . . . . . . . .
The Default TNDO Parameter Set . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 679
. 681
. 681
. 682
. 684
. 684
. 685
. 686
. 687
. 688
. 688
. 688
. 689
. 690
. 690
. 692
. 693
. 693
. 693
. 694
. 695
. 696
. 696
. 697
. 698
. 699
. 700
. 700
xxi

Improved Parameter Sets . . .
default.abp TNDO File Format .
Basis Set Files . . . . . . . . . . . .
Basis Set File Format . . . . . . .
Basis Set . . . . . . . .
Syntax. . . . . . . . .
Partial List of Basis Set Files . .
Creating a New Basis Set . . . . . .

Appendix D

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

HIN Files

Structure of a HIN File . . . . . . . . . .
File Syntax . . . . . . . . . . . . . .
; comment . . . . . . . . . . .
forcefield. . . . . . . . . . . .
sys . . . . . . . . . . . . . .
seed . . . . . . . . . . . . .
view . . . . . . . . . . . . .
box . . . . . . . . . . . . .
mol . . . . . . . . . . . . .
res . . . . . . . . . . . . . .
atom . . . . . . . . . . . . .
Atom Flags . . . . . . . .
vel . . . . . . . . . . . . . .
mass . . . . . . . . . . . . .
basisset . . . . . . . . . . . .
formalcharge . . . . . . . . . .
endres . . . . . . . . . . . .
endmol . . . . . . . . . . . .
selection . . . . . . . . . . . .
selectrestraint . . . . . . . . . .
Setting Flag Bits for selectrestraint .
selectatom . . . . . . . . . . .
endselection . . . . . . . . . .
dynamics . . . . . . . . . . .
aromaticring . . . . . . . . . .
text . . . . . . . . . . . . .
line . . . . . . . . . . . . .
circle . . . . . . . . . . . . .
rectangle . . . . . . . . . . . .

xxii

.
.
.
.
.
.
.
.

Table of Contents

700
702
703
703
703
704
705
709

711
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

711
712
713
714
714
715
715
716
716
716
717
718
718
718
719
719
719
720
720
720
721
722
722
722
722
723
724
724
725

Appendix E Residue Template Files

727

Structure of a TPL File . . . . . . .
Template Syntax. . . . . . . . .
;<comment> . . . . . . .
[<residue-name>]. . . . . .
<atom-description> . . . . .
<atom-name> <aliases> .
<aliases>. . . . . .
<element> . . . . .
<tag>. . . . . . .
(bonding-info). . . .
<force-field> . . . .
internal . . . . . .
Amino Acid Residues . . . . . . .
Nucleic Acid Residues . . . . . . .
Adding New Residues . . . . . . .
General Requirements . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Appendix F Default Settings in
the Registry
Registry Structure . . . .
Registration . . . . . .
Ab Initio Settings . . . .
AbInitio . . . .
AMBER Settings . . . . .
amber . . . . .
amber,CustomName .
Basis Set Settings . . . .
BasisSet . . . . .
BIO+ Settings. . . . . .
bio+ . . . . . .
bio+,CustomName .
Computational Settings . .
Compute . . . .
Filters Settings . . . . .
Filters . . . . .
MM+ Settings . . . . .
mm+ . . . . .
mm+,CustomName .
Network Settings . . . .
Network . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 727
. 729
. 730
. 730
. 730
. 732
. 732
. 732
. 732
. 733
. 733
. 734
. 735
. 737
. 739
. 739

743
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

Table of Contents

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. 743
. 746
. 747
. 747
. 749
. 749
. 750
. 753
. 753
. 755
. 755
. 756
. 759
. 759
. 767
. 768
. 769
. 769
. 769
. 772
. 772

xxiii

OPLS Settings . . . . .
opls . . . . .
opls,CustomName .
Path Settings . . . . .
Path . . . . .
Preference Settings . . .
Preferences . . .
Registration Settings . . .
Registration . . .

xxiv

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

773
773
773
776
776
777
777
785
785

Chapter 13 Credits and Acknowledgments

787

Chapter 14 Glossary

789

Table of Contents

Chapter 1
Introduction
What is HyperChem?
HyperChem® is a molecular modeling and simulation programthat lets you perform complex chemical calculations.
Use the Glossary at the back of this book to look up terms and concepts you might be unfamiliar with. Use the master index to findsubjects in Getting Started, Computational Chemistry, and the HyperChem for Windows Reference Manual.
HyperChem includes these functions:•

Drawing molecules from atoms and converting them to threedimensional (3D) models•

Constructing proteins and nucleic acids from standard residues•

Using molecules from other sources; for example, BrookhavenProtein Data Bank (PDB) files•

Rearranging molecules by, for example, rotating and translating them•

Changing display conditions, including stereo viewing, rendering models, and structural labels•

Setting up and directing chemical calculations, including
molecular dynamics, by various molecular mechanical or abinitio or DFT or semi-empirical quantum mechanics methods•

Determination of isotope effects in vibrational analysis calculations for semi-empirical and ab initio SCF methods•

Graphing the results of chemical calculations•

Solvating molecules in a periodic box
1What is HyperChem?

HyperChem: Summary of Major Functions
Creating
andEditing

construct DNA,
RNA, and proteinsfrom residues

draw molecules
in 2D

Model
Building

use/display
molecules from
PDB files

Model Builder

approximate 3D structures

Calculations
single point

methods:

MM

QM

geometry
optimization
MM

QM

vibrational
analysis,transition
state searching
QM

total energyof oneconfiguration

results:a stable
configuration

MM = Molecular mechanics
QM = Semi-empirical or ab initio quantum mechanics

2

Chapter 1

IR spectra,transition state
conformation

molecular andLangevin
dynamics,
Monte CarloMM

QM

simulation ofchanging
molecular
conformation
with time andtemperature,ensembleaveragingStarting HyperChem

Calculation Methods
HyperChem provides these methods for chemical calculations:•

MM+, AMBER, BIO+(CHARMM), and OPLS force fields formolecular mechanics calculations•

Extended Hückel, CNDO, INDO, MINDO3, MNDO, MNDO/d,
AM1, PM3, ZINDO/1, ZINDO/S, and TNDO semi-empirical,
and ab initio or DFT quantum mechanical calculations

HyperChem can mix molecular mechanics and semi-empirical or
ab initio or DFT (quantum mechanics) calculations for a molecularsystem. You can use these two types of methods on selected portions of the same molecule.

Starting HyperChem
To start HyperChem:
Click on “Start”. Move the mouse pointer across “Programs”,“HyperChem 7”, and “HyperChem Pro”. If you have moved themouse correctly, you can then click on “HyperChem Pro” to start
the program.

click to start
HyperChem program

Note: HyperChem can take a file name as a command line argument. If the file has extension HIN or ENT, HyperChem will read

Introduction3

HyperChem for Windows

the molecular system in HIN or PDB format respectively (see“Open” on page 78). If the file has the extension SCR, then HyperChem will run the file as a script file (see “Open Script” on page106).

If you have a file of script commands named chem.scr in theHyperChem directory, it will be executed automatically whenHyperChem starts.

HyperChem for Windows
HyperChem works with the various versions of Microsoft Windows™, including Windows 95™ through Windows XP™, and follows the rules for a Windows application. See Microsoft Documentation for information about Windows organization and operation.
When you start HyperChem, you see an empty HyperChem window. A typical window looks like this:Control-menu button

title barmaximize/restore button
minimize button

Exitbuttonmenu bar
tool icons

toolbar icons

windowborderworkspacemouse pointerstatus line

4

Chapter 1

current calculation methodHyperChem for Windows

Control-menu Double-click on this box to close the window.
buttonClick to see the Control menu, containing items to
let you move or reorganize the window you areusing. You can also do most of these tasks by using
the mouse on other parts of the window.
Title barShows HyperChem plus the filename of the molecular system in the workspace. If there is more thanone HyperChem window, the title bar of the active
window has a distinct color. (The color depends on
your choice in the Windows Control Panel.)

MinimizebuttonL-click to reduce the window to an icon.

MaximizebuttonL-click to enlarge the window to fill the whole
screen. Once selected, this button turns into a
Restore button, which returns the window to its
previous size.

Exit button

Click to exit HyperChem. You can also exit
HyperChem from the File menu item.

RestorebuttonL-click to reduce a window from full-screen size tofill part of the screen. This button appears only
after you use the Maximize button.

Menu barShows the names of available pull-down menus.
L-click on a menu name to pull down the menu.

Tool icons

Controls the HyperChem tools for drawing, selecting, and moving molecules, and for zooming andsetting the clipping slab.
With Release 6 of HyperChem Pro and beyond, an
additional set of Annotation Icons, not shown
above, are also available. These icons, described in
Chapter 3 , are used for creating annotations.
Annotations may be of type text, line, ellipse, or
rectangle.

Toolbar icons These buttons provide shortcuts for menu items
such as file opening and saving, cutting and pasting, etc. Workspace
Contains the molecular system you work on.
Mousepointer

The mouse cursor for choosing menu items, choosing and operating tools, and working with winIntroduction

5

HyperChem for Windows

dows. When you move this cursor into the workspace, it looks like a HyperChem tool.
Status line

Shows the function of menu items and the resultsof selections and calculations.

WindowborderTo change the size of a window, place the mousepointer on this border, L-click and hold down the
button, and then drag. Different parts of the border provide different types of size adjustments. The
border for the active window has a distinct color;for example, a gray window border signifies thatthe window is active, and a white border that it isinactive.

Using Multiple Windows
You can have several HyperChem windows on screen at once.
To start another HyperChem window:
1. If the HyperChem window is filling the screen, L-click on the
Minimize or the Restore button in the active HyperChem window.
The Minimize button reduces the window to an icon named
HyperChem - [FILENAME]. The Restore button reduces the window to a smaller window. In either case, the window is smaller
but still active.
2. Follow the original instructions for starting HyperChem toopen a new window named HyperChem - [untitled].
3. Double-click on the original HyperChem icon or window to
expand it.
4. L-click anywhere on the window to activate it.
Warning: If you are using a network licensed version of HyperChem, you must have sufficient licenses to open multiple HyperChem windows.
Each HyperChem window can contain a different molecular system and have different preference settings (see “Preferences” onpage 95), display conditions (see “Display Menu” on page 248),and computational choices.
6

Chapter 1

Using the Mouse

Using the Mouse
You can move the mouse cursor and HyperChem tools by moving
the mouse. Outside the HyperChem workspace, the cursor
becomes a mouse cursor and looks like an arrowhead. Inside theworkspace, the cursor becomes a HyperChem tool and looks likeone of the following tool icons (see chapter 3, “Tools”):

Drawing tool

Z translation tool

Selection tool

Zoom tool

XY rotation toolZ clipping tool

Z rotation tool

mouse pointer

XY translation tool

text cursor

text annotation toolline annotation tool

ellipse annotation tool

rectangle annotation tool

Use a mouse for these tasks:•

Drawing, selecting, or moving molecules•

Choosing items on the menu bar•

Choosing options in dialog boxes•

Editing text in dialog boxes•

Creating annotations (text and line drawings)

To use the mouse with menus and dialog boxes, follow standard
procedures for Microsoft Windows.

Introduction

7

Using the Mouse

To use the mouse with HyperChem, first position the cursor on amolecular structure or icon. Then use one of the following procedures, depending on the task:

8

Chapter 1

Procedure

How to do it

What it does

L-click
R-click

Press and release the left or
right mouse button

Do this to choosemenu items andoptions in dialog
boxes, and to selectatoms. L-click and Rclick have opposite
effects when using
tools, for example,
when selecting anddeselecting atoms

L-dragR-dragPress and hold down a mousebutton (left or right), and thenmove the mouse to perform an
operation; release the mousebutton to complete the operation

Use L-drag to choosemenu items andtext, to select atoms,
and to draw molecules (with the
Drawing tool).
Use R-drag to deselect atoms or tomove molecules in
the Molecular Coordinate System

LR-drag
RL-drag

Hold down both mouse buttons, but press the left first.
RL-drag reverses the order ofholding down the mouse buttons. With both mouse buttons
held down, move the mouse toadjust the size of a selection
rectangle or circle (see “SelectSphere and Group Selecting”
on page 227). Then release
both mouse buttons

Use LR-drag to selectgroups of atoms; use
RL-drag to deselect agroup of atoms

Using Keyboard Alternatives for Windows

Procedure

How to do it

What it does

[Shift]+L-click[Shift]+R-click

Hold down [Shift] while youpress and release the left or
right mouse button

Use this for changing chirality (withthe Drawing tool) or
stepwise operationof the HyperChem
tools (see chapter 3,“Tools”). The left
button moves allmolecules, and theright button moves
selected molecules

Double-click

Press and release the left mousebutton twice rapidlyThis is usually ashortcut for a common operation. In
some dialog boxes,
double-click on theoption instead of Lclicking on an option
and then on OK.
Double-clicking on abond with the Drawing tool creates anaromatic bondUsing Keyboard Alternatives for Windows
Microsoft Windows provides keyboard alternatives to using themouse. The keyboard might be easier and faster for some users. Usethese standard Windows procedures to open menus, to choosemenu items, or to choose options in dialog boxes:
Opening amenu

Press [Alt], then the key corresponding to the underlined letter in the menu name. For example, toopen the Select menu, press [Alt] and then [S].

Closing amenu

Press [Esc].

Choosing amenu item

Press the key corresponding to the underlined letter. For example, for Open, press [O].

Introduction

9

Using Keyboard Alternatives for HyperChem

Closing a
dialog box

Press [7] to close a dialog box and to accept the
choices you made. This usually corresponds to
L-clicking on OK.

Choosing a
dialog box
optionPress the key corresponding to the underlined letter. For example, for No, press [N].

Movingwithin adialog box

Press [Tab] to move between sections of a dialog
box.

Movingthrougha listPress the [4] and [3] keys. The list can be a scroll box
containing filenames or a set of check boxes or buttons.

Checking abox

Press [Spacebar] to place an ✓ in a check box or to
remove an ✓. You find these check boxes in dialog
boxes. Checking a box turns on an option.

Using Keyboard Alternatives for HyperChem
HyperChem has special keyboard shortcuts for using HyperChem
tools; see “Keyboard Equivalents for Tools” on page 49.
You can also use these keys for HyperChem functions:10

Chapter 1

Keys

Function

Description

[F1]

Help

Shows the Help contents or, if you highlighted a menu item or have a dialog box
active, the Help for that menu item or
dialog box.

[Shift]+[F1]HelpShows context-sensitive Help. If no menu
or dialog is active this will change the cursor to the Help cursor. You click on a Tool
icon, menu item or other part of theHyperChem window for Help on that
topic.

[Alt]+[F4]Exit

Duplicates Exit on the File menu

Using Keyboard Alternatives for HyperChem

Keys

Function

Description[Ctrl]+[N]New

Clears the HyperChem workspace. Thisduplicates New on the File menu.

[Ctrl]+[O]

Open

Presents the Open File dialog box to readin a molecular system stored in a file. Thisduplicates Open on the File menu.

[Ctrl]+[S]

Save

Presents the Save File dialog box for storing a molecular system in a file. Thisduplicates Save on the File menu.

[Ctrl]+[A]

Save As

Presents the Save File dialog box for storing a molecular system in a file. Thisduplicates Save As on the File menu.

[Del]

Clear

Removes selected atoms from the workspace. This duplicates Clear on the Editmenu. You cannot recover these atoms
from the Clipboard.

[Ctrl]+[X]

CutTransfers selected atoms from the workspace to the Clipboard. This duplicatesCut on the Edit menu.

[Ctrl]+[C]

Copy

Copies selected atoms from the workspace to the Clipboard. This duplicates
Copy on the Edit menu.

[Ctrl]+[V]Paste

Copies selected atoms from the Clipboard to the workspace. This duplicates
Paste on the Edit menu.

[F9]

Copy Image

Places a picture of all or part of the monitor screen in a file or on the Windows
Clipboard. [F9] duplicates functions of
Copy Image on the Edit menu, and lets
you save images of the workspace, pulldown menus, and dialog boxes. Use
Setup Image on the Edit menu to tellHyperChem how [F9] should work.

[Esc]

CancelDuplicates Cancel on the menu bar. Stopsa calculation or reading of a large file.

Introduction

11

HyperChem Menus

Keys

Function

Description[Spacebar]

Scale to Fit

Duplicates Scale to Fit on the Display
menu (see page 250). This brings themolecular system or selected atoms to
the center of the screen so that they fit in
the workspace. This is useful after you
move molecules with a Translation tool or
the Zoom tool.
Also sets the clipping planes for Z clipping and adjusts the y axis of the dataplot in the Molecular Dynamics Results
dialog box.

HyperChem Menus
You select HyperChem commands and settings from pull-downmenus on the menu bar above the workspace. When you highlighta menu item, a description of that item and its action appears on
the status line (see “HyperChem for Windows” on page 4).
Use menu items to set HyperChem conditions (like the type oflabels on atoms) and to start HyperChem procedures and calculations. Menu items work as follows:•

Menu items with ellipsis points, such as Select ... on the Selectmenu, open dialog boxes with buttons, text fields, and checkboxes for making choices.

•

Some menu items turn on or off (toggle) a condition. Turning
on a menu item places a check mark (✓) to the left of the item.
The condition remains on until you select the same item again
or, in some cases, select an alternative item.
Turning on a menu item can have an immediate effect on amolecular system. For example, Show Hydrogens on the Display menu shows hydrogens for the molecules in the workspace and for all molecules that you later draw. Other items,
such as Explicit Hydrogens on the Build menu, change the way
the Drawing tool works, but do not affect existing molecules.

12

Chapter 1

HyperChem Dialog Boxes

Gray Menu Items
HyperChem changes gray menu items to black to show that theitem is available. You must satisfy a condition to activate this typeof menu item. For example, Invert on the Edit menu is gray until
you select atoms and give the selection the predefined name
POINT. This activates Invert (and changes it from gray to black) sothat you can invert the molecule.

HyperChem Dialog Boxes
Choosing most menu items displays a dialog box for entering
information, choosing options, or starting a HyperChem function.
Choosing some dialog boxes displays additional dialog boxes.
Message dialog boxes appear showing warning or error conditions.
You can change the position of a dialog box by placing the mouse
cursor on its title bar and L-dragging it anywhere on screen.
HyperChem has two ways of removing a dialog box when you
have finished with it:•

To close a dialog box without using new settings, L-click on
Cancel or click on the Exit button in the upper-right corner ofthe dialog box.

•

To close a dialog box and accept new settings or to start a calculation, L-click on OK or Proceed in the dialog box.
click exit button toclose dialog box andcancel new settingscloses dialog box anduses new settingscloses dialog box andcancels new settings

Most dialog boxes temporarily inactivate HyperChem menus andtools. When you close the dialog box, HyperChem regains its fullcapabilities. Persistent dialog boxes (see the next section) are an
exception to this rule.

Introduction

13

HyperChem Dialog Boxes

Persistent Dialog Boxes
The Default Element, Amino Acids, Nucleic Acids, and Ab Initio
dialog boxes are persistent. You can leave these dialog boxes onscreen and still use HyperChem menus and tools. When you havefinished using one of these dialog boxes, double-click on the Control-menu box to remove it. The structure remains in the workspace.

Working in Dialog Boxes
HyperChem dialog boxes contain these standard Windows components:•

Buttons and check boxes. L-click to choose the items associated with a button or check box. The center of a button turns
black and a ✓ appears in a check box. These remain activateduntil you L-click again.

•

Lists with scroll bars. L-click on a list item. A highlight (black
background) appears and the text turns white. If the list islonger than the list box, a scroll bar appears on the right to let
you move through the list.

•

Text boxes. You can enter information into text boxes. See theprocedures in the next section.

Editing Text
HyperChem dialog boxes contain text boxes for entering text or
numbers. Follow these rules:

14

Chapter 1•

L-click with the text cursor (I-shaped) anywhere in the text tomove the insertion point (a vertical, flashing bar).

•

L-drag the text cursor to select text that you want to delete or
replace.

•

To delete text, select it and press [Delete] or [Backspace].

•

To replace text, select it and start entering new text.

HyperChem Dialog Boxes

Editing Keys
You can use these keys for editing:[Enter]Moves the insertion point to a new line.

[Backspace]

Erases the character (or selected text) to the left of
the insertion point.

[Delete][Del]

Erases the character (or selected text) to the right of
the insertion point.

[4] [3][1] [2]

Moves the insertion point.

Case Preferences
For filenames, upper- and lowercase letters are equivalent. For
example, HyperChem recognizes molecule.hin and Molecule.HIN
as the same filename.

Entering Exponents
When entering numbers, use this format for scientific notation(exponents): Yx10N = YeN.
For example, for 1.05x104, enter 1.05e4. HyperChem warns you
about numbers that are out of range or in the wrong format.

Introduction

15

HyperChem Dialog Boxes

16

Chapter 1

Chapter 2
The Basics of HyperChem
Levels of Molecular Organization
HyperChem uses four levels of molecular organization. It is important to understand these levels:
Atoms

Single atoms, either free or in a chemical compound. The HyperChem Drawing tool (see “Drawing Molecules” on page 29) creates atoms andbonds between them.

Residues

Groups of bonded atoms, such as amino acid or
nucleic acid subunits of a protein or polynucleotide. Residues come only from database files orHyperChem Input (HIN) files. HyperChem supplies database files of amino acid and nucleic acidresidues (see “Databases Menu” on page 139). Proteins and polynucleotides from PDB files (see page
“Protein Data Bank Files” on page 503) are also
composed of residues. Water molecules in either aperiodic box or from a PDB file are residues. Theyshow the residue labels HOH or WAT.
Residues have these properties:•

They have standard structures.

•

Their atoms may have partial charges.

•

You can select them with the Selection tool in
the residues mode.

•

You can add labels characteristic of residues(see “Labels” on page 281).

Amino acids or nucleotides that you constructfrom atoms do not have these properties.
17

Coordinate Systems

Molecules

A molecule is composed of covalently bonded
atoms or residues. You can create molecules with
the Drawing tool, construct polymers by using the
Databases menu, or display molecules stored in a
HIN or PDB file (see “Protein Data Bank Files” onpage 503 and “HIN Files” on page 711).
HyperChem does not have a fixed limit on structure size. However, the memory capacity or speedof your computer might impose practical limits on
the size of molecule you can conveniently manipulate.
Because the concept of a “molecule” in HyperChem is that of a “connected graph”, an individual
atom is also a “molecule”.

Molecular
SystemA molecular system is one or more molecules displayed in the HyperChem workspace or stored in a
file.

Coordinate Systems
HyperChem has two coordinate systems for displaying molecules:
the Viewer's Coordinate System and the Molecular Coordinate System. Each coordinate system has x, y, and z Cartesian axes.

18

Chapter 2

Coordinate SystemsyViewer’s
Coordinate
Systemxz
Molecular
Coordinate
SystemyxzEach molecular system also has its own internal axes, called inertial axes (primary, secondary, and tertiary). These axes are fixed in
the Molecular Coordinate System.

Viewer’s Coordinate System
The Viewer’s Coordinate System defines the positions of atoms relative to you, the viewer. The Viewer’s Coordinate System is fixedby the screen geometry. The y axis is vertical, the x axis is horizontal, and the z axis is perpendicular to the plane of the screen.
In the Viewer’s Coordinate System, you can move molecules without changing their atomic coordinates. With HyperChem tools,
use the left mouse button to move molecules in the Viewer’s Coordinate System. Molecules move as if you were changing your viewpoint and moving past the molecules. This works only for whole
molecular systems.
With some HyperChem dialog boxes, like Align Viewer, movement is automatically in the Viewer’s Coordinate System if there
are no selected atoms.

The Basics of HyperChem

19

Coordinate Systems

When you first create a molecule, HyperChem aligns the Viewer’s
and the Molecular Coordinate System so that the x, y, and z axes
correspond. As you move molecules, the coordinate systems mightlose this correspondence. Use Align Viewer on the Edit menu (seepage 215) to move the Viewer’s Coordinate System so that it once
again corresponds to the Molecular Coordinate System.
When you save a molecular system in a HIN file, HyperChem
includes information about the Viewer’s Coordinate System (see“view” on page 715). Opening a file restores the previous view ofthe molecular system stored in the file.

Molecular Coordinate System
The Molecular Coordinate System is attached to a molecular system and determines its atomic coordinates, which are the coordinates used in all HyperChem chemical calculations.
You can determine the molecular coordinates of any atom byselecting the atom (see “Measuring with the Selection Tool” onpage 35). The coordinates appear in the status line.
With HyperChem tools, you move the atoms in the Molecular
Coordinate System by using the right mouse button. This works
only for selected atoms, residues, and molecules. This table summarizes the right mouse button functions:
Tool

Right Mouse Button Function

XY rotation

Rotates selected molecules only

Z rotation

Rotates selected molecules or selected, rotatable side
chains

XY translation

Moves selected atoms or whole moleculesa

Z translation

Moves selected atoms or whole moleculesa

a. Right button function is limited to whole molecules if Whole molecule
translation is on (✓) in the Tool Preferences dialog box.

With some HyperChem dialog boxes, like Align Molecules, movement is automatically in the Molecular Coordinate System.

20

Chapter 2

Inertial Axes

Inertial Axes
For either selected atoms or whole molecular systems, HyperChem
can calculate the moments of inertia and inertial axes. HyperChem reports the moments of inertia on the status line and displays the inertial axes as dotted white lines, fixed in the Molecular
Coordinate System. These three moments and axes (primary, secondary, and tertiary axes) are functions of the location and massof atoms. The inertial axes belong to a molecular system and are
independent of the Viewer’s or Molecular Coordinate System.
Turn on Show Axes (✓) on the Display menu to show the inertial
axes. These are orthogonal and are numbered 1, 2, and 3, for primary, secondary, and tertiary axes respectively. The axes remain in
the workspace until you turn off Show Axes (no check mark).
The primary inertial axis usually marks the longest distancethrough a molecular system, and the tertiary axis marks the shortest distance.

HyperChem uses inertial axes for rearranging molecules (see“Align Molecules” on page 216) in the workspace and when defining POINT, LINE, and PLANE (see “Select Dialog Box” on page 233).
These definitions are in terms of inertial axes.

The Basics of HyperChem

21

Constructing a Molecule

POINT

The intersection of the inertial axes at the center ofmass of the selected atoms.

LINE

The primary inertial axis of the selected atoms.1

PLANE

The plane formed by the primary and secondary
inertial axes, perpendicular to the tertiary axis of
the selected atoms.

POINT
LINE

PLANE

Constructing a MoleculeThis section describes creating a molecule in HyperChem and indicates where you can find more information. You can draw molecules “from scratch” or construct them from residues.
To draw a molecule:
1. Use the Drawing tool to sketch atoms in a molecule and connect them with covalent bonds. (See “Drawing Molecules” onpage 29.)•

Select and change the element from the Default Element
dialog box. (See “Changing the Drawing Element” on page473.)

1. The primary inertial axis corresponds to the smallest eigenvalue of the moment of inertia matrix.

22

Chapter 2

Constructing a Molecule•L-click or L-drag to create individual atoms or bonded
atoms. (See “Drawing Molecules” on page 471.)•

Specify the bond order by clicking bonds with the Drawing
tool. L-clicking a bond increases the bond order, and Rclicking decreases it. Double-clicking a bond creates a conjugated bond; double-clicking a bond in a ring creates anaromatic ring. (See “Changing the Bond Order” on page
475.)

•

With wedges turned on in stick rendering (see“Rendering”
on page 258), specify stereochemistry by [Shift]+L-clicking
on bonds before model building. (See “Drawing Molecules” on page 471 and “Changing Chirality” on page485.)

2. Invoke the Model Builder on the Build menu to create a 3D
molecule from the 2D structure you drew. (See “Model
Build/Add H & Model Build” on page 124.)
Use any of the following options to make changes to the resulting
structure:
1. Edit the system with the Drawing tool and with Cut, Copy, andPaste commands on the Edit menu. (See “Edit Menu” on page201.)
2. Specify the molecular conformation.
•

If necessary, change the bond length, bond angle, or torsion angles of selected atoms by using one of the Set commands on the Edit menu. (See “Set Bond Length” on page
218, “Set Bond Angle” on page 219, and “Set Bond Torsion” on page 220.)•

Establish Model Builder constraints for the geometry, bondlength, bond angle, or torsion angles by using the Constrain commands on the Build menu. (See “Constrain
Geometry” on page 134, “Constrain Bond Length” onpage 136, “Constrain Bond Angle” on page 137, and “Constrain Bond Torsion” on page 138.)•

Set the chirality by shift-clicking on atoms using the Drawing tool or by using Invert and Reflect commands on the
Edit menu. (See “Invert” on page 206 and “Reflect” onpage 208.)

The Basics of HyperChem

23

Important: Run the Model Builder again after you have set theconformation.
3. Choose Geometry Optimization on the Compute menu toimprove the conformation of the system or selected subset,
using either molecular mechanics or semi-empirical or ab initio
or DFT quantum mechanics. (See “Geometry Optimization”
on page 362.)
Important: Do not run the Model Builder again, or you willlose the optimization.
To build a polypeptide from residues:
1. Choose Amino Acids on the Databases menu. (See “Amino
Acids” on page 141.)
2. Specify the conformation of the first residue in the Conformation section of the dialog box.
3. L-click the first amino acid residue. L-click Ace if you want an
N-terminal cap.
4. Continue specifying conformations and clicking residues until
the polypeptide is complete.
5. L-click Nme if you want a C-terminal cap.
6. If you did not cap the ends of the polypeptide, you can makeit a zwitterion by choosing Make Zwitterion on the Databases
menu. (Remove Ionic Ends reverses this action.) (See “MakeZwitterion” on page 145.)
7. Change an individual amino acid within the protein by selecting it and choosing Mutate on the Databases menu. (See“Mutate” on page 190.)
To build a polynucleotide from residues:
1. Choose Nucleic Acids on the Databases menu. (See “Nucleic
Acids” on page 157.)
2. Specify the conformation of the polynucleotide in the Conformation section of the dialog box.
3. L-click the first nucleic acid residue. L-click on 5CAP if you
want a 5' cap.
4. Continue specifying conformations and clicking residues until
the polynucleotide is complete.
24Constructing a Molecule

5. L-click 3CAP if you want a 3' cap.
6. If you want sodium ions to balance the negative charge oneach phosphate group, choose Add Counter Ions on the Databases menu. (See “Add Counter Ions” on page 162.)
7. Change an individual nucleic acid within the polynucleotide
by selecting it and choosing Mutate on the Databases menu.
(See “Mutate” on page 190.)
To add water molecules:
1. If you want the molecular system in a periodic box containing
water molecules (rather than in vacuo), choose Periodic Box on
the Setup menu. (See “Periodic Box” on page 335.)
2. Specify the options for the periodic box in the Periodic Box
Options dialog box.

The Basics of HyperChem

25

26

Chapter 3
Tools

Drawing
Selecting
XY rotation
Z rotation
XY translation
Z translation

This chapter explains the eight HyperChem molecule tools you
use to construct, model, select, and move molecules plus the fourannotation tools that are used to create text, lines, ellipses andrectangles serving as annotations to the molecules in the workspace. A Toolbar containing these 12 tools appears on top of theHyperChem workspace. An additional standard Windows toolbar
for “file open”, etc. accompanies the HyperChem specific toolbar.
Each tool is represented by an icon, or symbol. When you use thetool, the cursor takes the shape of the icon (except for the linetool).

Zoom

The Selecting, XY Translation, and Zoom tool may also be used tomanipulate annotations as well as atoms and molecules.

Z clipping

You can use the tool icons in these ways:
L-click

Place the mouse cursor on a tool icon and click theleft mouse button to turn the cursor into a tool.
When you move the cursor to the workspace, thecursor changes to a tool, with the appearance ofthe tool icon.

Double-click

Place the cursor on a tool icon and click the left
mouse button twice, rapidly, to begin a procedureor to show a dialog box related to the tool.

Text Annotation
Line Annotation
Ellipse Annotation
Rectangle Annotation

For mouse fundamentals, see “Using the Mouse” on page 7. The
following descriptions give you more information on HyperChem
tools.

Pop-up Help for Tool Icons
By default, when the cursor pauses over one of the tool icons, amessage briefly describing the tool will pop up. You can disable
27

Drawing Tool

this feature by changing the line ToolHelpPopup=Yes toToolHelpPopup=No in your Registry.

Drawing Tool
With the Drawing tool, you can draw and construct molecules in
two dimensions (2D). You supply information about types ofatoms and their bonding, without concern for accurate geometry.
You can later ask HyperChem to turn the 2D drawing into a 3D
structure. You can then use a geometry optimization calculation(see “Geometry Optimization” on page 362) to improve the 3D
structure.
You can do the following with the Drawing tool:•

Create molecules containing any element from theperiodic table•

Add or remove atoms from existing molecules•

Create covalent bonds and change bond order•

Change chirality and local conformation

To use the Drawing tool icon:

28

Chapter 3

L-click

L-click to turn the cursor into the Drawing tool.

Double-click

Double-click on the Drawing tool to see the Element Table dialog box. You can set the default element (the type of atom you are using for drawing,for example, carbon) or turn on or off Allow Ions
and Explicit Hydrogens. You can also reach this dialog box by choosing Default Element on the Buildmenu.

Drawing Tool

Drawing Molecules
To draw molecules:
1. L-click on the Drawing icon and move the Drawing tool into
the workspace.
2. To create individual atoms, L-click anywhere in the workspace.
3. To remove an atom, R-click near the atom.
4. To create two singly bonded atoms, L-drag then release themouse button.
5. To add another bond and atom, L-click near an atom, L-drag,and then release the mouse button.
6. To change an element, choose the new element from the Element Table dialog box (see page 121), and then L-click on theatom you want to change.
7. To create a double bond, L-click on a single bond. To create a
triple bond, L-click on a double bond.
8. To create a conjugated bond, double-click on a bond. To create
an aromatic ring, double-click on a bond in the ring.
9. To decrease the order of a bond (conjugated to single; triple todouble; double to single), R-click on it.
10. To remove a single bond and an atom connected only throughthat bond, R-click on the bond.
11. To specify the chirality or local conformation of an atom,[Shift]+L-click on one of its bonds (with sticks and wedges rendering turned on) to specify constraints for the model builder.
You can also [Shift]+L-click on an atom to change the chiralityof that atom after model building.
For more information about drawing and revising molecules, seechapter 8, “Constructing Molecules.”Choosing and Changing Elements
Normally, the Drawing tool places only heavy (nonhydrogen)atoms in a molecule. You choose the heavy atom (from helium
through lawrencium) from the Element Table dialog box. This
choice is also known as the default element. To see the Element

Tools

29

Selection Tool

Table dialog box, double-click on the Drawing icon or choose
Default Element on the Build menu.
You can change the default element any time while drawing bychanging the choice in the Element Table dialog box. Then continue drawing.
To change an element after drawing a molecule:
1. From the Element Table dialog box, choose a new element. For
example, if you drew your molecule with carbon as the default
element and you want to change a carbon atom to an oxygen,click on oxygen in the dialog box.
2. With the Drawing tool, L-click on the atom you want tochange.
Note: You can change atoms in 2D drawings or, after using theModel Builder, in 3D structures.

Adding Hydrogen Atoms
HyperChem can automatically add the hydrogen atoms needed tocomplete the normal valence structure of heavy atoms if you draw
the molecule with Explicit Hydrogens off. Use the Model Builder(Add H & Model Build on the Build menu) to add hydrogen atoms,
and then create a 3D structure.
You can also add hydrogens manually while drawing. Choose
Explicit Hydrogens from the Element Table dialog box or on the
Build menu. When Explicit hydrogens is on, Add H & Model Buildon the Build menu changes to Model Build. The Model Builder does
not automatically add hydrogens.
You can always ask HyperChem to add required hydrogens to a
structure by choosing Add Hydrogens on the Build menu. This
choice is independent of whether the Explicit Hydrogens setting ison or off.

Selection Tool
The Selection tool lets you mark atoms or molecules, preparing
them for specific operations or procedures, such as labeling or calculations, for example. The tool may also be used to select something in the annotation plane when manipulating an annotation
rather than atoms or molecules.
30

Chapter 3

Selection Tool

Remember: If there is a selection, HyperChem usually acts only on
the selected atoms or annotations. If atoms and annotations areboth selected, HyperChem acts in preference only on the atoms.
You can select these atomic and molecular entities (structures):
•

Atoms

•

Bonds

•

Bond angles•

Residues (in proteins or polynucleotides and some water molecules)•

Backbones (in proteins or polynucleotides)•

Shortest path between atoms, bonds or residues•

Side chains

•

Rings

•

Groups of atoms•

Several or all molecules in the workspace

You can also use the Selection tool to measure these values:•

Bond lengths and distances between nonbonded atoms•

Bond angles and torsion angles

To use the Selection icon:
L-click

L-click on the Selection icon to turn the cursor into
the Selection tool.

Double-click

Double-click on the Selection icon to start theModel Builder. The Model Builder turns selected
atoms into a 3D chemical model. Double-clicking
is the same as choosing Model Build or Add H &Model Build on the Build menu. For a discussion of
the Model Builder, see “Converting 2D Drawings
into 3D Structures” on page 487.

Note: As you select structures, information about these structuresappears in the status line.

Tools

31

Selection Tool

Selection Levels
The Selection tool always works at one of these levels of molecularorganization:
Atoms

The smallest unit of selection is an atom or bond.
L-clicking an atom selects the atom. L-clicking abond selects the two atoms that the bond connects.

Residues

The smallest unit of selection is a residue from a
database or, if there are no residues, an atom orbond.

Molecules

The smallest unit of selection is a whole molecule.

These are the first three items on the Select menu. Only one ofthese items can be active (✓) at a time. The remaining items on the
Select menu make selection easier. For a complete discussion ofthis menu, see page 220.

Selecting
HyperChem provides several ways to select atoms or molecules:•

Use the Selection tool to select atoms, residues, molecules, andgroups of atoms.

•

Use the Select menu to select classes of structures and named
structures.

Using the Selection Tool
For these procedures, you must first L-click on the Selection toolicon to obtain the Selection tool.

32

Chapter 3

Procedure

What to do

Selecting single
structures

Choose the selection level (Atoms, Residues, or Molecules) on the Select menu. This determines the smallest unit you can select. Choose Multiple Selections
on the Select menu to turn it off (no check mark). Lclick on a structure to select it. Each selection
replaces the previous selection

Selection Tool

Procedure

What to do

Accumulating
selections

Choose Multiple Selections on the Select menu toturn it on (✓). Then use the procedure for selecting
single structures (above). Each selection adds to previous selections

Canceling a selection

R-click on a structure to deselect it

Selecting all atoms

L-click on an empty part of the workspace. Or choose
Select All on the Select menu

Deselecting all
atoms

R-click on an empty part of the workspace

Selecting a groupof atoms

LR-drag (hold both mouse buttons, first the left, thenthe right) a selection rectangle around a group of
structures. Release both mouse buttons to select all
atoms that project onto the 2D plane of the screen.
To select all structures in a sphere (3D) instead of arectangle (2D), first choose Select Sphere on the
Select menu (✓). Then starting at an atom, LR-drag acircle to the radius that you want. Release bothmouse buttons to complete the selection. Group
selection works with Multiple Selections either on oroff. For more information, see “Select Sphere andGroup Selecting” on page 227

Deselecting agroup of atoms

RL-drag (hold both mouse buttons, first the right,
then the left) a selection rectangle or sphere arounda group of atoms (see above). Release both mousebuttons to complete the deselection

Selecting backbone atoms in any
molecule

With Atoms on (✓), L-drag from one atom to a distant atom in the same molecule. This selects all
atoms and bonds in the shortest continuous pathconnecting these atoms, but not side groups. With
Residues on in the Select menu, this action selects all
residues that the shortest path of bonds pass throughDeselecting
backbone atoms

With Atoms on (✓), R-drag from one atom to a distant atom in the same molecule. This deselects atoms
and bonds in the continuous path connecting theseatoms. With Residues on, the residues along the pathare deselected

Tools

33

Selection Tool

Procedure

What to do

Selecting side
chainsWith Atoms on (✓), double-click on the side of thebond that is connected to the side chain. This
selects all atoms on the side of the bond that you
clicked as well as the atom on the other side of thebondSelecting rings

With Atoms on (✓), double-click on an atom orbond in a ring. This selects the atoms in the smallest ring. With Residues on, double-clicking a ring
selects all residues the ring passes throughUsing the Select Menu
These items on the Select menu select structures directly, without
the Selection tool.

34

Chapter 3

Procedure

What to do

Selecting all
structures

Choose Select All to select all atoms in a molecularsystemComplementing a
selection

Choose Complement Selection to deselect the existing selection and to select all atoms previously notselected

Saving and recalling selections

Use Name Selection to name selected atoms and to
store this selection. HyperChem provides three predefined selection names (POINT, LINE, and PLANE)
that store the selection and add geometric properties
to the selection. You can also store a selection withany name that you provide (see “Name Selection
Dialog Box” on page 238). Use Select, also on thismenu, to recall a named selection for a molecularsystemSelecting atoms
and molecules byname or number

Choose Select . . . to select atoms by a previously
defined name or to select atoms, residues, and molecules by sequence number (see “Name Selection
Dialog Box” on page 238)

Selecting a ring

Choose Extend Ring to select all atoms in a ring, if
one bond or atom in the ring is already selectedSelection Tool

Procedure

What to do

Selecting a rotatable side chain

Choose Extend Side Chain to select all atoms in arotatable side chain if the first two atoms in the side
chain are already selected. The order of selection for
the first two atoms determines the direction of side
chain selection (see page 243)

Selecting all atoms
up to the sp3–sp3
bonds

Choose Extend to sp3 to select all atoms, startingfrom an existing selection, until all bonds with only
one atom selected are single bonds between sp3
atoms. Use this to prepare a selection for a mixed
mode quantum mechanics calculation

Selecting apolypeptide orpolynucleotide
backbone

Choose Select Backbone to select only the backbone
atoms and bonds in polynucleotides and polypeptides constructed with residues from the Databases
menu or from PDB files. For polypeptides, disulfide
bridges are also selected

Measuring with the Selection Tool
Selecting atoms, residues, molecules, and bonds gives you information about these structures. You can measure bond lengths,
angles, and torsion angles, and the equivalent structural factors
among nonbonded atoms. Measurements appear on the statusline.
Procedure

What to do

Identifying an atom

Turn on Atoms (✓) on the Select menu, and thenL-click on an atom. You see the number of theatom in a molecule, the element name, the PDB
atom name (if available), the atom type (for theactive force field), the atomic charge, and its coordinates in the Molecular Coordinate System

Identifying a residue

Turn on Residues (✓) on the Select menu, andthen L-click on a residue. You see the residue
name, number, and charge of the residue. A number in parenthesis, if present, is the residue number from the PDB file

Tools

35

Selection Tool

Procedure

What to do

Identifying a molecule

Turn on Molecules (✓) on the Select menu, andthen L-click on a molecule. You see the molecule
number and charge

These measurements use the Selection tool with Atoms on (✓) andMultiple Selections on (✓):
Procedure

What to do

Measuring bondlengths

Select two atoms or the bond between them.
Alternatively, select the atom at one end of thebond, and L-drag to the atom at the other end of
the bond

Measuring bondanglesSelect two adjacent bonds or the three bonded
atoms. Alternatively, select the atom at one end of
the angle, and L-drag to the atom at the other endof the angle

Measuring torsion
anglesSelect three bonds or four atoms that define a torsional rotation. Alternatively, select an atom at one
end of the four-atom torsion, and L-drag to theatom at the other end of the torsion

Measuring distances
between atoms

Select one atom, and then select the second atom.
The atoms can be in different molecules. Do not
L-drag. Multiple Selections must be on

Measuring improper
anglesSelect any two bonds or three atoms. The“improper angle” depends on the order of selection

Measuring improper
torsion angles

Select any three bonds or four atoms. The“improper torsion angle” depends on the order of
selection

Selecting Annotations
The selection tool can be used to select annotations as well as
atoms, residues, and molecules. To select an annotation, L-click on
text, a line, an ellipse or a rectangle to give it an outline in the“Selection Color” previously chosen via File/Preferences. The
36

Chapter 3

XY Rotation Tooldefault selection color is green. To deselect an annotation, R-clickon the annotation. If you have any difficulty selecting specificannotations among a number of closely-spaced annotations, use
the menu item Annotations/Select Next or Annotations/Select Previous (or the equivalent keys Ctrl+K or Ctrl+L) to select the correct
annotation.

XY Translating and Zooming an Annotation
Once an annotation is selected, operations on that annotation areenabled as operations on atoms would be if atoms were selected.
Most of these operations are part of the Annotation Menu. However, two of the tools are also enabled for a selected annotation.
The two tools that can be used on a selected annotations are the
XY Translation tool and the Zoom tool. The XY Translation tool isused to move annotations around in the workspace. The zoom
tool can be used to enlarge or shrink an annotation. The othertools, such as rotation, do not apply to an annotation.

XY Rotation Tool
With the XY rotation tool, you can rotate one or more moleculesaround the x or y axis, or around both axes at once.
To use the XY rotation tool icon:
L-click

L-click on the XY rotation icon to turn the cursor
into the XY rotation tool. You can then move the
XY rotation tool into the workspace and rotate
molecules by dragging.

Double-click

Double-click on the XY rotation icon to see the
Rotate dialog box. Use this dialog box for setting
exact rotation conditions (see page 209). You canalso see this dialog box by choosing Rotate on the
Edit menu.

Using the XY Rotation Tool
To use the XY rotation tool:
1. L-click on the XY rotation icon and move the XY rotation tool
into the workspace.

Tools

37

XY Rotation Tool

2. L-drag to rotate the molecular system.
This rotation leaves the atomic coordinates unchanged, as if
the viewer is moving around the molecules.
3. R-drag to rotate whole, selected molecules.
These molecules rotate around a center of atomic mass, changing individual atomic coordinates.
4. Move the XY rotation tool horizontally to rotate around the yaxis, and vertically to rotate around the x axis. Movement inother directions produces rotation around both the x and yaxes.

rotation around X axis

rotation around Y axis

Setting the Amount of XY Rotation
Normally, moving the XY rotation tool horizontally from one edgeof the workspace to the other rotates a molecule by 360 degrees.
You can change this amount by entering a number from 0 to 3600
degrees for Tool, XY rotation, in the Tool Preferences dialog box (seepage 95). Thirty-six-hundred degrees increases the sensitivity of
the rotation tool 10-fold compared to the default of 360 degrees.

38

Chapter 3

Z Rotation Tool

Z Rotation Tool
With the Z rotation tool, you can rotate molecules around the zaxis or rotate a selected side chain around a bond. The side chain
cannot be part of a ring.
To use the Z rotation tool icon:
L-click

L-click on the Z rotation icon to turn the cursor
into the Z rotation tool. You can then move the Z
rotation tool into the workspace to rotate molecules by dragging.

Double-click

Double-click on the Z rotation icon to see the
Rotate dialog box. Use this dialog box for setting
exact rotation conditions (see “Rotate Dialog Box”
on page 209). You can also see this dialog box bychoosing Rotate on the Edit menu.

Using the Z Rotation Tool
To use the Z rotation tool:
1. L-click on the Z rotation icon and move the Z rotation tool
into the workspace.
2. L-drag horizontally to rotate the molecular system.
This rotation leaves the atomic coordinates unchanged, as if
the viewer is moving around the molecules.
3. R-drag horizontally to rotate whole, selected molecules or aselected side chain that is not part of a ring. If there is no selection, this rotates the whole molecular system.
Molecules rotate around their centers of atomic mass. Side
chains rotate around the selected bond connecting to the restof the molecule. Individual atomic coordinates change during
this rotation.
Note: If you try to rotate part of a molecule that cannot rotate,
HyperChem beeps, shows a warning message on the status line,
and temporarily inactivates the Z rotation tool until you release
the mouse button. Change the selection and try again.

Tools

39

XY Translation Toolcounterclockwise
rotationclockwiserotation

Setting the Amount of Z Rotation
Normally, moving the Z rotation tool horizontally across the workspace rotates a molecule by 360 degrees. You can change thisamount by entering a number from 0 to 3600 degrees for Tool, Z
rotation, in the Tool Preferences dialog box (see page 95). Thirtysix-hundred degrees increases the sensitivity of the rotation tool
10-fold compared to the default of 360 degrees.

XY Translation Tool
The XY translation tool lets you move molecules or selected atoms
along the x and y axes (in the plane of the computer screen).
To use the XY translation tool icon:

40

Chapter 3

L-click

L-click on the XY translation icon to turn the cursor into the XY translation tool. You can thenmove the XY translation tool into the workspace
and translate molecules by dragging.

Double-click

Double-click on the XY translation icon to see theTranslate dialog box. Use this dialog box for setting
exact translation conditions (see “Translate Dialog

XY Translation Tool

Box” on page 211). You can also see this dialog box
by choosing Translate on the Edit menu.

Using the XY Translation Tool
To use the XY translation tool:
1. L-click on the XY translation icon and move the XY translation tool into the workspace.
2. L-drag to move the molecular system.
This translation leaves the coordinates of all molecules
unchanged, as if the viewer is moving around the molecules.
3. R-drag to move selected molecules, residues, and atoms. You
can move selected residues or atoms only if you turn off Wholemolecule translation (see page 95). The default setting is Wholemolecule translation on (✓).
Atomic coordinates change during this translation.
Caution: When translating selected residues or atoms in alarger molecule, HyperChem might stretch bonds and angles
to accommodate the new atomic positions. These bonds areoften unnatural. To avoid distorting bonds, turn Whole molecule translation on (see page 95).
4. Molecules move in the same direction as the XY translationtool.
5. You can drag molecules only to the edges of the workspace.
To increase the relative range for XY translation, use the Zoom
tool to reduce the apparent sizes of the molecules. This provides a relatively larger workspace for moving molecules.

Tools

41

XY Translation Tool

X translation
Y translation

Fast Translation
To translate molecules faster, turn on Fast translation in the Tool
Preferences dialog box (see page 95). This choice substitutes a picture of the molecules, called a bitmap. HyperChem can move a bitmap faster because it does not need to compute new atomic coordinates for each step in the translation. When you finish translating and release a mouse button, HyperChem computes the new
atomic coordinates and converts the bitmap back to a normal
molecular rendering.

Translation of Annotations
Provided only annotations are selected the XY Translation tool canalso be used to move annotations around in the workspace. Selectany number of annotations, then L-drag or R-drag the XY Translation tool in the workspace to move annotations. This is the default
way to position annotations. If any atoms are selected the translation will apply to them not the selected annotations.

42

Chapter 3

Z Translation Tool

Z Translation Tool
With the Z translation tool, you can move molecules or selected
atoms along the z axis (toward you or away from you). Molecules
appear larger and the degree of perspective increases as they movecloser to you.
Note: Perspective (see “Rendering: Sticks” on page 260) affects Z
translation. With Perspective on, molecules change size. With Perspective off, molecules remain the same size, but atoms disappear
from the display as you move them out of the clipping slab (seepage 47).
To use the Z translation tool icon:
L-click

L-click on the Z translation icon to turn the cursor
into the Z translation tool. You can then move theZ translation tool into the workspace and L-drag or
R-drag to move molecules.

Double-click

Place the cursor on the Z translation icon and double-click to see the Translate dialog box. Use this
dialog box for setting exact translation conditions(see “Translate Dialog Box” on page 211). You canalso see this dialog box by choosing Translate on
the Edit menu.

Caution: If atoms disappear after a z axis translation, you have
moved them outside the clipping slab. Use the Z clipping tool toadjust the clipping planes (see page 48) or press [Spacebar], making
the atoms visible in the workspace.

Using the Z Translation Tool
To use the Z translation tool:
1. L-click on the Z translation icon and move the Z translation
tool into the workspace.
2. L-drag to translate the molecular system.
This translation leaves the coordinates of all molecules
unchanged, as if you were moving toward or away from themolecules.

Tools

43

Z Translation Tool

3. R-drag to translate selected molecules, residues, and atoms.
You can move selected residues or atoms only if you turn off
Whole molecule translation (see page 95). The default setting is
Whole molecule translation on (✓).
Atomic coordinates change during this translation.
Caution: To avoid distorting bonds, turn on Whole molecule
translation (see page 95). When translating selected residues oratoms in a larger molecule, HyperChem stretches bonds toaccommodate the new atomic positions. These bonds areoften unnatural.
4. Move the Translation tool from the top to bottom of the workspace to translate molecules toward you. Move the tool frombottom to top to translate molecules away from you. Moving
the tool the vertical height of the workspace moves molecules
the default distance of 10 Ångstroms (see “Setting the Amountof Z Translation” on page 45).

translate back (-Z)

translateforward (+Z)

In this example, Z translation (back) moved the molecule throughthe back clipping plane (see page 47), hiding the back of the molecule.

44

Chapter 3

Zoom Tool

Setting the Amount of Z Translation
Normally, moving the Z translation tool vertically across the workspace translates molecules by 10 Ångstroms. You can change thisamount by entering a number between >0 and ≤1000 in the Tool
Preferences dialog box (see page 95).

Zoom Tool
The Zoom tool lets you change the magnification of the molecularsystem. For example, you can magnify large molecules to observe
atomic organization. It can also be used to enlarge or shrink
selected annotations.
To use the Zoom tool icon:
L-click

L-click on the Zoom icon to turn the cursor into
the Zoom tool. Then move the Zoom tool into theworkspace, and L-drag to change the apparent sizeof the molecular system.

Double-click

Double-click on the Zoom icon to see the Zoom
dialog box. Use this dialog box for setting exact
zoom conditions (see “Zoom Dialog Box” onpage 212). You can also see this dialog box bychoosing Zoom on the Edit menu.

Caution: Use a Sticks rendering for bonds with high magnificationsof molecular systems. High magnifications (Zoom Factor) of allmolecular renderings except Sticks might require more memory
than your computer has available.

Using the Zoom Tool
To use the Zoom tool:
1. L-click on the Zoom icon and move the Zoom tool into theworkspace.
2. L-drag the Zoom tool vertically, from the top to the bottom of
the workspace, to enlarge molecules. L-drag the tool from thebottom to the top to reduce the size of molecules. Moving thetool the vertical height of the workspace magnifies moleculesby the default factor of 10 (see below).

Tools

45

Zoom Tool

smallerlargerImportant: If you accidentally lose sight of a molecule or increase
its size beyond the edges of the workspace, press [Spacebar] to bringit back to the center of the workspace.
The right mouse button has no effect on the Zoom tool.

Setting the Zoom Sensitivity
Normally, moving the Zoom tool vertically across the workspacechanges the magnification by a factor of 10. You can change thisamount by entering a number >1 and ≤1000 in the Tool Preferences dialog box (see page 95).

Zooming Annotations
Selected annotations can be enlarged or shrunk using the zoom
tool. Just select certain annotations by themselves and then dragthe annotation tool as with selected atoms and molecules.

46

Chapter 3

Z Clipping Tool

Z Clipping Tool
With the Z clipping tool, you can look inside molecules by showing only the atoms within a “slice.” The slice is called the clippingslab.
The clipping slab is present for every molecular system. The clipping slab has front and back planes that are parallel to each otherand to the plane of the computer screen. Only atoms between theplanes are visible. HyperChem first sets the clipping planes so thatyou can see a complete molecular system.
With the Z clipping tool, you can move each clipping plane relative to the molecular system; the atomic coordinates are fixed. The
status line shows the positions of the front and back clipping
planes as distances, in Ångstroms, from the viewer (along theViewer’s z axis). The viewer is at zero relative to the clipping
planes.
The Z clipping tool can show you successive slices through molecules. You can do this two ways:•

Use the Z clipping tool to move the clipping planes through amolecular system.

•

Use the Z clipping tool to set the depth of the clipping slab,
and then use the Z translation tool to move molecules throughthe clipping slab.

To use the Z clipping tool icon:
L-click

L-click on the Z clipping icon to turn the cursor
into the Z clipping tool. You can then move the Z
clipping tool into the workspace and L-drag or Rdrag to adjust the front or back planes of the clipping slab.

Double-click

Double-click on the Z clipping icon to see the Z
Clip dialog box (see page 214). Use this dialog box
to set exact positions of the clipping planes, either
graphically or numerically. You can also see this
dialog box by choosing Z Clip on the Edit menu.

Tools

47

Z Clipping Tool

Using the Z Clipping Tool
To use the Z clipping tool:
1. L-click on the Z clipping icon and move the Z clipping tool
into the workspace.
2. L-drag vertically to adjust the position of the front clipping
plane.
3. R-drag vertically to adjust the position of the back clipping
plane.

move planebackward

move plane
forwardL - drag = front planeR - drag = back plane

4. Dragging from the top to the bottom of the screen moves aclipping plane forward. Dragging from the bottom to the topof the screen moves a clipping plane back. Moving the tool thevertical height of the workspace moves a clipping plane by thedefault setting of 10 Ångstroms (see the next section).
Important: If the molecular system disappears from the workspace
while you are using the Z clipping tool, press [Spacebar] to bring itback to the center of the clipping slab.

48

Chapter 3

Keyboard Equivalents for Tools

Setting the Amount of Clipping Plane Movement
Normally, moving the Z clipping tool vertically across the workspace moves a clipping plane by 10 Ångstroms. You can change
this amount by entering a number > 0 and ≤ 1000 in the Tool Preferences dialog box (see page 95).

Keyboard Equivalents for Tools
You can use keys on the numeric keypad instead of using a mouseto operate HyperChem tools. The keyboard operations apply only
to the eight molecular tools and not to the 4 annotation tools. The
Key settings in the Tool Preferences dialog box give the size of thechange for each keystroke. Pressing a key or a combination of keys
gives these results:
Key[Shift]+ Keya

[Ctrl]+ Key or[Ctrl]+ [Shift]+ Keyb

[4]

X rotates down

Y translates down

XY translates orrotates selection,
if any, down

[3]

X rotates up

Y translates up

XY translates orrotates selection,
if any, up[1]

Y rotates to left

X translates to left

XY translates orrotates selection,
if any, left

[2]

Y rotates toright

X translates to right

XY translates orrotates selection,
if any, right[Home]

Z rotates clockwise

Z translates into screen

Z translates orrotates selection,
if any[End]

Z rotates counterclockwise

Z translates out of
screenZ translates orrotates selection,
if anya. [Shift] changes the operation from rotation to translation.

Tools

49

A
b. Pressing [Ctrl] is like using the right mouse button to move selected atoms.
[Ctrl] modifies the effect of either pressing a key or [Shift] plus a key.

A
Key

[Shift]+ Keya

[Ctrl]+ [Shift]+ Key[PgUp]

Zooms smaller

Moves front clipping
plane into screen

Moves back clipping plane into
screen[PgDn]

Zooms larger

Moves front clipping
plane out of screen

Moves back clipping plane out of
screena. [Shift] changes the operation from zooming to clipping plane movement.

Chapter 3
Tools
HyperChem 6 introduced the concept of annotations. As shown in
the window below, it is now possible to annotate any molecularsystem by adding specific pieces of text or “text symbols” to thewindow. These text elements are referred to as annotations.

50

Chapter 3

A

Annotations are Text
The “Fluorine Atom” annotation above is text that uses a fontappropriate to ordinary text, in this case the Matisse ITC font. The
arrow, on the other hand is a one-character piece of text that uses
a symbol-like font, in this case the Wingdings font. All annotations are just simple text. By using symbol-like fonts, it is possible
to have annotations that include a wide variety of symbols such asarrows, lines, circles, rectangles, and other clip art.

Symbols are Text in a Symbol Font
An annotation can have a font, a font style, a size, and a color. The“arrow” above is actually an “a with an umlaut” character (in the
Wingdings font) as shown below.

Tools

51

A

Using various symbol-like fonts such as Symbol, Wingdings, Webdings, etc. with a large font size, it is possible to create a variety ofannotation effects such as the following:

52

Chapter 3

A

The Annotation Layer
Annotations exist in a discrete layer different from the molecularlayer. The two layers are completely disjoint and annotations do
not affect any of the molecular modeling operations of HyperChem. The annotation layer can even be hidden so as not to provide a visual distraction for molecular modeling. The annotation
layer is nominally in front of the molecular layer although it canbe pushed back at any time so that it is behind the molecular layer
as shown below.

molecular layer

annotation layer

Transparency in Printing
When printing directly from HyperChem, the molecular layer isonly transparent if a sticks rendering is being used. When themolecular layer is transparent, the annotation layer will show
through as it always does on the screen. However, when directly
printing a solid rendering as illustrated above, the annotation
layer will not appear on the printed output. The reason is that theprinting of any solid rendering is done as a bitmap for the whole
page and obscures any annotations. If a direct printing is to show
the annotations, the annotation layer must be in front (except for
stick-only renderings of molecules).

Tools

53

A

The Annotation Interface
The new annotation layer is controlled by a new toolbar button
and a new menu as shown below:

Annotation
Toolbar Button

Annotation Menu

Creating a Simple Text Annotation
The toolbar button is used to create simple text annotations. You
first need to click on the toolbar button to select annotations.
Then click anywhere in the workspace to indicate the starting
point of a text annotation. The Annotation Text dialog box,
shown earlier, will appear allowing you to type in the appropriate
annotation text in the edit field at the bottom of the dialog box.
At this point you can choose the font, size, color, etc. Closing the
dialog box will cause the text to appear in the HyperChem workspace.

Creating a Symbol
Symbols, although they are just text, are normally created by the
Symbol... menu item. This is because the text corresponding to theparticular symbol required will generally not be known. Symbols
54

Chapter 3

A

are identical to any other text but have an alternative way of creating them allows you to visually select the symbol. The <Annotations/Symbol...> menu item will bring up a dialog box that looks
as follows:

Clicking on any symbol will render an enlarged view of the symbolat the bottom of the dialog box. When you find the symbol you
want, click on OK to add the symbol to the HyperChem workspace. Initially, the symbol will be a standard size and will beplaced in the upper left hand corner of the workspace as show
below:

Tools

55

A

The symbol can then be placed where you like with the size, color,etc. that you want. To edit symbols they must first be selected.

Selecting Annotations
A selected annotation has a bounding box. Symbols are always initially selected as shown above. Selecting and deselecting symbols
is done in a manner (almost) identical to the selecting of atoms,
residues, and molecules. Thus, one also uses the selection cursor,

to select annotations. Clicking directly on an icon with the selection cursor will select the annotation. The selecting of annotations
is always accumulative, independent of the state of Multiple Selections menu item, which is reserved for the molecular plane. Annotations are deselected all a once by clicking with the right mousebutton in empty space when selection is active, i.e. a right mousebutton deselects all.

56

Chapter 3

A

Two menu items, <Annotations/Select All> and <Annotations/Select Next> are provided to assist in selecting the desired
annotations.
To ensure that one is in a pure molecular modeling mode, noannotation should be selected.

Moving Annotations
Annotations can be moved or positioned anywhere in the 2D
workspace. Unlike molecules in the molecular plane, annotations
are strictly two-dimensional. They can only be selected and translated; they cannot be rotated. They are moved (translated) byselecting them and then using the translation cursor,

to translate all selected annotations together. If anything isselected in the molecular plane, those translations are given priority and no annotations are moved. To move a specific annotation,
only that annotation must be selected of all elements in the workspace. If more than one annotation is selected with no atoms, residues, or molecules selected, then the translation cursor will translate all selected annotations together.

Editing Annotations
To edit an annotation, the Annotations/Edit Text...> menu item isused. To edit an annotation, only a single annotation (but any
atoms, residues, or molecules) can be selected. If this is not thecase, the <Annotations/Edit Text...> menu item will be grayed.
When the menu item is not grayed then the currently selected
annotation can be edited. Whether it is a simple text annotation
or a symbol does not affect the editing.
Editing is performed in the same way as the text associated with an
Annotation cursor click is first chosen. For symbols, the text thatyou see in the dialog box may be somewhat cryptic, i.e. a single,
perhaps unrecognizable character. You should leave the text as it is
if you want one of the selected symbols.

Tools

57

A

Apart from the actual text, the other relevant properties of anannotation are clearly evident from the Annotation Text dialog
box bought up by clicking on the <Annotations/Edit Text...> menu
item.

Multiline Text
An annotation can consist of many text lines if they are typed into
the dialog box with carriage returns. Clicking on the <Annotations/Edit Text...> menu item allows you to choose whether thistext is left justified or centered in the bounding box.

58

Chapter 3

A

Ordering within Annotation Layer
Within the annotation layer a z-ordering is imposed and annotations are drawn from back to front. The later an annotation is created, the more forward in z it is positioned. Sometimes it will
require you to modify the z-order of individual annotations. Twomenu items, <Annotations/Move Forward> and <Annotations/Move Backward> are provided for this. They allow you tomove a single selected annotation either back or forward in individual steps.

Ordering the Annotation Layer
The ordering within the Annotation layer is separate from themore global ordering of the annotation layer and the molecularlayer. This later ordering of the two layers is controlled by the<Annotations/Options...> menu item rather than the <Annotations/Move Forward> and <Annotations/Move Backward> menu
items. As indicated above the annotation layer should be in frontof the molecular layer to guarantee that it is seen on printing.

Tools

59

A

There are other times, however, when you may want a backdrop
for molecules and the annotation layer is best put to the back.

Hiding the Annotation Layer
To avoid visual distractions and to concentrate on molecular modeling efforts it may be useful to hide all annotations temporarily.
This can be accomplished via the <Annotations/Options...> menu
item.

60

Chapter 3

Chapter 4
Annotations
Definition
HyperChem contains the concept of an Annotation. An annotation
is text and/or line drawings used to describe or illustrate a molecular system. Annotations are created by drawing tools that are distinct from the drawing tool use to draw a molecule used in molecular modeling. These annotations are not part of the molecularsystem per se, but are contained in a layer or plane that is distinct
from the molecular layer or plane. Thus annotations are completely disjoint from the molecular system. Annotations, although
they exist in different, non-interacting layer from the molecularsystem, can be superimposed with the molecular layer for printing
and presentation purposes.
HyperChem thus contains a primitive but useful drawing programthat is independent of HyperChem’s molecular modeling capabilities. This drawing program creates only annotations. Annotations
have their own records in a molecular HIN file and can thus be
stored in a file system along with (or without) a molecular system.

Types of Annotations
Annotations can be one of 4 types:
•

Text

•

Line

•

Ellipse•Rectangle

61Types of Annotations

Text

A text annotation is simply a piece of text with a particular font ,size, etc. Using available Windows fonts, symbols such as arrows,
mathematical symbols, greek letters, etc. can be used in annotations. A symbol in HyperChem is a text character with a symbollike font such as “Wingdings”.

Lines

A line annotation is simply a line drawn with the line drawing
tool. The line can be dotted, dashed, etc. and have a width (onlysolid lines) and a color. A line may have “gravity” so that it is easy
to be sure that lines join properly.
A line annotation may sometimes look like part of a “stick” rendering of a molecule, i.e. a line draw with the molecule drawing tool,
but it exists in a different plane and is not affected by nor relevant
to any molecular modeling operation.

Ellipses

An ellipse can be drawn by an L-drag in the workspace using theellipse tool. It is centered at the initial position for the L-drag.
Ellipses are rectalinear, i.e. the principle axes of the ellipse are parallel to the X (horizontal) and Y (vertical ) axes. A circle may be
drawn as a degenerate ellipse with equal X and Y axes.
Ellipses can be either filled or not filled (outline only). The fill andthe outline of an ellipse can be any color but must be the same
62

Chapter 4

An Example

color. Menu items and dialog boxes are available for choosing thecolor and fill option for a newly drawn ellipse or an existing one
that is currently selected.

Rectangles

A rectangle can be drawn by an L-drag in the workspace using therectangle tool. Its upper left hand corner is at the initial position
for the L-drag. Rectangles are rectalinear, i.e. the principle axes of
the rectangle are parallel to the X (horizontal) and Y (vertical )axes. A square may be drawn as a degenerate ellipse with equal X
and Y axes.
Rectangles can be either filled or not filled (outline only). The fill
and the outline of an ellipse can be any color but must be the samecolor. Menu items and dialog boxes are available for choosing thecolor and fill option for a newly drawn rectangle or an existing one
that is currently selected.

An Example
As shown in the window below, it is possible to annotate any
molecular system by adding specific pieces of text or “text symbols” to the window. These text elements are referred to as text
annotations.

Tools

63

The Annotation Layer

The Annotation Layer
Annotations exist in a discrete layer different from the molecularlayer. The two layers are completely disjoint and annotations do
not affect any of the molecular modeling operations of HyperChem. The annotation layer can even be hidden so as not to provide a visual distraction for molecular modeling. The annotation
layer is nominally in front of the molecular layer although it canbe pushed back at any time so that it is behind the molecular layer
as shown below.

64

Chapter 4

Transparency in Printing

molecular layer

annotation layer

Transparency in Printing
When printing directly from HyperChem, the molecular layer isonly transparent if a sticks rendering is being used. When themolecular layer is transparent, the annotation layer will show
through as it always does on the screen. However, when directly
printing a solid rendering as illustrated above, the annotation
layer will not appear on the printed output. The reason is that theprinting of any solid rendering is done as a bitmap for the whole
page and obscures any annotations. If a direct printing is to show
the annotations, the annotation layer must be in front (except for
stick-only renderings of molecules).

The Annotation Interface
The annotation layer is controlled by the four annotation toolbar
buttons and a menu as shown below:

Tools

65

Annotation
Toolbar Buttons

Annotation Menu

Text Annotations
Of the four types of annotations, text annotation behave somewhat differently from the drawing primitives for lines, ellipses,and rectangles.

Annotations as Text
The “Fluorine Atom” annotation in the example above is text thatuses a font appropriate to ordinary text, in this case the Matisse
ITC font. The arrow, on the other hand is a one-character piece oftext that uses a symbol-like font, in this case the Wingdings font.
All text annotations are just simple text. By using symbol-likefonts, it is possible to have annotations that include a wide variety
of symbols such as arrows, lines, circles, rectangles, and other clip
art.

66

Chapter 4

Text Annotations

Symbols are Text in a Symbol Font
A text annotation can have a font, a font style, a size, and a color.
The “arrow” above is actually an “a with an umlaut” character (inthe Wingdings font) as shown below.

Using various symbol-like fonts such as Symbol, Wingdings, Webdings, etc. with a large font size, it is possible to create a variety ofannotation effects such as the following:

Tools

67

Text Annotations

Creating a Simple Text Annotation
The text annotation toolbar button is used to create simple text
annotations. You first need to click on the toolbar button to selectannotations. Then click anywhere in the workspace to indicate thestarting point of a text annotation. The Annotation Text dialog
box, shown earlier, will appear allowing you to type in the appropriate annotation text in the edit field at the bottom of the dialog
box. At this point you can choose the font, size, color, etc. Closing
the dialog box will cause the text to appear in the HyperChem
workspace.

Creating a Symbol
Symbols, although they are just text, are normally created by the
Symbol... menu item. This is because the text corresponding to theparticular symbol required will generally not be known. Symbols
are identical to any other text but have an alternative way of creating them allows you to visually select the symbol. The <Annotations/Symbol...> menu item will bring up a dialog box that looks
as follows:

68

Chapter 4

Text Annotations

Clicking on any symbol will render an enlarged view of the symbolat the bottom of the dialog box. When you find the symbol you
want, click on OK to add the symbol to the HyperChem workspace. Initially, the symbol will be a standard size and will beplaced in the upper left hand corner of the workspace as show
below:Tools

69

Text Annotations

The symbol can then be placed where you like with the size, color,etc. that you want. To edit symbols they must first be selected.

Selecting Text Annotations
A selected text annotation has a bounding box. Symbols are always
initially selected as shown above. Selecting and deselecting symbols is done in a manner (almost) identical to the selecting ofatoms, residues, and molecules. Thus, one also uses the selection
cursor,to select annotations. Clicking directly on an annotation with theselection cursor will select the annotation. The selecting of annotations is always accumulative, independent of the state of Multiple Selections menu item, which is reserved for the molecularplane. Annotations are deselected all a once by clicking with the70

Chapter 4

Text Annotations

right mouse button in empty space when selection is active, i.e. aright mouse button deselects all.
Three menu items, <Annotations/Select All> , <Annotations/SelectNext> and <Annotations/Select Previous> are provided to assist in
selecting the desired annotations.
To ensure that one is in a pure molecular modeling mode, noannotation should be selected.

Moving Text Annotations
Annotations can be moved or positioned anywhere in the 2D
workspace. Unlike molecules in the molecular plane, annotations
are strictly two-dimensional. They can only be selected and translated; they cannot be rotated. They are moved (translated) byselecting them and then using the translation cursor,

to translate all selected annotations together. If anything isselected in the molecular plane, those translations are given priority and no annotations are moved. To move a specific annotation,
only that annotation must be selected of all elements in the workspace. If more than one annotation is selected with no atoms, residues, or molecules selected, then the translation cursor will translate all selected annotations together.

Editing Text Annotations
To edit a text annotation, the Annotations/Edit Text...> menu item
is used. To edit an annotation, only a single text annotation (butany atoms, residues, or molecules) can be selected. If this is not thecase, the <Annotations/Edit Text...> menu item will be grayed.
When the menu item is not grayed then the currently selected text
annotation can be edited. Whether it is a simple text annotation
or a symbol does not affect the editing.
Editing is performed in the same way as the text associated with an
Annotation cursor click is first chosen. For symbols, the text thatyou see in the dialog box may be somewhat cryptic, i.e. a single,

Tools

71

Text Annotations

perhaps unrecognizable character. You should leave the text as it is
if you want one of the selected symbols.
Apart from the actual text, the other relevant properties of anannotation are clearly evident from the Annotation Text dialog
box bought up by clicking on the <Annotations/Edit Text...> menu
item.

Multiline Text
An annotation can consist of many text lines if they are typed into
the dialog box with carriage returns. Clicking on the <Annotations/Edit Text...> menu item allows you to choose whether thistext is left justified or centered in the bounding box.

72

Chapter 4

Line, Ellipse, and Rectangle Annotations

Line, Ellipse, and Rectangle Annotations
Unlike Text Annotations, line, ellipse, and rectangle annotations
are simple drawing elements as per a simple drawing program. todraw one simply, chooses the correct cursor by clicking on theappropriate tool of the toolbar and then draws lines, ellipses, orrectangles with the tool, as shown below:

Tools

73

Line, Ellipse, and Rectangle Annotations

Options
Annotations have various options available. A variety of types oflines can be drawn although only solid lines can be thick. Ellipses
and rectangles can be filled or not.
To make it convenient for lines to join, gravity is an option.
The annotation options dialog box is shown below. The drawing
program in HyperChem is primitive but allows one to quickly prepare appropriate annotations for molecule-oriented transparencies
and slides. For more elegant presentations, bitmaps or line drawings of molecules can be copied from HyperChem into more professional drawing programs such as those from Adobe, Corel,
Microsoft, etc.

74

Chapter 4

Ordering Annotations within the Annotation Layer

Ordering Annotations within the Annotation Layer
Within the annotation layer a z-ordering is imposed and annotations are drawn from back to front. The later an annotation is created, the more forward in z it is positioned. Sometimes it will
require you to modify the z-order of individual annotations. Twomenu items, <Annotations/Move Forward> and <Annotations/Move Backward> are provided for this. They allow you tomove a single selected annotation either back or forward in individual steps.

Ordering the Annotation Layer
The ordering within the Annotation layer is separate from themore global ordering of the annotation layer and the molecularlayer. This later ordering of the two layers is controlled by the<Annotations/Options...> menu item rather than the <Annotations/Move Forward> and <Annotations/Move Backward> menu
Tools

75

Hiding the Annotation Layer

items. As indicated above the annotation layer should be in frontof the molecular layer to guarantee that it is seen on printing.
There are other times, however, when you may want a backdrop
for molecules and the annotation layer is best put to the back.

Hiding the Annotation Layer
To avoid visual distractions and to concentrate on molecular modeling efforts it may be useful to hide all annotations temporarily.
This can be accomplished via the <Annotations/Options...> menu
item.

76

Chapter 4

Chapter 5Managing Files
This chapter describes the commands on the File, Script, and Helpmenus. It explains opening and saving files, setting up HyperChem display conditions, running script files to automate HyperChem functions, and obtaining help while using HyperChem.
For accessing files, HyperChem uses the standard Windows Filedialog boxes. Click on Help in the Start button for information
about specifying drives, directories and files with Windows Filedialog boxes.

File Menu
The File menu contains these file management and utility commands:
New

Clears the workspace for drawing new molecules.
You can also press [Ctrl]+[N]Open . . .

Clears the workspace and shows a molecular systemstored in a file.
You can also press [Ctrl]+[O]Merge . . .

Adds the contents of a file (molecular system) to themolecules in the workspace

Save

Stores the molecules now in the workspace to a file.
You can also press [Ctrl]+[S]Save As . . .

Stores the molecules now in the workspace in a file,with a new filename. You can also press [Ctrl]+[A]

Save as HTML...

Create dynamic content for the web from HyperChem.

77File Menu
Start Log . . .aStores the results of chemical calculations in a log file

Stop Loga

Turns off the log for recording calculation results in alog file

Log
Comments . . .a

Adds comments to a log file

Import . . .

Import orbital data

Export . . .

Export orbital data

Print . . .

Sends a copy of the molecules in the workspace to a
printer

Preferences . . .

Sets HyperChem operating conditions. HyperChem
remembers these settings from one session to the
next

Exit

Ends your session with HyperChem. You can also press[Alt]+[F4]a. When this item is gray, it is temporarily unavailable. You must change somecondition in HyperChem to make it available. You must start a log before you
can stop it or log comments, and you must stop a log before you can start a
new one.

New
New clears the workspace and prepares HyperChem for creating
new molecules.This option asks if you want to save the molecules
present in the workspace if you made changes to the molecularsystem.

Open
Open clears the workspace and lists the molecules stored in files.
The Open File dialog box lets you choose a filename and copy themolecules from this file to the workspace.
Before you can see the contents of a file, HyperChem asks if you
want to save the molecular system presently in the workspace if
you made changes since last saving it.

78

Chapter 5

File Menu

Open File Dialog Box
Use the Open File dialog box to copy a molecular system from afile to the workspace. The dialog box provides several ways to specify a filename.

File NameYou can enter the filename, with or without path,in this text box and L-click on Open. If you choose
a file name from the file list, the name will appear
in this box.

Directories

This reports the current directory. The files appearing in the file list are in this directory. The directory list box can be used to change the current
directory.

DrivesThis reports the current drive. The files appearing
in the file list are on this drive in the current directory. The drives list box can be used to change thecurrent disk drive.

File TypeUse this list to choose the file type and the extension filter for listing file names. The standard filetypes that HyperChem can read and write are:HyperChem(*.HIN)

Files containing complete information
about molecules created with HyperChem(see page 711). These filenames have theManaging Files

79

File Menu

.hin extension. HIN stands for HyperChem
INput file.
Brookhaven
PDB (*.ENT)

Files stored in the format used by the
Brookhaven Protein Data Bank (seepage 503). Before showing you thesechemical structures, HyperChem uses
information in the chem.tpl file to addhydrogen atoms and bonding when necessary.

ISIS Sketch(*.SKC)The Sketch file format used by ISIS/Drawfrom MDL Information Systems. Thesefilenames have the .skc extension.

Cartesian
The Cartesian file format consists of simple
Coords(*.XYZ) records consisting only of atomic number
and x, y, and z coordinates for the easiest
possible input. These filenames have the.xyz extension.
MDL MOL(*.MOL)The format used by many programs from
MDL Information Systems. These filenames have the .mol extension.

MOPAC
Z-Matrix(*.ZMT)

The molecular definition portion of a
MOPAC file, with geometry given by internal coordinates. HyperChem expects files
in this format to have the .zmt extension.

Tripos MOL2(*.ML2)

The format used by many programs from
Tripos Associates. HyperChem expects files
in this format to have the .ml2 extension.

ChemDraw(.CHM)

The format used by ChemDraw from
CambridgeSoft. Files in this format usually
have the .chm extension.

Caution: If you choose an inappropriate file format,
for example HIN instead of PDB, and then open afile, HyperChem might not succeed in reading thefile. HyperChem does not automatically detect thefile format that you are reading.
Comments

80

Chapter 5This box shows any comments stored in the filecurrently selected, which might describe themolecular system and its source. You can scroll
through the comments in this box. For a PDB file,File Menu

only some of the comments appear. You cannot
enter new comments here. Use Save As on the Files
menu to add new comments. Comments are notavailable from Z-Matrix format files.
OKL-click to copy the contents of a file, appearing in
the File Name text box, to the workspace. You canalso double-click on the filename in the file list.

Reading Non-standard PDB Files
PDB files written by some other programs may not conformstrictly to the Brookhaven Protein Databank specifications. In particular, PDB files written by some other programs may have leftjustified atom names. In order to read these files in, you may try
running a script containing the command “non-standard-pdbnames = true“. HyperChem will then try interpreting the PDB fileaccording to a non-standard form. You should reset HyperChem
by running a script with the command “non-standard-pdb-names= false” in order to re-enable reading of standard PDB files.

Reading ChemDraw Files
Since ChemDraw is a drawing program and not a modelling program, it handles some structural elements in ways that must be
corrected manually in order that they be read properly by HyperChem.
When an “aromatic” ring is drawn in ChemDraw, the result is a
circle — a picture element — attached to a structure with single
bonds. When a ChemDraw file (type .CHM) is read by HyperChem, it ignores the picture elements and processes only thechemical structures, so an “aromatic” ring shows up with single
bonds. To have the ring brought into HyperChem drawn with aromatic bonds, you must change the bond type for the ring bonds to“aromatic” in ChemDraw by selecting the ring and using the
Object/Bond Properties menu item. Alternately, you can change
the bonding to aromatic after the structure is imported to HyperChem by double-clicking on a bond.

Using the Z-Matrix File Filter
You should note that the algorithm for reading and writing Zmatrix files involves a step proportional to the square of the number of atoms present, which takes a long time for large molecules.
Managing Files

81

File Menu

The algorithm for inferring connectivity and bond order from a Zmatrix file is heuristic, and may not always give the bond orders
you want. You should check the connectivities and bond-orders
yourself before carrying out operations that require connectivity
information, such as model building or molecular mechanics calculations.
Saving a file in Z-Matrix format and then reading it back in toHyperChem is a way of automatically generating bonds between
unconnected atoms. This can be useful for processing structures
imported from other sources. Also, a structure which is imported
from a Z-Matrix file is reoriented such that the first atom in the fileis placed at the origin, the second atom on the positive x axis, andthe third atom in the xy plane. This can be useful for such operations as vibrational analysis.

Merge
Merge adds molecules from a file to the molecular system in theworkspace. Merge is useful for comparing or “docking” molecules.
Docking involves positioning molecules to simulate possible interactions, for example, enzyme-substrate interactions.
The added molecules appear a few Ångstroms away from the existing molecular system. (You can use a script command to prevent
this movement. See the script command translate-merged-systems.)
When you choose Merge, the Open File dialog box (see page 79)
appears for you to supply the name of a file to merge. HyperChem
retains the first file name as the current file name.
You can repeat Merge, adding several files to the workspace.

Save
Save copies the molecular system from the workspace to a file. If
this is a new file, you enter a filename in the Save File dialog box
that appears (see page 83). If the file already has a name, Save
stores the molecular system in this file without showing you theSave File dialog box, replacing the last version of the molecular system. The filename has a limit of eight characters plus a three-character extension.

82

Chapter 5

File Menu

Save As
Save As stores the molecular system in a file. This option is thesame as Save, except that the Save File dialog box always appears.
Use Save As to copy a file or to store new versions of a molecularsystem in different files.

Save File Dialog Box

File NameEnter the path and name of the file in this text box
using any combination of upper- and lowercase
letters. If you choose a file name from the file list,
the name will appear in this box.
Note: You must replace the filename wild card (*)
in the File Name text box.

Directories

This reports the current directory. The files appearing in the file list are in this directory. The directory list box can be used to change the current
directory.

DrivesThis reports the current drive. The files appearing
in the file list are on this drive in the current direc-

Managing Files

83

File Menu

tory. The drives list box can be used to change thecurrent disk drive.
File TypeUse this list to choose the file type and the extension filter for listing file names. The standard filetypes that HyperChem can write are:HyperChem(*.HIN)

Files containing complete information
about molecules created with HyperChem(see page 711). These filenames have the.hin extension. HIN stands for HyperChem
INput file.

Brookhaven
PDB (*.ENT)

Files stored in the format for the
Brookhaven Protein Data Bank (seepage 503). Before showing you thesechemical structures, HyperChem uses
information in the chem.tpl file to addhydrogen atoms and bonding when necessary.

ISIS Sketch(*.SKC)The Sketch file format used by ISIS/Drawfrom MDL Information Systems. Thesefilenames have the .skc extension.

CartesianThis Cartesian coordinate file consists only
Coords(*.XYZ) of records with atomic number and x, y,
and z coordinates. It is created when thesimplest possible molecule file is required.
These filenames have the .skc extension.
MDL MOL(*.MOL)The format used by many programs from
MDL Information Systems. These filenames have the .mol extension.

MOPAC
Z-Matrix(*.ZMT)

The molecular definition portion of a
MOPAC file, with geometry given by internal coordinates. HyperChem expects files
in this format to have the .zmt extension.

Tripos MOL2(*.ML2)

The format used by many programs from
Tripos Associates. HyperChem expects files
in this format to have the .ml2 extension.

HIN Options

84

Chapter 5This area becomes active when File Type is set toHyperChem HIN format. For a complete description of a HIN file, see page 711.

File Menu

Velocities

PDB Options

Check this box to store atomic velocities
calculated in a molecular dynamics simulation. This lets HyperChem start anothermolecular dynamics simulation where thelast one ended.

This area becomes active when File Type is set to
Brookhaven PDB format. PDB files have the extension .ent (see page 503 for further information
about PDB files).

Hydrogens

Check this box to add coordinates forhydrogen atoms to the file. Most PDB files
do not have coordinates for hydrogenatoms.

Connectivity

Check this box to add information on
bonding. HyperChem creates CONECT
records in the file. PDB files normally use
CONECT records only for nonstandard residues (see “Protein Data Bank Files” onpage 503). If you use PDB files to store
molecules not composed of standard residues, turn on this option.

Comments

This text box is only active if File Type is set toHyperChem HIN format or Brookhaven PDB format. Enter notes here about the molecular system.
When you have clicked in this text box you see aflashing vertical bar, the insertion point for text,
and a standard I-shaped text cursor. Text you enter
appears to the left of the insertion point.

OKL-click to copy the system in the workspace to afile, using the name appearing in the File Nametext box. You can also double-click on the filenamein the file. list.

Editing Comments
To add or change text, remember these rules:•

L-click with the text cursor (I-shaped) anywhere in the text tomove the insertion point.

•

L-drag the text cursor to select text that you want to delete or
replace.
Managing Files85

File Menu•

To delete text, select it and press [Del] or [Backspace].

•

To replace text, select it and enter new text.

You can use these keys for editing:[7]

Moves the insertion point to a new line.

[Backspace]

Erases the character (or selected text) to the left of
the insertion point (text cursor).

[Del]

Erases the character (or selected text) to the right of
the insertion point (text cursor).

[3] [4][1] [2]

Moves the insertion point (text cursor).

Save As HTML...
HyperChem can directly create dynamic content for the web. If
you have created a molecule in HyperChem or calculated molecular orbitals, vibrational spectra, or electronic spectra, then HTMLfiles that display dynamic versions of these can be written out for
immediate inclusion into any web site. They are dynamic in thatthey are not simply static pictures of molecules, orbitals, etc. but
the molecules can be rotated, the orbitals selected, the vibrationalmodes animated, and so on.
The web pages are fully dynamic but require a user to have a free
Netscape plug-in installed on their machine in order to view thecontent. This free plug-in is included with HyperChem for distribution to people who wish to view your web pages or it may be
downloaded at no cost from the Hypercube web site,
http://www.hyper.com.

Content of HTML Page
At this stage (the automatic creation of HTML pages is a quickly
evolving option), 5 options are available:

86

Chapter 5•

Structure only•

Orbitals plus Structure•

IR spectra•

UV spectraFile Menu•

IR spectra plus normal modes

If you select Structure Only then a web page will be created that displays a molecule in a variety of selectable renderings such as balland cylinder, overlapping spheres, etc. The structure of the molecule can be explored by shift-clicking on the atoms of a bond, torsion, etc. to ask for the value of the bond length, torsion angle, etc.
If the molecule has residue structure, it is also possible to ask to see
the ribbon structure of the backbone. The created dynamic content uses new DirectX technology to display the molecule, ribbons, etc. and the rendering may be rotated, translated, zoomed,
etc. at high speed since they are rendered locally using the plug-in.
Selecting Orbitals plus Structure will create a web page that includes
the ability to select, display, and manipulate all the molecularorbitals of the molecule.
Selecting IR Spectra will display a plot of the calculated spectra
allowing the user of the browser to pick a peak and enquire about
the frequency and intensity, zoom and pan on the spectra, and display an envelope representing a chosen line width for the spectra.
Selecting UV Spectra will display these spectra in essentially an
identical fashion to vibrational spectra above but with values
derived from the electronic spectra calculation option of HyperChem.

Managing Files

87

File Menu

Finally, selecting IR spectra plus Normal Modes will create a web page
with two windows, one showing the spectra and one showing themolecule. Selecting a peak in the spectra window will animate that
normal mode in the molecule window.

Option Details
Associated with the creation of an HTML page are the details of theactual renderings requested, e.g. whether a ball and stick rendering
is created or a CPK rendering, etc. This choice is only for the initial
rendering of the HTML page. Since the HTML page is dynamic, therendering can be changed by the user of the page; the Details...
button describes the initial state of the page only.
Pushing the Details... button shown above leads to the following
dialog box,

Apart from the animation settings, these choices are easily modified in the browser using a dialog box that is obtained by doubleclicking with the right mouse button in the client area of thebrowser.
The HTML file that is produced can immediately placed on a web
page and makes your HyperChem molecular modeling results
immediately available to anyone on the web, provided they haveinstalled the WATATL.DLL ActiveX control on their machine plus
the NPHIN32.DLL Netscape plug-in. These controls are included
with your copy of HyperChem and can be freely passed to anyone

88

Chapter 5

File Menu

in the world. Alternatively, the controls can be downloaded from
Hypercube, Inc.’s web site at http://www.hyper.com or, alternatively, from http://www.MolecularModeling.com.

Sample HTML Page

The above picture shows a browser containing a live moleculefrom HyperChem. This molecule can be rotated, translated,zoomed, etc. in the web page using a mouse. Double-clicking with
with the right mouse button on the page results in a pop-up dialog
box that changes the rendering, the backdrop color, etc. One caneven select atoms, bonds, torsions, etc. and the value of the relevant structural parameter will be displayed in the status line of thebrowser. Thus, structures can be very cleanly and easily publishedin this fashion.
In the same way that a structure is shown published on the web in
the above screen shot, orbitals, and spectra can also be published.
With a web page that contains a vibrational spectra, the normal
mode animations can be seen by anyone by just clicking on therelevant spectral line. Thus one is really publishing active content
rather than just pictures. All that is required for anyone to see thisactive content is for them to have installed or downloaded theappropriate free control, i.e. WATATL.DLL plus an associatedManaging Files

89

File Menu

Netscape plug-in (NPHIN32.DLL) that works with either Netscapeor Microsoft browsers.

Start Log . . .
Start Log stores the results of HyperChem chemical calculations in
a log file. Log files contain comments appearing on the status line
during a calculation, plus starting conditions and additional
results.
When you choose Start Log, enter a log filename in the Start Log
dialog box that appears. You can accept the default filename(chem.log) or enter another filename, which can have any extension. If you use an existing filename, HyperChem lets you either
add (append) results to this file or replace the contents of the file.
Using the Start Log dialog box, you can have only one log fileactive at a time. The amount of information stored in a log filedepends on the settings used for Mechanics Print Level and Quantum Print Level (see page 631). Allowed values range from 1 to 9.
For more information on using log files see “Storing Results in a
Log File” on page 616 and “Log Files” on page 631.
Note: Start Log is gray and unavailable if HyperChem is alreadyusing a log file.

Open Log Dialog Box
Use this dialog box to name a log file. L-click OK to accept
chem.log as the log filename or a different filename you’ve
entered, and start the log recording.

90

Chapter 5

File Menu

If the log file is already present, HyperChem asks if you want toappend to it or replace it. The log file is usually located in the current directory. The “Append” option specifies that you wish toappend to the current file.
To add comments to a log file, choose Log Comments on the Filemenu. To stop recording, choose Stop Log on the File menu (seethe next section).

Stop Log
Stop Log turns off the recording of a log file and also adds the date
and time you stopped recording. Use Start Log to begin recording.
To see or print the log contents, you can use Windows Write or
Notepad. Enter the filename (for example, \hyper\chem.log),
L-click OK, and then choose No conversion in the next dialog box
that appears (for Windows Write, only).
For more information on using log files see “Storing Results in a
Log File” on page 616 and “Log Files” on page 631.
Note: Stop Log is gray and unavailable unless HyperChem isalready using a log file.

Log Comments
Use Log Comments to add notes to a log file when a log file is open
and recording results. Use Start Log to begin recording in a log file.

Managing Files

91

File Menu

You see the Log Comments dialog box to enter your comments.
Enter your comments in text box of the Log Comments dialog box
that appears and press OK to save them in the open log file.:

For more information on using log files see “Storing Results in a
Log File” on page 616 and “Log Files” on page 631.
Note: Log Comments is gray and unavailable unless HyperChem isusing a log file.

Import . . .
This dialog box allows you to import orbital data that have been
calculated by HyperChem and stored, or have been provided byother software. The data must be consistent with the structure in
the workspace.

92

Chapter 5

Orbitals

If this box is checked (✓) and the data are in thefile, the orbital data are imported.

DipolemomentIf this box is checked (✓) and the data are in thefile, the dipole moment vector is imported.

UV spectrum

If this box is checked (✓) and the data are in thefile, the UV/visible spectrum is imported.

IR spectrum

If this box is checked (✓) and the data are in thefile, the IR spectrum is imported.

OK

This opens the Property Import dialog box, whichallows you to specify the file that the data shouldbe imported from.

File Menu

The default extension for these Property files is .EXT.

Export . . .
This dialog box allows you to save orbital data that have been calculated by HyperChem, so that they can be read back in later orsent to other software. Items in the dialog box are gray and inactive unless the relevant data have been calculated with a semiempirical or ab initio calculation (or imported) and are available forstorage.

Orbitals

If this box is checked (✓), the orbital data are saved
in a file.

DipolemomentIf this box is checked (✓), the dipole moment vector is saved in a file.

UV spectrum

If this box is checked (✓), the UV/visible spectrum
is saved in a file. For information about calculating
a UV/visible spectrum, see “Electronic Spectrum”
on page 411.

IR spectrum

If this box is checked (✓), the IR spectrum is saved
in a file. For information about calculating an IR
spectrum, see “Vibrations” on page 385.

Managing Files

93

File Menu

OK

This opens the Property Export dialog box, whichallows you to specify the file that the data shouldbe imported from.

The default file extension for saving electronic data in a property
file is .EXT.

Print
Print reproduces the molecules in the workspace on your printer.
This command displays the standard Windows Print dialog box,
where you can set page orientation and other printer options.
Note: You can speed up printing by choosing Sticks from the Rendering option on the Display menu.
Be sure that your printer is on and ready. HyperChem does not
inform you of printer problems, but relies on Windows to manage
printing.

General tips for printing or copying images
Some experimentation may be required to obtain the best quality
molecular images, depending on your display and printer settings.
Some suggestions are:94

Chapter 5•

For spheres renderings, use at least 256 colors if available foryour display. This will improve monochrome as well as color
printing or clipboard images.

•

For spheres renderings or images copied as bitmaps, using thehighest resolution of your display will produce the smoothest
images (and printed atom outlines for spheres rendering). For

File Menu

spheres it is usually best to use the highest resolution display
settings that also have at least 256 colors.
•

For printers with “dots” that are not square (i.e. not a 1:1
aspect ratio), best results may be obtained using the lowest resolution settings in the printer's Setup dialog box.

•

The quality of black and white images copied to the clipboard
on 256-color display devices can be improved by using the“window-color = monochrome” script command.

Preferences
Using Preferences, you can set some conditions for using HyperChem. When you leave HyperChem, it stores your choices in theRegistry or in a file (chem.ini) and uses these settings for your next
session. The settings that will be used when you start HyperChem
will be the same as when you last exited the program, and not(necessarily) the same as the settings of any other HyperChem
windows you may have open at the same time.

Preferences Property Sheet
When you choose Preferences, the Preferences dialog box appears.
It has nine property sheets, marked by “tabs”, which you use to set
the different kinds of HyperChem options.

Window Color

Choose a color for the workspace background. The default is black.

Managing Files

95

File Menu

Bond Color

Choose a color for atoms and covalent bonds. The default is By element, which colors each element and half bond in a Sticks rendering according to the settings in the Element Color dialog box (seepage 284). Bond color does not affect hydrogen bonds, which are
drawn as dotted white lines.
Note: See “Using Black-and-white Output” on page 105 for information about working without color.

Selection Color

Choose a color that HyperChem applies to selected atoms andbonds. The color returns to Bond color (see above) when you deselect the atoms. The default selection color is green. The choice ofThick line does not change the color, but replaces the lines repre96

Chapter 5

File Menu

senting selected bonds with heavier lines. Thick line works only for
Sticks renderings.
Note: The Thick line option slows the movements of molecules(translation and rotation) when you are using HyperChem tools.

Tool

These settings regulate the behavior of a tool in the workspace,whether you are dragging to rotate or translate molecules, tochange the Zoom Factor, or to set the clipping planes.
XY rotation

Normally, moving the XY rotation tool completely
across the workspace rotates a molecule by 360
degrees. You can change this amount by entering a
number >0 and up to 3600.

Z rotation

Normally, moving the Z rotation tool completely
across the workspace rotates a molecule by 360
degrees. You can change this amount by entering a
number >0 and up to 3600.

Z translation

Normally, moving the Z translation tool verticallycompletely across the workspace translates molecules by 10 Å. You can change this amount byentering a number >0 and up to 1000.

Zoom

Normally, moving the Zoom tool vertically completely across the workspace magnifies moleculesby 10 ×. You can change this amount by entering a
number >0 and up to 1000.

Managing Files

97

File Menu

Clip

Normally, moving the Z clipping tool verticallycompletely across the workspace moves a clipping
plane by 10 Å. You can change this amount byentering a number >0 and up to 1000.

Fasttranslation

Check this box (✓) to increase the speed of moving
a molecule with a translation tool. This substitutes
a picture of the molecule, called a bitmap, for themolecular structure on the display. HyperChem
can move bitmaps more quickly because it does
not need to compute atomic coordinates. When
you complete a translation and release the mousebutton, HyperChem computes the new atomic
coordinates and discards the bitmap.

Whole
moleculetranslation

Check this box (✓) to restrict translation to whole
molecules. If you use the Translation tool to try totranslate a selected portion of a molecule, HyperChem will translate the entire molecule. If you use
the Translate dialog box to move a selected whole
molecule to a point, the center of mass moves tothe new point. When this option is off (no ✓), you
can translate selected parts of molecules, distortingbond geometry.

Key

These settings regulate the stepwise rotation and translation of thecontents of the workspace in response to your using the [3], [4], [1],[2], [PgUp], [PgDn], [Home], and [End] keys (see “Keyboard Equivalents forTools” on page 49.)
98

Chapter 5

File Menu

XY rotation

This is the amount that the system rotates aroundthe x or y axis when you use one of the [3], [4],[1],and [2] keys.

Z rotation

This is the amount that the system rotates aroundthe z axis when you use the [Home] and [End] keys.

XY translation This is the amount that the system translates in thex or y direction when you use [Shift], and one of the[3], [4], [1],and [2] keys.
Z translation

This is the amount that the system translates in thez direction when you use [Shift], and one of the[Home] and [End] keys.

Zoom

This is the factor that the system grows or shrinks
by if you use the [PgUp] or [PgDn] key.

Clip

This is the amount that the clipping plane moves
by if you use [Shift], and one of the [PgUp] and [PgDn]
keys.

Setup Image

The settings in this section control how an image is saved when
you use the “Copy Image” command or press the [F9] key. (Seepage 206.) You can set the extent of the picture from the full screen
to a specific menu or dialog box. You also choose the destination(Clipboard or File), file format (Bitmap or Metafile), filename, andwhether the image should be color or monochrome. You can use
these images with other programs to prepare reports or publications.
Managing Files

99

File Menu

Window

Top level

This copies any active pull-down menu orvisible dialog box. If these are not visible, it
copies the active HyperChem window. You
must use [F9] instead of Copy Image formenus and dialog boxes.

Workspace

This copies only the workspace of theactive HyperChem window.

HyperChem

This copies the entire active HyperChem
window, including its borders.

Full screen

This copies everything on screen, including other program windows.

File format

100

Chapter 5This setting determines the part of the screen tocopy.

You can choose either bitmapped (BMP) or Windows metafile (WMF) formats, or both, to store a
picture. HyperChem can store only one picture ata time in each file format. The next time you use
the same file format, the new picture replaces thelast one. You can also use a 24-bit RGB Bitmap(BMP) file format. Because this operation disables
the standard color set used for display, specifying
this format disables most other Setup Image
options, including saving to the other formats andsaving to the Clipboard.

BitmapThis saves the picture as a reproduction of
the pixels on screen in a file named byFilename. The extension .bmp is used with
Filename. The resolution of this image isthe same as the resolution of your monitor,
which you chose when setting up Windows. Use Bitmap to save Spheres renderings or contour plots from a single point,semi-empirical calculation (see “Single
Point” on page 360).

RGB Bitmap

This is like the regular Bitmap format
above, but instead of using the standard
color set which is used for ordinary display,the image pixels are stored in full 24-bit
color. The appearance of regular bitmap
pictures can change if you import them toFile Menu

other software that is using a different
color set, but an RGB bitmap does notchange because it does not depend on an
external color set. However, an RGB bitmap can be displayed properly only bysoftware that can process 24-bit color. Software that cannot work in 24-bit color may
be able to read an RGB bitmap but theresulting picture will look very strange.
These pictures cannot be saved to the Clipboard.
Metafile

This saves the picture as a line drawing in
the file name by Filename. The extension.wmf is used with Filename. Metafile is bestfor Sticks, Ball and Cylinder, Dots and Stick &Dots renderings. Metafiles require about 10
times less storage space than bitmap files
containing the same renderings. The resolution of a metafile image does not dependon the monitor, but on the resolution of
the output device. For example, if you
print a metafile on a laser printer, the resolution might be 300 dpi.

Destination

You can choose one or both locations to store a picture.

File

HyperChem stores the picture in the files
Filename.bmp and/or Filename.wmf where
the Filename is entered in the edit field of
the dialog box described below. The extension .bmp or .wmf is added automaticallyand should not be typed in the edit box.
You can use either or both files. Each file
can hold only one picture at a time.

Clipboard

HyperChem stores the picture as a bitmap
or a metafile, or both, on the Windows
Clipboard. The Display menu in the Windows Clipboard program refers to a Metafile as a Picture. The Clipboard can hold
only one image of each type at a time.

Color

Check this box (✓) to store a picture in full color.
Turn Color off to produce a black-and-white picManaging Files

101

File Menu

ture and to substitute dotted lines for certain colored lines (see “Using Black-and-white Output” onpage 105). For a BMP file format, color results in afile at least four times larger. For a WMF file, Color
produces only a small difference in file size. For an
RGB bitmap file, Color makes no difference in filesize.
CursorCheck this box (✓) for the cursor to appear in the
picture. The cursor can be the mouse pointer, aHyperChem tool, or a text cursor (in a dialog box).

FilenameUse this edit field to enter a Filename for any bitmap file or metafile file that will store a captured
image when the Destination for the capture is Fileas described above. The Filename should include apath but not use an extension, which will be automatically added as .bmp or .wmf. This filename isprogrammable via scripts if a sequence of image
captures is required for a movie.

Isosurface Colors

These settings show the colors used for drawing the positive andnegative lobes of isosurfaces. For Gouraud shaded surfaces andtranslucent surfaces, these colors are the two endpoints for therange of colors used for rendering.

102

Chapter 5

File Menu

Paths

These settings show the directories which are used to hold HyperChem’s files.
Executable
filesThis is the directory that stores HyperChem’s executable (program) files.

Parameter
filesThis is the directory that holds the molecularmechanics and semi-empirical parameter files, andthe ab initio and DFT basis set files.

Log files

This is the directory in which, by default, HyperChem saves a log file which you open.

Script files

This is the directory which, by default, HyperChem looks in to find script files.

Ab initio
integrals

This is the directory in which HyperChem stores
the temporary files that hold the 2-electron integrals during ab initio and DFT calculations.

Managing Files103

Network License

These settings control HyperChem’s network operations if you areusing a network (rather than a stand-alone) version of HyperChem.

104

Local AccessIf this option is marked (✓), HyperChem will try to
get a license to run from a network hardware lockinstalled on the machine that it is running on

NETBIOS/NETBEUI/
NETAP

If this option is marked (✓), HyperChem will try to
get a license to run over a NETBIOS/NETBEUI/NETAP network.

IPX/SPX

If this option is marked (✓), HyperChem will try to
get a license to run over an IPX/SPX network.

TCP/IP

If this option is marked (✓), HyperChem will try to
get a license to run over a TCP/IP network.

LicenseTimeout
Interval

If HyperChem is left running without user interaction (that is, use of menu items), it will eventually
release its network license so that other people canuse it. This prevents people who forget to exit
HyperChem from using up the licenses indefinitely. This option allows you to specify how long(in minutes) HyperChem should wait before
releasing its license for others to use. Even if you
lose your network license due to timing out, thenext time you try a menu operation, HyperChem
will attempt to obtain another license. The license
timeout interval should be set for a time somewhat

Script Menu

longer than you expect that your calculations will
take, since you cannot use a menu item while a calculation is in progress.
TCP/IP
options

These settings affect HyperChem’s interaction
with TCP/IP networks.

Using Black-and-white Output
If you set Window color to White and Bonds to Black, HyperChem
uses dotted and solid lines when it would normally use two colors.
For example, when HyperChem draws contour lines for quantum
mechanics calculations, positive contours appear solid and negative contours appear dashed (see “Plot Molecular Graphs” on page391).
Use Thick line to distinguish selected atoms from unselected atoms.

Exit
Choose Exit or press [Alt]+[F4] to end the HyperChem session. HyperChem asks if you want to save changes, if any, to the molecularsystem in the workspace. As HyperChem closes, it stores information about its present state (for example, display conditions andcalculation settings) in the Registry or in the file chem.ini. Whenyou start HyperChem again, it uses these settings.

Script Menu
Open Script . . .

Starts a script from a file that you choose

Script One

These items are replaced by names of scripts that you
can choose...
Script Ten
Script Editor

Script Editor provides an environment fordeveloping and editing HyperChem scripts

Scripts use instructions from a file to automate HyperChem procedures. These instructions include all normal HyperChem operations, including selecting menu items. You can use a script file toManaging Files

105

Script Menu

manipulate molecules, automate chemical calculations, and perform structural analyses.
You see the Run Script dialog box (see the next section), which lets
you choose a script file and start running the script.
You must use an editor, for example Windows Notepad, to write ascript file. See “Automatic Operation with Scripts” on page 509 forthe rules and procedures for writing a script.

Open Script
When you choose Open Script, you see the Run Script dialog box
to start a set of instructions, stored in a script file (usually with theextension .scr), that tells HyperChem what to do.
The Run Script dialog box has the same components as the Open
File dialog box (see page 79), except that the only file type listed is
Script (*.SCR). If the script begins with comments, these will appear
in the Comments text box when the file is selected in the list.
Note: When you start HyperChem, it automatically opens andruns the script in chem.scr. This script can contain any operations
that you need. For example, you can use the script commandchange-user-menuitem to place scripts on the Script menu in placeof Script One, and so on. Chem.scr must be in the Program directory, with the program executable files.

Script One . . . Script Ten
These items, inactive and in gray, indicate the locations for script
names. To replace these items with names of scripts, you must
write a script containing specific instructions (see the next examples). To start a script from this menu, double-click on the script
name.
Note: In Release 6 of HyperChem and beyond these menu items
do not appear except implicitly. That is, they are there but are
effectively invisible. One can still replace them as described below
and the replaced version will be visible.
Example: :This script adds the script name RedSelectionColor to the Script
menu in place of Script One:

106

Chapter 5

Script Menuchange-user-menuitem 1 RedSelectionColor color1.scr
script-menu-enabled(1) = true

RedSelectionColor appears in place of Script One on the Script
menu. The second command is necessary in order to enable thecommand — that is, to make it active instead of gray and inactive.
Example:This script adds the script name “Torsion 180” to the second entry
in the script menu, and specifies that when it is selected by theuser, a script command is executed:
script-menu-caption (1) “Torsion 180”
script-menu-enabled (1) yes
script-menu-command (1) “set-bond-torsion 180”

The new menu item executes the “set-bond-torsion” command.
The command could instead be an instruction to run a script file,load a structure file, etc.
Note: If you name a script file chem.scr and place it in the HyperChem main directory, HyperChem runs the script automaticallywhen you start up HyperChem. You can use this feature to customize the script menus every time you start HyperChem.

Script Editor
Overview
Script Editor provides an environment for developing and editing
HyperChem scripts (*.SCR). It also provides a convenient way ofsending script messages to HyperChem without creating a script
file: it acts as a command-line interface to HyperChem.
The script editor is useful only for scripts written in the HyperChem command language (Hcl scripts with the *.SCR extension).
It is not useful for writing Tool Command Language (Tcl) scripts(*.TCL). Thus, it is most likely to be used for immediate executionof individual Hcl script commands. Tcl scripts require a normal
text editor of some sort to prepare them.
Script Editor provides the following features:•

A command line for sending messages directly to HyperChem.

Managing Files

107

Script Menu•

An editable command message list so that commands can besaved for later editing.

•A cut and paste facility for saving the commands to the clipboard.

•

User-selectable fonts for a more pleasing interface.

•

A sizable window, so that you can view as much, or as little, ofthe message list as you wish.

•

The ability to load, save and merge text files.

•

A paste function that provides you with a list of valid HyperChem messages.

The Script Editor executable file is HCSCRIPT.EXE, installed inyour Program directory. A list of all messages is stored in MESSAGES.TXT in the LIBRARY subdirectory.

Tutorials
The tutorials demonstrate the different way that Script Editor canbe used.

1. Entering Commands In The Script Editor
The ability to send script messages directly to HyperChem is convenient in many cases. it allows simple access to many initialization settings (such as the log file print level) that are otherwise
cumbersome to change.
To send commands directly to HyperChem:
1. Start HyperChem, and start Script Editor. Make sure that the
Options/Command Line menu item is checked (to use Script
Editor in command line mode).
2. Click on the Command Line entry box. Then type a HyperChem script command. For example, type "window-color
green" (without the quotation marks).
3. Click on the Execute button or press the Enter key to send thecommand to HyperChem. The HyperChem screen turns
green.

108

Chapter 5

Script Menu

2. Using The Paste Message Dialog Box
Typing in commands is fine as long as you know HyperChem
script messages well. Script Editor provides a "Paste Message" facility to make it easier to find the HyperChem script messages. The
commands are stored in the MESSAGES.TXT file.
To use the Paste Message facility:
1. Choose the File/New menu item to clear the Script Editor
screen.
2. Choose the Edit/Paste Message menu item to bring up the Paste
Message dialog box.
3. Click on the "File" line in the Menu list, to bring up a list of all
the script messages associated with the HyperChem File menu.
4. Scroll down the Message list until you find "window-color
black" and click on it to select it. Notice that "window-color
black" appears as a message underneath the Menu list, previewing the message to be pasted.
Note: Script message with arguments (such as window-color) areaccompanied by either a description of the argument type (such as
int for an integer) or by the "factory setting" in other cases. The
window-color message has an argument that is a color.
5. If you do not want to have example message arguments
pasted, uncheck the Paste Arguments check box. Notice thatthe argument ("black") disappears from the string under the
Menu list.
6. Click on the OK button to paste the message into the Script
Editor command line and to dismiss the dialog box. (If you
click on Apply the dialog box remains for further use.) The
message now appears in the command line with the first argument highlighted for editing. Type "red" to change the window-color setting, and click on the Execute button to send themessage to HyperChem. The HyperChem screen will turn red.

3. Requesting Information From HyperChem
In addition to sending commands to HyperChem, Script Editor
can request information, by asking for the value of state variables.

Managing Files

109

Script Menu

To find the current value of a HyperChem state variable:
1. Make sure the Paste Message dialog box is dismissed, and selectFile/New to clear the Script Editor.
2. Type "mouse-mode?" in the Script Editor and execute the command. The Values dialog box appears with the message"mouse-mode = selecting" (or another mode) displayed.
3. Now send the command "default-element ?" to HyperChem.
The value of the current default element appears beneath themouse-mode message. Each query to HyperChem will add
more to the list.
4. To clear the list, double click on the top left corner of the Values dialog box to clear and dismiss it, or press the Escape key.
5. To delete some items from the list, select them and press theDelete key or the Backspace key.
6. The responses come back with a "tag" attached. The "tag" for"default-element = 6" is "default-element =". If you just want
to see just the value of your request, rather than the wholestatement, uncheck the menu item, Respond with Tag. Toggling this item on or off specifies whether to retrieve information with or without the tag. An alternative way of turning the
tag off or on is to send the command "query-response-has-tag
Yes (or No)".

4. Working With The Message List
The Message List can be used in several ways. This exercise takes
you through some of them. The following instructions assume
that the Options/Command Line menu item is unchecked and thebottom text box is labeled Edit Line.
To send commands from the Message List:
After the previous exercises, you should have a selection of commands in your Message List. To send these commands to HyperChem again, simply select them by dragging the cursor across therelevant lines, and click on the Execute button. You can send several commands at once.
To edit an item in the Message List:
Either:110

Chapter 5

Script Menu

1. Click on the item you wish to edit.
2. Use the backspace key to erase from the end of the line to theplace where you wish to make the change.
3. Type the remainder of the line again.
Or:
1. Double click on the item you wish to edit. The item now
appears in the Edit Line.
2. Make your changes in the Edit Line. The changes will be echoed in the Message List as you make them.
To insert a new command into the Message List:
1. Click on the line which you wish to insert a new command
above.
2. Click on the Insert button.
3. Type the command into the empty place in the list thatappears.
4. If you wish to add extra messages, press the Enter key to open
a new line in the Message List.
The Append button is similar to the Insert button except the newline is added below the highlighted line.
To delete commands from the Message List:
1. Select the commands you wish to delete.
2. Click on the Delete button.

Working With Files
If you have developed a script file that you want to save, choose
File/Save to save the file.
You can Open or Merge a script file into the Message List by selecting the appropriate items under the File menu.
Alternatively, you can use the Cut or Copy items from the Editmenu to add selected items from the Message List into the clipboard. Paste will add text from the clipboard to whichever box has
the focus.

Managing Files111

Script Menu

Reference
This section provides detailed descriptions of the main window,
menus and dialog boxes.

Main Window
The Script Editor main window displays a list of script messages
and allows you to edit them and send them to HyperChem. The
following controls are present on the main window:

Message List

This contains the list of script messages beingedited.
Edit Line or Com- Here is where the script messages are edited. The
mand Linelabel says Edit Line if the "File/Command Line" isunchecked and Command Line if it is checked.
ExecuteSends the selected messages from the message list
to HyperChem.
InsertInserts a blank line in the message list before thecurrently selected message.
AppendOpens a blank line in the message list after the currently selected message.
DeleteDeletes the currently selected messages from themessage list.

File Menu
Use the file menu to read and write script files.
Open…
Merge…
Save
Save As…
Exit

112

Chapter 5

Brings a file into the Message List.
Merges a file with the contents of the Message List.
Saves the contents of the Message List into a
named file.
Invokes the Save As.. dialog box for saving files.
Ends this session of Script Editor.

Script Menu

Edit Menu
Use this menu to interact with the Windows clipboard and to paste
HyperChem messages into Script Editor.

Cut
Copy
Paste
DeletePaste Message…

Cuts the selected text into the clipboard.
Copies the selected text into the clipboard.
Pastes from the clipboard into the control withfocus.
Delete the selection without copying it to the clipboard.
Invokes the Paste Message dialog box to prompt
you for script messages.

Options Menu
Use this menu to set options for Script Editor.

Respond With Tag If this is checked, queries sent to HyperChem will
be returned with a tag. If it is not checked then no
tag will be attached.
Font…
Invokes the standard Fonts dialog box to alter theappearance of the user interface.
Command Line
This button toggles the behavior from commandline mode to script-editor modes. If this is checked,
then using Enter after editing automatically sends
the commands in the Command Line box toHyperChem.

Cancel Menu
Use this menu to cancel a set of script messages that is being sent
to HyperChem.

Help Menu
Use this menu to access information about this module.

Managing Files

113

Script Menu

About Script Editor…

Brings up the About Script Editor dialog box.

Paste Message Dialog Box
The paste message dialog box prompts you for script messages.
Menu List
Message List
Paste Arguments
Query value
OK button

Apply button

Cancel button

Lists the menus and categories for script commands. Select one to fill up the message list.
Lists the script messages associated with theselected menu item.
If checked, includes the arguments with the script
message.
If checked, the script message is sent as a query.
Pastes the message string into the Script Editor
command line and dismisses the Paste Message
dialog box.
Pastes the message string into the Script Editor
command line, but does not dismiss the Paste Message dialog box.
Dismisses the Paste Message dialog box without
taking any action

Values Dialog Box
The Values Dialog box provides a listing of the results of "queries"
to HyperChem. It allows you to save these results to a file for later
reference, or to paste them into other applications via the clipboard.
Here are the menu items for the Values dialog box:
File/New
File/Save
File/Save As..
File/Exit
Edit/Clear

114

Chapter 5

Clears the current Values list.
Saves the listing to a file or, if there is no current file
name, invokes the File/Save common dialog box.
Invokes the File/Save As common dialog box.
Closes the Values window.
Clears the current listing of values.

Help Menu
Edit/Cut
Edit/Delete

Cuts the currently selected items of the Values list
to the clipboard.
Deletes the currently selected items from the Values
list.

Help Menu
Index

Lists topics available in the Help window

Keyboard

Provides information for using keyboard keys with
HyperChem

Commands

Explains the commands (items) in each menu, withstep-by-step instructions for using commands anddescriptions of options in all dialog boxes

Tools

Explains how to use HyperChem tools

Scripts & DDE

Defines terms used in HyperChem commands, dialog
boxes, and reference materials

Glossary

Defines terms used in HyperChem commands, dialog
boxes, and reference materials

Using Help

Explains the HyperChem Help system

Tutorials

On-line Tutorials for Understanding HyperChem

About HyperChem . . .

Shows the release information (including version
number) and serial number for HyperChem

HyperChem Help is similar to Help for Microsoft Windows and allother Windows applications. See Microsoft Windows User’s Guide for
information about using Help.
You can use these keyboard shortcuts as alternatives to using theHelp menu:[F1]

Shows the Help contents or, if you highlighted amenu item or have a dialog box active, the Help forthat menu item or dialog box.

[Shift]+[F1]Shows context-sensitive Help. If no menu or dialog
is active this will activate the Help cursor. You click

Managing Files

115

Help Menu

on the Tool icon, menu item or other part of theHyperChem window for Help on that topic.

About HyperChem
Choosing this item shows the About HyperChem dialog box withthe version number of the HyperChem software, your serial number and the copyright notice.

116

Chapter 5

Chapter 6
Building Molecules
This chapter describes menu items and associated dialog boxes on
the Build and Databases menus for building molecules.

Build Menu
Use the Build menu to draw molecules and operate the HyperChem Model Builder. The Model Builder converts 2D drawings
into 3D chemical models. The Build menu has these commands:✓ Explicit Hydrogensa

You add hydrogen atoms while drawing.
HyperChem does not automatically addhydrogens during model building

Default Element...

You choose the element that the Drawing tool
uses

Add
Hydrogens

Adds hydrogen atoms to a drawing to satisfy
the valence requirements of heavy atoms

Model Build/Add H & Model Build

Creates a 3D model from a 2D drawing. Acts
on selected atoms or on all atoms in themolecular system. Calculates atom types formolecular mechanics calculations. If Explicit
Hydrogens is on, “Add H &” disappears fromthis item, and the Model Builder does not addhydrogen atoms to the structure117

Build Menu

✓ Constrain Lengths

Allows easier drawing of symmetric rings and
2D structures by constraining all bond lengths
to be the same and all bond angles to be amultiple of 30 degrees.

✓ Allow Arbitrary
Valencea

Allow any number of bonds (up to 12) to an
atom. If not flagged then the normal rules ofvalence apply and warnings are made ofattempts to have too many bonds. Commonly
flagged to allow special situations such as for
coordination compounds.

Set Formal Chargec

Sets the formal charge on an atom. Influences
the model builder and the number of hydrogens automatically added. For example, a formal charge of +1 on a Nitrogen adds fourhydrogens rather than the usual three. Does
not directly affect other than the modelbuilder.

United Atoms b

Reverses All Atoms (see below) and includes
bonded hydrogen atoms as part of atom types
for certain heavy atoms, simplifying molecularmechanics calculations. This item applies toselected atoms or, if there are no selections, tothe whole molecular system

All Atoms b

Reverses United Atoms (above) and represents
all hydrogens as individual atoms for molecularmechanics calculations. This item applies toselected atoms or, if there are no selections, tothe whole molecular system

Calculate Types

Assigns the atom types necessary for molecularmechanics calculations. The Model Builder
includes this function. This item applies toselected atoms or, if there are no selections, tothe whole molecular system

Compile Type Rules

If you change the atom types in the text filechem.rul, use this item to update the binary
file, typerule.bin, that HyperChem uses formolecular mechanics calculations

and Anglesa

118

Chapter 6

Build Menu

Set Atom Type . . . c

Changes the atom type for all selected atoms

Set Mass . . .c

Sets the mass of selected atoms.

Set Charge . . . c

Sets the atomic charge for all selected atoms

Set Custom Label . . .c

Sets arbitrary text as the custom label for
selected atoms. Used only as annotation-likefeature for atom label.

Constrain
Geometry . . . cSpecifies the geometry around a single,
selected atom. The Model Builder can use thisconstraint when constructing a 3D model

Constrain Bond
Length . . . cSpecifies the bond length for a single, selectedbond. The Model Builder can use this constraint when constructing a 3D model

Constrain Bond
Angle . . . cSpecifies the bond angle for a single, selectedbond angle. The Model Builder can use thisconstraint when constructing a 3D model

Constrain Bond
Torsion . . . cSpecifies the bond torsion angle for a selectedtorsion. The Model Builder can use this constraint when constructing a 3D modela. A check mark appears next to this item when it is on. Turning it on affects all further drawing, until you choose it again to turn it off.
b. United Atoms and All atoms apply to selected atoms in a molecular system, and are not alternatives for a whole molecular system.
c. When this item is gray, it is temporarily unavailable. You must selectan appropriate group of atoms to make it available.

Explicit Hydrogens
If Explicit Hydrogens is on (✓), you can add hydrogen atoms while
you draw molecules. As you use the Drawing tool, all singly
bonded atoms appear first as hydrogens. Adding another bondchanges a hydrogen atom to the default element (for example, carbon).

Building Molecules

119Build Menu

When Explicit Hydrogens is on, Add H & Model Build changes toModel Build. The Model Builder does not add additional hydrogenatoms.

drawn with Explicit
Hydrogens on

drawn with Explicit
Hydrogens off

When Explicit Hydrogens is off (no check mark), the Drawing tool
places only the default element. Use the Model Builder or Add
Hydrogens option (see page 123) later to add the necessary hydrogen atoms to complete the valence requirements of heavy atoms.

drawn with Explicit Hydrogens on,then used Model Builddrawn with Explicit Hydrogens off,
then used Add H & Model Build

Default Element
When you choose Default Element, you see the Element Table dialog box for choosing the element for drawing. The Drawing tool
places atoms of the default element into the workspace. You canalso display this dialog box by double-clicking the Drawing tool.

120

Chapter 6

Build Menu

Choose an element in the periodic table (hydrogen throughlawrencium) or a lone pair of electrons (useful for certain molecular mechanics calculations). The default element is changed to theelement that you clicked on and the drawing tool is selected sothat you can immediately draw in the HyperChem workspace. The
dialog box remains on screen until you dismiss it. You can change
the default element while you are drawing a molecule. Choose a
new element from the Element Table dialog box and continue
drawing. Double clicking on an element will change the default tothat element and dismiss the dialog box.
You can also change an element after you draw it. Choose a newelement from the Element Table dialog box and, using the Drawing tool, L-click on the atom you want to change. For example, if
you are drawing with carbon atoms, choose oxygen from the Element Table dialog box; then L-click on a carbon to change it to anoxygen.

Element Table Dialog Box
Double-click on the Drawing icon or choose Default Element on the
Build menu to display this dialog box.

The dialog box lets you select the default element by clicking on
the atomic symbol. This will change the cursor to the Drawing
Tool and you can immediately start drawing in the workspace with
the new default element. Single clicking will leave the dialog box
open and double clicking will close it. This dialog box also lets you
turn these drawing options on or off:

Building Molecules

121Build Menu

Allow Arbitrary
Valence
When Allow Arbitrary Valence is on (✓), you candraw up to twelve bonds to an atom. With Allow
Arbitrary Valence off, you can draw only four bonds
to carbon, three to nitrogen, two to oxygen, and soon. This is modified by a formal charge on an
atom. For example, with carbon, bonds=4+formal
charge.
HyperChem uses only formal charge to affectvalence. Other charges (atom charges) affectmolecular mechanics interactions; for example,
you can see this by using Set Charge (see page 132).
The total quantum charge affects quantum
mechanical calculations such as a semi-empiricalor ab initio quantum mechanical calculation (see“Semi-empirical” on page 296, and “Ab Initio andDensity Functional” on page 311).
This option is accessible via either the above dialog
box or via the Build menu.
ExplicithydrogensLets you add hydrogen atoms with the Drawing
tool. Singly bonded atoms appear first as hydrogens, then change to the default element when
you add the next bond. If this setting is off, you
draw only heavy atoms, and HyperChem adds
hydrogens during model building. You can also
turn this condition on or off by choosing Explicit
Hydrogens on the Build menu (see page 119). See
also “Add Hydrogens” in the next section.

Properties

Shows the Element Properties box for the current
default element (see below).

You can dismiss the Element Table dialog box by double clicking
on the control-menu box or by double clicking on an element. The
latter will also change the default element.
Note: To draw a hydrogen with multiple bonds, choose hydrogenas the default element and turn Allow Arbitrary Valence on.
Caution: You can use any elements from the periodic table fordrawing. However, for some elements the Model Builder might notprovide appropriate bond lengths or angles for all atoms. Also,semi-empirical and ab initio calculations cannot accommodate all
elements.
122

Chapter 6

Build Menu

Element Properties
If you click on the Properties... button in the Element Table dialog
box, the Element Properties box will appear, showing the physicalproperties of the current default element. Alternately, if you shiftclick on an element button in the Element Table dialog box, theproperties of the element that you selected will be shown. This
does not change the default drawing element.

Add Hydrogens
Add Hydrogens supplies hydrogen atoms to complete the valenceshells of heavy atoms. This item works on selected atoms or on all
atoms in the molecular system, and works with either a 2D drawing or a 3D model.

Add
Hydrogens

Add Hydrogens works with Explicit Hydrogens turned either on oroff. If Explicit Hydrogens is on, Add Hydrogens provides hydrogenatoms in addition to the hydrogens already in the molecule.
Building Molecules

123Build Menu

Add Hydrogens uses a limited portion of the Model Builder (see thenext section) to determine the number and location of hydrogenatoms. However, it does not convert a 2D drawing into a 3Dmodel.

Model Build/Add H & Model Build
Model Build uses the Model Builder to convert your 2D drawing
into a 3D molecular model. Model Build works on selected atoms
or, if there is no selection, on all atoms in the molecular system.
Caution: The Model Builder acts only on selected atoms, if you
select any. This can lead to distortion of the molecule if the selection is not a functional group.
Model Build appears on the Build menu if Explicit Hydrogens is on.
HyperChem does not add hydrogen atoms while building a 3Dmodel. This item changes to Add H & Model Build if Explicit Hydrogens is off. The Model Builder then adds all needed hydrogenatoms.
The Model Builder uses a set of rules to construct an approximate
3D model. These rules might have limitations with some structures. For a better 3D model, first use the Model Builder, then use
Geometry Optimization on the Compute menu, with either amolecular mechanics or semi-empirical quantum mechanics
method.

Model Build

2D drawing

124

Chapter 6

3D modelBuild Menu

The Model Builder does not add charges (ionic or partial) to molecules. You can add charges to selected atoms using Set Charge on
the Build menu. Or, you can use a semi-empirical or ab initio quantum mechanical calculation to determine atomic charges (see“Single Point” on page 360).
The Model Builder assigns atom types (see page 130). Sometimes
these types need to be applied manually.
For a discussion of the Model Builder, see “Converting 2D Drawings into 3D Structures” on page 487.

Constrain Length and Angles
HyperChem drawing has traditional been very free form in thatone’s goal was only drawing a 2D sketch (graph) that represented
the connections in a molecule which was then to be immediately
converted into a 3D structure via HyperChem’s model builder.
This computational model is convenient and simple if one’s only
goal is to create the three-dimensional structure. However, if one
also wanted a “pretty” 2D picture as well, this mode of free-handdrawing did not make it easy to create well-formed six-sided rings,
for example. HyperChem includes the ability to constrain thebond lengths and angles in your drawing so that the result drawing, while still convertible into a 3D structure in an identical fashion to earlier releases, provides a “prettier” 2D drawing for potential printing and inclusion into a document.
HyperChem should still be thought of as a molecular modelingprogram rather than a drawing program but these constraints
along with other features (annotations, in particular) allow you to
use HyperChem to produce drawings in conjunction with yourmolecular modeling.
To constrain your drawing, you simply set the appropriate flag on
the drawing menu and from then on all lines drawn are the samelength; angles are restricted to multiples of 30 degrees. With these
constraints it is easy, for example, to draw a regular six-sided ring.
When you want to relieve the drawing constraints and draw as inearlier versions of HyperChem, you just reset the constraint flag on
the drawing menu. Thus, you can mix constrained and unconstrained drawing in the same molecule. You may want to create a2D drawing of a molecule, for example, that has certain bonds all
the same length in a regular structure but has other bonds that
require an arbitrary length or drawing angle.
Building Molecules

125Build Menu

This option has no effect whatsoever, on the operation of themodel builder or other parts of HyperChem. It simply allows you
to control some facets of how you create your 2D drawing so thatthe drawing is “prettier”.

Allow Arbitrary Valence
When Allow Arbitrary Valence is on (✓), you can draw up to twelve
bonds to an atom. With Allow Arbitrary Valence off, you can draw
only four bonds to carbon, three to nitrogen, two to oxygen, andso on. This is modified by a formal charge on an atom. For example, with carbon, bonds=4+formal charge.
HyperChem uses only formal charge to affect valence. Other
charges (atom charges) affect molecular mechanics interactions;for example, you can see this by using Set Charge (see page 132).
The total quantum charge affects quantum mechanical calculations such as a semi-empirical or ab initio quantum mechanical calculation (see “Semi-empirical” on page 296, and “Ab Initio andDensity Functional” on page 311).
Allow Ions remains on until you turn it off by choosing this item
again. This option is accessible via either the above dialog box or
via the Build menu.

Set Formal Charge
HyperChem, and the model builder in particular, understand andinclude the concept of formal charge on an atom. The formal charge
on a atom can be set by the user and this formal charge influencesthe 3D structure created by the model builder.
For example, a single carbon atom which is given a formal chargeof +1 and submitted to the model builder results in trigonal bipyramidal CH5+ system being produced. That is, 5 hydrogens areadded. If the formal charge on a single carbon atom is set to -1,
then the model builder will produce CH3-. If the formal charge isthe default value of zero, then ordinary CH4 is created by themodel builder. In earlier releases, the model builder always
assumed zero for formal charges and created structures appropriate
for neutral systems.
The formal charge on an atom is set by selecting an atom and clicking on the menu item <Set formal charge..> to choose the value of126

Chapter 6

Build Menu

the formal charge, a positive or negative integer. These formal
charges result in the total system charge (also an integer) having adefault value that derives from the formal charges, if any. The total
system charge which is what determines the number of electrons
included in quantum mechanical calculations can be forced to avalue that overrides the formal charges if necessary but the total
system charge will normally derive from the individual formal
charges.
HyperChem also includes the concept of atomic charges which are
not integers and are normally the output of various quantum
mechanical calculations. The atomic charges, in the absence ofquantum mechanical calculations, the use of templates for amino
and nucleic acids, or other procedures which set the atomic
charges, will reflect the formal charges. For example, setting theformal charge on a Nitrogen atom to +1 and invoking the modelbuilder will result in NH4+ with a formal charge +1 on the Nitrogenand atomic charges of 1.0 for the Nitrogen and 0.0 for the Hydrogens. A quantum mechanical calculation might then change theatomic charges to 0.96 on the Nitrogen and 0.01 for each of thehydrogens while leaving the formal charges unchanged.

Set Formal Charge Dialog Box
This dialog box list the values of formal charge which you can set
for the selected atoms.

Building Molecules

127Build Menu

United Atoms
United Atoms simplifies a molecular structure and calculations on
this structure by including hydrogen atoms in the definition of acarbon atom. Force fields have different atom types (see “AtomTypes” on page 654) for these composite atoms. United Atoms acts
on selected atoms, or, if there is no selection, on the whole molecular system. This choice remains on until you select the atoms
again and choose All Atoms (see the next section).
Note: United Atoms applies to selected atoms, so you can use botha united-atom and an all-atom representation in the same molecular system.

United Atoms

All Atoms= united atom types for AMBER force field

Note: When you change between United Atoms and All Atoms,
HyperChem changes atom types, as needed, for the force field in
effect.
Note: United Atoms and All Atoms are available only after you
choose a molecular mechanics force field on the Setup menu (see“Force Field Options Dialog Box” on page 293).
The united atom rules for simplifying a structure depend on theforce field that you choose in the Setup menu (see “Force Field
Options Dialog Box” on page 293) and the residue templates for

128

Chapter 6

Build Menu

the force field (see “Residue Template Files” on page 727). In theliterature on force fields, united atoms are also known as extended
atoms or extended hydrogens.

All Atoms
All Atoms reverses the United Atoms choice, so that the molecularsystem represents every hydrogen as a separate atom. All Atoms
applies to selected atoms or, if there is no selection, to the whole
molecular system.
Note: All Atoms applies to selected atoms, so you can use both aunited atom and an all atom representation in the same molecularsystem.
In the literature on force fields, ‘all atoms’ is also known as ‘explicit
hydrogens’.

Calculate Types
Calculate Types assigns atom types to selected atoms or to all atoms
in the molecular system. Atom types represent the stereochemical
properties of each atom (for example, CO for sp2 carbonyl carbon,
CT for tetrahedral carbon, and CH for a united atom representation of an sp3 carbon with no separate hydrogen). Each molecularmechanics force field uses a different set of atom types. Calculate
Types applies types for the last force field you chose in the Molecular Mechanics Force Field dialog box (see page 290).
Molecular mechanics calculations require atom types. Since theModel Builder (see “Model Build/Add H & Model Build” on page124) automatically makes these assignments, you need only to use
Calculate Types when you do not plan to use the Model Builder. If
you change force fields, HyperChem automatically assigns new
types. In some cases it may be necessary to assign atom types manually (see page 130).
To check that all atoms in the workspace have an atom type,choose Labels on the Display menu and then choose Type for thelabel. Atoms without assigned types appear with a ** label.
If you are using a new or altered set of atom types (a new chem.rul
file or type parameter file), use Compile Type Rules on the Buildmenu before you do a molecular mechanics calculation.

Building Molecules

129Build Menu

Compile Type Rules
Use Compile Type Rules if you change the rules for assigning atom
types that HyperChem uses for molecular mechanics calculations(see “Atom Types” on page 654). You can change the rules for
assigning atom types in the file chem.rul by using a text editor.
Then use Compile Type Rules to create the new binary version ofthis file, typerule.bin, which HyperChem uses for calculations.
Caution: If you change the file chem.rul, be sure to back up or savecopies of the original files. Errors in the new chem.rul can prevent
HyperChem calculations.

Set Atom Type
When you select one or more atoms and then choose Set Atom
Type, a dialog box appears for changing the type for selected
atoms. HyperChem uses atom types for molecular mechanics calculations.
HyperChem assigns atom types when you choose Model Build or
Calculate Types on the Build Menu (see page 124 and page 129),
when you use a residue from the Databases menu, when you add
water molecules to a periodic box, or when you open a PDB or
MOL2 file. The types depend on the molecular mechanics methodthat you choose (see page 289).
Note: If you select multiple atoms, Set Atom Type assigns the sameatom type to each of the selected atoms.

130

Chapter 6

Build Menu

Set Atom Type Dialog Box

The Set Atom Type dialog box lists atom types for the active force
field. The selected atom appears highlighted. For example, theModel Builder might show the type CT for a carbon atom. You canchange this to another atom type in the list.
Caution: HyperChem does not check your choice. Be sure to pickan atom type appropriate for the element.
To check existing atom types in a molecular system, choose Labelson the Display menu and then choose Type for the label. Atoms
without assigned atom types have a ** label.
The MM+ calculation method can work with unknown atom types
using its Default Force Field (see the Computational Chemistry reference manual). (The other molecular mechanics force fields requirethat types be assigned to all atoms.) The MM+ Default method isable to assign force field parameters on the basis of bonding characteristics. This can be used to work around some limitations of
the molecular mechanics methods. For example, in structures likebiphenyl, all of the carbon atoms are assigned types appropriate
for sp2 atoms. The bond between the rings joins two sp2-type
atoms, and so is given the characteristics of a double bond: it is relatively short, and all of its neighboring atoms are forced towards asingle plane, even though the bond actually is single, and the rings
should be tilted with respect to each other. If the two atoms where
the rings are joined are set to the unknown (**) type, an MM+ calculation can give the proper results.
Note: Set Atom Type is gray unless you select one or more atoms.

Building Molecules

131Set Mass
The Set Mass Dialog box is used to set the mass for selected atoms.
By default, when an atom is drawn it is assigned the average
atomic mass for that element. For vibrational analysis (see “Vibrations” on page 385) it is sometimes desirable to use different values.
Note: If you select multiple atoms, Set Mass assigns the same atom
mass to each of the selected atoms.

Set Atom Mass Dialog Box

In the Set Atom Mass dialog box, enter a positive real number, themass of the selected atom in atomic units.
Caution: HyperChem does not check to see if the mass you assign
is a reasonable value for the atom(s) selected.
To check existing atomic masses, choose Labels on the Display
menu and then choose Mass for the labels. When you assign a newmass, the label changes to show the new mass, but only after you
deselect the atom.
Note: Set Mass is gray unless you select one or more atoms.

Set Charge
You use Set Charge to change the net charge on selected atoms.
Atoms you draw in HyperChem do not have atomic charges. To
add charges to the atoms, you can use Set Charge or run a semiempirical or ab initio calculation.
For amino acid and nucleic acid residues and for water molecules
in a periodic box, HyperChem provides atomic charges. Molecularmechanics calculations use net atomic charges to predict electrostatic interactions.

132

Build Menu

Note: If you select multiple atoms, Set Charge assigns the sameatom charge to each of the selected atoms.

Set Atom Charge Dialog Box

In the Set Atom Charge dialog box, enter a positive or negative
charge, either a fraction or a whole number. For example, –0.20
indicates a slight excess of electrons; +2.0 indicates a cation deficient in two electrons.
Caution: HyperChem does not check the sign or magnitude of thecharge. Be sure it is appropriate for an atom. Also, HyperChem
does not check the charge distribution in a molecule.
To check existing atomic charges, choose Labels on the Display
menu and then choose Charge for the labels. Atoms without acharge have a 0.000 label. When you assign a new charge, the labelchanges to show the new charge, but only after you deselect theatom.
Note: Set Charge is gray unless you select an atom.

Set Custom LabelThis will allow arbitrary text to be associated with selected atoms
as a label. To display assigned custom labels, ensure “Custom” isselected from the “Display/Labels”.

Set Custom Label Dialog Box

Building Molecules

133

Build Menu

In the Set custom Label dialog box enter a string that will be thecustom label for the selected atoms (or all atoms if none are
selected).

Constrain Geometry
Constrain Geometry specifies the geometry of the bonds around a
selected atom when you use the Model Builder. (It does not affect
the geometry during optimizations; see “Restraints” on page 340.)
When you choose Constrain Geometry, you see the Constrain
Geometry dialog box with choices for geometry. To constrain thechirality of an atom for the Model Builder, [Shift]+L-click on one ofits bonds with the drawing tool (see “Changing Chirality” on page485).
HyperChem uses the Computed option as the default setting forgeometry. With Computed, the Model Builder decides on thegeometry.
Note: This constraint is a high priority for the Model Builder (see“Converting 2D Drawings into 3D Structures” on page 487). However, additional constraints can affect the model and might alter
the final results.
You can eliminate the constraint and return to the Model Builder’sgeometry by choosing Computed in this dialog box, and then bychoosing Model Build on the Build menu.
Note: Constrain Geometry is gray unless you select an atom.

Constrain Geometry Dialog Box

134

Chapter 6

Build Menu

These are the choices for geometry. All bond angles are relative to
one selected atom:
Computed

No constraint. The Model Builder decides on thegeometry.

LinearTwo bonds at 180 degrees. If the selected atom has
more than two bonds, the Model Builder constrains two bonds only to 180 degrees.

Trigonal

Three bonds in a plane, with 120 degrees between
each pair of bonds. If the selected atom has morethan three bonds, the Model Builder constrains
three bonds only to a plane and 120 degrees. If theselected atom has only two bonds, the Model
Builder constrains the two bonds to a 120 degree
angle.

Tetrahedral

Four bonds, in a tetrahedral arrangement, with
109.47 degrees between each pair of bonds (inevery pair-wise combination). If the selected atom
has more than four bonds, only four are in a tetrahedral arrangement. If the selected atom has threebonds, all pairs have 109.47 degree angles.

Square Planar Four bonds in a plane, with 90 degrees between
each cis pair of bonds. If the selected atom has
more than four bonds, the Model Builder constrains only four of them to the plane and to anglesof 90 degrees. If it has two or three bonds, then one
or two bond angles, respectively, will be constrained to the plane and to 90 degree angles.
Bipyramidal

Five bonds, with three bonds in a plane (120degrees from each other), and two bonds perpendicular to the plane and 180 degrees apart. If theselected atom has six bonds, the Model Builder
constrains four bonds to a plane, but only three are
separated by 120 degrees. If the selected atom has
two or three bonds, these atoms lie in a plane with
120 degree angles. The fourth bond is orthogonal
to this plane at 90 degrees to the other bonds.

Octahedral

Six bonds, with all angles at 90 or 180 degrees. If
the selected atom has less than six bonds, all bondangles are 90 or 180 degrees.

Building Molecules

135

Build Menu

lineartrigonal

tetrahedral

bipyramidaloctahedral

To use Constrain Geometry:
1. Select an atom.
2. Choose Constrain Geometry on the Build menu.
3. Choose one of the geometries provided. This geometry
remains with this atom during this HyperChem session until
you choose another geometry. A HIN file does not store information about geometry constraints.
4. Deselect the atoms or select all atoms in the molecule.
5. Choose Model Build on the Build menu.

Constrain Bond Length
Constrain Bond Length limits the length, in Ångstroms, of a
selected bond when you use the Model Builder. (It does not affectthe bond length during optimizations; see “Restraints” on page340.) First select a bond or two bonded atoms, then choose Constrain Bond Length. The Constrain Bond Length dialog box appears
for entering a bond length.
Note: This constraint is a high priority for the Model Builder (see“Converting 2D Drawings into 3D Structures” on page 487). However, additional constraints can affect the model and might alter
the final result.
You can eliminate the constraint and return to the Model Builder’sdefault bond length by selecting the bond, choosing Computed inthis dialog box, and then choosing Model Build on the Build menu.
Note: Constrain Bond Length is gray unless you select two
covalently bonded atoms.

136

Chapter 6

Build Menu

Constrain Bond Length Dialog Box

Computed

No constraint. The Model Builder decides on thebond length.

Other

Enter a positive value > 0 to 1000 Ångstroms. The
practical range is 0.75 to 4 Ångstroms.

You can return to the Model Builder’s bond length by choosing
Computed in this dialog box and then choosing Model Build on the
Build menu.

Constrain Bond Angle
Constrain Bond Angle specifies the angle between two adjacentbonds when you use the Model Builder. (It does not affect thebond angle during optimizations; see “Restraints” on page 340.)
First select three atoms or the two included bonds, then choose
Constrain Bond Angle. The Constrain Bond Angle dialog box
appears for you to choose one of the angles provided or to enter a
new bond angle, in degrees.
Note: This constraint is a high priority for the Model Builder (see“Converting 2D Drawings into 3D Structures” on page 487). However, additional constraints can affect the model and might alter
the final result.
You can eliminate the constraint and return to the Model Builder’sdefault bond angle by selecting the bond, choosing Computed inthis dialog box, and then choosing Model Build on the Build menu.
Note: Constrain Bond Angle is gray unless you select three atoms
that form a bond angle.

Building Molecules

137

Build Menu

Constrain Bond Angle Dialog Box

These are the choices for a bond angle:
Computed

No constraint. The Model Builder decides on thebond angle.

Linear180 degrees.

Trigonal

120 degrees.

Tetrahedral

109.47 degrees.

Orthogonal

90 degrees.

Other

Enter a value in the range of ±360 degrees.

Constrain Bond Torsion
Constrain Bond Torsion specifies a torsion angle when you use theModel Builder. (It does not affect the torsion angle during optimizations; see “Restraints” on page 340.) First select the four atoms
or the three included bonds that define a torsion angle. Thenchoose Constrain Bond Torsion. When the dialog box appears,
choose one of the standard torsion angles or enter a new torsion
angle.
Note: This constraint is a high priority for the Model Builder (see“Converting 2D Drawings into 3D Structures” on page 487). However, additional constraints can affect the model and might alter
the final result.

138

Chapter 6

Databases Menu

You can eliminate the constraint and return to the Model Builder’sdefault torsion angle by selecting the angle, choosing Computed in
the dialog box, and then choosing Model Build on the Build menu.
Note: Constrain Bond Torsion is gray unless you select four atoms
that form a torsion.

Constrain Bond Torsion Dialog Box

These are the choices for a torsion angle:
Computed

No constraint. The Model Builder decides on thetorsion angle.

Trans

180 degrees.

Cis

0 degrees.

Gauche+60 degrees.

Gauche––60 degrees.

Other

Enter any value ±180 degrees.

Databases Menu
Use the Databases menu to create proteins and nucleic acids (DNAand RNA) from a library of residues. The residues have a standard
chemical structure. HyperChem provides residue structures (inBuilding Molecules

139

Databases Menu

template files) and rules for connecting these residues to makemacromolecules. The Databases menu has these commands:

140

Chapter 6

Amino
Acids...

Creates polypeptides, starting from the N-terminus. The
Amino Acids dialog box appears for selecting amino acidresidues and polypeptide conformation

Make
Zwitterion

Changes a polypeptide, constructed from database residues, into a zwitterion, with charged C-terminal (COO–)
and N-terminal (NH3+) groups

Remove Ionic
Ends

Reverses Make Zwitterion, returning the C- and N-terminal groups to –NH and –CO

Sequence
EditorCreates or reads one-letter amino acid sequences.

Nucleic
Acids...

Creates single- or double-stranded DNA or RNA. You canselect nucleotide residues, polynucleotide conformations,and sugar conformations

Add Counter
Ions

Adds sodium ions to the polynucleotides in the workspace, neutralizing the phosphate groups’ charges

Crystals...

A module for reading, creating and viewing crystal structures.

Saccharides...

This sugar builder will build polysaccharide structures.

Polymers...

Builds linear and branched polymers from any specified
monomer.

Mutate ...aYou can change one selected animo acid or nucleotide
residue into another. This item applies only to peptides or
polynucleotides constructed from database residues or tomolecules from PDB files

Replace...a

Replaces one continuous set of amino acid residues withanother contiguous set of amino acid residues from the
clipboard. It combines a cut and paste operation into asingle operation for homologous protein design.

Databases Menu

Invoke Database...

Invokes the independent HyperChem Data module.
HyperChem Data is a database to be used in conjunction
with HyperChem. It allows 2D and 3D search of a database of molecules for input to molecular modeling andcan store results of molecular modeling.

a. When this item is gray, it is temporarily unavailable. You must change
some condition in HyperChem to make it available.

Proteins and nucleic acids from Brookhaven PDB files (seepage 503) are composed of residues. You can use many of the Database menu items to modify molecules from those files.

Amino Acids
Choose Amino Acids to construct polypeptides from amino acidresidues. These amino acids have standard chemical structures.
In the Amino Acids dialog box, choose the secondary conformation of the polypeptide (Alpha helix, Beta sheet, or Other for yourown Phi, Psi, and Omega angles). Then choose from these residues,
starting at the N-terminus:•

20 standard amino acids.

•

Two neutral and one protonated form of histidine (Hid, Hie,and His). At physiological pH, the side group of histidine iseither positively charged or neutral, depending on its local
environment.

•

Half-cystine residues (Cyx) for constructing disulfide links (see“Cross-linking with Cyx” on page 495).

•

One N-terminal blocking group (Ace). Use this as the first residue only.

•

One C-terminal blocking group (Nme). Use this as the last residue only.

Note: Residues from this dialog box are not equivalent to aminoacids you construct atom by atom. You can add new residues to the
choices in the Amino Acids dialog box or modify residues obtained
from this dialog box (see “Adding Unusual Residues” on page 496).
HyperChem links residues together in the order you select them.
A C-terminal blocking group (cap) prevents further addition. After

Building Molecules141

Databases Menu

adding a cap, choosing additional residues begins anotherpolypeptide.
If the polypeptide has no cap, you can later add more residues to
the C-terminus. If you turn the polypeptide into a zwitterion (seethe following section), you cannot add more residues to this molecule; choosing additional residues begins another polypeptide.
As you extend the polypeptide, you can change these properties of
the next residues that you add:•

Secondary structure (Alpha helix, or Beta sheet, or Other)•

Conformation of the peptide bond (Omega)•

D or L isomer of each residue

These choices remain in effect until you make other choices. You
cannot change these properties after you add the residues.
Note: Do not use the Model Builder on a whole constructedpolypeptide. The Model Builder discards the optimized geometry
in these molecules and cannot accurately reproduce the structure.
You can, however, use the Model Builder on selected atoms; forexample, for small modifications of standard residues.
For detailed instructions on building molecules from residues, see“Building Molecules from Residues” on page 492.

Amino Acids Dialog Box

HyperChem provides these amino acid residues:

142

Chapter 6

Ala

Alanine, neutral aliphatic, nonpolar.

Gly

Glycine, neutral, polar.

Ser

Serine, neutral polar.

Databases Menu

Thr

Threonine, neutral, polar.

Leu

Leucine, neutral, aliphatic, nonpolar.

Ile

Isoleucine, neutral, aliphatic, nonpolar.

Val

Valine, neutral, aliphatic, nonpolar.

Asn

Asparagine, neutral, polar.

Gln

Glutamine, neutral, polar.

Arg

Arginine, positively charged.

Hid

Histidine, neutral, with hydrogen in the delta
nitrogen.

Hie

Histidine, neutral with hydrogen in the epsilon
nitrogen.

Hip, HisHistidine, positively charged, with a hydrogen on
both the delta and epsilon nitrogens.

Trp

Tryptophan, neutral aromatic, nonpolar.

PhePhenylalanine, neutral aromatic, nonpolar.

Tyr

Tyrosine, neutral aromatic, polar.

Glu

Glutamic acid, negatively charged.

Asp

Aspartic acid, negatively charged.

Lys

Lysine, positively charged.

Pro

Proline, neutral, nonpolar.1

Cys

Cysteine, neutral, polar.

Cyx

Half-cystine, neutral, polar. Cyx in a moleculefrom a PDB file is a full (cross-linked) cystine residue. Cyx stands for a whole cystine residue if amolecule comes from a PDB file.

Met

Methionine, neutral, nonpolar.

Ace

Acetyl, N-terminal blocking group.

Nme

N-methyl amino; C-terminal blocking group.

HyperChem gives you these choices for the conformation of thenext residues that you add. Each amino acid that you add to a
1. When you incorporate proline into a polypeptide, HyperChem cannot use the Phi or Psi torsional
angles in this dialog box. Instead, it uses the angles required by the pyrrolidine ring.

Building Molecules143

Databases Menu

polypeptide can have a different secondary conformation. In thisway, the polypeptide can have stretches of alpha-helical structure,beta-pleated structure, and other transitional conformations.

144

Chapter 6

Alpha helix

Sets standard Phi and Psi torsional angles of –58
and –47 degrees for an alpha helix, with atranspeptide bond (Omega = 180 degrees).

Beta sheet

Sets standard Phi and Psi torsional angles of 180
and 180 degrees for a beta pleated sheet, with atranspeptide bond (Omega = 180 degrees).

Conformation

Phi

Psi

Other

Alpha

-58.00-47.00

180

Beta

180

180

180

Other

±180

±180

±180

Other

Accepts nonstandard values for Phi, Psi, andOmega torsional angles.

Phi

Torsional angle (φ) for C–N–Cα–C. Range: ± 360
degrees.

Psi

Torsional angle (ψ) for N–Cα–C–N. Range: ± 360
degrees.

Omega

The peptide bond torsional angle (ω), normallytrans, from 107 to 180 degrees. Applies to the next
amino acid residue. Range:± 360 degrees.

IsomerLets you choose the usual L stereoisomer (S chirality) or the D stereoisomer (R chirality).

Databases Menu

α ALA

ω
φ
ψ

α

α

VAL

ω

GLY

Note: The Amino Acids dialog box stays on screen. You can leavethis dialog box in the workspace while using tools or other menu
items (for example, Labels on the Display menu).

Make Zwitterion
At neutral pH in solution, polypeptides exist as zwitterions, with
–NH3+ and –COO– terminal groups. Make Zwitterion converts a
selected polypeptide, constructed from the Databases menu or a
PDB file, into a zwitterion. If there are no selected molecules, Make
Zwitterion acts on all polypeptides in a molecular system. The
polypeptide must have the usual terminal groups (–NH and –CO),
without terminal caps (Ace or Nme).
When you construct polypeptides with HyperChem, the ends areincomplete (–N–H and –C–O). Make Zwitterion converts the ends
to –NH3+ and –COO–.
Note: Amino acid residues from a database (the Databases menu or
a PDB file) are composed of atoms with partial charges. Make Zwitterion changes the partial charges on the terminal atoms. It does
not change the charges on side groups of amino acids (for example, acidic, basic, or imidazole side groups).
Make Zwitterion prevents adding more amino acid residues toexisting polypeptides. If you choose additional residues from the
Amino Acids dialog box, they start a new polypeptide.

Building Molecules

145

Databases Menu

Remove Ionic Ends (see the next section) reverses the results ofMake Zwitterion.

Make Zwitterion
0.252amino end
-0.4630.616-0.504
carboxyl end

Remove Ionic Ends

0.312
-0.2630.524
0.312-0.706-0.706

0.312

Remove Ionic Ends
Remove Ionic Ends reverses the results of Make Zwitterion. This converts –NH3+ and –COO– terminal groups in a polypeptide to –NH
and –CO.

146

Chapter 6

Databases Menu

Sequence Editor
Overview
The Sequence Editor is used to create or read in one-letter aminoacid sequences, possibly from a sequence database such as those
provided by the National Center for Biotechnology's Entrez system
on CD-ROM (or on-line at http://www.ncbi.nlm.nih.gov/entrez).
The primary sequence can then be assigned secondary structuresthat are either alpha helix, beta sheet, beta turn, or random coil.
The three-dimensional structure can then be sent to HyperChem
for molecular modeling. The Sequence Editor can also be used toview certain properties of a sequence, such as the percentage ofindividual residues, the hydrophobic character of residues, etc. It
can also be used to view two sequences and compare them in a
simple fashion.

The Sequence Editor module is the executable file, HCSEQUEN.EXE, installed in your Program directory. Several sample files in FASTA format (FAST*.SEQ) are provided in the
Sequences sub-directory of the Samples directory.
Tutorial
This tutorial illustrates how to generate a secondary structure for asmall protein obtained from Entrez.
Reading a Sequence for Modeling
1. Start the Sequence Editor. This may be done by clicking on the
Sequence Editor menu item of the Databases menu in HyperChem.
2. Click on the menu item File/Open to open the file SAMPLES\SEQUENCES\FAST3.SEQ and see it displayed in the top
Sequence window. The bottom window displays the secondary structure of the sequence. This sequence has not had a secondary structure assigned so that it is all random coil as designated by "r". Right-handed alpha helices are designated by "h",left-handed alpha helices by "l", 3-10 helices by "e", pi helices
by "i", extended beta sheets by "x", parallel beta sheets by "p",anti-parallel beta sheets by "a", beta I turns by "12", beta II
turns by "34", and beta III turns by "56".

Building Molecules

147

Databases Menu

3. Click on the menu item View/Polarity to display the polarity ofeach residue in the bottom window rather than the secondary
structure. A non-polar residue is designated by "n", a polar residue by "p", a negatively-charge residue by "-", and a positivelycharged residue by "+". Click on the menu item View/Secondary to return to viewing the secondary structure of thesequence.
4. Select a portion of the total sequence by dragging the mousealong the text in either window. The corresponding text in theother window will automatically be also selected. Click on themenu item Edit/Alpha helix and note that the bottom windowshows that this portion of the sequence now has an alpha helical secondary structure.
5. Select other portions of the sequence and designate them asalpha helices, beta sheets, beta turns, or random coil as desired
until the operation of interactively setting the secondary structure (displayed in the bottom window) of a primary sequence(displayed and manipulated in the top window) is mastered.
Two residues must be selected for the beta turns. Note that allchanges to the contents of the bottom window must be madethrough menu commands acting on selected portions of thesequence. This means that, for example, the secondary structure cannot be typed directly into the bottom window.
6. Click on the menu item HyperChem/Put to create yoursequence and its secondary structure in HyperChem. Since thisprotein is rather large, and would take some time to send toHyperChem, press the Cancel menu item to stop this command. Once the protein corresponding to the sequence has
been built by HyperChem, it is can be used for visualization,
analysis and modeling using other features of HyperChem.
The random coil portion of the protein is built using a random
number generator to specify each phi (φ), psi (ψ) angle.

BackgroundA subscription to Entrez, which includes sequence databases on
CD-ROM, is available from:
148

Chapter 6

Databases Menu

National Center for Biotechnology Information
National Library of Medicine
National Institutes of Health, Bldg. 38A
8600 Rockville Pike
Bethesda, MD, USA 20894
Phone: (301) 496-2475
Email: info@ncbi.nlm.nih.gov
Web: http://www.ncbi.nlm.nih.gov/entrez

Protein secondary structure is discussed in:
T. E. Creighton, Proteins, W.H. Freeman (New York,1984) ISBN 0-7167-1566-X, Chapters 5 and 6.
Dayhoff matrices are discussed in:
J. E. Ash, W. A. Warr, and P. Willett, Chemical Structure
Systems, Ellis Horwood (New York, 1991) ISBN 0-13126699-3, Chapter 9.
Reference
This section describes the menus and dialog boxes available in the
Sequence Editor.

File Menu
The File menu is used for reading and writing files and forcopying the primary sequence to the bottom window. It contains these items:
New
Open…

Clears both windows and resets the Sequence Editor
Selects a sequence file (FASTA format with SEQ as
the extension) to be read in. If there is also a filewith the same name but the extension SEC, then asecondary structure is read in as well. If there is nosuch file then the secondary structure is initialized
as all random coil.

Building Molecules

149

Save

Save As…

Transfer

Exit

Saves the sequence in the top window as a FASTA
sequence file (with extension SEQ). The secondary
structure is saved in a file with the same nameexcept for using SEC as the extension. This is thesame as Save As when a file name has not beenset.
Use this menu to set a file name and then save thesequence in the top window and its secondary
structure as in Save.
Use this menu to copy the sequence in the top window to the other (or second) sequence. This may
be displayed in the bottom window via the menu
item "Display/Other Sequence". A subsequentreading or creation of a different sequence into the
top window allows two sequences to be compared.
The sequence that has been transferred to the bottom window cannot be transferred back to the top
window.
Exits and terminates the Sequence Editor.

Edit Menu
The Edit menu contains the standard Windows clipboard-relatedcommands of Cut, Copy, Paste and Delete as well as commands forchanging secondary structure. Each of the commands for secondary structure apply to the selected residues in the top window.
Cut
Copy
Paste
DeleteSearch…

Search Next
Alpha Helix

150

Removes selected residues from the top window
and puts them into the clipboard.
Copies selected residues into the clipboard.
Pastes residues from the clipboard into the top window.
Removes selected residues from the top window
without placing them in the clipboard.
Searches for a specified subsequence in thesequence shown in the top window. The subsequence is specified by the dialog box brought upby this menu item.
Continues the search for the next occurrence of thesubsequence.
Changes the secondary structure of the selected
residues to alpha helix (denoted "h") with φ=-58°,
ψ=-47°.

Databases Menu
Left-Handed
Alpha Helix

Changes the secondary structure of the selected
residues to left-handed alpha helix (denoted "l")with φ=58°, ψ=47°.
Changes the secondary structure of the selected3-10 Helix
residues to 3-10 helix (denoted "e") with φ=-49°,
ψ=-26°.
Pi Helix
Changes the secondary structure of the selected
residues to pi helix (denoted "i") with φ=-57°,
ψ=70°.
Extended Beta
Changes the secondary structure of the selected
Sheet
residues to extended beta sheet (denoted "x") with
φ=180°, ψ=180°.
Parallel Beta
Changes the secondary structure of the selected
Sheet
residues to parallel beta sheet (denoted "p") with
φ=-119°, ψ=113°.
Anti-Parallel Beta Changes the secondary structure of the selected
Sheet
residues to anti-parallel beta sheet (denoted "a")with φ=-139°, ψ=135°.
Changes the secondary structure of two selected
Beta I Turnresidues to beta I turn (denoted "12") with φ1=-60°,
ψ1=-30°, φ2=-90°, ψ2=0°. This requires that two residues are selected.
Beta II Turn
Changes the secondary structure of two selected
residues to beta II turn (denoted "34") with φ1=-60°,
ψ1=120°, φ2=80°, ψ2=0°. This requires that two residues are selected.
Beta III Turn
Changes the secondary structure of two selected
residues to beta III turn (denoted "56") with
φ1=-60°, ψ1=-30°, φ2=-60°, ψ2=-30°. This requiresthat two residues are selected.
Random CoilChanges the secondary structure of the selected
residues to random coil (denoted "r"). If this is chosen then φ and ψ are assigned random values foreach residue when the system is sent to HyperChem.

View Menu
The view menu contains these items:

Building Molecules151

Databases Menu

Polarity

Displays the polarity or hydrophobicity of each residue in the bottom window. A non-polar residue isdesignated "n", a polar residue as "p", a negativelycharged residue as "-", and a positively-charged residue as "+".
Secondary Struc- Displays the secondary structure of each residue inture
the bottom window. An alpha helical structure isdesignated by "h", a left-handed alpha helix by "l",a 3-10 helix by "e", a pi helix by "i", an extended
beta sheet by "x", a parallel beta sheet by "p", ananti-parallel beta sheet by "a", a beta I turn by "12",a beta II turn by "34" a beta III turn by "56" and arandom coil by "r". These secondary structures are
realized when the sequence is put into HyperChem.
Displays a second sequence, possibly the same
Other Sequence
sequence, in the bottom window. Only active after
a File/Transfer operation has been performed. If a
new sequence is read in (the top window), then
the two sequences are different and can be compared in the two windows.
Bar Chart…
Displays the Residue Percentages dialog box with abar graph showing the percentage of each of the
20 amino acids in the sequence of the top window.
Double Clicking on the bar graph places it into the
clipboard.
Pie Chart…
Displays the Residue Percentages dialog box with apie chart showing the percentage of each of the 20
amino acids in the sequence of the top window.
The information displayed is the same as for Bar
Graph. Double clicking on the pie chart places it
into the clipboard.
Dayhoff Matrix… This menu is only active after File/Transfer. It displays the Dayhoff Comparison Matrix dialog box.
Diagonal Plot…
This menu is only active after File/Transfer. It displays the Sequence Length dialog box and then the
XY Plot dialog box.

152

Chapter 6

Databases Menu

HyperChem Menu
Clear

Equivalent to a File/New in HyperChem. Clears
the workspace in HyperChem for a new protein to
be sent to it.
Gets the primary and secondary sequence of thesystem currently displayed in HyperChem. See
below for a description of how the secondary structure is classified.
Sends a protein, described by its primary and secondary structure in Sequence Editor, to HyperChem. The secondary structure is used to create
the 3D atom coordinates in HyperChem.

Get

Put

Note: Put will set all backbone dihedral angles to canonical values, except for random coil, and will use HyperChem's templates
for all other internal coordinates. HyperChem structural information can be lost if you use Get followed by Put.

Classifying Secondary Structure
After a protein is read from HyperChem via the menu HyperChem/Get, the secondary structure for the sequence is classified
from the values of φ and ψ in the protein. The following (somewhat arbitrary) rules are followed:
StructureφxyOther Restrictions

165≤φ≤195

165≤ψ≤195

also minusa−180≤φ≤−50

80≤ψ≤180φ − ψ > 253, not x or 34

p−180≤φ≤−50

80≤ψ≤180φ − ψ < 253, not x or 34h−130≤φ≤−10−90≤ψ≤−10

not e, i, 12 or 56

Building Molecules

153

Databases Menul10≤φ≤9010≤ψ≤130

not 34e−59≤φ≤−39−36≤ψ≤−16

not 12 or 56i−67≤φ≤−47−80≤ψ≤−60

1−80≤φ≤−40−50≤ψ≤−10next is 2 and previous isp, x, a2−110≤φ≤−75−15≤ψ≤20

previous residue is 1

3

−80≤φ≤−40100≤ψ≤140

next is 4, previous is p,x, or a, and residue is G

460≤φ≤100−20≤ψ≤20

previous is 3 and residue is G

5−80≤φ≤−40−50≤ψ≤−10next is 6 and previous isp, x, a6−80≤φ≤−40−50≤ψ≤−10previous residue is 5

r

any

any

if is none of the above

Cancel Menu
This command is only active during a HyperChem/Get or HyperChem/Put. Clicking on Cancel will stop Sequence Editor immediately, but will not destroy any of the information which has
already been sent or received before the Cancel command is executed.

Help Menu

About…

154

Chapter 6

Invoke the About dialog box which displays version
and copyright information for Sequence Editor.

Databases Menu

Dayhoff Comparison Dialog Box
The Dayhoff Comparison Matrix Dialog Box shows a matrix of values which qualitatively reflect the probability or ease of substitution of one amino acid with another (in nature). Positive values
correspond to common substitutions, and negative values to rare
ones. The values in this table can be edited by clicking on a value
and typing in a substitute number.
Clicking on the Plot command button will display a three-dimensional bar graph of the values contained in the Dayhoff matrix.
When the graph is displayed, clicking on the Exit Plot command
button will return the display to the Dayhoff matrix.
Click on the Save command button to save any changes made to
the values in the Dayhoff matrix. These values are kept in the file
DAYHOFF.DAT in the LIBRARY directory.

Sequence Length Dialog Box And XY Plot Dialog
Box
The Sequence Length dialog box is used to specify the sequencelengths to be used when comparing the two sequences and thethreshold Dayhoff score for displaying a point on a diagonal plot.
Enter a sequence length as a number greater than one, and the
Dayhoff score for success as any number. When you click OK, theXY Plot Dialog Box will be displayed.
The XY Plot dialog box displays a diagonal plot for the current two
sequences, based on the current Dayhoff matrix. The module willthen compare two fragments, one from each sequence, of length
equal to the sequence length value entered above, adding the Dayhoff score for each pair of residues in the fragments, and if thescore for these fragments are greater than the desired Dayhoffscore, then a point is displayed on the diagonal plot, at a location
corresponding to the residue numbers of the two fragments. Sections of the two protein sequences which are similar will produce
a solid diagonal line on the plot. Sections which are dissimilar willproduce empty space. Insertions or deletions in the sequence of
one protein as compared to another will result in lines which are
not located on the central diagonal of the plot, but will be above
or below it.

Building Molecules

155

Databases Menu

Files
Sequence files use the FASTA file format with SEQ as the file extension. This format is a text file with a single line of comments followed by one or more lines containing one or more one-letter residue labels. The list of residues may run over several lines, butshould not contain characters other than valid one-letter aminoacid labels. The valid labels are: A, C, D, E, F, G, H, I, K, L, M, P, Q,
R, S, T, V, W and Y.
The secondary structure file, with the extension SEC, is a text filecontaining one character for each residue with the characters
being h, l, e, i, x, p, a, 1, 2, 3, 4, 5, 6 or r. The file may have one ormore lines. The number of characters should match the numberof residues in the SEQ file with the same name except for theextension.

Hints
You can create peptides with dihedral angles other than the canonical or random values if you also use the Amino Acids dialog boxof HyperChem. Starting from the beginning of the sequence,
select residues that you want to use canonical values for and thenuse HyperChem/Put to create those residues in HyperChem. For
the residues that you want to have non-canonical or non-random
values, switch to the HyperChem Amino Acids dialog box (displayed via the Databases/Amino Acids menu in HyperChem) andadd those residues. You can switch back to Sequence Editor when
you again want canonical angles.
You can also switch in the above way to use end groups or nonstandard residues that you might have added to the HyperChemtemplate files.
As with the HyperChem Amino Acids dialog box, only the repeating units are added. The ends can be "finished" either by startingand ending with appropriate blocking end groups (from the
Amino Acid dialog box of HyperChem) or by using the Database/Make Zwitterion menu in HyperChem.

Limitations
The diagonal plot should be used only for proteins with about 50
residues or more. With smaller proteins, there is not enough datato generate a meaningful plot.

156

Chapter 6

Databases Menu

You should note that the secondary structure obtained from theHyperChem workspace by the menu command HyperChem/Get
will be only an approximation. In particular, the beta III turn is
two residues of a 3-10 helix. Sequence editor distinguishes these
two by looking at the previous residue. If it is a beta sheet, then
the two residues are labeled '56'. If not, then they are labeled 'ee'.
Also, since one of the backbone angles is unavailable for each of
the end residues, their secondary structures are poorly defined.
Another example is glucagon, from the PDB file 1gcn
(PDB1GCN.ENT in the HyperChem SAMPLES directory).
Although most of this protein is alpha helix (approx. from T5 toM27), many of the backbone angles are far from the canonical values. Sequence Editor estimates the secondary structure to be:rhhrrhhrhhrhhrrhhrhhhhrhhrrlr.
Isolated residues with h, l, e or i structure, for example: rrrhrrr,
actually provide little useful information in general. It is common
practice to not consider a section of protein to be in a helical conformation unless 4 or more consecutive residues have the necessary backbone angles, for example: hhhh.

Nucleic Acids
Choose Nucleic Acids to construct polynucleotides (DNA and RNA)
from nucleic acid residues. These residues have standard chemical
structures.
In the Nucleic Acids dialog box, you can choose the secondary
structure for added residues (A, B, Z, or Other for your own conformational angles).
You can create a polynucleotide, starting at the 5′ or 3′ end, bychoosing from these nucleic acid residues:•

Four deoxyribonucleotides (monophosphate)•

Four ribonucleotides (monophosphate)•

A 3′ cap to block elongation•

A 5′ cap to block elongation

Note: Residues from this dialog box are not equivalent to nucleic
acids that you construct atom by atom. You can add new residues
to the Nucleic Acids dialog box or modify residues obtained fromthis dialog box (see “Adding New Residues” on page 739).
Building Molecules

157

Databases Menu

HyperChem links residues together in the order that you selectthem, starting from the 5′ end. This is the natural order for DNA
or RNA synthesis. If you want to build the polymer from the 3′
end, turn Backward on (✓) in the dialog box.
Caps prevent further addition of residues to either the 5′ or 3′ ends.
After adding a cap, additional residues begin another polynucleotide. If the polynucleotide has no cap, you can add more residues
later.
As you extend a polynucleotide, you can change these propertiesof the next residues that you add:•

Secondary conformation (A, B, Z, or Other).

•

Either a 2′ Endo or a 3′ Endo pucker for the sugar ring. The A
form of DNA normally contains deoxyribose sugar in the morestable C3′–endo form. The B form of DNA contains the C2′–
endo sugar.

•

Double-stranded. This adds the residue you select, plus its
complementary, hydrogen-bonded, base. HyperChem is
primarily concerned with base pairing; some bonds in thecomplementary strand might have incorrect bond lengths andsome base pairs might not have the correct twist angles. Use
geometry optimization to correct any errors in structure.

Caution: Do not use the Model Builder on a constructed polynucleotide. The Model Builder discards the geometry in these molecules and cannot accurately reproduce the structure.
These choices remain in effect until you make other choices. You
cannot change these properties after you add the residues.
For detailed instructions on building molecules from residues, see“Building Molecules from Residues” on page 492.

158

Chapter 6

Databases Menu

Nucleic Acids Dialog Box

HyperChem provides these nucleotide residues:dA

Deoxyadenosine 5′–monophosphate, a component of DNA.

dT

Deoxythymidine 5′–monophosphate, a component of DNA.

dC

Deoxycytidine 5′–monophosphate, a componentof DNA.

dG

Deoxyguanosine 5′–monophosphate, a component of DNA.

rA

Adenosine 5′–monophosphate, a component of
RNA.

rU

Uridine 5′–monophosphate, a component of RNA.

rG

Guanosine 5′–monophosphate, a component of
RNA.

rC

Cytidine 5′–monophosphate, a component of
RNA.

5CAP

A cap (–OH) for terminating a strand at its 5′ end.

3CAP

A cap (–OH) for terminating a strand at its 3′ end.

HyperChem gives you these choices for the next residues that you
add:
Helix Form

This gives the secondary conformation of polynucleotide strands. Each helix form has characteristic
torsional angles, twist (amount of rotation for eachresidue), and pitch (the height of one turn).

Building Molecules

159

Databases Menu

A Form

A right-handed helical conformation
found in dehydrated, double-stranded
DNA, with about 11 residues per turn.

B Form

A right-handed helical conformation
found in hydrated, double-stranded DNA,
with about 10 residues per turn.

Z FormA left-handed helical conformation foundin double-stranded DNA, with about 12
residues per turn. Alternate residues (oddand even-numbered) on one strand of Z
DNA have different torsion angles (see thenext table).

Other

Accepts your values for torsion angles in
the polynucleotide backbone (see following table).

Conf.

Alpha

Beta

Gamma

Chi

Delta

EpsilonZeta

A–74.82–179.158.9–158.9778.42–154.98–67.21

B–39.17–151.4430.89–95.44156.56159.19–98.97Za (odd)

47

179

–165

68

99

–104

–69

Za (even)

–137

–139

56

–159

138

–94

80

Other

± 180

± 180

± 180

± 180

± 180

± 180

± 180

a. Torsion angles for odd- and even-numbered residues in a strand of Z DNA.

160

Chapter 6Alpha(α) Torsion angle (see diagram following).
Acceptable range: ±360 degrees.

Beta(β) Torsion angle (see diagram following).
Acceptable range: ±360 degrees.

Gamma(γ) Torsion angle (see diagram following).
Acceptable range: ±360 degrees.

Chi(χ) Torsion angle (see diagram following).
Acceptable range: ±360 degrees.

Delta(δ) Torsion angle (see diagram following).
Acceptable range: ±360 degrees.

Databases Menu

Epsilon(ε) Torsion angle (see diagram following).
Acceptable range: ±360 degrees.

Zeta(ζ) Torsion angle (see diagram following).
Acceptable range: ±360 degrees.

αβ5′one nucleotide

γ
4′

δ
3′

ε
ζ

Sugar Form

3′

5′

4′

χ

2′ 1′

Conformations of the ribose ring.

2′ EndoC2′ is out of the plane of the ring, on thesame side as C5′.

3′ EndoC3′ is out of the plane of the ring, on thesame side as C5′.

DoubleStrandWhen this option is on (✓), HyperChem adds thecomplementary residue, according to WatsonCrick base-pairing rules, and constructs an antiparallel polynucleotide. You can switch between double strand and single strand to construct partiallybase-paired molecules.

Backward

When this option is on (✓), HyperChem starts
polymerization from the 3′ end, adding nucleotides to the 5′ end. This is opposite to the normal
direction of DNA or RNA synthesis. This choice

Building Molecules161

Databases Menu

affects an entire polynucleotide and you must set
it before starting a molecule.
Note: The Nucleic Acids dialog box stays on screen. You can leavethis dialog box in the workspace while you use the Tools or othermenu items (for example, Labels on the Display menu).

Add Counter Ions
Add Counter Ions places a sodium ion near each phosphate groupon a polynucleotide backbone. The Na+ ion is 1.688 Ångstroms
equidistant from each oxygen atom in a phosphate group.

counter ionsIf you choose Add Counter Ions and then add more residues, only
the original residues have counter ions. Choose Add Counter Ionsagain to add Na+ ions to the new residues.
Note: To remove Na+ ions, use Clear or Cut on the Edit menu.
If you store the system in a HIN file, the file also contains thecounter ions.

162

Chapter 6

Databases Menu

Crystal Builder
Overview
Crystal Builder is a module for reading, creating and viewing crystal structures within HyperChem. These structures can be saved,edited or calculations can be performed on them, just as for any
other HyperChem system.
The module works by writing a HIN file, and then sending a command to HyperChem to read in the file. This file is set to:
HCCRYSTL.$$$ in your LIBRARY directory.
Crystal Builder features:•

Easy-to-use interface for building atomic crystals of the basic
crystal types: cubic, tetragonal, orthorhombic, rhombohedral,
hexagonal, monoclinic and triclinic, plus fcc, hcp and bcc.

•

Sample crystal structures, such as NaCl, CsCl, CaF2, PbS, MgO,
ZnS, etc.

•

Ability to edit the atom data, including their fractional coordinates, before creating the crystal.

•

Ability to view various crystal planes, defined by their Miller
indices.

•

Ability to read and write files in the Cambridge Structural
Database format (FDAT) as well as HyperChem's HIN format.

The Crystal Builder executable file is HCCRYSTL.EXE, installed inyour Program directory. The help file is HCCRYSTL.HLP.

Tutorials
The following tutorials demonstrate some of the features of Crystal
Builder.

1. Creating A Crystal Of Sodium Metal
This tutorial illustrates the procedure for creating a crystal
structure of sodium:1. Start HyperChem, then start Crystal Builder by selecting Crystals… from the Databases menu.

Building Molecules163

Databases Menu

2. Under Crystal Type, click on Cubic to select a cubic unit cell.
3. Enter the number of unit cells: 3 × 3 × 3 by entering the value
3 into each of the three edit boxes.
4. Under Unit Cell Parameters, enter the unit cell length for Na:
4.225 in the first box next to "a, b, c =". The values of b andc will be automatically set to 4.225 also.
5. Enter the number of atoms in the Na (bcc) unit cell: 2 in theappropriate box.
6. Click on the Edit Atom Data… command button to bring up
the Atom Data dialog box.
7. In the Atom Data dialog box, the data for atom number 1
should be displayed. Change the atom name from "-" to"NA1". Change the element to "Na".
8. Press the up arrow in the spin button or enter 2 as the atom
number, and the data for atom 2 will be displayed. Change a,b and c each from 0 to 0.5. Change the atom name from "-" to"NA2". Click on the Close command button. The module will
return to the main window.
9. Choose the menu command: HyperChem/Put to send thestructure to HyperChem, or alternatively, press the Toolbar
button with an arrow pointing towards a beaker of green fluid.
10. The 3 × 3 × 3 sodium crystal will appear in the HyperChem
window.
11. To view the [1 1 1] crystal plane, choose the View/Crystal Facecommand in Crystal Builder or click on the View button of thetoolbar. A dialog box will appear. Enter the value 1 into eachof the edit boxes for h, k and l, and press OK, and HyperChem
will rotate the crystal and set the clipping plane to display the[1 1 1] face. Use the Display/Rendering command in HyperChem to change the rendering to spheres (CPK model).
12. Save the unit cell by choosing the File/Save As… menu command. Enter a name for the new file: NA.CSD. Press OK, andthe unit cell will be saved in the Cambridge Crystallographic
Database format.
13. Save the entire crystal by clicking in the HyperChem window,
and selecting the File/Save As… menu command in HyperChem. Save the file as: NA.HIN.

164

Chapter 6

Databases Menu

14. Clear Crystal Builder by choosing the File/New menu command. Read in the file NA.HIN with the File/Open command.
The Open File dialog box will display a list of CSD files.
Change to HIN format by clicking on the down arrow under"List Files of Type:" and clicking on "HyperChem (*.HIN)".
Then click on OK. Crystal Builder reads the data in the HIN
file and from it makes a unit cell containing 54 atoms. Selectthe HyperChem/Put command to send this single unit cell crystal to HyperChem. It should look the same as the crystal created above in step 9.

2. Creating A Crystal Of Sodium Chloride
This tutorial illustrates the procedure for creating a crystal
structure of sodium chloride:
1. Start HyperChem, then start Crystal Builder by selecting Crystals… from the Databases menu.
2. Press the Samples… command button to bring up the Sample
Crystal Structures dialog box.
3. Select the crystal type NaCl by clicking on the appropriate button, then press OK.
4. Enter the number of unit cells: 3 × 3 × 3 by entering the value
3 into each of the three edit boxes. Do not edit the unit cellparameters: Crystal Builder has set them to appropriate values
for NaCl.
5. Choose the menu command: HyperChem/Put to send thestructure to HyperChem, or alternatively, press the Toolbar
button picturing an arrow pointing towards a beaker of green
fluid.
6. The 3 × 3 × 3 NaCl crystal will appear in the HyperChem window.
7. To view the [1 1 1] crystal plane, choose the View/Crystal Facecommand in Crystal Builder or click on the View button of thetoolbar. A dialog box will appear. Enter the value 1 into eachof the edit boxes for h, k and l, and press OK, and HyperChem
will rotate the crystal and set the clipping plane to display the[1 1 1] face. Use the Display/Rendering command in HyperChem to change the rendering to Spheres (CPK model).

Building Molecules

165

Databases Menu

Please see the Reference section for more detailed descriptions of
the various commands and dialog boxes.

BackgroundThe structure of a crystal is that of an infinitely repeating unit cell.
Thus, to describe a crystal structure, it is only necessary to specify
the structure of a unit cell. A unit cell has the following components:a) shape: defined by the lengths of its sides (a, b, c) and its internalangles α (the angle between the b and c directions), β (the angle
between the a and c directions) and γ (the angle between the a andb directions).
b) contents: defined by the locations of the atoms within the unit
cell. These locations are usually reported in fractional coordinates(x, y, z) where each value is between zero and one, in units of (a,b, c).
Crystal Builder can build the following crystal types:
Cubic
Tetragonal
Orthorhombic
Rhombohedral
Hexagonal
Monoclinic
Triclinic
Hexagonal ClosePacked

Face-Centered
Cubic

166

Chapter 6

The cubic crystal unit cell has a = b = c and α = β =γ = 90°.
The tetragonal unit cell has a = b ≠ c and α = β = γ= 90°.
The orthorhombic unit cell has a ≠ b ≠c and α = β= γ = 90°.
The cubic crystal unit cell has a = b = c and α = β= γ ≠90°.
The hexagonal unit cell has a = b ≠ c and α = β =90°, γ = 120°.
The monoclinic unit cell has a ≠ b ≠ c and α = γ =90° ≠ β.
The triclinic unit cell has a ≠ b ≠ c and α ≠ β ≠ γ≠ 90°.
The hexagonal close-packed (hcp) unit cell has a =b, c = a • √(8/3), α = β = 90°, and γ = 120°, with 2
atoms per unit cell. Crystal Builder uses an orthorhombic non-primitive unit cell to represent hcp,with 4 atoms per unit cell, b = a • √(3), c = a •√(8/3), and α = β = γ = 90°.
The face-centered cubic (fcc, ccp) crystal type has
4 atoms per unit cell, with a = b = c and α = β = γ =90°.

Databases Menu
Body-Centered
Cubic

The body-centered cubic (bcc) crystal type has 2
atoms per unit cell, with a = b = c and α = β = γ =90°.

The crystal information used in Crystal Builder comes from thefollowing sources:
F. A. Cotton, and G. Wilkinson, Advanced Inorganic Chemistry, 5thEd., John Wiley & Sons Ltd. (New York, 1988) ISBN 0-471-849979, Chapter 1.
J. D. H. Donnay, Editor, Crystal Data, Determinative Tables, 2nd Ed.,
American Crystallographic Association (Washington, 1963).
C. Kittel, Introduction to Solid State Physics, 5th Ed., John Wiley &Sons (New York, 1976) ISBN 0-471-49024-5, Chapter 1.
I. N. Levine, Physical Chemistry, 3rd Ed., McGraw-Hill (New York,
1988) ISBN 0-07-037474-0, Chapter 24.
H. D. Megaw, Crystal Structure, Saunders (1973).
C. N. R. Rao, Editor, Solid State Chemistry, Marcel Dekker (NewYork, 1974) Chapter 1.
A. F. Wells, Structural Inorganic Chemistry, 5th Ed., Clarendon Press(Oxford, 1984) ISBN 0-19-855370-6.

Reference
This section describes the details of the main window, menus, dialog boxes and the toolbar.

Main Window
Use the main window to specify the type of crystal to be created inHyperChem.

Crystal Type

Number of unit
cells

Click on the button next to the type of crystal you
wish to create. (See Background section for a
description of the available crystal types.)Enter the desired number of unit cells in each direction.

Building Molecules

167

Databases Menu
Place Atoms
inside Periodic
Boxa, b, cα, β, γAtoms per unit
cell
Edit Atom Data

Samples…

Click to toggle whether or not to place the atomsof the crystal inside a periodic box in HyperChem.
Not available for rhombohedral, hexagonal, monoclinic or triclinic unit cells.
Enter the unit cell lengths in Ångstroms.
Enter the unit cell angles in degrees.
Enter the number of atoms per unit cell. This number is not adjustable if one of the hcp, fcc or bcc
unit cell types is selected.
Press this command button to activate the Atom
Data dialog box, where you can enter information
about each atom in the unit cell.
Press this command button to invoke the Sample
Crystal Structures dialog box, where you can selectone of the sample crystals for display.

File Menu
Use the File menu for tasks involving the handling of files. The
File menu contains these items:

New
Open…

Save As…

Exit

This command deletes any previous values for theatoms per unit cell and atomic positions.
This command brings up the File dialog box, where
you can select a file (containing unit cell data) toload into Crystal Builder. Crystal Builder can read
and write files in HIN format or Cambridge Structural Database (CSD) format.
This command brings up the File Save dialog box,
where you can select a file name into which theunit cell data will be saved. Crystal Builder canread and write files in HIN format or Cambridge
Structural Database format.
Use this command to exit Crystal Builder.

View Menu
Use the View menu to control the direction of view and renderingof your crystal in HyperChem. The View menu contains these
items:

168

Chapter 6

Databases Menu

Crystal Face…

Disks

Spheres

Periodic Box

ToolbarThis command brings up the View dialog box inwhich the user can enter the Miller indices of acrystal face to be viewed.
This command allows the user to specify disks rendering for the next crystal. The change only takes
effect when a new crystal is created. To change therendering of the crystal currently displayed inHyperChem, use the Display/Rendering commandin HyperChem.
This command allows the user to specify spheres
rendering for the next crystal. The change only
takes effect when a new crystal is created. Tochange the rendering of the crystal currently displayed in HyperChem, use the Display/Renderingcommand in HyperChem.
This command toggles the display of the periodic
box in HyperChem (if present). The change only
takes effect when a new crystal is created. To toggle the display or hiding of the periodic box inHyperChem with immediate effect, use the Display/ Show Periodic Box command in HyperChem.
Note that HyperChem can only display cubic, tetragonal and orthorhombic boxes.
This command toggles the display of the Toolbar.
Each button on the Toolbar serves as a shortcut tothe Menu commands. See below for a complete
description.

HyperChem Menu
Use the HyperChem menu to exchange atoms and crystals with
HyperChem. The HyperChem menu contains these items:
Get

Put

Receive from HyperChem the atom positions andbox lengths of the currently displayed system, andcreate a crystal unit cell from them.
Send the crystal that is currently specified in Crystal
Builder to HyperChem.

Building Molecules

169

Databases Menu

Help Menu
Use the Help menu to gain access to the on-line Help system for
Crystal Builder. The Help menu contains these items:

Contents
Overview

Using Help
About…

Use this command to display the contents page foron-line help in Crystal Builder.
Use this command to display an overview of the
Crystal Builder module, including an example session.
Use this command to display help on how to use
on-line help.
This command activates the About dialog Box,
which will display information about your copy of
Crystal Builder.

Atom Data Dialog Box
Pressing the Edit Atom Data command button on the main window brings up the Atom Data dialog box. Use this dialog box toenter data about the atoms contained in the unit cell.
atom number

a, b, cAtom Name

Element

170

Chapter 6

Enter the number of the atom you wish to edit, orpress the up/down arrows on the spin control toincrement/decrement the atom number.
Enter the atom's position within the unit cell in
fractional coordinates. Each value should begreater than or equal to zero and less than one.
(Crystal Builder allows a greater range of values for
CSD files to allow for symmetry-related positions.)
Enter a name for the atom, or accept the default
value of "-". The name can have up to four characters, and must not contain any spaces or quotes.
Enter the atomic symbol for the element (up to
three characters).

Databases Menu
Atom Type

Charge

Close
Help…

Enter the MM+ atom type for this atom (up to fourcharacters). The default is "**", which means an
unknown type. If you wish to perform a calculationin HyperChem on a crystal, but are not sure of
appropriate atom types, build the crystal without
types, then use the Build/Calculate Types command in HyperChem to assign types.
Enter the charge associated with the atom, in unitsof electron charge. These charges will be used bymolecular mechanics calculations, and do not need
to be integers.
Use this command button to stop editing atom
data and exit this dialog box.
Invoke On-line Help about the Atom Data dialogbox.

Samples Dialog Box
Clicking on the Samples… button in the main window brings up
the Samples dialog box. This dialog box lists a number of sample
crystal structures which can be loaded into HyperChem. To use
this dialog box: select a crystal type and press OK.
The following crystal structures are available:
NaCl

The NaCl (rock salt) crystal has a cubic unit cellwith a = 5.63 Å, 2 atom types and 8 atoms per unit
cell: four of each element. The atoms of each typeform a bcc lattice.
CsCl
The CsCl crystal has a cubic unit cell with a = 4.11
Å and 2 atoms per unit cell: one of each type.
CaF2
The CaF2 (fluorite) crystal has a cubic unit cell witha = 5.43 Å and 12 atoms per unit cell.
Diamond
The diamond crystal has 8 atoms per unit cell, witha = 3.56 Å. In diamond, the atoms are linked bycovalent bonds. In Crystal Builder, these bonds
have been omitted.
PbS
PbS (galena) crystallizes in an NaCl-type structure,with a = 5.92 Å.
MgO
MgO crystallizes in an NaCl-type structure, with a =4.2 Å.
CuZn (beta brass) CuZn (beta brass) crystallizes in a CsCl-type structure, with a = 2.94 Å.

Building Molecules

171

Databases Menu
RbCl (190°C)
ZnS (zincblende)ZnS (wurtzite)

AgI
CuCl
Argon
Coppr
Gold
SodiumNbO

Zinc
RutileSpinelPerovskite

PtS

172

Chapter 6

RbCl crystallizes in a CsCl-type structure at 190°C,
with a = 3.74 Å.
ZnS (zincblende) crystallizes in a cubic unit cellwith 8 atoms and a = 5.4093 Å.
ZnS (wurtzite, sphalerite) crystallizes in a hexagonalunit cell with 8 atoms per unit cell, and a = 3.823
Å, c = 6.2565 Å.
AgI crystallizes in a zincblende-type structure, witha = 6.47 Å.
CuCl crystallizes in a zincblende-type structure,with a = 5.41 Å.
Ar (argon) crystallizes in an fcc lattice, with a = 5.31
Å at 4°K.
Cu (copper) crystallizes in an fcc lattice, with a =3.61 Å.
Au (gold) crystallizes in an fcc lattice, with a =4.0786 Å.
Na (sodium) crystallizes in a bcc lattice, with a =4.225 Å.
NbO (niobium oxide) crystallizes in a NaCl-type
structure with vacancies at the corners and at thecell center, with 6 atoms per unit cell, and a =4.2108 Å.
Zinc (Zn) crystallizes with the hcp structure, with a= 2.6 6Å, c = 4.94Å.
Rutile (TiO2) has 6 atoms per unit cell, with a =4.5937 Å, c = 2.9618 Å. The Ti atoms form a bodycentered tetragonal crystal array, with each Ti surrounded by a octahedron of O ions. Each O ion issurrounded by 3 Ti atoms in a plane.
Spinel (MgAl2O4) has 56 atoms per unit cell, with a= 8.124 Å. The O atoms form a bcc lattice, with
1/8 of the tetrahedral holes (there are 2 per Oatom) containing Mg atoms, and 1/2 of the octahedral holes (there is 1 per O atom) containing Al
atoms.
Perovskite (CaTiO3) has 5 atoms per unit cell, witha = 5.367 Å, c = 5.4439 Å. The Ca and O atoms
form a bcc lattice, with Ti atoms in the octahedral
holes between O atoms.
PtS (platinum sulfide) crystallizes in a tetragonalunit cell with 8 atoms per cell, and a = 3.47 Å, c =6.1096 Å.

Databases Menu
OK
Help…

Accept the current crystal type, and exit this dialog
box.
Invoke help about the Samples dialog box.

View Dialog Box
Choosing View/Crystal Face from the menu bar in the main window, or clicking on the View button on the toolbar, brings up theView dialog box. Use this dialog box to choose a crystal face fordisplay by entering the values of its Miller indices [h k l]. Crystal
Builder will then rotate the crystal in the HyperChem display, andset the clipping plane to pass through the center of the displayed
system, so that the desired crystal face is shown.

Choose Structure Dialog Box
If the Cambridge Structural Database file which has been chosen
for reading has more than one structure within it, then the Choose
Structure Dialog Box will appear. Choose which structure to readby clicking on its name in the list, and then pressing the OK button.

About Dialog Box
Choosing Help/About from the menu bar in the main form brings
up the About dialog box. This form displays information about
your copy of Crystal Builder.

ToolbarThis section provides an explanation for each of the Toolbar Command Buttons in Crystal Builder. The toolbar command buttons
provide shortcuts to commands accessible in the menus.

ButtonCorresponding Menu
Command:

Action:File/New

Clears unit cell.

Building Molecules

173

Databases Menu

174

Chapter 6

File/Open

Open HIN or CSD file.

File/Save As

Save unit cell as HIN or CSD.

(none)

Switch to sticks rendering.

View/Disks

Switch to disks rendering.

View/Spheres

Switch to spheres rendering.

View/Crystal Face

Invoke View dialog box.

HyperChem/Get

Get unit cell from HyperChem.

HyperChem/Put

Send crystal to HyperChem.

Help/Contents

Start the on-line help, in theContents section.

Databases Menu

Hints
1. Remember that the size of a crystal will increase rapidly with
the number of unit cells.
2. If you build a crystal by entering atomic positions, Crystal
Builder does not guess where bonds should go. You can, however, use HyperChem's facilities to make a guess at the bondingin your structure. Once you have put your structure into
HyperChem, save it as a Z-matrix (ZMT) file, and read this filein again. The HyperChem Z-matrix file reader includes abond-inferring routine. HyperChem also allows you to estimate the position of hydrogen atoms, often not present incrystal structures, by using the Add hydrogens item under the
Build menu.

Sugar Builder
Overview
The Sugar Builder will allow you to build polysaccharide structuresin a manner similar to the amino acids and nucleic acids databasesof HyperChem. You may create your own residues, which neednot be saccharides, and use Sugar Builder to link them together.
Sugar Builder features:•Templates for 32 common monosaccharides including aldoses
and ketoses, including D, L, alpha, beta and acyclic forms.

•

Ability to add common blocking groups, including OAc and
NAc.

•

Ability to chain monosaccharides together to form polysaccharides.

•

A parameterized AMBER force field for polysaccharides(aldoses).

•

Ability to connect two chains together so as to form branchedpolysaccharides or proteoglycans. Two chains of any type ofresidue can be linked, so this could even be used to create abranched polypeptide.

•

Ability to add up to 21 user-defined residues to the database.
Building Molecules

175

Databases Menu

The following files are included with your software distribution:

HCSUGAR.EXE*.HIN

AM90S*.TXT

AMBERS.PARThe Sugar Builder module, in your Program directory.
A number of hin files, each of which contains amonosaccharide residue. These are stored in the
LIBRARY subdirectory of your HyperChem directory.
Parameter files for the polysaccharide force field,
held in the same directory as your other HyperChem parameter files.
A compiled parameter file for the polysaccharide
force field, held in the same directory as yourother HyperChem parameter files. If you change
AMBERTYP.TXT to other than the original
supplied with HyperChem, you must recompile
this file.

Tutorial
This tutorial illustrates the procedure for creating poly(1→4)-α-DGlucose:
1. Start HyperChem, then start Sugar Builder. This may be doneby clicking on the Saccharides menu item of the Databases
menu in HyperChem.
2. Use the Add/Aldoses menu command to bring up the Aldoses
dialog box.
3. Select the D and α options to select the D isomer and α anomer.
4. Choose the Glucose command button to create a glucose residue in HyperChem.
5. Choose the 1→4 connection type by selecting it from the list.
6. Change φ and ψ to 48.05 and -20 by entering these numbers intheir edit boxes, respectively.
7. Repeatedly click on the Glucose command button, once foreach residue you wish to add to the chain.
8. Switch over to HyperChem and view the polysaccharide.
176

Chapter 6

Databases Menu

For more detailed information, please see the Reference section for
descriptions of the various commands and dialog boxes.

Background
Polysaccharides are naturally occurring macromolecules containing building blocks of cyclic sugars connected by O-glycosidic
linkages. The building blocks, or monomers of polysaccharides arecalled monosaccharides. The most common monosaccharide innature is D-glucose (OCH(HCOH)4CH2OH). The basic monosaccharides all have the formula (CH2O)n, where n ≥ 3. The carbon
atoms form a linear chain, all but one of them connected to an OH
group. The one without an OH is bonded to a carbonyl oxygen
instead. The location of the carbonyl in the chain determines thetype of residue: if it is at the end of the chain then the monosaccharide is an aldehyde derivative, and called an aldose; if it is notat the end, then it is a ketone derivative, and called a ketose. The
carbon atoms of the chain are numbered 1 to n, starting from theend closest to the carbonyl group.
Monosaccharides can exist in a cyclic form, known as a hemiacetalor hemiketal. In the case of glucose, the alcoholic hydroxyl groupat carbon atom 5 can react with the aldehydic carbon atom 1 toform a 6-membered ring structure known as a pyranose. The pyranose form of D-glucose is called D-glucopyranose. For ketoses,
the carbonyl carbon 2 may react with the alcoholic hydroxyl atcarbon atom 5 to form a five-membered ring, called a furanose.
The cyclization to pyranoses and furanoses creates an extra chiral
center at carbon 1. Thus, cyclic monosaccharides can exist as two
different stereo isomers, or anomers, known as α and β, and carbon
1 is known as the anomeric carbon.
The linking of monosaccharide units to form polysaccharides
always occurs through the anomeric carbon. The residue at theend of the chain containing an unlinked anomeric carbon is
known as the reducing sugar, or the reducing end. The anomericcarbon atom of the reducing end can react with any one of thehydroxyl groups of another monosaccharide, to form what iscalled an O-glycosidal linkage. The linkage is named after thenumbers of the associated carbon atoms, for example, if the anomeric carbon of one aldose residue reacts with the hydroxyl groupat carbon atom number 4 of a second residue (a common type oflinkage), then this link is called 1→4. So, for example, maltose,which has two α-D-glucopyranose residues linked 1→4, is also

Building Molecules

177

Databases Menu

known as O-α-D-glucopyranosyl-(1→4)-α-D-glucopyranose.
Starch (amylose) is a long unbranched chain of 1→4 linked α-Dglucose residues.
Although monosaccharides have only one reducing end, they dohave several locations which can link to the reducing end ofanother monosaccharide, and this leads to branched chains. Amylopectin is an example: the backbone is made of 1→4 linked polyα-D-glucose, and at random points along the chain are branch
points where the reducing end of another poly-(1→4)-α-D-glucose
chain has linked to carbon 6, forming an α(1→6) link.
Most of the information used to create this module was taken
from:
G. O. Aspinall, Editor, The Polysaccharides, Vol. 1, Academic Press(New York, 1982) ISBN 0-12-065601-9 (v. 1).
A. L. Lehninger, Biochemistry, 2nd Ed., Worth Publishers Inc. (NewYork, 1979) ISBN 0-87901-047-9, Chapter 10.
The AMBER force field for polysaccharides (aldoses) used here is
described in: S. W. Homans, Biochemistry 29, 9110 (1990).

Reference
This section describes the main window, menus and dialog boxesof the Sugar Builder module.

Main Window
The main Sugar Builder window contains menus of commands(see below for descriptions), text boxes showing the number of residues which have so far been added to HyperChem, and thesequence of the residues added to HyperChem.

File Menu
The File menu is used for clearing HyperChem, invoking the Link
dialog box and restoring the HyperChem display. It contains these
items:New

178

Chapter 6

Clears the main window and sends a File/New
command to HyperChem.

Databases Menu
Link Molecules

Refresh Screen

Exit

Invokes the Link dialog box, in which you canselect the two atoms which will link two molecules
together. This may be used to link any two atoms
using a geometry that you can specify.
Restores the display of the HyperChem workspace. Use this to redisplay the HyperChem workspace if a DDE or other error occurs in Sugar
Builder, and the display in HyperChem remains disabled. (Sugar Builder temporarily disables theHyperChem display for improved performance
when using DDE.)
Use this command to exit the Sugar Builder module.

Add Menu
The Add menu is used to bring up the dialog boxes for choosing
and simple linking of saccharides, end groups and user-definedresidues.
Aldoses
Ketoses
Derivatives

End Groups

User

Starts the Aldoses dialog box, containing buttons
for creating and linking aldose residues.
Starts the Ketoses dialog box, containing buttons
for creating and linking ketose residues.
Starts the Derivatives dialog box, containing buttons for creating and linking various residues of saccharide derivatives.
Starts the Blocking Groups dialog box, containing
buttons for creating and linking various blocking
groups to replace the OH groups of saccharide residues.
Starts the User dialog box, containing buttons foradding user-defined residues.

The following residues are available in the D isomeric form only:
2-deoxy-D-ribose
apiosefructose
glucosamine
idose

alloseerythrosegalactosamine
glucoselyxosealtroseerythrulose
galactosegulosemannoseBuilding Molecules

179

Databases Menu
N-acetyl-galactosamine
ribosetagatose
xyloseN-acetyl-glucosamine
ribulosetalosexylulosepsicosesorbosethreoseThe following residues are available in the L isomeric form only:
fucoserhamnose

The following residues are available in the both the D and L isomeric forms:
arabinosegalactose

It is possible to create the missing isomer of one of the above residues so that Sugar Builder will recognize it, without using up oneof the user-defined buttons.
The following example will illustrate how to create an L-glucose
residue file:
1. Read the file ADGLC.HIN in the LIBRARY directory into
HyperChem.
2. Shift-click with the HyperChem drawing tool on the atom
named "C1" (atom number 6) to change its chirality.
3. Click on File/Save As… to save the file. Give the new file thename: "ALGLC.HIN", and edit the comment field to say:"alpha-L-glucopyranose".
4. The L-glucose residue will now be available from the Add
Aldoses dialog box.

Help Menu
This menu is used to access the About dialog box.

180

Chapter 6

Databases Menu

About

This command activates the About dialog box,
which will display version and copyright information about Sugar Builder.

Aldoses Dialog Box
This dialog box contains command buttons to create the following
saccharide residues: glucose, galactose, mannose, allose, altrose,
gulose, idose, talose in aldopyranose form, plus ribose, arabinose,
xylose and lyxose in aldofuranose form, and erythrose and threosein open-chain form. The dialog box will stay in place until you
dismiss it, by using the command button in the top left corner ofthe window or by using ALT+F4 on the keyboard.

Pyranoses

Furanoses

Acyclics

Conformation
Isomerφ, ψ, ωType of Link

Command buttons for sending an aldopyranose
residue to HyperChem. The residue will have theconformation currently specified in the Conformation area of the dialog box.
Command buttons for sending an aldofuranose
residue to HyperChem. The residue will have theconformation currently specified in the Conformation area of the dialog box.
Command buttons for sending an acyclic residue
to HyperChem. These residues can be linked
together by using the Link/Molecules menu item.
Enter the conformation of the residue to be added,
including: acyclic, α, or β.
Choose either the D or L isomer. Some rare L isomers are not available, but templates for these canbe easily created from the D isomers (see below for
details).
Enter the orientation angles. φ is the H1-C1-O1-Cn
angle and ψ is the C1-O1-Cn-Hn angle. ω exists only
for 1→6 links, and is defined as the O1-C6-C5-H5
angle.
Select the linkage type from the list.

Building Molecules

181

Databases Menu

Ketoses Dialog Box
This dialog box contains command buttons to create the following
saccharide residues: psicose, fructose, sorbose and tagatose in
ketofuranose form, plus ribulose , xylulose and erythrulose inopen-chain form. This dialog box functions in the same manneras the Aldoses dialog box (see above for description). The dialog
box will stay in place until you dismiss it.

Derivatives Dialog Box
This dialog box contains command buttons to create the following
saccharide residues: glucosamine, galactosamine, N-acetylnuraminic acid, N-acetyl muramic acid, N-acetyl glucopyranoside,
N-acetyl galactopyranoside, inositol, 2-deoxy-ribose, rhamnose,
fucose and apiose. This dialog box functions in the same manneras the Aldoses dialog box (see above for description). The dialog
box will stay in place until you dismiss it.

Blocking Groups Dialog Box
This dialog box contains command buttons to create the following
blocking groups: H, NH2, =O, COO-, methyl, lactyl, O-methyl, Nmethyl, O-acetyl, N-acetyl, phosphoric acid, sulphate, N-sulphonic acid.

Location

Blocking Groups

Choose the location for the blocking group by
selecting first the residue (from the list) and thenthe atom (from the list). This location must containan OH group, which will be replaced by the blocking group.
Add the desired blocking group to the position
selected in Location, by pressing the button containing the name of the blocking group.

User Dialog Box
This dialog box contains command buttons for user-defined residues. Definitions for the buttons are kept in the file: USER.BTN in
the LIBRARY directory.

182

Chapter 6

Databases Menu

Conformation

Enter the desired conformation of the residue when
it will be added to the system in HyperChem. See
the Aldoses dialog box for a description. Note thatthe isomer options are not available. Only the isomer contained in the user file can be added.
Define New Resi- Assign a command button to a residue, and add it
due
to the USER.BTN file.
Edit Residue Name Change the name displayed on a button and/or
the name of the file containing the residue associated with a button.

To create a new residue:
1. Draw and build the residue or modify an existing residue inHyperChem.
2. Create the following named selections:
Name
_Cn
_Hn
_On
_HOn

Atom Contents
Cn
Hn
On
HOn

(where n is 1…6)

Note that if, for example, H3 has been substituted by a CH2OH
group, then the named selection _H3 must contain the C atomof the CH2OH group.
3. Save the new residue in a HIN file. Edit the file to give the residue a name. If the residue was created by modifying an existing residue, simply change the line:

res 1 <old residue name>to:res 1 <new residue name>where <new residue name> is not more than four characterslong. If the residue was not created from an existing residue,
you will have to add a res line and an endres line — see the HIN

Building Molecules

183

Databases Menu

Files appendix in the HyperChem Reference Manual. Make
sure that there is only one residue in the file.
4. Read the new file back into HyperChem.
5. In Sugar Builder, choose the menu command Add/User tobring up the User dialog box.
6. Choose the Define New Residue command button.
7. A button for the new residue will be added to the User dialog
box.
To edit the contents of a residue command button:
1. Choose the Edit Residue Name command button.
2. Specify which button you wish to change by entering the text
shown on its face. Note that case is significant.
3. Enter the name of the file which contains the residue you wish
to associate with this particular button.
4. Enter a name for the residue (up to four characters) which willappear on the face of the button.
5. Enter the residue type number, or enter -1 to have this number
computed by Sugar Builder. The type number is created as follows. Take the one of the following numbers which corresponds to the residue type:
Residue Type
Aldose, Acyclic
Ketose, Acyclic
Heptose, Acyclic
Octose, Acyclic
Nonose, Acyclic
Ketofuranose
Aldofuranose
Heptafuranose
Octafuranose
Nonafuranose
Aldopyranose
Heptapyranose
Octapyranose
Nonapyranose

184

Chapter 6

Type Number
2,000
3,000
4,000
5,000
6,000
7,000
8,000
9,000
10,00011,00012,00013,00014,00015,000Databases Menu
Other

0

then add to it as many of the numbers below which are appropriate:
Residue Type
1-substituted
2-substituted
3-substituted
4-substituted
5-substituted
6-substituted
7-substituted
8-substituted
9-substituted

Type Number
1
2
4
8
16
32
64
128
256

Here are some examples:
GlucoseFructose
N-acetyl Glucosamine
N-acetylneuraminic acid
2-deoxy-ribose

12,000
7,000
12,002
14,0108,002

Link Dialog Box
Choosing the Link menu command in the main window will bringup the Link dialog box. Sugar Builder will scan the HyperChem
workspace and display two lists of atoms, one for each chain, eachdisplaying an atom name and its corresponding residue. Choose
one atom from the list of atoms in chain 1 and one atom from thelist for chain 2. A bond will be drawn between these two atoms.
If necessary, a hydrogen atom will be deleted from each atom. If
one of the atoms has a full complement of neighbors, none ofwhich is a hydrogen, then the link command will fail, with the "I
don't know how to connect atom …" message. If it is necessary to
make a link to an atom of this type, then one of the atoms bonded
to it will have to be deleted by hand within HyperChem before the
Link command will be successful. Choosing OK command button

Building Molecules

185

Databases Menu

in the Link dialog box will bring up the Link Chains: Orientation
dialog box.

Link Chains: Orientation Dialog Box
When the Link Chains: Orientation dialog box is first displayed,
Sugar Builder will send a command to HyperChem to connect thetwo atoms defining the link, and then will query HyperChem forall of the bond bends and bond torsions that pass through the newlink bond. These are displayed in the dialog box, along with the
new bond. You can choose any one of the angles by clicking on it
in the list box. The current value of the angle will be displayed,
and you can enter a new desired value. Pressing the Apply command button next to the value will send a command to HyperChem to change the angle to the new, desired value. Pressing the
Apply All command button will cause HyperChem to build thelink using all of the desired values.

About Dialog Box
Choosing the Help/About menu item brings up the About dialog
box, which will display version and copyright information about
Sugar Builder.

Limitations
Sugar Builder adds residues to the chain by sending a DDE command to HyperChem to execute a File/Merge on the file containing
the next residue. This means that when the user is finished building a polysaccharide, the current file name is set to the file nameof the first residue in the chain. If a File/Save command is then performed in HyperChem, the original residue file could be overwritten. Therefore, the residue files have been made read-only. If you
wish to change any of these files, you can use the File/Properties
menu command in the File Manager to remove the read-only
restriction.
The force field parameters supplied with this module are sufficient
to simulate only a small fraction of the residues supplied with thismodule. You may encounter a number of missing parameterswhen performing a calculation. However, it will often be possible
to create the missing parameters by comparison with parameters
for similar atom types.

186

Chapter 6

Databases Menu

Polymer Builder
To build a polymer, one regards the arbitrary single molecule in theworkspace as a potential monomer. One takes the workspace molecule, defines head and tail parts of the molecule and defines a torsional definition and angle that will be used to connect head to tailrepeatedly until a polymer of the required length is obtained.
The polymer builder only builds polymeric structures, it does notanalyze their properties beyond what HyperChem does for any
molecule. Once the polymeric stucture of chosen length is built it
constitutes an ordinary molecule as far as HyperChem is concerned.

Monomer Specification
Head and TailThe monomers that can be used to build a polymer must have ahead, referred to as "a", and a tail, referred to as "b". That is themonomer must have the form, b - R - a. Any molecule with at least
three atoms can be a monomer.

Polymerization by Elimination
The polymerization reaction is one which creates ...R - R - R - R...
by the repeated elimination (condensation) of a-b. That is,b-R-a + b-R-a

b-R-R-a + a-b

If the R-R torsion angle is considered to be randomized, then thehead (a) and tail (b) are all that must be specified to build a polymer.

Specific Torsion Angles
When eliminating "a" and "b", the internal geometry of R is considered to be preserved. However, there is still the rotation about
the R-R bond to be considered. One option is that this is randomized during the polymerization and an option radio button is proBuilding Molecules

187

Databases Menu

vided for that. The other possibility is that this angle is specified
by the user as a constant value for monomer-monomer connection. In this case we need to consider the geometry of the R-Rbond further.
The assumption is that "a" is connected to atom "x" which in turnis connected to atom "x’". similarly, atom "b" is connected to atom"y" which in turn is connected to atom "y’". That is, an elaborationof the monomer condensation is,

X - x’ - x - a + b - y - y’ - Y
X - x’ - x - y - y’ - Y + a - b
In this case, the torsional angle to be specified is the x’-x-y-y’ torsion. Each of these, i.e. a, b, x, x’, y, y’, are to be specified in themonomer by named selections. If they are not, then then you will
see the following error message,

ExampleAs an example we will build a polymer from the 1-3 butadienemonomer. The monomer looks as follows, where we have usedcustom labels and annotations to indicate the named selections.

188

Chapter 6

Databases Menu

If the appropriate named selections have been made, then clicking
on the <Databases/Polymers...> menu item will bring up the following dialog box,

The choices that must be made are whether to randomize the x-x’y’-y angles or to give them a specified constant value. In addition
one must choose the length of the polymer to build.
If one were to choose 30 degrees for the torsion above and build
20 units of a polymer, one would obtain the following structure:
Building Molecules

189

Databases Menu

Limitations
In the above fashion you can uses any monomer you like as longas you properly define the required atoms, a, b, x, x’, y, and y’. For
short head to tail paths, the definitions for x and x’ may overlap
the definitions of y and y’ but this will not matter as long as a, x,
and x’ (or b, y, and y’) refer to bonded sequences of atoms. Thus,
for example, x’ and y or x’ and b might be the same atom. The
named selections a (or b) can refer to a group of atoms, rather thana single atom, as long as these atoms are bonded to x (or y) by one
bond.

MutateMutate substitutes a residue for a residue already in a polypeptide
or polynucleotide. This biopolymer must contain residues fromthe Databases menu or it must come from a PDB file (see page 503)
or MOL2 file. The Mutate dialog box lists amino acids or nucleotides for substitution.
Note: Mutate is gray until you select a residue.

190

Chapter 6

Databases Menu

Mutate Dialog Box

The dialog box shows a list of the available residues (seeAppendix E). If you are mutating an amino acid residue, you canspecify whether you want the new residue to be the Levorotatory
Isomer or the Dextrorotatory Isomer. If you are mutating a nucleotide residue, these buttons are gray and inactive.
To change a residue:
1. Set the Selection tool to Residues (L-click on the Selection icon,
then choose Residues on the Select menu).
2. Select a single residue from the molecular system.
3. Choose Mutate on the Databases menu.
4. In the Mutate dialog box, L-click on a new residue andL-click OK.
HyperChem substitutes the new residue for a selected residue.

Building Molecules

191

Databases Menu

Choices of Nucleotide Residues
The Mutate dialog box provides residues listed in the Nucleic Acids
dialog box, plus residues from the template (TPL) files that are notavailable in the Nucleic Acids dialog box. The additional residues(see “Nucleic Acid Residues” on page 737) include less common
nucleotides for constructing tRNA molecules. To use these residues, build a polynucleotide—by using the Nucleic Acids dialog
box—using temporary nucleic acids. Then use the Mutate dialog
box to substitute the final nucleotide. For example, to construct arU–rG base pair, start with rU–rA, then mutate rA to rG.

Replace
The Mutate operation above replaces a single residue with a new
single residue. The generalization of this is to replace a contiguous
sequence of residues with a new sequence that is potentially of different length. This is a generic cut and paste type of operation. In
HyperChem this is accomplished with a single Replace operationwith the pasted sequence coming from the clipboard. This operation is particularly useful in the design of homologous proteins.

Protein Design
Protein design and the study of homologous proteins requires theability to start with a specified protein and make required changes
to the primary (and secondary structure) and hence to the native
structure, with hopefully beneficial results. Protein Design or thecreation of homologous proteins requires one to make more general modifications than just point mutations. For example one
may want to insert a short new sequence with defined secondary
structure into a specific place in the starting structure.
With HyperChem one has the ability to cut and paste arbitrary portions of a protein structure. Rather than have separate cut andpaste operations, however, the new functionality is organized as asingle Replace operation. That is, one specifies a contiguous
sequence of amino acids (residues) and replaces that sequence witha new sequence. The new sequence is obtained from the clipboard
and must be placed there prior to the Replace operation. The oldsequence is selected using normal HyperChem selection operations prior to the request to replace it with the contents of the clipboard.

192

Chapter 6

Databases Menu

Cutting (Deleting) a Residue Sequence
A simple deletion of a residue sequence occurs if the contents ofthe clipboard are null at the time of the Replace operation. To illustrate this and other operations, we will use simple peptides rather
than complex proteins but the same operations apply to bigger
systems. Assume we have a short poly-GLY sequence and selectthe two middle residues, GLY 3 and GLY 4 (we use Thick Lines toindicate the selection here).

If the clipboard is empty or does not contain HyperChem aminoacid residues and we now click on the menu item <Databases/Replace...>, we will see the following:

If we hit Yes, then we will obtain the following:

Building Molecules

193

Databases Menu

The two selected residues have been deleted. The remaining residues are not altered or moved and this results in a very long peptide bond between the new GLY 2 and GLY 3 residues. This longbond will have to be annealed by an optimization or by molecular
dynamics to finalize the effect of eliminating the two residues.
The two adjacent residues, GLY 2 and GLY 3 are at this point considered dirty (indicated by the *) and cannot be mutated, etc. They
can be cleaned by saving and re-opening the structure.

Replacing a Residue Sequence
A more ambitious operation is the actual replacement of a set ofresidues with a new set. In this simple example, we will prepare aloop and replace a single residue with the loop. We will refer tothe loop as the source and the single residue as the target, i.e. a target set of residues is replaced by a source set of residues.

Creating a Source SequenceFirst we create a sequence of six GLY residues using the peptidebuilder in HyperChem.

194

Chapter 6

Databases Menu

Preparing a loop of residues:
1. Click on GLY six times using the beta sheet conformation tocreate a short linear set of residues.
2.

Select the N of the N-terminal end and the C of the C-terminal
end as follows:

3. Use the menu item Named Selection menu item to create a
named selection, called "nc-bond".

4. Use the <Setup/Restraints...> menu item to add a restraining
force keeping the nc-bond at a restrained value of 1.5 Angstroms, as shown below:

Building Molecules

195

Databases Menu

5. Use the AMBER 3 force field to optimize the structure. Don’t
forget to deselect the two atoms prior to the optimization.
This will create a loop something like the following:

6. Select the whole set of residues and place them in the clipboard by an <Edit/Copy> operation. [Note: be sure all atoms
are displayed (unlike above) and selected before doing thecopy.]
196

Chapter 6

Databases Menu

You have now created an appropriate loop to add to a protein orother residue structure. This could be saved and restored to the
clipboard later but must be in the clipboard for the following operations. The next step is to ready a target.

Replacing Target Residues
We next need to illustrate how to replace a set of residues with a
new set that is of different shape, length, composition, etc. We areusing all GLY here for simplicity but any properly constituted residue structure can be used.
Replacing one set of residues with another:
1. Create a simple, length 5, set of GLY residues in their beta sheet
conformation.
2. Using residue selection, select the GLY 3 residue as shown
below:

Click on the <Databases/Replace...> menu item to bring up the following dialog box:

Building Molecules

197

Databases Menu

This dialog box shows the size and orientation of the source andtarget residues and gives you the ability to fit the source residues
in the the space being vacated by the target residues prior to theactual replace being invoked.

Relative Length of Residues
This section of the dialog box shows you the old (green) and new(red) residues according to their length, i.e. the distance from the
N-terminal Nitrogen to the C-terminal Carbon. The numericalvalues are these total lengths in Angstroms. The diagram shows
the translational position where the new (source or red) residues
will be positioned relative to the old (target or green) residues
along the line from the N-terminal Nitrogen to the C-terminal Carbon.
If they are not the same length then the new residues can be positioned relative to the old residues by moving the shortest sequence
via the scroll buttons provided. The position of the short sequence
relative to the long sequence is given in Angstroms and should be
modified til the value is zero indicating a position in the "middle".
This positioning will have the short sequence positioned in the
middle of the long sequence. If the new sequence is much longer
or much shorter than the old sequence, a considerable amount of
annealing will be necessary to relieve the mismatch.

198

Chapter 6

Databases Menu

Each of the two sequences is characterized by a vector from N-terminal Nitrogen to C-terminal Carbon. The new sequence will
have its vector co-linear with the old sequence. The remaining
parameter is the rotation of the new sequence around the line ofthis vector. This rotation to provide an optimal orientation of the
new sequence relative to the old is provided by the lower part ofthe dialog box.

Relative Orientation of Residues
This part of the dialog box shows the old and new sequences looking along their N-terminal to C-terminal axes which have been
made co-linear. The small cross shows the position of the N-terminal to C-terminal axis of the two sequences. The remaining operation is to rotate the new sequence relative to the old sequence for
optimal positioning of the new sequence. This is accomplished via
the scroll button provided and the display shows the cross-sectional size and orientation of each of the two sequences.
If the N-terminal to C-terminal line is referred to as the z axis, thenthe rectangles shown represent the minimum and maximum atom
coordinates (bounding box) of each sequence in an xy plane perpendicular to the z axis.

Executing the Replace
When the new sequence is translated and rotated to your satsfaction then the OK button will perform the replace operation.

Inserting A Residue Sequence
A pure insertion operation is not possible and must be accomplished via a replacement operation where, for example, the Nteminal residue of the source and target sequences are identical.

Invoke Database
This menu item invokes the separate HyperChem Data module.
This module provides database services for HyperChem. HyperChem Data is described in the HyperChem Modules manual.

Building Molecules

199

Databases Menu

200

Chapter 6

Chapter 7
Edit, Select, andDisplay Menus
This chapter describes the functions on the Edit, Display, andSelect menus. These functions let you change the structure of molecules, alter their appearance in the workspace, and regulate how
the Selection tool works.

Edit Menu
The Edit menu contains items using the Clipboard (for example,
Cut and Paste) and items for manipulating molecules in the workspace. The Edit menu has these commands:
ClearaRemoves selected atoms from the workspace. You
cannot recover these structures with Paste. You canalso press [Del]Cuta

Moves selected atoms from the workspace onto the
Clipboard. You can also press [Ctrl]+[X]

Copya

Copies selected atoms to the Clipboard in HIN format. You can also press [Ctrl]+[C]

Copy ISIS Sketcha

Copies selected atoms to the Clipboard in MDL
ISIS/Draw clipboard format.

PasteaCopies atoms from the Clipboard to the workspace.
You can also press [Ctrl]+[V]

Copy Image

Takes a picture of a HyperChem window. You canalso press [F9]201

Edit Menu

Inverta

Turns all molecules or selected atoms upside down,
through a POINT that you choose. Coordinates x, y,
and z (relative to a point) become –x, –y, and –z

Reflecta

Produces a mirror image of all molecules or selected
atoms relative to a PLANE that you choose. For the
XY plane, coordinates x, y, and z become x, y, and –z

Rotate . . .

Provides rotation by an exact amount (in degrees)
about an axis (x, y, and z)

Translate . . .

Provides translation by an exact amount (in Ångstroms) along each axis (x, y, and z) or to a defined
point

Zoom . . .

Provides an exact amount of magnification

Z Clip . . .

Shows the molecular system from the top (along
the y axis) and provides exact settings of the clipping planes

Align Viewer . . .

Changes the viewer’s vantage point to any otheraxis or line in the Molecular Coordinate System

Align
Molecules . . .

Changes the alignment of whole molecules so that
their internal (primary, secondary, or tertiary) axes
correspond to the viewer’s x, y, or z axes

Set Bond
Lengtha . . .

Changes the length of a selected bond in amolecule

Set Bond
Angle a . . .

Sets a selected bond angle in a molecule

Set Bond
Torsion a . . .

Sets a selected torsion angle in a moleculea. When this item is gray, it is temporarily unavailable. An appropriate entity
must be selected or defined to make it available.

202

Chapter 7

Edit Menu

Clear
Clear permanently removes selected atoms from the workspace.
You cannot recover these atoms. HyperChem asks you to confirm
your decision.

Cut
Cut moves selected atoms from the workspace to the Clipboard,
replacing its previous contents. You can then use Paste to copy theatoms back to the workspace of the same HyperChem window or
to a different HyperChem window. HyperChem asks you to confirm your decision.
Note: Cut is gray and inactive unless you select an atom in themolecular system.
Cut removes selected atoms plus all bonds connecting these atoms
to each other and to the rest of the molecular system. For Cut,
Copy, and Paste, HyperChem keeps track of atoms rather thanbonds.
,

Cut
selected atoms(appear in
Thick line)

Copy
Copy places a duplicate of selected atoms onto the Clipboard in
HIN format, replacing its previous contents. You can use Paste tocopy the atoms back to the workspace of the same HyperChem
window or to a different HyperChem window.

Edit, Select, and Display Menus

203

Edit Menu

Note: Copy duplicates selected atoms and the bonds connecting
these atoms, but does not remember the bonds between this selection and the rest of the molecular system.

Copy ISIS Sketch
Copy ISIS Sketch places a duplicate of selected atoms onto the Clipboard in MDL ISIS/Draw Sketch format, replacing its previous contents. HyperChem can Paste using ISIS/Draw Sketch format, so you
can use Paste to copy the atoms back to the workspace of a HyperChem window or to ISIS/Draw.
You can paste structures back and forth between HyperChem and
ISIS/Draw. ISIS™ (Integrated Scientific Information System) by
MDL Information Systems provides drawing, storage, search, andretrieval capabilities for 2D and 3D chemical structures and related
data. For example, you can use HyperChem to analyze or modify
a structures, and then transfer the structures into ISIS for registration into a 3D database.
To copy a structure from HyperChem to ISIS Draw:
1. Build a molecule in HyperChem.
2. Choose Molecule as the selection level, and L-click on the molecule.
3. Choose Copy ISIS Sketch on the Edit menu.
A copy of the molecule in ISIS/Draw format (.skc) is stored in
the Clipboard.
4. Open ISIS/Draw.
5. Choose Paste on the Edit menu.
The molecule appears in the ISIS/Draw window.

Paste
Paste copies the contents of the Clipboard to the workspace of aHyperChem window. Use Paste to duplicate atoms and moleculesin the same window or to transfer them to another HyperChem
window.
Caution: Paste does not transfer a molecular model (graphic) toanother Windows application (for example, Windows Write). If
204

Chapter 7

Edit Menu

you use Paste to move information to another application, you see
only a text version of the molecular structure, as it appears in a
HIN file. Use Copy Image (see the next section) to transfer graphic
images to other applications.
The atoms from the Clipboard appear 1 Ångstrom to the right ofthe center of mass of the molecular system previously in the workspace.

Paste

Paste
again

selected atoms
appear inThick line

Note: Paste might not be the exact reverse of Cut. Cut removes
selected atoms and all bonds connecting these atoms to each otherand to the rest of the molecular system. Paste provides only theatoms and the bonds connecting these atoms to each other. For
Cut, Copy, and Paste, HyperChem keeps track of atoms rather thanbonds.
Note: Paste is gray and unavailable until you use Cut or Copy toplace atoms on the Clipboard.

Pasting Superatoms From ISIS/Draw
When cutting or copying molecules from ISIS/Draw for pasting
into HyperChem, you should expand any superatoms in the structure before transferring the molecules to the clipboard from ISIS.
If you are unable to do this, (for instance, if you have an ISIS sketch
file embedded in a word-processing document), HyperChem
expands each superatom in the correct position, but considers it asa separate molecule. Two atoms of the superatom are superimposed on two atoms of the main structure around the connection
point. You will need to delete one atom of each superimposed pair

Edit, Select, and Display Menus

205

Edit Menu

and reconstruct the proper connectivity in order to make a single
molecule.

Copy Image
Copy Image takes a picture of all or part of the screen and places it
either in a file or on the Windows Clipboard (see “Setup Image” onpage 99). By default, HyperChem stores a Windows metafile picture in the file chem.wmf and a bitmap picture in the filechem.bmp. However, you can select a Filename other than thesein the <Preferences/Setup Image> dialog box.
Note: Press [F9] for Copy Image. You must use [F9] to save images ofpull-down menus and dialog boxes (see page 99).
Each time you use Copy Image, HyperChem replaces the picturethat is already on the Clipboard or in a file. To collect several pictures, you must use one of these methods:
For a file

If the picture is in a file, select a new name for Filename every time you take a picture. Alternatively,
use a script or custom menu item to change theFilename in a sequential way to collect a set of pictures.

For theClipboard

If the picture is on the Clipboard, paste it into afile, using another program that accepts metafile
or bitmap images. For example, a Word® for Windows file can store both bitmap and metafile
graphics.

Use the Setup Image section of the Preferences dialog box (seepage 99) to give instructions for copying an image.
Use Print on the File menu to send a copy of the workspace directly
to a printer.

InvertInvert carries out a molecular symmetry operation (inversion)
through a POINT. POINT is the center of mass of one or more
selected atoms. Use the Name Selection dialog box to define
POINT. If the coordinates of an atom are x, y, and z (relative to the
POINT), Invert changes them to –x, –y, and –z.

206

Chapter 7

Edit Menu

Once you establish a POINT, you can invert any selected atoms or,if there is no selection, a whole molecular system.
Note: Invert is gray unless the molecular system contains a POINT
selection.
To invert atoms and molecules:
1. Select one or more atoms to define the inversion POINT.
2. Choose Name Selection on the Select menu (see 237). Thenchoose POINT in the dialog box. L-click OK.
3. Deselect all atoms.
4. Select atoms or molecules to invert. Without a selection,
HyperChem inverts the whole molecular system.
5. Choose Invert on the Edit menu.
Caution: If you invert selected atoms in a molecule, HyperChem
inverts only these atoms and might distort the bonds connecting
those atoms to the rest of the molecule.
Example:This example shows HyperChem inverting the amino acid alanine. Since the alpha carbon is a chiral center, inversion changes
the chirality of this atom.

Invertmolecule

You can also, for example, use inversion to convert a chair to aboat conformation.

Edit, Select, and Display Menus

207

Edit Menu

Reflect
Reflect carries out a molecular symmetry operation (reflection)
through a PLANE. This molecular operation can produce a mirror
image of selected atoms or of a whole molecule. If PLANE is the XY
plane, then Reflect changes an atom’s coordinates from x, y, and z(relative to PLANE) to x, y, and –z.
Use the Name Selection dialog box (see page 238) to define PLANE.
PLANE is the surface defined by the primary and secondary inertial
axes (see “Inertial Axes” on page 21) of the atoms used to name
PLANE.
Reflect acts on selected atoms or, if there is no selection, the whole
molecular system. If the reflected atoms contain one or morechiral centers, HyperChem changes their chirality.
Note: Reflect is gray unless the molecular system contains a PLANE
selection.
To reflect atoms and molecules:
1. Select at least three atoms to define a reflection PLANE.
2. Choose Name Selection on the Select menu (see page 237).
Then choose PLANE in the dialog box. L-click OK.
3. Deselect all atoms.
4. Select the atoms or molecules to reflect. Without a selection,
HyperChem reflects the whole molecular system.
5. Choose Reflect on the Edit menu.
Example:This example shows HyperChem reflecting the selected side groupof cyclohexane.

208

Chapter 7

Edit Menu

PLANE

select and Reflectside group

RotateChoosing Rotate displays the Rotate dialog box to produce anexact rotation of molecules. This dialog box duplicates the effects
of a rotation tool (see “Using the XY Rotation Tool” on page 37
and “Using the Z Rotation Tool” on page 39).
Note: You can also double-click on a Rotation tool icon to reach
the Rotate dialog box.

Rotate Dialog Box

Rotate About You can rotate selected atoms or, without a selection, a whole molecular system, around an axis ineither the Viewer’s or Molecular Coordinate System or around a LINE. LINE is a named selection(see “Name Selection” on page 237) that belongs toa molecular system. If you cannot rotate selected
Edit, Select, and Display Menus

209

Edit Menu

atoms, HyperChem shows a message on the statusline.
X AxisThis axis is in the horizontal plane of thescreen.

Y AxisThis axis is in the vertical plane of thescreen.

Z AxisThis axis is perpendicular to the screen.

LINE

LINE is a named selection. Use Name selection on the Select menu to define a LINE fora molecular system.

Angle

Enter a rotation angle. The practical range is ±360
degrees.

Apply toRotates selected atoms or the whole molecular system in either of these ways:

Molecules

Rotates selected molecules in the Molecular Coordinate System, changing atomic
coordinates. This works for selected whole
molecules, for selected side chains that canrotate, or, if there is no selection, for thewhole molecular system.

ViewerRotates all molecules in the workspace inthe Viewer’s Coordinate System, leaving
the atomic coordinates unchanged.

Translate
Translate displays the Translate dialog box to produce an exacttranslation of molecules. This dialog box duplicates the effects ofa Translation tool (see “XY Translation Tool” on page 40 and “Z
Translation Tool” on page 43), moving the center of mass of
selected atoms or molecules to another position in the Molecular
Coordinate System.
Note: You can also double-click on the Translation tool icon to display the Translate dialog box.

210

Chapter 7

Edit Menu

Translate Dialog Box

Translate
ViewerMoves all molecules in the workspace, but leaves
the atomic coordinates unchanged, as if the viewer
is moving. This is the same as using a translation
tool in the workspace with the left mouse button.

dx

Amount of translation to the right, in Ångstroms.

dyAmount of translation up, in Ångstroms.

dz

Amount of translation toward you, in Ångstroms.

Translate
Selection

Moves the center of mass of selected atoms to a
new point, changing the atomic coordinates. Thisis the same as using a translation tool in the workspace, with the right mouse button. Translation
places the center of mass of the selected atoms at a
new point (POINT, Origin, or Other) in the Molecular Coordinate System (see “Coordinate Systems”
on page 18). If the selection is part of a molecule,
HyperChem can move only the selected atoms if
Whole Molecule translation is off (see “Preferences
Property Sheet” on page 95).

Note: You can translate selected residues or atoms away from themolecule that they comprise by turning off Whole molecule translation (see “Tool” on page 97). To accomplish this translation,
HyperChem stretches bonds beyond their normal lengths andEdit, Select, and Display Menus

211

Edit Menu

angles. The default setting, Whole molecule translation on (✓), prevents this distortion.
POINT

Moves molecules or selected atoms to a
POINT defined in the Name Selection dialog box (see page 238).

OriginMoves molecules or selected atoms to theorigin of the Molecular Coordinate System.

Other

Moves molecules or selected atoms to thesame point you chose the last time you
used this dialog box, or to new coordinatesthat you enter for X, Y, Z (see below).

X, Y, ZFor POINT, this shows the location associated withthe predefined, named selection, POINT. For
Origin, this shows 0, 0, 0, for the origin of the
Molecular Coordinate System. For Other, you can
set a point in the Molecular Coordinate System.

Zoom
Zoom displays the Zoom dialog box to produce an exact magnification of molecules in the workspace. This dialog box duplicatesthe effects of the Zoom tool (see page 45). The dialog box reports
the present zoom factor (magnification) for the molecular systemin the workspace. You can enter a new value, from 0.01 to 50. A
Zoom Factor of 1 produces the same magnification as Scale to Fit(see page 250).
Note: You can also double-click on the Zoom tool icon to reach theZoom dialog box.

Zoom Dialog Box

Zoom Factor

212

Chapter 7

This shows the present magnification of themolecular system, if there is no selection, or of
selected atoms. A Zoom Factor of 1 is the same as
Scale to Fit, which fits the selection or the wholeEdit Menu

molecular system into the workspace (see “Scale toFit” on page 250). Smaller values for Zoom Factor
decrease the apparent size and larger values magnify the molecules. For example, a Zoom Factor of
2 doubles the size.
Caution: Use a Sticks rendering with high magnifications of molecular systems. High magnifications (Zoom Factor) of all othermolecular renderings (except Sticks) might require more memory
than your computer has available.

Z ClipZ Clip shows the Z Clip dialog box (see page 214), which you use
to move the clipping planes. This dialog box duplicates the effectsof the Z clipping tool (see page 47) and shows a top view of themolecular system (along the y axis) to aid in setting the clipping
planes. Use this dialog box to set the clipping planes, either
numerically or graphically.
The dialog box shows a Sticks rendering of the molecules in theworkspace. You view the molecules from above, down the y axis of
the Viewer’s Coordinate System. A green bar represents the front
clipping plane; a violet bar represents the back clipping plane.
Whenever you open this dialog box, the clipping planes are set 1/3
and 2/3 down from the top of the display.
Note: You can also double-click on the Z clipping tool icon toreach the Z Clip dialog box.

Edit, Select, and Display Menus

213

Edit Menu

Z Clip Dialog Box
molecular systemback clipping
slab plane

front clipping
slab plane

distances inÅngstroms
from viewer

The dialog box provides this information:
SystemThe extreme front and back positions of all molecules in the workspace. The viewer is at zero. A new
molecular system is at 40.

Slab

The positions of the front and back clipping planes
relative to the viewer, who HyperChem takes to beat zero. As you move the clipping planes by using
the scroll bars, these numbers change. Entering
numbers changes the position of a clipping planeon screen.
Press [Tab] or L-click to move between Slab/Frontand Slab/Back. This highlights the number. Enter a
new value from 0 to 3200 Ångstroms. The frontslab must remain in front of the back slab.

Note: If a molecular system disappears from the workspace while
you are using the Z clipping tool, press [Spacebar] or use the numericsettings in this dialog box to display the molecules again. Adjust
the slab positions (Front and Back) to include the System (Front andBack).
214

Chapter 7

Edit Menu

You can adjust the positions of the clipping planes using two
methods:•

Use the scroll bars at the sides of the molecular model to movethe clipping planes. Movement is along the z axis of theViewer’s Coordinate System.

•

Enter values, to the right, for the positions of the clipping
planes. Values represent the distance from the viewer in Ångstroms.

Align Viewer
Align Viewer modifies the Viewer’s Coordinate System so that it has
a simple correspondence with the Molecular Coordinate System.
The Viewer’s Coordinate System is relative to the plane of the computer screen (see “Viewer’s Coordinate System” on page 19). You
always view the screen and the HyperChem workspace along theviewer’s z axis. The molecular system has its own coordinate system (see “Molecular Coordinate System” on page 20).
When you first construct a molecular system, the viewer’s z axis
aligns with the molecular z axis. If you rotate the viewer’s position(for example, using the Rotation tools and the left mouse button),this alignment is lost. Align Viewer returns the workspace to the initial state or to another standard orientation.

Align Viewer Dialog Box

X AxisAligns the viewer’s z axis and the molecular x axis.

Y AxisAligns the viewer’s z axis and the molecular y axis.

Edit, Select, and Display Menus

215

Edit Menu

Z AxisRe-aligns the viewer’s z axis and the molecular z
axis.

LINE

Aligns the viewer’s z axis with a LINE in the Molecular Coordinate System. A LINE is the best-fit to
two or more atoms in a molecular system or to theprimary inertial axis.1 This choice is inactive (gray)until you set a LINE in the Name Selection dialog
box (see page 238).

For more information about coordinate systems, see page 18.

Align Molecules
Align Molecules rotates selected whole molecules so that their inertial axes correspond to the viewer’s x, y, or z axes. You can alsoalign an inertial axis with a LINE in the Molecular Coordinate System.
If you do an alignment with at least one atom selected, the alignment “moves” the atoms, changing their coordinates in the
Molecular Coordinate System. If there is no selection, the alignment maintains the same atomic coordinates, but moves yourviewpoint (the Viewer’s Coordinate System).
A molecular system has an inertial axis system independent of the
Molecular or Viewer’s Coordinate Systems. Inertial axes are fixed
in a molecular system and depend only on the number, type(mass), and positions of atoms. The inertial axes have their origin
at the center of mass and are orthogonal (at right angles to eachother). The primary inertial axis is often the longest distance fromthe center of mass to the edge of the molecular system. Inertial
axes are computed for the selected atoms, or if there is no selection, for all atoms in the molecular system.
You can see the inertial axes of a molecular system by choosing
Show Axes on the Display menu. See “Coordinate Systems” onpage 18 for more information about coordinate systems and axes.
With the Align Molecules dialog box, you can do one or two alignments of a molecular system:•

The first alignment is known as the major alignment. This
positions one inertial axis with one viewer axis.

1. The primary inertial axis corresponds to the smallest eigenvalue of the moment of inertia matrix.

216

Chapter 7

Edit Menu•

You can then choose to do a second, minor alignment. Thisrotates the molecules around the first alignment axis, until asecond inertial axis aligns with a second axis in the Viewer’s
Coordinate System.

Align Molecules Dialog Box

PrimaryThis is the primary inertial axis1, passing throughthe center of mass of a molecular system. This isoften the longest distance from the center of mass
to the edge of a molecular system.

SecondaryThis axis is orthogonal (at right angles) to the primary and tertiary axes. If the molecular system isplanar, the secondary axis is in this plane.

Tertiary

This axis is orthogonal (at right angles) to the primary and secondary axes. If the molecular system
is planar, the tertiary axis is perpendicular to thisplane.

X AxisAligns the viewer’s x axis with an inertial axis.

Y AxisAligns the viewer’s y axis with an inertial axis.

Z AxisAligns the viewer’s z axis with an inertial axis.

1. The primary inertial axis corresponds to the smallest eigenvalue of the moment of inertia matrix.

Edit, Select, and Display Menus

217

Edit Menu

LINE

Aligns the chosen inertial axis with a LINE in the
Molecular Coordinate System. A LINE is the best-fit
to two or more atoms in a molecular system, or to
the primary inertial axis. This choice is inactive(gray) until you set a LINE in the Name Selection
dialog box (see page 238).

Minor

Turn on Minor (✓) if you want to align a second
inertial axis with a second coordinate axis. Thisalignment rotates the molecular system aroundthe first alignment axis to make the second alignment. You have the same choices as for the firstalignment, except you cannot use the same inertial
or coordinate axes that you used for the majoralignment.

To use Align Molecules:
1. Select atoms in a molecular system, or deselect all atoms forthe whole molecular system. This selection determines theinertial axes for alignment.
2. Choose Align Molecules on the Edit menu.
3. Choose the inertial axis for the major alignment from theupper-left section of the dialog box.
4. Choose an axis or LINE from the lower-left section of the dialog
box.
5. Turn on Minor (✓) if you want to align a second inertial axis
with a second coordinate axis. This alignment rotates themolecular system around the first alignment axis to make thesecond alignment.
6. For a minor alignment, repeat steps 2 and 3 using the righthalf of the dialog box.
You can see the inertial axes of a coordinate system by choosing
Show Inertial Axes on the Display menu (see page 279). For more
information about coordinate systems, see “Coordinate Systems”
on page 18.

Set Bond Length
Set Bond Length displays the Set Bond Length dialog box forchanging the length of a selected bond.
218

Chapter 7

Edit Menu

Select either a bond or the two atoms that form this bond, andthen choose Set Bond Length. This bond must not be part of a ring
structure. The bond length changes as soon as you L-click OK in
the dialog box.
The Model Builder (see page 124) might remove this new bondlength. To influence a bond length during model building, use
Constrain Bond Length (see page 137).
You can also influence a bond length during a geometry optimization calculation (see “Restraints” on page 340).

Set Bond Length Dialog Box

The dialog box first shows the existing bond length. Enter a newbond length, usually between 0.75 and 3 Ångstroms.

Set Bond Angle
Set Bond Angle displays the Set Bond Angle dialog box for changing a selected bond angle.
Select either two bonds or the three atoms that include thesebonds (see “Selecting” on page 32), and then choose Set Bond
Angle. One but not both of the bonds can be part of a ring. The
bond angle changes as soon as you L-click OK in the dialog box.
The Model Builder (see page 124) might remove this new bondangle. To influence a bond angle during model building, use Constrain Bond Angle (see page 138).
You can also influence a bond angle during a geometry optimization calculation (see “Restraints” on page 340).

Edit, Select, and Display Menus

219

Select Menu

Set Bond Angle Dialog Box

The dialog box first shows the existing bond angle. Enter a number
from 0 to 180 for the new bond angle.

Set Bond Torsion
Set Bond Torsion displays the Set Bond Torsion dialog box forchanging a torsion angle.
You can select either the four atoms or the three bonds forming thetorsion angle, and then choose Set Bond Torsion. Only one end
bond can be part of a ring structure. The bond torsion changes assoon as you L-click OK in the dialog box.
The Model Builder (see “Model Build/Add H & Model Build” onpage 124) might remove this new torsion angle. You can also influence a torsion angle during model building, by using Constrain
Bond Torsion (see page 139).
You can also influence a torsion during a geometry optimization
calculation (see “Restraints” on page 340).

Set Bond Torsion Dialog Box

The dialog box first shows the existing bond torsion angle. Enter anumber from –360 to +360 for the torsion angle.

Select Menu
The Select menu regulates the Selection tool. The Selection tool
marks specific atoms, bonds, residues, or molecules for Hyper-

220

Chapter 7

Select Menu

Chem operations. Selected atoms take on a different appearance(line width or color). If there are selected atoms in a molecular system, HyperChem acts usually only on these atoms.
The items on this menu instruct the Selection tool to work at different levels of molecular organization or to make specific types of
selections:√ Atomsa

The smallest unit of selection is an individual atom
or bond√ Residuesa

The smallest unit of selection is an amino acid or
nucleotide residue from a database or, if there are
no residues in a molecular system, an atom or bond

√ Moleculesa

The smallest unit of selection is a whole molecule√ Multiple

Changes the Selection tool so that you can either
accumulate selections (√) or replace the previous

Selectionsb

selection with each new selection (no check mark)√ Select Sphereb

Changes the Selection tool so that you can select all
atoms within a 3D sphere, plus atoms within a 2D
rectangle (√), or only atoms within a 2D rectangle(no check mark)Select All

Selects the whole molecular system

Complement
Selection

Cancels the existing selections and selects all atoms
previously not selected

Select . . .c

Selects atoms using a variety of means. Selections
can be via variables that are strings such as the symbol “C” or the named selection “MySelection” or
via variables that are numeric such as atomic number, atomic charge, or atomic gradient. A numeric
selection can specify a range.

Edit, Select, and Display Menus

221

Select Menu

Name
Selection . . . c

Assigns a predefined name (POINT, LINE, PLANE,
REACTANT, PRODUCT, PLOT1, PLOT2, GHOSTATOMS, NMR ATOMS, or QUANTUM ATOMS) or
any name that you supply (up to 19 characterslong) to selected atoms, and stores this selection forlater use. Named selections apply only to thismolecular system

Name Molecule...cAssigns a name to an individual molecule of theworkspace. Name is stored in HIN file. Can be particularly useful for database operations.

Extend Ringc

Selects all atoms in a ring if one bond or twobonded atoms in the ring are already selected

Extend Side Chain

Selects all atoms in a rotatable side chain if the firsttwo atoms in the side chain are already selected

Extend to sp3

Selects all atoms, starting from the current selection, until all bonds with only one atom selected are
single bonds between sp3 atoms. Use this to findthe boundaries for a mixed mode quantum
mechanics calculation

Select Backbone

Selects all atoms in the backbones of proteins or
polynucleotides constructed from residues on the
Databases menu or from a PDB file. For polypeptides, disulfide bridges are also selecteda. Only one of these items can be active at a time, and only the active item hasa check mark.
b. A check mark appears next to this item when it is on. Turning it on affects
all further selecting, until you select it again to turn it off.
c. When this item is gray, it is temporarily unavailable. You must change somecondition in HyperChem to make it available.

Visible Atoms
The items on the Select menu act on all atoms in the molecularsystem, whether they are visible or not. The visibility of an atom
depends on these factors:•

222

Chapter 7

The type of model you are using. For example, a spheres modelhides atoms on the far side of a molecule.

Select Menu•

Settings on the Display menu. For example, Show Hydrogens
can turn off the appearance of hydrogen atoms, but theseatoms are still part of the molecular system.

•

Location and size of molecules. For example, you can translatepart of a molecular system off screen, but it is still part of themolecular system.

•

Clipping slab settings. For example, the clipping slab mightshow only part of a molecular system.

Atoms
When you choose Atoms (✓), the smallest unit of selection is anindividual atom. With the Selection tool, you can then select individual atoms, bonds, and angles. This item remains active until
you choose Residues or Molecules.
Note: Use Atoms for selection unless you specifically want to selectresidues or molecules.

bond torsion

bondbond angle
atom

Note: all selections appear
in Thick line

To select atoms with the Selection tool:•L-click on an atom or bond to select this component.

•

R-click on an atom or bond to deselect it.

•

Choose Multiple Selections on the Select menu to accumulate
selections, without deselecting atoms.

Edit, Select, and Display Menus

223

Select Menu•

See “Selecting” on page 32 for methods of selecting bondangles and torsion angles.

•

L-click on an empty area of the workspace to select all atoms
in the workspace. R-click on any empty area of the workspace
to deselect all atoms.

How the selection looks depends on your choice in the Preferences
dialog box. A description of a single, selected atom appears on thestatus line with this information (from left to right):
Atomnumber

A number indicating the creation order of an atom
within the molecule.

Element
nameFrom the periodic table, for example, carbon.

Atom name

The atom name from the Brookhaven Data Bank or
HIN file. By default, these names appear only foratoms found in proteins and nucleic acids.

Force Field

The force field that supplied the atom types for thismolecular system (amber, mm+, bio+, or opls).

Atom typeThe atom type for the force field.

Charge

The charge, if any, on this atom.

Atomiccoordinates

The x, y, and z coordinates in the Molecular Coordinate System.

Examples:These messages can appear on the status line when you select at
the Atoms level.
For one atom:
Atom number 2 is Carbon C (mm+ * C0) at -1.6188 0.6548 0
For two nonbonded atoms:
Distance from atom CA197 to atom 1 HD1 108 is 3.3846Å
For two bonded atoms:
Bond distance from atom C86 to CA85 is 1.5364Å
For three bonded atoms:
Angle of atoms N96 - C86 - CA85 is 102.45°
1. Atom names in this and the following examples are from the Brookhaven Data Bank, for example,
CA, C, HD.

224

Chapter 7

Select Menu

For three nonbonded atoms:
Improper angle of atoms C98 - CD102 - C 85 is 88.703°
For four bonded atoms:
Torsion angle of atoms C98 - C 97 - N96 - CD102 is 116.38°
For four nonbonded atoms:
Improper torsion angle of atoms C98 - CA97 - C86 - CA85 is126.95°For five or more atoms:
Selected n atoms
where n= 5, 6, 7...

Residues
When you choose Residues (✓), the smallest unit of selection is
individual residues (amino acids or nucleotides). Residues mustcome from the Databases menu (see page 139) or from Protein
Data Bank files (see page 503). HyperChem does not recognize as
residues amino acids or nucleotides that you draw from individual
atoms.
This item remains active until you choose Atoms or Molecules.
Note: If there are no residues in a molecule, this item works like
Atoms.
To select residues:•

L-click on a residue to select it. If the Selection tool is on a molecule, it selects the nearest residue.

•

R-click on a residue to deselect it.

•

Choose Multiple Selections on the Select menu to accumulate
selections, without deselecting any atoms.

•

L-click on an empty area of the workspace to select all atoms
in the molecular system. R-click on an empty area to deselectall atoms.

A description of your latest selection appears on the status linewith this information:
Edit, Select, and Display Menus

225

Select Menu

Note: selected residue appearsin Thick line

Number ofresidues
selected

This number can be from 0 to all residues in themolecular system.

Residue name This is the name and sequence number for the firstand number four residues you select, plus the last residue you
select.
Example:This message appears on the status line when you select at the
Residues level.
30 residues selected: THR 1 THR 2 CYX 3 CYX 4 ... ASN 46

Molecules
When you choose Molecules (✓), the smallest unit of selection isan individual molecule. This item remains active until you choose
Atoms or Residues.
To select molecules:

226

Chapter 7•

L-click on a molecule to select it. If the Selection tool is close
to two molecules, it selects the nearest molecule.

•R-click on a molecule to deselect it.

•

Choose Multiple Selections on the Select menu to accumulate
selections, without deselecting atoms.

Select Menu•

L-click on an empty area of the workspace to select all atoms
in the workspace. R-click on an empty area to deselect all
atoms.

The numbers of the selected molecules appear on the status line.
Example:This is an example of the message that appears on the status line
when you select at the Molecules level:
2 molecules selected

Multiple Selections: Accumulating Selections
With Multiple Selections on (✓), you can accumulate selections.
When this item is off (no check mark), each new selection replaces
the previous selection.
Note: You can also select more than one structure at a time byusing group selection (see the next section). Group selection does
not require Multiple Selections to be on.
The type of structure selected depends on your choice of theAtoms, Residues, or Molecules on this menu. The number of
selected atoms, residues, or molecules appears on the status line.

Select Sphere and Group Selecting
Select Sphere controls group selection with the Selection tool.
Group selection means that you can select all atoms, residues, andmolecules in part of a molecular system. Group selection is the easiest way to select a set of atoms.
To prepare for group selection:
1. Choose Atoms, Residues, or Molecules on the Select menu. This
choice regulates the level of group selection. For example, if
you choose Molecules, group selection works only for whole
molecules.
2. L-click on the Selection tool icon to activate the Selection tool.
Note: Group selecting does not require Multiple Selections to be on.

Edit, Select, and Display Menus

227

Select Menu

Selecting in Two Dimensions
This procedure selects all atoms that project onto a 2D selection
rectangle. You can adjust the location and size of the selection rectangle. The Selection tool ignores information about the depth ofthe molecular system and treats all atoms as if they were in theplane of the screen.
To select in two dimensions:
1. Turn off Select Sphere on the Select menu. There should be nocheck mark to the left of this item.
2. Move the Selection tool to one corner of the region you want
to select.
Note: You can also do this selection with Select Sphere on. At
step 2, start your selection in an empty area of the workspace.
3. Hold down both mouse buttons, but press the left button first.
4. Move the Selection tool diagonally across the structures toselect. A selection rectangle appears. Adjust the size and position of the rectangle by moving the mouse.
5. Release both mouse buttons. The number of structures selected
appears on the status line.
6. To deselect part of a selection, repeat steps 1–5, but at step 3
hold down the right mouse button before holding down the left
button.

group selection using a combination of mouse buttons
To deselect:
RL-drag

To select:
LR-drag
Click:

228

Chapter 7

L

R

L

R

Select Menu

selection rectangle

selected residues(in Thick line)

Edit, Select, and Display Menus

229

Select Menu

Selecting in Three Dimensions
This procedure selects all structures within a 3D sphere. You select
only the atoms that are within a specified distance and in all directions from an atom. You adjust the diameter of a circle that represents the selection sphere. You must start this selection at an atom.
To select in three dimensions:
1. Turn on Select Sphere (✓) on the Select menu.
2. Move the Selection tool to the atom at the center of theselection.
Note: If you begin group selecting away from an atom, theSelection tool uses a 2D rectangle for selection, even if SelectSphere is on.
3. Hold down both mouse buttons, but press the left button first.
4. Move the Selection tool diagonally across the structures toselect. A circle, representing a sphere, appears. Adjust the sizeof the circle by moving the mouse in any direction. The number of the first atom selected and the radius of the sphere, inÅngstroms, appear on the status line.
5. Release both mouse buttons. The number of structures selected
appears on the status line.
6. To deselect atoms within a sphere, repeat steps 1–5, but at step
3 hold down the right mouse button before holding down theleft button.

230

Chapter 7

Select Menu

selection sphereselection from this atom

selected residues(in Thick line)

Select All
Select All changes the selection to include all visible atoms (see“Visible Atoms” on page 222) in the molecular system. Choosing
this item is equivalent to L-clicking in an empty part of the workspace.

Edit, Select, and Display Menus

231

Select Menu

Complement Selection
Complement Selection deselects the existing selection and, instead,selects all atoms that were not selected before. When you haveselected the only molecule in a molecular system, Complement
Selection deselects this molecule.

Complement
Selection

SelectUsing Select you can select atoms, residues, and molecules bystring or by number. These selections occur immediately andeither replace previous selections (with Multiple Selections off) or
add to existing selections (with Multiple Selections on).
Note: Select is gray until there is a molecular system in the workspace.
When you choose Select, the Select dialog box (see page 233)
appears listing the variety of possible selections. You may select via
a string that assigned to a selection of atoms (see Name Selection in
the following section) or a string that is the value of a string variable such as Chirality (R or S). You may also select via a numericalvalue assigned to atoms such as atomic number, atomic mass,
atomic charge, etc. Numerical selections can specify a range. For
example, you can select atoms that have a gradient greater than aminimum value.

232

Chapter 7

Select Menu

Select Dialog Box

By stringL-click to select atoms with a specified value of astring variable. L-click on one of the radio buttons
to see the appropriate string values in the panel tothe right. The string variables describing collections of atoms can be chosen from the following
strings:

Atom Symbol The conventional element symbol for an
atom such a C, N, O, or F.
Atom Name

The conventional name for an atom in anamino acid or nucleic acid. Applies only tothe names defined in templates for thesemacro-molecule components. Examples
are CA, 1HA, and 2HA for an alpha-carbonand the hydrogens attached to it.

Atom TypeThe molecular mechanics atom type suchas CT, HC, etc.

Residue Name The name of an amino acid or nucleic acidresidue such as GLY, ALA, etc.
Basis Set

The ab initio or DFT basis set assigned to
atoms. An example is 6-31G*.

Edit, Select, and Display Menus

233

Select Menu

Chirality

The chirality, R or S, assigned to a chiralatom.

Named Selec- The list of named selections previously
tionassigned using the Name Selection dialog
box. The list can include predefined
choices such as LINE, POINT, and PLANE) if
they have been assigned, and other names
you set up.conventional element symbol
for an atom such a C, N, O, or F.
RemoveBy Number

Permanently removes a named selection
from the list of named selections kept byHyperChem. See Name Selection below.

L-click to select atoms with a specified value of anumeric variable. L-click on one of the radio buttons to select the numeric variable and then specify its value or range of values.
If multiple molecules are in the workspace, youwill need to specify, which molecules you areselecting from. The molecules can be specified in alist such as 1,2,4 or in a range such as 1-7, or combined such as 1-2,4 to make an atom selection inmolecules 1,2, and 4. If For Molecule(s) is notchecked, then the atom selection is made for all
molecules.
Numeric variables can be chosen from the following values:

Atom Number Selects atoms. The number is the numberof an atom within a molecule. Rememberthat each molecule has its own atom numbers starting at 1 (there may be many
atoms numbered 1). A global atom numbering scheme requires specifying both theatom number and the molecule number.

234

Chapter 7

Select Menu

Residue
Number

Selects all atoms in specified residues. The
number of a residue starts at 1 within eachmolecule. A global residue numbering
scheme requires specifying both the residue number and the molecule number.

Molecule
Number

Selects all atoms in specified molecules.
The molecule number starts at 1.

Atomic Mass

Selects atoms based on their atomic mass.
Provides a way to find atoms that have had
their mass changed for isotope studies.

AtomicNumber

Selects atoms based on their atomic number 1, 2, ... etc.

Electronic
ChargeSelects atoms based on their atom charge
calculated in quantum mechanical calculations, coming from amino acid and nucleic
acid templates, etc. The atom charge is apositive or negative floating point number,e.g. -0.136, specifying excess number ofelectrons on that atom.

RMS Gradient Selects atoms based on their root-meansquare gradient of the energy with respect
to atom displacement in space. In an optimized structure these would be zero for all
atoms.
Spin
Population

Selects atoms based on their excess ofalpha (spin up) electrons over beta (spindown) electrons. Only open-shell systems
have non-zero spin populations. Unrestricted quantum mechanical calculations
lead to non-zero spin populations for the
associated atoms.

Value

Numeric values can be specified either asexact values, e.g. 3, or in a range, e.g.
Edit, Select, and Display Menus

235

Select Menu

greater than 0.0 and less than 1.5. Floating
point values should be specified with arange because of precision issues.
For
Molecule(s)If checked this field specifies the molecules
to be included in selecting atoms. If
unchecked then all molecules areincluded. The molecules can be listed as
1,2,5, etc. or can be given as a range, e.g.
13-22, or both.

Selecting by String
To select atoms or molecules by an assigned string:
1. Choose Select on the Select menu.
2. L-click on By String in the Select dialog box.
3. L-click on one of the radio buttons specifiying a string variable.
4. L-click on one of the values presented in the panel to theimmediate right.
5. L-click on OK.
Note: Strings that are inappropriate for use in the current context will be grayed.

Selecting by Number
To select atoms, residues or molecules by number:
1. Choose Select on the Select menu.
2. L-click on By number in the Select dialog box.
3. L-click on one of the radio buttons specifying a number variable.
4. Enter the appropriate numeric range or exact value.
5. If appropriate, check For Molecule(s) and specify a set and/or
range of molecules. If unchecked, all molecules is the default.
6. L-click OK.

236

Chapter 7

Select Menu

Numbering
HyperChem assigns a number to each atom, residue, and molecule, starting with 1 for each type of structure. This is the numbering order:•

Atoms: If you draw molecules in HyperChem, atoms are numbered in the order you draw them. Molecules from the Protein
Data Bank have defined numbering. Atom numbering starts
from 1 for each molecule.

•

Residues: In polypeptides, residue 1 is at the N-terminus. In
polynucleotides, residue 1 is at the 5′ end, unless you constructed a polynucleotide starting from the 3′ end (Backwards).
Residue numbering starts from 1 for each molecule.

•

Molecules: Molecules are numbered in the order you added
them to the molecular system.

Name Selection
Name Selection shows you the Name Selection dialog box forassigning a name to selected atoms. When atoms have a selection
name, you can easily select them again. The name can be “special”(POINT, LINE, PLANE, REACTANT, PRODUCT, PLOT1, PLOT2, GHOSTATOMS, NMR ATOMS, QUANTUM ATOMS) or any name that you
supply, up to 19 characters long (Other). “Special” selections haveproperties in addition to describing a set of atoms (see the next section).
Note: Name Selection is gray until you select at least one atom.
Some special names are available only under some conditions.

Edit, Select, and Display Menus

237

Select Menu

Name Selection Dialog Box

POINT

The center of mass of the selected atom or atoms.

LINE

The best-fit straight line between two or more
atoms, or the primary inertial axis.1

PLANE

The best-fit plane connecting three or more atoms,
or the plane formed by the primary and secondary
inertial axes.

REACTANTThis selection contains the reactant atoms for setting up a Synchronous Transit transition-state
search (see “Reaction Map . . .” on page 353). Thisline in the dialog box is active only if you haveselected half of the atoms in the workspace.

PRODUCT

This selection contains the product atoms for setting up a Synchronous Transit transition-state
search (see “Reaction Map . . .” on page 353). Thisline in the dialog box is active only if you haveselected half of the atoms in the workspace.

PLOT1

This selection contains a set of 2, 3, or 4 atoms
defining either a bond length, bond angle, or bondtorsion that are being specified as the first variable
in a possible 1D or 2D potential energy plot. If apotential energy plot is requested and their is no
current selection, then PLOT1 will be the independent variable for the plot. If there is a current selection for a one-dimensional plot then PLOT1 isignored.

1. The primary inertial axis corresponds to the smallest eigenvalue of the moment of inertia matrix.

238

Chapter 7

Select Menu

PLOT2

This selection contains a set of 2, 3, or 4 atoms
defining either a bond length, bond angle, or bondtorsion that are being specified as the second variable in a possible 2D potential energy plot. If apotential energy plot is requested and there is no
current selection, then PLOT1 and PLOT2 will be
the independent variables for the 2D plot. PLOT1
and PLOT2 both need to be defined to enable a
two-dimensional potential energy plot.

GHOST
ATOMS

This selection contains the set of atoms to be
defined as ghost atoms for potential use in ab initio
or DFT calculations. These atoms, depending onwhether ghost atoms are invoked by the setup of
ab initio or DFT calculations will have basis functions but their nuclei will not be used in the calculation. This selection is rigorously equivalent toyou choosing “ghost-atoms” as a named selection.

NMR
ATOMS

This selection contains the set of atoms to be given
a nuclear spin and used in the HyperNMR module.
See the documentation for HyperNMR in the Module manual for further information. This selection
is rigorously equivalent to you choosing “nmratoms” as a named selection.

QUANTUM
ATOMS

This selection contains the set of atoms to be
defined as the quantum atoms in a mixed molecular mechanics - quantum mechanics (MM/QM)
calculation. It is specifically used in the HyperNMR
module and is not yet available for MM/QM calculations outside HyperNMR. Future releases ofHyperChem would be expected to use this named
selection for ordinary MM/QM calculations whichcurrently use the current selection to distinguish
the MM region from the QM region. This selection
is rigorously equivalent to you choosing “quantum-atoms” as a named selection.

Other

A name that you supply, up to 19 characters long,with at least one lowercase character, and nospaces.

Note: GHOST ATOMS, NMR ATOMS, and QUANTUM ATOMS
have rigorous equivalents ghost-atoms, nmr-atoms, and quantumatoms unlike other pre-defined named selections. This is for comEdit, Select, and Display Menus

239

Select Menu

patibility with earlier use of these named selections prior to theirappearing in the above Select dialog box.

Naming Selections
To name a selection:
1. Using the Selection tool, select any set of atoms, residues, ormolecules.
2. Choose Name Selection on the Select menu.
3. L-click on POINT, LINE, PLANE, REACTANT, PRODUCT, PLOT1,
PLOT2, GHOST ATOMS, NMR ATOMS, QUANTUM ATOMS or
Other. If you choose Other, enter a name, from one to 19 characters long, but don’t use all uppercase letters. Names with all
uppercase characters are reserved for HyperChem’s special
selections, like POINT.
4. L-click OK.
Each molecular system can have only one POINT, LINE, PLANE,
REACTANT, PRODUCT, PLOT1, PLOT2, GHOST ATOMS, NMR ATOMS,
or QUANTUM ATOMS selection, but any number of other selection
names. For example, if you use POINT a second time, the new
selection replaces the last POINT selection. HyperChem requests
confirmation of this replacement.
To remove a named selection, use the Remove function of theSelect Dialog Box (page 233).

Using Named Selections
You can use these names any time during a HyperChem session to
select a set of atoms. The names belong to a molecular system. You
can store these names, with the molecular system, in a HIN fileand use them for another HyperChem session.
HyperChem uses the special names POINT, LINE, PLANE, REACTANT,PRODUCT, PLOT1, PLOT2, GHOST ATOMS, NMR ATOMS, QUANTUM ATOMS to indicate particular properties of a selection. You
can use these special names to recall a selection, and HyperChem
can use the special properties of these selections for other operations. For example, you can translate molecules to a POINT (see240

Chapter 7

Select Menu

“Translate Dialog Box” on page 211) or invert a molecule througha POINT (see “Invert” on page 206).
HyperChem uses the special names REACTANT and PRODUCT for
setting up a Synchronous Transit transition-state search (see “Reaction Map . . .” on page 353). These lines in the dialog box are active
only if you have selected half of the atoms in the workspace.
Note: Selection names belong to individual molecular systems andappear in the Select dialog box only when that molecular system
is in the workspace. If you save a molecular system in a HIN file,
HyperChem also stores named selections.
You can also use named selections (Other) for setting restraints ina calculation (see the next section) and for defining lengths andangles that are averaged or plotted in a molecular dynamics simulation (see “Molecular Dynamics Averages Dialog Box” on page377).

Using Named Selections for Restraints
HyperChem can use 1, 2, 3, or 4 atom named selections to restrain
a molecular system during a calculation (see “Setting Up
Restraints” on page 342). These selections can be either predefined(POINT, LINE, and PLANE) or you can define them yourself (Other).
•

A single atom can be tethered to a point in space•

Distances between any two atoms, including bond lengths•

Angles formed by any three atoms, including bond angles•

Torsion angles formed by any four atoms, including improper
torsions

The named selections appear in the Restraint Forces dialog box
with a prefix indicating the number of atoms in the selection. For
example, a selection named C11/N78 that describes the distance
between two nonbonded atoms appears as 2-C11/N78.
HyperChem stores these restraints, along with the named selections and the molecular system, in a HIN file.

Using Named Selections in MD Calculations
HyperChem can use 2, 3, or 4 atom named selections to plotchanging values or to calculate averages during a molecular

Edit, Select, and Display Menus

241

Select Menu

dynamics simulation (see “Molecular Dynamics Averages Dialog
Box” on page 377). These selections can be either predefined(POINT, LINE, and PLANE) or definitions of your choice (Other). The
named selections represent these values:•

Distances between any two atoms, including bond lengths•

Angles formed by any three atoms, including bond angles•

Torsion angles formed by any four atoms, including improper
torsions

The named selections appear in the Molecular Dynamics Averages
dialog box, described on page 377.

Name Molecule
Name Molecule is used to give a name to a selected molecule. While
not required, it may be useful to assign a relatively long name to
specified molecules. For example, this name may become part of adatabase of molecules. The name is stored with a molecule in HIN
files and is displayed on the status line when a molecule is selected.
The name may contain up to 64 characters and includes capitalization, numbers, symbols, blank spaces, etc.

Name Molecule Dialog Box

Extend Ring
Extend Ring selects all atoms in a ring, starting with two selected,
covalently bonded atoms.
To use Extend Ring:
1. Choose Atoms on the Select menu.
242

Chapter 7

Select Menu

2. With the Selection tool, select one bond or two adjacent atoms
in a ring. To select two atoms, first turn on Multiple Selections.
3. Choose Extend Ring.

ExtendRing

Note: You can also select a ring by double-clicking with the Selection tool on an atom or bond in the ring. You must first choose
Atoms on the Select menu.

Extend Side Chain
Extend Side Chain selects all atoms in a side chain that can rotate.
For HyperChem, each bond that is not part of a ring defines twoside chains, one to either side of the bond.
To use Extend Side Chain:
1. Choose Atoms and turn on Multiple Selections on the Selectmenu.
2. With the Selection tool, select two adjacent atoms that are notpart of a ring. The order of selection determines the directionof the search for a side chain. HyperChem selects the side
chain past the second selected atom.
3. Choose Extend Side Chain.

Edit, Select, and Display Menus

243

Select Menu

select first
select second

Extend Side
Chain

Note: You can also extend a side chain by double-clicking with theSelection tool on a bond. You must first choose Atoms on the Selectmenu. Then double-click on one end of a bond (from the midpoint of the bond to the bonded atom). HyperChem selects theside chain connected to the nearest atom.

Extend to sp3
Extend to sp3 starts at selected atoms and selects additional atoms,
in all directions, until it meets sp3–sp3 single bonds or singly
bonded atoms. The extended selection includes the near half ofthe sp3–sp3 bonds.

Extend tosp3

Use this item if you are going to apply a semi-empirical quantum
mechanical calculation to part of a molecule. This HyperChem fea-

244

Chapter 7

Select Menu

ture lets you use both molecular mechanical and quantum
mechanical calculations on parts of the same molecule.
HyperChem considers these as sp3 atoms:•

A carbon bonded to four other atoms.

•

A nitrogen bonded to three other atoms.

•

An oxygen bonded to two other atoms.

•

The nitrogen bonded to the alpha carbon in a peptide bond.
This assignment for the peptide bond nitrogen allows boundaries between amino acid residues.

To extend a selection to sp3–sp3 single bonds, first select at least
one atom, bond, or residue. Then choose Extend to sp3 on the
Select menu.
Note: When you run a semi-empirical calculation on a selectedpart of a molecule, HyperChem replaces C, O, and N atoms on thefar half of the sp3-sp3 bonds with parameterized fluorine atoms.
These capping atoms have the appropriate electronegativity orelectropositivity to represent the replaced atoms during quantum
mechanical calculations (see HyperChem Computational Chemistry).

Select Backbone
Select Backbone automatically selects all atoms that provide structural continuity in proteins and nucleic acids constructed with residues from the Databases menu or from PDB files. Select Backbone
works on all polymers, constructed from residues, in the molecularsystem.

Edit, Select, and Display Menus

245

Select Menu

ferredoxin

single strand of DNA

For proteins, the backbone includes alpha carbons, peptide bonds,
and disulfide bonds. For polynucleotides, the backbone includes
all phosphodiester bonds, alternating with the C3′–C4′ carbons inthe sugar (ribose or deoxyribose).
This command does not work with polymeric molecules that you
construct, atom by atom, with the Drawing tool. To select a backbone in those molecules, use the Selection tool to select the atom
at one end of the backbone. Then L-drag to the atom at the otherend of the backbone. Multiple Selections does not have to be on.

246

Chapter 7

Select Menu

Edit, Select, and Display Menus

247

Display Menu
The Display menu determines the appearance of molecules in theworkspace. The Display menu has these commands:
Scale to Fit

Changes the magnification to fit all selected atoms
into the workspace. If there is no selection, this item
fits the whole molecular system into the workspace.
Same as pressing [Spacebar]

Overlay

Places two selected molecules on top of one
another. Requires two 3-atom selections.

RMS Fit and Overlay

Overlays molecules by minimizing the distance
between corresponding atoms.

Show All

Displays all atoms in the workspace, cancelingShow Selection Only or Hide Selection

Show Selection
Only

Displays only the selected atoms that are presently
visible in the workspace. Hides atoms that are notselected

Hide Selection

Turns off the display of selected atoms. Leaves visible only atoms that are not selected

Rendering . . .

Chooses options for representing all molecules in amolecular system. This model applies to the whole
molecular system

Last Rendering

Restores the previous mode of rendering in theWorkspace. Same as pressing [F2]. This option is notavailable (grayed out) while an isosurface is being
displayed

Raytrace...

Creates high quality ray-traced molecular graphics.

√ Show Isosurfacea If an isosurface has been calculated and is available
for display, this controls whether it will be displayedor not. Same as pressing [F3]
Isosurface . . .

If an isosurface has been calculated and is available
for display, this opens the Contour Isosurface
Options dialog box or the Orbital Isosurface
Options dialog box. Same as pressing [F4]248Display Menu
✓ Show
Hydrogensa

Shows molecules with (✓) or without (no checkmark) their hydrogen atoms✓ Show Periodic
Boxa,bShows the outline of a periodic box (✓) or removes
the outline (no check mark), leaving all molecules
and the periodic boundary conditions. To place aperiodic box in the workspace and to set up periodic boundary conditions, choose Periodic Box on
the Setup menu

✓ Show Multiple
BondsaShows double, triple, and aromatic bonds with different types of lines (✓) or shows all bonds as single
lines (no check mark)✓ Show AromaticRings as Circlesa

Shows aromatic rings with inner circle to indicate
aromaticity (✓) or as the default with dotted lines toindicate aromatic bonds (no check mark)✓ Show Hydrogen
BondsaShows hydrogen bonds as dotted lines (✓) or not atall (no check mark)Recompute H
Bonds

Calculates hydrogen bonding and shows hydrogenbonds if Show Hydrogen Bonds is on✓ Show Inertial
Axesa

Calculates and displays the inertial axes of selected
atoms or of the molecular system✓ Show Dipole
MomentDisplays the dipole moment of the selected atoms
or of the molecular system, if a semi-empirical or abinitio calculation has been performed

Labels . . .

Adds labels to identify atoms or residues in Sticks
renderings of molecules. A Labels dialog box gives
nine choices of labels for atoms, three choices forresidues, or no labels at all

Color . . .

Changes the color applied to selected atoms, residues, or molecules. This color remains after you
deselect the atoms

Element Color . . .

Changes the default color for each element

a. A check mark appears next to this item when it is on. Turning it on affects
all further displays, until you choose it again to turn it off.
b. When this item is gray, it is temporarily unavailable. You must change somecondition in HyperChem to make it available.

Edit, Select, and Display Menus

249

Display Menu

Scale to Fit
Scale to Fit centers selected atoms or the whole molecular systemin the workspace. HyperChem changes the magnification so thatthe molecules occupy about three quarters of the height of theworkspace. This sets Zoom Factor to 1 (see “Zoom Dialog Box” onpage 212).
Scale to Fit also resets the clipping planes to include the selectionor the whole molecular system.
Note: Press [Spacebar] as a shortcut to choosing Scale to Fit.

Scale to Fit(1 residue selected)

Scale to Fit(no selection)

You can use Scale to Fit for these adjustments:•

Focusing on selected atoms or molecules.
Group select (see “Select Sphere and Group Selecting” on page227) atoms of interest, and then press [Spacebar]. The selected

250

Chapter 7

Display Menu

structures fill the workspace. To reverse this enlargement, deselect the atoms and press [Spacebar].
•

Locating molecules that are out of the workspace.
Deselect all atoms (R-click with the Selection tool in an empty
part of the workspace) and press [Spacebar] to return the whole
molecular system to the center of the workspace.

Overlay
Overlay places one molecule on top of another so that you canmake structural comparisons.
To use Overlay:
1. Choose Atoms and turn on Multiple Selections on the Selectmenu.
2. Select three atoms in one molecule. These can be, for example,
the three atoms defining a bond angle. This becomes molecule
number 1.
3. Select three atoms in a second molecule. These can be any
three atoms, but your selection should correspond to selected
atoms in molecule 1. This becomes molecule 2.
4. Choose Overlay. HyperChem moves molecule 1 to coincidewith molecule 2.

select 1
select 2

select 3

overlaygeometry
optimized
after Model Building (left) then geometry optimization with AM1 (right)

Edit, Select, and Display Menus

251

Display Menu

HyperChem remembers the order in which you selected the atoms(1, 2, and 3). It first places atoms numbered 1 at the same coordinates. Then it superimposes the bonds between atoms 1 and 2.
Finally, it rotates the first molecule so that atoms 1, 2, and 3 inboth molecules are in the same plane.

RMS Fit
Overview
RMS Fit is a module for overlaying molecules by minimizing the
distance between corresponding atoms. The RMS value of theresidual distances (in Ångstroms) is reported on the status line as ameasure of the similarity of the structures.
RMS Fit is fully compatible with HyperChem's select-and-operate
way of working. If there are atoms selected, these atoms and only
these atoms are overlaid. If no atoms are selected (and two molecules present) then all atoms are considered in the RMS fitting process.
The executable file for RMS Fit is HCRMSFIT.EXE, which is in yourProgram directory.

Tutorials
These tutorials illustrate how to use the RMS Fit module to overlay
two molecules, using either all atoms or only selected atoms.

1. Overlaying Two Structures Of The Same Molecule
Given two structures of the same molecule on the screen, such as
two structures obtained from a single dynamics run, they can beoverlaid in a very straightforward manner. Simply choose RMS Fit
and Overlay from the Display menu, and RMS Fit moves molecule
number two over molecule number one in such a way that theRMS distance between corresponding atoms is minimized. The
residual RMS distance is reported on the HyperChem status line.
The figure shows two slightly different structures of ethanol overlaid.

252

Chapter 7

Display Menu

2. Overlaying Selected Atoms Only
RMS Fit can overlay selected parts of a molecule, for instance if you
wish to compare the similarity of the backbones of two peptides.
To do this, select the atoms of interest in the two molecules andchoose RMS Fit and Overlay from the Display menu. RMS Fit
moves the second molecule selected so that the selected atoms fit
as closely as possible.
RMS Fit offers two options for the way in which the overlay is carried out. You can overlay either by molecule numbering or by selection order. In general, overlay by molecule numbering is appropriate when overlaying two structures of the same molecule, or similar molecules in which the atoms to be overlaid are in the same
sequence, while overlay by selection order is appropriate when
you have specific atoms you want to overlay in distinct molecules.
To overlay by molecule numbering:
5. Choose the Databases/Amino Acids… menu item in HyperChem to bring up the amino acids dialog box.
6. Set the conformation to Beta sheet by clicking on the appropriate radio button.

Edit, Select, and Display Menus

253

Display Menu

7. Build a strand of six glycine residues, capped by acetyl andmethyl amine groups, by clicking on the Ace Gly Gly Gly Gly Gly
Gly NMe buttons.
8. Build a similar strand, but with one glycine replaced by a proline residue, by clicking on the Ace Gly Gly Gly Pro Gly Gly NMe
buttons. The proline group cannot adopt a beta sheet conformation, and alters the structure of the backbone. You will heara beep when you click on the proline, alerting you to this fact.
9. Choose the Select/Select Backbone menu item. Both backbones should be selected.
10. Launch the RMS Fit module by choosing RMS Fit and Overlay
in HyperChem's Display menu.
11. When you see the Options dialog box, choose Molecule Numbering, and click on OK to continue. The structures are overlaid with an RMS error of 1.67 Å.
To overlay by selection numbering:
1. Draw 1,2-difluoroethene (FCH=CHF) and 1,2-difluoroethane(FCH2CH2F), and model build them. Both will adopt a transconfiguration.
2. Select the fluorine and carbon atoms in each molecule. First
click on the selection tool, and then drag the mouse from one
fluorine atom to the other in each molecule.
3. Choose RMS Fit and Overlay from the Display menu.
4. When the dialog box appears, select the Selection Order
option, and click on OK. The two molecules are overlaid, andthe HyperChem status line shows an RMS Error of 0.84 Å.

Reference
This section describes the RMS Fit Options dialog box and the
HCRMSFIT.INI file.

RMS Fit Options Dialog Box
If you invoke RMS Fit on two molecules (with the same number ofatoms) with no selected atom, the overlay is automatically carriedout by molecule numbering, and no dialog box appears. Atom 1
in molecule 1 is overlaid onto atom 1 in molecule 2, and so on.

254

Chapter 7

Display Menu

If, however, you have selected some atoms in each molecule thatyou wish to overlay, then a dialog box appears. This dialog box
offers a choice between overlay by molecule numbering or by
selection order.

Overlay By Molecule Numbering
If you choose to overlay by molecule numbering then atoms areordered by number (as shown by choosing the Labels item in theHyperChem Display menu, and selecting Number) and the overlay
is carried out in by matching the sequences. Thus, if atoms 1, 3,
and 5 are selected in molecule 1, and atoms 1, 2, and 6 are selectedin molecule 2, the overlay is carried out by minimizing the distance between the following pairs of atoms, regardless of the orderin which the atoms were selected:
Atom 1 in molecule 1 with atom 1 in molecule 2
Atom 3 in molecule 1 with atom 2 in molecule 2.
Atom 5 in molecule 1 with atom 6 in molecule 2.
Overlay by molecule numbering is particularly useful when comparing different structures of the same molecule, or structures ofclosely related molecules. For instance, suppose you want to compare the structure of the ring in a cyclic peptide (molecule 1) withthat in a similar peptide which differs in that one amino acid ismutated (molecule 2). You place both molecules on the screen,
double click with the selection tool on a ring atom to select thering in each molecule, and overlay by molecule numbering. The
particular atom in the ring you clicked on does not matter in thiscase.

Overlay By Selection OrderIf you choose to overlay by selection order then pairs of atoms thatare overlaid are determined by the order in which you select them.
If you select atoms 1, 3, and 5 in molecule 1 (in that order) andatoms 1, 6, and 2 in molecule 2 (in that order) and overlay by selection order, then the overlay is carried out by minimizing the distance between the following pairs of atoms.
Atom 1 in molecule 1 with atom 1 in molecule 2
Atom 3 in molecule 1 with atom 6 in molecule 2
Atom 5 in molecule 1 with atom 2 in molecule 2
Edit, Select, and Display Menus

255

Display Menu

Note that the order-dependence is only within a particular molecule: it does not matter whether you select all atoms to be compared in molecule 1 first, and then those in molecule 2, or whether
you select one atom in molecule 1, one in molecule 2, the secondin molecule 1, and so forth. Overlay by selection order is particularly useful when comparing the structures of molecules that comefrom different sources, for which the atom numbering within themolecules may bear little or no resemblance to each other.

Suppressing The Options Dialog Box
RMS Fit stores the most recent choice of option in a short initialization file, HCRMSFIT.INI in your Program directory. This filelooks as follows:
ShowDialogBox=True
OverlayBySelectionOrder=False

You can edit this file in a text editor to suppress the display of theoptions dialog box. Setting ShowDialogBox to False and OverlayBySelectionOrder to True (if you wish to overlay by selection order)
or False (if you wish to overlay by molecule numbering) forces RMS
Fit to not show the Options dialog box and to act as if the option
you have just set is chosen, each time it is invoked. This can be
useful if you routinely use one or other of the options, and do notwish to be prompted to choose each time. To go back to showing
the dialog box, edit this file and set ShowDialogBox to True.

Hints
There may be occasions when the RMS procedure does not find thebest overlay between two molecules. The RMS procedure is an iterative one. It starts by superimposing the centers of geometry of
the two structures, and then searches to improve the fit each iteration until no further significant improvement can be made. One
special case occurs if you have two molecules with planes of symmetry, arranged as if reflecting in a mirror, as follows:

256

Chapter 7

Display Menu

Here the overlay may end up with a structure that is not the best
overlay, but instead looks as follows:

If you see this effect, rotate one or other of the molecules slightly
out of the plane, so that they are no longer symmetricallyarranged, and repeat the overlay.

Edit, Select, and Display Menus

257

Display Menu

Show AllShow All cancels Show Selection Only and Hide Selection. You canthen see all molecules in the molecular system.
Note: You might not see all atoms in a molecule or all moleculesin the molecular system. This depends on the other display conditions (for example, Show hydrogens and Perspective View) and theviewpoint you use (for example, the zoom setting and the clipping
slab settings).

Show Selection OnlyShow Selection Only displays only the selected atoms and molecules that are visible (see “Visible Atoms” on page 222). It hides all
atoms that are not selected.
Use Show All to reverse Show Selection Only.

Hide Selection
Hide Selection makes all selected atoms invisible. Use Show All toreverse Hide Selection.

Rendering
Rendering displays the Rendering property sheet for choosing thetype of molecular rendering model and options. Not all options
are supported with all models and this is indicated by grayed itemsin the dialog box. The dialog box has several pages which can beaccessed by clicking on the appropriate “tab control”.

Rendering: Rendering Method
This page shows options for the rendering of atoms and bonds inthe structure.

258

Chapter 7

Display Menu

SticksThis shows a line for every bond. Each half bondhas the color of the element at the end of the bond.
This is the most efficient rendering and requires
the least amount of computing time when you
make changes in position or rotational angle.

Balls

Atoms are drawn as spheres (if Shaded is on) or as
flat disks (if Shaded is off). Atoms are drawn instrict order of appearance, back to front; they are
not shown as overlapping. With shading, the quality of this rendering increases significantly whenusing a video display with 256 or more colors.

Balls and
CylindersShow bonds as solid objects. When Shaded is on,
bonds are drawn as shaded cylinders; otherwise
they are drawn without shading. Atoms are drawn
as with the Balls option, above.

Overlapping
SpheresAtoms are drawn as overlapping, with CPK radii, as
unshaded disks (if Shaded is off) or as shaded
spheres (if Shaded is on). With shading, the qualityof this rendering increases significantly whenusing a video display with 256 or more colors.

Dots

These are transparent, space-filling models with asurface constructed of dots. The surface shows the
CPK radii of the atoms. Stereo is not available andthe Wedges option is ignored.

Sticks & Dots

These models are a combination of Sticks and Dots.
They show bonding and give an impression of theEdit, Select, and Display Menus

259

Display Menu

space-filling properties of a molecular system. Stereo is not available.
Note: You can apply labels (see “Labels” on page 281) only to Sticks
and Sticks & Dots renderings.

Rendering: Sticks
This page shows options for rendering structures as Sticks.

StereoTurn this option on with Sticks to see duplicate
images of the molecular system for stereo viewing(see “Using Stereo” on page 268). With Stereo on,
you can use the Selection tool only with the image
on the right to select atoms or residues. You cannot
use the Drawing tool. With Stereo off you see thenormal, single image of a molecular system.

Perspective

Check this to have all molecules appear to be inperspective, with closer atoms appearing larger.
Perspective must be on to see changes with the Ztranslation tool (see page 43). This option also
shows the periodic box in perspective (see “Show
Periodic Box” on page 275 and “Periodic Box” onpage 335).
With Perspective View off (no check mark), allatoms appear projected onto the plane of the260

Chapter 7

Display Menu

screen; you have fewer visual clues to the depth ofatoms within a molecule.
Ribbons

Use Ribbons to highlight the secondary and tertiary structure of a polypeptide chain or protein.
Ribbons can be shown for polypeptides with residues that have originated from the amino acids
database, or have been defined in a template file.
The ribbons follow the backbone of the polypeptide as a five-point spline curve, consisting of nine
lines. The ribbons are displayed for the whole molecule, regardless of the selection or the segment of
the molecule currently displayed. If you choose
Hide Selections, this does not affect the visibility of
the ribbons.

WedgesThis option toggles the display of bonds with stereochemistry constraints as either solid (wide end
closer to you) or dashed (pointed end closer toyou) wedges for Sticks and Stick & Dots. The wedges
are used to depict stereochemistry constraints for
the Model Builder, with the pointed end being
connected to the constrained atom. Wedges canalso be used for purely visual purposes as well.
Wedges will appear with an exclamation point if
the depicted stereochemistry constraint is not yet
satisfied — use the Model Builder for it to takeeffect. See “Using Wedges to Display and Specify
Stereobonds” on page 482.

IR Vectors

Turn on this option with Sticks, Dots or Stick & Dots
after performing a vibration calculation to display
normal mode displacement vectors. See “Vibrational Spectrum” on page 406.

Gradients

Calculations of single points, optimized structures,vibrational spectra, molecular dynamics, etc. all
involve calculating the energy and generally the
first derivatives of the energy with respect to coordinate displacements [ab initio calculations of single points can request not to calculate these derivatives]. These derivatives (gradients or forces on anatom) can now be displayed as vectors with a direction parallel to the force and a length proportional
to the magnitude of the force. The gradients can be
Edit, Select, and Display Menus

261

Display Menu

displayed only when rendering the molecule witha sticks rendering. For a diatomic molecule, where
the bond length is less than the optimized bondlength, the gradients vectors look as follows:

Stick Width

The slider and number box indicate the width used
to draw sticks, in units of pixels.

Rendering: Cylinders
This page shows options for rendering bonds as cylinders.

262

Chapter 7

Display Menu

Color Scheme In this section, you can specify whether bonds
should all be drawn with the same color, or coloredaccording to the elements they join.
Use uniform
colorsIf this option is selected, all bonds will bedrawn as shades of gray.

Color byelement

If this option is selected, each bond is colored according to the atoms that it joins. If
the atoms are drawn in different colors,then the bond is drawn half in one color,and half in the other.

Cylinder width The slider and number box indicate the scaling factor which shows the cylinders’ radius as a fractionof the maximum allowed value. This maximum
value is the radius at which a boron atom is drawn;boron has the smallest drawing radius of all theatoms.
Default

Restores the scale factors to values that will display
atoms with their default radii, or cylinders to a
standard value.

Rendering: Balls
This page shows options for rendering atoms as balls.

Edit, Select, and Display Menus

263

Display Menu

Shading

This options toggles the display of atoms renderedas Balls, and bonds rendered as Cylinders, between
a flat appearance and a shaded three-dimensional
appearance. The flat display is much faster to draw,
but the three-dimensional display looks much better.

Highlight

This option adds bright highlights to a structure,enhancing its three-dimensional appearance. This
option is available only when Shaded is turned on.

Ball Radius

The slider and number box give the scaling factor
which shows the spheres’ radii as a fraction of the
maximum allowed values.

Default

Restores the scale factor to 0.5, which will display
atoms with their default radii. For each atom, thedefault drawing radius is 0.75 × the van der Waals
radius except when that value was not available, inwhich case the covalent radius is used. Setting thescale factor to 0.667 will therefore draw atoms withvan der Waals radii.

Rendering: Overlapping Spheres
This page shows options for rendering atoms as Overlapping
Spheres.

264

Chapter 7

Display Menu

Shading

This options toggles the display of atoms renderedas Overlapping Spheres between a flat appearance
and a shaded three-dimensional appearance. The
flat display is much faster to draw, but the threedimensional display looks much better.

Highlight

This option adds bright highlights to a structure,enhancing its three-dimensional appearance. This
option is available only when Shaded is turned on.

Edit, Select, and Display Menus

265

Display Menu

Sticks

Dots

266

Chapter 7

Sticks and DotsDisplay Menu

Balls, Shading off

Overlapping Spheres, Shading andHighlights on

Balls and Cylinders, Shading off

Balls and Cylinders, Shading andHighlights on

Edit, Select, and Display Menus

267

Display Menu

Using Stereo
With the Stereo option on, you see duplicate images of the molecular system for stereo viewing. You can turn Show Stereo on only
when you are using the Sticks rendering model (see page 258). If
you see only part of a molecular system in the workspace, Show
Stereo presents a stereo pair of the atoms in the workspace only.
Note: Turning Perspective View on might increase the stereo effect.
When the stereo view is on, you can use the Selection tool onlywith the image on the right to select atoms or residues. You cannot
use the Drawing tool.
HyperChem uses two different methods for presenting stereo
images: walleyed or cross-eyed. You can set HyperChem to use oneor the other by changing this setting in the Registry or thechem.ini file (see “Ab Initio Settings” on page 747):
WallEyedStereo=Yes (or No)

backbone of tRNA, with walleyed stereo and Perspective View on

Walleyed Stereo
For walleyed stereo viewing, the images for the left and right eyes
are on the left and right sides of the workspace respectively. The
advantage of walleyed viewing is that you see one, fused 3D image.
It is not suitable for large molecules, because the images mightoverlap in the workspace.
Note: You might have to adjust the width of the HyperChem window to get the best stereo effect. This changes the separation of the268

Chapter 7

Display Menu

two images. The separation between images should be less thanthe distance between your eyes (about 8 centimeters).
To see a stereo effect, you must merge these images into one. To dothis you can use a stereo viewer, or place a sheet of paper against
the screen to block your view of each image from the opposite eye.
Then change your focus as if you were looking at a distant object.
You can also aid image fusion by squinting or removing yourglasses (if you are short-sighted) to blur your vision.

Cross-eyed Stereo
For cross-eyed stereo viewing, the images for the left and right eyes
are reversed in the workspace: the image for the left eye is on theright side of the workspace. You must cross your eyes so that you
see the left image with your right eye. The advantage of cross-eyedviewing is that you can see larger molecules in 3D.
This method requires more practice. You must learn to cross youreyes and to concentrate on the central, fused image in the presenceof left and right images.

Last Rendering
Last Rendering returns the rendering mode to the mode that wasused before the most recent change. Two modes can therefore be
alternated by using this option repeatedly. This option can be activated by pressing [F2]. This menu item is not available while an isosurface is being displayed; displaying an isosurface automaticallyswitches the rendering mode to Sticks.

Raytracing
Overview
HyperChem Raytrace, together with POV-Ray (a third-party freeraytracing program), provide facilities for producing high quality
ray-traced molecular graphics from HyperChem. In order to use
HyperChem Raytrace, you must have POV-Ray installed. Your normal HyperChem installation will install POV-Ray for you.

Edit, Select, and Display Menus

269

Display Menu

Obtaining a Raytraced Image
Using the raytracing module is very simple. At any time you
would like to see a raytraced image, you can do so by clicking on
the menu item <Display/Raytrace...>. The operation may takesome time but as soon as the operation is complete your workspace
will show a raytraced image such as that shown below:

Default Lighting Scheme
You will notice that the above is a raytraced image because of the
shadows. The image above shows the default lighting scheme.
This default lighting is easy to use and is highly recommended
unless you need custom lighting (see below).

Types of Images
Two types of raytraced images are available:

270

Chapter 7•

Ball and cylinders•

CPK overlapping spheres

Display Menu

Which raytracing you get depends upon the current renderingmode. A sticks rendering mode (in addition to the ball and cylinder mode) gives a ball and cylinders raytraced image. An overlapping spheres mode gives a rendering like the following:

Custom Lighting
If you wish not to use the default lighting scheme but add yourown lights you may do so. The procedure is somewhat unusual
but makes use of the existing tools in HyperChem for moving,
positioning, and visualizing atoms.
The custom lighting model makes use of point sources of light thatare defined as atoms but with a very specific named selection
attached to them. Atoms associated with a named selection,light*
i.e. a named selection, such as light1 or lightfromtheside, etc., which
begins with the lowercase letters l-i-g-h-t followed by any other letters, numbers, etc. By default such a light will be a white light.

Edit, Select, and Display Menus

271

Display Menu

Colored lights may also be added. These are added by associating
an atom with a named selection of three possible kinds:

light-red*
light-green*light-blue*
Atoms associated with such named selections will be colored
lights, either red lights, green lights, or blue lights. All atoms thathave been associated with a light this way are ignored as real atoms
and function only as "lights".
For example, if we add a carbon atom at the position shown below
and select it, we can turn the carbon atom into a light.

To turn it into a light (a red light for example) we just have to nameit appropriately as shown below:

272

Chapter 7

Display Menu

This lighting will leave most of the molecule in the shadows andit is likely you will want to add more lights than just this one. You
can add as many lights of different colors (red, green, blue, white)
as you like.

Using POV-Ray
The first time you use POV-Ray it will ask you to agree to its license
requirements. Thereafter it should appear quietly on the task bar
when a raytraced image is being created for HyperChem. It will
disappear after that image is passed to HyperChem. Basically what
is happening is that HyperChem prepares a standard *.POV file for
input to the POV-Ray program. Advanced users may want to learn
more about POV-Ray and customize its use.
Raytracing is a demanding computational task and depending on
your computer it may take some time. While raytracing is goingon, the task bar will show the percentage completion of the operation. After the operation is complete the raytraced image will betransferred to your HyperChem work space. Any attempt to moveor otherwise modify the molecule in the workspace will cause theraytraced image to disappear. To get it to reappear you will needto raytrace an image again.
Although your HyperChem installation will install POV-Ray foryou, advanced users may at some time wish to install their own
version of POV-Ray. If you wish to explore other versions of POVRay, they may be obtained by anonymous ftp from ftp.povray.org,
or by Web browser from http://www.povray.org. They can also be
obtained from any of a constantly changing number of mirror
sites.

Edit, Select, and Display Menus

273

Display Menu

Show Isosurface
If an isosurface has been calculated after a semi-empirical singlepoint calculation, Show Isosurface controls whether or not that surface will be displayed in the workspace. This option can be turnedon and off by pressing [F3]. Displaying an isosurface automaticallyswitches the rendering mode to Sticks.
Note: While the Stereo or Perspective options of the Sticks rendering are turned on, you cannot display a contour plot or isosurface(see page 391). If the Wedges option is on, the wedges will not beshown while an isosurface is being displayed.

Isosurface . . .
If an isosurface has been calculated after a semi-empirical singlepoint calculation, Isosurface opens the Plot Molecular Properties
property sheet (see page 392) or the Orbital Options property sheet(see page 401), which can also be opened from the Compute menu
or Orbitals dialog box, respectively. This feature can also be activated by pressing [F4]. The isosurface can be displayed only if thestructure is rendered in Sticks mode. The property sheets displayedby this option allow you to change the way that the stored values
are drawn but not to recalculate the isosurface values themselves.
These reduced property sheets allow you to change the Isosurface
Rendering options and the Transparency Level options; thereduced Plot Molecular Properties sheet also allows you to change
the Mapped Function options.

Show Hydrogens
Turn on Show Hydrogens (✓) to display all hydrogen atoms in themolecular system. The existence of hydrogens depends on yourprevious choices on the Build menu (Explicit Hydrogens, Add
Hydrogens, and Add H & Model Build), plus the composition of themolecules.

274

Chapter 7

Show
Hydrogens

Turn off Show Hydrogens (no check mark) to hide all hydrogens
and simplify the rendering of molecules in the workspace. Only
heavy atoms remain visible.
Hydrogens with a coordination number greater than 1 remain displayed when Show Hydrogens is unchecked.

Show Periodic Box
You create a periodic box, including water molecules, by choosing
Periodic Box on the Setup menu (see page 335). Show Periodic Box
turns off (no check mark) or on (✓) the display of the periodic box.
Note: Turn on Perspective View on the Display menu to see thedepth of the periodic box.
Turning off Show Periodic Box hides the outline of the box but
leaves water molecules and periodic boundary conditions in themolecular system. To permanently remove the periodic box, youmust edit the HIN file (see “box” on page 716), removing the box
record.

275

Display Menu

Show Periodic Box on

Show Periodic Box off

Note: Show Periodic Box is gray until you create a periodic box.

Show Multiple Bonds
With Show Multiple Bonds on (✓), HyperChem uses different typesof lines for single, double, triple, and aromatic bonds in Sticks or
Sticks & Dots renderings.
single bonddouble bond
triple bondaromatic bondShow Multiple Bonds on

276

Chapter 7

Show Multiple Bonds off

Display Menu

With Show Multiple Bonds off (no check mark), all bonds appear as
single lines.
If Show Multiple Bonds is off and you change the bond order with
the Drawing tool (see “Changing the Bond Order” on page 475),
the order of the bond (single, double, triple, or aromatic) appearson the status line.

Show Hydrogen Bonds
Show Hydrogen Bonds displays possible hydrogen bonds between
selected atoms or, with no selection, for all molecules in the molecular system.

hydrogenbondWith Show Hydrogen Bonds on (✓), you see hydrogen bonds as
white, dotted lines.
To show hydrogen bonds:
1. Select specific molecules or deselect all atoms.
2. Make sure Show Hydrogen Bonds is on.
3. Choose Recompute Hydrogen Bonds on the Display menu (seethe following section).

Edit, Select, and Display Menus

277

Display Menu

Caution: If you change the arrangement of molecules in the workspace (for example, by XY translation) or if HyperChem changes
the conformation during a calculation, choose Recompute Hydrogen Bonds to see up-to-date hydrogen bonds.
With Show Hydrogen Bonds off (no check mark), hydrogen bonds
are hidden. You cannot choose Recompute Hydrogen Bonds.

Recompute Hydrogen Bonds
Recompute Hydrogen Bonds determines hydrogen bonds between
selected molecules or, if there is no selection, between all atoms inthe molecular system. HyperChem creates a hydrogen bond if the
distance between the donor hydrogen and acceptor atom is lessthan 3.2 Ångstroms and the angle made by covalent bonds to thedonor and acceptor atoms is greater than 150 degrees. You canchange these criteria in the Registry or the chem.ini file (see “Ab
Initio Settings” on page 747).

>150°< 3.2Å

Caution: HyperChem stretches apparent hydrogen bonds as you
move molecules or during a calculation (geometry optimization ormolecular dynamics). You must use Recompute Hydrogen Bonds todetermine correct hydrogen bonding.
To use this item, Show Hydrogen Bonds must be on.
278

Chapter 7

Display Menu

Show Inertial Axes
When you turn on Show Inertial Axes (✓), HyperChem computes
and displays the inertial axes of selected atoms or, if there is no
selection, the molecular system. The axes appear as three orthogonal (perpendicular) dotted lines intersecting at the center of massof the atoms. The lines are numbered 1, 2, and 3 for primary, secondary, and tertiary axes. The status line shows the moments ofinertia in units of a.m.u.-Ångstroms2.

3

2

1

Note: Inertial axes appear only with Sticks and Sticks & Dots renderings of a molecular system.
Inertial axes are fixed in the Molecular Coordinate System anddepend only on the number, type (mass), and position of atoms.
The inertial axes have their origin at the center of mass and areorthogonal. The primary inertial axis is often the longest distancefrom the center of mass to the edge of the molecular system. See“Coordinate Systems” on page 18 for more information about
coordinate systems and axes.
You can align a molecular system relative to its inertial axes (see“Align Molecules” on page 216).

Edit, Select, and Display Menus

279

Display Menu

Once Show Inertial Axes is on, it applies to any selection or molecular system in the workspace. For example, if you change theselected atoms or use Merge (on the File menu) to add other molecules, HyperChem automatically computes and displays newinertial axes.

Show Dipole Moment
When you turn on Show Dipole Moment (✓), HyperChem displays
the dipole moment that has been calculated for the selected atoms
or for the molecular system. The menu item is gray and unavailable if a single-point calculation has not been performed to calculate the dipole. The dipole moment appears as a dotted line intersecting the center of mass of the atoms. The status line shows thetotal dipole moment, followed in brackets by its x, y, and z components, in units of Debyes.

Note that the sign convention used in the quantum mechanicalcalculation of dipoles is opposite to that used in molecularmechanics dipole calculations; this reflects the differing sign conventions of physics and chemistry.

280

Chapter 7

Display Menu

LabelsLabels lists names identifying individual atoms or residues in amolecular system. For atoms, you can use only one type of label ata time. For residues, you can show both atom and residue labels at
the same time.
Labels applies to selected atoms or, if there is no selection, to thewhole molecular system. By selecting atoms, applying different
labels, and removing the selection, you can mix the types of labelsthat appear in the workspace.
Note: You can apply labels only to Sticks and Sticks & Dots renderings (see “Rendering” on page 258).
When you open the Labels dialog box, the default choice is always
set to None. You can either accept this choice to remove all labelsor choose another label. Each time you use the Labels dialog box,
your choices replace the previous choices for selected atoms, or, if
there is no selection, for all atoms.

Labels Dialog Box

Atoms
None

Removes all labels. This is the default.

SymbolAtomic symbol, for example, C, O, Na, or P.

Name

The names of atoms from the BrookhavenProtein database; for example, CA and CB
for the alpha and beta carbons.
Edit, Select, and Display Menus

281

Display Menu

NumberAtom number.

Type

Atom type, according to the force field in
effect; for example, CT for a tetrahedral
carbon in the AMBER force field.

ChargeNet atomic charge, for example, –0.23.

Spin PopulationTotal net population (alpha-beta) of spinsof an atom.
Mass

Atomic mass.

Basis set

Basis set applied to each atom (may beNone).

Chirality

R or S.

RMS Gradient Scalar value of the gradient vector describing the force on an atom.
CustomCan be set to any string.

Residues
None

Removes all labels. This is the default.

Name

Residue name, for example, TRP, or ILE.

Sequence

Sequence number from the N-terminus:
1, 2, 3 ... 25 ... .

Name + Seq

Both Name and Sequence.

None

Removes all labels. This is the default.

Bond Length

Length between bonded atoms.

Bond Order

Bond order computed in quantum
mechanical calculations.

Bonds

Color
Color shows the Selection Color dialog box for marking selected
atoms with a distinct, persistent color. Atoms keep this color after
you deselect them. If there is no selection, the whole molecularsystem takes on this persistent color. Use this feature to keep trackof a set of atoms in a larger molecular system.

282

Chapter 7

Display Menu

When you make a selection, atoms first take the color for a selection set in the Preferences dialog box (see page 95). The default isGreen. The color you choose from the Selection Color dialog box
replaces a color chosen in the Preferences dialog box.
Note: You see the persistent selection color only after you deselectthe atoms. However, if you are using Thick line to highlight selections (see “Preferences Property Sheet” on page 95), the persistentcolor appears immediately.
To remove the persistent color from a molecular system, open this
dialog box again and choose the default, By element.

Selection Color Dialog Box

To apply a color to a selection:
1. Select a set of atoms.
2. Choose Color on the Display menu.
3. Choose a color from the dialog box.
4. L-click OK.
To remove a persistent color:
1. Select a set of atoms or, for the whole molecular system, deselect all atoms.
2. Choose Color on the Display menu.
3. L-click OK in the dialog box to choose By element.

Edit, Select, and Display Menus

283

Display Menu

Element Color
Element Color shows you the Element Color dialog box for changing the color assigned to each element. This establishes the By element choice you see in other dialog boxes:

284

Chapter 7

Element

Default Color

Lone pairbroken white line

Carboncyan

Nitrogen

blue

Oxygenred

Fluorineyellow

SodiumvioletSulfuryellow

Potassium

violetIron

red

Cobaltblue

Coppergreen

Bromineyellow

Iodinered

Goldyellow

All otherelements

whiteDisplay Menu

You have a choice of six standard colors, plus black and white.
HyperChem uses a default set of colors (for example, cyan for carbon and red for oxygen). If you change an element color, you canalways return to the default set of colors by choosing Revert in this
dialog box.

Element Color Dialog Box

To set a new element color:
1. L-click on the element name in the Element list.
2. L-click on the new color assignment in the Color list.
3. L-click OK.
To return to the default colors:
1. L-click on Revert.
Note: This dialog box establishes the By element color scheme
referred to in other dialog boxes (see “Preferences Property Sheet”
on page 95 and “Selection Color Dialog Box” on page 283).

Edit, Select, and Display Menus

285

Display Menu

286

Chapter 7

Chapter 8
Chemical Calculations
This chapter describes functions in the Setup and Compute menus
for carrying out chemical calculations. The calculations always
involve molecules in the workspace.

Setup Menu
The Setup menu provides options for running energy calculations.
After you choose Setup menu options, use the Compute menu tobegin a calculation.
HyperChem performs molecular mechanics calculations using any
of four methods (MM+, AMBER, BIO+, and OPLS), semi-empiricalquantum mechanics using any of eleven methods (Extended
Hückel, CNDO, INDO, MINDO3, MNDO, MNDO/d, AM1, PM3,ZINDO/1, ZINDO/S, and TNDO), ab initio quantum mechanics calculations, and density functional calculations.
The Setup menu has these items:✓ Molecular

Choose Molecular Mechanics to use a Newtonian
method instead of a quantum mechanical (semiempirical or ab initio or Density Functional)
method for a calculation. Molecular mechanics
remains on (✓) until you choose Semi-empiricalor Ab Initio or Density Functional✓ Semi-

Choose Semi-empirical to use one of these quantum mechanics methods instead of a molecularmechanics or ab initio or Density Functionalmethod for a calculation. Semi-empirical remains
on (✓) until you choose Molecular Mechanics or
Ab Initio or Density Functional

Mechanics. . .a

empirical . . .a287

Setup Menu

✓ Ab Initio. . .a

Choose Ab Initio to use this quantum mechanics
method instead of a molecular mechanics or
semi-empirical or Density Functional method fora calculation. Ab Initio remains on (✓) until you
choose Molecular Mechanics or Semi-empirical or
Density Functional✓ Density

Choose Density Functional to use this quantum
mechanics method instead of a molecularmechanics or semi-empirical or Ab Initio method
for a calculation. Density Functional remains on(✓) until you choose Molecular Mechanics or
Semi-empirical or Ab Initio

Periodic Box . . .

Choose this item to enclose the molecular system
in a periodic box containing water molecules

Restraints . . .

Choose this item to add restraining forces to 1, 2,
3 or 4 atom named selections for molecularmechanics and quantum mechanics. This item isgray if there are no named selections with 1 to 4
atoms

Set Velocity . . .

Choose this item to specify velocities for atoms.
The velocities can be used in molecular dynamics
calculations by using the Restart option. It is grayif there are no atoms

Set Finite Field

Choose this item to specify a finite electric or
magnetic field to apply to the workspace. An
electric field can be applied in conjunction withany quantum mechanical method. A magnetic
field can only be applied in conjunction with the
TNDO semi-empirical method.

Network . . .

Choose this item to specify a remote server toperform molecular mechanics, semi-empirical, ab
initio, or Density Functional calculations

Functional. . .a

288

Chapter 8

Setup Menu

Edit Parameters . . .

Choose this to display and/or edit the current
parameters (for the current computational
method) for the current selection. This item
applies only to molecular mechanics and semiempirical methods. If a single atom is selected
information is given on parameters for this atom.
If two bonded atoms are selected, parameters are
given for this pair of atoms and so on.

Select Parameter
Set . . .

Choose this item for an alternative set of compiled parameters (see the following section) for amolecular mechanics calculation or TNDO calculation

Compile Parameter
File

Choose this item to convert a new parameter set(see Select Parameter Set) from text or databasefiles to a binary file. HyperChem uses a binary filefor molecular mechanics calculations

Reaction Map . . .

Choose this item to map reactants to products fora Synchronous Transit transition state search. This
item is gray and unavailable unless both REACTANT and PRODUCT named selections have been
defined, with the same numbers of atoms in eacha. Only one of these items can be active at a time. A check mark appears next
to the active item.

Molecular Mechanics
Choose Molecular Mechanics to use a classical Newtonian calculation method instead of a quantum mechanical (semi-empirical or
ab initio or density functional) method. This choice remains on (✓)
until you choose one of the alternatives, Semi-empirical or Ab Initio
or Density Functional. You can use any of these methods for Single
Point, Geometry Optimization and Molecular Dynamics calculations on the Compute menu.
Molecular mechanics calculations treat atoms as Newtonian particles interacting through a potential energy function. The potential
energies depend on bond lengths, bond angles, torsion angles, andnonbonded interactions (including van der Waals forces,

Chemical Calculations

289

Setup Menu

electrostatic interactions, and hydrogen bonds). In these calculations, the forces on atoms are functions of atomic position.
Note: If only part of the system in the workspace is selected, then
only interactions which involve at least one selected atom will be
included in the calculations. Interactions involving only unselected atoms will be omitted. For structural-optimization calculations, only selected atoms are allowed to move, while unselected
atoms remain fixed in space.
The Molecular Mechanics Force Field dialog box is displayed tochoose a force field (potential function) for a calculation.
From the Molecular Mechanics Force Field dialog box, you can goto either the MM+ Options dialog box (see page 291) or the Force
Field Options dialog box (see page 293). Use these dialog boxes tochange the conditions for a calculation.

Molecular Mechanics Force Field Dialog Box

290

Chapter 8

MM+

Developed for organic molecules. This is an “allatom” force field. HyperChem supplements MM2
by providing additional parameters (force constants) using two alternative schemes (seeHyperChem Computational Chemistry, Theory andMethods). This extends the range of chemicalcompounds that MM+ can accommodate. MM+
also provides cutoffs for calculating nonbonded
interactions (see “MM+ Options Dialog Box” onpage 291), periodic boundary conditions, and amodified bond-stretch energy term that avoids
repulsions at long bond lengths (see HyperChem
Computational Chemistry, Theory and Methods).

AMBER

Developed for proteins and nucleic acids. You canchoose an all-atom or a united-atom simulation.
The united-atom option treats certain atom groups

Setup Menu

as one atom, with one atom type. You can alsochoose from the variety of parameters sets available for Amber. Choosing Amber94 and beyond
gives results for a somewhat newer force field thanthe original.
BIO+(CHARMM)

Developed for biological macromolecules. You canchoose an all-atom or a united-atom simulation.
The united-atom option treats certain atom groups
as one atom, with one atom type. You can choose
from the variety of parameter sets available for
BIO+(CHARMM). Choosing Charmm22 andbeyond gives results for a somewhat newer force
field than the original. BIO+ (CHARMM) is Hypercube, Inc.’s version of Chemistry at HARvard for
Molecular Mechanics.

OPLS

Developed for proteins and nucleic acids. It is similar to AMBER but treats more accurately nonbonded interactions. This force field provides onlya united-atom simulation (see AMBER).

Options . . .

L-click to go to the MM+ Options dialog box (seepage 291) when MM+ is chosen or to the Force
Field Options dialog box (see page 293) for AMBER,
BIO+ or OPLS.

Components . .L-click to go to the Components of Force Field
Included dialog box (see page 295). This will allow
you to choose which components of the force field
are to be included in calculations.
Each type of molecular mechanics method (force field) has anextensive set of rules for determining atom types. See HyperChem
Computational Chemistry, and appendix B of this book on page 653,
for discussions of force fields, how to use them, and literature references.

MM+ Options Dialog Box
Use the MM+ Options dialog box to set the conditions for the
MM+ molecular mechanics force field. HyperChem stores these
option settings, except for Cutoffs, in the Registry or in thechem.ini file and uses them for future HyperChem sessions.

Chemical Calculations

291

Setup Menu

Electrostatics

Nonbonded electrostatic interactions are calculated using bond dipole interactions or partial
atomic charges.

Bond dipoles

This uses bond dipoles to calculate nonbonded electrostatic interactions. The
bond dipole values come from the MM+
stretch parameter file (see page 666).

Atomic charges This uses partial atomic charges to calculate nonbonded electrostatic interactions.
You can assign partial atomic charges via
the Build/Set Charge menu item (seepage 132) or you can do a semi-empiricalor ab initio calculation first that calculatespartial charges for each atom using a Mulliken population analysis.
Cutoffs

These options determine the distance limits forcalculating nonbonded interactions. Choosing
Periodic Box on the Setup menu automatically sets
Switched with default values. Cutoffs are necessary
to prevent calculating interactions with neighboring periodic images.1
None

Calculates all nonbonded interactions.
This is the default for systems in vacuo. Do
not use this option for periodic boundary
conditions because it results in an implicit

1. A periodic box implies a sharp, rectangular cutoff. An atom interacts only with one nearest image of
all other atoms and never with an image of itself. This sharp cutoff can cause discontinuities in
the potential surface that interfere with geometry optimization and molecular dynamics calculations. To avoid this, HyperChem uses Switched or Shifted cutoffs for a molecular system in a periodic box.

292

Chapter 8

Setup Menu

undamped cutoff and causes discontinuities in the potential surface.
Switched

A smoothing function, applied from theinner radius to the outer radius, gradually
reduces nonbonded interactions to zero. If
the molecular system is in a periodic box,
HyperChem chooses Switched and sets theOuter and Inner Radius. You can also use
Shifted.

ShiftedA smoothing function, applied over thewhole nonbonded distance, from zero toouter radius, gradually reduces nonbonded
interactions to zero.

Outer radius

For Switched and Shifted cutoffs, this is theminimum distance at which nonbonded
interactions are set to zero. This should
normally be set to at least 4 Ångstroms
larger than the Inner radius. With periodic
boundary conditions, this value is half thesmallest dimension of the periodic box.

Inner radius

For Switched cutoffs only, this is the maximum interatomic distance for full nonbonded interactions. With periodic boundary conditions, this value is 4 Ångstroms
less than half the smallest dimension of
the periodic box or a minimum of zero.

Note: The Cutoffs settings return to their default values if you placea new molecular system in the workspace.

Force Field Options Dialog Box
Use the Force Field Options dialog box to set the conditions for themolecular mechanics force fields AMBER, BIO+, and OPLS. HyperChem stores these option settings, except for Cutoffs, in the Registry or in the chem.ini file and uses them for future HyperChem sessions.

Chemical Calculations

293

Setup Menu

Dielectric
permittivity(epsilon)

Constant or Distance dependent determine themethod of calculating epsilon, a factor that modifies charge-charge interactions (and the electrostatic potential). Epsilon is the dielectric constant.

Constant

This makes epsilon a constant. This is theform appropriate for systems in a gas phaseor in an explicit solvent. Use this option
for systems in a periodic box.

Distance
dependent

This makes epsilon proportional to theinteratomic separation. This approximates
solvent effects in the absence of an explicit
solvent, and allows for faster calculations.
Use Distance dependent with the OPLS
force field. Since this option simulates thepresence of a solvent, you normally choose
Constant when solvent is present.

Scale factor

For Constant, epsilon = (permittivity of freespace) x (Scale factor). For Distance dependent, epsilon = (permittivity of free space)x (Scale factor) x (interatomic separation).
Scale factor must be ≥ 1.0. The default of 1.0
is appropriate for most systems.

1–4 ScalefactorNonbonded interactions (van der Waals and electrostatic) between atoms separated by exactly threebonds are multiplied by this factor.

Electrostatic

294

Chapter 8

This modifies the magnitude of chargeinteractions between atoms separated bythree bonds. The range is 0 to 1. For
AMBER and OPLS, use 0.5. For BIO+, useSetup Menu

1.0, 0.5, or 0.4 depending on the parameterset.
van der Waals This modifies the magnitude of van der
Waals interactions between atoms separated by three bonds. The range is 0 to 1.
For AMBER, use 0.5; for OPLS, 0.125; for
BIO+, the value is fixed at 1.0.
Cutoffs

These options determine the distance limits forcalculating nonbonded interactions and are identical to those for MM+ (see “Cutoffs” on page 292).

Force Field Components Included Dialog Box
Use the Force Field Components Included dialog box to set which
components of the MM+, AMBER, BIO+, and OPLS force fields areto be included in your calculations. HyperChem stores these components settings, which apply to all force fields, in the Registry anduses them for future HyperChem sessions. They are stored as bit
flags in an integer referred to as Mechanics Component Flags. The
flags are global and apply to all MM+, AMBER, BIO+, and OPLS
force fields not individual force fields.

Bond

These components include all force field terms
associated with bond stretching. For MM+ thisterm includes the cubic stretch term as well as thenormal stretch term.

Angle

These components include all force field terms
associated with bond angle bending. For MM+ thisterm includes the stretch-bend cross term and outof-plane bending as well as the normal bending
Chemical Calculations

295

Setup Menu

term. For Bio+ (Charmm) it includes the Urey-Bradley term as well as the normal bending term.
Torsion

These components include all torsion terms, i.e.
proper as well as improper torsions.

Non-Bonded

These components include all the 6-12 van der
Waals type terms between non-bonded atoms.

Electrostatic

These components include all the coulomb anddipole (MM+) interactions.

HydrogenBonded

These components include any specific hydrogebonding terms such as are included in the earlier
versions of Amber and Charmm.

Semi-empirical
Choose Semi-empirical to use a semi-empirical quantum-mechanical calculation method instead of a molecular mechanical or abinitio quantum-mechanical method. This choice remains on (✓)
until you choose Molecular Mechanics or Ab Initio. You can use asemi-empirical method for all calculations on the Compute menu.
Semi-empirical calculations solve the SchrÖdinger equation, withcertain approximations, to describe the electronic properties ofatoms and molecules. To simplify and shorten these calculations,semi-empirical methods make many simplifications, includingthese: calculating only for valence electrons; neglecting the integrals for certain interactions; using standard, non-optimized, electron orbital basis functions; and using parameters derived fromexperiments. Experimental parameters eliminate the need to calculate certain quantities and to correct for errors resulting fromapproximations. See HyperChem Computational Chemistry for further information about semi-empirical quantum mechanics.
Important: The semi-empirical methods in HyperChem can treat
all main group elements for which there are parameters in theparameter files, up to and including xenon. Extended Hückel,
ZINDO/1, and ZINDO/S can treat the first two rows of transition
metals as long as there are entries in the parameter files. See theperiodic tables in “Available Elements” on page 300 for availabilityof parameters.
Most of the available semi-empirical methods include a scheme for
eliminating time-consuming calculations of certain integrals for

296

Chapter 8

Setup Menu

overlapping orbitals. The Intermediate Neglect of Differential
Overlap method (see later) does not calculate certain repulsion
integrals that would have small values.
HyperChem also allows you to treat only part of a system quantum
mechanically, using mixed mode calculations, so that you can study
interesting portions of a molecular system at a better level of theory than would be feasible for the whole system. For instance you
can analyze binding of a substrate at the active site of a protein
quantum mechanically, with the rest of the protein and solvent
modeled classically.
Important: Unless you wish to perform a mixed mode calculation,deselect all atoms before using the Semi-empirical Options dialog
box or the Compute menu. If there is a selection, HyperChem only
treats the selected atoms quantum mechanically. The remaining
atoms are treated as a fixed potential field, and are not moved during structural optimizations.
Important: If you want to perform a mixed mode calculation, use
Extend to sp3 on the Select menu before using the Semi-empirical
Options dialog box or the Setup menu. See “Mixed Mode Calculations” on page 311.
Note: If you store a molecular system in a HIN file after a semiempirical calculation, the file includes atomic charges determinedin these calculations (see “atom” on page 717).
From the Semi-empirical Method dialog box, you can go to theSemi-empirical Options dialog box (see page 305) to change theconditions for a calculation.

Chemical Calculations

297

Setup Menu

Semi-empirical Method Dialog Box

298

Chapter 8

Extended
HückelUseful for calculating molecular orbitals of molecules. Not available for geometry optimization ormolecular dynamics calculations. Uses the “oneelectron” simplification that assumes no explicit
interactions between electrons. This is not a SelfConsistent Field (SCF) method (see HyperChem
Computational Chemistry, Practical Guide).

CNDO

Complete Neglect of Differential Overlap. This is
the simplest of the SCF methods. It is useful for calculating ground-state electronic properties ofopen- and closed-shell systems, geometry optimization, and total energy.

INDO

Intermediate Neglect of Differential Overlap.
Improves on CNDO by accounting for certain onecenter repulsions between electrons in the sameatom. Useful for calculating ground-state electronic properties of open- and closed-shell systems, geometry optimization, and total energy.
This is an SCF method.

MINDO3

An extension of INDO that uses parameters,
instead of calculations, for many interactions. Useful for large organic molecules, calculatingSetup Menu

electronic properties, geometry optimization, andtotal energy calculations. This is an SCF method.
MNDO

Useful for various organic molecules containing
elements from long rows 1 and 2 of the periodic
table, but not transition metals. Eliminates someerrors in MINDO3. Calculates electronic
properties, optimized geometries, total energy, andheat of formation. This is an SCF method.

MNDO/dA version of MNDO with the addition of d-orbitals.
Useful for main group elements where d-orbitals
may be important (such as Sulphur). With betterparameters than are currently available in HyperChem would be useful for transition metals. Calculates electronic properties, optimized geometries,
total energy, and heat of formation. This is an SCF
method.

AM1

An improvement of the MNDO method and one of
the most accurate methods. Useful for organic
molecules containing elements from long rows 1
and 2 of the periodic table, but not transition metals. Possibly better than MNDO for compounds
containing both nitrogen and oxygen. Calculates
electronic properties, optimized geometries, totalenergy, and heat of formation. This is an SCF
method.

PM3

A reparameterization of AM1. PM3 differs from
AM1 only in the values of the parameters. The
parameters for PM3 were derived by comparing amuch larger number and wider variety of experimental versus computed molecular properties.
Typically, nonbonded interactions are less repulsive in PM3 than in AM1. PM3 is primarily used fororganic molecules, but is also parameterized formany main group elements. This is an SCF
method.

ZINDO/1

A variation of INDO extended to transition metals.
Equivalent to the most recent version of the
INDO/1 method which differs from the original byusing constant orbital exponents. ZINDO/1 lets
you calculate the energy states and geometries ofmolecules containing transition metals.
Chemical Calculations

299

Setup Menu

ZINDO/SAn INDO method parameterized to reproduce
UV/visible spectroscopic transitions when usedwith the CI singles method. Useful for predicting
UV/visible spectra but not suitable for geometry
optimization or molecular dynamics.

TNDO

A Typed Neglect of Differential Overlap methodthat includes parameters not just for atomic numbers but for atom types. An attempt to realize asemi-empirical method that has much enhanced
accuracy. Useful as a research tool for a limited
range of molecules where parameters have beendeveloped and are available. A quite general purpose method if parameters are available for yourmolecules or molecular property.

Options . . .

L-click to display the Semi-empirical Options dialog box for setting the conditions for calculation.
There are three versions of this dialog box, depending on the semi-empirical method that you choose(see the next two sections).

See: HyperChem Computational Chemistry for a discussion of thesemethods, how to use them, and literature references.

Available Elements
The following tables show the elements that can be treated by thesemi-empirical methods in HyperChem. Where the element symbol is shown it indicates that HyperChem includes the programcode necessary to evaluate integrals for the principal and angularquantum numbers of the valence orbitals. In order to perform calculations for an element, HyperChem also needs to know parameters to use in evaluating the integrals. Parameters for some elements are not currently available in the literature. Once theseparameters become available, you can add them to the appropriate
parameter files (see “Semi-Empirical Files” on page 679). Elements
for which parameters are available in the standard HyperChem
distribution are shaded in the tables. Unless you have extended
parameter files, use only the shaded elements with each method.

300

Chapter 8

Setup Menu

Extended Hückel
The Extended Hückel method can be used with any element in the
periodic table; the default parameter set includes all necessary
parameters.

CNDO, INDO
H
Li

He
Be

B

C

N

O

F

Ne

Na Mg

Al

Si

P

S

Cl

Ar

K

Ca

Zn Ga Ge As

Se

Br

Kr

Rb

Sr

Cd

Te

I

Xe

In

Sn Sb

MINDO3
H

He
Be

B

C

N

O

F

Ne

Na Mg

Al

Si

P

S

Cl

Ar

Li

K

Ca

Zn Ga Ge

As Se

Br

Kr

Rb

Sr

Cd

Sb

I

Xe

In

Sn

Chemical Calculations

Te

301

Setup Menu

MNDO
H

He
Be

B

C

N

O

F

Ne

Na Mg

Al

Si

P

S

Cl

Ar

Li

K

Ca

Zn Ga Ge

As

Se

Br

Kr

Rb

Sr

Cd

In

Sb

Te

I

Xe

Sn

AM1
H

He
Be

B

C

N

O

F

Ne

Na Mg

Al

Si

P

S

Cl

Ar

Li

K

Ca

Zn Ga Ge

As

Se

Br

Kr

Rb

Sr

Cd

Sb

Te

I

Xe

In

Sn

PM3
H
Li

302

Chapter 8

He
Be

B

C

N

O

F

Ne

Na Mg

Al

Si

P

S

Cl

Ar

K

Ca

Zn Ga Ge As

Se Br

Kr

Rb

Sr

Cd

Te

Xe

In

Sn Sb

I

Setup Menu

ZINDO/1
H

He
Be

B

C

N

O

F

Ne

Na Mg

Al

Si

P

S

Cl

Ar

As

Se

Br

Kr

Sb

Te

I

Xe

Li

K

Ca

Sc

Ti

V

Rb

Sr

Y

Zr

Nb Mo

Co

Ni

Cu Zn Ga Ge

Tc Ru Rh

Pd

Ag Cd

Cr Mn FeInSn

ZINDO/S
H

He
Be

B

C

N

O

F

Ne

Na Mg

Al

Si

P

S

Cl

Ar

Co Ni

Cu Zn Ga Ge As

Se

Br

Kr

Rh Pd

Ag

Te

I

Xe

Li

Mn Fe

K

Ca

Sc

Ti

V

Rb

Sr

Y

Zr

Nb Mo Tc

Cr

Ru

Cd

In

Sn Sb

Chemical Calculations

303

Setup Menu

Semi-empirical Options (Hückel) Dialog Box
This dialog box provides settings for the Extended Hückel semiempirical method. All other semi-empirical methods use a different dialog box (see the next section).

304

Chapter 8

Total charge

This is the net excess of nuclear charge over electronic charge. It is zero for a neutral system, apositive integer for a cation, and a negative integer
for an anion.

Spinmultiplicity

This is the total spin multiplicity, 2S+1, where S is
the total electron spin of the system. Each
unpaired electron counts for 1/2. A closed-shell
system (singlet) has a multiplicity of 1. A doublet
or triplet state has a multiplicity of 2 and 3, respectively. Enter an integer from 1 to 6.

HückelConstant

A constant of proportionality between off-diagonal matrix elements and diagonal matrix elements.
The usual value is 1.75. Larger values give moreweight to the role of atomic orbital overlap indetermining the energy, while smaller values give
more weight to binding energies of electrons in theatomic orbitals.

Unweighted
constant

Uses the Hückel constant without modification.

Weightdiffuseness

Multiplies the Hückel constant by a factor
that accounts for the diffuseness of atomic
orbitals. This factor is only significant formolecular systems containing orbitals ofSetup Menu

very different diffuseness. This is rarely thecase for organic molecules and main groupelements.
d orbitals

Check this box (✓) to add d orbitals for Si, P, S, andCl atoms.

Scale Factor

This parameter scales the inclusion of the classicalpartial charges in a mixed mode calculation. See
HyperChem Computational Chemistry, Theory andMethods, for details.

Semi-empirical Options Dialog Box
This dialog box provides settings for any semi-empirical, quantum
mechanical method that you chose, except for Extended Hückel.
Extended Hückel has a separate Semi-empirical Options dialog box(see the previous section).

Total charge

This is the net excess of nuclear charge over electronic charge. It is zero for a neutral system, apositive integer for a cation, and a negative integer
for an anion.

Spinmultiplicity

This is the total spin multiplicity, 2S+1, where S is
the total electron spin of the system. Each
unpaired electron counts for a spin of +1/2. A
closed-shell system has a multiplicity of 1 (singlet).
An open-shell system can have a multiplicity of 2,
3, 4 (doublet, triplet, quartet), or higher. Use integers from 1 to 6.

Chemical Calculations

305

Setup Menu

State

306

Chapter 8

This describes the excitation state of the valence
electrons in the system.
Lowest

The lowest electronic state of a given spin
multiplicity.

Next lowest

This is the first electronically excited stateof a given spin multiplicity (singlet, doublet, triplet, or quartet).

Convergencelimit

An SCF calculation ends when the difference inenergy after two consecutive iterations is less than
this amount. This is the convergence limit for total
electron energy during iterations of an SCF calculation. The default is 0.01 kcal/mol. The practicalrange is 1 to 10–3. The calculation might not reachvalues less than 10–3 because of round-off errors. It
is better to use small values for the convergencelimit if you are doing a transition state search (seepage 386).

Iteration
limitThis sets the maximum number of iterations for an
SCF calculation. The calculation ends after thisiteration, even if it has not reached the Convergence limit (see above). The results might be incorrect if the calculation was far from convergence or
the energy of the system is oscillating. The default
of 50 should be correct for most cases, thoughlarger values may be better for transition state
searches (see page 386). The practical range is 50 to200.

Accelerate
convergence

Check this box (✓) to reach faster convergence for
SCF iterations, using a procedure known as Direct
Inversion of Iterative Subspace (DIIS), (seeHyperChem Computational Chemistry).

Spin pairing

This sets the method for calculating spin interactions, of which there are two:UHF

The Unrestricted Hartree-Fock method
provides separate spatial orbitals (alphaand beta) for electrons with each type of
spin. This method is useful for open- andclosed-shell systems. For closed-shell systems, it can accommodate dissociation

Setup Menu

reactions. Takes longer than an RHF calculation.
RHF

The Restricted Hartree-Fock method
requires that a spin pair of electrons
occupy the same spatial orbital. Single electrons can also occupy an orbital. Thismethod is useful for open- and closed-shell
systems.

Overlap
Weighting
Factors

Additional parameters for the two ZINDO methods
which modify the relative contributions of sigma
and pi bonding. See HyperChem Computational
Chemistry, Theory and Methods, for further details.

Sigma-Sigma

Adjusts the weighting for sigma-sigma
atomic orbital overlap. This should be 1.0
for ZINDO/1 and 1.267 forZINDO/S.Adjusts the weighting for sigmasigma atomic orbital overlap.

Pi-Pi

Adjusts the weighting for pi-pi atomic
orbital overlap. This should be 1.0 for
ZINDO/1. The default of 0.640 for
ZINDO/S is appropriate for transition
metal complexes, but 0.585 has been used
for organic molecules in the literature.

TNDO Version An option to choose which of two versions of
TNDO you wish to use. This option replaces theOverlap Weighting Factors described above when
TNDO is chosen. TNDO has its origin in CNDO
and INDO and you can choose whether or not to
add the extra INDO one-center terms that distinguish CNDO and INDO. In HyperNMR these arereferred to as TNDO/1 and TNDO/2.
Configuration Use this option to activate and set options for ainteraction
Configuration Interaction calculation in the Configuration Interaction dialog box. This is necessary
if you wish to compute UV visible spectra. Choosing this option significantly increases calculation
time.

Chemical Calculations

307

Setup Menu

Configuration Interaction Dialog Box
CI calculations can be used to improve the quality of the wavefunction and state energies. Self-consistent field (SCF) level calculations are based on the one-electron model, wherein each electron moves in the average field created by the other n-1 electrons
in the molecule. Actually, electrons interact instantaneously andtherefore have a natural tendency to avoid each other beyond therequirements of the Exclusion Principle. This correlation results ina lower average interelectronic repulsion and thus a lower stateenergy. The difference between electronic energies calculated at
the SCF level versus the exact nonrelativistic energies is the correlation energy.
There are two types of electron correlations: static and dynamic.
Static correlation refers to a near degeneracy of a given state; adynamic correlation refers to the instantaneous avoidance of electrons with each other.
CI calculations are perhaps the most widely used method of going
computationally beyond an SCF description. An SCF computation
yields a configuration describing the orbital occupancy of the electrons. Other configurations may be generated from this reference
configuration by exciting electrons from the set of occupied orbitals to the set of virtual (unoccupied) orbitals. A CI calculation yields
a set of improved states, each of which is represented by a linear
combination of these configurations.
Note: Only single point calculations and geometry optimization
can be performed with Configuration Interaction activated. It is
not available for extended Hückel calculations.
Use the Configuration Interaction dialog box to control settings
for a CI calculation. To access this dialog box, choose CI in the
Semi-empirical Options dialog box.

308

Chapter 8

Setup Menu

CI Method

Choose None, Singly Excited, or Microstate.
Choose None if you do not want to use
configuration interaction.

None

Singly Excited Only singly excited configurations are
involved in a CI calculation.
Microstate
OrbitalCriterion

Includes multiply excited states, as well as
singly excited states.

Set the range of orbitals to and from which electrons are excited to generate a set of interacting
configurations.

Occupied

Range of occupied orbitals starting fromHOMO from which electrons are excited.

Unoccupied

Range of virtual orbitals starting from
LUMO to which electrons are excited.

EnergyCriterion

As an option to Orbital Criterion, this value sets thecutoff energy for generating a set of interacting
configurations. This option is available only if you
use Singly Excited as the CI method.

Maximum
Excitation

Highest orbital energy difference in (eV) between
the occupied and unoccupied orbitals to be
included in the CI calculation. Generally configurations of high energy do not interact strongly
with the reference calculation. The higher theChemical Calculations

309

Setup Menu

maximum energy, the greater the number of configurations included in the CI calculation.

Practical Applications
You can use CI calculations to do the following:•Calculate UV spectra•

Calculate the energy of excited states•

Study the making or breaking of bonds, and change of spin
couplings (e.g. dissociation of H2)•

Capture the effects of London dispersion forces•

Describe a nearly degenerate state•

Study the geometry of an excited state•

Study singlet-triplet splittings more accurately

The Microstate CI Method lowers the energy of the uncorrelated
ground state as well as excited states. The Singly Excited CI Method
is particularly appropriate for calculating UV visible spectra, anddoes not affect the energy of the ground state (Brillouin’s
Theorem).
Be careful when you use the Orbital Criterion for symmetrical systems. To get correct results, you must include all or none of any setof degenerate orbitals in the CI, not just some of them. Carryingout an RHF calculation first and studying the Orbitals dialog box
will help you to spot degenerate orbitals and avoid this pitfall.
You should also be careful when you use the Energy Criterion thatthe cutoff energy is large enough to include occupied and unoccupied orbitals.
In large systems there can be many orbitals in a small energy
range, and the size of the CI matrix can be very sensitive to thevalue of the maximum excitation if you use Energy Criterion. Since
calculation time depends heavily on the size of the CI matrix, you
can end up with very long calculations, especially if you use the
MNDO, AM1, or PM3 methods. Again, inspecting the results of an
RHF (no CI) calculation will help you avoid these pitfalls.
For information on specific guidelines for calculating UV visible
spectra, see “Electronic Spectrum” on page 411.

310

Chapter 8

Setup Menu

Mixed Mode Calculations
In mixed mode calculations, HyperChem treats a selected part of amolecule quantum mechanically; the remainder is treated classically. You can do mixed mode calculations using any of the
choices in the Semi-empirical Methods dialog box.
Note: If only some atoms in the workspace are selected, then only
the selected atoms will move during a structural optimization. The
unselected atoms are treated as producing a fixed potential field;
the selected atoms interact with that field and with each other.
To perform a mixed mode calculation, you tell HyperChem whichatoms to treat quantum mechanically by selecting them. If somemolecules are partially selected, the boundary atoms must be sp3
centers to avoid an abrupt termination of conjugation effects. To
ensure that the boundary is between sp3 atoms, you need to use
Extend to sp3 on the Select menu (see page 244) before using theSemi-empirical Options dialog box or using the Compute menu.
This extends the current selection in all directions until theselected region reaches the end of a molecule or finds an sp3-sp3
bond.

Ab Initio and Density Functional
Choose Ab Initio to use an ab initio quantum-mechanical calculation method or choose Density Functional to use a Density Functional Theory (DFT) method instead of a molecular mechanical orsemi-empirical method. These choices remains on (✓) until you
choose Molecular Mechanics or Semi-empirical. You can use an abinitio of Density Functional method for all calculations on theCompute menu.
Ab initio calculations and Density Functional calculations have agreat deal in common and are described together here since mostof their options are very similar. To specify an ab initio calculation,
you principally have to choose a basis set. For density functional
calculations you also have to choose a basis set but must, in addition, choose a functional. The SCF parts of both types of calculations proceed essentially identically. In particular we still refer to
RHF and UHF for restricted and unrestricted calculations although
they apply just as well to Kohn-Sham DFT calculations as they do
to Hartree-Fock ab initio calculations. We will not make a fine dis-

Chemical Calculations

311

Setup Menu

tinction between whether a parameter like “UHF” actually refers to
ab initio or DFT calculations.
Geometry optimization using an ab initio or DFT method may takemuch longer than using a semi-empirical method. You might firstrun a molecular mechanics optimization to get close to the optimized geometry, and refine with a semi-empirical method, before
running an ab initio geometry optimization. For some inorganic
structures in particular, molecular mechanics and/or semi-empirical optimizations may give poor results for lack of appropriate
parameters, but running the Model Builder on your structure
should provide at least a reasonable starting point.

Choosing a Basis Set
Choosing a basis set is an important choice for ab initio and density
functional calculations. Any set of one-electron functions can be abasis set in the LCAO approximation. However, a well-definedbasis set will predict electronic properties using fewer terms than apoorly-defined basis set. So, choosing a proper basis set in ab initio
or density functional calculations is critical to the reliability andaccuracy of the calculated results1.

DFT Specific Basis Sets
Basis sets in HyperChem can interchangeably be used either for ab
intio or density functional calculations. The form of density functional theory used in HyperChem requires only one basis set, commonly referred to as the orbital basis set. While some basis sets,such as dzvp and dzvp2, may have been designed with DFT in
mind, any basis set can be used in any ab intio or DFT context. In
particular, a Pople-like approach to DFT as taken by HyperChem,suggests using the same basis sets for DFT as have been designed
and used over many years for ab initio calculations. Other
approaches to DFT use a basis set to expand the charge density andhae more complex requirements for the choice of a basis set. For
more details on Density Functional Theory see HyperChem’s
Computational Chemistry Manual.

Generic Basis Sets
There may be as many basis sets defined for polyatomic calculations as there are quantum chemists! One would like to define, in
advance, the standard basis sets that will be suitable to most users.

312

Chapter 8

Setup Menu

But, one also wants to allow sophisticated users the capability tomodify existing basis sets or define their own basis sets. We havethus defined a HyperChem basis set file format and included with
HyperChem a number of these *.BAS files that define standard
basis sets. Users, however, can define as many of their own basis
sets as they like using this file format. The HyperChem basis set fileformat is described in Appendix C of this manual.

Pople-like Basis Sets
Many conventional and commonly-used ab initio or DFT basis sets
are supported in HyperChem. Many of these were developed byJohn Pople and collaborators. The nomenclature is such that abasis set like 6-311++G** has an inner 1s orbital composed of 6
primitives (for heavy atoms only), three valence shells (sp shells
for heavy atoms and s shells for Hydrogen) composed of threeprimitives, one primitive and one primitive, a diffuse(+) s-shell on
Hydrogens, a diffuse(+) sp shell on heavy atoms, a d-polarization
shell(*) on heavy atoms, and a p-polarization shell on Hydrogens.
The first + sign refers to heavy atoms and the first * also refers toheavy atoms. The STO-3G basis sets is a minimal basis set of Slater
orbitals fit to 3 Gaussian primitives. These basis sets include:•

STO-1G and STO-1G* (H and He)1;•

STO-2G and STO-2G* (H to Xe)1;•

STO-3G and STO-3G* (H to Xe)1;•

STO-4G and STO-4G* (H to Xe)1;•

STO-5G and STO-5G* (H to Xe)1;•

STO-6G and STO-6G* (H to Xe)1;•

3-21G, 3-21G*, and 3-21G** (H to Xe)2;

1. W. J. Hehre, R. F. Stewart, and J. A. Pople, J. Chem. Phys., 51, 2657 (1969); J. B. Collins, P. V. Schleyer,
J. S. Binkley, and J. A. Pople, J. Chem. Phys., 64, 5142 (1976); R. F. Stewart, J. Chem. Phys., 52, 431(1970).
2. J. S. Binkley, J. A. Pople, and W. J. Hehre, J. Am. Chem. Soc., 102, 939 (1980); M. S. Gordon, J. S. Binkley, J. A. Pople, W. J. Pietro, and W. J. Hehre, J. Am. Chem. Soc., 104, 2797 (1982); W. J. Pietro, M.
M. Francl, W. J. Hehre, D. J. Defrees, J. A. Pople, and J. S Binkley, J. Am. Chem. Soc., 104, 5039
(1982); K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986); K.D. Dobbs, W.J. Hehre, J. Comput.
Chem. 7, 359 (1986); K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 861 (1987); K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 880 (1987).

Chemical Calculations

313

Setup Menu•

3-21++G, 3-21++G*, 3-21++G** (H to Ar)2;•

4-21G, 4-21G*, and 4-21G** (H to Ne)1;•

6-21G, 6-21G*, and 6-21G** (H to Ar)2;•

4-31G, 4-31G*, and 4-31G** (H to Ne)1;•

5-31G, 5-31G*, and 5-31G** (H to F)1;•

6-31G, 6-31G*, and 6-31G** (H to Zn)1;•

6-31++G, 6-31+G*, 6-31++G*, and 6-31++G** (H to Ca)1;•

6-311G, 6-311G*, and 6-311G** (H to Kr)2;•

6-311+G*, 6-311++G** and 6-311++(2d,2p) (H to Ne);

Other Basis Sets
Other basis sets besides the Pople-like ones are included in
HypeChem from among the many available. A very good sourcefor basis sets is the web site established by the Pacific Northwest
Laboratory at http://www.emsl.pnl:2080/docs/homepage.html.
This site contains a database of basis sets in a HyperChem compatible *.bas format ( you may have to eliminate some comments
lines prior to placing the basis set into HyperChem).
Many of these basis sets are due to the groups of T. Dunning and
R. Ahlrichs. Among the basis sets include in HyperChem are:•D95, D95* and D95** (H to Cl)3;•

SV, DZ, DZP, and TZ (H to Cl)4;•

VDZ, pVDZ, VTZ, TZV (H to Kr)5;

1. W. J. Hehre, R. Ditchfield, and J. A. Pople, J. Chem. Phys., 56, 2257 (1972); P. C. Hariharan and J. A.
Pople, Theor. Chim. Acta, 28, 213 (1973); M. S. Gordon, Chem. Phys. Lett., 76, 163 (1980); M.M.
Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, D.J. DeFrees and J.A. Pople, J. Chem. Phys.
77, 3654 (1982); V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. 109, 1223
(1998) .
2. R. Krishnan, J. S. Kinkley, R. Seeger, and J. A. Pople, J. Chem. Phys., 72, 650 (1980); A. D. McLean and
G. S. Chandler, J. Chem. Phys., 72, 5639 (1980); J-P. Blaudeau, M. P. McGrath, L.A. Curtiss and L.
Radom, J. Chem. Phys. 107, 5016 (1997); L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, !
R. C. Binning, Jr. L. Radom, J. Chem. Phys. 103, 6104 (1995).
3. T.H. Dunning and P.J. Hay, in Modern Theoretical Chemistry, Plenum, New York, 1976.
4. T.H. Dunning, Jr., J. Chem. Phys. 53, 2823 (1970). .
5. A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994).

314

Chapter 8

Setup Menu•

cc-pcv5z, cc-pcvdz, cc-pcvqz, cc-pcvtz, cc-pv5z, cc-pvdz, ccpvqz, cc-pvtz (H to Ne)1;•

aug-cc-pcv5z, aug-cc-pcvdz, aug-cc-pcvqz, aug-cc-pcvtz, augcc-pv5z, aug-cc-pvdz, aug-cc-pvqz, aug-cc-pvtz (H to Ne)1;•

DZVP, DZVP2, and TZVP (H to Xe)2;

Ab Initio and Density Functional Method Dialog Boxes
These two dialog boxes avery similar but differ in a few details.
You can use multiple basis sets in a single molecular system. The
Apply Basis Set button in these dialog boxs applies the currently
selected basis set to the selected atoms or to all the atoms in HyperChem if there is no current selection. For example, some heavy
atoms might have a 6-31G basis set (s and p only) while otherheavy atoms might use a 6-31G* basis set (with d-orbitals). This isan unusual but flexible option for ab initio of Density Functionalcalculations.

1. T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989); D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100,
2975 (1994).
2. N. Godbout, D. R. Salahub, J. Andzelm, and E. Wimmer, Can. J. Chem. 70, 560 (1992).

Chemical Calculations

315

Setup Menu

Basis Set

No basis set

Do not use any basis set for the current
selection (if any) or for the whole molecular system. This option may be useful only
when applying an extra basis function toatoms.

Minimal(STO-3G)

Selects the STO-3G basis set.

Small
(3-21G)

Selects the 3-21G basis set.

Medium(6-31G*)

Selects the 6-31G* basis set.

Large
(6-31G**)

Selects the 6-31G** basis set.

Other

Choose this option and invoke Assign
Other Basis Set in order to choose anotherbasis set.

Assign Other
Basis Set...

Click on this button to bring up the Assign
Other Basis Set dialog box, which contains
a full list of basis sets (except for the basis
sets already listed in this dialog box).

Extra Basis
Function...
316

Chapter 8

Specify a basis set for the current selection (if any)or for the whole molecular system.

Click on this button to bring up the Extra Basis
Function dialog box, which lets you add an extra

Setup Menu

basis function to the selected atoms (or to all theatoms).
Options...

Click on this button to bring up the Ab Initio andDFT Options dialog box, which contains the basic
options for executing an ab initio or Density Functional calculation.

Advanced
Options...

Click on this button to bring up the Ab Initio andDFT Advanced Options dialog box, which contains
options affecting the performance of ab initio or
Density Functional calculations.

Apply Basis
Set...

Click on this button to apply the current basis set
selection to the current selection of atoms (if any)or to all the atoms in HyperChem.

Grid...

(DFT Only) Click on this button to bring up theDFT Integration Grids dialog box, which contains
basic options for choosing a grid to be used fornumerical integrations. The simplest option is to
use the Standard Grid #1 defined by Pople and collaborators. Alternatively, you may explicitly specify the number of radial and angular points for aparticular integration scheme. You may also specify a value of the density below which densities are
considered too small to be considered. Larger values of this quantity will speed up execution at theexpense of numerical accuracy.

Exchange
Correlation...

(DFT Only) Click on this button to bring up the
Exchange Correlation Potential dialog box to specify which exchange-correlation density functional
to use in your calculations.

OK

Click on this button to save the current settings,
apply the basis set selection, and close this dialog
box.

CancelClick on this button to close this dialog box without saving the current setting or applying the current basis set selection.

You can apply different basis sets to different parts of a molecularsystem. HyperChem can use different basis sets for different atoms.

Chemical Calculations

317

Setup Menu

Assign Other Basis Set Dialog Box
Use this dialog box to get a full list of basis sets, except for the basis
sets explicitly specified in the Ab Initio and Density Function
Method dialog boxes. You can click on any one of these basis sets
to select one. HyperChem will bring your selection of basis set to
the text box in the Ab Initio and Density Functional Method dialog box, when you click on the OK button.

HyperChem lists all the basis sets in this dialog box, except for thebasis sets already listed in the Ab Initio Method dialog box. Thesebasis sets can be one of the standard basis sets or your own basis
set saved in a file ending with .BAS. To have your own basis set
appear in this dialog box, an entry must be made for it in the[basisset] section of the Registry or the CHEM.INI file.

Ab Initio and DFT Options Dialog Box
Use this dialog box to choose the basic options for executing ab
initio or DFT calculations. The basic options are similar to the basic
options in the Semi-empirical Option dialog box.
“Gradient” specifies the calculation of gradients (the first derivatives of the total energy with respect to the nuclear positions). The
RMS gradient gives an indication of the deviation from an optimized structure. The computations of two-electron integrals andtheir derivatives are time-consuming, because of the huge numberof the two-electron integrals even for a medium size of molecule.
You may not be interested in gradients for single point calculations, so you can turn off (not check) gradient calculation to speed
up your task. This option applies to single point calculations only.

318

Chapter 8

Setup Menu

HyperGauss always computes the gradients during geometry optimization, molecular dynamics, and vibration calculations.
“MP2 Correlation Energy” specifies the calculation of electron correlation energy using the Møller-Plesset second order perturbation
theory (MP2). This option can only be applied to Single Point calculations. MP2 correlation energy calculations may increase thecomputational time because a two-electron integral transformation from atomic orbitals (AOs) to molecular orbitals (MOs) is
required. HyperChem may also need additional main memory
and/or extra disk space to store the two-electron integrals of theMOs.
Note: The MP2 energy for DFT calculations is not well specified
and may be meaningless. Similarly, Configuration Interaction for
DFT calculations is not well specified. In DFT calculations, Brillouin’s theorm is not satisfied as it is in ab intio Hartree-Fock calculations. Nor do the Kohn-Sham orbitals hae the same meaning as
Hartree-Fock orbitals. This leads to annomalies in post-SCF results,
such as MP2 and CI, when applied to DFT rather than ab initio calculations.

This dialog box has the following components:
Charge andspin

Use this area to specify the net charge on the current molecular system and whether the system is asinglet, doublet, etc.

Total charge

This is the net excess of nuclear chargeover the electronic charge. It is zero for aneutral system, a positive integer for acation, and a negative integer for an anion.

Chemical Calculations

319

Setup Menu

Spinmultiplicity

SCF controls

This lists the electronic spin multiplicity
that will be used for the current molecularsystem. A closed-shell system has a spin
multiplicity of 1 (singlet). An open-shell
system can have a multiplicity of 2, 3, 4
(doublet, triplet, quartet), or higher. Use
integers from 1 to 4.

This section is used to specify the desired accuracy
for the SCF wave function, and the maximum
number of iterations that are allowed for reachingthat accuracy.

Convergencelimit

An SCF calculation ends when the
difference in energy between any twoconsecutive iterations is less than thisamount, in kcal/mol. The default value is0.00001. The practical range is 1 to 10-8.
The calculation might not reach values lessthan 10-10 because of round-off errors. It isbetter to use relatively small values fortransition state searches (see page 386).

Iteration limit This sets the maximum number of
iterations for an SCF calculation. The
calculation ends after this number of
iterations, even if it has not reached theConvergence limit. The results may not becorrect if the calculation was far from convergence or the energy of the system isoscillating. The default of 50 should be correct for most cases, though larger values
may be appropriate for transition state
searches (see page 386). The practical range
is 50 to 200. If the calculation exceeds thedefault iteration limit before it reaches theconvergence limit, then most likely there
is a convergence failure; simply increasing
this limit is unlikely to help. The convergence accelerator (below) may help insome cases.
Accelerate
convergence320

Chapter 8

With this box checked (✓), HyperChem
will apply the Direct Inversion of Iterative
Subspace (DIIS) procedure to speed up theSetup Menu

SCF calculation at the expense of requiringmuch more memory. This option may
increase the computational time for individual iterations because the Fock (orKohn-Sham) matrix has to be calculated asa linear combination of the current Fock(K-S) matrix and Fock (K-S)matrices fromprevious iterations. It is likely to decrease
the actual number of iterations required.
Single Point
only

Specifies whether or not the calculation of gradientand MP2 correlation energy are required. These
options are only used in Single Point calculations
and ignored in any other type of computations.

Gradient

Check this box (✓) to compute the gradient (the first derivatives of the total energy
with respect to the nuclear positions).

MP2
correlationenergyCheck this box (✓) to compute the correlation energy by second order perturbation
methods (MP2).

Spin pairing

This sets the method for calculating spin interactions, of which there are two:UHF

The Unrestricted Hartree-Fock (or KohnSham) method provides separate spatial
orbitals (alpha and beta) for electrons witheach type of spin. This method is useful forboth open- and closed-shell systems. For
closed-shell systems, it can be useful forstudying dissociation of molecular systems. A UHF calculation takes longer thanan RHF calculation. ROHF (spin Restricted
Open-shell Hartree-Fock or Kohn-Sham) is
not supported in the current version ofHyperChem for ab initio or DFT calculations. Use UHF for open-shell doublets andtriplets.

RHF

The spin-Restricted Hartree-Fock (or KohnSham) method requires that spin-paired
electrons reside in each occupied spatial
orbital. One would normally use RHF for
closed-shell singlets.

Chemical Calculations

321

Setup Menu

CI...

Click on this button to bring up the Configuration
Interaction dialog box.

OK

Accept any changes made and close the dialog box.

CancelClose the dialog box without accepting any
changes made.

Note: HyperChem doesn't support the spin Restricted Open-shell
Hartree-Fock (ROHF) methods when using ab initio or DFT methods.

Ab Initio and DFT Advanced Options Dialog Box
You can use the advanced options dialog box to tune the performance of your ab initio calculations.
“Regular Integral Format” specifies the use of a “regular” format
for saving the two-electron integrals. HyperChem uses 16 bytes tostore every integral. The first 8 bytes store the four indices of an
integral and the second 8 bytes store its value. HyperChem only
stores an integral and its associated indices when the integral’sabsolute value is greater than or equal to the two-electron integral
cutoff. The two-electron integral and its indices are stored without
any modification when you choose this regular two-electron
integral format. These two-electron integrals and their indices canbe printed out to a log file by choosing a proper setting for
QuantumPrintLevel in the Start Log dialog box.
“Raffenetti Integral Format” specifies the use of the Raffenetti twoelectron integral format [R.C. Raffenetti, Chem. Phys. Letters, 20,
335 (1973)]. HyperChem can calculate all two-electron integrals
and store them in a special form that makes it easier to generate a
Fock matrix during the SCF iterations. The Raffenetti two-electron
integral format may take more main memory or disk space for thetwo-electron integrals, particularly in a UHF calculation, but may
still be faster than the regular two-electron integral format for thesame calculation. The Raffenetti format is not available when performing MP2 calculations. Similarly, the Raffenetti format is notavailable for DFT calculations and a DFT choice will automaticallyswitch the integral format to “Regular Integral Format”.

322

Chapter 8

Setup Menu

This dialog box contains the following components:
Two-electron
integral control

Controls the two-electron integral calculation andstorage.

CutoffKeep only the two-electron integrals with
an absolute value greater than or equal tothis value. The default value is 10-10 Hartree. This option controls the performanceof the SCF iterations and the accuracy of
the wave function and energies since it candecrease the number of calculated twoelectron integrals.

Buffer size

Gives the size of computer main memory
in double-precision words (8 bytes for eachdouble precision word) for storing the twoelectron integrals prior to saving them tothe hard drive. Once this buffer is full,these two-electron integrals are written toa temporary file on a disk (the selected disk
can be set in the File/Preferences/Path property sheet). A large buffer may reduce theprocessing time through fewer disk
accesses. If the two-electron integral buffer
size is big enough to hold all the integrals,
HyperChem does not use the disk.

Note: If an ab initio calculation is stopped before
completion by a power failure or other abnormal
termination, these temporary files will not bedeleted automatically. In this case you must manChemical Calculations

323

Setup Menu

ually delete the files to release the disk space. (Thefiles are deleted automatically when a calculation
ends, or is cancelled normally.) The files are stored
in the directory specified in the Preferences/Paths
dialog box.
IntegralformatRegularStore the two-electron integrals
and their indices in their originalformat. Density functional calculations always use this format andautomatically switch to this format, requiring you to manuallyswitch back to Raffenetti for ab initio calculations, if so desired..

Raffenetti

Store the two-electron integrals
and indices in the Raffenetti format to speed up the formation of
Fock matrix.

Direct SCF
calculation

Ghost-atoms
control

324

Chapter 8

Check this box (✓) to use a direct SCF
calculation. The two-electron integrals arecomputed in each iteration, rather thancomputed and stored on a hard drive prior
to the SCF calculation. This calculation
will be considerably slower than a regular
SCF calculation, but avoids using disk
space or a large amount of main memory.
This option may be practical for large
molecular systems run on a computer
which has little available space on the disk.

Controls the use of a “ghost-atoms” selection.

Use “ghostatoms”
selection
MO initial
guess

Specifies the format to store the two-electron integrals.

Check this box (✓) to use a “ghost-atoms”
selection. This option is available only
when a named “ghost-atoms” selection ispresent in HyperChem.

Specifies an initial guess for the MO coefficients.

Setup Menu

Core
Hamiltonian

Choose this radio button to use the MO
coefficients obtained from diagonalizing
the core Hamiltonian.

Projected
HückelChoose this radio button to use the projected MO coefficients generated by the
Hückel method.

Projected
CNDO

Choose this radio button to use the projected MO coefficients generated by a
CNDO calculation.

Projected
INDO

Choose this radio button to use the projected MO coefficients generated by an
INDO calculation.

Number of dorbitalsSpecifies using Cartesian Gaussians (6) or Hermite
Gaussians (5).

Five

Choose this box to use Hermite Gaussians,
which consist of five d orbitals, i.e., d0, d+1,
d-1, d+2, and d-2.

Six

Choose this box to use Cartesian Gaussians, which consist of six d orbitals, i.e.,dxx, dyy, dzz, dxy, dxz, and dyz.

OK

Accept the changes made and close the dialog box.

CancelClose the dialog box without accepting thechanges made.

Initial Guess of MO Coefficients
An initial guess at the molecular orbital coefficients is necessary for
an SCF calculation. Usually, the initial guess is obtained by solving
the Hartree-Fock-Roothaan equations with the replacement of theFock matrix by the core Hamiltonian. This initial guess of the MO
coefficients is usually acceptable. However, in some cases, the core
Hamiltonian leads to incorrect occupied orbitals or the initial
guess may be far from the final converged SCF MO coefficients.
Hence, HyperChem supports a few alternative methods for generating an initial guess at the MO coefficients. These alternative
methods are:•Projected Hückel: the initial guess at the MO coefficients is
obtained from an extended Hückel calculation;

Chemical Calculations

325

Setup Menu•

Projected CNDO: the initial guess at the MO coefficients is
obtained from a CNDO calculation;•

Projected INDO: the initial guess at the MO coefficients is
obtained from an INDO calculation.

However, these alternative methods can be only applied to certain
elements. For example, the projected CNDO/INDO may be used
only for molecular systems with atomic numbers less than or equal
to 18 (Ar). Elements beyond 18 are not available in the projected
CNDO/INDO initial guess.

Number of d Orbitals
There are two different sets of d-type functions (d orbitals) used in
ab initio calculations. One 3d set consists of five 3d functions —3d0, 3d+1, 3d-1, 3d+2, and 3d-2, and is normally used in STO-NG
basis sets. The other is a set of six 3d functions — 3dxx, 3dyy, 3dzz,
3dxy, 3dxz, and 3dyz, and is used in the split-valence basis sets, suchas, 3-21G, 4-31G, 6-31G, etc.
The contraction exponents and coefficients of the d-type functions were optimized using five d-primitives (the first set of d-typefunctions) for the STO-NG basis sets and six d-primitives (the second set of d-type functions) for the split-valence basis sets. Thus,
five d orbitals are recommended for the STO-NG basis sets and six
d orbitals for the split-valence basis sets.

Ghost-Atoms
With HyperChem you can always name a selection of atoms using
the Name Selection item of the Select menu. A named selection
called “ghost-atoms” has a special meaning, however. In most situations any atom that is a “ghost” atom, (i.e., is a member of theghost-atom set) is treated just like any other atom and the named
selection “ghost-atoms” is treated like any other named selection.
However, HyperChem may treat the ghost atoms differently fromthe regular atoms when performing certain ab initio and DFT calculations. If you have specified the use of “ghost-atoms” in the Ab
Initio and DFT Advanced Options dialog box, then a ghost atom isrepresented in ab initio and DFT calculations by its basis set onlyand does not have any nucleus or electrons associated with it.
Since there are atomic orbitals (basis functions) belonging to aghost atom, there will be Mulliken charges attached to the ghost
atoms after performing an ab initio or DFT calculation.
326

Chapter 8

Setup Menu

The concept of “ghost-atoms” only applies to Single Point calculations in the current version of HyperChem.
A major use of ghost atoms is to be able to offset the effect of basis
set superposition effects (BSSE). For example, as two monomers
come together the basis set of one monomer extends the basis setof the other, lowering the dimer energy more than just from thephysical monomer-monomer interaction. A way to offset this incomputing the dimerization energy is to use the same basis set inboth monomer and dimer calculations. That is, the monomer
energy is the energy of the dimer with ghost-atoms for the atomsof one of the monomers and “real” atoms for the other monomer.

Configuration Interaction
Use Configuration Interaction to predict the electronic spectra ofmolecules. The Configuration Interaction wave function computes a ground state plus low lying excited states. You can obtainelectronic absorption frequencies from the differences between
the energy of the ground state and the excited states.
A configuration interaction calculation is available only for single
points when the reference ground state is obtained from an RHF
calculation.
The calculation mixes all single determinant wavefunctions thatcan be obtained from the ground state by exciting electrons froma subset of the occupied orbitals (of the ground state) to a subset ofthe unoccupied orbitals. The subsets are specified as a fixed number (highest occupied or lowest unoccupied) or by an energy criterion associated with the energy difference between the occupied
orbital and the unoccupied orbital.
For density functional calculations, the difference in orbital energies can be used to predict spectra unlike ab initio calculations.
The difference corresponds to the average of singlet-triplet excitation energies. The use of configuration interaction for DFT calculations is questionable.

Configuration Interaction Dialog Box
This dialog box can be used to invoke CI calculations in order toobtain an electronic spectrum. For details, please see the information about the same box as used in semi-empirical calculations, on
page 308. You cannot use an ab initio method with the CI option
turned on for geometry optimizations, molecular dynamics simuChemical Calculations

327

lations, or vibrational calculations, in the current version ofHyperChem.

Extra Basis Function Dialog Box
This dialog box offers an easy way to modify an existing basis set
by adding extra basis functions to atoms. You may want to add apolarization function to hydrogen or diffuse functions to heavy
atoms. An alternative way to add extra basis functions to the existing basis sets is to edit an existing basis set file, make your ownchanges, and create a new basis set.
One and only one extra shell (of type S, P, D, SP, or SPD) can beapplied to any atom in the current version of HyperChem. Different extra shells can be applied to different atoms but any atom canreceive only one extra shell. If you would like to add more than
one extra shell to any atom, you will need to modify a basis set fileand create a new basis set. To use this new basis set you will needto include it in the [basisset] section of the Registry.
A basis set for an atom thus consists of a standard basis set (3-21G,
for example) and an optional extra shell.

This dialog box contains the following items:
Shell type

328

Specifies the type of shell to be added to theselected atoms (if any) or to the whole molecularsystem.

None

Choose None if you do not want to add
extra basis function(s) to the atoms.

S

Add an extra basis function associated with
an S-type shell to the selected atoms.

Setup MenuP

Add extra basis functions associated with aP-type shell to the selected atoms.

D

Add extra basis functions associated with aD-type shell to the selected atoms.

SP

Add extra basis functions associated withan SP-type shell to the selected atoms.

SPD

Add extra basis functions associated withan SPD-type shell to the selected atoms.

Exponent

Give the exponent for the selected type ofGaussian function (shell).

OK

Accept the changes made and close the dialog box.

CancelClose the dialog box without accepting thechanges made.

DFT Integration Grids Dialog Box
This dialog box offers an easy way to specify the integration grid
to be used in Density Functional Theory (DFT) calculations. In
DFT, the functional is too mathematically complicated to allow
analytical integration schemes, as used in ab initio calculations.
Numerical integration is thus required and you must specify anumerical integration scheme. The more numerical points used
the more accurate the integration but the longer it takes.

This dialog box contains the following items:

Chemical Calculations

329

Setup Menu

Grid typeSpecifies the basis numerical integration scheme to
be used. See the HyperChem Computational
Chemistry Manual for further details. You mustchoose from among the following types:

Standard Pople Choose this option for a standard grid that
Grid #1
need not be specified further. The grid is abasic Euler-MacLaurin-Lebedev where thepoints have been optimized (fewer angularpoints at smaller radii) and is known to
work effectively for basis sets like 6-31G*.
Euler-Maclau- Choose this option to use a Euler-MacLaurin-Lebedev
rin scheme for an arbitrary number ofradial points (50 is a reasonable default)
and a Lebedev scheme for the angular integration. The number of Lebedev angularpoints must be one of 6, 26, 38, 50, 86, 110,
194.
Gauss-Cheby- Choose this option to use a Gauss-Chebyshev-Lebedev shev radial integration using a fixed number of 32 points mapped to the range 0 to
infinity. The angular integration will use
Lebedev scheme as do each of the integration options. The number of Lebedev
angular points must be one of 6, 26, 38, 50,
86, 110, 194.
Use Cutoff for Allows you to specify a value of the density below
Densitywhich points in space having this density are
ignored in the numerical integration. This speeds
up calculations. If no cutoff is specified, all integration points are used in the integrations involving
the exchange-correlation functional. A value
which gives an accuracy of less than a tenth of a
Kcal/mole amy be 1.0e-6.

330

Chapter 8

Setup Menu

Exchange Correlation Potential Dialog Box
This dialog box provides the means to specify the exchange-correlation functional to be used in your DFT calculations.

There are many choices and/or choice combinations. You may
need to be conversant in density functional theory to make an
optimum choice. Many of the options provide ways of exploring
the difference between functionals for research purposes rather
than that they are expected to be the optimal functional for particular situations. Density functional theory is still an active areaof research and many researchers are involved in trying to find better functionals.
The functionals may be chosen by specifiying one of the 8exchange functionals in combination with one of the 8 correlation
functions (64 combinations). Alternatively, a specific exchangecorrelation combination that has been developed as an optimum
combination is possible. Unless you are explicitly exploring thedifference between functionals you may wish to use a combination potential.
The dialog box contains the following items:
Exchange
Potential

Specifies how to treat exchange. You can choose
from among the following exchange options:Chemical Calculations

331

Setup Menu

None

Choose this option if you want to ignore
exchange.

SlaterChoose this option if you want the simplest local density approximation to
exchange.

Hartree-Fock

Choose this option if you want the usualexchange as per a Hartree-Fock calculation.

Becke 88e

Choose this option if you want to use a
popular gradient-corrected potential developed by Becke in 1988.

Perdew-Wang Choose this PW91 option if you want to91
use an exchange potential developed inconjunction with the popular PW91 correlation potential.
Gill96

Choose this option if you want a simple
gradient-corrected exchange potential.

PBE96

Choose this option if you want a simpler
version of PW91 developed by Perdew,
Burke, and Ernzerhof.

HCTH98Choose this option if you want a recent
flexible exchange term developed by Hamprecht, Cohen, Tozer, and Handy. Closely
related to Becke97 but is pure functionalwith no HF component.
If you use the script read-hcth-coefficientsor Registry setting ReadHCTHCoefficients,
you can read the 15 coefficents defining
the exchange-correlation potential from afile hcth.coef.

Correlation
Potential

332

Chapter 8

Specifies how to treat correlation. You can choose
from among the following exchange options:

None

Choose this option if you want to ignore
correlation. In conjunction with the Hartree-Fock choice for exchange produces aHartree-Fock result.

VWN

Choose this option if you want a local density approximation to correlation as developed by Vosko, Wilk, and Nusair.

Setup Menu

PerdewZunger 81

Choose this option if you want a local density approximation to correlation. Often
used as precursor to other Perdew-like correlation potentials.

Perdew 86

Choose this option if you want to use a gradient-corrected correlation potential.
Often used in conjunction with Becke 88.

LYP

Choose this option if you want to use the
Lee-Yang-Parr gradient-corrected correlation potential. Commonly combined with
Becke88 as the B-LYP potential.

PerdewWang 91

Choose this PW91 option if you want touse a later gradient-corrected exchange
potential. Commonly combined with thecorresponding PW91 exchange potential.

PBE96

Choose this option if you want a simpler
version of PW91 by Perdew, Burke, andErnzerhof. Commonly used with corresponding PBE96 exchange potential.

HCTH98Choose this option if you want a recent
flexible exchange term develop by Hamprecht, Cohen, Tozer, and Handy. Closely
related to Becke97.

CustomChoose this option if you want to use a combined
Combinations exchange-correlation potential rather than specifying each component. These potentials are sometimes referred to as hybrid potentials. They are noteasily separated into their exchange and correlation terms. You can choose from among the following option:
B3-LYP

A popular combination developed byBecke. Includes a component of HF
exchange.

B3-PW91

A popular combination developed byBecke. Includes a component of HF
exchange. Similar to B3-LYP but replaces
the LYP correlation potential with the Perdew-Wang 91 correlation potential.

Chemical Calculations

333

Setup Menu

EDF1

An empirical Density Functional #1 combination developed by Pople and co-workers
for 6-31G*-like basis sets.

Becke97

A recent proposal by Becke for bothexchange and correlation. Includes a component of HF exchange.

Mixed Mode Calculations
You can perform quantum mechanical calculations on a part of amolecular system, such as a solute, while using molecular mechanics for the rest of the system, such as the solvent surrounding thesolute. This boundary technique is available in HyperChem for all
quantum mechanical methods. It is somewhat less complete withab initio or DFT calculations than with semi-empirical calculations,however. With ab initio or DFT calculations the boundary mustoccur between molecules rather than inside a molecule.
Choose the region (single or multiple molecules) of interest for an
ab initio or DFT calculation from the total molecular system.
HyperChem performs the ab initio or DFT calculation for theselected region using the perturbation of an electrostatic potential
arising from the net charges on the atoms of the unselected part.
(For further details of this electrostatic potential perturbation
implemented in HyperChem, please see the Computational Chemistry manual.)
The algorithms of the mixed classical-quantum model used inHyperChem are different for semi-empirical and ab initio or DFT
methods. The semi-empirical methods in HyperChem treat
boundary atoms (atoms that are used to terminate a subset quantum mechanical region inside a single molecule) as speciallyparameterized pseudo-fluorine atoms. However, HyperChem will
not carry on mixed model calculations, using ab initio or DFT
quantum mechanical methods, if there are any boundary atoms inthe molecular system. Thus, if you would like to compute a wavefunction for only a portion of a molecular system using ab initio or
DFT methods, you must select single or multiple isolated molecules as your selected quantum mechanical region, without any
boundary atoms.
Semi-empirical methods could thus treat the receptor portionof a single protein molecule as a quantum mechanical region
but ab initio and DFT methods cannot. However, both semi-

334

Chapter 8

Setup Menu

empirical and ab initio or DFT methods could treat solvents asa perturbation on a quantum mechanical solute. In the future,
HyperChem may have an algorithm for correctly treating theboundary between a classical region and an ab initio or DFT
quantum mechanical region in the same molecule. For thetime being it does not.

Periodic Box
This item places the molecular system in a periodic box containing
water molecules.

A periodic box imposes periodic boundary conditions on calculations. Periodic boundary conditions provide identical molecularsystems (virtual images), identical to the one in the periodic box,
surrounding the periodic box. For the purposes of calculations,molecules can move in a constant-density environment, similar tobeing in a liquid. The box also prevents solvent molecules fromdiffusing away or evaporating during a simulation (for example,
during a molecular dynamics calculation).
Note: Periodic boundary conditions apply only for molecularmechanics calculations. The quantum mechanics calculation
methods disregard the periodic effects.
Periodic Box adds to a molecular system TIP3P models of watermolecules (Jorgenson et al., 1983, see page 621), equilibrated at
300 K (25°C) and one atmosphere. Without a periodic box,
HyperChem assumes that molecules are in a vacuum.

Chemical Calculations

335

Setup Menu

Caution: Do not use the Model Builder (see “Converting 2D Drawings into 3D Structures” on page 487) for the water molecules in aperiodic box. The Model Builder removes the conformational
information that comes with these molecules.
Selecting a periodic box makes these changes to the molecular system:•

First, HyperChem changes the orientation of the molecularsystem to align the inertial axes with a box that has one faceparallel to the screen. HyperChem chooses the size and shapeof the box to minimize the number of water molecules
required. The standard size box is a cube 18.70 Ångstroms ona side. Boxes with dimensions 1, 2, or 3 times the standard box
minimize bad contacts. HyperChem does not accept box
dimensions larger than three times the standard box (56.10
Ångstroms).

•

HyperChem fills the box with water molecules. The number ofwater molecules depends on the size of the box that you
choose. At the edges of the box, HyperChem places water molecules only if their oxygens fall within the box, and excludes
water molecules from a specified distance of solute atoms.

•

The solute molecules remain in their original conformation.
The geometry of solvent molecules come from the databasefiles of equilibrated TIP3P water molecules.

•

HyperChem displays the new molecular system in a box. The
periodic box appears 3D if you turn on Perspective View on the
Display menu. You can remove or replace the appearance of
this box, but not the boundary conditions, by choosing Show
Periodic Box on the Display menu.

When you choose Periodic Box, HyperChem shows you the Periodic Box Options dialog box for setting the solvation conditions.
You can choose the size of the box and the smallest distance
between the solute and water molecules.

Periodic Boundary Conditions
Periodic boundary conditions and solvation are separate featuresof HyperChem. After you set up a periodic box, you can select andremove the water molecules, but keep the boundary conditions
and the periodic box. You can turn off established periodic boundary conditions during a molecular dynamics calculation by choos336

Chapter 8

Setup Menu

ing In vacuo (see the next section). The water molecules remain in
the molecular system.
HyperChem’s periodic boundary conditions provide a sharp, rectangular cutoff of the distance for calculating interactions between
nonbonded atoms. An atom interacts only with one nearest imageof other atoms and never with an image of itself. This sharp cutoff
can cause discontinuities in the potential surface that interferewith geometry optimization and molecular dynamics calculations.
To avoid this, HyperChem automatically changes the cutoff condition to Switched (see “Force Field Options Dialog Box” on page
293) for a molecular system in a periodic box. You can also choose
Shifted cutoffs. These options gradually decrease nonbonded interactions over a specified distance.

Periodic Box Options Dialog Box

Smallest box
enclosingsoluteFor information only. X, Y, and Z give the smallest
box size, in Ångstroms, that can completely
enclose the molecular system (solute). This minimal-sized box cannot accommodate the appropriate number of water molecules and is for reference
only.

Periodic box
size

These are the recommended dimensions, in Ångstroms, of the periodic box. HyperChem recommends dimensions (X, Y, and Z) for a cube at least
twice the largest dimension for Smallest box enclosing solute, or the standard size box, whichever isgreater. A standard size box is a cube 18.70 ÅngChemical Calculations

337

Setup Menu

stroms on a side. Boxes with dimensions 1, 2, or 3
times the standard box minimize bad contacts.
Larger boxes prevent the solute from interactingwith its images, but require more computing time.
Do not use box dimensions larger than three times
the standard box (56.10 Å). HyperChem accepts
noncubic dimensions.
Maximum
number ofwatermolecules

For information only. This reports the maximum
number of water molecules that HyperChem canadd. This number depends on the periodic box
size. The actual number added is usually less thanthe maximum, because of the volume that the solute occupies.

Minimum
distance
betweensolvent
and solute
atomsThis is the minimum separation between water
atoms and atoms already in the system to avoid
bad contacts. The default is 2.3 Ångstroms. A distance larger than half the largest box dimension(shown for Smallest box enclosing solute) excludes
all solvent molecules. HyperChem does not draw aperiodic box but turns on periodic boundary conditions. Practical range: 1–5 Ångstroms.

If you need a specific number of water molecules in the box, you
can select water molecules and use Cut, Copy, and Paste on the Editmenu to change the number of molecules.

Changing periodic box size
HyperChem considers the entire system when the Setup/Periodic
Box option is used. If you wish to change the size of an existing
periodic box it is usually best to remove any solvent water molecules first.
To Remove solvent:
1. Choose molecule selection via Select/Molecules.
2. Select the solute molecule(s).
3. Use Select/Complement Selection to select the solvent.
4. Use Edit/Clear to delete the selected solvent.
You can hide or display the periodic box by choosing Show Periodic
Box on the Display menu. The boundary conditions remain as part

338

Chapter 8

Setup Menuof the molecular system when you turn off the appearance of thebox.

Removing the periodic box
To remove an existing periodic box from a molecular system, theeasiest method is to open the Periodic Box dialog box, and thenclick on the Cancel button. Alternately, you can edit the HIN filecontaining the information for this molecular system (see “box”
on page 716), deleting the record beginning with box. This willremove the box but not the solvent molecules; to delete the solvent molecules, see the previous section.

Solvents other than water
Pre-defined files for periodic boxes of solvents other than water are
not distributed with HyperChem, but creating your own solvent
boxes is relatively straightforward. To find the number of solvent
molecules appropriate for your box, you will need the box volume(length × width × height) and the molecular weight and density ofyour solvent. Then:× density × Avogadro ′ s number# molecules = volume-----------------------------------------------------------------------------------------------molecular weight

For example, for a periodic box 18.62 Å in each dimension, filledwith water at 25°C, the density is 1.00 g/cm3 and the molecularweight is 18.02 g/mol. Substituting into the above, and including
the conversion from Å to cm:
3
3
23
-1
1 cm  3( 18.62Å ) ×  ------------ × 1.00 g/cm × 6.023 × 10 mol
 8 
10 Å
# molecules = --------------------------------------------------------------------------------------------------------------------------------------18.02 g/mol= 215.8
which matches the 216 water molecules found in the standard
periodic box.
The solvent molecules should be oriented randomly in the box
and the entire system equilibrated. You can do this by running
Molecular Dynamics on the system. You can then add a solute
Chemical Calculations

339

Setup Menu

molecule to the system; you will probably want to delete one ormore solvent molecules to make space for it, as HyperChem doeswith its standard water boxes. An equilibrated box of solvent molecules can be saved as a file, and re-used as you wish.

Restraints
Use this menu item to add harmonic restoring forces to atoms,
interatomic distances, angles and torsion angles during a molecular mechanics or quantum-mechanical calculation. You must firstset up the atoms that you want to restrain as named selections (see“Name Selection” on page 237). A named selection of one atom
can be tethered to a point. Named selections of two, three or fouratoms can be restrained to specific atomic separations, angles or
torsions respectively.

Restraint Forces Dialog Box
Use this dialog box to restrain selected atomic geometries during ageometry optimization. These restraints apply to tethering (oneatom), atomic distances (two atoms), angles (three atoms), and torsion angles (four atoms).
In this dialog box, you must give the Restrained Value (length,
angle, or torsion angle) for a restraint and a harmonic Force Constant. To tether an atom, you must specify the value that you want
the atom restrained to (Tether to).
HyperChem stores the restraints along with the molecular system
in a HIN file.
Caution: If you apply a Restraint to your system, then any energy
calculations that you perform will include contributions from itthat are not part of the force field. To get an accurate calculationof the energy of your system, you should remove all applied
restraints and calculate a single-point energy. You can do this witha structure that was optimized with restraints, to determine theenergy of the system in its current configuration.

340

Chapter 8

Setup Menu

Selections

Lists the named selections for the molecular system in the workspace. The selections that appear
here include only 1, 2, 3, or 4 atom selections. The
selection names have a prefix that shows the number of atoms in the selection. For example, 4-torsion means that the named selection, torsion, contains four atoms.

Restraints

Lists the named selections that you chose from theSelections list. These provide restraints during amolecular mechanics or semi-empirical (except
Extended Hückel) or ab initio or DFT calculation.

Add

Moves highlighted name from the Selections list to
the Restraints list.

RemoveRemoves highlighted name from the Restraints list
to the Selections list.

Restrained
Value

Shows the restrained value for the named distance,
angle or torsion selection highlighted in the
Restraints list.

Computed

Uses the current value for the selected
atoms and shows this value in the text box
below.

Chemical Calculations

341

Setup Menu

Other

Tether toEnter a value for Length (in Ångstroms),
Angle, or Torsion (in degrees). The value
should be greater than zero for Length.
Shows the location that the named selection (oneatom) highlighted in the Restraints list will be tethered to.

POINT

Active only if you have defined a named
selection called POINT (see page 237).
Select this to tether the named atom to the
Cartesian coordinates of the center of massof the atoms used to define POINT. Whenselected, the Cartesian coordinates of
POINT are shown in the X, Y and Z text
boxes.

Computed

Uses the current Cartesian coordinates forthe named atom and shows the coordinates in the X, Y and Z text boxes.

Other

Enter the Cartesian coordinates for thelocation that you want to tether the named
atom to.

Force
Constant

This constant regulates the strength of therestraint. Larger values give a stronger restraint.
The Default values are appropriate for molecular
dynamics calculations. Much larger values (forexample, 105) are appropriate for geometry optimization, but these values might require more
optimization cycles.

Default

The defaults are Length, 7 kcal mol–1Å–2;
Angle, 125 kcal mol–1degree–2; andTorsion, 16 kcal mol–1degree–2.

Other

Enter a number for the force constant.

Setting Up Restraints
To set up restraints for a molecular mechanics calculation:
1. Turn on Multiple Selections on the Select menu.
2. With the Selection tool, select 1, 2, 3, or 4 atoms that define anatom, length, angle, or torsion angle that you want to restrain

342

Chapter 8

Setup Menu

3. Choose Name Selection on the Select menu. Enter a name forthe selected atom(s).
4. Repeat steps 2 and 3 as needed.
5. Choose Restraints on the Setup menu. The Restraint Forces dialog box appears.
6. Choose your restraints (see the next section).
7. L-click on OK.

Applying Restraints
To use selections for restraints:•

Choosing a name: L-click on a name (for example,
2-Distance1). HyperChem highlights the name, indicating anactive choice.

•

Canceling a choice: L-click on a highlighted name.

•Moving a choice to the Restraints list: L-click on Add. Active
choices (highlighted) in the Selections list move to the
Restraints list.

•

Moving a choice to the Selections list: L-click on Remove.
Active choices in the Restraints list (highlighted) move to theSelections list.

“Dummy atoms” and Conformational Restraint
You can apply Restraints to atoms that are not connected to a structure. If an atom does not interact with a structure apart fromapplied restraint forces, you can use it as a “dummy” atom or
pseudo-atom to force a structure to maintain a particular conformation. For example, an uncharged unbonded atom whose vander Waals ε parameter has been set to 0 has no interaction withother atoms in a molecular mechanics calculation; a “lone pair”
atom does not interact in a semi-empirical or ab initio or DFT calculation. You could, for example, add a “lone pair” near the middle of a benzene ring, and restrain several C–lone-pair–C angles tobe 120°. This forces the lone pair to stay at the center of the ring.
Then you can add restraints involving a ring atom, the lone pair,and other atoms, to control the orientation of the benzene ring.

Chemical Calculations

343

Setup Menu

For a five-membered ring (see right), one
might restrain angles 1–x–3 and 1–x–4 to144° and angle 3–x–4 to 72°. When the
dummy atom x is in the proper location,
there are no net forces acting on the ringatoms, so the ring is not distorted. One could
then restrain the distance x–M, or one of theangles 1–x–M or x–M–L, or the torsion angle
1–x–M–L.

Set Velocity . . .
Use Set Velocity to interrogate current values of velocity and specify
the velocities of the selected atoms (or all atoms, if none are
selected).

Get and Set Velocity Dialog Box

The value in this dialog box that show you current conditions are:
Average
Velocity

344

Chapter 8

Shows the current average vector (magnitude anddirection cosines) of the selected atoms

Setup Menu

Velocity ofShows the current center-of-mass velocity vector
Center of Mass (magnitude and direction cosines) of the selected
atoms
Angular Veloc- Shows the current angular velocity about the cenity about Cen- ter of mass vector (magnitude and direction
ter of Mass
cosines) of the selected atoms
Translational
EnergyShows the current total translational energy of theselected atoms

Rot. Energy

Shows the current total rotational energy of theselected atoms

The values in this dialog box that allow you to change velocities of
selected atoms are:Direction

Input the desired direction to be set for the atoms
representing the current selection

At POINT

Sets the direction of motion towards theselection named POINT

Along LINE

Sets the direction of motion along the vector of the selection named LINE

Relative
Components

Sets the direction of motion as specified by
the relative x, y, and z components

Quench Trans- Modify velocities of selected atoms so as to quench
lation of Cen- all translation of the center of mass of the selected
ter of Mass
atoms.
Quench Rota- Modify velocities of selected atoms so as to quench
tion of Center all rotation about the center of mass of the selectedof Mass
atoms.

Applying an Electric or Magnetic Field
To apply an electric or magnetic field to the workspace, one simple
clicks on the menu item <Setup/Set Finite Field...> to bring up thefollowing dialog box,

Chemical Calculations

345

Setup Menu

The applied electric or magnetic field is a uniform or homogeneous one that can be applied along one of the three molecularaxes, either the X axis, the Y axis or the Z axis. Prior to applying
the field it may be desirable to orient the molecular system along
one of these axes using the <Edit/Align Molecules...> menu item.
To be clear that the screen coordinates correspond to the themolecular coordinates you might wish to align the viewer along
the Z axis prior to aligning the molecule.
To return to normal operation, the check boxes should beunchecked. Not doing so will keep applying the electric or magnetic field with no obvious visual indication to the user.
The electric field can be applied to the workspace for any quantum
mechanical engine, i.e. semi-empirical, ab initio, or DFT. However,magnetic fields can only be applied to a molecule using the TNDO
semi-empirical method. Magnetic fields for ab initio or DFT computations (with gauge-invariant orbitals) would be useful but
require considerably more effort. TNDO, however, is potentiallythe most accurate semi-empirical method and a good vehicle for
exploring new technologies.

Network . . .
Use Network to specify a remote server to perform molecularmechanics and quantum mechanical calculations.

346

Chapter 8

Setup Menu

Network Options Dialog Box

Compute on
hostworkstation

Calculations are performed on the local workstation.

Networked
Unix Host

Calculations are performed on a remote server.

Host nameEnter the server name.

UseridEnter your login id on the remote server.

Password

Enter your login password on the remote server.
(What you type will not be displayed.)

Number ofProcesses

Number of parallel processes to run. Ignored in thecurrent version of HyperChem, which will use ‘1’regardless of the value entered.

Edit Parameters
Use Edit Parameters to interactively see the parameters being used inyour calculations and to potentially set new values for (i.e. edit) aparameter. This menu item is enabled only for molecular mechanics and semi-empirical quantum mechanical methods but not for
ab initio or DFT.
Depending upon whether one, two, three, or four atoms are
selected, a dialog box will show the parameters for the selected
atom (type or atomic number), bond (two types), angle (three
types), or torsion (four types).
If you edit a parameter associated with certain types or atomic
numbers, the new value will apply to all types or atomic numberswith the same value. thus, for example, you might select a specificcarbon atom and change its parameters. These changes apply to all
carbon atoms. You cannot change the parameters for only a single

Chemical Calculations

347

Setup Menu

atom but rather the changes apply to all identical atomic numbers(semi-empirical quantum mechanics) or types (molecular mechanics plus TNDO).
The information you see will be determined by the current computational method and by whether it is atom, bond, angle, or torsion information.
Note: Prior to editing parameters, it is important to copy yourparameter set so as to retain an original unedited copy. If you loose
your original parameters, you may have to reinstall HyperChem toget them back. The Copy button in the Select Force Field Parameter
Set dialog box described below assists in this process.
Caution: If you edit parameters, HyperChem automatically createsa new *.PAR file for you. Since HyperChem only uses PAR files in
actual calculations, be sure your parameters files have been compiled into PAR files if you edit parameter files directly.

Atom Parameters
Selecting an atom and molecular mechanics will tell you about the
non-bonded parameters:

You must click on the Edit button in order to edit values. Click on
Save to adopt the new value or Cancel to leave the values alone.
Selecting an atom and semi-empirical quantum mechanics will tell
you about the semi-empirical parameters for that atomic number:

348

Chapter 8

Setup Menu

The information you obtain will differ depending upon the particular semi-empirical method chosen:

Bond Parameters
If you select a bond, then the parameters shown are the bonding
parameters for the particular molecular mechanics method:

Chemical Calculations

349

Setup Menu

In this case, Amber has no bond dipole parameters , unlike MM+,so that this field is grayed.

Angle Parameters
The display of angle parameters (ethane) is as follows:

Torsion Parameters
The display of torsion parameters is as follows:

350

Chapter 8

Setup Menu

In this case, Amber has no explicit HC-CT-CT-HC parameter forethane (It does, however, have a more generic **-CT-CT-** parameter that will be used. These are not currently reported.

Select Parameter Set
Use Select Parameter Set to choose a set of constants (parameter set)
for a chosen force field or for TNDO. You see a Select Force Field
Parameter Set dialog box with a list of choices. Force Field can be
MM+, AMBER, BIO+, OPLS, or TNDO depending on your choice in
the Molecular Mechanics Force Field or Semi-empirical Method
dialog box (see page 290).
A “parameter set” is a set of files that includes information aboutbond lengths and angles, torsional angles, and electrostatic interactions. The exact contents are different for each force field (seepage 661). A force field can have more than one parameter set.
You receive HyperChem with several standard sets of parameter
files. These are text or database files with .txt or .dbf extensions (see“Parameter Files” on page 660). HyperChem uses compiled, binary
versions of these standard parameter files (see page 353), with theextension .par. Each PAR file, for example amber2.par, includes all
information from the parameter files amber*.txt or amber*.dbf.
Before you use a new or modified parameter set for a molecularmechanics calculation, choose Compile Parameter File on the Setup
menu (see “Compile Parameter File” later). This converts theparameter files to one binary PAR file.
Chemical Calculations

351

Setup Menu

Note: The Registry lists files for each force field that make up aparameter set. The parameter files are in the directory specified by
the ChemParmPath setting in the File/Preferences/Path property
sheet.
To modify existing parameter files or to set up alternate parameter
files, see “Force Field Parameters” on page 659.

Force field Parameters Dialog Box

L-click on the parameter set that you want to use for a force field.
With Release 7 and the TNDO method, it is possible to have a variety of parameter sets for a semi-empirical method and the above
dialog box has been extended to the TNDO method.

For TNDO, it is possible to copy a complete parameter set in a single operation by just pushing the Copy button. This makes it easy
to back up your original parameters prior to editing them with theEdit Parameters menu item.

352

Chapter 8

Setup Menu

Compile Parameter File
Compile Parameter File combines and converts a set of parameter
files (chosen with Select Parameter Set, described in the previous
section) to one binary file (with the extension .par) that HyperChem needs for molecular mechanics calculations. The Registry(see page 743) lists the parameter sets available to compile into
PAR files and specifies the use of text or dBase®-type files.
Each force field uses a different PAR file. For each force field, you
can have more than one PAR file to choose from. Use Select Parameter Set (see the previous section) to choose a PAR file. The uncompiled parameter files used for each PAR file (or parameter set) aredefined by settings in the Registry.
Uncompiled parameter files can be either text files (.txt) or dBase
type files (.dbf). You can create or modify these files with either atext editor (like Windows Notepad, for TXT files) or a database program (like dBase, for DBF files). For more information about
uncompiled parameter files, see “Force Field Parameters” onpage 659.
Note: With Release 7 and beyond, DBF files are no longer being
updated nor considered current. For the latest parameters, always
uses TXT files for parameters. DBF files were redundant and may
be eliminated in future releases. If you need DBF files for some reason, Microsoft Excel can convert parameter TXT files to DBF.

Reaction Map . . .
After you have defined the named selections REACTANT and
PRODUCT (see “Name Selection” on page 237), you can use this
dialog box to set up a starting point for a Synchronous Transit
transition state search (see “Transition State” on page 386). The
menu item is gray and unavailable unless both REACTANT and
PRODUCT have been defined and contain the same numbers of
atoms. If REACTANT and PRODUCT do not contain the same
numbers of the same kinds of atoms, you will not be able to map
all the atoms, and you will have to exit this dialog box with Cancel.
Important: For good results in a Synchronous Transit transition
state search, both the reactants and products should be minimized(separately) to give local minima before the reaction mapping isdone. One good procedure for doing this is to set up the reactant
state, minimize it, and save it as a file; then rearrange the atoms to
Chemical Calculations

353

Setup Menu

the product state, and minimize again; then use Merge (seepage 82) to add the reactant state back to the workspace.

LambdaThis value describes the position of the initial
guess of the transition state along the reaction
coordinate between the reactant configuration andthe product configuration. Lambda must be
between 0 (the reactant state) and 1 (the productstate).
Note: For symmetrical transition states, a lambda
value of 0.5 may give poor results because thesearch algorithm looks for an optimal saddle pointin the potential energy surface, but the perfectly
symmetrical starting point for the search is alreadyclose to a saddle point. For such symmetrical transition states, a lambda value of 0.49 or 0.51 willprobably give better results.

Reactant

354

Chapter 8

This list box shows the atoms of the Reactant
named selection that have not yet been matchedwith corresponding Product atoms. When you
select one of the Reactant atoms from this list, it isselected in the workspace as a visual aid. Atoms arelisted as (molecule number, atom number, element).

Setup Menu

Product

This list box shows the atoms of the Productnamed selection that have not yet been matchedwith corresponding Reactant atoms. When you
select one of the Product atoms from this list, it isselected in the workspace as a visual aid. Atoms arelisted as (molecule number, atom number, element).

Map

This list box shows the currently-defined pairs ofreactant and product atoms. In principle, as theconfiguration of atoms changes from the Reactant
state to the Product state, each reactant atom
“becomes” the corresponding product atom.

Add

This button becomes active when an atom has
been selected from the Reactant list box and an
atom has been selected from the Product list box,
and they are both the same element. It allows you
to move the selected atoms as a matched set to the
Map list box.

RemoveThis button becomes active when you select a reactant/product atom pair in the Map list box. It
allows you to unpair the atoms, and returns themto the Reactant and Product list boxes.

OKThis button becomes active only when all of thereactant and product atoms have been mapped —that is, when the Reactant and Product list boxes
are empty and all of the atoms are in the Map list
box. It sets up the atom pairs for use in the Synchronous Transit transition state search. The Product atoms are deleted (along with any information
attached to them, such as named selections andcharges) and the Reactant atoms are repositioned
according to the coordinates from the interpolation between the two sets.

CancelThis aborts the mapping procedure and returns
you to the HyperChem window. All mapping
information will be lost; if you open the Reaction
Map dialog box again, all of the atoms will havebeen returned to the Reactant and Product list
boxes.

Chemical Calculations

355

Setup Menu

356

Chapter 8Compute Menu

Compute Menu
The Compute menu directs chemical calculations using the molecular system in the workspace and the method you choose on the
Setup menu. You can use the MM+, AMBER, BIO+ (CHARMM),
and OPLS force fields and the various semi-empirical and abinitio or DFT quantum mechanical methods for calculations.
Using your choice of calculation method in the Setup menu,
HyperChem automatically carries out a calculation.
The Compute menu has these items:
Single Point

Calculates the total energy and the root-meansquare (RMS) gradient for selected atoms or, if there
is no selection, for all atoms. For a semi-empiricalcalculation, Single Point also calculates wave functions for the selected atoms

Geometry
Optimization . . .a

Calculates an optimum molecular structure (lowest
energy and smallest RMS gradient) for selected
atoms or, if there is no selection, for all atoms. Use
either a molecular mechanics or semi-empirical or
ab initio or DFT method

Molecular
Dynamics . . .a

Calculates the motion of selected atoms or all
atoms in a molecular system, over picosecond timeintervals. Demonstrates stable conformations, transition states, and thermodynamic properties. Use
either a molecular mechanics or semi-empirical or
ab initio or DFT method. Can use periodic boundaries with explicit solvent molecules

Langevin
Dynamics . . .

Calculates the motion of selected atoms or all
atoms in a molecular system, over picosecond timeintervals. Demonstrates stable conformations, transition states, and thermodynamic properties. Use
either a molecular mechanics or semi-empirical or
ab initio or DFT method. Uses frictional effects tosimulate the presence of a solvent

Chemical Calculations

357

Compute Menu

358

Chapter 7

Monte Carlo . . .

Calculates ensemble averages for selected atoms or
all atoms in a molecular system. Use either a molecular mechanics or semi-empirical or ab initio or DFT
methodVibrations

Calculates the vibrational motions of selected atoms
or all atoms in a molecular system. Use an ab initio
or DFT or semi-empirical method other than
Extended Hückel

Transition
State . . .

Searches for transition states for the current system,or for a set of reactant and product atoms that havebeen defined with Setup/Reaction Map. Use an abinitio or DFT or semi-empirical method other than
Extended Hückel

Invoke NMR...

Invokes the HyperNMR module for calculating
shielding and coupling constants and possibly thespectraProperties

Displays the properties of selected atoms or bonds
or molecules derived from computations on themolecule

Plot Molecular
Graphs . . .

Use this to choose to display the electrostatic potential, total spin density, or total charge density after asemi-empirical or ab initio or DFT calculationb

Orbitals . . .

Use this to choose to display orbitals and theirenergy levels after a semi-empirical or ab initio or
DFT calculationb

Vibrational
Spectrum . . .

Use this to analyze and display the vibrational frequencies and normal modes calculated by a Vibrations calculationb

Electronic
Spectrum . . .

Use this to analyze and display the ultraviolet-visible
spectra calculated from a Single Point calculation
using singly-excited configuration interactionb

Potential . . .c

Plots 1D and 2D potential energy curves

Compute Menu

Conformational
Search...

Finds low energy conformations of molecular systems by varying user-specified dihedral angles.

QSAR Properties...

Allows several properties generally used in QSAR
studies to be calculated.

a. These items are gray and unavailable when you choose the Extended
Hückel method for a calculation or when CI is turned on.
b. This item is gray and unavailable until after you have performed a semiempirical or ab initio or DFT calculation on the current system.
c. This item is gray until you have made the proper selection or defined
the proper PLOT1, PLOT2 selections.

Many chemical calculations are time-consuming. Once you start a
calculation, you can stop it before completion by L-clicking on
Cancel on the menu bar or by pressing [Esc].
Important: You can store atomic charge information from a calculation by saving the molecular system in a HIN file. Use Save or
Save As on the File menu. To store the energy or gradient values
from a calculation, use the log file (see “Start Log . . .” on page 90).
The QuantumPrintLevel and MechanicsPrintLevel settings in theStart Log dialog box affect the amount of information stored in thelog file. To save results from quantum calculations, use File/Export.
You can also record an image of the molecular system by choosing
Print on the File menu or Setup Image in File/Preferences, and thenchoosing Copy Image on the Edit menu.

Warning Messages
When HyperChem begins a calculation using a molecularmechanics force field and cannot find appropriate parameters (see“Parameter Files” on page 660) for the molecular system, it may
show warning messages in a dialog box that tell you the type offorce constant that is missing and the atoms involved. You havethese choices:
Abort

Stops the calculation.

Continue

Accepts the warning and proceeds to the next
warning message or begins the calculation. With
molecular mechanics force fields, HyperChem
attempts to supply force default constants. Warning messages may show you the progress of thisprocess. These warning messages go to a log file, if
active.
Chemical Calculations

359

Compute Menu

IgnoreHyperChem begins the calculation without showing you additional warning messages. A calculation assigns default force constants. Warning messages go to a log file, if active.
You can eliminate these warnings or send them
only to a log file by setting WarningType in theRegistry (see page 759).

Single Point
A single point calculation determines the total energy and RMS
gradient of a molecular system or of selected atoms. With a semiempirical or ab initio or DFT method, Single Point also calculates
the electron and charge distribution in the system. Single pointmeans the calculation is for the present molecular conformation,a single point on the potential energy surface for the molecularsystem. Certain results of single point calculations are available fordisplay via the Properties... menu item. At the end of a calculation,
HyperChem reports values for Energy and Gradient on the statusline:
EnergyThe total energy (in kcal/mol).

Gradient

The RMS value of all forces on all atoms. The gradient, or force, is the rate of change (first derivative) of the total energy with respect to displacement in the x, y, or z direction. Since the forces area derivative of energy with respect to atomic position, the units are kcal/mol/Ångstrom. A value
close to zero indicates a molecular system close toa conformation with a minimal energy. This minimum is usually one of several possible low energy
conformations (local minima) and not necessarily
the lowest possible state (global minimum).

Caution: Since each calculation method uses different assumptions, you should compare numerical results from the same
method only.
Caution: If you apply a Restraint to your system, then any energy
calculations that you perform will include contributions from itthat are not part of the force field. To get an accurate calculationof the energy of your system, your should remove all applied
restraints and calculate a single-point energy.

360

Chapter 7

Compute Menu

Using a Molecular Mechanics Method
If you are doing a molecular mechanics calculation on a selected
set of atoms in a molecular system, HyperChem calculates theinteractions between the selected atoms, between selected atoms
and the set of unselected atoms, but not among the unselected
atoms.
To use a molecular mechanics method:
1. Select the atoms you want to include in the calculation, ordeselect all atoms to compute the energy of the whole molecular system.
2. Optionally you can choose Types in the Labels dialog box (seepage 281) to be certain that each atom has an atom type.
3. Choose Molecular Mechanics on the Setup menu.
4. From the Molecular Mechanics Force Field dialog box, choose
a force field. L-click on Options to change the way the force
field works. See page 290.
5. Choose Single Point on the Compute menu.

Using a Semi-empirical or Ab Initio or DFT Method
If you are using a quantum-mechanical method for the single
point calculation, HyperChem determines the distribution of electrons along with the energy and gradient values. You can plotthese results on top of the molecular system in the workspace
using the Plot Molecular Graphs menu item. You can inspect theindividual molecular orbitals using the Orbitals menu item, including display of orbital isosurfaces.
If you want a single point calculation for a selected part of a molecule and you are using a semi-empirical method, first use Extend
to sp3 on the Select menu. This option selects additional atoms, inall directions, until it reaches sp3–sp3 single bonds or singly
bonded atoms (see page 244). HyperChem incorporates the effectsof all unselected atoms (their charges) into an electrostatic potential and uses this (as an electric field effect) in the calculation (see“Mixed Mode Calculations” on page 311). Ab initio or DFT calculations can work only on complete molecules, though you can selectone or more molecules from the workspace and omit others fromthe calculations.

Chemical Calculations

361

Compute Menu

To perform a single point calculation:
1. Select atoms for the computation, or deselect all atoms for thewhole molecular system.
2. Choose Semi-empirical or Ab Initio or Density Functional on the
Setup menu.
3. From the Semi-empirical Method or Ab Initio Method or Density Functional Method dialog box, choose a method. L-click
on Options or other buttons to change the way the calculation
method works.
4. Choose Single Point on the Compute menu.

Geometry Optimization
Geometry Optimization calculates and displays a structure with aminimum energy and minimal atomic forces (Gradient). This is
usually a local minimum. You can do this calculation for selected
atoms or, if there is no selection, for all atoms in a molecular system. Use either a molecular mechanics or quantum-mechanicalmethod.
If you select atoms from the molecular system, unselected atoms
do not move (no geometry optimization), but the calculation uses
the forces that unselected atoms exert on selected atoms. In a semiempirical calculation with selected atoms, HyperChem treats only
selected atoms quantum mechanically (see “Extend to sp3” onpage 244).
Note: To save the results of these calculations, choose Start Log on
the File menu. You can also record an image of the molecular system by choosing Print on the File menu or Setup Image from
File/Preferences, then choosing Copy Image on the Edit menu.
For more information about this calculation and its applications,see HyperChem Computational Chemistry, Practical Guide.
To perform a geometry optimization calculation:
1. Select atoms for the computation, or deselect all atoms to optimize the whole molecular system.
2. Choose Molecular Mechanics or Semi-empirical or Ab Initio or
DFT on the Setup menu. Choose a calculation method or basis
set, etc. from the dialog box(s) that appears next Select OK.

362

Chapter 7

Compute Menu

3. Choose Geometry Optimization on the Compute menu.
4. Choose an algorithm in the Optimization dialog box. You canalso choose Options for the calculation or the variable to be
optimized for the Conjugate Direction algorithm. L-click OK.
During a geometry optimization calculation, HyperChem shows
you small adjustments to the molecules in the workspace. The status line reports this information:
EnergyThe total energy (in kcal/mol) relative to the sameatoms that are not interacting.

Gradient

The RMS value of forces on atoms. The gradient, orforce, is the rate of change (first derivative) of thetotal energy with respect to displacement in the x,y, or z direction. Since the forces are a derivative ofenergy with respect to atomic position, the units
are kcal/(mol⋅Ångstrom). A value close to zero indicates a molecular system close to a conformation
with a minimal energy. This minimum is usually
one of several possible low energy conformations(local minima) and not necessarily the lowest possible state (global minimum).

Converged

HyperChem reports YES when the calculation
reaches the gradient criterion you set in the Optimization dialog box (see the next section) for
reaching a minimum.

cyclesThe number of search directions (see the next section) in reaching a minimum.

pointsThe number of single point calculations (energy
and gradient) performed while calculating a minimum structure.

iter

For a semi-empirical or ab initio or DFT calculation:
The iteration number of the SCF calculation.

diff

For a semi-empirical or ab initio or DFT calculation:
The difference in energy (kcal/mol) between the
results of the last two SCF cycles.

Chemical Calculations

363

Compute Menu

Molecular Mechanics/Semi-empirical/Ab Initio/DFT
Optimization Dialog Box
You see this dialog box if you choose Geometry Optimization on theCompute menu. The title bar contains Molecular Mechanics Optimization or Semi-empirical Optimization or Ab Initio Optimization,
depending on the calculation method you are using (see page 289,
page 296, and page 311).

Algorithm

HyperChem uses these algorithms to calculate, forthe molecular system or for selected atoms, ageometry with a minimum potential energy. Thesemethods attempt to lower the energy of a molecular system by adjusting its geometry.

Steepest
Descent

364

Chapter 7

Moves directly down the steepest slope (ofinteratomic forces) on the potential energy
surface. If the energy of the molecular system decreases, it continues in the same
direction, but by a larger step (by an increment of 1.2 times larger). If the energy
increases after a step, the rate of adjusting
the geometry decreases: the next step size
is half of the last step.

Compute Menu

This method makes limited changes to themolecular structure. It is useful for quickly
correcting bad starting geometries or for
removing bad contacts; it is most effective
when the molecular system is far from aminimum. The calculation does notreadily converge and can oscillate.
FletcherReeves

This is a conjugate gradient method, whichmeans that it chooses a descent direction(to lower energy) by considering thecurrent gradient, its conjugate (initially thenegative of the current gradient), and thegradient for the previous step. For eachdescent direction, a one-dimensional
search attempts to locate a minimum.
There are at least two evaluations (points)of the energy and gradient for each direction (cycle). To reduce cumulative errors in
the calculation, when the number of directions is three times the number of atoms,
this procedure resets the conjugate direction to the negative of the gradient. Thismethod has super-linear convergence; itconverges better than the Steepest descentmethod.

Polak-RibiereThis is a conjugate gradient method using
one-dimensional searches (see above). It
improves on the Fletcher-Reeves methodby also considering the previous conjugate
direction. This method does not require
resetting the conjugate direction. It
requires slightly more memory but tends
to converge more quickly than the
Fletcher-Reeves method.

EigenvectorFollow

Available for semi-empirical or ab initio or
DFT optimizations; not available formolecular mechanics optimizations. It
uses eigenvectors from a diagonalized Hessian matrix (second derivatives of totalenergy with respect to atomic displacements) to determine the optimal directions

Chemical Calculations

365

Compute Menu

for atomic motion. The initial guess iscomputed empirically.
Block
Diagonal
NewtonRaphson

Available only for the MM+ force field.
This is the only method offered that
directly calculates second derivatives, orforce constants. Second derivatives indicate the curvature of the potential energy
surface and can assist in locating minima.
The method computes the second derivative matrix for one atom at a time, avoiding second derivatives with respect to two
atoms. It cycles through each atom until
the RMS gradient for all atoms is near zero.
Where atoms are in an area of negative curvature, the calculation uses a steepestdescent step. This method is efficient inlocating a minimum but requires a reasonable starting geometry. The result sometimes oscillates because the calculationneglects coupling between atoms.

Conjugate
Directions

Available for semi-empirical or ab initio or
DFT optimizations; not available formolecular mechanics optimizations. It
uses only the energy and not any derivatives of the energy. It can thus be used
more broadly although it is not efficientcompared to derivative methods. Can beused to optimize MP2 geometries or
excited state CI geometries.

Termination
condition

Use these text boxes to set conditions for ending acalculation. When the calculation reaches either ofthese criteria, the calculation ends.

RMS gradient When the RMS gradient of the energy isless than this value, the calculation ends.
The practical range is 10–3 to 0.1 (thedefault). Values less than 10–3 might not be
possible due to the numerical round-off
error. You can use values greater than 0.1
for quick, approximate calculations.
max.
Cycles366

Chapter 7

If the calculation uses this number ofsearch directions before converging, theCompute Menu

calculation ends. The default is 15 times
the number of atoms. The practical range is
100 to 1000.
In vacuoThis removes periodic boundary conditions fromthe calculation. In vacuo is the only choice if themolecular system is in a periodic box (either visibleor hidden).

Periodic
boundary
conditions

This uses the periodic boundary conditions alreadyestablished in the molecular system (see “Periodic
Box” on page 335) for the calculation. This is only
available if the molecular system is in a periodicbox (either visible or hidden).

VariableThis brings up the Variable to Optimize dialog box
which allows you to choose whether to optimize
the SCF energy ( for comparison with equivalent
result using another optimization algorithm) or
the SCF + MP2 energy (ab initio only) or the energyof an excited state (provided Configuration Interaction has been chosen).

ScreenrefreshperiodThis is the frequency, in optimization cycles, ofshowing the results of a calculation on screen.
Screen refresh period can be any number of datacollection periods (an integer) from 1 to 32,767.
Note: Changing the Screen refresh period alsochanges the Data collection period in the Molecular
Dynamics dialog box.

Chemical Calculations

367

Compute Menu

Molecular Dynamics
Molecular dynamics calculations simulate the movement of molecules. These calculations have various uses, including studying
equilibrium properties (motion around a minimum on the energy
surface) and kinetic behavior (motion involving change from one
state to another). Equilibrium simulations (at one temperature)
can predict thermodynamic properties of a molecular system.
Kinetic simulations (with controlled heating and cooling) help tofind an energy minimum (simulated annealing). By setting two
molecules to collide, it is possible to model chemical reactions at
the molecular level. (Molecular Dynamics simulations using ab initio methods take much longer than with molecular mechanics or
semi-empirical methods, but they may model bond breaking andbond formation more accurately. See comments in Computational
Chemistry about bond breaking and formation.)
HyperChem provides records of molecular dynamics calculations.
You can take snapshots of the molecular system during asimulation and store these in a file for later analysis. You can also
calculate and graph values for structural or energy variables.
Use this calculation on selected atoms or on all atoms in a molecular system. If you select atoms from the molecular system, unselected atoms do not move (no geometry optimization), but the calculation uses the forces that unselected atoms exert on selected
atoms. In a semi-empirical calculation with selected atoms, HyperChem treats only selected atoms quantum mechanically (see“Extend to sp3” on page 244).
To perform a molecular dynamics calculation:
1. Select the atoms for the computation or deselect all atoms to
run the dynamics calculation on the whole molecular system.
2. Choose Molecular Mechanics, Semi-empirical, or Ab Initio on the
Setup menu. From the next dialog box that appears, choose
the calculation method. Set up the calculation options thatyou wish. (In order to conserve the total energy in molecular
dynamics calculations, using an ab initio quantum mechanicalmethod, the gradient needs to be very accurate. Although thegradient is calculated analytically, it is a function of the SCF
accuracy of a wave function. Tests for H2O show that the convergence limit needs to be at least at 10-5.)
3. Choose Molecular Dynamics on the Compute menu.
368

Chapter 7

Compute Menu

4. In the Molecular Dynamics Options dialog box, you canchoose times and temperatures for heating, equilibration, andcooling. You can also choose data analysis options.
5. L-click on Proceed.
This information appears on the status line during a calculation:
Time

The total elapsed time of the molecular dynamics
simulation, in picoseconds.

Total Energy

The total energy (potential and kinetic) of thismolecular system.

T

The temperature of the molecular system in
Kelvin.

iter

For a semi-empirical or ab initio calculation: The
iteration number of the SCF calculation.

diff

For a semi-empirical or ab initio calculation: The
difference in energy (kcal/mol) between the resultsof the last two SCF cycles.

For more information about this calculation and its applications,see HyperChem Computational Chemistry, Practical Guide.

Changing the Initial Velocity for Calculations
If you want to perform a molecular dynamics simulation using a
different set of initial atom velocities, you can change the value ofthe HyperChem variable, called dynamics-seed, that is used for the
random number generator. For details see “Scripts and DDE” onpage 509.

Molecular Dynamics Options Dialog Box
Essentially the same dialog box is used for Molecular Dynamics,
Langevin Dynamics, and Monte Carlo. Each of these calculations
can have up to three phases: heating, running, and cooling. The
running phase of a dynamics calculation may involve constanttemperature control (coupling to a “water bath”) or no temperature control (“free” dynamics).
The options you choose for a molecular or Langevin dynamics calculation depend on the type of simulation. If you want to determine the thermodynamic properties of a system, the system mustreach equilibrium, indicated by a stable temperature, without a
Chemical Calculations

369

Compute Menu

temperature bath. Reaching equilibrium might require long simulation times. For most equilibrium simulations, you should have along simulation period to reach equilibrium, then start the simulation again (see Restart, below) to collect data.
If you want to find a minimum energy conformation, equilibrium
is not required. The simulation can use high temperatures to aid incrossing barriers on the potential surface. For example, you canheat a system, maintain it at a high temperature, and then cool it.

Times

For Molecular Dynamics and Langevin Dynamics,
the lengths of time periods and the size of the time
steps in the simulation. For Monte Carlo, the number of steps in each phase, and the maximum
atomic movement at each step. Each time period
starts and ends at a Temperature.
For Molecular Dynamics and Langevin Dynamics, theoptions are:370

Chapter 7

Heat time

The time in picoseconds (ps) for changing
the temperature from Starting to Simulation. Suggested range: 0 to 10 ps.

Run time

The time in picoseconds for holding thesystem at the Simulation temperature. Suggested range: 0 to 103 ps.

Compute Menu

Cool time

The time in picoseconds for changing thetemperature from Simulation to Final. Suggested range: 0 to 10 ps.

Step size

This is the time interval, in picoseconds,
between evaluations of the total energy
and temperature of a molecular system
Suggested range: 10–4 to 10–3 ps, andgreater than zero. For molecular systems
with explicit hydrogens (All Atom), try
5x10–4.

For Monte Carlo, the options are:Heat

The number of steps for changing the temperature from Starting to Simulation.

Run steps

The number of steps for doing the calculation at the Simulation temperature.

Cool

The number of steps for changing the temperature from Simulation to Final.

Max delta

This is the maximum distance (in Å) thatany atom in the system will be moved ateach step in the calculation. Suggested
range: 0.01 to 0.1 Å; the default is 0.05 Å.

Note: For dynamics calculations, step size is critical. If the simulation is unstable (atoms move erratically or bonds increase inlength beyond reasonable limits), try a smaller step size. In general, the step size should be an order of magnitude smaller than the
shortest period of a characteristic system oscillation. For systems
including individual hydrogen atoms, use a step size of about
5x10-4 ps, or less.
Temperature

The temperature levels for the simulation. During
Heat time and Cool time, HyperChem sets the temperature by periodically adjusting velocities (seeHyperChem Computational Chemistry, Theory andMethods). During Run time with Constant temperature on, HyperChem adjusts velocities at each time
step. If Constant temperature is off, adjustment
occurs once at the beginning of the simulation.

Starting
temperature

If Heat time is greater than zero, initialatomic velocities are adjusted to give thistemperature. Suggested range: 0 to 300 K.
Chemical Calculations

371

Compute Menu

Simulation
temperature

At the start of Run time, atomic velocities
are adjusted to give this temperature. If
you want initial heating in the simulation,
this temperature should be larger thanStarting temperature. Suggested range: 0 to
400 K.

Finaltemperature

If Cool time is greater than zero, atomic
velocities are adjusted to approach thistemperature at the end of Cool time. If you
want cooling to occur in this simulation,
this temperature should be less than Simulation temperature. Suggested range: 0 to
300 K.

Temperature
stepThis sets the size of the steps, in Kelvin, forheating or cooling. Suggested range: 0 to
100 K.

Options

372

Chapter 7

In vacuoThis removes periodic boundary conditions from the calculation. In vacuo is the
only choice if the molecular system is notin a periodic box (either visible or hidden).

Periodic
boundary
conditions

This includes periodic boundary conditions in the calculation. The system must
be in a defined Periodic Box (see page 335).

Constant
temperature

Tends to regulate the temperature of themolecular system about the Simulation
temperature, only during Run time. This
creates a non-equilibrium condition; thesimulation adjusts atomic velocities tocontrol the temperature. The amount(severity) of temperature regulation
depends on the Bath relaxation setting(below). This option is inactive for Monte
Carlo.

Bathrelaxation

A time constant (in picoseconds) for Constant temperature regulation during Run
time (see above). The Bath relaxation constant affects the amount of regulation.
Constants similar to the Step size (seeabove) give better regulation, but take theCompute Menu

system further from equilibrium. Larger
time constants give less regulation, but areoften useful for counteracting round-off
errors that accumulate during the longsimulations. Suggested range: Step size to
0.1 ps (the default).
Random seed This number is the starting point for the
random-number generator used for thesimulations. It is used to determine thestarting velocities for atoms in a Molecular
Dynamics calculation if Restart is notchecked, and the random motions andinteractions in Monte Carlo and Langevin
Dynamics. The value is saved in a HIN file.
Acceptable values: integers from -32768 to
32767.
FrictioncoefficientDatacollection
periodThis option is used for Langevin Dynamics,
and is gray and inactive for Molecular
Dynamics and Monte Carlo. It describes
the coefficient of friction which is used tosimulate solvent interactions. Acceptablevalues: from 0 to infinity.

This is the frequency, in time steps, that the molecular dynamics simulation sends new calculated
values to HyperChem. Step size, also in this dialog
box, sets the length of time steps. Data collection
period can be any number of time steps (an integer)from 1 to 32,767.
Note: Changing the Data collection period alsochanges the Screen refresh period in the Molecular
Mechanics, Semi-empirical, and Ab Initio Optimization dialog boxes.

ScreenrefreshperiodThis is the frequency, in data steps, of showing theresults of a calculation on screen. Data collection
period, above, sets the length of a data step. Screen
refresh period can be any number of data collection
periods (an integer) from 1 to 32,767.

Playback

Check (✓) this option to run a dynamics or Monte
Carlo simulation stored in a HIN and a snapshot(SNP) file. To use Playback, the molecular system

Chemical Calculations

373

Compute Menu

from the HIN file must be in the workspace. The
molecular system is in the workspace if you justcompleted a dynamics or Monte Carlo calculation,or if you use Open on the File menu to display asystem stored with snapshots.
With Playback on (✓), only Data collection period,
Screen refresh period, Snapshots, and Averages areavailable in this dialog box. L-click on Snapshots tosee the Molecular Dynamics Playback dialog box(see page 375). L-click on Averages to calculate
averages or plot values during the playback (see“Molecular Dynamics Playback Dialog Box” onpage 375).

374

Chapter 7

RestartWith Restart on (✓), the calculation sets the initial
velocities of atoms to previously determinedvalues. The initial velocities are either from the lastmolecular dynamics calculation with the current
molecular system, from a HIN file saved withvelocities (see “Save File Dialog Box” on page 83),
or set in the Set Velocity dialog box (see page 344).
With Restart off, the calculation creates initial
velocities, using a random number generator,
which provide a Gaussian distribution associatedwith the starting temperature.

SnapshotsWith Playback off, this option shows the Molecular
Dynamics Snapshots dialog box (see the next section). With Playback on, Snapshots shows theMolecular Dynamics Playback dialog box (seepage 375).

Averages

Displays the Molecular Dynamics Averages dialog
box (see page 377), so that you can calculate averages and graph results of a dynamics calculation.
Use this option after a calculation or playing backa snapshots file (see Playback, earlier). Averages areavailable only in the Molecular Dynamics Averages
dialog box. Graphs appear in the Molecular
Dynamics Results dialog box.

ProceedStarts the dynamics or Monte Carlo calculation or
starts the playback of a snapshots file.

Compute Menu

Molecular Dynamics Snapshots Dialog Box
Use this dialog box to store data into two files, a HIN file that storesthe system information and a binary snapshot file (with the extension .snp) that cumulatively stores the system coordinates andvelocities at regular intervals during a molecular dynamics calculation. You specify the name for the HIN file in a slightly modified
version of the standard Save File dialog box (see “Save File Dialog
Box” on page 83), the only difference being an additional Snapshot
Period text box (described below) for specifying the frequency ofsaving snapshots. The snapshot binary file will have the same
name as the HIN file that you specify, except the extension will be
SNP instead of HIN. You can later open the HIN file and use Playback in the Molecular Dynamics Options dialog box (see page 369)
to review the molecular dynamics simulation.
Snapshot
periodThis is the interval, in data steps, between snapshots. A data step occurs every time a calculation
reports new data (see “Time Periods in a Molecular
Dynamics Simulation” on page 382).

Molecular Dynamics Playback Dialog Box
This dialog box is available only when the molecular system in theworkspace includes snapshots of a previous molecular dynamics
simulation. This is true if you just completed a molecular dynamics calculation and collected snapshots, or if you use Open on theFile menu (see “Open” on page 78) to display a system stored withsnapshots. The snapshot file contains information about the kindof calculation that created it: Molecular Dynamics, Langevin
Dynamics, or Monte Carlo. It can be played back only from theplayback menu of the kind of calculation that created it.
To display the dialog box:
1. L-click on Playback in the Molecular Dynamics Options dialog
box.
2. L-click on Snapshots in the same dialog box.

Chemical Calculations

375

Compute Menu

TrajectoryThis section gives you information about the snapshot file, and allows you to specify that all or partof it should be replayed.

Snapshot fileFor display only. The path and name of the
SNP file containing molecular dynamics
snapshots.

Step countFor display only. The number of snapshots
stored during a simulation.

Step size

For display only. The time interval, in picoseconds, between snapshots.

Start time

The time in the simulation to begin the
playback. Enter a number from 0.000 (thedefault) to End time.

End time

The time in the simulation to end the playback. Enter a number from Start time to thedefault (total simulation time).

AVI Movie

This section contains options for generating an
AVI movie from a snapshot file. The AVI movie canbe played back using the Multimedia Player orcomparable application (different versions areavailable as shareware).

Warning: If you change the size of the HyperChem window while
you are generating an AVI movie, HyperChem may crash.
376

Chapter 7

Compute Menu

Create Movie If this option is turned on (✓), an AVI
movie will be generated.
Movie file

Enter the name of the AVI file to be createdin this area.

Frame rate

Enter the frames-per-second rate of themovie in this text box.

Molecular Dynamics Averages Dialog Box
Use this dialog box to average and plot data from a molecular
dynamics calculation or from the playback of a recorded calculation (see “Molecular Dynamics Playback Dialog Box” on page 375).
Choose from these variables:•

Four standard measurements of energy and temperature.

•

Bond lengths, bond angles, and torsion angles for named
selections of 2, 3, or 4 atoms (see “Name Selection” on page
237).

•

Acceptance ratio (available only for Monte Carlo simulations).

•

Deviations from the mean for each of these values (with a prefix “D”).

HyperChem plots the instantaneous value of each quantity during
the calculation and calculates the average of a value over thewhole simulation.
You can reach this dialog box by choosing Averages in the Molecular Dynamics Options dialog box.

Chemical Calculations

377

Compute Menu

Selection

378

Chapter 7

This lists ten predefined choices, plus named selections, which HyperChem can plot and average:

EKIN

Kinetic energy (kcal/mol).

EPOT

Potential energy (kcal/mol).

ETOT

Total energy (kcal/mol).

TEMP

Temperature (Kelvin).

ACCR

Acceptance ratio (available only for Monte
Carlo simulations)Named
selections

These are interatomic distances, angles,
and torsion angles for named selections ofany 2, 3, or 4 atoms in a molecular system.
These also appear in the Select dialog box(see page 233). HyperChem reports thesevalues:•Distance in Ångstroms between any
two atoms.

•

Bond angle in degrees for any threeatoms.

•

Torsion angle (proper or improper) in
degrees for any four atoms.

Compute Menu

D EKINThe RMS deviation from the mean for the
kinetic energy.1

D EPOTThe RMS deviation from the mean for the
potential energy.1

D ETOTThe RMS deviation from the mean for the
total energy.1

D TEMPThe RMS deviation from the mean for thetemperature.1

ACCR

The RMS deviation from the mean for theacceptance ratio (available only for Monte
Carlo simulations).1

D Namedselections

The RMS deviation from the mean for thenamed selections.1

Average onlyThis lists the values that HyperChem averages atthe end of a molecular dynamics calculation.
HyperChem saves the instantaneous values in afile with the same name as the HIN file, but withthe extension .csv (see “Plot and Averages Files” onpage 629). If the molecular system is not yet associated with a HIN file, HyperChem stores the values in chem.csv.

Avg. & Graph This lists up to four values that HyperChem averages and graphs during a molecular dynamics simulation. Graphs appear in the Molecular Dynamics
Results dialog box (see page 380). HyperChem
saves the instantaneous values and averages in afile with the same name as the HIN file, but withthe extension .csv (see “Plot and Averages Files” onpage 629). If the molecular system does not yet
have a file name, HyperChem stores the values inchem.csv. The .csv file is stored in the current
working directory, which you must be able to writeto (e.g., not on a CD-ROM.)

1. Dx =

2

2〈 x 〉 – 〈 x〉 =2

〈 ( x – 〈 x〉 ) 〉, where x = instantaneous value of EKIN, ETOT, and so on.
2 1 n 2
1 n 
2〈 x 〉 =  --- ∑ x i  , and 〈 x〉 =  --- ∑ x i .
 ni = 1 ni = 1 
2Chemical Calculations

379

Compute Menu

Value

The average that appears here is for the last valuethat you highlighted in one of the lists (Average
only or Avg.& Graph). na means no average yetavailable. For a value x, the average over time isn1〈 x〉 = --- ∑ x i . For the RMS deviation of x, theni=1

reported average is
Average/graph period2〈 x 2〉 – 〈 x〉 .

This sets the interval for averaging data or plotting
it. Enter a number from 1 to the maximum
number of Data steps. A data step occurs wheneverthe calculation reports new data (see “Time Periods
in a Molecular Dynamics Simulation” on page382).

To choose values for averages and plots:•

Choosing a value: L-click on a value (for example, TEMP). A
highlight appears, indicating an active choice. L-click on additional values to add them to the active choices.

•

Canceling a choice: L-click on a value that has a highlight.

•

Moving a choice to the right: L-click on Add. Active choices(highlighted) move to the list on the right.

•

Moving a choice to the left: L-click on Del. Active choices(highlighted) move to the list on the left.

Molecular Dynamics Results Dialog Box
This dialog box graphs instantaneous values (either x or D x) froma molecular dynamics simulation. A plot of x shows instantaneous
values of x with time. A plot of D x shows the current value of the
RMS deviation for x, with the computed value of D x converging
2

to its final value of 〈 x 2〉 – 〈 x〉 . HyperChem computes the value ofD x from running averages of x and x2. A CSV file records the exact
values of x and D x used for the graphs (see “Plot and Averages
Files” on page 629).
The dialog box is available when you are doing a molecular
dynamics simulation or are playing back a previous simulation. To
see the averages of values from a simulation, you must return to
the Molecular Dynamics Averages dialog box.
380

Chapter 7

Compute Menu

To activate this dialog box:
1. In the Molecular Dynamics Options dialog box (see “Molecular Dynamics Options Dialog Box” on page 369), L-click on
Averages.
2. In the Molecular Dynamics Averages dialog box (see “Molecular Dynamics Averages Dialog Box” on page 377), choose thevalues to average and graph. You can graph up to four quantities or their deviations.
3. L-click OK to return to the Molecular Dynamics Options dialog
box.
4. L-click Proceed to start the simulation or a playback of snapshots from a previous simulation.
You see the Molecular Dynamics Results dialog box on top of aHyperChem window. To temporarily remove this dialog box, Lclick on the Minimize button in the upper-right corner. This turns
the dialog box into an icon. Double-click on the icon to see this
dialog box again.
minimizebuttonreduces
window
to iconChemical Calculations

381

Compute Menu

RescaleL-click to change the y axis to show all data. Use
this option if a plot goes off scale. Pressing the[Spacebar] is equivalent to L-clicking on Rescale.

Done

Ends plotting and removes this dialog box. Double-clicking on the Control-menu box is equivalent.

MinimizebuttonReduces the dialog box to an icon.

Time Periods in a Molecular Dynamics Simulation
Because of the frequencies of molecular motions, molecular
dynamics simulations run over a picosecond time scale. For
example, it takes about 4 ps at 300 K to break a hydrogen bond andmake a new bond.
The total length of a simulation is the sum of Heat, Run, and Cooltimes, though some simulations might use only one or two ofthese simulation periods. HyperChem uses four timing periods
during a molecular dynamics simulation:
Simulation period

Heat time

Run time

Time steps1

Data collection period =n time steps
Screen refresh period =n data (collection) steps
Average/Graph period =n data (collection) steps
Snapshot period =n data (collection) steps

1.

382

To adjust the length of Time steps, set Step size in the Molecular
Dynamics Options dialog box.

Chapter 7

Cool timeCompute Menu

A molecular dynamics simulation calculates the energy and gradient of a molecular system after each time step (see HyperChem
Computational Chemistry, Practical Guide). Step size determines theinterval (period) between time steps. Timing of all other events inthe simulation is related to time steps. The simulation reports
information at the end of each Data collection period. HyperChem
stores this data in a log file, a snapshots file, a plot (CSV) file (see“Plot and Averages Files” on page 629), or uses it for a molecular
dynamics graph, if you choose those options.

Running a Script During Molecular Dynamics
You can run a script ( in the HyperChem Command Language, i.e.
*.scr) at regular intervals during a molecular dynamics run. This
allows you, for example, to plot a molecular orbital as a functionof time during a chemical reaction. It allows you to easily calculate
correlation functions or other aspects of a trajectory because you
can obtain access to all properties of the system at any time step ina trajectory. Because a Hcl script can include the command readtcl-script, it is possible to run elaborate Tcl scripts at any time stepof a trajectory.

A script is run by including the file chem_dynamics.scr in the Program folder where chem.exe resides. It is similar in concept tochem.scr which is run at the installation of HyperChem. In thepresent case, chem_dynamics.scr is run if and when you play backa molecular dynamics trajectory and the file exists. The script willnot (can not!) be run during the creation of a trajectory but only
during the playback of a trajectory. Thus, the script cannot alter
the path of the trajectory but is rather used to evaluate propertiesof a given trajectory. This capability has no graphical user interface
but depends upon the existence of a specific file name in a specificfolder. After use, you should be sure to change the script file nameor move the script file to turn off the capability.

Langevin Dynamics
Langevin dynamics is similar in principle to regular molecular
dynamics. It includes frictional effects to simulate the presence ofa solvent implicitly, where regular molecular dynamics requires
inclusion of explicit solvent molecules. Please see the descriptionin HyperChem Computational Chemistry.
Chemical Calculations

383

Compute Menu

You perform Langevin Dynamics calculations with HyperChem inthe same way as you do Molecular Dynamics calculations. All of
the dialog boxes for Langevin Dynamics are the same as for Molecular Dynamics except that a few of the available options are different. The Langevin Dynamics Options dialog box allows you to
specify a Friction coefficient which describes the effects of the simulated solvent, and a Random seed which is the starting point for
the random number generator. Please see “Molecular Dynamics
Options Dialog Box” on page 369, and the subsequent sections on
its dialog boxes, for information about setting up Langevin
Dynamics calculations.

Monte Carlo
The Monte Carlo method samples phase space by generating random configurations from a Boltzmann distribution at a given temperature. Averages computed from a properly equilibrated Monte
Carlo simulation correspond to thermodynamic ensemble averages. Thus, the Monte Carlo method can be used to find averageenergies and equilibrium structural properties of complex interacting systems.
A sequence of successive configurations from a Monte Carlo simulation constitutes a trajectory in phase space; with HyperChem,
this trajectory may be saved and played back in the same way as adynamics trajectory. With appropriate choices of setup parameters, the Monte Carlo method may achieve equilibration more rapidly than molecular dynamics. For some systems, then, Monte
Carlo provides a more direct route to equilibrium structural andthermodynamic properties. However, these calculations can bequite long, depending upon the system studied.
You perform Monte Carlo calculations with HyperChem in thesame way as you do Molecular Dynamics calculations. All of the
dialog boxes for Monte Carlo are the same as for Molecular
Dynamics except that a few of the available options are different.
The Monte Carlo Options dialog box allows you to specify numbers of steps for running instead of time periods, and a Random
seed which is the starting point for the random number generator.
The Monte Carlo Averaging dialog box allows you to average (andoptionally plot) the acceptance ratio and its RMS deviation, alongwith the other averaging values. Please see “Molecular Dynamics
Options Dialog Box” on page 369, and the subsequent sections on

384

Chapter 7

Compute Menu

its dialog boxes, for information about setting up Monte Carlo calculations.

Vibrations
Use Vibrations to compute the vibrational motions of the nuclei,
and use Vibrational Spectrum to display graphically the normal
modes associated with individual vibrations, as well as to display agraphical representation of an infrared (IR) vibrational spectrum.
You can calculate vibrations using any of the ab initio or DFT or
semi-empirical methods except Extended Hückel.
Use Vibrational Spectrum on the Compute menu to view the resultsof the computation.
Use vibrational analysis to perform the following tasks:•

Provide insight into the rigidity of the molecular framework.

•

Visualize normal modes corresponding to lines in the IR spectrum.

•

Help identify unknown compounds by correlating predictedversus experimental vibrational frequencies.

•

Differentiate minima from saddle points on a potential energy
surface.

To calculate vibrations:
1. Create or load the system that you wish to calculate vibrations
for.
2. Choose a semi-empirical method other than Extended Hückel.
Make sure that None is selected as the CI Method and that theConvergence limit is 0.01 or smaller.
3. Choose Geometry Optimization on the Compute menu, set thetermination condition to 0.01 and choose OK to start the optimization.
Important: For a valid vibrational analysis the system must be optimized. Extra tight convergence criteria should be used for geometry optimization (<0.01 kcal/mol Ångstrom) because the harmonic
analysis is based upon a zero gradient. You must use the same
quantum mechanical method for both the vibrational analysis
and the geometry optimization.

Chemical Calculations

385

Compute Menu

4. After the calculation finishes, choose Vibrations on theCompute menu.
HyperChem computes the SCF wavefunction and evaluates thegradient analytically at the optimized geometry. The second derivatives of the energy with respect to the atomic Cartesian coordinates are computed using a finite differencing of the analytical gradients.
The evaluation of second derivatives, by finite difference of analytic gradients, is the most time consuming step. The result is amatrix of mixed partial second derivatives (force constants), which
is diagonalized to yield normal modes of vibration and their corresponding energies. The status bar shows the extent to which thematrix is completed.
You may then choose Vibrational Spectrum from the Computemenu to analyze the results.
To store vibrational spectra:
If you wish to save vibrational results, see “Export . . .” on page 93.
Alternately, you can run the sample script saveir.scr (see “Open
Script” on page 106 for information on running scripts). This will
create another script file that you can later open to restore thesaved vibrational results into HyperChem.

Transition State
This command allows you to find transition states of chemical systems with any kind of semi-empirical (except Extended Hückel) or
ab initio or DFT method. Several different search algorithms areavailable.
The semi-empirical methods were optimized for stable structures,
not for transition states. You are likely to get better results for atransition state search from an ab initio or DFT calculation thanfrom a semi-empirical calculation. When you set up the options
for the SCF calculation, you should specify a relatively good convergence (SCF convergence around 0.001) and a larger number ofcycles than usual (perhaps 150 cycles). It is a good idea to have theconvergence acceleration turned on for transition state searching.

386

Chapter 7

Compute Menu

Eigenvector
followingThis method follows an eigenvector of a vibrational mode to find a transition state. If you selectthis option and click on “OK”, HyperChem will
perform a vibrational calculation and open theTransition State Search dialog box (below) to allow
you to specify which vibrational mode to follow.
This method is especially useful if one of the natural vibrational modes of the system leads to a transition state (for example, the “breathing” mode ofa pyramidal structure leading to its inversion).

SynchronoustransitThis method is used to search for a transition state
after you have defined a “Reactant” state and a“Product” state, and have used Reaction Map (seepage 353) to define a starting point for the search.
From that information, HyperChem is able todetermine the best eigenvector to search along
without further user intervention.

LinearHyperChem uses a linear interpolation
between the reactant and product states.

Quadratic

HyperChem uses a quadratic interpolation
between the reactant and product states.

SynchronousTransit
Termination
Condition

Use these text boxes to set conditions for ending
the transition state search. When the calculation
reaches either of these criteria, the search ends.

RMS gradient When the RMS gradient of the energy isless than this value, the calculation ends.
The practical range is 10–2 to 0.1 (thedefault). Values less than 10–2 might not be
possible due to the numerical round-off
error. You can use values greater than 0.1
Chemical Calculations

387

Compute Menu

for quick, approximate calculations. If you
want a very small RMS gradient criterion,
you should change the options for the SCF
calculation to a smaller convergence limit
and a larger number of SCF cycles.
max.
CyclesIf the calculation uses this number ofsearch directions before converging, thecalculation ends. The default is 15 times
the number of atoms. The practical range is
100 to 1000.

Transition State Search Dialog Box
This dialog box opens after you Click on OK after specifying Eigenvector Following in the Transition State Options dialog box. HyperChem performs a vibrational calculation and then displays thisbox.

Most of the features of this dialog box are the same as in the Vibrational Spectrum dialog box (see page 406). You can select a vibrational mode by clicking on its line, or by entering the mode number in the Mode text box. You can use the Zoom and Pan slider bars
to focus on part of the spectrum at a time.
Usually, the vibrational mode with the lowest frequency (Mode #1,
at the right side of the box) is the one that will lead to a transition
state.

388

Chapter 7

Compute Menu

The options for Termination Condition are as described in the Transition State Options dialog box, above.

Properties Display
HyperChem will display certain computed properties such as theEnergy and Gradient on the status line. However, this display istransient. The Properties... menu item allows you to investigate certain recently-computed properties. To see other computed properties you might need to create a log file.
The Properties display depends on what is selected at the time you
click on the menu item. If a single atom is selected, then the display shows the properties of that atom. If two atoms are selected,
then the display shows the properties of “bond”. Otherwise, theproperties of the total molecular system are displayed.

Atom Properties
This dialog box shows the properties of an atom. The dialog box
appears if a single atom is selected when the Properties menu item
is invoked. Leaving out the obvious ones, the properties include:

Electronic
ChargeThis is the atom charge from molecular mechanics
templates or the atom charge computed in quantum mechanical calculations (Mullikan charge).

Spin
Population

This is excess of alpha (spin up) over beta (spindown) electrons on the atom. It is analogous toelectronic charge above but weights the spin of the
Chemical Calculations

389

Compute Menu

electron (positive for spin up, negative for spindown). Will be zero for closed-shell systems.
HyperfineConstant

This is the ESR Hyperfine constant for an openshell system computed from the net spin at thenucleus of the atom in question. Will be zero for
closed-shell systems.

Gradient

This is the force on the atom computed as the gradient of energy with respect to atomic displacement in the X, Y, or Z direction.

Bond Properties
The properties of a bond include its length and the computed
bond order. For quantum mechanical calculations, two atoms
need not be “bonded” to have a bond order between them.

Molecular System Properties
The following dialog box shows the displayed properties of amolecular system.

390

Chapter 7

Compute Menu

These properties include:
Total Energy

This energy is relative to a sum of atomic energies
for semi-empirical computations. The Details button shows further information about the nuclear
and electronic components of this energy as wellas the binding energy (semi-empirical only) andheat of formation (semi-empirical only). If an MP2correlation energy has been computed it willappear here.

DipoleMoment

The dipole moment will be computed for quantum
mechanical calculations (from the wavefunction)
as well as molecular mechanics (where it is computed from the atom charges). the Details buttonshows the Cartesian components of the dipole
moment.

RMS Gradient This shows the total gradient on the system which
for an optimized structure would be zero.
Mean
Polarizability

This appears only if the polarizability has been
computed in a quantum mechanical calculation.
The Details button shows the whole tensor.

Plot Molecular Graphs
Use this command if you want to display electrostatic potential,
total spin density, or total charge density results of a semi-empirical or ab initio or DFT calculation. It displays the Plot Molecular
Properties property sheet. This command is unavailable unless a

Chemical Calculations

391

Compute Menu

quantum-mechanical wavefunction has been calculated, via Single
Point, Geometry Optimization, Molecular Dynamics or Vibrations.

Plot Molecular Properties Property Sheet
Use the Plot Molecular Properties property sheet to display electrostatic potential, total spin density, and total charge density. Plot
Molecular Properties is activated on the Compute menu only after
you complete a semi-empirical or ab initio or DFT calculation. The
property sheet has several “pages” which you can select with thetab controls.

Plot Molecular Properties

Property

392

Chapter 7

This lets you select the property that you are displaying.

Electrostatic
potential

This plots the electrostatic potential field
due to the electronic charge distribution
and nuclear charges, in units of e/a0. Not
available for Extended Hückel. Selecting
Electrostatic Potential makes the 3D Mapped
Isosurface option available under Representation; otherwise that option is grayed out.

Total spin
density

This plots the probability of finding morespin-up electrons than spin-down electrons at any point in space, in units ofe/a03.

Compute Menu

Totalchargedensity

Representation

This plots the electron density function forthe molecular valence electrons, in units ofe/a03. It is often associated with the surface
of a molecule. It describes the probabilityof finding an electron at a point in space.
The value is the sum for each electron of
ψi2, where ψi is the molecular orbital occupied by the ith electron. For a closed-shell
system this is 2ψi2, summed over the occupied orbitals.
In this section you specify how you wish the property to be displayed.

2D Contours

Use this option to draw a two-dimensional
contour plot of the selected property.

3D Isosurface Use this option to draw a three-dimensional surface which maps out a specified
value of the selected property.
3D Mapped
Isosurface

Use this option to draw a three-dimensional surface which is colored according
to the values of the selected property. This
option is available only when Electrostatic
Potential has been chosen as the property
to be displayed.

If you have a monochrome monitor or you chose black bonds ona white workspace (see “Using Black-and-white Output” on page105), positive contour lines are solid and negative contour lines aredashed.
Note: You cannot display a contour plot or isosurface if Stereo or
Perspective of the Sticks rendering are turned on. If you display an
isosurface and the Wedges option of the Sticks rendering is on, thewedges will not be shown while the isosurface is displayed.

Isosurface Grid Dialog Box
Use these options to specify values for the 3D grid used to render
an isosurface.

Chemical Calculations

393

Compute Menu

Grid Mesh
Size

Select a Coarse, Medium, or Fine grid mesh, or selectUser defined and then specify the grid details thatyou wish. Selecting User defined makes the othersections of this page active.

Grid Layout

Use these options to specify the options for the 3D
grid.

Grid point
step size

The distance between data points in the 3D
grid, in units of Å. The same spacing is used
for all three coordinate axes.

Grid point
counts

The size of the 3D grid in each of the coordinate directions, in units of the number ofgrid points. At the top is the total numberof grid points, which is the product of thethree values below it. If you change any ofthese values, you must click on Adjust
Extents in order to have the change
accepted.

Spatial extents The size of the 3D grid in each of the coordinate directions, in units of Å. The numbers to the right of these values give thespatial extent of the nuclear framework. If
you change any of these values, you mustclick on Adjust Points in order to have thechange accepted.

394

Chapter 7

Compute Menu

Adjust points

Use the Grid point step size and the given Spatial
extents values to recalculate the values of the Grid
point counts

Adjust Extents Use the Grid point step size and the given Grid
point counts values to recalculate the values of theSpatial extents

Contour Grid
Use these options to specify values for the 2D grid used to rendera contour plot. If you have specified black-and-white output settings the positive contours will be drawn as solid lines and the negative contour lines will be drawn as dashed lines.

Horizontal
grid points

Enter a number for the horizontal resolution of thecontour lines. The default of 45 means that HyperChem calculates 45 values in each horizontal line
and interpolates contour lines between grid points.
Range: 2 to 8,172.

Vertical
grid points

Enter a number for the vertical resolution of thecontour lines. The default of 45 means that HyperChem calculates 45 values in each vertical line andinterpolates contour lines between grid points.
Range: 2 to 8,172.

ContourlevelsEnter a value for the number of contour lines toplot. The default is 15 lines. Range: 1 to 32,767.

Plane
offset

The default plane of a set of contour lines is perpendicular to the viewer’s z axis (in the plane ofChemical Calculations

395

Compute Menu

the screen) and through the center of mass of
selected atoms or, if there is no selection, thewhole molecular system. This offset moves theplane of contour lines, in Ångstroms, along theviewer’s z axis: a positive offset is outward from thescreen, a negative offset is inward.
Startingvalue

The value of the lowest contour line.

Default

The starting value that HyperChem calculates from the grid points and Contour levels settings, or the value you entered forthe last contour plot.

Other

Enter a new value. When you L-click Other,HyperChem shows the present Default
value.

Increment

The interval between two adjacent contour lines.

Default

The starting value that HyperChem calculates from the grid points and Contour levels settings, or the value you entered forthe last contour plot.

Other

Enter a new value. When you L-click Other,HyperChem shows the present Default
value.

Isosurface Rendering
These options specify how the isosurface should be drawn.

396

Chapter 7

Compute Menu

Contour Level The isosurface shows where, in 3D space, theproperty that you have specified has this value.
Rendering

In this section, you specify which rendering mode
you wish the isosurface drawn with. In general, themodes at the beginning of the list are simpler andmore quickly drawn than the modes at the end of
the list.

Wire mesh

The isosurface is drawn as a transparent
pattern of crossed lines. This mode is thefastest to calculate and display.

JorgensenSalem

The isosurface is drawn as Lines, below,
except that while parts of the isosurface
can hide other parts of the isosurface, themolecular structure is not hidden. (See The
Organic Chemist's Book of Orbitals, by William L. Jorgensen and Lionel Salem, New
York, Academic Press, 1973.) If you have
set the bond and window colors for black
and white (see “Using Black-and-white
Output” on page 105), the positive parts of
the isosurface are drawn with solid lines
and the negative parts are drawn with dotted lines when you print the structure.

Lines

The isosurface is drawn as a pattern ofcrossed lines; objects close to the user’s
point of view will hide objects fartheraway.
Chemical Calculations

397

Flat surface

The isosurface is drawn as a solid surface,
without shading.

Shadedsurface

The isosurface is drawn as a solid surface
with shading to enhance the threedimensional appearance. The surface isdivided into small segments for coloring;
this gives a reasonably good appearance atmoderate speed.

Gouraudshadedsurface

The isosurface is drawn as a smooth shaded
surface for optimal three-dimensional
appearance. This mode is the slowest to
calculate and display of the simple opaquesurfaces.

Translucent
surface

The isosurface is drawn as a smooth, semitransparent surface. The molecular structure, and far-away parts of the isosurface,can be seen showing through the nearer
parts of the surface. The degree of transparency can be specified in Transparency Level(below). The extra calculations required forthis display make it slower than Gouraud
shaded surface.

Hide molecule If this option is selected (✓), the molecule will behidden when the isosurface is displayed.

Transparency Level

398

Compute Menu

Use this slider to control the transparency level of an isosurface
rendered as a Translucent Surface. The setting can be anywherefrom completely transparent (isosurface will be invisible) to completely opaque. If you want a completely opaque surface, you
should use a Gouraud Shaded Surface instead; the appearance willbe the same but the Gouraud surface is drawn more quickly. If you
want a completely transparent isosurface, you can simulate it
quickly by turning the isosurface display off.
The Default button restores the default transparency level.

Mapped Function Options
These options control the appearance of an isosurface drawn as a
3D Mapped Isosurface.

MappedFunction
Range

These boxes show the minimum and maximum
values used to render the color range of the isosurface.

Display Range If this option is selected (✓), a legend bar will be
Legenddrawn on the workspace, showing the range ofcolors used and the function values that they represent.

Plotting Results
HyperChem can plot the results of semi-empirical or ab initio or
DFT calculations as 2D contour plots or 3D isosurfaces and show
the contour lines or isosurfaces on top of the molecular system in
the workspace. If you have a color monitor, the contour colors are
Chemical Calculations

399

Compute Menu

as specified in the Preferences dialog box (page 95). If you have amonochrome monitor or you chose black bonds on a white workspace (see “Using Black-and-white Output” on page 105), positive
contour lines are solid and negative contour lines are dashed.

total charge densitywith charge Labels

electrostatic potential

total spin density

Contour plots are always created parallel to the plane of the screen.
To see different aspects of the value in the plot, you can change theview (move molecules in the Viewer’s Coordinate system) and calculate a plot again. If the atomic coordinates change (because of
movement in the Molecular Coordinate system), you must repeat
the calculation with Single Point, Geometry Optimization, Molecular
Dynamics or Vibrations.
Contour plots are temporary and disappear whenever HyperChem
revises the display of a molecular system. For example, when you
use a HyperChem tool, such as the Selection tool, contour lines
disappear. Isosurfaces can persist if the workspace is not actually
altered; one can, for example, rotate a structure and isosurface.
To produce a printed record of the plotted wave functions, use
Print (see “Print” on page 94) to send the image directly to a
printer. Use Copy Image (see “Copy Image” on page 206) to send
the image to the Clipboard or a file (or both). You can then use
another program to print this image.

400

Chapter 7

Compute Menu

OrbitalsOnce you have performed a semi-empirical or ab initio or DFT calculation you can choose Orbitals to display the energy levels of all
the orbitals, or the contours or isosurfaces for an orbital you specify. Use the Orbitals dialog box to see degeneracies and near degeneracies, HOMO-LUMO gaps, symmetries, orbital occupation
scheme, alpha and beta spin manifolds separately (for UHF calculations of open shell systems), or d-d splittings (for transition metals).

Orbitals Dialog Box
After you complete a single point semi-empirical or ab initio or DFT
calculation, use this dialog box to display the contours or isosurfaces of a user-specified orbital or the energy levels of all the orbitals. You can display the relative energy levels of both the occupiedand virtual set of orbitals. You can label each orbital in the energylevel diagram according to its occupation (empty, singly occupied,
doubly occupied). This dialog box allows you to see the following:•

degeneracies and near degeneracies•

symmetries•

HOMO-LUMO gaps•

orbital occupation scheme•alpha and beta spin manifolds separately (for UHF calculationsof open shell systems)•

d-d splittings (for transition metals)

To display this dialog box, choose Orbitals on the Compute menu.
Orbitals is activated on the Compute menu only after you complete a single point calculation using a quantum-mechanicalmethod.
Note: To zoom in on the orbital energy diagram, L-drag a rectangle
around the vertical region that you want to zoom in on. When you
release the mouse button the energy levels will be redrawn. Use theZoom Out button to see all the energy levels again.
The orbital energy levels in an ab initio or DFT calculation may
look different from those in semi-empirical calculations. The abinitio and DFT quantum mechanical methods are all-electron
Chemical Calculations

401

Compute Menu

methods, as compared to the valence-electron only methods of thesemi-empirical quantum mechanical calculations. For heavy-atom
containing molecular systems, the molecular orbitals consist of
two sets. The first set of molecular orbitals are core orbitals and thesecond set of molecular orbitals are valence orbitals. The first set oforbitals have much lower energies than the second set of orbitals.
Thus, the core orbitals are shown at the bottom of this dialog box
and the valence orbitals are displayed at the top of this dialog box.
If you would like to examine the valence-orbital splitting closely,
you can use the mouse to Zoom and Pan to get a proper picture.

Pan

Scroll up or down in orbital energy.

OrbitalReports information on the selected orbital. Eachof the options in this area may also be used to specify which orbital is to be selected. Orbital selections
are nominally done by L-clicking with the mouseon the desired orbital in the display window. An
alternative is to select the orbital by number byentering a value into the text box adjacent to the
LUMO+, HOMO-, or Number options.
Alpha

402

Chapter 7

Indicates whether the selected orbital has
alpha spin. If the selected orbital has betaspin, L-clicking on Alpha changes the selection to an alpha orbital. This option is
active only after a UHF semi-empirical calculation has been done.

Compute Menu

Labels

Beta

Indicates whether the selected orbital has
beta spin. If the selected orbital has alphaspin, L-clicking on Beta changes the selection to a beta orbital. This option is active
only after a UHF semi-empirical calculation has been done.

LUMO+

Reports the location of the selected orbital
relative to the LUMO. For example, when
you select the orbital that is just above the
LUMO in energy, +1 appears in the text
box, whereas if you selected the orbital justbelow the LUMO (i.e., HOMO), -1 isreported in the text box.

HOMO-

Reports the location of the selected orbital
relative to the HOMO. For example, theorbital just above (in energy) the HOMO
reports -1 in the text box, whereas theorbital just below the HOMO is reported as
1.

NumberReports the absolute number of theselected orbital starting from the lowest
energy orbital (bottom). For UHF calculations where both alpha and beta columnsof orbitals are displayed, the numbering isdone separately within each group. This isalso true for the HOMO- and LUMO+
options.

EnergyReports the energy of the selected orbital inunits of electron volts (eV).

Symmetry

Reports the irreducible representation of
the selected orbital.

Displays the electron occupation of eachorbital in the orbital display window. By convention, up arrows represent electrons with alphaspin, and down arrows represent electrons withbeta spin. For RHF calculations the maximum
orbital occupancy is 2, whereas for UHF calculations the maximum occupancy is one. This is aconsequence of the Pauli Exclusion Principle.
Labels also displays the energy of each orbital.

Chemical Calculations

403

Compute Menu

Zoom Out

After you zoom in (by L-dragging the mouse over aselected group of orbitals), this option displays theentire range of orbitals in one screen.

Orbital Display Provides you with options for setting the display
options and displaying contour plots or isosurfaces.
2D Contours

Use this option to draw a two-dimensional
contour plot of the selected orbital.

3D Isosurface Use this option to draw a three-dimensional surface which maps out a specified
value of the selected orbital.

Copy

OrbitalsquaredWhen selected, plot displays the square of
the orbital value in a specified plane. This
corresponds to a probability density rather
than a probability amplitude.

Options . . .

This displays the Orbital Isosurface
Options property sheet. It is the same as
the “Plot Molecular Properties Property
Sheet” on page 392 except that the “Molecular Properties” and “Mapped Function”
pages are not available.

Plot

Displays a contour plot or isosurface of theselected orbital with the specified options.
Copy the orbital energy diagram to the Windows
clipboard. To get solid and dashed black lines on awhite background for the energy levels, setWindow to White and Bond to Black in the Preferences dialog box (see page 95).

Note: You cannot display a contour plot or isosurface if Stereo or
Perspective of the Sticks rendering are turned on. If you display an
isosurface and the Wedges option of the Sticks rendering is on, thewedges will not be shown while the isosurface is displayed.

Describing Orbitals
Molecular orbitals are numbered from 1 to M, where 1 is the lowest
energy orbital and M is the total number of orbitals involved in thecalculation for the current system. In semi-empirical quantum
mechanics methods, the contribution to M is 1 for hydrogen and404

Chapter 7

Compute Menu

helium atoms (1s), 4 for all main-group atoms (ns, np), and 9 for
all the transition metals. For the Extended Hückel method, which
can calculate d orbitals for Si, P, S, and Cl, use 9. The number ofoccupied orbitals, N, is half the number of valence electrons for
closed-shell molecules.
In addition to using a number from 1 to M, HyperChem can identify orbitals by reference to the HOMO or the LUMO. You can
describe an orbital by HOMO–d or LUMO+d, where d = 0 to max.
For HOMO, max is the number of occupied orbitals minus 1 (N–1).
For LUMO, max is M–N–1.

Practical Guidelines for Orbitals
For transition metals the splitting of the d orbitals in a ligand field
is most readily done using EHT. In all other semi-empirical methods, the orbital energies depend on the electron occupation.
HyperChem’s molecular orbital calculations give orbital energy
spacings that differ from simple crystal field theory predictions.
The total molecular wavefunction is an antisymmetrized productof the occupied molecular orbitals.
The virtual set of orbitals are the residue of SCF calculations, inthat they are deemed least suitable to describe the molecular wavefunction.
Normally, you would expects all 2p orbitals in a given first row
atom to be identical, regardless of their occupancy. This is only
true when you perform calculations using Extended Hückel. The
orbitals derived from SCF calculations depend sensitively on theiroccupation. For example, the 2px, 2py, and 2pz orbitals are notdegenerate for a CNDO calculation of atomic oxygen. This is especially important when you look at d orbital splittings in transition
metals. To see a clear delineation between t2u and eg levels you
must use EHT, rather than other SE methods.
The orbital phases are denoted by the colors of the orbital lobes.
Two lobes with the same color are in phase, and those of different
color are said to be out of phase. It is important to note the colors
have nothing to do with charge.

Chemical Calculations

405

Compute Menu

Vibrational Spectrum
Use Vibrational Spectrum to display graphically the normal modes
associated with individual vibrations, as well as to display a graphical representation of an infrared (IR) vibrational spectrum. Vibrational Spectrum is only available after you have used Vibrations tocompute the vibrational motions of the nuclei (see page 385).
In HyperChem, you can calculate IR vibrational spectra using anyof the quantum mechanical methods except Extended Hückel.
Vibrations represent the intrinsic rhythmic motions of the atoms
within a molecule. Whereas translations and rotations correspondto motions of atoms relative to an external frame of reference,vibrations correspond to motions of atoms relative to each other.
The seemingly complex and chaotic trajectories of the nuclei
undergoing vibratory motion can be conceived of as a superposition of simpler motions called normal modes of vibration, which
generally fall into one of the following classes: stretching, bending, rocking, or wagging.
Even at 0 Kelvin vibrational motions exist as a consequence of the
Heisenberg Uncertainty Principle. Every molecule contains 3N-6
vibrational modes (or 3N-5 if it is linear), where N is the numberof atoms. Each mode can be IR active, Raman active, IR and Raman
active, or inactive.
Each mode is quantized in energy and collectively (all modes)
result in a spectrum of discrete frequencies. There is a one-to-one
relationship between a normal mode of vibration and a fundamental vibrational frequency.
Once you have calculated Vibrations, you can use the Vibrational
Spectrum dialog box to do the following:

406

Chapter 7•

Provide insight into the rigidity of the molecular framework•

Visualize normal modes corresponding to lines in the IR spectrum•

Help identify unknown compounds by correlating predictedversus experimental vibrational frequencies•

Differentiate minima from saddle points on a potential energy
surface.

Compute Menu

To analyze vibrations:
1. Perform a Vibrations calculation (see “Vibrations” on page 385)
for your optimized system.
You may wish to rearrange your screen so that you will be able
to see the system in the workspace and the Orbitals dialog box
at the same time. You cannot resize or move the main window
when the Vibrational Spectrum dialog box is active.
2. Choose Vibrational Spectrum from the Compute menu.
This opens the Vibrational Spectrum dialog box, which shows
the spectrum of frequencies corresponding to each normal
mode. The vertical lines at the top represent all the vibrational
fundamental frequencies. The spectrum at the bottom corresponds to IR-active vibrations. The frequency increases fromthe right side to the left side of the dialog box. The height ofthe bottom row of lines corresponds to their IR intensities.
3. L-click on a line.
The highlighted line is now violet. Information (normal modesequence number, degeneracy, frequency, and intensity) on
this line is shown beneath the spectrum at the bottom of the
dialog box.
With large molecules, the spectrum will have many lines, andyou may not be able to easily select a given line of interest. To
focus in on a line you can use the Zoom and Pan slider bars.
Zoom compresses and expands the displayed range of frequencies. Pan translates or shifts a given range of frequencies.
If you zoom in on the spectrum, the lowest frequency converges toward the upper frequency, which remains constant.
4. Move the dialog box to try and see the system in the workspace.
This allows you to see the structure and the dialog box simultaneously.
5. To visualize the vibrational motions (normal mode) for theselected line, turn on Animate vibrations, and choose Apply.
HyperChem animates the normal mode that corresponds tothe frequency that you have selected.
6. L-click on a different line or use the [1] and [2] keys to select a
different line and choose Apply.
Chemical Calculations

407

Compute Menu

A different mode will be animated.
To store vibrational spectra:
If you wish to save vibrational results after closing the Vibrational
Spectrum dialog box, see “Export . . .” on page 93. Alternately, you
can run the sample script saveir.scr (see “Open Script” on page 106
for information on running scripts). This will create another script
file that you can later open to restore the saved vibrational results
into HyperChem.

Vibrational Spectrum Dialog Box
To perform vibrational analysis, choose Vibrations on the Computemenu to invoke a vibrational analysis calculation, and thenchoose Vibrational Spectrum to visualize the results.
Suggestion: You can capture an image of the Vibrational Spectrum
dialog box by using Setup Image on the Tools/Preferences menu to
set Window to Top level (see page 99), activating the Vibrational
Spectrum dialog box and then pressing [F9] to capture the image. To
get black lines on white background for the spectrum, set Window
to White and Bond to Black in the Preferences dialog box (seepage 95). You can also use the Copy button in this dialog box; seebelow.

408

Chapter 7

Compute Menu

Normal Mode Sequence number of normal mode in order ofascending frequency. In the case of degeneracy, thenumber begins with the last identical mode.
Degeneracy

The number of modes that have the same frequency.

Frequency

The number of oscillations per unit time,
expressed in units of reciprocal centimeters.
Frequency relates to energy by E=hν, where ν is thefrequency. Imaginary frequencies are shown as
negative numbers; their presence indicates thatthe structure is not at a local minimum.

Intensity

The height of the IR absorption line. Related to thedipole derivative with respect to normal coordinate displacement. Low intensities correspond toforbidden frequencies.

Animatevibrations

Controls the display of animated vibrations.

Animation
Cycle

Sets the distance in Ångstroms to move the fastest
atom during vibrational animations.

FramesSpecifies the number of steps to use in eachcycle while animating vibrations.

Amplitude

Sets the distance in Ångstroms to move thefastest atom during vibrational animations.

Apply

The specified vibrational mode is animated in theworkspace, leaving this dialog box active

Copy

This copies a bitmap picture of the Vibrational
Spectrum dialog box to the Clipboard. See also the“Suggestion” just before the picture of the dialogbox.

If you want to vary the speed and the range of motion of the animation, try changing the values for Frames and Amplitude. The
speed of the animation slows down as the number of frames
increases.

Practical Guidelines
The quality of the vibrational frequencies varies widely with thesemi-empirical method that is used. Generally, AM1, and PM3 are
Chemical Calculations

409

Compute Menu

in closer agreement with experiment than methods based on
CNDO or INDO.
The vibrational frequencies are derived from the harmonic
approximation, which assumes that the potential surface has aquadratic form.
Large amplitude (floppy) vibrational modes often exhibit significant anharmonicity that may increase errors in computed frequencies. In addition to anharmonicity, usually there is coupling
between vibrational modes in reality which is not accounted for in
the computational model.
If there are negative frequencies in an IR spectrum, it is a sign thatyou are not at a minimum energy structure. A valid minimum
energy structure possesses only positive frequencies.
Results of a recent literature study indicate that frequencies computed using semi-empirical PM3, AM1, and MNDO methods compare well to values obtained at the ab initio or DFT level using
medium size basis sets. Of these three methods, PM3 showed theclosest correspondence to experimental values, which is generally
about 10 percent too high in value from stretches (Seeger, D.M.;
Korzeniewski, C.; Kowalchyk, W., J. Phys.Chem. 95:68-71, 1991).
The following table shows the accuracy of computed fundamental
frequencies for CO2 (cm-1):
Normal
Mode

CNDO

INDO

AM1

PM3

Experiment

bend

571

553

525

521

667

asymmetricstretch

1888

2080

1480

1406

1340

symmetric
stretch

6427

5737

2565

2386

2349

Comparing Computed Results with Experiment
After you compute an IR spectrum with HyperChem, you can referto the table in HyperChem Computational Chemistry, Practical
Guide, to assign computed IR lines and qualitatively assess theaccuracy of the computation.
410

Chapter 7

Compute Menu

Electronic Spectrum
Use this command to calculate an ultraviolet-visible (UV-visible)
or “electronic” spectrum following a semi-empirical Single Point
calculation with singly excited configuration interaction (CI).
ZINDO/S is specifically parameterized to reproduce ultraviolet-visible spectra. However, you can use any of the ab initio or semiempirical methods, except Extended Hückel. To generate a UV-visible spectrum, you must first perform a singly excited CI calculation with the quantum mechanical method you choose. Thismenu item is unavailable unless a CI calculation has been performed for the current system.
Caution: You can request Configuration Interaction calculations
using Density Functional methods but the results are suspect. The
computed Kohn-Sham orbitals from a density functional calculation have a different interpretation from the Hartree-Fock orbitalsof an ab initio calculation and the meaning of Configuration Interaction calculation is not obvious. The difference in energy
between occupied and unoccupied Kohn-Sham orbitals is
expected to represent an average of the appropriate singlet-triplet
excitation energy.
Applications of UV-visible spectroscopy include diverse topics inphotochemistry, photobiology, photophysics, and analytical spectroscopy. Examples include:•

Studying changes in long wave absorption of dye molecules
upon modification of substituent groups•

Studying metal-ligand charge-transfer spectra•

Assigning UV-visible absorption transitions in terms of theorbitals involved in the transition•

Predicting triplet-triplet absorption spectra•

Calculating S1 - T1 energy gap to assess rate of intersystemcrossing.

To compute UV visible spectra:
1. Choose a semi-empirical or ab initio method and select Singly
Excited as the option for CI.
You will need to specify at least one occupied and at least one
unoccupied orbital, or an energy criterion that is at least as

Chemical Calculations

411

large as the HOMO-LUMO gap, in the CI Options dialog box.
Otherwise you will get no spectrum. In general, as you include
more orbitals or increase the energy criterion, the calculation
will take longer but the spectrum will be more accurate.
2. Choose Single Point on the Compute menu.
HyperChem performs an SCF calculation to obtain the reference electronic configuration associated with the singlet
ground state of your molecule. Next, HyperChem generates aseries of singly excited configurations, computes the Hamiltonian matrix elements between them, and then diagonalizes
the matrix to get the spectrum of electronic states.
3. When the calculation finishes, choose Electronic Spectrum on
the Compute menu.
This opens the Electronic Spectrum dialog box. Two sets oflines (transitions) appear in the dialog box. The top set shows
all the excited electronic states (both singlet and triplet); thebottom set shows only states that are spectroscopically active
and their relative intensities.
4. L-click on a different line or use the [1] and [2] keys to cycle
through the transitions.
To store UV visible spectra:
If you wish to save UV-visible results after closing the Electronic
Spectrum dialog box, see “Export . . .” on page 93. Alternately, you
can run the sample script saveuv.scr (see “Open Script” on page106 for information on running scripts). This will create anotherscript file that you can later open to restore the saved UV-visible
results into HyperChem.
Note: Some guidelines for CI singlet calculations are provided in“Configuration Interaction Dialog Box” on page 308 and in HyperChem Computational Chemistry. We suggest that you review thoseguidelines before computing UV visible spectra.
Once the spectrum has been calculated it will be shown in theElectronic Spectrum dialog box.

Electronic Spectrum Dialog Box
Use the Electronic Spectrum dialog box to display and analyze theUV-visible spectrum produced by a singly excited CI calculation.
This dialog box is available only after you do a single point CI
412

Compute Menu

semi-empirical or ab initio calculation. Electronic Spectrum is thenactivated on the Compute menu.
Transitions in the spectrum are represented as vertical lines contained in a spectral display, with the wavelengths marked along the
top of the display. The top set of lines represents all the excitedelectronic states (both singlet and triplet), and the bottom set represents only states that are spectroscopically active.
Suggestion: You can capture an image of the Electronic Spectrum
dialog box by using Setup Image on the Tool/Preferences menu to
set Window to Top level (see page 99), activating the Electronic Spectrum dialog box and then pressing [F9] to capture the image. To getblack lines on white background for the spectrum, set Window to
White and Bond to Black in the Preferences dialog box (see page 95).
You can also use the “Copy” button (described below) in this dialog box.

.

Wavelength

Numbers in the upper left- and right-hand cornersof the display show the limits of the currently displayed spectrum.

Zoom

Moving the Zoom scroll button to the right narrows the wavelength range of the display. The
value at the left-hand edge of the display remains
fixed regardless of the Zoom position.

Chemical Calculations

413

Compute Menu

Oscillator
Strength

The scale of the oscillator strength (intensity) is
indicated at the upper and lower left-hand cornersof the spectral box.

Pan

Scrolls the display left or right. You can pan the display by L-clicking on the Pan scroll button, or by
L-clicking on the scroll bar and pressing the left or
right arrow keys.

Transition

Shows the transition number of the currently
selected transition. Transitions are ordered fromlongest wavelength to shortest wavelength (left toright). You can select a transition by entering thenumber of the transition in this box.

Degeneracy

Specifies the degeneracy of the excited state corresponding to the selected transition.

Spinmultiplicity

This is the total spin multiplicity, 2S+1, where S is
the total electron spin of the system. Each
unpaired electron counts for 1/2. A closed-shell
system (singlet) has a multiplicity of 1. A doublet
or triplet state has a multiplicity of 2 and 3, respectively.

Wavelength

The wavelength (nm) of the selected transition.

Oscillator
Strength

A dimensionless quantity that is proportional tothe intensity of the selected transition.

Copy

This copies a bitmap picture of the Electronic Spectrum dialog box to the Clipboard. See also the“Suggestion” just before the picture of the dialog
box.

To show various characteristics of individual transitions, L-click
inside the display and the spectral box is highlighted with a violet
line. Then select individual transitions by L-clicking on a line or byusing the arrow keys on the keyboard. The options in the dialog
box show the characteristics of the selected line.

Practical Guidelines
If you are studying the electronic spectra of conjugated organic
molecules, such as dyes, it is often sufficient to include only a few
orbitals in the CI. For instance, if you are calculating the UV visible
spectrum of p-amino-benzoic acid, the wavelength of the two

414

Chapter 7

Compute Menu

intense lines in the UV spectroscopic range (approximately 200
nm to 350 nm) is calculated just as accurately using two occupied
and two unoccupied orbitals as using 10 of each. The extra orbitals
yield more lines in the high-energy region (beyond the range of
UV spectrometers) but do not affect the lines of interest, which arethose at longer wavelengths. As with many computational methods, trends and differences are given more accurately than absolute values. ZINDO/S calculations on several substituted benzenes
underestimate the wavelength of the major UV absorption by
about 20 nm, but the relative values are very well reproduced.
Absorption lines for transitions that are electronically forbidden—
but vibrationally allowed—do not appear in the Electronic Spectra
dialog box. For example, d-d transitions in metals do not show
intensity in HyperChem’s UV visible calculations.
A CI singlet calculation using a singlet state as a reference yields
both singlet and triplet eigenstates as output. If a doublet reference
state is used, then both doublet and quartet eigenstates are output.
The accuracy of the computed spectrum depends on the size (i.e.,
orbital active space) of the configuration interaction singlet calculation.
Since CI calculations are longer than SCF level calculations, thesize of molecules may be a limiting factor.

Saving Information in a Log File
When you compute UV-visible spectra, you can obtain additional
information about the excited state properties by using Start log on
the File menu. When QuantumPrintLevel=0 in the Start Log dialog
box, the log file saves the following information for UV-visible
spectra calculations:•Absolute energy in eV for the reference configuration•

Excitation energy in cm-1 for the excited states•

Dipole moments in Debyes•

Transition dipole for each possible excitation•

Intensities for each possible excitation•

Energies and gradient•

Eigenvalues of the reference configuration(the orbital energies)
Chemical Calculations

415

Compute Menu•

Atomic orbital electron populations•

Net charges and coordinates

Potential Energy Plotting
Given the currently chosen engine for computing energies, i.e.
Amber94, PM3, etc., HyperChem allows you to directly and immediately obtain,•

One-dimensional potential energy plots•

Two-dimensional potential energy plots

A one-dimensional potential energy plot shows the energy as afunction of one variable. A two-dimensional potential energy plotshows the energy as a function of two variables. These variables
can be either a bond length, a bond angle, or a bond torsion.
Sometimes these 1D and 2D potential energy plots are referred to
as 2D and 3D graphs. For example, a 2D potential energy plot
involves three variables in the graph  the energy and the two
independent variables.

One Dimensional Potentials
The creation of a 1D potential energy plot is very easy. One firstchooses the functional form of the energy that is to be used (as one
would prior to any single point calculation). This choice might be
AMBER, PM3, STO-3G, etc. Assuming there is a molecule in theworkspace, then one simply selects the 2, 3, or 4 atoms involvedin the bond, angle, or torsion that is to be used as the independent
variable.) For example, one might select the two carbon atoms in
ethane to plot the energy as a function of the C-C bond length.

Choosing the Independent Variable
The independent variable may be one of three types:

416

Chapter 7•

bond length (two adjacent atoms selected)•

bond angle (three adjacent atoms selected)•

bond torsion (four adjacent atoms selected)

Compute Menu

Current Selection
The independent variable can be chosen via the current selection. If
the current selection is appropriate (one of the above) then themenu item Potential... will be active and a potential energy plot
can be initiated by clicking on this menu item. If the current selection is inappropriate, e.g. six atoms are selected or two atoms are
selected but they are not bonded, then the menu item will be inactive (grayed).

Named Selection PLOT1
The independent variable can alternatively be specified by using a
named selection called PLOT1. At any time, independent of specifically requesting a potential energy plot via the Potential... menu
item, you can define a 2-, 3-, or 4-atom selection and name it
PLOT1,

This option for named selections will only be available if the current selection is an appropriate one for a potential energy plot. If
it is, however, then the named selection will be remembered andcan be used to request a potential energy plot at some later time.
The named selection PLOT1 is used, however, only if no current
selection has been made. A current selection always overrides any
PLOT1 named selection.

Requesting a Plot
If the current selection is appropriate or there is no current selection but PLOT1 is defined, then the menu item Potential... will be
Chemical Calculations

417

Compute Menu

active. Clicking on this menu item will bring up a dialog box for
selecting the values of the independent variable. If you are using
the current selection, you will see the following dialog box:

If, however, there is no current selection but PLOT1 is named, thenthe following dialog box will appear:

In either case, you are now ready to choose the equally-spaced
points to be plotted. The values above were used to produce thefollowing potential energy curve for the H2 molecule. This plot
resides within one of HyperChem’s dialog boxes and has a button(Properties...) for choosing the options for the plot.

418

Chapter 7

Compute Menu

Plotting Options
Pushing the Properties button brings up the following dialog box:

Chemical Calculations

419

Compute Menu

These plotting capabilities in HyperChem are derived from a thirdparty graphing control and contain extensive options. Indeed,
you could plot your own data in addition to data that is prepared
automatically for potential energy plots, as described here. Not allof these options are described fully here and you may wish to
explore this elaborate dialog box (shown above) if you require
quite custom plots.

Help
On-line help for the graphing control is available via the help button shown above. HyperChem does not use all the controls capability and some of the tabs (for example, the 2D and 3D Gallerytabs) shown in association with HELP are not available in HyperChem. For example, only 2D line plots and 3D surface plots areused for plotting potential energy curves and no other choice isavailable via HyperChem and the tabs shown above.

Types of Fitting
The first thing that may be required in obtaining a good plot is tochoose an appropriate fitting method. By default splines (asshown above) are drawn through the points. This is often a poor
choice when the data is not very smooth. A better choice is often

420

Chapter 7

Compute Menu

a Variable-Order Polynomial but other choices are also available byclicking on the Trends tab. Only experimenting with your particular plot will give the best plot. The on-line help button, for example, describes each of the options in addition to HyperChem’s
spline default.

Data
The data values computed by HyperChem and plotted by HyperChem can be displayed by clicking on the Data tab of the Graph
Control dialog box obtained by clicking on the Properties... button of the graph. These values can be modified so that you canrequest your own plotting of data if so desired.

Exporting and Printing Plots
By clicking on the System tab, you can request the printing of aplot or the transfer of a plot to the clipboard for use in another program such as for placing a plot on a web site:

Chemical Calculations

421

Compute Menu

Titles, Labels, Etc.
Clicking on the tabs for Titles, Labels, Axis, Fonts, Markers, andBackground will allow you to set the esthetics of your plot. A wide
variety of options is available to make your plot look the way you
would like it to look. For example, the plot above might look better
if we labeled the X-axis, changed the title, made the drop shadow
consistent, used a different marker for each point, and widened
the line drawn:

422

Chapter 7

Compute Menu

Note that this is a screen shot of the dialog box not what the system tag would allow you to print or copy to the clipboard. Those
pictures would not have the Properties button, the dialog frame
and title bar, etc.

Two-Dimensional Potentials
Two-dimensional potential energy plots operate essentially identical to the one-dimensional potential energy plots except that you
cannot use the current selection to describe the independent variables. You must use named selections, PLOT1 and PLOT 2. A current selection can describe one variable but not two! Thus, youmust first name PLOT1 and PLOT2 as any bond length, angle or
torsion. The two variables need not be of the same kind. Clicking
one the menu item Potentials... will then initiate the creation of a
3D graph describing the energy as a function of PLOT1 and PLOT2.

ExampleA simple example of a 2D potential energy plot is a plot of theenergy as a function of the C1-C2 and C2-C3 torsional angles in nPentane. These two torsions describe the carbon backbone and theenergy is at a nominal minimum when these angles describe a

Chemical Calculations

423

Compute Menu

gauche orientation (60 degrees, 180 degrees, etc). The energy is at
a nominal maximum, on the other hand, for eclipsed orientations(0 degrees, 120 degrees, etc.).
The setup for this plotting is:

An MM+ calculation of this potential energy is shown below looking directly down on the surface. The minima (red) occur at valuesof -180, -60, 60, and 180 degrees (the range of the plot is from -180
to +180 degrees). The maxima occur for values of -120, 0, and+120 degrees.

The same data but with a different view of the 3D surface is shown
below:

424

Chapter 7

Compute Menu

Cautions
Two-dimensional potential energy plots may require time andpatience to obtain. For large numbers of points, the delay in displaying the data can be significant. HyperChem may also add
points to obtain a smoother final plot.

Conformational Search
Overview
The Conformational Search module is a program for finding low
energy conformations of molecular systems in HyperChem byvarying user-specified dihedral angles. The method involves random variation of dihedral angles to generate new structures andthen energy minimizing each of these angles. Low-energy uniqueconformations are stored while high-energy or duplicate structures
are discarded.
The generation of new starting conformations for the energy minimization uses random variation of dihedral angles. Rotation isused for acyclic bond dihedral angles. For dihedral angles in aring, dihedral angles are rotated by the "torsional flexing" motionof Kolossváry and Guida [I. Kolossváry and W. C. Guida, J. Comput.
Chem., 14, 691 (1993)], which effectively leads to new ring confor-

Chemical Calculations

425

Compute Menu

mations while avoiding large atomic displacements that candecrease the efficiency of optimization.
Features of Conformational Search include:•

It can handle systems containing rings, there is effectively nosoftware limit for the size of system or number of torsions to
vary.

•

The search employs random variation of dihedral angles with
options for choosing initial structures, determining duplicate
conformations and energetic tests for accepting new conformations.

•

It uses any selection that you have set while minimizing, sopart of a system can be kept fixed or treated with semi-empirical quantum mechanics in HyperChem.

•

It can automatically determine equivalent atom orders for
RMS comparison of conformations.

•

Results are presented in a spreadsheet and can be copied via
the Windows clipboard to other applications.

The Conformational Search executable file is HCCONF.EXE,
installed in your Program directory. The initialization file,
HCCONF.INI, is stored in your WINDOWS directory and will becreated automatically by Conformational Search.

Tutorial
The following steps should be used to run Conformation Search:
1. Conformational Search may be started by clicking on the Conformational Search menu item of the Compute menu in HyperChem. HyperChem should have a molecular system in theworkspace and the desired calculation options set up (via the
Setup menu). It is a good idea to run a single point calculation(via Compute/Single Point) first to check for required parameters.
2. The dihedral angles to be varied must be set up as named selections in HyperChem. If you wish to choose the names for theselections or only wish to vary a few dihedral angles, use theSelect/Name Selection menu in HyperChem to name each of
the dihedral angles that you wish to be varied in the search.

426

Chapter 7

Compute Menu

3. Select the dihedral angles to be varied by using the
Options/Choose Torsions menu item and adding items from theNamed Torsion Angles list to the Torsions To Vary list in the Setup
Torsions dialog box. You may wish to use Shift-Enter or Control-Enter to select multiple dihedral angles in the list before
clicking on the Add button.
4. If the molecular system includes rings, use the Options/Define
Rings menu item. For each ring, select it in HyperChem andthen press the Add button.
5. Choose the rest of the search options under the Options menu.
These include the choice for initial structures, pre-optimization tests for non-bonded distance or duplication, the optimization parameters, and the geometric and energetic criteria for
accepting conformations. See the Background section for
details.
6. Use the Run/Start menu (or press the F2 key) to start the search.
If you have selected the Auto Save option, the Auto Save File
Name dialog appears and you can specify the file name to use
for automatically saving results. Updated results of the search
are displayed as the search progresses, and if the Auto Save
option is on, the updated results and conformation atomic
coordinates are written out to file.
The search may be suspended by clicking on the Cancel menu, orby pressing Alt+C on the keyboard, while HyperChem is optimizing. It may be resumed via the Run/Resume menu or by pressing
F3 on the keyboard.
If a search isn't running, you can put tabular results in the Windows clipboard, or use the clipboard to put a conformation into
HyperChem. Select cells in either of the output tables and use theEdit/Copy menu to copy the selected cells, plus row and column
headings for the Conformations Found table, to the Windows clipboard. These may then be copied into another application, suchas a spreadsheet, plotting program or word processor. If you selecta cell or row in the Conformations Found table and use theEdit/Put Molecule menu item, the selected conformation will be
put into HyperChem, with the previously found potential energy
given on the status line.

Chemical Calculations

427

Compute Menu

BackgroundThe goal of a conformational search is usually to determine conformations of a molecular system that are low in potential energy.
As well as determining the global minimum of the potential
energy surface, it is important to determine all minima that will bethermally populated and will therefore influence macroscopicallyobservable properties of the system.
For small systems with few conformational degrees of freedom, asearch by systematic variation of all conformational parameters is
possible. However the number of combinations to be systematically explored grows exponentially with the number of degrees of
freedom. The straightforward systematic search quickly becomesprohibitive for systems of more than few conformational parameters.
Several approaches have been applied to the problem of determining low-energy conformations of molecules. The field has beenreviewed recently [A. E. Howard and P. A. Kollman, J. Med. Chem.,
31, 1669 (1988)]. A common theme is to limit the exploration ofconformational space by varying only those parameters that affectthe potential energy the least. Since molecular flexibility is usually
due to rotation of unhindered bond dihedral or torsion angles,
with little change in bond lengths or bond angles, a frequent
choice (used here) is to only consider the variation of bond torsion
angles. Another strategy, to reduce computation, is to discard
structures without the cost of energy evaluation or minimizationby using quick tests for unfavorably close non-bonded atom separations and for ring closure bond lengths that are too long or short.
Many of the approaches share a common overall design, also
employed here.
The repeated steps are:1. Select an initial structure.
2. Modify the initial structure by varying geometric parameters.
3. Geometry optimize the modified structure to a energy-minimized conformation.
4. Compare the conformation with those found previously andaccept if unique and if the energy satisfies a criterion.
The methods differ in the details of these basic steps.

428

Chapter 7

Compute Menu

1. Selection Of An Initial Structure
For step 1, the initial structure may be one that is unchanged forthe whole search, is the most recently accepted conformation or ischosen from a set of previously accepted conformations. If one isapplying systematic variations in step 2, keeping the initial structure unchanged will avoid repeating the modified structures thatare minimized. The choice of using the last accepted conformation, often referred to as a random walk scheme in Monte Carlosearches, is based on the observation that low-energy conformations tend to be similar, so starting from an accepted conformation
should tend to keep the search in a low-energy region of the potential surface. As well as preferring low-energy regions, the searchshould not get trapped in a single low-energy region. One scheme,
introduced in the Monte Carlo Multiple Minimum, or MCMM,
method [G. Chang, W. C. Guida and W. C. Still, J. Am. Chem. Soc.,
111, 4379 (1989)] is called usage directed. It seeks to uniformly
sample low-energy regions by cycling through all previously
accepted conformations (in order from lowest energy to highest)
when selecting each initial structure. Several comparisons[G. Chang, W. C. Guida and W. C. Still, J. Am. Chem. Soc., 111,
4379 (1989), M. Saunders, K. N. Houk, Y.-D. Wu, W. C. Still,
M. Lipton, G. Chang, and W. C. Guida, J. Am. Chem. Soc., 112,1419 (1990), C. E. Peishoff and J. S. Dixon, J. Comput. Chem., 13,565 (1992)] find the usage-directed scheme preferable to simply
using the last accepted structure. In this conformational search
module either using the last accepted conformation (random walk)or the usage directed scheme may be used.

2. Variation Of Geometric Parameters
For step 2, the variations are either systematic or random. As
pointed out above, systematic variations applied to an unchanging
initial structure can avoid duplication and can also exhaustively
search for low energy conformations, but the number of variations
becomes prohibitive for all but the simplest systems. One
approach to reduce the dimensionality of systematic variations,that is used in a development of MCMM called SUMM
[J. M. Goodman and W. C. Still, J. Comput. Chem., 12, 1110
(1991)], is to first exhaust variations at a low resolution, thenexhaust the new variations allowed by successively doubling theresolution. Random approaches may randomly choose a newvalue for one or more geometric parameters from a continuous
range or from sets of discrete values. The main disadvantage with
Chemical Calculations

429

Compute Menu

random variations is that as the search progresses, more and moreof the variations lead to recurring conformations. To reduce repetition several methods have some sort of comparison, preferably
quick, with the sets of previous structures resulting from step 2,
from step 4 or from both. In this module, the pre-optimization
torsion test compares torsion angles with those of previous structures from step 4, and goes back to step 1 if they are within a maximum deviation.
The structures resulting from step 2 may be tested for close interatomic distances. If close contacts are detected, then the searchgoes back to step 1.
In searches that vary torsion angles, cyclic systems are treated as
special cases since endocyclic torsion angles cannot be varied independently of other internal coordinates. Two types of approaches
are common.
The first type of endocyclic torsion treatment involves the user
selecting a bond which can be broken (or an atom that can be"split") to allow torsion angles to change and then reform the bond(or atom) to close the ring again. Since most of the resulting structures will have energetically unfavorable ring closures, such as very
long bonds, it is usual to discard variations unless the resulting
ring closure is within a user-specified tolerance. An undesirable
consequence of this approach is that considerable strain can exist
in the ring closure bond, so that the conformation is far from a
local minimum and the optimization in step 3 either takes a longtime or does not find a low-energy minimum. The results can also
be very sensitive to the bond chosen for breaking the ring.
The second type of treatment for varying endocyclic torsions is tovary the angles in a concerted fashion that hopefully minimizes
the formation of long bonds. The main advantage of this technique is that the resulting structures have low strain and thus tend
to be optimized more quickly in step 3. There is also the advantagethat the effort of generating and checking structures with poor
ring closures is avoided. A disadvantage can be that some lowenergy conformations cannot be reached. Some of the methods
reported are corner flapping [H. Goto and E. Osawa, J. Am. Chem.
Soc., 111, 8950 (1989)], edge flipping [H. Goto and E. Osawa, J.
Chem. Soc. Perkin Trans. 2, 1993, 187], and torsional flexing (TFLEX)[I. Kolossváry and W. C. Guida, J. Comput. Chem., 14, 691 (1993)].
Corner flapping has been shown to miss conformations, but thishas not been shown for the latter two methods of varying endocy-

430

Chapter 7

Compute Menu

clic torsions. Torsional flexing compares favorably with othermethods in finding almost all known minima for well-studied systems while requiring less computational effort, and is the method
employed for cyclic torsions in this module.

3. Geometry Optimization
In step 3 geometry optimization is used to find a local minimumon the potential surface starting from a structure resulting fromstep 2. The choice of optimizer has minor effect on the conformational search, though it is preferable to employ an optimizer thatconverges quickly to a local minimum without crossing barriers on
the potential surface. The latter point is important for not missing
local minima, but usually a characteristic of an efficient optimizers.

4. Comparison With Previously Accepted
Conformations And Energy Criterion
Two types of criteria are used to decide when to accept structures,geometric and energetic.
Geometric comparisons are made with previously accepted conformations to avoid duplication. Conformations are often compared by the maximum or r.m.s. deviation for internal coordinates(usually dihedral angles), interatomic distances or least-squares
superposition of conformers. The comparisons may only use asubset of atoms (e.g. ignoring hydrogens) to speed comparison. If
the comparison parameter falls within a specified tolerance thenthe duplicate is discarded.
The comparisons can be complicated by topological symmetry,particularly for cyclic systems. In these cases several mappings or
re-orderings may need to be considered to avoid accepting duplicate structures.
Another geometric test that may be performed is to check forinversion of chiral centers, and discard any conformations wherechiral centers have been inverted. Although this test could be performed before step 3, it is best performed afterwards since geometry optimization can invert chiral centers.
The energetic test for accepting a new conformer (if it is not a
duplicate) may be of two types, a simple cutoff relative to the bestenergy found so far, or a Metropolis criterion where higher energy

Chemical Calculations

431

Compute Menu

structures are accepted with a probability determined by theenergy difference and a temperature. In Monte Carlo searches that
use the random walk option for step 1, it is often necessary to raise
the temperature used in the acceptance test to increase the probability of accepting a high energy conformation to cross a potential
barrier. Temperature adjustment is typically done after repeatedly
finding the same duplicate conformation or repeatedly rejecting
new conformations based on the Metropolis criterion[B. von Freyberg and W. Braun, J. Comput. Chem., 12, 1065 (1991)].

Options Supported In Conformational Search
Conformational Search offers the following options for steps 1 to
4 discussed above:
1. For step 1, either the last accepted structure or the usage
directed scheme may be used to choose the initial structure. As
noted above, comparative studies have found the usage
directed scheme to be superior for quickly finding low-energy
conformations. This may be set by the Options/Search Methodmenu.
2. In step 2 random variations are applied to the initial conformation chosen in step 1. Random combinations of one ormore dihedral angle variations are applied. In order for Conformational Search to treat ring systems, you must use the
Options/Define Rings menu item to tell Conformational Searchwhere rings are in your system. If the dihedral angle is in a ring
the variation is a torsional flexing, otherwise a simple rotation
is used. The variations may be restricted to a specific range ora specific set of values (using the Options/Setup Ranges menu).
A non-bonded distance test and torsion duplication test may
optionally be performed before proceeding to step 3 (using the
Options/Tests menu).
3. The optimization step may use any of the optimizers available
for the particular type of calculation in HyperChem. Since thestructures from step 2 may be quite strained, it is preferable touse an optimizer that is globally convergent, such as PolakRibiere or Fletcher-Reeves. Please see the HyperChem documentation for further details.
4. Both geometric and energetic tests are used as criteria in
accepting new conformations. Conformations with chiral
centers that have inverted may optionally be discarded. Up to

432

Chapter 7

Compute Menu

three tests may be used to compare conformations in the postoptimization check for duplication: energy difference, maximum deviation of torsions being varied, and r.m.s. deviation
fro a least squares overlay of specified atoms. More than one
order for comparing atoms may be specified where symmetry
considerations warrant it. The tests to be used for checking
chirality and determining duplication are specified by the
Options/Tests menu. The energetic test may be either a cutoff
relative to the best energy or a Metropolis criterion. Temperature adjustment may be used with the Metropolis criterion.
The energetic tests for acceptance are set by the Options/Search
Method menu.
The options available in Conformational Search may be chosen to
duplicate published search methods. Choosing the usage directed
scheme, with restricted ranges for torsional flexing and a nonMetropolis cutoff, gives the successful scheme of Kolossváry andGuida. Using random walk choice of initial structure with a
Metropolis energy criterion gives a conventional Monte Carlosearch, similar to that of von Freyberg and Braun (which uses temperature adjustment) or that of Li and Scheraga [Z. Li and
H. A. Scheraga, Proc. Natl. Acad. Sci. USA, 84, 6611 (1987)].

Reference
This section describes the main window, menus and dialog boxesof Conformational Search.

Main Window
The main window for Conformational Search has two tables fordisplaying search results.
Search ProgressThis table summarizes the progress of the conformational search.

Conformations

This indicates the number of unique conformations that have been kept.

Lowest foundThis shows the lowest energy of the conformations kept so far.

Chemical Calculations

433

Compute Menu

434

Chapter 7

Highest kept

This shows the highest energy of the conformations kept so far.

Accept rate

This shows the ratio of the number of conformations kept over the number of conformations subjected to the acceptancetest. It does not include duplicates or conformations rejected for reasons other thanhigh energy. If the Metropolis criterion is
being used, this shows the rate that it isbeing passed.

Iterations

This shows the number of times that initialstructures have been chosen and variations applied.

Optimizations

This shows the number of times that
HyperChem has performed optimizations.

Energies

This shows the number of energy and gradient evaluations that HyperChem has
performed while optimizing.

UnconvergedThis shows the number of optimizations
that did not converge within the RMS gradient threshold specified in the Test
Options For Search dialog box.

Close contacts

This shows the number of trial structuresthat were rejected before optimization due
to non-bonded atoms being closer than
the threshold specified in the Test Options
For Search dialog box. The option that
this reflects is set in the Test Options For
Search dialog box

Compute Menu

Torsion tests

This shows the number of trial structuresthat were rejected before optimization due
to torsion angles differing from a previously accepted conformation by less than
the threshold specified in the Test Options
For Search dialog box. The option that
this reflects is set in the Test Options For
Search dialog box

Wrong chirality

This shows the number of optimization
results that were rejected because one ormore chiral centers changed chirality. The
option that this reflects is set in the Test
Options For Search dialog box

High energy

This shows the number of conformations
that have been rejected by the energetic
acceptance criterion.

Conformations
Found

This table details information about each of theconformations that have been kept. The conformations are sorted in order of increasing energy.
The information for each conformation corresponds to the lowest energy duplicate conformation.

Index

The index of the conformation.

EnergyThe energy of this conformation.

Gradient

The RMS gradient of this conformation.

Found

The number of times this conformation
has been found.

Used

The number of times this conformation
has been used as an initial structure.

Torsion Angle Val- The last columns hold the values of theuestorsion angles that are being varied. The
columns are labeled with the selection
names of the torsions.
Chemical Calculations

435

Compute Menu

File Menu
The file menu is used to read and write files, and it contains:
New

Open…

Save

Save As…

Auto Save…

Exit

Previous file
names

436

Chapter 7

Use New to clear the workspace. If changes havebeen made, you will be offered the chance to savethe system to a file.
Use Open… to read in results from a previously
saved search. You will be presented with the Filedialog box for selection of the file. Conformation
Search uses Hypercube Conformational Search(HCS) files for saving results. If the file holds amolecular system it will be loaded into HyperChem, and the search will be set up to resume (via
Run/Resume) if possible. All the options under the
Options menu are restored from the file.
Use the Save menu item to save a copy of the current search into the current file. If there is no current file, then this item is the same as the Save
As… menu item displaying the File Save dialog for
selection of a file name.
Use Save As… to save the current system into a
named file. This item invokes the File Save dialog
for you to use in selecting a file name.
Use this menu to display the Auto Save Option dialog box, which can set the option. to automaticallycreate and update a results file as the search proceeds.
Use Exit to exit Conformational Search. If search
results have changed since the last time the file wassaved, then you will be offered the chance to savechanges.
As you read and write any files, the last four files
you accessed will be available as items at the end of
the file menu. Initially, these menu items areabsent (you haven't referred to any files yet), butthey will appear as you use files with Conformational Search. If you click on one of these filenames, it will open that file just as if you had
selected it with File/Open.

Compute Menu

Edit Menu
The Edit menu is used to copy the tables from the main window to
the clipboard of put conformation into HyperChem.

Copy

Put MoleculeThis will copy any selected cells from the tables into
the clipboard. Only cells from one table at a time
can be copied. If the selected cells are in the Conformations Found table, the row and column headings will be copied to the clipboard as well. The
clipboard format is text, with tab characters separating the columns.
If a cell in the Conformations Found table has thefocus (indicated by a dotted line around the cell),this will load that conformation into HyperChemand display the previously found potential energy
in the status line.

Options Menu
This menu sets up options for performing the conformational
search. It contains the following menu items:
Choose Torsions… This menu item causes Conformational Search toquery HyperChem for its named selections anddetermines which of these are torsion angles. It
then displays the Choose Torsions dialog box toallow you to specify which named torsions you
wish to vary in a search.
Define Rings…
This brings up the Define Rings dialog box, which
you must use to identify rings containing torsions
that you wish to vary. Conformational Search will
not be able to vary torsions in a ring if you do not
use this menu.
This brings up the Setup Ranges dialog box, which
Setup Ranges…
lets you specify ranges for how many torsion tovary simultaneously and how much to vary themby.

Chemical Calculations

437

Compute Menu
Search Method… This brings up the Search Method dialog box,
which lets you specify the method for choosing initial structures and the method for deciding toaccept new conformations.
This brings up the Test Options For Search dialog
Tests…
box, which lets you specify pre-optimization,chirality and duplication tests.
This brings up the Optimization Options dialog
Optimization…
box, which lets you specify the termination conditions for optimizations and the frequency of HyperChem screen updates during optimization.
This brings up the Random Number Seed dialog
Random Seed…
box, which lets you specify the seed to be used by
the random number generate when new (rather
than resumed) searches are run.
This brings up the Limits For Search dialog box,
Limits…
which lets you specify how long to let the search
run or a maximum number of conformations to
keep.

The options should be set up after you have read in or created yoursystem in HyperChem and have selected and named the torsion
angles that you wish to vary.

Run Menu
This menu is used to start a new search or resume a previous
search. It contains the two items:

Start

Resume438

Chapter 7

This will clear any previous search results, prompt
you to save previous results if you have not alreadydone so, prompt you for a file name to save new
results to if the Auto Save option is turned on, andthen start the new search.
If active, this menu can be used to resume a previous search, either read in from a file or previously
suspended fro the current session of Conformational Search.

Compute Menu

Cancel Menu
This menu is active when a search is running and HyperChem is
optimizing. You may click on it, or use Alt+C on the keyboard tosuspend or stop the search.

Help Menu
This menu can be used to view information about the Conformational Search module. It contains:

About…

Displays the About dialog box, which gives version
and copyright information.

Auto Save Option Dialog Box
Check the check box in this dialog if you wish to have the search
results saved to a file that is automatically updated as the search
proceeds. This can be useful for long, unattended searches where
output might otherwise be lost from power outages or otherabnormal program termination. If this option is activated, youwill always be asked to specify a file name when starting or resuming a search. The Auto Save File Name dialog box, which differs
only in title from the standard File Save dialog box, is used forspecifying the name of the file.

Choose Torsions Dialog Box
Use the Choose Torsions dialog box to specify which torsion
angles should be varied in Conformational Search. You must firstuse HyperChem to select and name the torsion angles, and thenuse the Options/Choose Torsions menu item to invoke this dialog.
The options in this dialog box are:Named Torsion
AnglesLists the named selections which specify bond torsion angles. You may select one or more items inthis list. To select a contiguous range, click on thefirst and shift-click on the last that you desire. You
may use control-clicks to independently select ordeselect members of the list. Double-clicking on
an item will add it to the Torsions To Vary list.
Chemical Calculations

439

Compute Menu
Torsions To Vary

Add -><- DelAdd All
Del AllOK
CancelDefine Rings…
RMS Atoms…
Set Ranges…

Lists the named bond torsion angles which are to
be varied in the search. You may select one ormore items in this list, as in the above list. Doubleclicking on an item will remove it from the list.
Adds the selected names in the Named Torsion
Angles list to the Torsions To Vary list.
Removes the selected names in the Torsions To
Vary list.
Adds all names in the Named Torsion Angles list to
the Torsions To Vary list.
Removes all names from the Torsions To Vary list.
Close the dialog box and accept the changes
made.
Close the dialog box without accepting thechanges made.
Display the Define Rings dialog box.
Display the Atoms To RMS Compare dialog box.
Display the Setup Ranges dialog box.

Define Rings Dialog Box
Use this dialog box to define atoms whose bonds form rings. Thisis necessary for Conformational Search to distinguish acyclic bondtorsion angles from cyclic bond torsion angles. Any selection thatyou had is temporarily cleared until the dialog box is closed, when
it will be restored. Once the dialog box is shown, you switch toHyperChem and select a ring (e.g. by double-clicking on a bond in
the ring). You then switch back to this dialog box and click on Add
to define the ring. Repeat the process for each ring that contains
torsions to be varied. If you make a mistake, you can select theincorrect member of the list and use Delete to remove it.
Note: If you are using united atoms in HyperChem, the invisible
united hydrogens are selected when the carbon atoms that they
are united with are selected. Thus united hydrogens attached toring carbons will show up in the Rings list but they will be ignored
by Conformational Search. If you find this behavior annoying,
you can avoid it by using Build/All Atoms in HyperChem when
you are defining rings and then you can switch back to united
atoms for the search after all rings are defined.

440

Chapter 7

Compute Menu

Rings

Add
DeleteOK
CancelThis lists the atoms that you have indicated as
forming rings. The atoms are listed by atom number within a molecule followed by a comma andthe molecule number and a space.
Use this button to add the currently selected atoms
in HyperChem to the list.
Use this button to delete the selected set of atoms
from the Rings list. You only need to do this if
atoms have been added (other than extendedhydrogens) that are not in rings.
Close the dialog box and accept the changes
made.
Close the dialog box without accepting thechanges made.

Setup Ranges Dialog Box
Use this dialog box to specify the ranges for how many torsion
angles to vary simultaneously and for the variation of the torsions.
Ranges for variations

This section is used to set the ranges for variation ofbond torsion angles.

Number of simul- Use this to set the range of how many tortaneous variations sions will be varied simultaneously. If therange includes values larger than the total
number of torsions to vary they will not be
used. For acyclic systems this number canbe as large as the actual number of torsions to vary. For cyclic systems larger values can lead to severely distorted
structures after variation, resulting in
reduced efficiency of the search.
Range for acyclic
torsion variation

Use this to set the range for changing
bond torsion angles that are not in rings.

Chemical Calculations

441

Compute Menu

Range for ringtorsion flexing

Use this to set the range for changing
bond torsion angles that are in rings. The
torsion angle will actually vary by twice
the given range, since each end is rotatedby the same amount but in opposite directions.

OK

Close the dialog box, accepting the changes made.

CancelClose the dialog box without accepting thechanges made.

Search Method Dialog Box
Use this dialog box to specify which type of conformational searchto perform.

442

Chapter 7

Initial Conformations

This specifies the method to use for choosing initialconformations.

Usage Directed

Uses the lowest energy previously foundconformation that has not already beenused. Once all previously found conformations have been used, it cycles throughthem again.

Random Walk

Uses the most recently accepted conformation.

Acceptance
Energy Criterion

This section can be use to specify the energetic criteria for deciding whether to accept a new conformation or not.

Maximum

Choose this option to set an upper limit,
relative to the lowest energy conformation
found, for accepting new conformations.
Type a number for the relative energy cutoff that you desire in the text box.

Compute Menu

Metropolis Criterion

Choose this option to use a Metropolis criterion for accepting new conformations,where the probability of accepting ahigher energy conformation than the initial structure increases with a higher temperature. (A lower energy structure will
always be kept.) You should set a normal
temperature and a much higher temperature to switch to after a specified numberof consecutive times finding the same conformation or rejecting new conformations.

OK

Close the dialog box, accepting the changes made.

CancelClose the dialog box without accepting thechanges made.

For a traditional Metropolis Monte Carlo search, albeit with torsional flexing for cyclic torsions, use the Random Walk choice for
initial structures and the Metropolis Criterion for acceptance.
For an MCMM search, or more specifically the TFLEX variant of
MCMM, use the Usage Directed choice for initial structures and a
Maximum energy range for acceptance.

Test Options For Search Dialog Box
Use this dialog box to specify pre-optimization tests, chirality
checking, and the tests to use to determine duplicate conformations.
Pre-Optimization These tests are performed before optimization. If
Checksthey fail the optimization and subsequent steps are
skipped.
Skip if atoms
closer than

Check this box and enter a distance tospecify a minimum allowed separation
between non-bonded atoms.

Chemical Calculations

443

Compute Menu

444

Chapter 7

Skip if torsions
withinCheck this box and enter an angle to try
to avoid finding a duplicate conformation
by starting with torsion angles close to
those of a conformation already accepted.

Post-Optimization Check

Check this box to discard conformations wherechiral centers differ from those in the starting structure. Atoms with only three bonded neighbors are
not considered in this test.

Duplication Tests

This sets the tests for determining duplicate conformations. All checked tests must be passed for a
conformation to be considered a duplicate. For
efficiency the testing is aborted as soon as any test
fails. The tests are performed in the order listed,with the quickest tests coming first for efficiency.

Energy within

Check this box and enter an energy difference to compare energies as a quick testfor duplicates. An appropriate value
depends on the optimization convergencecriterion. This option is inappropriate if
there are regions of the system where you
are not interested the structure but structural changes affect the energy. In suchcases you may want energetically different
structures to be considered duplicates
based on only a subset of the structure.

Varied torsions
withinCheck this box and enter an angle tocompare values for the torsions to varied.
This will only compare dihedral angles ofthe same selection name, so it should not
be used if there are equivalent dihedral
angles.

Compute Menu

RMS error within

Check this box and enter a distance to calculate the residual root mean square error
from a least squares overlay of the atoms
in the conformations. This option is relatively expensive to calculate, so it is advisable to use one or both of the above
duplication tests when possible to reduce
the number of RMS error calculations.
The following three options affect the calculation of the RMS error.

Ignore hydrogens Check this box to ignore all hydrogen
in RMS fit
atoms during the calculation of the RMS
error. (United hydrogens are unaffectedby this option, since they are always
ignored.) This option can significantly
reduce the time for calculating RMS error,and since hydrogen positions are rarely ofinterest, it should almost always be used.
Use equivalentatom orders

Check this box to have Conformational
Search scan the system to determine
equivalent orders for the atoms being
compared to use for calculating the RMS
error. If checked, the RMS error test will
only fail if the error for all of the orders is
less than the threshold value. This option
can dramatically increase the startup andrunning times for a search, so it should be
used only when the system is known tohave exactly equivalent atoms among
those that are being compared. For efficiency only the atoms to compare andthose atoms that connect them arechecked for equivalency, so incorrect
matching orders can be generated if too
few atoms are chosen with the next
option.

Chemical Calculations

445

Compute Menu

Specify Atoms To
Compare…

This button brings up the Atoms To RMS
Compare dialog box which can be used tochoose a subset of atoms for the RMS
error test. Using a smaller number ofatoms decreases the time taken to calculate the RMS error, but if too few are usedspurious matches will be found. If no
atoms are specified all atoms are used, but
the option to ignore hydrogens takes precedence over this option.

OK

Close the dialog box, accepting the changes made.

CancelClose the dialog box without accepting thechanges made.

Atoms To RMS Compare Dialog Box
Use this dialog box to specify a subset of atoms to use in the RMS
error calculation. Any selection that you had is temporarily
cleared until the dialog box is closed, when it will be restored.
Once the dialog box is shown, you switch to HyperChem andselect the atoms you wish to include in the RMS error calculation.
You then switch back to this dialog box and click on Accept. If
you make a mistake, you can select the incorrect atoms and use
Delete to remove them.
Note: If you are using united atoms in HyperChem, the invisible
united hydrogens are selected when the carbon atoms that they
are united with are selected. Thus united hydrogens attached to
selected atoms will show up in the Atoms to compare list but they
will be ignored by Conformational Search. If you find this behavior annoying, you can avoid it by using Build/All Atoms inHyperChem when you are choosing atoms to compare and then
you can switch back to united atoms for the search.
Atoms to compare This lists the atoms that you have chosen to include
in RMS error calculations. The atoms are listed byatom number within a molecule followed by acomma and the molecule number and a space.
Use this button to add the currently selected atoms
Acceptin HyperChem to the list.

446

Chapter 7

Compute Menu
DeleteOK
CancelUse this button to delete the selected set of atoms
from the list.
Close the dialog box, accepting the changes made.
Close the dialog box without accepting thechanges made.

Optimization Options Dialog Box
Use this dialog box to set optimization options for HyperChem
during the search.
Optimization Ter- The optimization will terminate successfully if theminationRMS gradient is sufficiently small or will terminate
unsuccessfully if the maximum number of cycles isreached.
RMS Gradient

Use this to set the gradient threshold forconsidering an optimization to be converged. The default HyperChem value of
0.1 is often too large to find a true local
minimum, a value of 0.01 or less will produce fewer spurious duplicates and canallow tighter duplication tests but can takemuch longer to reach convergence.

Maximum Cycles

Use this to set the maximum number of
optimization cycles allowed to reach convergence. Because many of the starting
structures are highly strained, a value
larger than the HyperChem default isoften appropriate. The value will also
depend on the above setting, since it
requires more cycles to reach smaller gradients. If this number is reached without
meeting the gradient threshold, the conformation is discarded and the Unconverged count is increased.

Chemical Calculations

447

Compute Menu

Screen update
periodIncrease this value to speed up optimization by
updating the HyperChem workspace less often.
Since HyperChem takes some time to update its
screen during optimizations, setting this to values
greater than one can often speed up optimization
significantly, particularly for relatively small molecules with molecular mechanics.

OK

Close the dialog box, accepting the changes made.

CancelClose the dialog box without accepting thechanges made.

Random Number Seed Dialog Box
Use this dialog box to specify a seed for the pseudo-random number generator for new searches. Numbers from the pseudo-random
number generator are used to determine how many torsions tovary, how much to vary each of those torsions and for acceptancetesting with the Metropolis criterion. For resumed searches, theprevious pseudo random number is used.
Random Number This is used to specify the seed for the pseudo ranSeed
dom number generator for new searches.

448

Chapter 7

From the computer's clock

Check this to use a number from the computer's clock. This will effectively use a different seed every time.

The number

Check this and type the number that you
wish to use if you want to be able torepeat a search.

OK

Close the dialog box, accepting the changes made.

CancelClose the dialog box without accepting thechanges made.

Compute Menu

Limits For Search Dialog Box
Use this dialog box to specify termination conditions for the
search or an upper limit on the number of conformations to keep.
Termination

This is used to specify when the search should terminate on its own.

iterations

The value that you type here specifies the
maximum number of times that initialstructures can be chosen and varied.

optimizations

The value that you type here specifies the
maximum number of times that optimization will be run.

Conformations

This is used to specify the maximum number ofconformations to keep

conformations

The value that you type here specifies the
maximum number of conformations to
keep. When they are found, lower energy
conformations will replace higher energy
conformations.

OK

Close the dialog box, accepting the changes made.

CancelClose the dialog box without accepting thechanges made.

Files
Conformational Search reads and writes two types of file, its initialization file and Hypercube Conformational Search (HCS) files.

HCCONF.INI File
Conformational Search saves all option settings, previous files andwindow size and position in the file HCCONF.INI in your Windows directory when it is closed. This file is read and the settings
are restored when Conformational Search is started. If the file can-Chemical Calculations

449

Compute Menu

not be found or if there is an error reading it, default settings areused.

HCS Files
The Hypercube Conformational Search (HCS) file format is a text
file that contains all search options (in the same format as in
HCCONF.INI), a HIN description of the system, the chosen torsions, the defined rings and the results of the search including Cartesian coordinates for all conformations that are kept.
This file format is HIN compatible in that HyperChem can read the
HIN sections of these files and ignore the rest of the information
without error. However if HyperChem is used to read such file andthen it is written out again with the same name, all search information will be lost.

Limitations
A search can only be stopped reliably while HyperChem is performing an optimization. Choosing Cancel in Conformational
Search does not stop the optimization in HyperChem.
Conformational search sets up continuous DDE links to HyperChem to send commands, receive data, and monitor for changes
in the molecular system. On slower computers, the monitoring of
the HyperChem system can interfere with drawing atoms andbonds. If you find this to be a problem, create your system before
starting Conformational Search and close Conformational Searchwhen you are no longer using it.

QSAR Properties
Overview
Quantitative Structure-Activity Relationships (QSAR) are attempts
to correlate molecular structure, or properties derived from molecular structure, with a particular kind of chemical or biochemical
activity. The kind of activity is a function of the interest of theuser: QSAR is widely used in pharmaceutical, environmental, andagricultural chemistry in the search for particular properties. The
molecular properties used in the correlations relate as directly as
possible to the key physical or chemical processes taking place inthe target activity.
450

Chapter 7

Compute Menu

QSAR Properties is a module that, together with HyperChem,
allows several properties commonly used in QSAR studies to be calculated. The calculations are empirical, and so, generally, are fast.
You can calculate the following properties using QSAR Properties:•

Atomic partial charges, using the Gasteiger-Marsili method.

•

Van der Waals and solvent-accessible surface areas.

•

Hydration energy (for peptides).

•Van der Waals-surface-bounded molecular volume.

•

Solvent-accessible surface-bounded molecular volume.

•

Log P (the log of the octanol-water partition coefficient), ameasure of hydrophobicity.

•

Molar refractivity.

•

Polarizability.

•

Mass.

The QSAR Properties executable file is HCQSAR.EXE, installed inyour Program directory. Several parameter files are stored in the
LIBRARY subdirectory, namely SASAPAR.TXT, VDWGRID.TXT,
LOGP.TXT, REFRACT.TXT, POLARIZE.TXT, and ATOMMASS.TXT.

Tutorials
The following tutorials demonstrate some ways that you can use
QSAR Properties.

1. Calculating Partial Charges
This lesson shows you how to carry out simple calculations using
QSAR Properties.
1. Draw ethanol (C2H5OH) on the HyperChem screen, and use
Display/Labels to turn on atomic charge labels.
2. Set QSAR Properties running by selecting the Compute/QSAR
Properties menu in HyperChem, and click on the Partial
Charges option.
3. Ensure that the Base on current charges check box isunchecked.

Chemical Calculations

451

Compute Menu

4. Press the Compute button, or press the Enter key, to set the calculation going. The status line gives information concerning
the progress of the calculation, and the charges are updated on
the screen at the end of the calculation. Note that oxygen is
assigned a substantial negative charge (-0.39) and that thischarge has been drawn almost equally from the hydroxylhydrogen atom and the ethyl group.
Note: You do not have to display the charges in order to do thiscalculation: the display was included in this exercise for pedagogical purposes only.

2. Calculating Log P
This lesson shows how you can choose how to see the results ofyour calculations, and save them for later reference.
1. Draw butan-1-ol (CH3CH2CH2CH2OH) on the HyperChem
screen, and launch QSAR Properties, if you have not alreadydone so.
2. Press the Log P button to select that property.
3. Choose Output Options… under the Output menu, and checkthe Results Window and Atomic Contributions check boxes.
Then press OK to save these options.
4. Press the Compute button in the QSAR Properties main window to set the calculation going.
5. The net result appears on the QSAR Properties status line (logP = 0.94). The Results Window appears and contains the contribution to this value from each atom in the system, in addition to the net result. If you wish to save this information forlater use, you can do so using the menus on the Results Window. The experimental log P for butan-1-ol is 0.88.

3. Calculating Surface Areas
This lesson introduces you to the Options dialog box and to thetwo different methods of calculating surface areas.
1. Draw benzene on the HyperChem screen.
2. In the QSAR window, select the Surface Area (Approx.) property.

452

Chapter 7

Compute Menu

3. Select Calculation Options under the Options menu. In the Calculations Options dialog box, select the Van der Waals Surface
Area option, and click on OK to save this choice.
4. Press the Compute button of the QSAR Properties main window to set the calculation going. The surface area of benzene
is calculated.
5. Compare the result to the Surface Area (Grid) option, which isslower but more accurate. Note that the approximate surface
area calculation does not evaluate hydrogen atoms attached tocarbon atoms explicitly.

Background
This section provides background on the methods used to calculate properties in QSAR Properties.

Partial Charges
QSAR Properties uses an empirical model based on the Partial
Equalization of Orbital Electronegativity (PEOE) approach of
Gasteiger and Marsili [J. Gasteiger and M. Marsili, Tetrahedron, 36,
3219-3288 (1980)]. It computes charges on the system in theHyperChem workspace, or selected part thereof, for use withmolecular mechanics force fields or in QSAR studies. The calculation is very much faster than a semi-empirical computation.

Limitations
The PEOE scheme of Gasteiger and Marsili is implemented, but
their modifications for conjugated systems and small rings havenot been incorporated into the module. All unparameterizedatoms act as "walls": no charge is transferred to or from them during the course of the calculation.
Electronegativity is an empirical concept that has been closely
related to atomic charges and bond polarity in a qualitative manner over many years. According to the electronegativity model,
electronic (negative) charge flows from less electronegative atoms
to more electronegative atoms. The electronegativity of an atom
decreases as it accumulates negative charge, and thus the electronegativity of each atom will equalize, stopping charge flow at a
certain point, which corresponds to the observed charge distribution. Gasteiger and Marsili incorporated these basic ideas into a

Chemical Calculations

453

Compute Menu

quantitative model for predicting "atomic charges" or "partial
charges" of atoms in molecules.
If the electronegativity model is implemented in a complete manner, a clearly non-physical result is obtained. All electronegativities of atoms in the system would be identical, and so all atoms ofa given type would have equal charges. A hydrogen atom bonded
to oxygen will have the same charge as a hydrogen atom bonded
to carbon. Gasteiger and Marsili limited the charge flow by constructing a "Partial Equalization of Orbital Electronegativity"(PEOE) scheme. The term "Orbital Electronegativity" is used toindicate that atoms are parameterized not only according to element, but also, in important cases, according to hybridization as
inferred from the number of neighbors.
The computation of partial charges by the PEOE method is iterative. One starts with an initial set of charges, generally all zero fora neutral system (N.B., the results depend on the starting distribution of charge). Each atom has an electronegativity that depends
quadratically on the charge:χ
2
i = Ai+ Bi · Qi + Ci · Qi

The initial charge is zero, so the initial electronegativity is Ai. The
values of Ai, Bi, and Ci for each element (in its hybridization state)
are the required parameters for the method.
The next step is to shift the charge from less electronegative atoms
to more electronegative atoms. The general formula for the transfer of charge to atom i in the nth iteration isi1
q n = ----n- ⋅
2

1

n

n

1

n

n

- ( χ j – χ i ) + ∑ ------( χk – χ i )∑ -----+
+
j

χi

k χk

where j runs over atoms bonded to i that are more electronegative
than i, and k runs over atoms bonded to i that are less electroneg454

Chapter 7

Compute Menu

ative than i. χ+ refers to the electronegativity of the atom with acharge of +1. This slightly unsymmetrical expression ensures thatcharge transfer is balanced.
The electronegativity is prevented from completely equalizing by
the damping factor (½)n, and this imposes the result that atoms
are more sensitive to their immediate neighbors than to the effects
of more distant neighbors; which only exert effects during later
iterations.
One feature of the method is that it depends only on the moleculargraph: elements and their connectivity. Geometry is irrelevant.
This is useful in some circumstances, in that it avoids building abias into atomic charges that may come from semi-empirical calculations at a particular geometry. It does, however, make themethod insensitive to conformational changes.

Surface Area (Approx.)
Computation of van der Waals and solvent-accessible surface areas
are carried out by an approximate method due to Still and coworkers [W. Hasel, T. F. Hendrickson, W. C. Still, Tet. Comput. Meth., 1,
103-116 (1988), W. C. Still, A. Tempczyk, R. C. Hawley,
T. Hendrickson, J. Am. Chem. Soc., 112, 6127-6129 (1990)]. The
solvent-accessible surface, in particular, is useful in QSAR studies.
The approximate method is fast, and generally accurate to within
10 per cent for a given set of atomic radii. Very compact structures
may have greater errors than this.
The calculation employs atomic radii as given in the paper developing the method, and stored in the parameter file SASAPAR.TXT
in the LIBRARY subdirectory. Hydrogens attached to carbon atoms
are not considered explicitly, but are included implicitly with theircarbon atom.

Surface Area (Grid)
The grid calculation of (solvent-accessible or Van der Waals) surface area is much slower than the approximate calculation, but ismore accurate for a given set of atomic radii. It is recommended
that this method be used as a benchmark for the approximate surface area calculation. The grid method used is that described by
Bodor et al. [N. Bodor, Z. Gabanyi, C. Wong, J. Am. Chem. Soc.,
111, 3783 (1989)], using the atomic radii of Gavezotti[A. Gavezotti, J. Am. Chem. Soc., 10, 5220 (1983)]. These radii are
Chemical Calculations

455

Compute Menu

stored in the VDWGRID.TXT parameter file in the LIBRARY directory.

VolumeThis calculation is very similar to the Surface Area (Grid) calculation. It employs a grid method described by Bodor et al. The speed
is similar to that of the Surface Area (Grid) calculation. The volume calculation employs the same VDWGRID.TXT parameter fileas the Grid Surface Area calculation.

Hydration Energy
The hydration energy is a key factor determining the stability ofdifferent molecular conformations. The method employed here isdesigned for peptides and proteins, and is that described by the
research group of Scheraga [T. Ooi, M. Oobatake, G. Nemethy,
H. A. Scheraga, Proc. Natl. Acad. Sci. USA, 84, 3086 (1987)]. The
calculation is based on exposed surface area, and employs the surface area as computed by the approximate method (above),weighted by atom type. Parameters here are limited.

Log P
Calculation of Log P is carried out using atomic parameters derived
by Ghose, Pritchett and Crippen [J. Comp. Chem., 9, 80 (1988)] andlater extended by Ghose and coworkers [V. N. Viswanadhan,
A. K. Ghose, G. N. Revankar, R. K. Robins, J. Chem. Inf. Comput.
Sci., 29, 163 (1989)].
The parameters are stored in the file LOGP.TXT in your LIBRARY
directory. The following graph gives an indication of the accuracyof the method.

456

Chapter 7

ChemPlus

Compute Menu

-2

-1

Hydrophobicity of Organic Molecules
4
3.5
3
2.5
2
1.5
1
0.5
0
1
2
3
4
-0.5 0-1
Experimental Log P

5

Refractivity
The refractivity is estimated by the same method as Log P (above).
Ghose and Crippen presented atomic contributions to the refractivity in exactly the same manner as to the hydrophobicity.
[A. K. Ghose and G. M. Crippen, J. Chem. Inf. Comput. Sci., 27, 21(1987), V. N. Viswanadhan, A. K. Ghose, G. N. Revankar,
R. K. Robins, J. Chem. Inf. Comput. Sci., 29, 163 (1989)]. The
parameters are contained in the file REFRACT.TXT in your
LIBRARY directory.

Refractivity of organic molecules
60.00
ChemPlus

50.00
40.00
30.00
20.00
10.00
0.00
0.00

10.00

20.00

30.00

40.00

50.00

60.00

Observed

Chemical Calculations

457

Compute Menu

Polarizability
The polarizability is estimated from an additivity scheme presented by Miller [K. J. Miller, J. Am. Chem. Soc., 112, 8533 (1990)].
Different increments are associated with different atom types. For
a variety of organic molecules, the estimates are accurate to within
1 to 3 %. However, the method does not distinguish isomers of
any type. The parameters are held in the file POLARIZE.TXT in
your LIBRARY directory.

Polarizabilities of organic molecules

ChemPlus

40
30
20
10
0
0

10

20

30

40

Experimental

Reference
This section describes the main window, menus and dialog boxes
in QSAR Properties. The DDE commands to which QSAR Properties can respond are described in a separate section.

Main Window
The QSAR Properties main window contains a set of properties thatcan be calculated by the program. To fully specify some of the calculations you also need to set options in the Calculation Options

458

Chapter 7

Compute Menu

dialog box, displayed by selecting the Options/Calculation options
menu item.
More information about the methods used to compute properties
is provided in the Background section. Each calculation is carriedout on the selected atoms only, if there is a current selection, oron the whole system if no atoms are selected. The following properties are available, and can be selected by checking the appropriate box in the main window:

Partial Charges

Computes the atomic charges on the atoms in thesystem using the Gasteiger-Marsili Partial Equalization of Orbital Electronegativity method. This isparameterized for the elements C, H, N, O, S andthe halogens, although less reliable parameters areprovided for other elements.

Base on current
charges

Use this option for calculating charges forions or for influencing the charge calculation. The starting charges for the calculations will be those currently in the system,
rather than zero.

Surface Area
(Approx.)

Use this for a rapid calculation of the surface area ofa system using an analytical method . The type of
surface (van der Waals or solvent-accessible) is
specified in the Calculation Options dialog box.
The method is parameterized for organic molecules.

Surface Area
(Grid)

Use this for a slower but more accurate calculationof the surface area of a system using a grid
method. The type of surface (van der Waals or solvent-accessible) and the density of grid points is
specified in the Calculation Options dialog box.
This method is of general applicability.

VolumeUse this to calculate the volume of a system using agrid method. The bounding surface (van der Waals
or solvent-accessible) and the density of grid points
is specified in the Calculation Options dialog box.
This method is of general applicability.

Chemical Calculations

459

Compute Menu

Hydration Energy Use this to calculate the hydration energy of peptides. The calculation is based on the approximate
surface area method. Use on systems other than
peptides will not give meaningful results.
Log P

Use this to calculate the hydrophobicity of a system, as measured by the log of its octanol-waterpartition coefficient. The method is parameterized
for organic systems with a variety of heteroatoms.

Refractivity

Use this to calculate the refractivity of a system.
The method is parameterized for organic systems
with a variety of heteroatoms.

Polarizability

Use this to calculate the polarizability of a system.
The method is parameterized for organic moleculeswith a variety of heteroatoms.

Mass

Use this to calculate the mass of a system. The
method is of general applicability.

File Menu
Use this menu to read HIN files into QSAR Properties or to get amolecular system from HyperChem.

New
Open…
Get HyperChem

Exit

460

Chapter 7

Use New to clear the data in QSAR Properties.
Use Open to read a HIN file into QSAR Properties.
Use Get HyperChem to read the current HyperChem system into the module, and sets the Compute HyperChem System flag (set manually under
the Options menu) to Off. Subsequent calculations will be carried out on the system you haveread in until you read in a new system or set theCompute HyperChem System flag to Off..
Exit closes the QSAR Properties module

Compute Menu

Options Menu
Use this menu to specify options for calculating properties.
Calculation
Options…
Compute HyperChem System

Output To…

Use Calculation Options to display the Calculation
Options dialog box for specifying details of the calculation to be carried out.
If Compute HyperChem System is checked, thenwhen the Compute button on the main window ifpressed to start a calculation, QSAR Properties
reads in the current system from HyperChem andcarries out the calculation on that system. If Compute HyperChem System is unchecked, then
QSAR Properties' current system is the one forwhich the calculation is carried out.
Use Output To... to specify the level of detail anddestination of the computed results via the Output
Options dialog box.

Cancel Menu
Press Cancel to stop a calculation. No results are recorded for that
calculation.

Help Menu
Use this menu to access information about this module.

About QSAR Prop- Brings up the About QSAR Properties dialog box.
erties…

Calculation Options Dialog Box
Use this dialog box to specify particulars of the calculation you areabout to perform. Only options that are appropriate for the current property type are active.
Surface Options

These options apply to both the Approximate andGrid-based surface calculations.

Chemical Calculations

461

Compute Menu

Van der Waals
SurfaceChoose this option to calculate theexposed Van der Waals surface area of themolecule.

Solvent Accessible Surface

Choose this option to calculate the solvent-accessible surface area of the molecule, with a solvent radius as specified
below.

Solvent Probe
RadiusFor Solvent-Accessible Surface Area calculations, specifies the effective radius of thesolvent molecule (in Ångstroms). Generally, a value of 1.4 is used for water.

Three Body Correction

Applies to the Approximate Surface Area andHydration Energy calculations. The Three bodycorrection makes the calculations more sensitive toconformational changes, at the cost of someincrease in computational time.

Points On CubeSide

Applies to the Grid calculations of Surface Areas
and Volumes. Specifies how many points to use oneach side of a cube for the grid. Generally, 20 isadequate for an accuracy of 2 or 3 per cent.

OK

Pressing OK saves the selected options and dismisses the dialog box.

CancelPressing Cancel dismisses the dialog box without
saving the altered options.

Output Options Dialog Box
Use this dialog box to specify the destination and level of detail ofthe results of QSAR Properties calculations. The Output Options
dialog box contains the following options:HyperChem Status Line

462

Chapter 7

Select this option to display the system result on
the HyperChem status line.

Compute Menu
Message Box
Atom Charge
LabelsSelect this option to display a message box withthe system result in it.
Select this option to replace the current atom
charges with the atomic contributions to the system property.

Note: Use the above option with care. If you choose this option
you will lose the current charges in your HyperChem system andreplace them with numbers that are not atomic charges.
Results Window

Select this option to place results in a results window, from where they can be saved to a file if
desired.
Atomic Contribu- Sends more detailed results to the Results Window,
tions
where applicable.
Checking this option to display a warning message
Show Warning
Messageswhen QSAR Properties lacks a parameter for an
atom in a calculation. You may wish to uncheckthis option when carrying out batch calculations,to avoid stopping the sequence of calculations.
Press OK to save the selected options and dismissOKthe dialog box.
Press Cancel to dismiss the dialog box without savCancel
ing any changes to the options.

Results Window Dialog Box
The Results Window dialog box collects the results of your calculations in a text window. The maximum amount of data that canbe stored in this Window is about 32,000 characters: once thislimit is reached the beginning of the contents "scrolls off" theWindow. The Results Window has some menu items of its own toallow you to save the data to a file for later reference or to cut andpaste to or from the clipboard. These are common Windows menu
commands, and operate in the same manner as the described in
the Introduction.

About QSAR Properties Dialog Box
Provides version and copyright information about QSAR Properties.

Chemical Calculations

463

Compute Menu

Batch Calculations Using DDE
QSAR studies are typically carried out on a set of molecules, andyou can carry out batch calculations on a set of molecules stored
in HIN files using QSAR Properties. These batch calculations arecontrolled by an external program or macro.
Like HyperChem, QSAR Properties does not provide a programming language for you to learn, but instead responds to a set ofcommands through the Microsoft Windows "Dynamic Data
Exchange" mechanism. This means that you can write your batch
control program from any other Windows application that has an
appropriate language, whether that be a full program or a macrofrom within another application. Instead of having a single control language you can use any macro language or programming
language that supports DDE.
A typical application would be to run a batch QSAR Properties calculation from a spreadsheet. The results are then fed straight backinto the spreadsheet for analysis, without manual intervention.

QSAR Properties As DDE Server
Like certain other modules of HyperChem, QSAR Properties interacts with core HyperChem as a Dynamic Data Exchange (DDE) client: it sends commands to HyperChem and makes requests of it,
and HyperChem (the "server") follows the instructions.
QSAR Properties can also act as a DDE server, which means thatyou can send instructions to it from another program or from, say,a spreadsheet macro, and QSAR Properties will follow those
instructions. This ability has been built into QSAR Properties toallow calculations on sets of molecules to be carried out in a"batch" model. The specifics of how to send DDE messages to aserver depend on the particular program you are using.
Note that QSAR Properties cannot act as a DDE client (interactingwith HyperChem) and a DDE server simultaneously.

Starting A DDE Conversation
Before any DDE commands and requests can be sent to an application, a conversation must be started. This step may also becalled "opening a channel to the application" or "opening a linkwith the application." The particular command that you send toopen a DDE conversation depends on the macro or programming
464

Chapter 7

Compute Menu

language you are using, but necessarily requires an application
name, and a topic.
Each DDE server has an application name, and supports one ormore topics. For QSAR Properties, all DDE channels must be
opened to "HCQSAR", and the topic of the conversation must be"System", which is a common name in the case that an application
supports a single topic.
If opening a DDE conversation from a Microsoft Excel macro, theappropriate command is=Initiate("HCQSAR","System")

while to open a DDE conversation from a Microsoft Visual Basic
program between a control on a Visual Basic form ("Text1", say)and QSAR Properties the command is:
Text1.LinkTopic = "HCQSAR|System"

DDE Message Syntax
QSAR properties can interpret a small number of DDE messages.
These messages may be commands, telling QSAR Properties tocarry out an action, or a request, asking QSAR Properties to provide
some information.
Each message must be sent as a single string to HyperChem, andthe string must be enclosed in square brackets. The following tabledetails the specific messages understood by QSAR Properties, andexamples follow.

Messageqsar-option threebody

Type(boolean)R/WW

qsar-option current- (boolean)chargesW

qsar-option solvent- (real)radiusW

Use
Include the three body terms
in approximate surface area
calculations.
Use the current HyperChem
charges as a starting point forpartial charges calculations.
Set the solvent radius to a real
number (default is 1.4 Å).

Chemical Calculations

465

Compute Menu
qsar-option van-der- (boolean)waals-surfaceWqsar-option pointson-side(even integer)Wqsar-property(partial-charges, W
approximate-surface-area, gridsurface-area, volume, hydrationenergy, logp,
refractivity,
polarizability,mass)

do-calculation

open-file

filename

QSARResult

R

Choose the van der Waals surface for surface area and volume calculations. Setting tofalse uses a solvent-accessible
radius.
Set the density of points in thegrid for grid-based surface
area and volume calculations.
Set the current property to be
calculated to the argument.

Carries out a calculation using
the current property andoptions.
opens a HIN file for carryingout calculations, and sets the"Compute HyperChem System" flag to off.
Requesting this variable gives
the result of the most recent
calculation.

Boolean options can be indicated by Yes/No, or True/False (caseinsensitive).

ExampleTo see how these commands can be put together to make a simple
macro that carries out a set of calculations on named HIN files, we
present an example. The following is an Excel macro.

Line
Names
number1
Ctrl-R
Channel23466

Chapter 7

Excel command
Compute.LogP=INITIATE("HCQSAR","System")=EXECUTE(Channel,"[qsar-property logp]")

Compute Menu

4
5
6
7
8
9
10
11
12

=WHILE(NOT(ISBLANK(SELECTION())))=EXECUTE(Channel,"[open-file &SELECTION() &".hin]")vlResult =EXECUTE(Channel,"[do-calculation]")vlResult=REQUEST(Channel,"QSARResult")=FORMULA(vlResult,"rc[1]")=SELECT("r[1]c")=NEXT()=TERMINATE(Channel)=RETURN()

The "Line Numbers" column is not part of the macro, but is
included to make the discussion more straightforward.
In order to run this macro you need two things. First, HCQSAR
must be running. Second, you need a worksheet with a set of HIN
filenames in a column, and the cell containing the first file nameselected.
Line 1 presents the name of the macro and a shortcut key forinvoking it; items specific to Excel.
The macro starts off by opening a link to HCQSAR (line 2), with
topic "System" as described above. From here to the TERMINATE
statement on line 11, the macro is talking to QSAR Properties.
Line 3 tells HCQSAR to set the property to be calculated to log P.
Note the square brackets surrounding the message, and the double
quotes, which delimit a string in Excel's macro language.
Lines 4 and 10 provide a loop wherein the active cell in the spreadsheet moves down a column one at a time until a blank line isreached, whereupon the loop is finished. The move down is done
explicitly in Line 9.
Lines 5 to 8, inclusive, are the instructions sent to QSAR Properties
for each HIN file named in the column. Line 5 opens the file.
SELECTION() contains the text in the currently selected cell. The"&" characters concatenate the string, so if the text in the Excel cellis "Sample" then the string sent to QSAR Properties is "[open-file
Sample.hin]". You should note that in this line, either the Excel
current directory should be where the files are, or you may need to
add a path description to the file name so that QSAR can find it.
Line 6 tells QSAR Properties to carry out a calculation (i.e., itpresses the Compute button). Line 7 obtains the result of the cal-Chemical Calculations

467

Compute Menu

culation from QSAR Properties, and stores it as a variable (vlResult), which is placed in the cell to the right (one column over) ofthat containing the file name by Line 8.

Hints
Drawing Heterocyclic Rings For Log P Calculations
Several of the methods included in QSAR Properties are based on
the idea of type of atoms: different types are distinguished by theircoordination and neighbors. In particular, the Log P and Refractivity methods include a wide range of atom types, to provide flexibility in different environments.
The type assigned to an atom by QSAR Properties depends on theway the bonding in a molecule is drawn in HyperChem. In mostcases there is but a single way of drawing bond orders that is consistent with the rules of valence, but in some cases there are alternatives, and drawing molecules different ways can lead to significantly different answers. For instance, many heterocyclic rings
can be depicted in alternative ways, using a localized or a delocalized depiction of the bonding. For instance, pyrrole can bedepicted in either of the following two ways:

N

N

For Log P and refractivity calculations, the general rule is that such
structures should be drawn in a delocalized manner. Pyrrole, forinstance, should be drawn with an aromatic ring as on the rightrather than two localized double bonds as on the left.

468

Chapter 7

CancelCancel
You can choose Cancel on the menu bar or press [Esc] when HyperChem is directing a chemical calculation or when it is reading in a
structure from a file. When you L-click on Cancel, there might bea short delay before the process ends and HyperChem is fully
active again.
During a calculation or reading a file, all menu items are gray andinactive except for Cancel. You can use only the HyperChem toolicons to translate or rotate molecules, to zoom, or to adjust theclipping slab.

Chemical Calculations469

Cancel

470

Chapter 7

Drawing Molecules

Chapter 9Constructing Molecules
HyperChem provides a number of methods for constructing newmolecules:•

The Drawing tool sketches molecules from individual atoms.
Use this tool to position atoms, choose elements, and connect
atoms by covalent bonds. The HyperChem Model Builder canthen convert these drawings into 3D molecular structures.

•

HyperChem provides databases of residues for constructing
proteins, polynucleotides (including RNA and DNA), andequilibrated water environments.

•

A crystal builder will help you construct crystalline molecularsystems.

•

A sugar builder will help you construct polysaccharides.

•

A polymer builder will help you construct polymeric systems
from monomers you specify along with rules for for joining
them together.

Chapter 6 described the last three specific builders. Here we focus
on the first two methods. You can also use molecular structuresfrom other sources, stored in files. For example, HyperChem interprets and displays PDB files (see page 503) that contain detailed
structures of proteins and nucleic acids.

Drawing Molecules
Using the HyperChem Drawing tool (the first tool on the toolbar),
you can sketch the atoms in a molecule, connecting them withcovalent bonds. You can then use HyperChem’s Model Builder toConstructing Molecules471

Drawing Molecules

convert a 2D drawing into a 3D model, with realistic bond lengths,
bond angles, and torsion angles.
To draw a new molecule, you can either start with an empty workspace or add the new molecules to a molecular system already inthe workspace.

Adding Atoms and Bonds

drawing tool icon

drawing tool

To draw a molecule:
1. Choose Default Element on the Build menu. In the Element
Table dialog box (see page 121), L-click on the element for
drawing. For example, you can start to draw with carbon
atoms, then change to another element when needed.
2. From the Element Table dialog box, turn on Allow Arbitrary
Valence (✓) if you need to add more than the normal numberof bonds to an atom. You can add up to twelve bonds per atom.
Turn on Explicit hydrogens (✓) if you want to add hydrogenatoms while drawing. If not, HyperChem can automatically
add hydrogens later, when you use the Model Builder.
3. L-click on the Drawing icon and move the Drawing tool into
the workspace.

472

Chapter 9

Drawing Molecules

4. To create individual atoms, L-click anywhere in the workspace.
5. To remove an atom, R-click near the atom.
6. To create two singly bonded atoms, L-drag, then release themouse button.
7. To add another bond and atom, L-click near any atom, L-drag,and release the mouse button.
8. While adding atoms, change the default element as needed.
You can also change the element after adding an atom (see“After Drawing” on page 475).
9. To specify the chirality or local conformation of an atom,[Shift]+L-click on one of its bonds (see “Using Wedges to Display
and Specify Stereobonds” on page 482). You can also
[Shift]+L-click on an atom to change the chirality of that atom
after model building (see “Changing Chirality” on page 485).
Note: The maximum number of atoms that you can add is 32,767
less the number of molecules and residues., structural restraints,
etc.

Removing Atoms
To remove atoms and bonds:
1. L-click on the Drawing tool icon to activate the tool.
2. Position the Drawing tool on a bond or atom that you want toremove.
3. R-click on an atom. This removes the atom and its bonds toother atoms. If you R-click on a single bond, HyperChem
removes the bond and any atoms connected only through thisbond.

Changing the Drawing Element
Normally, the Drawing tool places only heavy (nonhydrogen)atoms in a molecule. You choose the heavy atom (from helium
through lawrencium) from the Element Table dialog box. Your
choice is the default element. To see the Element Table dialog box,
double-click on the Drawing icon or choose Default Element on the
Build menu.

Constructing Molecules473

Drawing Molecules

Caution: You can use any elements from the periodic table fordrawing. However, the Model Builder (see page 124) might notprovide appropriate bond lengths or angles for all atoms.

While Drawing
You can change the default element any time while drawing bychanging the choice in the Element Table dialog box:
To change the default element:
1. Double-click on the Drawing icon, choose a new element fromthe Element Table dialog box.
2. Move the Drawing tool into the workspace and continue drawing. The next atoms you add are the new default element.
Note: Single clicking on an element in the Element Table dialog
box will change the default element and leave the dialog box
open. Double clicking on an element will change the default element and dismiss the dialog box. Shift-clicking on an element willbring up the Element Properties display for that element. Clicking
on the Properties button will display the properties of the default
element.

474

Chapter 9

Drawing Molecules

After Drawing
To change an element after drawing a molecule:
1. From the Element Table dialog box, choose a different element. For example, if you drew your molecule with carbon as
the default element and you want to change a carbon to anoxygen, click on oxygen in the dialog box.
2. With the Drawing tool, L-click on the atom to change. The
atom changes to the new default element.
Note: You can change atoms in 2D drawings or, after using theModel Builder, in 3D structures.

Element Properties
If you shift-click on an element button in the Element Table dialog
box, the Element Properties box will appear. This shows physicalproperties of the element that you selected. Alternately, if you clickon the Properties button of the Default Element dialog box, theproperties of the default element will be displayed.

This does not change the default drawing element.

Changing the Bond Order
HyperChem first draws single, covalent bonds. Using the Drawing
tool, you can change these bonds to double, triple, or aromaticbonds.
To change the order of individual bonds:•

To create a double bond, L-click on any single bond with the
Drawing tool.

Constructing Molecules475

Drawing Molecules•

To create a triple bond, L-click on a double bond.

•

To create a conjugated bond, double-click on any bond.

•

To create an aromatic ring, double-click on any bond in the
ring.

•

To decrease the order of any bond (conjugated to single;
triple to double; double to single), R-click on it.

•

To remove a single bond and any atom connected only
through that bond, R-click on the bond.

To change bonds by using your mouse:
L-click

R-click
no bondsingle bonddouble bond
triple bond

any
bond

double-click

conjugatedbond
singlebond

R-click

Note: You can change the order of bonds in 2D drawings or, afterusing the Model Builder, in 3D structures.
If Show Multiple Bonds on the Display menu is on (✓), you see theorder of the bonds in the molecular structure as single, double, triple, or dotted lines (possibly aromatic circles). If Show Multiple
Bonds is off, all bonds appear as single lines. If you change thebond order, the new bond order appears on the status line.

476

Chapter 9

Drawing Molecules

Aromatic Rings
An aromatic ring is created by double clicking on the bond of aring. The default is to display this ring with aromatic bonds thatare rendered with a dotted line as shown below.

The alternative is to use the menu item, Show Aromatic Rings as Circles, to display aromatic rings in a way that may be more pleasing
for printing or other situations. Either rendering can be used interchangeably.

Alternative Drawing Mode
The menu item, Constrain Lengths and Angles, when checked willallow you to draw regular structures with equal bond lengths andangles.
In most situations, a 2D molecule drawing is simply a way to indicate connections to the model builder which will then give you a
Constructing Molecules477

Drawing Molecules

3D structure. In this case, is is easier to draw without this constraint. The default is to not have this menu item checked and to
draw without regard to the “aesthetic beauty” of the drawing. In
this case a six-membered ring might be drawn and look as follows:

In situations where you want to have a 2D drawing for printing orother purposes, you can set the constraints on drawing and createa regular hexagon,

Submitting either of these to the model builder will create exactly
the same 3D structure. You can create 2D structures mixing thetwo modes if you prefer.

Adding Hydrogen Atoms
You can draw hydrogen atoms or let HyperChem do this for you.
To add hydrogens during drawing, turn on Explicit Hydrogens in
the Element Table dialog box (✓) or on the Build menu (✓). As you
use the Drawing tool, the first two atoms appear, as hydrogens.
When you add a third atom, the second atom changes to thedefault element. The Drawing tool, with Explicit Hydrogens on, follows this simple rule: singly bonded atoms appear as hydrogens;multiply bonded atoms appear as the default element.

478

Chapter 9

Drawing Molecules

With Explicit Hydrogens on, Add H & Model Build (on the Build
menu) changes to Model Build. The Model Builder does not automatically add more hydrogens.
Note: To draw a hydrogen with more than one bond, choosehydrogen as the default element and turn on Allow Ions.
If you draw atoms with Explicit Hydrogens on, you can later choose
Add Hydrogens on the Build menu to fill in the hydrogens you did
not add manually.
draw with
Explicit
Hydrogens on

To draw only heavy atoms, use the Drawing tool with Explicit
Hydrogens off. HyperChem automatically adds hydrogens andthen creates a 3D chemical structure when you use the Model
Builder (Add H & Model Build on the Build menu).
draw with
Explicit
Hydrogens off

Cutting and Pasting Atoms
Use Cut, Paste, and Copy on the Edit menu to move or duplicate
atoms (see “Build Menu” on page 117). You can move atoms
within a HyperChem window or between different HyperChem
windows.

Cut
Cut moves the selected atoms from the workspace to the Clipboard, replacing previous contents of the Clipboard. You can thenuse Paste to copy the atoms back to the workspace.

Constructing Molecules479

Drawing Molecules

Cutselected atoms(appear in Thick line)

Note: Cut removes selected atoms and all bonds connecting theseatoms to each other and to the rest of the molecular system.

Copy
Copy places a duplicate of selected atoms onto the Clipboard,
replacing the previous contents of the Clipboard. You can use Paste
to copy the atoms back to the workspace.
Note: Copy duplicates selected atoms and the bonds connecting
these atoms. It does not remember the bonds between this selection and the rest of the molecular system.

Paste
Paste copies the contents of the Clipboard to the workspace. The
atoms from the Clipboard appear a few Ångstroms away from thecenter of mass of the molecular system previously in the workspace.

480

Chapter 9

Changing Molecular Conformation

Paste

Paste
again

selected atoms
appear inThick lines

Note: Paste is not the exact reverse of Cut. Cut removes selected
atoms and all bonds connecting these atoms to each other and tothe molecular system. Paste provides only the atoms and thebonds connecting these atoms to each other.

Allowing Arbitrary Valence
The menu item, Allow Arbitrary Valence, is particularly useful for
beginning chemistry students. When this menu item isunchecked, HyperChem will complain if drawings are made thatgive Oxygen a valence greater than 2. Nitrogen a valence greaterthan 3, Carbon a valence greater than 4, etc. An exception to thisis made if the atom has a formal charge.
If the menu item is checked, then the valence can be anything up
to a limit of 12 bonds per atom. This is necessary when drawing
certain systems with dative bonds or other unusual bonding connections.

Changing Molecular Conformation
HyperChem provides several ways of changing the conformationof a molecule, either before or after using the Model Builder:•

The Set items on the Edit menu (see “Build Menu” on page117) change a selected bond length, bond angle, or torsion
angle (see “Selecting” on page 32). These changes are immedi-

Constructing Molecules481

Changing Molecular Conformation

ate when you L-click on OK. The Model Builder or a geometry
optimization calculation might change these adjustments.
•

The Constraints items on the Build menu (see “Build Menu” onpage 117) provide instructions to the Model Builder to produce
these configurations. The Model Builder adds these constraints
to its list of rules as it constructs a 3D structure.

•

The Restraints options for molecular mechanics calculations(see “Restraint Forces Dialog Box” on page 340) limit the conformation of selected atoms during a molecular mechanics calculation.

•

The Drawing Tool can be used to turn bonds into dashed orsolid wedges (for “bond down” or “bond up”) by [Shift]+L-clicking on them. The Model Builder uses these wedges to help it
determine positions for atoms (see “Using Wedges to Display
and Specify Stereobonds” on page 482).

•

The Drawing tool can also be used to change chirality of atoms
after model building by [Shift]+L-clicking on them.

•Invert and Reflect on the Edit menu can transform a molecule
or a set of atoms.

Using Wedges to Display and Specify Stereobonds
The stereochemistry feature of HyperChem lets you display bonds
as wedges. Wedges always correspond to stereochemistry builder
constraints used to enforce a specific arrangement of neighbors
about a center when the Model Builder is invoked. However,wedges can be used for purely visual purposes as well. Wedges
serve two functions:•

To provide you with 3D depth perspective information aboutbonding arrangements.

•

To allow you to assign builder constraints so that you can build
the structure with a specified stereochemistry or conformation.

In the first case you can simply display the wedges to show the current stereochemical bonding relationships. You do not modify the
structure.
In the second case you use the wedges to assign a constraint, andyou invoke the Model Builder to build (or rebuild) the structure

482

Chapter 9

Changing Molecular Conformation

with the assigned stereochemistry or conformation. An exclamation mark is shown on a wedge when the current conformation isdifferent than the restraint that you have specified with the wedge.
To use wedges:
1. Choose Rendering on the Display menu to open the Rendering
dialog box. Choose Sticks and check Wedges, then L-click on
OK.
2. L-click on the Drawing tool icon to get into Drawing mode.
3. Place the Drawing Tool over a bond between two atoms eachwith at least three neighbors, hold down the [Shift] key, and Lclick.
If one of the atoms has two or less neighbors only two types ofwedges are possible. If both bonded atoms have two or lessneighbors, wedges cannot be used on that bond.
4. Continue [Shift]+L-clicking to cycle through the four possible
wedges.

out

in

out

in

As you cycle through the wedges, notice that at least two haveexclamation marks. At this point if you want to change the stereochemistry to correspond with the wedge, you must invoke
the Model Builder. Otherwise, if you’re satisfied with the stereo-chemistry of the bond, cycle to either of the two wedges
that appear without exclamation marks; these refer to the current stereochemistry. (If your system is planar, all wedges will
be shown with exclamation marks.)
5. Double-click on the Select Tool icon to invoke the modelbuilder. Notice that any exclamation marks have disappeared
because the restraints have now been satisfied by the Model
Builder.
If you rotate the molecule, the dashed wedges become solid
wedges and vice versa. Their appearance changes according totheir orientation with respect to the viewer (the plane of the workspace).
Constructing Molecules483

Changing Molecular Conformation

Wedges Explained
HyperChem displays two types of stereochemistry wedges: solidand dashed. A stereo wedge, which is drawn between two atoms
instead of the normal rendering of a bond, specifies a stereochemistry builder constraint describing the arrangement of neighbors
about one of the atoms. In every case, the atom at the “point” of
the wedge is the atom whose stereochemistry is being specified.
Thus the wedge

AB

specifies the stereochemistry about atom A. It does not describe
the arrangement of neighbors about atom B. This would be
expressed by some other wedge whose point was at atom B. If awedge (either solid or dashed) is displayed with an exclamation
mark “!”, the stereochemistry constraint is not currently satisfied.
It will be satisfied after invoking the model builder.
Solid wedges mean “bond up” (out of the screen), while dashedwedges mean “bond down” (behind the screen).

For Atoms with Four Neighbors
Start by looking at the central atom and its four neighbors as displayed on screen (these five atoms are displayed in the plane of thescreen). If one of the bonds is a solid wedge with its point at thecentral atom, imagine that•the central atom is in the plane of the screen,•

the wedge neighbor is coming out of the screen, and•the three other (nonwedge) neighbors are back, behind thescreen.

This imagined arrangement specifies the stereochemistry. Remember, if the wedge is annotated with an “!”, the constraint is not currently satisfied (perhaps because the current geometry is planar).
Of course, for a dashed wedge, you must imagine that the wedge
bond points back behind the screen, while the others point out of
the screen (toward you).

484

Chapter 9

Changing Molecular Conformation

For Atoms with Three Neighbors
Once again, start with the planar screen coordinates displayed forthe central atom and its three neighbors. In this case of only threeneighbors, there is some yet-to-be-provided fourth neighbor—probably a hydrogen, or a lone pair in the case of a central nitrogen. To visualize the meaning of a wedge with its point directed at
this central atom, imagine that this missing fourth neighbor has
exactly the same screen position as the wedge neighbor. That is,
this missing atom is directly in front of or directly behind thewedge neighbor. Now, there are four neighbors, including one thatis imaginary. Apply the procedure in the previous section for fourneighbors.

Changing Chirality
HyperChem can interactively change the chirality of an atom if
two of its neighbors can be freely swapped.
To interactively change chirality:
1. L-click on the Drawing tool icon to get into Drawing mode.
2. Place the Drawing Tool over the atom whose chirality you wish
to change, hold down the [Shift] key, and L-click.
This rotates two of the neighbors around the axis midway between
their bonds to the atom. This rotation will occur even if the center
atom is not chiral. You can check this by using colors or displaying
atom indexes (by selecting Numbers for Atoms in the Labels dialogbox) and noting that neighbors swap when you [Shift]+L-click on
the central atom.
If the neighbors cannot be swapped, with fused rings for instance,
you must use wedges and the model builder to change chirality.
To change chirality using wedges:
1. Choose Rendering on the Display menu to open the Rendering
dialog box. Choose the Sticks property sheet and check Wedges,
then L-click on OK.
2. L-click on the Drawing tool icon to get into Drawing mode.

Constructing Molecules

485Changing Molecular Conformation

3. Place the Drawing Tool over a bond involving the atom whosechirality you wish to change, hold down the [Shift] key, and Lclick until a wedge with an exclamation mark appears.
4. Double-click on the Selection tool to invoke the Model Builder.
The Model Builder will try to preserve any existing chirality ofother centers when you use it.
Both Invert and Reflect on the Edit menu can also be used to change
the chirality of atoms, but you cannot always change atoms independently. Inversion takes place through a selection that youname as POINT and reflection takes place through a selection thatyou call PLANE. You define POINT or PLANE by using Name Selection on the Select menu (see page 237).
To change chirality using Invert or Reflect:
1. Select atoms in a molecular system.
2. Choose Name Selection on the Select menu and name thisselection either POINT or PLANE.
3. Deselect all atoms.
4. Select the atoms to invert or reflect. Without a selection,
HyperChem acts on the whole molecular system.
5. Choose Invert or Reflect on the Edit menu.
POINT selectionchiral atom (S)deselect POINT
and Invert
chiral atom (R)486

Chapter 9

Converting 2D Drawings into 3D Structures

Converting 2D Drawings into 3D Structures
HyperChem’s Model Builder uses predetermined bond lengths,
bond angles, and torsion angles to estimate the 3D structure of amolecular system or of selected atoms.
While building a 3D structure, the Model Builder evaluates thechirality of every atom. You can label chiral centers R or S by using
Labels on the Display menu.
The Model Builder gives you approximate structures. It cannot
anticipate the diversity of all chemical compounds and might produce inaccurate structures for some ring systems, or for compounds containing less common elements. In these cases, use theModel Builder first to construct an approximate structure. Then doa geometry optimization calculation to find a better conformation.

Model Builder

The Model Builder does not add charges (ionic or partial) to molecules. You can add charges to selected atoms by using Set Charge
on the Build menu. Or, you can use a semi-empirical or ab initio
quantum mechanical calculation to determine atomic charges (see“Single Point” on page 360).

Incremental Model Building
The Model Builder works on selected atoms. You can use this feature to Model Build only part of a molecular system. For example,
Constructing Molecules487

Converting 2D Drawings into 3D Structures

you can add a group or a separate molecule to a system that alreadyhas an optimized structure (for example, a molecule after a geometry optimization calculation or a residue from a database) andthen Model Build only the new atoms.
Caution: Select only functional groups or larger units to reduce thepossibility of building stressed or abnormal configurations.

Formal Charge
HyperChem contains the concept of formal charge on an atom.
The formal charge has nothing to do with the total charge on thesystem (affecting the total number of electrons for input to quantum mechanical computations) or the atom charge (the net positive or negative partial charge from residue templates or the output
of quantum mechanical computations). The formal charge affects
only the internal functioning of the model builder plus a minor
visual change in the symbol label.
The formal charge affects the valence or number of Hydrogens themodel builder expects to add when the menu item, Add H andModel Build, acts. For example, an isolated Nitrogen atom submitted to the model builder normally results in NH3 being created.
However, if the Nitrogen is given a formal charge of +1, then themodel builder produces NH4+ with four rather than three hydrogens being added. The basic rule is that a formal charge of +N
increases the valence by N, whereas a formal charge of -N decreases
the valence by N. Thus, HyperChem’s modelbuilder produces
CH5+ and CH3- but not CH3+ (at least not by default).
The formal charge is used to give an initial guess at the Total-Quantum-Charge variable used as input to quantum mechanical calculations but this variable is also available for explicit setting in the
Setup/Options dialog boxes of quantum mechanical calculations.
The formal charge, by default, is zero but can be changed via thefollowing dialog box:

488

Chapter 9

Converting 2D Drawings into 3D Structures

Building Inorganic Structures
The maximum number of neighbors that the Model Builder canhandle is 12. This is particularly useful for building inorganic
structures, such as ferrocene.
To see this modeling capability, try the following exercise:
1. On the Build menu, turn on Allow Arbitrary Valence.
2. Draw the following 2D structure:

Constructing Molecules489

Converting 2D Drawings into 3D Structures

3. Connect all remaining carbon atoms to the central carbon
atom and add two more carbon atoms, as shown in the following illustration:

4. Make sure the two newly added C—C bonds are double bonds.

490

Chapter 9

Converting 2D Drawings into 3D Structures

5. Change the central carbon atom to iron, and change the two
nonring carbons to sulfur atoms. The 2D structure should now
look like this:

6. Double-click on the Selection tool to invoke the Model Builder.
HyperChem builds the following 3D structure:

Constructing Molecules

491

Building Molecules from Residues(If your 3D structure doesn’t appear as shown in the previous illustration, use the Rotation tool to reorient the molecule.)
If you wish to include the hydrogen atoms, you must draw them
onto the rings explicitly before or after you use the Model Builder.
This demonstrates how easily HyperChem can build a moleculewith a highly coordinated metal center.

Building Molecules from Residues
HyperChem provides databases (templates) containing residues
for constructing proteins, polynucleotides, and water environments (solvation). The Databases menu (“Databases Menu” onpage 139) contains items for constructing polypeptides and polynucleotides. Periodic Box on the Setup menu (see “Periodic Box” onpage 335) supplies equilibrated water molecules to fill a periodicbox.
Residues with standard geometries are stored in database files (TPL
files for amino and nucleic acids, and BIN files for water). As you
construct polymers, you can automatically incorporate standard
secondary and tertiary structures, or use your own specifications
for conformations.

492

Chapter 9

Building Molecules from Residues

Proteins and nucleic acids from PDB files are also composed of residues. You can use the methods described in this section to modify
those molecules.
The sequence editor described in Chapter 6 can also be used to create protein structures.

The Databases Menu
Use the items on the Databases menu to construct or modify proteins and nucleic acids.
The first three items, Amino Acids, Make Zwitterion, and Remove
Ionic Ends control the building of proteins. The second group of
items, Nucleic Acids and Add Counter Ions, provide the tools forconstructing polynucleotides, both single and double stranded.
The last item, Mutate, changes a residue in an existing protein or
polynucleotide.
See “Databases Menu” on page 139 and the corresponding dialog
boxes in chapter 3 for more information on using these menu
items.

Proteins
To construct a protein, choose Amino Acids on the Databases
menu. You see the Amino Acids dialog box with choices of residues.

For a definition of each residue in this dialog box, see “Amino
Acids Dialog Box” on page 142.
Constructing Molecules493

Building Molecules from Residues

The Amino Acids dialog box also gives you choices for the secondary conformation of each residue that you add. You can choose
from standard conformations (Alpha or Beta) or devise your own
conformation (Other) with specific torsional angles. You can also
add D-amino acids instead of normal L-amino acids.

Constructing a Protein
Proteins are constructed from the N-terminus to the C-terminus.
To build a new protein, you must start with one of these conditions:•

An empty workspace.

•

A workspace containing proteins with a C-terminal blocking
group or in the zwitterionic form. Both conditions block elongation of the existing proteins and force HyperChem to start a
new polymer.

•

A workspace containing any molecules except unblocked proteins (see above) constructed from a database or from a PDB
file.

To build a new protein:
1. Choose Amino Acids on the Databases menu. You see the
Amino Acids dialog box. You can move this dialog box to one
side of the workspace so that you can watch HyperChem
construct a new polymer. While this dialog box is on screen,
you can use menu items and tools.
2. From the Conformation side of the dialog box, L-click on Alpha,Beta, or Other. L-click on Isomer: D or L. These choices affecteach added amino acid until you make new choices. Once you
add a residue, you cannot use this dialog box to change its conformation.
3. L-click on Ace if you want an N-terminal cap. If not, go tostep 4.
4. L-click on the first amino acid residue.
5. L-click on the rest of the residues. You can get ahead ofHyperChem, but it will catch up with you. Remember tochange the conformation of each amino acid before you choose
it.

494

Chapter 9

Building Molecules from Residues

6. L-click on Nme if you want a C-terminal cap. This cap prevents
you from adding more residues.

Cross-linking with Cyx
HyperChem provides half-cystine residues (Cyx) for disulfide
cross-links. As you construct a polypeptide, place the Cyx residues
in the correct primary sequence. Then use the Drawing tool toform a disulfide bond between the Cyx residues. To adjust thelength of this bond and the conformation of the polypeptide, usea geometry optimization calculation.
optimized disulfide bond(about 2Å)bond drawn to connect CYX
residues (about 11Å)

geometry
optimization

Choosing Conformations
Each amino acid that you add to a polypeptide can have a different
secondary conformation. In this way, the polypeptide can havestretches of alpha-helical structure, beta-pleated sheet structure,and other transitional conformations.
For Other, you can use angles from –180 to +180 degrees. Omega,
the torsion around the peptide bond, is usually close to 180
degrees, or trans.
You can also choose D-amino acids instead of the usual L-isomer.

Creating Zwitterions
At neutral pH, polypeptides exist in solution as zwitterions, with
–NH3+ and –COO– terminal groups. When you construct polypeptides with HyperChem, the ends are incomplete (–N–H and –C–O).
Make Zwitterion on the Databases menu completes the ends(–NH3+ and –COO–).

Constructing Molecules

495Building Molecules from Residues

If the ends of a polypeptide are modified or capped, you cannot
convert it into a zwitterion. If a polypeptide exists as a zwitterion,
you cannot add more amino acid residues to an existing polypeptide or start new polypeptides in the same molecular system.
Use Remove Ionic Ends on the Databases menu to reverse Make
Zwitterion.

Mutating Amino Acids
Use Mutate on the Databases menu to change one amino acid toanother in a polypeptide. The polypeptide must come from the
Databases menu, or a PDB or MOL2 file.
To mutate an amino acid:
1. Choose Residues on the Select menu. This lets the Selection
tool act on whole residues if they are present in a molecularsystem.
2. Select one residue in a protein.
3. Choose Mutate on the Databases menu.
4. From the Mutate dialog box (see “Mutate Dialog Box” on page191), choose a new residue. Then L-click on OK. HyperChem
substitutes the new residue for the selected residue.
To change the conformation of amino acids after they are in a
polypeptide, you must select individual torsional angles (see“Selecting” on page 32) or restrain the torsion to a new angle (see“Restraint Forces Dialog Box” on page 340). Alternatively, you can
use Set Bond Torsion on the Edit menu (see page 220), and calculate
a new optimal geometry (see “Geometry Optimization” on page362).

Adding Unusual Residues
You can add more residues to the Amino Acids dialog box. The
information for a residue comes from a template (TPL) file (see“Residue Template Files” on page 727). Whenever you use a residue in this dialog box or when you open a PDB file, HyperChem
interprets the structure of residues by using information in a TPL
file. See page 739 for how to write a new entry. The new residue
can appear as a choice (a button) in the Amino Acids dialog box.

496

Chapter 9

Building Molecules from Residues

Nucleic Acids
To construct a polynucleotide, choose Nucleic Acids on the Databases menu. You see the Nucleic Acids dialog box with a choice of
nucleic acid residues. For a definition of each residue in this dialog
box, see “Nucleic Acids Dialog Box” on page 159.

The Nucleic Acids dialog box also has choices for the secondary
conformation of each residue that you add. You can choose fromstandard conformations (A, B, or Z) or devise your own conformation with specific torsional angles. You can also change the puckerof the furanose ring in each residue (Sugar Form), and the numberof strands (single or double).
At the start of polymerization, you can choose to begin at the 3′end (Backward), to add nucleotides to the 5′ end, or to begin at the
5′ end (normal direction of biosynthesis).

Constructing a Polynucleotide
To build a new polynucleotide, you must start with one of these
conditions:•

An empty workspace.

•

A workspace containing polynucleotides with a 3′ or a 5′ blocking group (3CAP or 5CAP). Either of these groups block elongation of the existing nucleic acid (depending on the direction ofpolymerization) and force HyperChem to start a new polymer.

Constructing Molecules

497

•

A workspace containing any molecules except unblocked
nucleic acids (see above) constructed from a database or froma PDB file.

To build a new polynucleotide:
1. Choose Nucleic Acids on the Databases menu. You see the
Nucleic Acids dialog box. You can move this dialog box to aside of the workspace to watch HyperChem construct the newpolymer. While this dialog box is on screen, you can use anymenu items or tools.
2. Choose the direction of polymerization before you begin amolecule: L-click on Backward (✕) to begin from the 3′ end. No
check mark means that HyperChem starts at the 5′ end. If youchange the direction of polymerization after you start a molecule, HyperChem begins a new molecule.
3. From the Conformation side of this dialog box, you can makethese choices for each residue before you add it:•

A Form, B Form, Z Form, or Other.

•HyperChem automatically chooses 3′ Endo (Sugar Form)for A Form, or 2′ Endo for B and Z Forms. You can choose
the alternate sugar pucker.

•

Double Stranded (✓) for adding the next residue plus its
hydrogen-bonded complement.

These choices affect each added nucleic acid until you makenew choices. Once you add a residue, you cannot use this dialog box to change its conformation.
4. L-click on the first nucleic acid residue.
5. L-click on the other residues. You can get ahead ofHyperChem, but it will catch up with you. Remember tochange the conformation of each residue before you choose it.
Note: You can mix deoxyribose and ribose nucleotides. You canalso mix single- and double-strand structures to form partiallybase-paired molecules.
6. L-click on 3CAP or 5CAP if you want to block further polymerization at the growing end of this polymer.

498

Building Molecules from Residues

Choosing Conformations
Each nucleic acid residue that you add to a polynucleotide canhave a different conformation. In this way, the polynucleotide canhave stretches of A form DNA, B form, Z form, or another conformation that you choose.
A and B forms of DNA are normally right-hand helices, while theZ form is a left-hand helix. To change the direction of a helix after
constructing it, use Reflect on the Edit menu to connect the helix
into its mirror image. You can reflect around any PLANE in themolecular system.
You can also change the conformation of the deoxyribose or theribose sugar in each residue. The A form of DNA normally contains
deoxyribose sugar in the more stable C2′–endo form. The B formof DNA form contains the C3′–endo sugar.

Adding Counter Ions
HyperChem can supply sodium counter ions to balance the positive charge on each phosphate group in a polynucleotide. When
you choose Add Counter Ions on the Databases menu, HyperChem
places one Na+ ion 1.688 Ångstroms equidistant from each oxygen
atom in a phosphate group (see page 162).
Use counter ions for chemical calculations of polynucleotides inwater (see “Periodic Box” on page 335).
If you choose Add Counter Ions and then add more residues, only
the original residues have counter ions. Choose Add Counter Ionsagain to add Na+ ions to the new residues.
Use Clear or Cut on the Edit menu to remove Na+ ions.
If you store the system in a HIN file, the file also contains thecounter ions. The Na+ ions appear at the end of the HIN file as separate molecules, with mol and atom records for each Na+ ion.

Mutating Nucleic Acid Residues
Use Mutate on the Databases menu to change one residue toanother in a polynucleotide from the Databases menu, or from a
PDB or MOL2 file. For a more general replacement of a set of residues with another set, see the description of the Replace operationin Chapter 6.
Constructing Molecules499

Building Molecules from Residues

To mutate a nucleic acid residue:
1. Choose Residues on the Select menu. The Selection tool acts onwhole residues if they are present in a molecular system.
2. Select one residue in a polynucleotide.
3. Choose Mutate on the Databases menu.
4. From the Mutate dialog box (see “Mutate Dialog Box” on page191), choose a new residue. Then L-click on OK. HyperChem
substitutes the new residue for the selected residue.
Note: The Mutate dialog box provides nucleotide residues in addition to those in the Nucleic Acids dialog box. These additional residues have optimized structures but lack atomic charge information.
To change the conformation of nucleic acid residues after they arein a polymer, you select individual torsional angles (see “Selecting”
on page 32), restrain the torsion to a new angle (see “Restraint
Forces Dialog Box” on page 340), and calculate a new optimal
geometry (see “Geometry Optimization” on page 362).

Creating Unusual Base Pairs
To build a polynucleotide with unusual base pairing:
1. Choose Double Stranded in the Nucleic Acids dialog box.
2. Choose one of the residues in the pair. For example, choose rU.
This adds rU-rA.
3. Set the Selection tool to the Residues level.
4. Select the incorrect residue. For example, select rA. To help
find rA, you can turn on Residue Name labels in the Labels dialog box.
5. Choose Mutate on the Databases menu and then choose a residue to replace the incorrect residue. For example, choose rU
to replace rA. This produces an rU–rU pair.

500

Chapter 9

Building Molecules from Residues

Adding Unusual Residues
You can add more residues to the Nucleic Acids dialog box. The
information about residue comes from TPL files. Whenever you
use a residue in this dialog box or open a PDB file, HyperChem
interprets the structure of residues using information in a TPL file.
See page 739 for how to write a new entry. The new residue canappear as a choice (a button) in the Nucleic Acids dialog box.

Water Molecules
HyperChem can place a molecular system in a periodic box containing water molecules. These are standard TIP3P models of watermolecules equilibrated at 300 K (25°C) and one atmosphere. Without the periodic box, HyperChem assumes that molecules are in a
vacuum. You can use a distance-dependent dielectric constant incalculations to simulate the effect of a solvent (see “Force field
Parameters Dialog Box” on page 352).
Since these water molecules have special properties and come froma database, HyperChem treats them like residues. You can selectindividual water molecules with the Selection tool, which you
should set to Residues (see “Residues” on page 225).
Choose Periodic Box on the Setup menu to add water molecules,
along with periodic boundary conditions (see “Periodic Box” onpage 335), to a molecular system.
If you apply a label to these residues (see “Labels” on page 281), it
might appear as HOH or WAT, depending on the source of themolecular system.

Constructing Molecules

501

Building Molecules from Residues

502

Chapter 9

Chapter 10
Protein Data Bank Files
Structures of proteins and nucleic acids are available in PDB files.1
These structures are derived from physical studies of molecules (forexample, x-ray diffraction or nuclear magnetic resonance (NMR)
analyses). HyperChem can interpret and display structures stored
in all PDB files that contain atomic coordinates, and can also store
new molecular structures in PDB-type files.

Obtaining PDB FilesThe HyperChem distribution disks contain several sample PDB
files. You can obtain the complete PDB collection, containing
about 17000 structures, from the Research Collaboratory for Structural Bioinformatics (RCSB). Alternatively, you can download a
specific PDB file. For information, contact:
www.rcsb.org/pdb/

Reading PDB Files
HyperChem can read all PDB files that contain atomic coordinates, up to the limit of the computer memory. HyperChem uses
the PDB information on atomic coordinates, plus the informationin its own TPL files (see page 727), to reconstruct standard aminoacid and nucleic acid residues. For HETATM records and atoms thatare not included in TPL files, HyperChem uses atomic coordinates
1. The Protein Data Bank is operated by the Research Collaboratory for Structural Bioinformatics(RCSB) and is supported by funds from the National Science Foundation, the Department of Energy,
and two units of the National Institutes of Health: the National Institute of General Medical Sciences
and the National Library of Medicine.

503

Creating PDB-type Filesand CONECT records from the PDB file to reconstruct a molecularsystem.
HyperChem expects that PDB files will follow the formatting standards described by the maintainers of the PDB archive. Some software creates “PDB” files that do not follow this format properly;
for example, the data entries on a line of the file may be in thewrong columns, or shifted left or right within a section. If you use
the script command “non-standard-pdb-names = yes”,
HyperChem will attempt to make allowances for incorrect formatting. Use of this command may prevent correct reading of files
which do conform to the standards.
Most PDB files contain all the information that is necessary for
HyperChem to regenerate the structure. However, if a PDB fileincludes non-standard residues which are not in HyperChem’s
template files, but does not include information about bonding
and/or hydrogen atoms, then HyperChem will not be able to process the structure properly. If the file does not have bonding information, you will probably end up with a number of disconnected
atoms in the workspace which you will have to connect to form
molecules. (See “Using the Z-Matrix File Filter” on page 81.) If thefile does not include hydrogen atoms, you can add them with
Build/Add Hydrogens (see page 123).
Warning: HyperChem’s internal storage of structures requires that
residues within molecules be numbered sequentially starting from
1. Many PDB files include structures whose residue numbers startwith values other than 1, and/or have gaps in the numbering.
Therefore, the residue numbering in the original file may be different from the numbering in HyperChem when a PDB file is read in.
If you save the structure in the PDB format, the residue numbering
will correspond to HyperChem’s internal storage numbering, andso may not be the same as the numbering in the original file.

Creating PDB-type Files
You can save any molecular system in the workspace as a PDB-type
file. Choose Save As on the File menu and L-click on PDB in the
Save File dialog box.

504

Chapter 10

Creating PDB-type Files

HyperChem provides the filename extension .ent, but you have toenter a new filename in the File Name text box. The PDB file cancontain 13 types of records (each record has a title and takes up
one line in the file):
HEADERCOMPND
SOURCEAUTHORREVDAT
JRNL

These are all comment records from a PDB file thatyou can enter or edit in the Save File dialog box.

REMARK

Comments from a HIN file, entered in the Save Filedialog box.

SSBOND

Residues involved in disulphide bridges.

ATOM

The identity and coordinates of each heavy atomin the molecular system. These atoms must be partof the standard set of residues that HyperChem
recognizes (see page 735 and page 737).

HETATM

The identity and coordinates of all heavy atoms
that are not part of standard residues. Standard residues belong to the set that HyperChem recognizes(see page 735 and page 737).

Caution: Comments must adhere to the format
described in the PDB document, Atomic Coordinates and Bibliographic Entry Format Description,
July, 1989.

Protein Data Bank Files

505

Sample PDB FilesCONECT

The numbers of atoms directly bonded to eachother. These numbers come from the ATOM orHETATM records. The Numbers label (Choose
Labels on the Display menu) also uses these numbers. CONECT records appear for HETATMs and for
all atoms if you choose the Connectivity option (seebelow).

TER

A record marking the end of a chain.

END

The end of the file.

HyperChem has two options for storing PDB-type files. If you store
files with both options off (no ✓), the file contains only REMARK,
ATOM, HETATM, and END records for heavy atoms. These are theoptions:
HydrogensWith this option on (✓), the file also contains
ATOM records for all hydrogen atoms.

Connectivity

With this option on (✓), the file also contains
CONECT records.

The FillPDBRecords setting in the Registry or in chem.ini canrequire HyperChem to fill each record with spaces, to a total of 70
characters (see “Ab Initio Settings” on page 747).

Sample PDB Files
HyperChem provides these sample PDB files1:
Filename

Molecule

PDB1BNA

DNA, B form, single stranded, 290K Daltons

PDB1CRN

CrambinPDB3CYT

Cytochrome C, albacore, oxidized

PDB2EST

Elastase-TFAP complex, porcine

PDB1F19

IGG, FAB portion, mouse

1. These files are for public use, courtesy of the Protein Data Bank. To obtain other files, see “Obtaining
PDB Files” on page 503.

506

Chapter 10

Sample PDB Files

Filename

Molecule

PDB1FDX

Ferredoxin

PDB1GCN

Glucagon

PDB2PTC

Trypsin-trypsin inhibitor complex

PDB5PTI

Pancreatic trypsin inhibitor

PDB4RHV

Rhinovirus 14, human

PDB6TNA

Transfer RNA, yeast phenylalanine

PDB1XY1

Deamino-oxytocin, wet form

Protein Data Bank Files

507

508

Automatic Operation with Scripts

Chapter 11
Scripts and DDE
HyperChem provides facilities for these tasks:•

Running HyperChem automatically, with scripts, to easily
repeat functions and analyses.

•

Integrating HyperChem with your own software and withother commercial software.

Automatic Operation with Scripts
You can use a small program, called a script, to send instructions
to HyperChem. These instructions automatically run specificHyperChem activities. For example, you can automate a molecular
dynamics calculation so that you can repeat it easily.
A script reproduces most interactive HyperChem functions, plus a
few functions that are not yet available with HyperChem.
You write the instructions in a script file using a text editor, like
Windows Notepad. You start a script by using the Script menu inHyperChem.

Integrating HyperChem with DDE
You can easily integrate other programs that also run with
Microsoft Windows with HyperChem. HyperChem retains its
integrity and functions, while other programs can request information, send instructions, and collect HyperChem results for theirown use.
Programs communicate with HyperChem using the Windows
Dynamic Data Exchange (DDE).

Scripts and DDE

509

Using HyperChem Messages

Using HyperChem Messages
HyperChem has a unified set of messages for directing its internal
operations and for communicating with other programs. Whenyou use HyperChem menus and dialog boxes, HyperChem selects
and uses the correct message.
When you use a script file, HyperChem reads the messages in thatfile and acts on them. If you are communicating with another program, the DDE commands use some HyperChem messages as arguments and generate other HyperChem messages.
HyperChem uses two classes of messages for scripts and DDE commands:
IMSG

An input message is a request to HyperChem tochange a variable, carry out a function, or respondwith information.

OMSG

An output message is a response that HyperChem
provides, including information on settings, calculation results, and error messages. An OMSG goesto the screen (by default), to a file, or to the program requesting the information via DDE.

Types of Input Messages
HyperChem has three types of input messages (IMSG):
VariableSet HSV

Changes (writes) a variable.

Get HSV

Requests (reads) the current setting for avariable. HyperChem responds with an
OMSG.

Command

510

Chapter 11

A variable (also known as a HyperChem State Variable, or HSV) describes a setting in HyperChem.
Variables usually have arguments (see page 511).
There are two subtypes of variable messages:

This starts a HyperChem function. A Commandmessage includes arguments (see page 516). This is
usually equivalent to using a Menu Activator,choosing options in a dialog box, and then L-clicking on OK.

Using HyperChem Messages

Menu
Activator

This is equivalent to choosing an item on aHyperChem menu. It often produces an on-screen
dialog box for choosing options.

Message Syntax
Messages are not case-sensitive; use any combination of upperand lowercase letters. Where the syntax shows a space, use one ormore spaces or a comma. Parentheses and quotes are optional.

Variables
Set HSV and Get HSV messages have slightly different syntax:
Set HSV<Variable-name> = <argument>
argument = string, integer, float, Boolean, enum, ora combination of these. If there are spaces or commas in string arguments, you can enclose them inquotes or parentheses. The equals sign is optional.

Get HSV<Variable-name> ?
orquery-value <Variable-name>
These two statements are equivalent. However, avariable name with arguments can use only aquery-value statement.
Separate a variable-name and ? with a space.

Important: Define all variables before the commands that require
these variables. If you do not set a required variable, HyperChem
uses the last value for that variable.
Examples:optim-algorithm steepestdescents
This sets the algorithm for a geometry optimization calculation tosteepest descent.
show-perspective ?
orquery-value show-perspective

Scripts and DDE

511

Using HyperChem Messages

These both request the setting for Show Perspective: on or off?
HyperChem sends a response, yes or no, to the screen (by default),
to a file, or to the program requesting the information via DDE.
query-value coordinates(2, 1)This requests the Cartesian coordinates for atom 2 in molecule 1.
Notice that you cannot use a question mark instead of the queryvalue statement, since this variable requires arguments.
coordinates (2, 1) =0.0,0.0,0.0
This changes (writes) the x, y, and z coordinates of atom 2 in molecule 1 to 0.0, 0.0, and 0.0.
file-format hin
open-file benzene.hin
These two lines from a script file set the file format variable to hin,then use the open-file command to read the file, benzene.hin.
multiple-selections yes
selection-target atoms
select-atom 7 1
select-atom 8 1
The first two lines from this script set variables for selection. The
next two lines are commands that select atoms 7 and 8 inmolecule 1.
selection-target molecules
select-atom 3 1
The first line sets the selection level to molecules. This takes priority over the atom selection command in the next line. HyperChem
selects the entire molecule 1 instead of only atom 3 in molecule 1.

Behavior of array variables
Array variables are those specified by indices, such as
coordinates(i,j), the coordinates of atom i in molecule j, or
ir-intensity(i), the intensity of peak i. Arrays are handled rather
differently in HyperChem scripts and require care in their use.

Atom IndicesFirst, an array index is commonly the index of an atom. In HyperChem, these indices, which would normally be a single index, i,
become a pair of indices — molecule index and atom index. For
512

Chapter 11

Using HyperChem Messages

simplicity here, we denote these two indices — the atom index ina particular molecule and the particular molecule index — as a single index, [i], although these must always be written in an actual
script as two indices,[i] ≡ k,lTwo-dimensional Arrays
Thus, for example, the coordinates of an atom ought perhaps to be
assigned as:
coordinates( [i], 1 ) = 10.0
coordinates( [i], 2 ) = -5.0
coordinates( [i], 3 ) = 20.0
where coordinates is a two-dimensional array with the first index
being the atom index and the second index being the direction =1 ... 3 for x, y, z. In HyperChem, however, two-dimensional arrays
are never assigned or queried with two such indices. One always
leaves off the second pre-defined index and instead assigns or queries with a list,
coordinates( [i] ) = 10.0, -5.0, 20.0
coordinates( [i] ) ?
Two-dimensional arrays, such as coordinates, can be queried all at
once,
coordinates ?
They may also be assigned without an index as in the following
assignment for a two atom molecule, such as H2,
coordinates = 0.0, 0.0, 0.0, 0.0, 0.0, 0.74

One-dimensional Arrays
One-dimensional arrays have a single index with a range that may
be pre-defined to a read-only value, such as atom-count, or with arange that is assignable (read/write), such as the one dimensional
array, ir-frequency, with a range, ir-band-count.
Both types of one-dimensional arrays are assignable using an
index,
atom-charge( [3] ) = 0.5
ir-frequency(2) = 2076

Scripts and DDE

513

Using HyperChem Messages

or without an index using a list with a required length determinedby the range,
atom-charge = 0.0, 0.0, 0.5, -0.5
ir-frequency = 1723, 2076
One-dimensional arrays with assignable ranges are referred to by
the script command print-variable-list as vectors.
The vectors in HyperChem are:range: ir-band-countir-frequency
ir-intensity
ir-intensity-components
ir-normal-mode
range: uv-band-countuv-dipole-components
uv-energy
uv-oscillator-strength
uv-spinuv-total-dipole
uv-transition-dipole
range: named-selection-countnamed-selection-namenamed-selection-value
range: selected-atom-countselected-atomrange: orbital-countalpha-scf-eigenvector
beta-scf-eigenvector
scf-orbital-energy
range: graph-horizontal-grid-sizegraph-data-row
range: molecule-countresidue-count

514

Chapter 11

Using HyperChem Messages

range: 10
script-menu-caption
script-menu-checked
script-menu-command
script-menu-enabled
script-menu-help-filescript-menu-help-id
script-menu-in-use
script-menu-message
The following is an example of the usage and syntax for a vector.
Example:First declare the size of the vector:
ir-band-count = 5
Next, assignment can be performed using one of the following
three methods:
Method 1:
ir-frequency(1) = 100
ir-frequency(2) = 170
ir-frequency(3) = 200
ir-frequency(4) = 210
ir-frequency(5) = 213
Method 2:
ir-frequency = 100, 170, 200, 210, 213
Method 3:
ir-frequency = 100 170 200 210 213
Values for a vector variable can be obtained in the following manner:query-value ir-frequency
ir-frequency ?
Both the above inquiries will yield the following results based on
the previous assignments.
ir-frequency(1) = 100
ir-frequency(2) = 170
ir-frequency(3) = 200

Scripts and DDE

515

Using HyperChem Messages

ir-frequency(4) = 210
ir-frequency(5) = 213
Individual vector components can be queried in the following
manner:query-value ir-frequency(2)ir-frequency(2) ?
Both the above inquiries will yield the 2nd component of the irfrequency vector.
You can obtain continual notification of all coordinates in a scriptby sending the command “notify-on-update coordinates”, but
you cannot notify-on-update for a single atom’s coordinates. The
DDE equivalent of notify-on-update is a hot, or automatic link,
and only the whole array may be addressed in these links. Beware,
however: in some cases the output may be voluminous.

Commands
Command messages can have one or more arguments, each separated by at least one space or a comma:<request-name> <argument> <argument> . . .
argument = string, integer, float, Boolean, enum, or a combination of these. Enclose a string in quotes (“ “) when there arespaces between arguments.
request-name = command nameExamples:open-file benzene.hin
This request opens the file benzene.hin.
execute-client graph.exe Graph Form1
This is a request to start and run another DDE application.
Graph.exe is the filename for the DDE application. “Graph” is thename of the application. “Form1” is the topic, either a filename orsome unit of information, that the application recognizes.

Arguments
The types of arguments for variables or commands are the following:
516

Chapter 11

Using HyperChem Messages

BooleanYes or no, true or false, 0 or 1.

stringText (letters, characters, or symbols, in upper- or
lowercase, unlimited number of characters).
Enclose a string in quotes (“ ”) if it contains
spaces, tabs, or newline characters. If a string withquotes includes a backslash (“\”), you must double
the backslash (“\\”). Thus, a path might be specified as ”C:\\Program Files\\Hypercube”.
(You do not need to double the backslash if thestring is not enclosed in quotes.) In a string withquotes, you can designate a newline character as“\n”.

filename

A type of string requiring a DOS filename.

enum

A type of string requiring one of a limited set of
possibilities.

int

An integer.

float

A floating point (decimal) number. For an angle,
the number is in degrees.

Some Get HSV statements (requesting a variable) require only asubset of the possible arguments. For example, setting the atomname variable requires all arguments (atom number, molecule
number, and atom name), but requesting the variable requires
only the atom number and molecule number. HyperChem
responds with all three variables.

Menu Activators
Menu activators are text strings with hyphens between each word.
Every menu activator starts with “menu-.”menu-<menu-name>-<item-name>Example:menu-edit-zoom
This requests the Zoom item on the Edit menu. You see the resultof choosing this item, the Zoom dialog box, on screen.

Scripts and DDE

517

HyperChem Messages

HyperChem Messages
The following tables list all variables, commands, and menu activators organized according to menu item, dialog box, and function. Use these messages to write scripts or as arguments in DDE
commands.
The numbers in the first column of each table are used in an alphabetic cross-reference to all messages (see “Message Cross-Reference” on page 584).
For specific discussions of scripts and DDE, with examples, seepage 602 and page 604.

518

Chapter 11

HyperChem Messages

File Menu#

File Variable

Type

R/Wa

Use

15

current-file-namefilenameR

The filename corresponding to themolecular system displayed in theworkspace

16

path

stringR, W

Current directory17

file-format

enum(hin, pdb, skc,
ml2, zmt, mol,
chm)

R,W

The file format for a molecular system18

file-needs-saved

BooleanR,W

Yes to save the molecular system if
it contains changes since it was readin or if it is new

19

velocities-in-hin-file

BooleanR,W

Yes to store atom velocities in a HIN
file

20

view-in-hin-file

Boolean

R, W

Should view be written into a HIN
file? (Useful for comparing HIN files)

21

hydrogens-in-pdbfile

BooleanR,W

Yes to include hydrogen coordinates in a PDB file22

connectivity-in-pdbfile

BooleanR,W

Yes to include connectivity information (CONECT records) in a PDB file23

non-standard-pdbnames

BooleanR,W

Enables HyperChem to read some
PDB files, produced by other programs, which do not properly conform to the PDB specifications. In
particular, it allows the use of leftjustified atom names. This may prevent correct reading of standardconforming files.

24

window-color

enum(monochrome or acolorb)

R,W

The background color for theHyperChem workspace; monochrome results in a white background with bonds in color or black

Scripts and DDE

519

HyperChem Messages#

File Variable

Type

R/Wa

Use

25

bond-color

enum(byelement ora colorb)

R,W

The color used for drawing all
atoms (and bonds). Byelement uses
a color based on the atomic number set in the Element Color dialog
box (on the Display menu)

26

selection-color

enum(thickline ora colorb)

R,W

Assigns a color or bond appearance
to differentiate atoms while they are
selected

27

positives-color(a colorb)

R, W

Color for positive orbital lobes, contour lines, occupied orbitals, etc.

28

negatives-color(a colorb)

R, W

Color for negative orbital lobes,
contour lines, unoccupied orbitals,
etc.

29

x-y-rotation-cursor

float(>0 . . ≤3600)

R,W

The amount of XY rotation, indegrees, for a drag from one edgeof the workspace to the other30

reorderselections

BooleanR, W

Yes to reorder atoms in selections tocreate proper angles; no to giveuser direct control over atom order

31translate-mergedsystems

BooleanR, W

Yes to translate newly
merged/pasted structures so thatthey do not overlap

32

z-rotation-cursor

float(>0 . . ≤3600)

R,W

The amount of Z rotation, indegrees, for a horizontal drag fromone edge of the workspace to the
other

33

export-dipole

BooleanR, W

Whether or not to export dipole
moment data to .EXT file.

34

export-ir

BooleanR, W

Whether or not to export IR spectral
data to .EXT file.

35

export-orbitals

BooleanR, W

Whether or not to export orbital
data to .EXT file.

520

Chapter 11

HyperChem Messages#

File Variable

Type

R/Wa

Use

36

export-uv

BooleanR, W

Whether or not to export UV spectral data to .EXT file.

37

import-dipole

BooleanR, W

Whether or not to import dipole
moment data from .EXT file.

38

import-ir

BooleanR, W

Whether or not to import IR spectral data from .EXT file.

39

import-orbitals

BooleanR, W

Whether or not to import orbital
data from .EXT file.

40

import-uv

BooleanR, W

Whether or not to import UV spectral data from .EXT file.

41

z-translation-cursor

float(>0 . . ≤1000)

R,W

The amount of Z translation, inÅngstroms, for a horizontal dragfrom one edge of the workspace tothe other42zoom-cursor

float(>1 . . ≤1000)

R,W

The amount of magnification for a
vertical drag across the workspace

43

clip-cursor

float(>0 . . ≤1000)

R,W

The amount of clipping planemovement, in Ångstroms, for a
drag vertically across the workspace

44

x-y-rotation-iconstep

float(>0 . . ≤3600)

R,W

The amount of XY rotation, indegrees, from a shift-click at theextreme edge of the Tool icon

45

z-rotation-icon-step

float(>0 . . ≤3600)

R,W

The amount of Z rotation, indegrees, from a shift-click at theextreme edge of the Tool icon

46

x-y-translation-iconstep

float(>0 . . ≤1000)

R,W

The amount of XY translation, inÅngstroms, from a shift-click at theextreme edge of the Tool icon

47

z-translation-iconstep

float(>0 . . ≤1000)

R,W

The amount of Z translation, inÅngstroms, from a shift-click at theextreme edge of the Tool icon

Scripts and DDE

521

HyperChem Messages#

File Variable

Type

R/Wa

Use

48

zoom-icon-stepfloat(>1 . . ≤1000)

R,W

The amount of magnification froma shift-click at the extreme edge of
the Tool icon

49

clip-icon-step

float(>0 . . ≤1000)

R,W

The amount of clipping planemovement, in Ångstroms, from ashift-click at the extreme edge of
the Tool icon

50translate-wholemolecules

BooleanR,W

Yes to translate only whole molecules. This prevents translating individual atoms of a molecule anddistorting the structure. No lets you
translate selected atoms in larger
molecules

51

use-fasttranslation

BooleanR,W

Yes to increase the speed of XY
translation by temporarily substituting a bitmapped image of themolecular system

52

printer-backgroundwhite

BooleanR,W

Yes to force printer backgroundcolor to white. No to use the current window color

53

image-sourcewindow

enum(toplevel,
workspace,
hyperchem,
fullscreen)

R,W

Sets the extent of the image captured with “edit-menu-copyimage”

54

image-file-bitmap

BooleanR,W

Yes to save an image in bitmapped
format55

image-filebitmapRGB

BooleanR, W

Yes to save bitmap pictures in 24-bit
color instead of 8-bit color

56

image-file-metafile

BooleanR,W

Yes to save an image in metafile format

522

Chapter 11

HyperChem Messages#

File Variable

Type

R/Wa

Use

57

image-destinationfile

BooleanR,W

Yes to save an image in chem.bmp
and/or chem.wmf, depending on
the settings of the previous twovariables

58

image-destinationfilename

StringR, W

Save image to a given file.

59

image-destinationclipboard

BooleanR,W

Yes to save an image to the
Clipboard60

image-includecursor

BooleanR,W

Yes to include the cursor in an
image

61

image-color

BooleanR,W

Yes to save an image in color

a. R = read only. R,W = read and write.
b. Choose one for color: black, blue, green, cyan, red, violet, yellow, white.

File Command

Arguments

Use

62

open-file

filename

Opens a file containing a molecular system

63

merge-filefilename

Opens a file containing a molecular system
and adds this system to a molecular systemalready in the workspace

64

write-filefilename

Stores the current molecular system in a
file

65

print

none

Print to default printer66

start-logging

filename, Boolean

Starts recording HyperChem results in log
filename. Yes = append data to file of thesame name. No = replace file67

stop-logging

none

Stops recording HyperChem results in a log
file

68

log-comment

string

Stores comment (string) in an active log
file

Scripts and DDE

523

HyperChem Messages

File Command

Arguments

Use

69

import-property-filefilename

Reads quantum mechanics data (dipole
moment, orbital data, IR and/or UV/vis
spectra) from the named file70

export-property-filefilename

Wrties quantum mechanics data (dipole
moment, orbital data, IR and/or UV/vis
spectra) to the named file71

delete-filefilename

Delete the file specified by filename without giving any warning message

72

file-diff-message

filename1,
filename2, string1,
string2

Compare the contents of filename1 withthose of filename2; report string1 if thefiles are the same and string2 if they are
different#

File Menu Activator

Use

Dialog Box

73

menu-file-new

Clears the workspace—74

menu-file-open

Opens a file

Open File75

menu-file-merge

Merges a file into the workspace

Merge File76

menu-file-saveUpdates the file the system was readfrom

Save File, if current system isuntitled; otherwise, saves file
without showing dialog box

77menu-file-save-as

Saves the system in a different file

Save As...

78

menu-file-start-log

Starts logging computation results ina fileOpen Log

79

menu-file-stop-log

Stops logging—

80

menu-file-log-comments

Stores a comment in the active log file

Log Comments

524

Chapter 11

HyperChem Messages#

File Menu Activator

Use

Dialog Box

81menu-file-export

Saves the results of quantum
calculations, including IR andUV/visible spectra

ExportProperties

82

menu-file-import

Imports values of quantum
calculations, including IR andUV/visible spectra

ImportProperties

83

menu-file-print

Prints an image of the system

Print

84

menu-file-preferences

Customizes the program

Preferences85

menu-file-exit

Exits HyperChem—

Scripts and DDE

525

HyperChem Messages

Edit Menu#

Edit Variable

Type

R/W a

Use

86

front-clip

float(≥0 . . ≤3200)

R, W

The distance in Ångstroms of thefront clipping plane from theviewer. Must be at least 1 less thanback-clip value

87

back-clip

float(≥0 . . ≤3200)

R, W

The distance in Ångstroms of theback clipping plane from theviewer. Must be at least 1 morethan front clip value

88

mouse-modeenum (drawing, selecting,rotating,
zrotating,translating,ztranslating,zooming,clipping)

R, W

The function of the cursor (tool) in
the workspacea. R = read only. R,W = read and write.

#

Edit Command

Arguments

Use

89align-moleculeenum1, enum2,
enum3, enum4(enum1 and 3 =primary,
secondary,tertiary;
enum2 and 4 =x, y, z, line)

Aligns the inertial axes of selected atoms ora whole molecular system with theViewer’s Coordinate System, or with a LINEin the Molecular Coordinate System.
Enum1 and enum2 describe the majoralignment. Enum3 and enum4 describe
the optional minor alignment

90align-viewer

enum(x, y, z, line)

Aligns a viewer’s z coordinate with an axis
or with a LINE in the Molecular Coordinate
System91

delete-selectedatoms

none

Deletes selected atoms. Equivalent tomenu-edit-clear

526

Chapter 11

HyperChem Messages#

Edit Command

Arguments

Use

92

rotate-viewer

enum, float(enum = x, y, z,line)

Rotates the viewer around (axis = x, y, z, orLINE) by angle in degrees

93

rotate-molecules

enum, float(enum = x, y, z,line)

Rotates molecules around (axis = x, y, z, orLINE) by angle in degrees

94

translate-view

float1, float2,
float3(≥0 . . ≤3200)

Translates the viewer (in the Viewer’s Coordinate System) by a change in coordinates(dx, dy, dz), in Ångstroms

95

translate-selection

float1, float2,
float3(≥0 . . ≤3200)

Translates the selection in the Molecular
Coordinate System to coordinates x, y, and
z

96

zoom

float
(≥0.01. . ≤50)

Sets the magnification of the current
molecular system. A value of 1.0 fits thewhole molecular system into the workspace and corresponds to Scale to Fit (onthe Display menu)

97

set-bond-length

float(>0 . . ≤3200)

Sets the bond length for the selected bond98

set-bond-angle

float(≥0 . . ≤180)

Sets the bond angle for the selected angle

99

set-bond-torsion

float(≥–360 . . ≤360)

Sets the torsion angle for the selectedtorsion#

Edit Menu Activator

Use

Dialog Box

100

menu-edit-clear

Deletes the selection—

101

menu-edit-cut

Deletes the selection and places a copyof the molecular structure on the Clipboard—

Scripts and DDE

527

HyperChem Messages#

Edit Menu Activator

Use

Dialog Box

102

menu-edit-copy

Copies the selection to the Clipboard—

103

menu-edit-copy-isissketch

Copies the selection to the Clipboard in
ISIS Sketch format—

104

menu-edit-paste

Copies the Clipboard’s contents to theworkspace—105

menu-edit-copy-image

Copies the image of the molecular system to the Clipboard—

106

menu-edit-setup-image

Sets up the image copying process(type of image)

Setup Image107

menu-edit-invert

Inverts the selection through POINT—

108

menu-edit-reflect

Reflects the selection through PLANE—

109

menu-edit-rotate

Rotates the selection or the viewer

Rotate110

menu-edit-translate

Translates the selection or the viewer

Translate111

menu-edit-zoom

Changes the magnification

Zoom

112

menu-edit-z-clip

Changes the Z clipping

Z Clip113

menu-edit-align-viewer

Aligns the viewer’s z axis

Align Viewer

114

menu-edit-alignmolecules

Aligns the inertial axis of a molecule(s)Align Molecules

115

menu-edit-set-bondlength

Changes a bond length

Set Bond Length116

menu-edit-set-bondangle

Changes a bond angle

Set Bond Angle117

menu-edit-set-bondtorsion

Changes a torsion angle

Set Bond Torsion

528

Chapter 11

HyperChem Messages

Build Menu#

Build Variable

Type

R/W a

Use

118

explicithydrogens

BooleanR, W

Allows the Drawing tool to add hydrogens. If yes, all single bonded atoms
are hydrogens. If no, Drawing tool
places only the default element (usually a heavy atom)

119

default-elementint(0 . . 103)

R, W

The atomic number of the default element for drawing. 0 = lone pair120

allow-ions

BooleanR, W

Allows excess valence on atoms. If yes,
you can add up to12 bonds to any
atom. If no, each element has its normal limit of valence electrons

121

builder-enforcesstereo

Boolean

R, W

Specifies whether the Model Builder
implicitly enforces existing stereochemistry.

a. R = read only. R,W = read and write.

#

Build Command

Arguments

Use

122

set-atom-typestringProvides the type (string) for a selected set ofatoms in the active force field. Use only a typethat the force field recognizes. Use the correct
upper- and lowercase characters for atom
types (for example CA, not ca or Ca)

123

set-atom-charge

float(≥-100 . .≤ 100)

Provides the charge (float) for a selected set of
atoms

124

set-formal-charge

int(-3 . . +3)

Provides the formal charge (int) for a selected
set of atoms

125

set-atom-chargesto-formal

none

Sets all atom charges to the value of formal
charge.

126

create-atom

int(0 . . 103)

Draws an atom, with atomic number int, at theorigin of the Molecular Coordinate System

Scripts and DDE

529

HyperChem Messages#

Build Command

Arguments

Use

127

delete-atom

int1, int2

Deletes atom int1 from molecule int2

128

set-bond

int1, int2, int3,
int4, enum(n, h, s, d, t, a)Draws a bond between atom int1 in molecule
int2 and atom int3 in molecule int4. The bondorder is n = none (deletes an existing bond), h= hydrogen, s = single, d = double, t = triple,
and a = aromatic129

re-bond-systemnone

Destroy all bonds and create new bonds withan algorithm that uses a distance criterion
along with atomic number of atoms.

130

constraingeometry

enum (none,
linear, trigonal,
tetrahedral,square-planar,
bipyramidal,
octahedral) or
computed

Constrains the bonding to a selected atom
during model building. None removes existing
constraints

131

constrain-bondlength

float(>0 . . ≤100)or computed

Constrains a bond length between two
selected atoms during model building.
Computed removes a constraint and uses
the Model Builder’s default bond length132

constrain-bondangle

float(≥–360 . . ≤360)
or computed

Constrains a bond angle between threeselected atoms during model building.
Computed removes a constraint and uses
the Model Builder’s default bond angle

133

constrain-bondtorsion

float(≥–360 . . ≤360)
or computed

Constrains a bond torsion angle between four
selected atoms during model building.
Computed removes a constraint and uses the
Model Builder’s default torsion angle

134

constrain-drawing

BooleanWhether to constrain bond lengths and angles
to canonicalize drawing of molecule.

135

unconstrainbond-lengthnone

Remove any length constraint on the twocurrently selected atoms

136

unconstrainbond-angle

none

Remove any angle constraint on the threecurrently selected atoms

530

Chapter 11

HyperChem Messages#

Build Command

Arguments

Use

137

unconstrainbond-torsion

none

Remove any torsion constraint on the four
currently selected atoms

138

remove-stereoconstraint

int1, int2

Removes any stereo constraints from atom
number int1 into molecule int2

139

remove-allstereoconstraints

int1, int2

Removes all stereo constraints

140

constrain-bondup

int1, int2,
int3, int4

Constrains a bond to be up. The bond is theone from atom int1 in molecule int2 to atom
int3 in molecule int4

141

constrain-bonddown

int1, int2,
int3, int4

Constrains a bond to be down. The bond is theone from atom int1 in molecule int2 to atom
int3 in molecule int4

142

constrain-fixstereo

int1, int2

Constrains atom to enforce the current stereochemistry about atom int1 in molecule int2

143

constrain-changestereo

int1, int2

Constrains atom to change the current stereochemistry about atom int1 in molecule int2

144

cycle-bondstereo

int1, int2,
int3, int4

Advances the stereo constraint along a bond.
The bond is the one from atom int1 in molecule int2 to atom int3 in molecule int4

145

cycle-atomstereo

int1, int2

Advances the stereo constraint about atom
int1 in molecule int2

146changestereochem

int1, int2

Immediately change the existing stereochemistry about atom int1 in molecule int2#

Build Menu Activator

Use

Dialog Box

147

menu-build-explicithydrogens

Toggles explicit hydrogens fordrawing—

Scripts and DDE

531

HyperChem Messages#

Build Menu Activator

Use

Dialog Box

148

menu-build-defaultelement

Changes the default element for
drawing atoms

Default Element

149

menu-buildadd-hydrogens

Adds hydrogens to fill the atoms’
valences—

150

menu-build-model-build

Transforms a 2D drawing into a 3D
chemical structure—151

menu-build-allow-ionsToggles restrictions on excess
valence—152

menu-build-unitedatoms

Removes hydrogens to form united
atoms

—

153

menu-build-all-atoms

Restores hydrogens to united
atoms

—

154

menu-build-calculatetypes

Assigns atom types for the chosen
force field—

155

menu-buildcompile-type-rules

Compiles the chem.rul file into abinary file (typerule.bin)—

156

menu-build-set-atomtype

Sets the atom type for selected
atoms

Set Atom Type157

menu-build-set-charge

Sets the charge on selected atom

Set Atom Charge

158

menu-build-set-mass

Sets the mass of selected atom

Set Atom Mass

159

menu-build-constraingeometry

Constrains the geometry for bonds
to a selected atom

Constrain
Geometry160

menu-build-constrainbond-length

Constrains the distance between
two selected atoms

Constrain Bond
Length161

menu-build-constrainbond-angle

Constrains the bond angle
between three selected atoms

Constrain Bond
Angle

162

menu-build-constrainbond-torsion

Constrains the torsion angle of four
selected atoms

Constrain Bond
Torsion532

Chapter 11

HyperChem Messages

Select Menu#

Select Variable

Type

R/W a

Use

163

selection-targetenum(molecules,
residues, atoms)

R, W

The level of selection or thesmallest unit of selection

164

selected-atomcountintR

Reports the number of atoms
selected165

selected-atom

int1, int2, int3

R

When you give the number ofthe selected atom (int1), using
this variable reports thesequence number of this atom
(int2) in molecule number int3

166

multiple-selections

BooleanR, W

Yes to accumulate selections, or
no to cancel the previous selection with each new selection167

select-sphere

BooleanR, W

Yes for group selection with a
3D sphere, or no for group
selection with a 2D rectangle

168

named-selectioncountint

R

The count of the named
selections

169

named-selectionname

int, string

R

When you give the number of a
named selection (int), using thisvariable gives the name of that
selection

170

named-selectionvalue

int1, float

R

The (read only) “value” of number int1 named selection. The“value” is the x, y, and z coordinates for 1-atom selections, thedistance for 2-atom selections,angle for 3, torsion for 4, and“(nil)” for anything else171

selection-value

float

R

The value of the current selection (bond, angle, etc.)

a. R = read only. R,W = read and write.

Scripts and DDE

533

HyperChem Messages#

Select Command

Arguments

Use

172

select-none

none

Deselects all atomsa

173

select-namestringSelects the atoms with the selection name =stringa, where string has at least one lowercase
character (up to 19 total) and no spaces

174

select-atom

int1, int2

Selects atom int1 in molecule int2. Honors current selection level (see selection-target variable)a,b

175

un-select-atom

int1, int2

Deselects atom int1 in molecule int2. Honors
current selection level (see selection-target
variable)a,b

176

select-residue

int1, int2

Selects residue int1 in molecule int2. Disregards
current selection level, always selecting a residue
if present. If there is no residue, reports an error(see selection-target variable)a177

un-select-residue

Int1, int2

Deselects residue int1 in molecule int2. Disregards current selection level and always deselects
a residue if present. If there is no residue, reports
an error (see selection-target variable)a178

name-selection

stringGives a name to the current selection. String =POINT, LINE, PLANE (in all uppercase) or any setof characters (not all uppercase) up to 19 characters long179

name-molecule

stringGive name String-1 to molecule of current selection.

180

delete-namedselection

stringRemoves a named selection from the list ofnamed selections

181

select-path

int, int, int,
int

Selects atoms in path from int-1 in molecule int2 to int-3 in molecule int-4.

a. Honors multiple-selections (variable) value (yes or no).
b. To select a molecule—for example; molecule 3—use selection-target molecules, and then selectatom. Use a similar procedure with un-select-atom to deselect a molecule.

534

Chapter 11

HyperChem Messages#

Select Menu Activator

Use

Dialog Box

182

menu-select-atoms

Sets selection level to “Atoms”—

183

menu-select-residues

Sets selection level to “Residues”—

184

menu-select-molecules

Sets selection level to “Molecules”—

185

menu-select-multipleselections

Toggles accumulation of selections—

186

menu-select-select-sphere

Toggles between 2D and 3D group
selection—

187

menu-select-select-all

Selects all visible atoms in the molecular system—188

menu-select-complementselection

Complements the current selection—

189

menu-select-selectSelects atoms by an assigned nameor number

Select190

menu-select-nameselection

Assigns a name to the current selection

Name Selection

191

menu-select-extend-ring

Extends selection to an entire ring—192

menu-select-extend-sidechain

Extends a selection to a side chain—

193

menu-select-extend-to-sp3

Extends a selection to sp3-sp3 single
bonds and singly bonded atoms—

194

menu-select-selectbackbone

Selects all atoms in the backbone ofa polymer built from residues—

Scripts and DDE

535

HyperChem Messages

Display Menu#

Display Variable

Type

R/W a

Use

195

show-perspective

BooleanR, W

Yes to display molecules inperspective, or no for a planar
projection

196

show-stereo

BooleanR, W

Yes to display molecules as a stereo pair, or no for a single model197

wall-eyed-stereo

BooleanR, W

Yes sets the stereo pair for walleyed viewing; select no forcrosseyed viewing

198

show-ribbons

BooleanR, W

Yes displays a protein backbone
with ribbons

199

render-method

enum (sticks,
balls, balls-andcylinders,
spheres, dots,
sticks-and-dots)

R, W

The rendering method for the
display

200

balls-shaded

BooleanR, W

Whether balls and balls-and-cylinders should be shaded insteadof being solidly colored201

balls-highlighted

BooleanR, W

Whether balls and balls-and-cylinders should be highlighted
when shaded

202

balls-radius-ratio

float (0 . . 1)

R, W

Size of the balls relative to the
maximum value

203

spheres-shaded

BooleanR, W

Whether spheres should beshaded instead of being solidly
colored (as disks)

204

spheres-highlighted

BooleanR, W

Whether spheres should behighlighted when shaded

205

sticks-width

integer (0 . . 25)

R, W

Sticks rendering width in pixels

536

Chapter 11

HyperChem Messages#

Display Variable

Type

R/W a

Use

206

cylinders-widthratio

float (0 . . 1)

R, W

Size of the cylinders relative tothe maximum value

207

cylinders-color-byelement

Boolean

R, W

Color cylinders using element
colors (yes) or gray (no).

208

grid-min-value

real

R

The minimum value in the gridof quantum mechanical data

209

grid-max-value

real

R

The maximum value in the gridof quantum mechanical data210

isosurface-threshold

real(grid-min-value≤ isosurfacethreshold ≤grid-max-value)

R, W

Sets the value of the isosurfaceof the quantum mechanical grid
data to render211

isosurface-rendermethod

enum (wiremesh,
JorgensenSalem, lines,
flat-surface,shaded-surface,
Gouraudshaded-surface,translucentsurface)

R, W

Rendering method used to draw
isosurfaces

212

isosurfacetransparency-level

float (0 . . 1)

R, W

The level of transparency of theisosurface (0 = opaque, 1 =transparent)

213

isosurface-hidemolecule

BooleanR, W

Hide the structure while an isosurface is being displayed214

dot-surface-angle

float angle(≥–90 . . ≤90)

R, W

The angle of planes in a dot rendering relative to the XZ planeof the Viewer’s Coordinate System

Scripts and DDE

537

HyperChem Messages#

Display Variable

Type

R/W a

Use

215

double-buffereddisplay

BooleanR, W

Yes sets up two copies of the display in memory. HyperChem
then draws molecules off screen
and shows them when complete. No sets HyperChem todisplay one atom at a time216

cpk-max-doublebuffer-atoms

int(0 . . 32767)

R,W

If double-buffered display is on,
HyperChem limits double buffering of a spheres rendering tothis number of atoms (int), but
turns off double buffering if thenumber of atoms exceeds thisnumber217

show-hydrogens

Boolean

R, W

Toggles the display of hydrogenatoms on (yes) or off (no)218

show-periodic-box

Boolean

R, W

Toggles the display of an existing periodic box on (yes) or off(no). Does not create the box or
periodic conditions

219

show-multiplebonds

Boolean

R, W

Toggles the display of double,
triple, and aromatic bonds withmultiple lines on (yes) or off (no)220

show-gradient-vectors

Boolean

R, W

Show atomic gradient vectors.

221

bond-spacingdisplay-ratio

float(≥0 . . ≤1)

R, W

The distance between lines in
multiple bonds. This affects only
nonraster devices, like printers,
and metafile images

222

show-hydrogenbonds

Boolean

R, W

Toggles the display of hydrogenbonds on (yes) or off (no)223

show-isosurface

Boolean

R, W

Toggles the display of a calculated isosurface on (yes) or off
(no)

538

Chapter 11

HyperChem Messages#

Display Variable

Type

R/W a

Use

224

show-axes

Boolean

R, W

Toggles the display of inertial
axes on (yes) or off (no)225

show-dipoles

Boolean

R, W

Toggles the display of dipoles on(yes) or off (not)226

show-aromaticrings-as-circles

BooleanR, W

Whether aromatic rings show as
circles or dotted bonds.

227

hide-toolbar

Boolean

R, W

Toggles whether the toolbar
should be hidden (yes) or visible
(no)

228

atom-labels

enum (none,
symbol, name,number, type,basisset, mass,
charge,chirality)

R, W

Labels apply to visible, selected
atoms. If there is no selection,
applies specified label to all
newly created atoms or atoms
read in from a file229

residue-labels

enum (none,
name,sequence,namesequence)

R, W

The label for visible, selected residues. If there is no selection,
applies specified label to all
newly created residues or to residues read in from a file230

show-stereochemwedges

BooleanR, W

Yes displays stereochemistry
constraints on the screen

231

periodic-box-size

float1, float2,
float3R

Returns the size of the periodic
box in x, y, z232

moments-of-inertia

float1, float2,
float3R

Returns the x, y, z moments ofinertia of selection or of entire
workspacea. R = read only. R,W = read and write.

Scripts and DDE

539

HyperChem Messages#

Display Command

Arguments

Use

233

color-selection

enum(byelement orcolora)Sets the persistent color applied to
selected atoms when they are deselected.
by element uses the colors defined bycolor-element234

color-element

int1, enum
(default or colora)

Assigns a new color (enum) to element
int1. Int1 = 1–103. Default = reverts tothe color in the HyperChem element
color table (not available to user)

235

revert-elementcolors

none

Applies default colors to all elements.
Same as the default argument for colorelement, but applies color for all elements

a. Choose one for color: black, blue, green, cyan, red, violet, yellow, white.

#

Display Menu Activator

Use

Dialog Box

236

menu-display-scale-to-fit

Positions and changes the magnificationof the selection to fit it in the center ofthe workspace—237

menu-display-overlay

Superimposes two selected molecules
based on a selected bond angle in each—238

menu-display-show-all

Shows all atoms—

239

menu-display-showselection-onlyShows only those atoms in the current
selection—

240

menu-display-hideselection

Hides all atoms in the current selection—241

menu-display-rendering

Provides six choices of a molecular model

Rendering242

menu-display-last-rendering

Render using last rendering options—

540

Chapter 11

HyperChem Messages#

Display Menu Activator

Use

Dialog Box

243menu-display-isosurface

Allows user to select a new renderingmode for an isosurface

Plot Molecular Properties, Plot
Orbitals244

menu-display-showisosurface

Toggles the display of an isosurface—245

menu-display-showhydrogens

Toggles the display of hydrogen atoms—

246

menu-display-showperiodic-box

Toggles the display of an existing periodic box. Does not create the box or
periodic conditions—

247

menu-display-showmultiple-bonds

Toggles the display of multiple bonds—

248

menu-display-showhydrogen-bonds

Toggles the display of hydrogen bonds—

249

menu-display-recomputeh-bonds

Recomputes hydrogen bonds between
the selected atoms—

250

menu-display-showinertial-axes

Toggles the displays of inertial axes forselected atoms or the whole molecularsystem—251

menu-display-show-dipolemoment

Toggles display of the dipole moment
after it has been calculated for selected
atoms or the whole molecular system—252

menu-display-labels

Provides a choice of labeling options forselected atoms and residues

Labels253

menu-display-color

Provides a persistent color to differentiate
selected atoms when they are deselected

Selection
Color

254

menu-display-element-color

Provides alternative default colors foreach element

Element
Color

Scripts and DDE

541

HyperChem Messages

Databases Menu#

Databases
Variable

Type

R/W a

Use

255

amino-phi

float(≥–360 . . ≤360)

R, W

Phi (ϕ) torsion angle of an aminoacid residue

256

amino-psi

float(≥–360 . . ≤360)

R, W

Psi (ψ) torsion angle of an aminoacid residue

257

amino-omega

float(≥–360 . . ≤360)

R, W

Omega (ω) torsion angle of anamino acid residue—the peptide
bond angle258

amino-isomerenum(l, d)R, W

The isomer of an amino acid residue, d or l259

nucleic-sugarpucker

enum(2-endo, 3-endo)

R, W

Pucker of ribose sugar in nucleic
acid residue

260

nucleic-alphafloat(≥–360 . . ≤360)

R, W

Alpha (α) torsion angle in a
nucleic acid backbone

261

nucleic-beta

float(≥–360 . . ≤360)

R, W

Beta (β) torsion angle in a nucleic
acid residue

262

nucleic-gamma

float(≥–360 . . ≤360)

R, W

Gamma (γ) torsion angle in a
nucleic acid residue

263

nucleic-delta

float(≥–360 . . ≤360)

R, W

Delta (δ) torsion angle in a
nucleic acid residue

264

nucleic-epsilon

float(≥–360 . . ≤360)

R, W

Epsilon (ε) torsion angle in a
nucleic acid residue

265

nucleic-zeta

float(≥–360 . . ≤360)

R, W

Zeta (ζ) torsion angle in a nucleic
acid backbone

266

nucleic-chi

float(≥–360 . . ≤360)

R, W

Chi (χ) torsion angle for base(twist angle) in a nucleic acid residue

542

Chapter 11

HyperChem Messages#

Databases
Variable

Type

R/W a

Use

267

nucleic-backwards

Boolean

R, W

Toggles direction for building a
strand; yes for backwards, from
3′ to 5′268

nucleic-doublestrand

Boolean

R, W

Toggles number of strands tobuild into a polynucleotide; yesfor double, no for single

a. R = read only. R,W = read and write.

Scripts and DDE

543

HyperChem Messages#

Databases
Command

Arguments

Use

269

add-amino-acidstringChooses the next amino acid residue to add. Use
the three-character residue name (e.g., ala)

270amino-alpha-helix

none

Uses alpha-helical torsion angles for the next
amino acid residue added271

amino-beta-sheet

none

Uses beta-sheet torsion angles for the next aminoacid residue added272

add-nucleic-acidstringChooses the next nucleic acid residue to add.
Use the two-to-four-character residue name(e.g., da)273

nucleic-a-form

none

Uses A-form torsion angles for the next nucleic
acid residue added274

nucleic-b-form

none

Uses B-form torsion angles for the next nucleic
acid residue added

275

nucleic-z-form

none

Uses Z-form torsion angles for the next nucleic
acid residue added276

mutate-residue

stringChanges the selected residue into residue string,where string = residue name (2–3 characters).
Select one residue, not a cap. Residues must beof the same type, N or A#

Databases Menu
Activator

Use

Dialog Box

277

menu-databasesamino-acids

Constructs a sequence of amino acids

Amino Acids278

menu-databases-makezwitterion

Changes a polypeptide into a zwitterion—

279

menu-databasesremove-ionic-ends

Changes a zwitterion back to a neutral
polypeptide—

544

Chapter 11

HyperChem Messages#

Databases Menu
Activator

Use

Dialog Box

280

menu-databases-nucleicacids

Constructs a sequence of nucleotides

Nucleic Acids281

menu-databases-addcounter-ionsAdds a sodium ion near each phosphate ina polynucleotide—

282

menu-databases-mutate

Changes one residue into another

MutateSetup Menu#

Setup Variable

Type

R/W a

Use

283

calculationmethodenum(molecularmechanics,
semi-empirical,
abinitio, DFT)

R, W

A molecular mechanics, or semiempirical or ab initio quantum
mechanics method for calculations

284

molecularmechanicsmethodenum(mm+, amber,bio+, opls,
amber94,
charmm22, tndo)

R, W

The type of molecular mechanics
force field for calculations

285

semi-empiricalmethod

enum(extendedhuckel,
cndo, indo,
mindo3, mndo,
am1, pm3, zindo1,
zindos, mnod,
tndo)

R, W

The type of semi-empirical quantum mechanics method for calculations

286

keep-atomcharges

Boolean

R, W

Keep atom charges whenchanging calculation methods.

287

mechanicsdielectric

enum1, enum2,
enum3, enum4b(constant,distancedependent)

R,WThe method for calculating
dielectric permittivity

Scripts and DDE

545

HyperChem Messages#

Setup Variable

Type

R/W a

Use

288

mechanicsdielectric-scalefactor

float1, float2,
float3, float4b(≥1 . . ≤1000)

R,W

The multiplier for dielectric permittivity (see “Force field Parameters Dialog Box” on page 352)

289

mechanicselectrostaticscale-factor

float1, float2,
float3, float4b(≥0 . . ≤1)

R,W

Scale factor for 1–4 electrostaticinteractions

290

mechanics-vander-waals-scalefactor

float1, float2,
float3, float4b(≥0 . . ≤1)

R,W

Scale factor for 1–4 van der Waals
interactions

291

mechanicsmmpelectrostatics

enum(bonddipoles,
connectedbonddipoles,
atomiccharges,
none)

R, W

Specifies the type of electrostaticinteraction to use in MM+ calculations

292

cutoff-typeenum (none,switched, shifted)

R, W

The type of cutoff to apply to allmolecular mechanics calculations

293

cutoff-innerradiusfloat(≥0 . . < 1e10)

R, W

The distance (in Ångstroms) to
begin a switched cutoff294

cutoff-outerradiusfloat(>0 . . < 1e10)

R, W

The distance (in Ångstroms) to
end a switched cutoff, or the limit
for a shifted cutoff

295

huckel-constantfloat(>0 . . ≤10)

R, W

The proportionality factor to use
in a Extended Hückel calculation.
Usually 1.75

296

huckel-scalingfactor

float(>0 . . ≤100000)

R, W

Scale factor for Coulomb-Coulomb interactions between quantum andclassical parts in a mixed model
calculation

297

huckel-weighted

Boolean

R, W

A toggle for using a simple Hückel
constant (yes), or a constant
including a weighting factor fororbital diffuseness (no)546

Chapter 11

HyperChem Messages#

Setup Variable

Type

R/W a

Use

298

d-orbitals-onsecond-row

BooleanR, W

Yes to include d orbitals from thebasis set for the second long row
of atoms (Si to Cl), or no toignore d orbitals (and shorten thecalculation). For Extended Hückel
only

299

scf-convergencefloat(>0 . . ≤100)

R, W

Sets the convergence limit (thedifference in electronic energy, in
kcal/mol, after two consecutive
iterations) for an SCF quantum
mechanics calculation

300

max-iterations

int(1 . . 32767)

R, W

Sets the maximum number of
SCF iterations allowed in a quantum mechanics calculation

301

accelerate-scfconvergence

BooleanR, W

Yes uses the DIIS procedure toaccelerate a calculation with aquantum-mechanical calculation

302

quantum-totalcharge

int(–32767 . .
≤ 32767)

R, W

The total charge of a molecularsystem for a quantum mechanics
calculation. For Extended Hückel
or semi-empirical or ab initio SCF
calculations, this variable must
precede multiplicity (see the next
variable)303

multiplicity

int(1 . . 6)

R, W

The spin multiplicity (1 = singlet,
2 = doublet, 3 = triplet, 4 = quartet, etc.) of an electronic state tocompute in a quantum mechanics calculation. For Extended
Hückel or semi-empirical or ab initio SCF calculations, this variablemust follow quantum-totalcharge (see the previous variable)

304

uhf

BooleanR, W

Yes sets a quantum mechanics
calculation to Unrestricted Hartree Fock, or no for Restricted
Hartree Fock

Scripts and DDE

547

HyperChem Messages#

Setup Variable

Type

R/W a

Use

305

excited-state

BooleanR, W

Yes directs an SCF quantum
mechanics calculation for the
next lowest electronic state of agiven spin multiplicity, No for thelowest state of the given spin
multiplicity

306

zindo-1sigma-sigma

float(≥0 . . ≤1010)

R, W

Weight (float) assigned
to sigma-sigma overlap
integral into ZINDO/1
calculations

307

zindo-1pi-pi

float(≥0 . . ≤1010)

R, W

Weight (float) assigned
to pi-pi overlap integral into
ZINDO/1 calculations

308

zindo-ssigma-sigma

float(≥0 . . ≤1010)

R, W

Weight (float) assigned
to sigma-sigma overlap
integral into ZINDO/S
calculations309

zindo-spi-pi

float(≥0 . . ≤1010)

R, W

Weight (float) assigned to pi-pi
overlap integral into
ZINDO/S calculations

310

abinitio-moinitial-guessenum (core-hamiltonian, projectedhuckel, projectedcndo, projectedindo)

R, W

Specify a method to produce an
initial guess of the MO
coefficients

311

abinitio-cutoff

float (>0)

R, W

Specify a cutoff threshold for twoelectron integrals in an ab initio
calculation

312

abinitio-buffersize

int (>50 ... 32000)

R, W

Specify a buffer size to store thetwo-electron integrals in an abinitio calculation

313

abinitio-integralformat

enum (regular,raffenetti)

R, W

Specify a format to store the twoelectron integrals in an ab initio
calculation

548

Chapter 11

HyperChem Messages#

Setup Variable

Type

R/W a

Use

314

abinitio-integralpath

stringR, W

Specify a full path, including disk
drive and directory (e.g.,
C:\HYPER), to store the twoelectron integrals in an ab initio
calculation

315

abinitio-direct-scf

BooleanR, W

Yes uses Direct SCF calculation to
avoid using disk space to store
the two-electron integrals in an
ab initio calculation

316

abinitio-useghost-atoms

BooleanR, W

Yes uses the “ghost-atoms”
selection and treats them as ghost
atoms

317

abinitio-scfconvergence

float (>0 ... ≤100)

R,W

Sets the convergence limit (thedifference in electronic energy, in
kcal/mol, between two successive
iterations) for an ab initio
calculation

318

abinitio-dorbitals

BooleanR, W

Yes uses 6 d orbitals (i.e., dxx, dyy,
dzz, dxy, dxz, dyz).
No uses 5 d orbitals (i.e., d0, d+1,
d-1, d+2, d-2)319

abinitiocalculategradient

BooleanR, W

Yes computes the first derivativesof the total energy with respect tothe coordinates of the atoms. This
option applies to single-point calculations only320

abinitio-mp2correlationenergy

BooleanR, W

Yes computes the second order
Møller-Plesset perturbationenergy. This option apples tosingle-point calculations only321

abinitio-mp2frozen-core

BooleanR, W

Yes uses the frozen-core approximation in computing the MP2correlation energy

Scripts and DDE

549

HyperChem Messages#

Setup Variable

Type

R/W a

Use

322

configuration

int

R, W

Specifies the current selected line
in a UV spectrum

323

configurationinteraction

enum (NoCI,
SinglyExcited, orMicrostate)

R, W

NoCI = no CI calculation
requested; SinglyExcited = perform singly excited CI
calculation; Microstate =perform a microstate CI
calculation324

ci-occupiedorbitals

int

R, W

The number of molecular orbitals
from which electrons are excited
to produce excited configuration325

ci-unoccupiedorbitals

int

R, W

The number of unoccupied
molecular orbitals to which electrons are excited to produce
excited configurations

326

ci-excitationenergy

float(≥0..≤1e5)

R, W

Maximum MO orbital energy (ineV) between the virtual and occupied orbitals which form an active
space in a singly excited CI calculation. (This option is only available for singly excited CI, andonly applies when the ci-criterion
is set to energy)

327

ci-criterion

enum (energy,
orbital)R, W

Use energy criterion ororbital criterion

328

parameter-setchanged

Boolean

R, W

Toggles the state of the backend
parameters

329

backend-active

BooleanR

Yes if calculations are in progress(at backend)

330

backendcommunications

enum (remote,local)R, W

Location of chemical calculations(local: current machine; remote:backend-host-name)331

backend-hostname

stringR, W

Name of ethernet host to run
back-end jobs

550

Chapter 11

HyperChem Messages#

Setup Variable

Type

R/W a

Use

332

backend-user-id

stringR, W

Specifies the user’s id333backend-userpassword

stringR, W

Specifies the password to accessthe remote computer using thespecified user id334

backend-processcount

int

R, W

Specifies the number of processes
running on the remote computer.
The current version of HyperChem ignores this option andalways uses 1.

335

use-electric-field

Boolean

R, W

Specifies whether to apply anelectric field to workspace.

336

use-magneticfield

Boolean

R, W

Specifies whether to apply a magnetic field to workspace.

337

field-direction

integer (1...3)

R, W

Direction (X,Y or Z) of the static
electric field applied to the system.

338

field-strength

float (-1000...1000)

R, W

Strength (a.u.) of the static electric field applied to the system.

339

magnetic-fielddirection

integer (1 ... 3)

R, W

Direction (X,Y or Z) of the static
magnetic field applied to the system.

340

magnetic-fieldstrength

float (-1000...1000)

R, W

Strength (a.u) of the static magnetic field applied to system.

341

polar-fieldstrength

float in range(-1000 ... 1000)

R, W

Electric field strength for polarizability calculations.

342

polarizability-calculated

BooleanR, W

Calculate ab initio or semi-empirical polarizability polarizability.

343

auxilliary-basis

int (1 .. 3)

R, W

1=A1, 2=A2, 3=P1

Scripts and DDE

551

HyperChem Messages#

Setup Variable

Type

R/W a

Use

344

correlation-functionalenum(None,
Perdew86, VWN,
LYP, PZ81, PW91,
PBE96, HCTH98)

R, W

Which correlation to use in DFT
calculations.

345

exchange-functionalenum(None, Hartree-Fock, Slater,
Becke88, PW91,
PBE96, HCTH98,
B3-LYP, B3-PW91,

R, W

Which exchange functional to use
in DFT calculations.

346

read-hcth-coefficients

Boolean

R,W

Whether or not to use the standard coefficients or to read file
hcth.coef containing five rows of
three coefficients CX, Cσσ, Cαβ347

small-densitycutoff

float in range (0 ..
0.001)

R, W

Value of density used as cutoff
value in DFT calculations.

348

state-to-optimizeenum(SCF, MP2,
CI)

R, W

Which energy to use for conjugate directions.

349

tndo-version

int

R, W

1, 2, etc. as versions of TNDO

350

use-auxilliarybasis

BooleanR, W

As opposed to numerical integration.

351

use-mullikanapproximationto-density

Boolean

R, W

Speed things up in DFT.

352

use-small-density-cutoff

BooleanR, W

Minimize points in numericalintegration.

a. R = read only. R,W = read and write.
b. enum1/float1 for MM+, enum2/float2 for AMBER, enum3/float3 for BIO+, and enum4/float4
for OPLS. This release of HyperChem does not use the MM+ values.

552

Chapter 11

HyperChem Messages#

Setup Command

Arguments

Use

353

restraint

string, float1(>0 . . >106 forstretch, >0 . .
<180 for bend,≥–180 . . ≤180
for torsion)or computed,
float2 (≥0 . .
≤106) or default

Adds a restraint (string = selection-name,float1 = length or angle, float2 = force constant) to molecular mechanics or quantum
mechanics calculations. Computed anddefault are the values that HyperChem supplies354

restraint-tether

string, enum or
float*3 (≥0 . .
≤106), float(>0 . . >106)

Tethers a selection to a desired position in
space. String refers to a named selection
containing a single atom. Enum is either
COMPUTED to use the current value for the
position of the selection, or POINT to tether
the selection to the coordinates of a selection
saved as the named selection POINT. A pointin space can be used as a tether point byreplacing this enum with the x, y, and z coordinates of a point in space (float * 3). The lastargument is the force constant355

use-restraint

string, Boolean

Controls whether a restraint associated with a
named selection is used; requires that you
specify the name of a selection and “yes” or
“no”

356

use-no-restraints

none

Ignores all restraints

357

use-parameter-set

stringChooses a parameter set (string) for the current molecular mechanics method. Parameter
set must be a CustomName defined in Registry or in chem.ini

358

solvate-systemnone

Adds a periodic box and water molecules to amolecular system, using the last default settings359

solvate-system-inthis-box

float1, float2,
float3

Adds a periodic box—with dimensions x, y,
and z Ångstroms—and water molecules to amolecular system

Scripts and DDE

553

HyperChem Messages#

Setup Command

Arguments

Use

360

set-velocity

enum (POINT,
LINE or OTHER),
float, float, float(if OTHER specified), float(required)

Sets the velocity for the molecular system or
selected atoms. The last argument is thevelocity (Ångstrom/ps) and the direction isdenoted by POINT (towards the named
selection POINT), LINE (parallel to the named
selection LINE) or OTHER (with three floats
specifying the velocity vector).

361

assign-basisset

enum (STO-3G,
STO-3G*, 321G*, ...)

Assign a basis set to the selected atom(s) or
to all the atoms in ab initio calculations#

Setup Menu Activator

Use

Dialog Box

362

menu-setup-molecularmechanics

Chooses a molecular mechanics force
field, options, and constraints

Molecular
Mechanics Force
Field

363

menu-setup-semiempirical

Chooses a semi-empirical method

Semi-empirical
Method364

menu-setup-ab-initio

Chooses an ab initio method

Ab Initio Method

365

menu-setup-network

Chooses backend calculations running on
the local computer or a remote computer

Network366

menu-setup-periodicbox

Provides a water environment and periodic boundary conditions for a molecularsystemPeriodic Box
Options367

menu-setup-restraints

Adds computational restraints to named
selections

Restraint Forces368

menu-setup-setvelocity

Sets the velocity vectors for the selected
atoms

Set Velocity369

menu-setup-selectparameter-set

Chooses a new parameter file for molecular mechanics calculations

Force Field
Parameters

554

Chapter 11

HyperChem Messages#

Setup Menu Activator

Use

Dialog Box

370

menu-setup-compileparameter-fileConverts a text parameter file to a binary
file

—

371

menu-setup-reactionmap

Map reactants and products in preparation for a transition state search

Reaction Map

Scripts and DDE

555

HyperChem Messages

Compute Menu#

ComputeVariable

Type

R/W a

Use

372

atom-spin-density-at-nucleus

array of float

R, W

The electron density of nucleus ofatom iat in molecule imol.

373

atom-spin-populationarray of float

R, W

The spin density of iat in molecule
imol.

374

do-qmcalculation

BooleanR, W

Yes to compute the wave function
for a single point quantum
mechanics calculation375

do-qm-graph

BooleanR, W

Yes graphs a 2D contour plot of thecurrent quantum mechanics property, and sets do-qm-isosurface to
false

376

do-qm-isosurface

BooleanR, W

Yes plots the isosurface of thequantum mechanical property andsets do-qm-graph to false

377

isosurface-mapfunction

BooleanR, W

Yes plots the mapped function isosurface of the quantum mechanicalproperty378

isosurface-gridstep-size

real (> 0)R, W

Distance (in Ångstroms) between
data points in the grid. Resets the
x,y,z nodes379

isosurface-xnodes

int (1 < int ≤ 128)

R, W

Number of data grid points toaccumulate in the X direction

380

isosurface-ynodes

int (1 < int ≤ 128)

R, W

Number of data grid points toaccumulate in the Y direction381

isosurface-znodes

int (1 < int ≤ 128)

R, W

Number of data grid points toaccumulate in the Z direction382

isosurface-x-min

float (-1e+010 . .
1e+010)R, W

Smallest x coordinate of the grid
data

556

Chapter 11

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

383

isosurface-y-min

float (-1e+010 . .
1e+010)R, W

Smallest y coordinate of the grid
data

384

isosurface-z-min

float (-1e+010 . .
1e+010)R, W

Smallest z coordinate of the grid
data

385

isosurface-mapfunction-displaylegend

BooleanR, W

Yes to display a legend for the
mapped function isosurface386

isosurface-mapfunction-range

float1, float2 (Ifneither of these is0, float2 = -1 *float1)

R, W

Minimum and maximum values forthe display of a mapped function
isosurface.

387

graph-data-type

enum(electrostatic,
spin-density
charge-density,
orbital,orbital-squared)

R, W

Type of data to plot with
do-qm-graph or do-qm-isosurface

388

graph-data-row

int, float listR

The values of the ith row of thedata graph

389

graph-orbitalselection-type

enum(lumo-plus,
homo-minus,
orbital-number)

R, W

The procedure for indicating whichorbital to plot, either relative to an
HOMO/LUMO orbital or an absolute number

390

graph-beta

BooleanR, W

Yes to plot beta orbital; no to plotalpha orbitals in an Unrestricted
Hartree Fock calculation

391

graph-horizontalgrid-size

int(1 . . 16384)

R, W

Number of data grid points forplotting 2D contours in the horizontal direction

392

graph-verticalgrid-size

int(1 . . 16384)

R, W

Number of data grid points forplotting 2D contours in the verticaldirection

Scripts and DDE

557

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

393

graph-orbitaloffset

int(0 . . 32767)

R, W

The number to use as an offset indescribing which orbital to plot.
The meaning depends on graphorbital-selection-type. For orbitalnumber, it starts at 1 and indicatesthe orbital number. For homominus, it starts at 0 and indicates
offset down from HOMO orbital.
For lumo-plus, it starts at 0 andindicates offset up from LUMO
orbital394

basisset-count

int

R

Number of coefficients required todescribe a molecular orbital

395

graph-contourlevels

int(1 . . 32767)

R, W

The number of contour lines in a
plot

396

graph-planeoffset

float(≥–1010. . ≤1010)

R, W

Offset along the viewer’s z axis of
the plane containing contour lines.
Without an offset, contours passthrough the center of the selection

397

graph-contourstartfloat(≥–1010. . ≤1010)

R, W

Value for the first contour line, ifgraph-contour-start-other is yes

398graph-contourincrement

float(≥–1010. . ≤1010)

R, W

Increment for contour lines, ifgraph-contour-increment-other is
yes

399

graph-contourstart-other

Boolean

R,W

No to use default contouring; yes
to use value from graph-contourstart

400

graph-contourincrement-other

Boolean

R,W

No to use default contouring; yes
to use value for graph-contourincrement

558

Chapter 11

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

401

optim-algorithm

enum(steepestdescents, fletcherreeves,polakribiere,
newtonraphson,
eigenvectorfollow, conjugate
directions)

R, W

The algorithm to use for geometry
optimization

402

optimconvergencefloat(>0 . . ≤100)

R, W

For geometry optimization, theRMS gradient to use as a convergence criterion

403

optim-maxcycles

int(1 . . 32767)

R, W

Maximum number of optimization
steps

404

state-to-optimize

enum(SCF, MP2, CI)

R, W

What to optimize when using conjugate Directions Optimizer. SCF issame as other optimizers. MP2 isground state energy including
MP2 correlation energy. CI isenergy of Configuration Interaction state.

405

ci-state-to-optimize

int(0 . . 100)

R, W

When using Conjugate Optimizer
to optimize CI states, this is the CI
state to optimize. Lowest state(ground state) is 0, next state is 1,
next is 2, etc.

406

periodicboundaries

BooleanR, W

Yes to use periodic boundary conditions; no to turn off these conditions. Set up periodic conditions
with the Setup variables solvatesystem-in-this-box or solvate-system407

screen-refreshperiod

int(1 . . 32767)

R, W

Frequency for updating the display during a molecular dynamics
calculation, in units of data steps.

Scripts and DDE

559

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

408

optim-converged

BooleanR

Yes means geometry optimization
has converged409

dynamics-heattime

float(≥0. . ≤1010)

R, W

Time to change from dynamicsstarting-temp to dynamics-simulation-temp

410

dynamics-runtime

float(≥0. . ≤1010)

R, W

Total time at dynamics-simulationtemp

411

dynamics-cooltime

float(≥0. . ≤1010)

R, W

Time to change from dynamicssimulation-temp to dynamics-finaltemp

412

dynamics-timestep

float(>0. . ≤1010)

R, W

Step size, in picoseconds, for the
dynamics calculation

413

monte-carloheat-steps

float(0 < . . ≤1010)

R, W

Number of steps to change fromdynamics-starting-temp to dynamics-simulation-temp

414

monte-carlo-runsteps

float(0 < . . ≤1010)

R, W

Number of steps at dynamics-simulation-temp

415

monte-carlocool-steps

float(0 < . . ≤1010)

R, W

Number of steps to change fromdynamics-simulation-temp to
dynamics-final-temp

416

monte-carlomax-delta

float(0 < . . ≤1010)

R, W

Maximum allowed size of the displacement step in Ångstroms.

417

dynamicsstarting-temp

float(≥0. . ≤1010)

R, W

Starting temperature for a dynamics simulation

418

dynamicssimulation-temp

float(≥0. . ≤1010)

R, W

Run-time temperature for a
dynamics simulation

419

dynamicsfinal-temp

float(≥0. . ≤1010)

R, W

Final temperature for a dynamics
simulation

560

Chapter 11

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

420

dynamics-tempstep

float(>0. . ≤1010)

R, W

Temperature step size (degrees K)
for heating and cooling (annealing)421

dynamics-restart

BooleanR, W

Yes to restart a dynamics calculation using velocities stored in a file;
no to use new equilibrated velocities422

dynamicsplayback

enum (record,
playback, none)

R, W

Record = store dynamics simulation
in a snapshots file; playback = use
dynamics simulation stored in asnapshots file; none = calculate a
new trajectory (without snapshotsor playback of snapshots)423

dynamicsplayback-startint(0 . . 32767)

R, W

The snapshot number to begin the
playback424

dynamicsplayback-end

int(0 . . 32767)

R, W

The snapshot number to end theplayback

425

dynamicsplayback-period

int(0 . . 32767)

R, W

The length of the playback period
in numbers of snapshots426

dynamicsconstant-temp

BooleanR, W

Yes to apply temperature regulation during a dynamics simulation427

dynamics-bathrelaxation-time

float(>0. . ≤1010)

R, W

The time constant in picoseconds
for constant temperature regulation428

dynamicsfrictioncoefficientfloat(0 . . 1000000)

R, W

Friction coefficient for Langevindynamics429

dynamicscollection-period

int(1 . . 32767)

R, W

The period for collecting data fromthe molecular dynamics calculationin time steps

Scripts and DDE

561

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

430

dynamicssnapshotfilename

filename

R, W

The name of a snapshot file, withthe extension .snp

431

dynamicssnapshot-period

int(1 . . 32767)

R, W

The period between snapshots, inunits of data steps

432

dynamicsaverage-period

int(1 . . 32767)

R, W

The period, in units of data steps,
for storing data from a molecular
dynamics run in a CSV file433

dynamics-seedint(-32768 . . 32767)

R, W

Seed for dynamics initialization
random number generator

434

mechanics-printlevelint(0 . . 9)

R,W

Sets the level of information thatappears in an active log file for amolecular mechanics calculation. 0= no results, 9 = maximum information

435

quantum-printlevelint(0 . . 9)

R,W

Sets the level of information thatappears in an active log file for asemi-empirical or ab initio calculation. 0 = no results, 9 = maximum
information

436

warning-typeenum (none, log,
message)

R/W

Sets the use of warning messages
from backend calculations. None =discard all warning messages; log =place warning messages in the log
file if one is active; message =display the warning on screen

437

showvibrational-vectors

BooleanR, W

Yes to display vibrational mode displacement vectors

438

animatevibrations

Boolean

R, W

Controls display of animated vibrations

562

Chapter 11

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

439

ir-animate-amplitudefloat(≥1 . . ≤1010)

R, W

Sets distances in Ångstroms tomove the fastest atom during
vibrational animations

440

ir-animate-steps

int(3 . . 32767)

R, W

Number of steps to use in eachcycle while animating vibrations

441

ir-animate-cycles

int(1 . . 32767)

R, W

Controls how many cycles an animation of a vibrational mode willshow before terminating.
Caution: If this variable is not set
before the animate-vibrations command, the animation will run on
without continuing to further
script commands until the Cancel
item is selected on the menu

442

vibrational-mode

int(1 . .
(3 * natoms - 6))

R, W

The index of the current vibrational
mode

443

ir-band-countint.
(0. . 2685)

R, W

The number of IR bands. Setting
this variable discards existing IR
data

444

ir-frequency

vector of floats

R, W

When you give the index (int) ofan IR band, this variable specifies
its frequency

445

ir-intensity

vector of floats

R, W

When you give the index (int) ofan IR band, this variable specifies
its intensity446

ir-intensity-components

vector of floats

R, W

When you give the index (int) ofan IR band, this variable specifies
the x, y, and z components of its
intensity

Scripts and DDE

563

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

447

ir-normal-mode

vector of floats

R, W

When you give the index (int) ofan IR band, this variable specifies
for each atom the x, y, and z displacements for the normal mode448

uv-band-countint(0 . . 32766)

R, W

The number of UV bands. Changing this value discards any existing
UV data449

uv-energy

vector of floats

R, W

When you give the index (int) ofan UV band, this variable specifies
the energy of the transition450

uv-spinvector of floats

R, W

When you give the index (int) ofan UV band, this variable specifies
the spin multiplicity of the state451

uv-total-dipole

vector of floats

R, W

The total dipole moment of excitedstate (int)452

uv-dipolecomponents

vector of floats

R, W

The x, y, and z components of
excited state (int)453

uv-transitiondipole

vector of floats

R, W

The transition dipole between the
ground state and excited state (int)454

uv-oscillatorstrength

vector of floats

R, W

The oscillator strength for excitedstate (int)455

scf-orbital-energy

vector of floats

R

Gives the energy of orbital (int), ineV. For UHF, the set of beta orbitals
are numbered following the alpha564

Chapter 11

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

456

alpha-scfeigenvector

vector of floats

R

When you give the index of
an SCF eigenvector, this variablegives the coefficients of the corresponding molecular orbital. In an
RHF calculation this variable is used
to specify the indices of the SCF
eigenvectors. In a UHF calculation
this variable is only used to specify
the indices of the alpha SCF eigenvectors

457

beta-scfeigenvector

vector of floats

R

When you give the index of
an SCF eigenvector, this variablegives the coefficients of the corresponding molecular orbital. Available only after UHF computations

458

alpha-orbitaloccupancy

vector of floats

R/W

Number of electrons in the i-th MO

459

beta-orbitaloccupancy

vector of floats

R/W

Number of electrons in the i-th MO

460

dipole-moment

float

R/W

Gives the dipole moment (Debyes)from a quantum-mechanical orMM+ calculation

461

dipole-momentcomponents

float, float, float

R

Gives dipole moment (Debyes) x,y, and z components from a quantum-mechanical or MM+ calculation462

scf-atom-energy

float

R/W

Gives the isolated atom energy(kcal/mol) from a semi-empiricalcalculation463

scf-bindingenergy

float

R/W

Gives the energy, relative to isolated atoms (kcal/mol), from aquantum-mechanical calculation.
This is the value reported on thestatus line following a quantummechanical calculation

Scripts and DDE

565

HyperChem Messages#

ComputeVariable

Type

R/W a

Use

464

scf-core-energy

float

R/W

Gives the core-core interactionenergy (kcal/mol) from a quantummechanical calculation465

scf-electronicenergy

float

R/W

Gives the electronic energy(kcal/mol) from a quantummechanical calculation466

heat-of-formation

float

R/W

Gives the heat of formation(kcal/mol) from a Semi-empiricalcalculation

467

annotation-filled

Boolean

R/W

Fills the annotation layer.

468

annotation-layerhidden

Boolean

R/W

Hides the annotation layer.

469

annotation-layerin-front

Boolean

R/W

Places the annotation layer in front.

a. R = read only. R,W = read and write.

#

ComputeCommand

Arguments

Use

470

do-single-point

none

Performs a single point calculation on amolecular system with the current calculation
method471

do-optimization

none

Performs a structure optimization on a molecular system with the current calculation
method472

do-vibrationalanalysis

none

Performs a vibrational analysis on a molecularsystem with the current calculation method473

do-moleculardynamics

none

Performs a molecular dynamics computation
on a molecular system with the current calculation method

566

Chapter 11

HyperChem Messages#

ComputeCommand

Arguments

Use

474

do-langevindynamics

none

Performs a Langevin dynamics computation
on a molecular system with the current calculation method475

do-monte-carlo

none

Performs a Monte Carlo computation on amolecular system with the current calculation
method476

append-dynamicsaverage

477

append-dynamicsgraphenum(none, EKIN,
EPOT, ETOT,
TEMP, D EKIN,D EPOT, D ETOT,D TEMP,
selection name,D selection
name)Names one selection (containing 2 to 4
atoms) or energetic quantity to average orgraph during a molecular dynamics simulation. The prefix D indicates the deviation of
the average. One command adds one value
to the list of values to average, the other tothe list to graph. Use all uppercase as shown
here. Use double quotes around arguments
containing spaces; for example “D EKIN”

478

isosurface-meshquality

enum (coarse,
medium, fine)Sets variables for isosurface grid to default values#

Compute Menu
Activator

Use

Dialog Box

479

menu-compute-singlepoint

Calculates the energy and gradient forthe current conformation—

480

menu-computegeometry-optimization

Finds an optimal conformation for themolecular system

Molecular
Mechanics or
Semi-empirical or
Ab Initio Optimization

481

menu-computemolecular-dynamics

Runs a molecular dynamics simulation

Molecular
Dynamics
Options482

menu-computelangevin-dynamics

Perform a Langevin Dynamics simulation

Langevin Dynamics Options

Scripts and DDE

567

HyperChem Messages#

Compute Menu
Activator

Use

Dialog Box

483

menu-computemonte-carlo

Perform a Monte Carlo simulation

Monte Carlo
Options484

menu-computevibrations

Performs a vibrational analysis
computation—

485

menu-computetransition-state

Perform a transition state computation

Transition State
Options486

menu-compute-plotmolecular-properties

Draws contour plots and isosurfaces ofquantum mechanics results

Molecular
Properties487

menu-computeorbitals

Selects an orbital to graph

Orbitals488

menu-computevibrational-spectrum

Displays vibrational transitions
and normal modes

Vibrational
Spectrum489

menu-computeelectronic-spectrum

Displays UV visible spectrum

Electronic
Spectrum

Script Menu#

Script Variable

Type

R/W a

Use

490

notify-with-text

BooleanR, W

For DDE channels, are notifications
to be text (instead of binary)

491

query-response-hastag

BooleanR, W

Yes means response to a query is avalue x plus a tag (<variable> = x).
No means response is just the value
x. Tag is a variable name (HSV)

568

Chapter 11

HyperChem Messages#

Script Variable

Type

R/W a

Use

492

ignore-script-errors

BooleanR, W

Yes to proceed with a script whenan error occurs; no to stop
HyperChem and show a messagebox on screen.
Caution: Ignoring script errors can
produce incorrect results. If you
choose this option, use errors-areomsgs and omsgs-to-file to saveerror messages for later review

493

script-menucaption

vector ofstrings

R, W

Captions for menu buttons

494

script-menuchecked

vector of
Booleans

R, W

If checked495

script-menucommand

vector ofstrings

R, W

Commands for menu buttons

496

script-menuenabled

vector of
Booleans

R, W

If grayed

497

script-menu-helpfile

vector ofstrings

R, W

Help files for menu items

498

script-menu-help-id

vector ofintegers

R, W

Context ids for help on buttons

499

script-menu-in-use

vector of
Booleans

R, W

Is somebody claiming this menu
item?

500

script-menumessage

vector ofstrings

R, W

Status messages displayed when
script menu items clicked with
mouse

501

script-refs-in-errors

BooleanR, W

Whether to include script file line
numbers in errors

Scripts and DDE

569

HyperChem Messages#

Script Variable

Type

R/W a

Use

502

inhibitredisplay

BooleanR, W

Determines whether redisplay of thesystem is inhibited. Caution: If
inhibit-redisplay is not reset to No,
the HyperChem workspace will not
be updated, even after the termination of the script where it is set to
Yes

503

global-inhibitredisplay

BooleanR

Whether redisplay of the system isinhibited504

status-message

stringR, W

Displays a message (string) on thestatus line. When queried, returns
the last status message displayed.

505

omsg-file

filename

R, W

Name of file to append OMSGs toa. R = read only. R,W = read and write.

#

Script Command

Arguments

Use

506

pause-forint(1 . . . 32767)

Pause the script for a number (int) of seconds

507

notify-on-update

stringRequests a response when there is a change invalue for this variable name (string). Use only
for scripts to return variable as OMSG; use
WM_DDE_ADVISE for DDE communications

508

cancel-notify

stringCancels notify-on-update for variable (string)509

omsgs-to-filefilename

Deletes file contents and then sends omsg’s tothis file while the script is running. Do not use
for DDE. See the previous and following commands

510

omsgs-not-to-filenone

Sends omsgs to an OMSG box on screen
instead of recording it in a file (see the next
command)570

Chapter 11

HyperChem Messages#

Script Command

Arguments

Use

511

append-omsgs-tofile

filename

Sends omsg’s to this file, adding them to previous messages. See the previous two commands

512

errors-are-omsgs

none

Treats error messages like omsg’s: sends them
to a file or to an OMSG box on screen

513

errors-are-notomsgs

none

Sends error messages to screen

514

warnings-areomsgs

none

Treats warning messages like omsg’s: sends
them to a file or to an OMSG box on screen

515

warnings-are-notomsgs

none

Sends warning messages to screen

516

messagestringTreats string like an omsg: sends it to a file or toan OMSG box on screen

517

error

stringTreats string like an omsg: sends it to a file or toan Error box on screen

518

warningstringTreats string like a warning message: sends it toa file or to a Warning box on screen

519

source-refs-inerrors

noneControls presentation of filename, line number
in error messages

520

no-source-refs-inerrors

noneControls presentation of filename, line number
in error messages

521

read-script

filename

Names a script file to read. Use this to startanother script from a script522

read-tcl-script

filename

Names a tcl script file to read.

523

query-value

stringHyperChem treats the value of a variable(string) like an omsg

524

requeststring

Displays string in a dialog box until you L-clickon OK. Allows keyboard and mouse input while
the script is executing. The script resumes when
you L-click OK

Scripts and DDE

571

HyperChem Messages#

Script Command

Arguments

Use

525

execute-client

filename,
string1, string2

Runs a DDE application. Filename = .exe file forthe application, string1 = DDE application (program) name, and string2 = DDE topic (a filename or other string that the client application
recognizes). Must have three arguments, even if
the last two are null (“ “)526executehyperchem-client

filename

Runs a client application specified by filenamethat is a Windows executable application. Thisapplication should be able to reliably connect
to an instance of HyperChem

527

change-usermenuitem

int, string1,
filename

Changes the text and script associated with amenu item (Script One, etc.) on the Script
menu. int = number of the Script menu item toplace text in (1, 2, etc.), string1 = text to placein the menu item (characters limit depends on
your display resolution), and filename = nameof the script file associated with this menu item

528

exit-script

none

Ends the script. This is usually the last line in ascript file, but is not required

529

compile-script-filefilename1,
filename2

Compile a script (filename1), convert it tobinary format, and write it to a file (filename2)

530

read-binary-script

filename

Execute a compiled binary script file filename

531

execute-string

stringExecute the string variable as a script#

Script Menu Activator

Use

Dialog Box

532

menu-script-openscript

Opens a script file and runs the script

Open Script533

menu-script-one . . .
menu-script-ten

Selects script program one . . . ten—

572

Chapter 11

HyperChem Messages

Cancel#Cancel Activator

Use

Dialog Box

534

menu-cancel

Ends a calculation and returns control to user—

Data Variables#

Data Variable

Type

R/W

Use

535

atom-nameint1, int2, stringa

R, W

If you give int1 = atom number andint2 = molecule number, reports string= atom name536

atomic-number

int1, int2, int3a

R, W

If you give atom number (int1) andmolecule number (int2), reports
atomic number (int3)

537

atomic-symbol

int1, int2, stringaR

If you give atom number (int1) andmolecule number (int2), reports
atomic symbol (string)538

atom-typeint1, int2, stringa

R, W

If you give atom number (int1) andmolecule number (int2), reports atom
type (string)539

atom-charge

int1, int2, floata

R, W

If you give atom number (int1) andmolecule number (int2), reports
atomic charge (float)

540

formal-charge

int1, int2, int3a

R, W

If you give atom number (int1) andmolecule number (int2), reports formal
charge (int)541

atom-massint1, int2, floata

R, W

If you give atom number (int1) andmolecule number (int2), reports
atomic mass (float)542

atom-basisset

int1, int2, stringa

R, W

If you give atom number (int1) andmolecule number (int2), reports basis
set for this atom

Scripts and DDE

573

HyperChem Messages#

Data Variable

Type

R/W

Use

543

atom-extrabasisset

int1, int2, string,
floataR, W

If you give atom number (int1) andmolecule number (int2), reports theshell type (string) of an extra basis
function and the exponent value (float)of this extra basis function for this
atom

544

atom-color

int1, int2, stringa

R, W

If you give atom number (int1) andmolecule number (int2), reports theatom’s current color (string)545

atom-label-text

int1, int2, stringaR

If you give atom number (int1) andmolecule number (int2), reports theatom’s label text (string)546

residue-labeltext

int1, int2, stringaR

If you give residue number (int1) andmolecule number (int2), reports theresidue’s label text (string)547

is-ring-atom

int1, int2,
BooleanaR

If you give atom number (int1) andmolecule number (int2), reports true if
the atom is in a ring (Boolean)548

is-extendedhydrogen

int1, int2,
BooleanaR

If you give atom number (int1) andmolecule number (int2), reports if theatom is an extended hydrogen (Boolean)549

coordinates

int1, int2, float1,
float2, float3a

R, W

If you give atom number (int1) andmolecule number (int2), reports the x,y, and z coordinates (float1, 2, and 3)

550

neighbors

int1, int2, int3,
int4, enum(s, d, t, h, a)aR

If you give atom number (int1) andmolecule number (int2), reports theatoms bonded to this atom througheither covalent or hydrogen bonds:
int3 = number of neighbor atom, int4
= molecule containing neighbor atomand bond type (enum, s = single, d =double, t = triple, a = aromatic, h =hydrogen). Repeats “int3, int4, enum”
for each neighbor atom

574

Chapter 11

HyperChem Messages#

Data Variable

Type

R/W

Use

551

residue-charge(i,j)
int, int, float

R

Net charge on residue i in molecule j552

residue-name(i,j)
int, int, stringR

Name of residue i in molecule j553

residuecoordinates(i,j)
int, int, f, f, fR

Coordinates of center of mass of residue in i molecule j554

molecule-countint

R

The number of molecules (int) in themolecular system555

atom-count

int1, int2

R

If you give the molecule number (int1),
reports the number of atoms (int2) inthis molecule556

residue-count

int1, int2

R

If you give the molecule number (int1),
reports the number of residues (int2) inthis molecule557

orbital-countint

RShow the number of molecular orbitals
used in quantum mechanicalcalculations

558

coordination

int1, int2, int3

R,W

If you give atom number (int1) andmolecule number (int2), reports (int3)
the number (from 1 to 12) of bonded
neighbors559

chirality

int1, int2, enum

R, W

If you give atom number (int1) andmolecule number (int2), reports(enum) one of A, R, S, or ?, giving thechirality (“A” achiral atom, “R” rectus
or right chirality, “S” sinister or left
chirality and “?” for 5 or 6 coordinatedsystems)

560

dynamics-infototal-energy

float

R

Reports the sum of the potential andkinetic energies for a molecular
dynamics simulation or its playback

Scripts and DDE

575

HyperChem Messages#

Data Variable

Type

R/W

Use

561

dynamics-infopotentialenergy

float

R

Reports the potential energy for amolecular dynamics simulation or its
playback

562

dynamics-infokinetic-energy

float

R

Reports the kinetic energy for a molecular dynamics simulation or its playback563

dynamics-infotemperature

float

R

Reports the temperature value corresponding to the current velocities in amolecular dynamics simulation or its
playback.

564

dynamics-infoelapsed-time

float

R

Reports the elapsed running time, inpicoseconds, of a molecular dynamics
simulation or its playback

565

dynamics-infolast-update

BooleanR

Yes if the last step of a molecular
dynamics simulation or its playback has
occurred; no if the simulation is still inprogress566

monte-carloinfoacceptanceratio

float (0 . . 1)

R

Computation result from Monte Carlo
run

567

velocities

int1, int2, float1,
float2, float3

R, W

If you give int1 = atom number andint2 = molecule number, reports float1,
2, and 3, the vx, vy, and vz values (inÅngstroms/picosecond) for this atom568

rms-gradient

float

R

The RMS gradient, in kcal/Å, derived
from a single point or geometry optimization calculation569

total-energy

float

R/W

The total energy of a molecular system,in kcal/mol (energy on a potential
energy surface), either from a molecular mechanics or quantum mechanics
calculation

576

Chapter 11

HyperChem Messages#

Data Variable

Type

R/W

Use

570

stretch-energy

float

R

The bond stretching contribution to
the molecular mechanics total energy

571

bend-energy

float

R

The bond angle bending contribution
to the molecular mechanics totalenergy572

torsion-energy

float

R

Reports the bond torsion contribution
to the molecular mechanics totalenergy573

nonbondenergy

float

R

Reports the nonbonded interaction
contribution to the molecular mechanics total energy574

hbond-energy

float

R

Reports the hydrogen bonding contribution to the molecular mechanics
total energy

575

estatic-energy

float

R

Reports the electrostatic interaction
contribution to the molecular mechanics total energy. For MM+, this reports
the stretch-bend energy

576

mp2-energy

float

R/W

The MP2 correlation energy, in
kcal/mol, in ab initio calculations

577

molecule-namevector of stringR

The name of the i-th molecule.

a. For a read from HyperChem, use int1 and int2. To write, use all arguments.

Scripts and DDE

577

HyperChem Messages

Help Menu#

Help Variable

Type

R/W

Use

578

versionstringR

The version of HyperChem

579

serial-number

stringR

The serial number of the copy ofHyperChem in use#

Help Command

Arguments

Use

580

help

string

Displays help for the topic string#

Help Menu Activator

Use

Dialog Box

581

menu-help-index

Displays help index

HyperChem Help582

menu-help-keyboard

Displays keyboard information

HyperChem Help583

menu-help-commands

Displays instructions about using
HyperChem commands

HyperChem Help584

menu-help-tools

Displays instructions about using
HyperChem tools

HyperChem Help585

menu-help-scriptsand-dde

Displays instructions on how to use
HyperChem script messages

HyperChem Help586

menu-help-on-context

Displays context sensitive help
cursorHyperChem Help587

menu-help-glossary

Displays definitions of HyperChem terms

HyperChem Help588

menu-help-using-help

Displays instructions about using HelpHyperChem Help589

menu-help-abouthyperchem

Displays information about HyperChem

HyperChem Help

578

Chapter 11

HyperChem Messages

Miscellaneous Commands
Command

Arguments

Use

590

write-atom-map

filename

Writes a mapping of backend atom numbers to HyperChem

591

variable-changed

variable nameCauses HyperChem to operate as if theprovided variable changed in value, notifying all “watchers” of its current value.

592

declare-integer

stringDeclare a new integer variable593

declare-string

stringDeclare a new string variable

594

push

stringPush copy of current value onto stack595

pop-value

stringRestore pushed value596

pop-no-value

stringPop stack, don’t restore value597

togglestringInvert value of Boolean variable named instring598

print-variable-list

filename

Write a summary of the state variables tothe filename599

factory-settingsnone

Reset all the options of HyperChem to its
out-of-the-box state600

load-user-menu

filename

Load a customized menu from this filename

601

switch-to-usermenu

none

Use a customized menu

602

load-default-menu

none

Use the default menus

Scripts and DDE

579

HyperChem Messages

Miscellaneous Variables#

Miscellaneous
Variable

Type

R/W

Use

603

mechanicsdata

specialR

Contains the following information to
support a back-end calculation:(a) type of calculation [single-point (0),geometry optimization (1), molecular dynamics (2), or vibrations (4)];(b) using restraints [true (1) or false(0)];(c) optimization algorithm [steepest
descent (0), Fletcher-Reeves (1),Polak-Ribiere (2), or Block-diagonal
Newton-Raphson (3)];(d) (reserved for future use);(e) maximum number of cycles of
optimization;(f) desired RMS gradient in
optimization;(g) (reserved for future use);(h) whether or not fix the non-selected
atoms;(i) whether or not using periodic
boundary conditions;(j) whether or not using constanttemperature;(k) relaxation time;(l) (reserved for future use);(m) whether or not using restart;(n) random number seed;(o) x, y, z dimensions of the periodicbox;(p) α, β, γ angles of the periodic box(must all be 90° in this version);(q) starting temperature for heatingtime (T1);(r) starting temperature for running
time (T2);(s) final temperature for cooling time(T3);(t) time for the T1→T2 temperaturechange;(u) time at temperature T2;

580

Chapter 11

HyperChem Messages#

Miscellaneous
Variable

Type

R/W

Use
(v) time for the T2→T3 temperaturechange;(w) size of the time step for
integration;(x) size of temperature steps;(y) Langevin Dynamics friction coefficient(z, aa, bb, cc, dd, ee, ff) (reserved for
future use);(gg) data collection period (in time
steps);(hh) warning level [none (0), log file(1), or log file and message box (2)]mechanicsdata(continued)604

mechanics-info

specialR

Contains the following information to
support a molecular-mechanics backend calculation:(a–d) (reserved for future use);(e) whether or not to use a distancedependent dielectric;(f) (reserved for future use);(g) electrostatic option for MM+ [bonddipoles (0) or atomic charges (1)];(h) inverse of dielectric constant;(i–j) (reserved for future use);(k) scale for 1–4 van der Waals;(l) scale for 1–4 electrostatic;(m) type of cutoff;(n) inside cutoff radius;(o) outside cutoff radius;(p–u) reserved for future use;(v) level of detail for printing to log file605

atom-info

vectors of arrayR

Atom information that supports backend calculations. Each atom
corresponds to one vector that
contains the following items: index,
atomic number, atom type, atom flag,
selection flag, ring flag, coordination,
bonded atom indices (up to 12), atom
charge, x coordinate, y coordinate, zcoordinate, and atom mass

Scripts and DDE

581

HyperChem Messages#

Miscellaneous
Variable

Type

R/W

Use

606

cancel-menu

BooleanR, W

Whether the ‘Cancel’ menu is up(other items grayed out) instead of thenormal menu

607

info-variabletarget

stringR, W

Variable for which info is required

608

one-line-arrays

BooleanR, W

Whether to emit arrays all on one line.

609

info-accessstringR

Access (R, W, RW) for info-variabletarget

610

info-enum-idof

stringR

Binary id of info-enum-target value forinfo-variable-target

611

info-enum-list

stringR

If enumerated type, list of enumerated
values for info-variable-target

612

info-factorysetting

stringR

Factory setting value for info-variabletarget

613

info-id-of

intR

Binary id of info-variable-target

614

info-type-of

intRType of info-variable-target

615

info-type-ofelement

int

R

If info-type-of is array or vector, type ofelements616

custom-title

stringR, W

Appends string to title in program window title bar

617

window-height

int

R, W

Height of program window in pixels

618

window-width

int

R, W

Width of program window in pixels

619

workspaceheight

int

R, W

Height of workspace in pixels

620

workspacewidth

int

R, W

Width of the workspace of pixels.

582

Chapter 11

HyperChem Messages#

Miscellaneous
Variable

Type

R/W

Use

621

gradient-x

float (1e+010 ...
1e+010)R, W

Molecular gradient in the x direction

622

gradient-y

float (1e+010 ...
1e+010)R, W

Molecular gradient in the y direction

623

gradient-z

float (1e+010 ...
1e+010)R, W

Molecular gradient in the z direction

624

gradients

array of float,
float, float

R, W

The x, y, and z gradients of atom iat inmolecule imol

625

module-namestringR

Current name of module.

Scripts and DDE

583

Cross Reference of HyperChem Messages

Cross Reference of HyperChem Messages
The numbers that appear in the first column of each of the previous tables are used in the following alphabetic cross-reference. Use
this cross-reference as an index to help you locate the message youwant to use.

Message Cross-ReferenceThis alphabetic cross-reference applies to the previous tables containing HyperChem message variables, commands, and menu activators. The numbers listed are the message numbers for the preceding pages; they are not page numbers.
You can use the on-line help Search function to find any message
by searching for part of the message. For example, you can display
a list of all messages that include a word (such as “hin” or “atom”),
and then display the definition of the specific message that you
want.
Caution: Use this cross-reference only for finding messages in thetables. The syntax of a cross-reference might not match the original script message.

584

Chapter 11

Message Cross-Reference

Numerics
3D surface display toggle . . . . . . . . . . . . #230
3D surface, display type . . . . . . . . . . . . . #229

A
ab initio results, export . . . . . . . . . . . . . . . #21
ab initio results, import . . . . . . . . . . . . . . #25
ab initio setup . . . . . . . . . . . . . . . . . . . . #350
abinitio-buffer-size . . . . . . . . . . . . . . . . . #298
abinitio-calculate-gradient . . . . . . . . . . . #305
abinitio-cutoff . . . . . . . . . . . . . . . . . . . . #297
abinitio-direct-scf . . . . . . . . . . . . . . . . . . #301
abinitio-d-orbitals . . . . . . . . . . . . . . . . . . #304
abinitio-integral-format . . . . . . . . . . . . . #299
abinitio-integral-path . . . . . . . . . . . . . . . #300
abinitio-mo-initial-guess . . . . . . . . . . . . . #296
abinitio-mp2-correlation-energy . . . . . . . #306
abinitio-mp2-frozen-core . . . . . . . . . . . . #307
abinitio-scf-convergence . . . . . . . . . . . . #303
abinitio-use-ghost-atoms . . . . . . . . . . . . #302
about-hyperchem . . . . . . . . . . . . . . . . . . #575
accelerate-scf-convergence . . . . . . . . . . . #287
acceptance ratio, Monte Carlo . . . . . . . . #552
add hydrogens . . . . . . . . . . . . . . . . . . . . #135
add-amino-acid . . . . . . . . . . . . . . . . . . . #255
add-nucleic-acid . . . . . . . . . . . . . . . . . . . #258
a-form, DNA . . . . . . . . . . . . . . . . . . . . . #259
algorithm, geometry optimization . . . . . #387
align molecule . . . . . . . . . . . . . . . . . . . . #100align viewer . . . . . . . . . . . . . . . . . . . #76, #99
align-molecule . . . . . . . . . . . . . . . . . . . . . #75
all atoms . . . . . . . . . . . . . . . . . . . . . . . . #139
allow-ions . . . . . . . . . . . . . . . . . . . #106, #137
alpha helix . . . . . . . . . . . . . . . . . . . . . . . #256
alpha orbital . . . . . . . . . . . . . . . . . . . . . . #376
alpha torsion angle, nucleic acid . . . . . . #246
alpha-orbital-occupancy . . . . . . . . . . . . . #444
alpha-scf-eigenvector . . . . . . . . . . . . . . . #442
amino acid, add . . . . . . . . . . . . . . #255, #263
amino-alpha-helix . . . . . . . . . . . . . . . . . #256
amino-beta-sheet . . . . . . . . . . . . . . . . . . #257
amino-isomer . . . . . . . . . . . . . . . . . . . . . #244
amino-omega . . . . . . . . . . . . . . . . . . . . . #243

amino-phi . . . . . . . . . . . . . . . . . . . . . . . #241
amino-psi . . . . . . . . . . . . . . . . . . . . . . . . #242
angle, bond . . . . . . . . . . . . . . . . . . #84, #102
angle, constrain bond . . . . . . . . . . . . . . #147
angle, constrain torsion . . . . . . . . . . . . . #148
animate, amplitude . . . . . . . . . . . . . . . . #425
animate, number of cycles . . . . . . . . . . . #427
animate, number of steps . . . . . . . . . . . #426
animate-vibrations . . . . . . . . . . . . . . . . . #424
append-dynamics-average . . . . . . . . . . . #462
append-dynamics-graph . . . . . . . . . . . . #463
append-omsgs-to-file . . . . . . . . . . . . . . . #497
array type . . . . . . . . . . . . . . . . . . . . . . . #601
arrays, format . . . . . . . . . . . . . . . . . . . . . #594
assign-basisset . . . . . . . . . . . . . . . . . . . . #347
atom charge, set . . . . . . . . . . . . . . . . . . #109
atom coordinates . . . . . . . . . . . . . . . . . . #535
atom count, selected . . . . . . . . . . . . . . . #150
atom map, write . . . . . . . . . . . . . . . . . . #576
ATOM records, PDB file . . . . . . . . . . . . . . . #9
atom type, set . . . . . . . . . . . . . . . #108, #142
atom types, calculate . . . . . . . . . . . . . . . #140
atom, create . . . . . . . . . . . . . . . . . . . . . #112
atom, cycle stereo . . . . . . . . . . . . . . . . . #131
atom, delete . . . . . . . . . . . . . . . . . . . . . #113
atom, deselect . . . . . . . . . . . . . . . . . . . . #161
atom, select . . . . . . . . . . . . . . . . . #160, #168
atom, selected . . . . . . . . . . . . . . . . . . . . #151
atom, stereo . . . . . . . . . . . . . . . . . . . . . #132
atom-basisset . . . . . . . . . . . . . . . . . . . . . #528
atom-charge . . . . . . . . . . . . . . . . . . . . . #525
atom-color . . . . . . . . . . . . . . . . . . . . . . . #530
atom-count . . . . . . . . . . . . . . . . . . . . . . #541
atom-extra-basisset . . . . . . . . . . . . . . . . #529
atomic motion, maximum, Monte Carlo #402
atomic velocity, set . . . . . . . . . . . . . . . . #346
atomic-number . . . . . . . . . . . . . . . . . . . #522
atomic-symbol . . . . . . . . . . . . . . . . . . . . #523
atom-info . . . . . . . . . . . . . . . . . . . . . . . . #591
atom-labels . . . . . . . . . . . . . . . . . . . . . . #214
atom-label-text . . . . . . . . . . . . . . . . . . . #531
atom-mass . . . . . . . . . . . . . . . . . . . . . . . #527
atom-name . . . . . . . . . . . . . . . . . . . . . . #521
atoms, all . . . . . . . . . . . . . . . . . . . . . . . . #139
atoms, cut . . . . . . . . . . . . . . . . . . . . . . . . #87
atoms, delete . . . . . . . . . . . . . . . . . . . . . . #77
atoms, number selected . . . . . . . . . . . . . #150

Scripts and DDE

585

Message Cross-Reference
atoms, paste . . . . . . . . . . . . . . . . . . . . . . #90
atoms, united . . . . . . . . . . . . . . . . . . . . #138
atom-spin-density-at-nucleus . . . . . . . . #358
atom-spin-population . . . . . . . . . . . . . . #359
atom-type . . . . . . . . . . . . . . . . . . . . . . . #524
attached atoms . . . . . . . . . . . . . . . . . . . #536
attachments, count . . . . . . . . . . . . . . . . #544
auxilliary-basis . . . . . . . . . . . . . . . . . . . . #329
averages period, dynamics . . . . . . . . . . #418
axes, show . . . . . . . . . . . . . . . . . #210, #236

Bbackbone, select . . . . . . . . . . . . . . . . . . #180
back-clip . . . . . . . . . . . . . . . . . . . . . . . . . #73
back-end support . . . . . . . #589, #590, #591
backend-active . . . . . . . . . . . . . . . . . . . #315
backend-communications . . . . . . . . . . . #316
backend-host-name . . . . . . . . . . . . . . . #317
backend-process-count . . . . . . . . . . . . . #320
backend-user-id . . . . . . . . . . . . . . . . . . #318
backend-user-password . . . . . . . . . . . . . #319
background, printer page color . . . . . . . . #38
backwards, nucleic acid construction . . #253
balls-highlighted . . . . . . . . . . . . . . . . . . #187
balls-radius-ratio . . . . . . . . . . . . . . . . . . #188
balls-shaded . . . . . . . . . . . . . . . . . . . . . #186
band count, uv . . . . . . . . . . . . . . . . . . . #434
band, ir count . . . . . . . . . . . . . . . . . . . . #429
basis set, assign . . . . . . . . . . . . . . . . . . . #347
basis set, atom . . . . . . . . . . . . . . . . . . . #528
basis set, extra atom . . . . . . . . . . . . . . . #529
basisset-count . . . . . . . . . . . . . . . . . . . . #380
bath relaxation time, dynamics . . . . . . . #413
bend-energy . . . . . . . . . . . . . . . . . . . . . #557
beta orbital . . . . . . . . . . . . . . . . . . . . . . #376
beta sheet . . . . . . . . . . . . . . . . . . . . . . . #257
beta torsion angle, nucleic acid . . . . . . . #247
beta-orbital-occupancy . . . . . . . . . . . . . #445
beta-scf-eigenvector . . . . . . . . . . . . . . . #443
b-form, DNA . . . . . . . . . . . . . . . . . . . . . #260
bitmap image . . . . . . . . . . . . . . . . . #40, #41
black & white, image . . . . . . . . . . . . . . . #47
bond angle, constrain . . . . #118, #122, #147
bond angle, set . . . . . . . . . . . . . . . #84, #102
bond color . . . . . . . . . . . . . . . . . . . . . . #193

586

Chapter 10

bond functions, ab initio . . . . . . . . . . . . .#302
bond length, constrain . . . .#117, #121, #146
bond length, set . . . . . . . . . . . . . . .#83, #101
bond order . . . . . . . . . . . . . . . . . . . . . . .#114
bond torsion . . . . . . . . . . . . . . . . . . . . . .#103
bond torsion, constrain . . . . . . . . . . . . . .#123
bond, bond-down constraint . . . . . . . . .#127
bond, bond-up constraint . . . . . . . . . . . .#126
bond, create or delete . . . . . . . . . . . . . . .#114
bond, cycle stereo . . . . . . . . . . . . . . . . . .#130
bond-color . . . . . . . . . . . . . . . . . . . . . . . .#11
bonded atoms . . . . . . . . . . . . . . . . . . . .#536
bond-spacing-display-ratio . . . . . . . . . . .#207
Boolean variable, toggle . . . . . . . . . . . . .#583
boundary conditions, periodic . . . . . . . .#392
buffer size, ab initio . . . . . . . . . . . . . . . . .#298
build, model . . . . . . . . . . . . . . . . . . . . . .#136
builder-enforces-stereo . . . . . . . . . . . . . .#107
buttons, hide . . . . . . . . . . . . . . . . . . . . .#213

C
calculate types . . . . . . . . . . . . . . . . . . . .#140
calculation-method . . . . . . . . . . . . . . . . .#269
cancel . . . . . . . . . . . . . . . . . . . . . . . . . . .#520
cancel-menu . . . . . . . . . . . . . . . . . . . . . .#592
cancel-notify . . . . . . . . . . . . . . . . . . . . . .#494
change-stereochem . . . . . . . . . . . . . . . .#132
change-user-menuitem . . . . . . . . . . . . . .#513
charge density . . . . . . . . . . . . . . . . . . . .#472
charge, atom . . . . . . . . . . . . . . . .#109, #525
charge, residue . . . . . . . . . . . . . . . . . . . .#537
charge, set . . . . . . . . . . . . . . . . . .#109, #143
chi torsion angle, nucleic acid . . . . . . . . .#252
chirality . . . . . . . . . . . . . . . . . . . . . . . . . .#545
CI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#309
ci-criterion . . . . . . . . . . . . . . . . . . . . . . .#313
ci-excitation-energy . . . . . . . . . . . . . . . .#312
ci-occupied-orbitals . . . . . . . . . . . . . . . . .#310
ci-state-to-optimize . . . . . . . . . . . . . . . . .#391
ci-unoccupied-orbitals . . . . . . . . . . . . . . .#311
clear selection . . . . . . . . . . . . . . . . . . . . . .#86
clear workspace . . . . . . . . . . . . . . . . . . . .#59
client, execute . . . . . . . . . . . . . . . .#511, #512
clip z . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#98
clip, back . . . . . . . . . . . . . . . . . . . . . . . . .#73

Message Cross-Reference
clip, front . . . . . . . . . . . . . . . . . . . . . . . . . #72
clipboard . . . . . . . . . . . . . . . . . . . . . . . . . #45
clipboard destination, image . . . . . . . . . . #45
clip-cursor . . . . . . . . . . . . . . . . . . . . . . . . #29
clip-icon-step . . . . . . . . . . . . . . . . . . . . . . #35
color, 24-bit . . . . . . . . . . . . . . . . . . . . . . . #41
color, atom . . . . . . . . . . . . . . . . . . . . . . . #530
color, bond . . . . . . . . . . . . . . . . . . . . . . . #11
color, cylinders . . . . . . . . . . . . . . . . . . . . #193
color, element . . . . . . . . . . #220, #221, #240
color, image . . . . . . . . . . . . . . . . . . . . . . . #47
color, negative orbitals . . . . . . . . . . . . . . . #14
color, positive orbitals . . . . . . . . . . . . . . . . #13
color, selection . . . . . . . . . . . . . . . . #12, #239
color, window . . . . . . . . . . . . . . . . . . . . . #10
color-selection . . . . . . . . . . . . . . . . . . . . #219
commands, help . . . . . . . . . . . . . . . . . . #569
comments, log . . . . . . . . . . . . . . . . . #54, #66
compare files . . . . . . . . . . . . . . . . . . . . . . #58
compile parameter file . . . . . . . . . . . . . . #356
compile type rules . . . . . . . . . . . . . . . . . #141
compile-script-file . . . . . . . . . . . . . . . . . . #515
complement selection . . . . . . . . . . . . . . #174
CONECT records, PDB file . . . . . . . . . . . . . #8
configuration . . . . . . . . . . . . . . . . . . . . . #308
configuration-interaction . . . . . . . . . . . . #309
connectivity-in-pdb-file . . . . . . . . . . . . . . . #8
constant temp, dynamics . . . . . . . . . . . . #412
constant, huckel . . . . . . . . . . . . . . . . . . . #281
constant, huckel, weighted . . . . . . . . . . #283
constrain bond angle . . . . . . . . . . #118, #147
constrain bond length . . . . . . . . . #117, #146
constrain bond torsion . . . . . . . . . #119, #148
constrain geometry . . . . . . . . . . . #116, #145
constrain stereochemistry . #126, #127, #128,#129, #130, #131, #132
constrain torsion . . . . . . . . . . . . . . . . . . #148
constrain-bond-up . . . . . . . . . . . . . . . . . #126
constrain-change-stereo . . . . . . . . . . . . . #129
constrain-drawing . . . . . . . . . . . . . . . . . #120
constrain-fix-stereo . . . . . . . . . . . . . . . . . #128
constraint, remove . . . . . . . #121, #122, #123
constraint, remove all stereo constraints . #125
constraint, remove stereo . . . . . . . . . . . . #124
constraint-bond-down . . . . . . . . . . . . . . #127
contour color . . . . . . . . . . . . . . . . . . #13, #14
contour graph increment . . . . . . . . . . . . #384

contour graph levels . . . . . . . . . . . . . . . #381
contour graph, data type . . . . . . . . . . . . #373
contour graph, offset . . . . . . . . . . . . . . . #382
contour graph, orbital selection . . . . . . . #375
contour graph, start value . . . . . . #383, #385
contour increment . . . . . . . . . . . . . . . . . #386
contour plot . . . . . . . . . . . . . . . . . . . . . . #472
convergence limit, optimization . . . . . . . #388
convergence report, optimization . . . . . #394
convergence, ab initio SCF . . . . . . . . . . . #303
convergence, accelerate . . . . . . . . . . . . . #287
convergence, SCF . . . . . . . . . . . . . . . . . #285
cool steps, monte carlo . . . . . . . . . . . . . #401
cool time, dynamics . . . . . . . . . . . . . . . . #397
coordinate, residue . . . . . . . . . . . . . . . . #539
coordinates . . . . . . . . . . . . . . . . . . . . . . #535
coordination . . . . . . . . . . . . . . . . . . . . . #544
copy image . . . . . . . . . . . . . . . . . . . . . . . #91
copy selection . . . . . . . . . . . . . . . . . . . . . #88
correlation energy . . . . . . . . . . . . . . . . . #562
correlation energy, MP2 . . . . . . . . . . . . . #306
correlation-functional . . . . . . . . . . . . . . . #330
count atoms . . . . . . . . . . . . . . . . . . . . . . #541
count molecules . . . . . . . . . . . . . . . . . . . #540
count orbitals . . . . . . . . . . . . . . . . . . . . . #543
count residues . . . . . . . . . . . . . . . . . . . . #542
count, neighbors . . . . . . . . . . . . . . . . . . #544
counter ions, add . . . . . . . . . . . . . . . . . . #267
CPK rendering, display buffering . . . . . . #202
cpk-max-double-buffer-atoms . . . . . . . . #202
create-atom . . . . . . . . . . . . . . . . . . . . . . #112
current-file-name . . . . . . . . . . . . . . . . . . . . #1
cursor, include in image . . . . . . . . . . . . . . #46
cursor, xy rotation . . . . . . . . . . . . . . . . . . #15
cursor, z clip . . . . . . . . . . . . . . . . . . . . . . . #29
cursor, z rotation . . . . . . . . . . . . . . . . . . . #18
cursor, z translation . . . . . . . . . . . . . . . . . #27
cursor, zoom . . . . . . . . . . . . . . . . . . . . . . #28
custom-title . . . . . . . . . . . . . . . . . . . . . . #602
cut selection . . . . . . . . . . . . . . . . . . . . . . . #87
cutoff, ab initio . . . . . . . . . . . . . . . . . . . #297
cutoff-inner-radius . . . . . . . . . . . . . . . . . #279
cutoff-outer-radius . . . . . . . . . . . . . . . . . #280
cutoff-type . . . . . . . . . . . . . . . . . . . . . . . #278
cycle-atom-stereo . . . . . . . . . . . . . . . . . #131
cycle-bond-stereo . . . . . . . . . . . . . . . . . #130
cylinders-color-by-element . . . . . . . . . . . #193

Scripts and DDE

587

Message Cross-Referencecylinders-width-ratio . . . . . . . . . . . . . . . #192

Dd orbitals, ab initio . . . . . . . . . . . . . . . . #304
data collection period, dynamics . . . . . . #415
data, graph . . . . . . . . . . . . . . . . . . . . . . #374
data, mechanics . . . . . . . . . . . . . #589, #590
DDE, help . . . . . . . . . . . . . . . . . . . . . . . #571
declare-integer . . . . . . . . . . . . . . . . . . . #578
declare-string . . . . . . . . . . . . . . . . . . . . #579
default element . . . . . . . . . . . . . . #105, #134
default menu, use . . . . . . . . . . . . . . . . . #588
default setting, info . . . . . . . . . . . . . . . . #598
defaults, restore . . . . . . . . . . . . . . . . . . . #585
delete-atom . . . . . . . . . . . . . . . . . . . . . #113
delete-file . . . . . . . . . . . . . . . . . . . . . . . . #57
delete-named-selection . . . . . . . . . . . . . #166
delete-selected-atoms . . . . . . . . . . . . . . . #77
delta torsion angle, nucleic acid . . . . . . #249
delta, maximum, Monte Carlo . . . . . . . #402
deselect all . . . . . . . . . . . . . . . . . . . . . . #158
diameter, cylinders . . . . . . . . . . . . . . . . #192
diameters, balls . . . . . . . . . . . . . . . . . . . #188
dielectric constant, method for . . . . . . . #273
dielectric constant, scale factor . . . . . . . #274
DIIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . #287
dipole moment . . . . . . . . . . . . . . #446, #447
dipole moment, display . . . . . . . . . . . . . #237
dipole, export . . . . . . . . . . . . . . . . . #19, #56
dipole, import . . . . . . . . . . . . . . . . . #23, #55
dipole, uv components . . . . . . . . . . . . . #438
dipole, uv total . . . . . . . . . . . . . . . . . . . #437
dipole, uv transition . . . . . . . . . . . . . . . #439
dipole-moment . . . . . . . . . . . . . . . . . . . #446
dipole-moment-components . . . . . . . . . #447
dipoles, show . . . . . . . . . . . . . . . . . . . . #211
direct scf calculation, ab initio . . . . . . . . #301
directory, current . . . . . . . . . . . . . . . . . . . . #2
display buffering . . . . . . . . . . . . . #201, #202
DNA, A form . . . . . . . . . . . . . . . . . . . . . #259
DNA, B form . . . . . . . . . . . . . . . . . . . . . #260
DNA, Z form . . . . . . . . . . . . . . . . . . . . . #261
do-langevin-dynamics . . . . . . . . . . . . . . #460
do-molecular-dynamics . . . . . . . . . . . . . #459
do-monte-carlo . . . . . . . . . . . . . . . . . . . #461

588

Chapter 10

do-optimization . . . . . . . . . . . . . . . . . . .#457
do-qm-calculation . . . . . . . . . . . . . . . . . .#360
do-qm-graph . . . . . . . . . . . . . . . . . . . . .#361
do-qm-isosurface . . . . . . . . . . . . . . . . . .#362
d-orbitals-on-second-row (huckel) . . . . . .#284
do-single-point . . . . . . . . . . . . . . . . . . . .#456
dot-surface-angle . . . . . . . . . . . . . . . . . .#200
double buffered atoms . . . . . . . . . . . . . .#202
double strand, nucleic acid . . . . . . . . . . .#254
double-buffered-display . . . . . . . . . . . . .#201
do-vibrational-analysis . . . . . . . . . . . . . . .#458
draw atom . . . . . . . . . . . . . . . . . . . . . . .#112
dynamics average, append . . . . . . . . . . .#462
dynamics graph, append . . . . . . . . . . . .#463
dynamics screen refresh period . . . . . . . .#393
dynamics, Langevin, calculate . . . . . . . . .#460
dynamics-average-period . . . . . . . . . . . .#418
dynamics-bath-relaxation-time . . . . . . . .#413
dynamics-collection-period . . . . . . . . . . .#415
dynamics-constant-temp . . . . . . . . . . . . .#412
dynamics-cool-time . . . . . . . . . . . . . . . . .#397
dynamics-final-temp . . . . . . . . . . . . . . . .#405
dynamics-friction-coefficient . . . . . . . . . .#414
dynamics-heat-time . . . . . . . . . . . . . . . .#395
dynamics-info-elapsed-time . . . . . . . . . .#550
dynamics-info-kinetic-energy . . . . . . . . .#548
dynamics-info-last-update . . . . . . . . . . . .#551
dynamics-info-potential-energy . . . . . . . .#547
dynamics-info-temperature . . . . . . . . . . .#549
dynamics-info-total-energy . . . . . . . . . . .#546
dynamics-playback . . . . . . . . . . . . . . . . .#408
dynamics-playback-end . . . . . . . . . . . . . .#410
dynamics-playback-period . . . . . . . . . . .#411
dynamics-playback-start . . . . . . . . . . . . .#409
dynamics-restart . . . . . . . . . . . . . . . . . . .#407
dynamics-run-time . . . . . . . . . . . . . . . . .#396
dynamics-seed . . . . . . . . . . . . . . . . . . . .#419
dynamics-simulation-temp . . . . . . . . . . .#404
dynamics-snapshot-filename . . . . . . . . . .#416
dynamics-snapshot-period . . . . . . . . . . .#417
dynamics-starting-temp . . . . . . . . . . . . .#403
dynamics-temp-step . . . . . . . . . . . . . . . .#406
dynamics-time-step . . . . . . . . . . . . . . . . .#398

Message Cross-ReferenceEeigenvalue, scf . . . . . . . . . . . . . . . . . . . . #441
eigenvector, scf alpha . . . . . . . . . . . . . . . #442
eigenvector, scf beta . . . . . . . . . . . . . . . #443
elapsed time, molecular dynamics . . . . . #550
electronic spectrum, compute . . . . . . . . #475
electrostatic potential . . . . . . . . . . . . . . . #472
electrostatic scale factor . . . . . . . . . . . . . #275
electrostatics, mechanics mmp . . . . . . . . #277
element color . . . . . . . . . . . . . . . . #220, #240
element color, revert . . . . . . . . . . . . . . . #221
element, default . . . . . . . . . . . . . . #105, #134
element, symbol . . . . . . . . . . . . . . . . . . . #523
energy, bend . . . . . . . . . . . . . . . . . . . . . #557
energy, ci excitation . . . . . . . . . . . . . . . . #312
energy, electrostatic . . . . . . . . . . . . . . . . #561
energy, hydrogen bond . . . . . . . . . . . . . #560
energy, MP2 . . . . . . . . . . . . . . . . . . . . . . #562
energy, nonbonded . . . . . . . . . . . . . . . . #559
energy, scf . . . #448, #449, #450, #451, #452
energy, stretch . . . . . . . . . . . . . . . . . . . . #556
energy, torsion . . . . . . . . . . . . . . . . . . . . #558
energy, total . . . . . . . . . . . . . . . . . . . . . . #555
energy, uv . . . . . . . . . . . . . . . . . . . . . . . #435
enlarge . . . . . . . . . . . . . . . . . . . . . . . #34, #97
ensemble averaging, calculate . . . . . . . . #461
enum id, info . . . . . . . . . . . . . . . . . . . . . #596
enum list, info . . . . . . . . . . . . . . . . . . . . #597
epsilon torsion angle, nucleic acid . . . . . #250
erase atom . . . . . . . . . . . . . . . . . . . . . . . #113
erase atoms . . . . . . . . . . . . . . . . . . . #77, #86
erase file . . . . . . . . . . . . . . . . . . . . . . . . . . #57
error . . . . . . . . . . . . . . . . . . . . . . . . . . . . #503
error message format . . . . . . . . . . #505, #506
errors-are-not-omsgs . . . . . . . . . . . . . . . #499
errors-are-omsgs . . . . . . . . . . . . . . . . . . #498
estatic-energy . . . . . . . . . . . . . . . . . . . . . #561
exchange-functional . . . . . . . . . . . . . . . . #331
excited state, electronic . . . . . . . . . . . . . #309
excited-state . . . . . . . . . . . . . . . . . . . . . . #291
execute-client . . . . . . . . . . . . . . . . . . . . . #511
execute-hyperchem-client . . . . . . . . . . . #512
execute-string . . . . . . . . . . . . . . . . . . . . #517
exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #71
exit-script . . . . . . . . . . . . . . . . . . . . . . . . #514
expand . . . . . . . . . . . . . . . . . . . . . . . . . . . #82

explicit hydrogens . . . . . . . . . . . . #104, #133
export quantum results . . . . . . . . . . . . . . #67
export-dipole . . . . . . . . . . . . . . . . . . . . . . #19
export-ir . . . . . . . . . . . . . . . . . . . . . . . . . . #20
export-orbitals . . . . . . . . . . . . . . . . . . . . . #21
export-property-file . . . . . . . . . . . . . . . . . #56
export-uv . . . . . . . . . . . . . . . . . . . . . . . . . #22
extend ring . . . . . . . . . . . . . . . . . . . . . . #177
extend side chain . . . . . . . . . . . . . . . . . . #178
extend to sp3 . . . . . . . . . . . . . . . . . . . . . #179
extended atom . . . . . . . . . . . . . . . . . . . #534
extra basis set, atom . . . . . . . . . . . . . . . #529

Ffactory setting, info . . . . . . . . . . . . . . . . #598
factory-settings . . . . . . . . . . . . . . . . . . . #585
field-direction . . . . . . . . . . . . . . . . . . . . . #323
field-strength . . . . . . . . . . . . . . . . . . . . . #324
file comparison . . . . . . . . . . . . . . . . . . . . #58
file destination, image . . . . . . . . . . . . . . . #43
file merging . . . . . . . . . . . . . . . . . . . . . . . #17
file path . . . . . . . . . . . . . . . . . . . . . . . . . . . #2
file, delete . . . . . . . . . . . . . . . . . . . . . . . . #57
file, hin . . . . . . . . . . . . . . . . . . . . . . . . . . . #5
file, merge . . . . . . . . . . . . . . . . . . . . #49, #61
file, new . . . . . . . . . . . . . . . . . . . . . . . . . . #59
file, open . . . . . . . . . . . . . . . . . . . . . #48, #60
file, save . . . . . . . . . . . . . . . . . . . . . . . . . . #62
file, save-as . . . . . . . . . . . . . . . . . . . . . . . . #63
file, write . . . . . . . . . . . . . . . . . . . . . . . . . #50
file-diff-message . . . . . . . . . . . . . . . . . . . . #58
file-format . . . . . . . . . . . . . . . . . . . . . . . . . #3
filename for current system . . . . . . . . . . . . #1
filename, snapshots . . . . . . . . . . . . . . . . #416
file-needs-saved . . . . . . . . . . . . . . . . . . . . . #4
final temp, dynamics . . . . . . . . . . . . . . . #405
force field parameters changed . . . . . . . #314
format, file (HIN, ENT, etc.) . . . . . . . . . . . . #3
frequency, ir . . . . . . . . . . . . . . . . . . . . . . #430
friction coefficient, dynamics . . . . . . . . . #414
front-clip . . . . . . . . . . . . . . . . . . . . . . . . . #72
frozen core, MP2 . . . . . . . . . . . . . . . . . . #307

Scripts and DDE

589

Message Cross-ReferenceGgamma torsion angle, nucleic acid . . . . #248
geometry optimization, algorithm . . . . . #387
geometry optimization, compute #457, #466
geometry, constrain . . . . . . . . . . #116, #145
ghost atoms, ab initio . . . . . . . . . . . . . . #302
global-inhibit-redisplay . . . . . . . . . . . . . #489
glossary, help . . . . . . . . . . . . . . . . . . . . #573
gradient, calculate ab initio . . . . . . . . . . #305
gradient, rms . . . . . . . . . . . . . . . . . . . . #554
gradients . . . . . . . . . . . . . . . . . . . . . . . . #610
gradient-x . . . . . . . . . . . . . . . . . . . . . . . #607
gradient-y . . . . . . . . . . . . . . . . . . . . . . . #608
gradient-z . . . . . . . . . . . . . . . . . . . . . . . #609
graph contours . . . . . . . . . . . . . . . . . . . #361
graph-beta . . . . . . . . . . . . . . . . . . . . . . #376
graph-contour-increment . . . . . . . . . . . #384
graph-contour-increment-other . . . . . . #386
graph-contour-levels . . . . . . . . . . . . . . . #381
graph-contour-start . . . . . . . . . . . . . . . . #383
graph-contour-start-other . . . . . . . . . . . #385
graph-data-row . . . . . . . . . . . . . . . . . . . #374
graph-data-type . . . . . . . . . . . . . . . . . . #373
graph-horizontal-grid-size . . . . . . . . . . . #377
graph-orbital-offset . . . . . . . . . . . . . . . . #379
graph-orbital-selection-type . . . . . . . . . #375
graph-plane-offset . . . . . . . . . . . . . . . . . #382
graph-vertical-grid-size . . . . . . . . . . . . . #378
greyscale, image . . . . . . . . . . . . . . . . . . . #47
grid data, isosurface #365, #366, #367, #368,#369, #370
grid step size, isosurface . . . . . . . . . . . . #364
grid, contour graph . . . . . . . . . . . #377, #378
grid, isosurface . . . . . . . . . . . . . . . . . . . #464
grid-max-value . . . . . . . . . . . . . . . . . . . #195
grid-min-value . . . . . . . . . . . . . . . . . . . . #194

H
hbond-energy . . . . . . . . . . . . . . . . . . . . #560
heat steps, Monte Carlo . . . . . . . . . . . . #399
heat time, dynamics . . . . . . . . . . . . . . . #395
heat-of-formation . . . . . . . . . . . . . . . . . #452
height, window . . . . . . . . . . . . . . . . . . . #603

590

Chapter 10

help . . . . . . . . . . . . . . . . . . . . . . . . . . . .#566
help, using . . . . . . . . . . . . . . . . . . . . . . .#574
help-commands . . . . . . . . . . . . . . . . . . .#569
help-glossary . . . . . . . . . . . . . . . . . . . . . .#573
help-index . . . . . . . . . . . . . . . . . . . . . . .#567
help-keyboard . . . . . . . . . . . . . . . . . . . . .#568
help-tools . . . . . . . . . . . . . . . . . . . . . . . .#570
hide selection . . . . . . . . . . . . . . . . . . . . .#226
hide-toolbar . . . . . . . . . . . . . . . . . . . . . .#213
highlights, balls . . . . . . . . . . . . . . . . . . . .#187
highlights, spheres . . . . . . . . . . . . . . . . .#190
hin file contents . . . . . . . . . . . . . . . . . .#5, #6
hin file, velocities . . . . . . . . . . . . . . . . . . . . .#5
horizontal grid size, contour . . . . . . . . . .#377
host name, backend . . . . . . . . . . . . . . . .#317
huckel method, d-orbitals . . . . . . . . . . . .#284
huckel-constant . . . . . . . . . . . . . . . . . . .#281
huckel-scaling-factor . . . . . . . . . . . . . . . .#282
huckel-weighted . . . . . . . . . . . . . . . . . . .#283
hydrogen bonds, recompute . . . . . . . . . .#235
hydrogen bonds, show . . . . . . . . .#208, #234
hydrogen, extended atom . . . . . . . . . . .#534
hydrogens, add . . . . . . . . . . . . . . . . . . . .#135
hydrogens, explicit . . . . . . . . . . . .#104, #133
hydrogens, show . . . . . . . . . . . . .#203, #231
hydrogens-in-pdb-file . . . . . . . . . . . . . . . . .#7
HyperChem, about . . . . . . . . . . . . . . . . .#575

Iicon, xy rotation . . . . . . . . . . . . . . . . . . . .#30
icon, xy translation . . . . . . . . . . . . . . . . . .#32
icon, z clip . . . . . . . . . . . . . . . . . . . . . . . .#35
icon, z rotation . . . . . . . . . . . . . . . . . . . . .#31
icon, z translation . . . . . . . . . . . . . . . . . . .#33
icon, zoom . . . . . . . . . . . . . . . . . . . . . . . .#34
icons, hide . . . . . . . . . . . . . . . . . . . . . . .#213
id, info . . . . . . . . . . . . . . . . . . . . . . . . . .#599
ignore-script-errors . . . . . . . . . . . . . . . . .#478
image file . . . . . . . . . . . . . . . . . . . . . . . . .#43
image, copy . . . . . . . . . . . . . . . . . . . . . . .#91
image, setup . . . . . . . . . . . . . . . . . . .#39, #92
image-color . . . . . . . . . . . . . . . . . . . . . . .#47
image-destination-clipboard . . . . . . . . . . .#45
image-destination-file . . . . . . . . . . . . . . . .#43
image-destination-filename . . . . . . . . . . . .#44

Message Cross-Reference
image-file-bitmap . . . . . . . . . . . . . . . . . . . #40
image-file-bitmapRGB . . . . . . . . . . . . . . . #41
image-file-metafile . . . . . . . . . . . . . . . . . . #42
image-include-cursor . . . . . . . . . . . . . . . . #46
image-source-window . . . . . . . . . . . . . . . #39
import quantum results . . . . . . . . . . . . . . #68
import-dipole . . . . . . . . . . . . . . . . . . . . . . #23
import-ir . . . . . . . . . . . . . . . . . . . . . . . . . #24
import-orbitals . . . . . . . . . . . . . . . . . . . . . #25
import-property-file . . . . . . . . . . . . . . . . . #55
import-uv . . . . . . . . . . . . . . . . . . . . . . . . . #26
include file . . . . . . . . . . . . . . . . . . . . . . . . #61
include structure . . . . . . . . . . . . . . . . . . . #49
index, help . . . . . . . . . . . . . . . . . . . . . . . #567
inertial axes . . . . . . . . . . . . . . . . . . . . . . #210
inertial axes, show . . . . . . . . . . . . . . . . . #236
info, atom . . . . . . . . . . . . . . . . . . . . . . . #591
info, mechanics . . . . . . . . . . . . . . #589, #590
info-access . . . . . . . . . . . . . . . . . . . . . . . #595
info-enum-id-of . . . . . . . . . . . . . . . . . . . #596
info-enum-list . . . . . . . . . . . . . . . . . . . . . #597
info-factory-setting . . . . . . . . . . . . . . . . . #598
info-id-of . . . . . . . . . . . . . . . . . . . . . . . . #599
info-type-of . . . . . . . . . . . . . . . . . . . . . . #600
info-type-of-element . . . . . . . . . . . . . . . #601
info-variable-target . . . . . . . . . . . . . . . . . #593
inhibit-redisplay . . . . . . . . . . . . . . . . . . . #488
inner radius, cutoff . . . . . . . . . . . . . . . . . #279
integer, declare . . . . . . . . . . . . . . . . . . . #578
integral buffer, ab initio . . . . . . . . . . . . . #298
integral format, ab initio . . . . . . . . . . . . . #299
integral storage path, ab initio . . . #300, #301
integral threshold, ab initio . . . . . . . . . . #297
intensity, ir . . . . . . . . . . . . . . . . . . . . . . . #431
intensity, ir components . . . . . . . . . . . . . #432
invert . . . . . . . . . . . . . . . . . . . . . . . . . . . . #93
ionic ends, remove . . . . . . . . . . . . . . . . . #265
ions, allow . . . . . . . . . . . . . . . . . . #106, #137
IR spectra, export . . . . . . . . . . . . . . . . . . . #56
IR spectra, import . . . . . . . . . . . . . . . . . . . #55
IR spectrum, export . . . . . . . . . . . . . . . . . #20
IR spectrum, import . . . . . . . . . . . . . . . . . #24
IR spectrum, read . . . . . . . . . . . . . . . . . . . #68
IR spectrum, save . . . . . . . . . . . . . . . . . . . #67
ir-animate-amplitude . . . . . . . . . . . . . . . #425
ir-animate-cycles . . . . . . . . . . . . . . . . . . #427
ir-animate-steps . . . . . . . . . . . . . . . . . . . #426

ir-band-count . . . . . . . . . . . . . . . . . . . . . #429
ir-frequency . . . . . . . . . . . . . . . . . . . . . . #430
ir-intensity . . . . . . . . . . . . . . . . . . . . . . . #431
ir-intensity-components . . . . . . . . . . . . . #432
ir-normal-modes . . . . . . . . . . . . . . . . . . #433
is-extended-hydrogen . . . . . . . . . . . . . . #534
isis, copy sketch format . . . . . . . . . . . . . . #89
isomer, amino acid . . . . . . . . . . . . . . . . . #244
isosurface . . . . . . . . . . . . . . . . . . . . . . . . #472
isosurface display toggle . . . . . . . . . . . . #230
isosurface, display type . . . . . . . . . . . . . #229
isosurface, plot . . . . . . . . . . . . . . . . . . . . #362
isosurface, show . . . . . . . . . . . . . . . . . . . #209
isosurface-grid-step-size . . . . . . . . . . . . . #364
isosurface-hide-molecule . . . . . . . . . . . . #199
isosurface-map-function . . . . . . . . . . . . . #363
isosurface-map-function-display-legend . #371
isosurface-map-function-range . . . . . . . . #372
isosurface-mesh-quality . . . . . . . . . . . . . #464
isosurface-render-method . . . . . . . . . . . #197
isosurface-threshold . . . . . . . . . . . . . . . . #196
isosurface-transparency-level . . . . . . . . . #198
isosurface-x-min . . . . . . . . . . . . . . . . . . . #368
isosurface-x-nodes . . . . . . . . . . . . . . . . . #365
isosurface-y-min . . . . . . . . . . . . . . . . . . . #369
isosurface-y-nodes . . . . . . . . . . . . . . . . . #366
isosurface-z-min . . . . . . . . . . . . . . . . . . . #370
isosurface-z-nodes . . . . . . . . . . . . . . . . . #367
is-ring-atom . . . . . . . . . . . . . . . . . . . . . . #533
iterations, scf . . . . . . . . . . . . . . . . . . . . . #286

K
keyboard, help . . . . . . . . . . . . . . . . . . . . #568
kinetic energy, molecular dynamics . . . . #548

Llabel, atom . . . . . . . . . . . . . . . . . . . . . . . #531
labels . . . . . . . . . . . . . . . . . . . . . . . . . . . #238
labels, atom . . . . . . . . . . . . . . . . . . . . . . #214
labels, residue . . . . . . . . . . . . . . . . . . . . #215
Langevin dynamics, calculate . . . . . . . . . #460
Langevin dynamics, compute . . . . . . . . . #468
last update, molecular dynamics . . . . . . #551
Scripts and DDE

591

Message Cross-Reference
legend, isosurface . . . . . . . . . . . . . . . . . #371
length, bond . . . . . . . . . . . . . . . . . #83, #101
length, constrain bond . . . . . . . . . . . . . #146
level, selection . . . . . . . . . . . . . . . . . . . . #149
line width, bonds . . . . . . . . . . . . . . . . . #191
load structure . . . . . . . . . . . . . . . . . #48, #49
load-default-menu . . . . . . . . . . . . . . . . . #588
load-user-menu . . . . . . . . . . . . . . . . . . . #586
log comment . . . . . . . . . . . . . . . . . #54, #66
log, mechanics print level . . . . . . . . . . . #420
log, quantum print level . . . . . . . . . . . . #421
log, start . . . . . . . . . . . . . . . . . . . . . #52, #64
log, stop . . . . . . . . . . . . . . . . . . . . . #53, #65

Mmagnetic-field-direction . . . . . . . . . . . . #325
magnetic-field-strength . . . . . . . . . . . . . #326
magnify . . . . . . . . . . . . . . . . . . . . . . #82, #97
mapped function display range . . . . . . . #372
mapped function legend . . . . . . . . . . . . #371
mapped function, isosurface . . . . . . . . . #363
mass, atom . . . . . . . . . . . . . . . . . . . . . . #527
mass, set . . . . . . . . . . . . . . . . . . . . . . . . #144
max cycles, geometry optimization . . . . #389
max-iterations, scf calculation . . . . . . . . #286
mechanics-data . . . . . . . . . . . . . . . . . . . #589
mechanics-dielectric . . . . . . . . . . . . . . . #273
mechanics-dielectric-scale-factor . . . . . . #274
mechanics-electrostatic-scale-factor . . . . #275
mechanics-info . . . . . . . . . . . . . . . . . . . #590
mechanics-mmp-electrostatics . . . . . . . #277
mechanics-print-level . . . . . . . . . . . . . . #420
mechanics-van-der-waals-scale-factor . . #276
menu, load custom . . . . . . . . . . . . . . . . #586
menu, use custom . . . . . . . . . . . . . . . . . #587
menu, use default . . . . . . . . . . . . . . . . . #588
menu-build-add-hydrogens . . . . . . . . . . #135
menu-build-all-atoms . . . . . . . . . . . . . . #139
menu-build-allow-ions . . . . . . . . . . . . . . #137
menu-build-calculate-types . . . . . . . . . . #140
menu-build-compile-type-rules . . . . . . . #141
menu-build-constrain-bond-angle . . . . . #147
menu-build-constrain-bond-length . . . . #146
menu-build-constrain-bond-torsion . . . . #148
menu-build-constrain-geometry . . . . . . #145

592

Chapter 10

menu-build-default-element . . . . . . . . . .#134
menu-build-explicit-hydrogen . . . . . . . . .#133
menu-build-model-build . . . . . . . . . . . . .#136
menu-build-set-atom-type . . . . . . . . . . .#142
menu-build-set-charge . . . . . . . . . . . . . .#143
menu-build-set-mass . . . . . . . . . . . . . . . .#144
menu-build-united-atoms . . . . . . . . . . . .#138
menu-cancel . . . . . . . . . . . . . . . . . . . . . .#520
menu-compute-electronic-spectrum . . . .#475
menu-compute-geometry-optimization .#466
menu-compute-langevin-dynamics . . . . .#468
menu-compute-molecular-dynamics . . . .#467
menu-compute-monte-carlo . . . . . . . . . .#469
menu-compute-orbitals . . . . . . . . . . . . . .#473
menu-compute-plot-molecular-properties #472
menu-compute-single-point . . . . . . . . . .#465
menu-compute-transition-state . . . . . . . .#471
menu-compute-vibrational-spectrum . . .#474
menu-compute-vibrations . . . . . . . . . . . .#470
menu-databases-add-counter-ions . . . . .#267
menu-databases-amino-acids . . . . . . . . .#263
menu-databases-make-zwitterion . . . . . .#264
menu-databases-mutate . . . . . . . . . . . . .#268
menu-databases-nucleic-acids . . . . . . . . .#266
menu-databases-remove-ionic-ends . . . .#265
menu-display-color . . . . . . . . . . . . . . . . .#239
menu-display-element-color . . . . . . . . . .#240
menu-display-hide-selection . . . . . . . . . .#226
menu-display-isosurface . . . . . . . . . . . . .#229
menu-display-labels . . . . . . . . . . . . . . . .#238
menu-display-last-rendering . . . . . . . . . .#228
menu-display-overlay . . . . . . . . . . . . . . .#223
menu-display-recompute-h-bonds . . . . .#235
menu-display-rendering . . . . . . . . . . . . .#227
menu-display-scale-to-fit . . . . . . . . . . . . .#222
menu-display-show-all . . . . . . . . . . . . . .#224
menu-display-show-dipole-moment . . . .#237
menu-display-show-hydrogen-bonds . . .#234
menu-display-show-hydrogens . . . . . . . .#231
menu-display-show-inertial-axes . . . . . . .#236
menu-display-show-isosurface . . . . . . . . .#230
menu-display-show-multiple-bonds . . . .#233
menu-display-show-periodic-box . . . . . .#232
menu-display-show-selection-only . . . . .#225
menu-edit-align-molecules . . . . . . . . . . .#100
menu-edit-align-viewer . . . . . . . . . . . . . . .#99
menu-edit-clear . . . . . . . . . . . . . . . . . . . .#86

Message Cross-Reference
menu-edit-copy . . . . . . . . . . . . . . . . . . . . #88
menu-edit-copy-image . . . . . . . . . . . . . . . #91
menu-edit-copy-isis-sketch . . . . . . . . . . . . #89
menu-edit-cut . . . . . . . . . . . . . . . . . . . . . #87
menu-edit-invert . . . . . . . . . . . . . . . . . . . #93
menu-edit-paste . . . . . . . . . . . . . . . . . . . . #90
menu-edit-reflect . . . . . . . . . . . . . . . . . . . #94
menu-edit-rotate . . . . . . . . . . . . . . . . . . . #95
menu-edit-set-bond-angle . . . . . . . . . . . #102
menu-edit-set-bond-length . . . . . . . . . . #101
menu-edit-set-bond-torsion . . . . . . . . . . #103
menu-edit-setup-image . . . . . . . . . . . . . . #92
menu-edit-translate . . . . . . . . . . . . . . . . . #96
menu-edit-z-clip . . . . . . . . . . . . . . . . . . . . #98
menu-edit-zoom . . . . . . . . . . . . . . . . . . . #97
menu-file-exit . . . . . . . . . . . . . . . . . . . . . . #71
menu-file-export . . . . . . . . . . . . . . . . . . . #67
menu-file-import . . . . . . . . . . . . . . . . . . . #68
menu-file-log-comments . . . . . . . . . . . . . #66
menu-file-merge . . . . . . . . . . . . . . . . . . . #61
menu-file-new . . . . . . . . . . . . . . . . . . . . . #59
menu-file-open . . . . . . . . . . . . . . . . . . . . . #60
menu-file-preferences . . . . . . . . . . . . . . . . #70
menu-file-print . . . . . . . . . . . . . . . . . . . . . #69
menu-file-quit . . . . . . . . . . . . . . . . . . . . . #71
menu-file-save . . . . . . . . . . . . . . . . . . . . . #62
menu-file-save-as . . . . . . . . . . . . . . . . . . . #63
menu-file-start-log . . . . . . . . . . . . . . . . . . #64
menu-file-stop-log . . . . . . . . . . . . . . . . . . #65
menu-help-about-hyperchem . . . . . . . . . #575
menu-help-commands . . . . . . . . . . . . . . #569
menu-help-glossary . . . . . . . . . . . . . . . . #573
menu-help-index . . . . . . . . . . . . . . . . . . #567
menu-help-keyboard . . . . . . . . . . . . . . . #568
menu-help-on-scripts . . . . . . . . . . . . . . . #572
menu-help-scripts-and-dde . . . . . . . . . . #571
menu-help-tools . . . . . . . . . . . . . . . . . . . #570
menu-help-using-help . . . . . . . . . . . . . . #574
menu-script-one . . . ten . . . . . . . . . . . . . #519
menu-script-open-script . . . . . . . . . . . . . #518
menu-select-atoms . . . . . . . . . . . . . . . . . #168
menu-select-complement-selection . . . . #174
menu-select-extend-ring . . . . . . . . . . . . #177
menu-select-extend-side-chain . . . . . . . . #178
menu-select-extend-to-sp3 . . . . . . . . . . . #179
menu-select-molecules . . . . . . . . . . . . . . #170
menu-select-multiple-selections . . . . . . . #171

menu-select-name-selection . . . . . . . . . . #176
menu-select-residues . . . . . . . . . . . . . . . #169
menu-select-select . . . . . . . . . . . . . . . . . #175
menu-select-select-all . . . . . . . . . . . . . . . #173
menu-select-select-backbone . . . . . . . . . #180
menu-select-select-sphere . . . . . . . . . . . #172
menu-setup-ab-initio . . . . . . . . . . . . . . . #350
menu-setup-compile-parameter-file . . . . #356
menu-setup-molecular-mechanics . . . . . #348
menu-setup-network . . . . . . . . . . . . . . . #351
menu-setup-parameter-set . . . . . . . . . . . #355
menu-setup-periodic-box . . . . . . . . . . . . #352
menu-setup-reaction-map . . . . . . . . . . . #357
menu-setup-restraints . . . . . . . . . . . . . . #353
menu-setup-semi-empirical . . . . . . . . . . #349
menu-setup-set-velocity . . . . . . . . . . . . . #354
merge file . . . . . . . . . . . . . . . . . . . . #49, #61
merged systems, translate . . . . . . . . . . . . #17
mesh, isosurface . . . . . . . . . . . . . . . . . . . #464
message . . . . . . . . . . . . . . . . . . . . . . . . . #502
metafile image . . . . . . . . . . . . . . . . . . . . . #42
method, calculation . . . . . . . . . . . . . . . . #269
method, molecular mechanics . . . . . . . . #270
method, semi-empirical . . . . . . . . . . . . . #271
microstate, CI . . . . . . . . . . . . . . . . . . . . #309
mmp, electrostatics . . . . . . . . . . . . . . . . #277
mo initial guess, ab initio . . . . . . . . . . . . #296
mode, vibrational . . . . . . . . . . . . . . . . . . #428
model build . . . . . . . . . . . . . . . . . . . . . . #136
module-name . . . . . . . . . . . . . . . . . . . . #611
molecular dynamics, compute . . . #459, #467
molecular mechanics, setup . . . . . . . . . . #348
molecular orbital, number of coefficients #380
molecular properties, compute . . . . . . . #472
molecular-mechanics-method . . . . . . . . #270
molecule hide . . . . . . . . . . . . . . . . . . . . #199
molecule, align . . . . . . . . . . . . . . . #75, #100
molecule-count . . . . . . . . . . . . . . . . . . . #540
molecule-name . . . . . . . . . . . . . . . . . . . #563
molecules, rotate . . . . . . . . . . . . . . . . . . . #79
Monte Carlo, calculate . . . . . . . . . . . . . . #461
Monte Carlo, compute . . . . . . . . . . . . . . #469
monte-carlo-cool-steps . . . . . . . . . . . . . . #401
monte-carlo-heat-steps . . . . . . . . . . . . . #399
monte-carlo-info-acceptance-ratio . . . . . #552
monte-carlo-max-delta . . . . . . . . . . . . . . #402
monte-carlo-run-steps . . . . . . . . . . . . . . #400

Scripts and DDE

593

Message Cross-Reference
mouse-mode . . . . . . . . . . . . . . . . . . . . . . #74
move molecules . . . . . . . . . . . . . . . #81, #96
move viewer . . . . . . . . . . . . . . . . . . #80, #96
MP2 correlation energy . . . . . . . . . . . . . #306
MP2 frozen core . . . . . . . . . . . . . . . . . . #307
mp2-energy . . . . . . . . . . . . . . . . . . . . . #562
multiple bonds display . . . . . . . . . . . . . #207
multiple bonds, show . . . . . . . . . #205, #233
multiple selections . . . . . . . . . . . . . . . . . #171
multiple-selections . . . . . . . . . . . . . . . . #152
multiplicity . . . . . . . . . . . . . . . . . . . . . . #289
mutate residue . . . . . . . . . . . . . . #262, #268

N
name selection . . . . . . . . . . . . . . . . . . . #176
name, atom . . . . . . . . . . . . . . . . . . . . . #521
name, residue . . . . . . . . . . . . . . . . . . . . #538
named selection, delete . . . . . . . . . . . . #166
named selection, select . . . . . . . . . . . . . #159
named-selection-count . . . . . . . . . . . . . #154
named-selection-name . . . . . . . . . . . . . #155
named-selection-value . . . . . . . . . . . . . . #156
name-molecule . . . . . . . . . . . . . . . . . . . #165
name-selection . . . . . . . . . . . . . . . . . . . #164
negatives-color . . . . . . . . . . . . . . . . . . . . #14
neighbors . . . . . . . . . . . . . . . . . . . . . . . #536
neighbors, count . . . . . . . . . . . . . . . . . . #544
network setup . . . . . . . . . . . . . . . . . . . . #351
nonbond-energy . . . . . . . . . . . . . . . . . . #559
non-standard-pdb-names . . . . . . . . . . . . . #9
normal modes, ir . . . . . . . . . . . . . . . . . . #433
no-source-refs-in-errors . . . . . . . . . . . . . #506
notify variable . . . . . . . . . . . . . . . . . . . . #577
notify-on-update . . . . . . . . . . . . . . . . . . #493
nucleic acids, add . . . . . . . . . . . . #258, #266
nucleic-a-form . . . . . . . . . . . . . . . . . . . . #259
nucleic-alpha . . . . . . . . . . . . . . . . . . . . . #246
nucleic-backwards . . . . . . . . . . . . . . . . . #253
nucleic-beta . . . . . . . . . . . . . . . . . . . . . #247
nucleic-b-form . . . . . . . . . . . . . . . . . . . . #260
nucleic-chi . . . . . . . . . . . . . . . . . . . . . . . #252
nucleic-delta . . . . . . . . . . . . . . . . . . . . . #249
nucleic-double-strand . . . . . . . . . . . . . . #254
nucleic-epsilon . . . . . . . . . . . . . . . . . . . #250
nucleic-gamma . . . . . . . . . . . . . . . . . . . #248

594

Chapter 10

nucleic-sugar-pucker . . . . . . . . . . . . . . . .#245
nucleic-zeta . . . . . . . . . . . . . . . . . . . . . . .#251
nucleic-z-form . . . . . . . . . . . . . . . . . . . . .#261
number of selected atoms . . . . . . . . . . . .#150
number, atomic . . . . . . . . . . . . . . . . . . .#522
number, selected atom . . . . . . . . . . . . . .#151
number, serial . . . . . . . . . . . . . . . . . . . . .#565

O
occupancy, alpha orbital . . . . . . . . . . . . .#444
occupancy, beta orbital . . . . . . . . . . . . . .#445
omega torsion angle, amino acid . . . . . .#243
omsg string . . . . . . . . . . . . . . . . . . . . . . .#502
omsg to file, append . . . . . . . . . . . . . . . .#497
omsg-file . . . . . . . . . . . . . . . . . . . . . . . . .#491
omsgs-not-to-file . . . . . . . . . . . . . . . . . . .#496
omsgs-to-file . . . . . . . . . . . . . . . . . . . . . .#495
one-line-arrays . . . . . . . . . . . . . . . . . . . .#594
opacity, isosurface . . . . . . . . . . . . . . . . . .#198
open file . . . . . . . . . . . . . . . . . . . . . .#48, #60
open script . . . . . . . . . . . . . . . . . . . . . . .#518
optim-algorithm . . . . . . . . . . . . . . . . . . .#387
optim-converged . . . . . . . . . . . . . . . . . .#394
optim-convergence . . . . . . . . . . . . . . . . .#388
optimization convergence limit, cycles . .#389
optimization, compute . . . . . . . . .#457, #466
optim-max-cycles . . . . . . . . . . . . . . . . . .#389
orbital color . . . . . . . . . . . . . . . . . . .#13, #14
orbital data, export . . . . . . . . . . . . . . . . . .#56
orbital data, export, quantum calculations, export#21
orbital data, import . . . . . . . . . . . . . . . . . .#55
orbitaldata,import,quantumcalculations, import#25
orbital occupancy . . . . . . . . . . . . .#444, #445
orbital offset, contour graph . . . . . . . . . .#379
orbital selection . . . . . . . . . . . . . . . . . . .#375
orbital, beta or alpha . . . . . . . . . . . . . . . .#376
orbital, type to graph . . . . . . . . . . . . . . .#375
orbital-count . . . . . . . . . . . . . . . . . . . . . .#543
orbitals, ci occupied . . . . . . . . . . . . . . . .#310
orbitals, ci unoccupied . . . . . . . . . . . . . .#311
orbitals, compute . . . . . . . . . . . . . . . . . .#473
orbitals, read . . . . . . . . . . . . . . . . . . . . . . .#68
orbitals, save . . . . . . . . . . . . . . . . . . . . . . .#67

Message Cross-Reference
orient molecule . . . . . . . . . . . . . . . . . . . . #75
orient molecules . . . . . . . . . . . #79, #95, #100
orient viewer . . . . . . . . . . #76, #78, #80, #99
oscillator, uv strength . . . . . . . . . . . . . . . #440
outer radius, cutoff . . . . . . . . . . . . . . . . . #280
overlay . . . . . . . . . . . . . . . . . . . . . . . . . . #223

Pparameter file, compile . . . . . . . . . . . . . . #356
parameter set, select . . . . . . . . . . . . . . . #355
parameter set, use . . . . . . . . . . . . . . . . . #343
parameter-set-changed . . . . . . . . . . . . . #314
password, backend user . . . . . . . . . . . . . #319
paste . . . . . . . . . . . . . . . . . . . . . . . . . . . . #90
path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #2
path, file . . . . . . . . . . . . . . . . . . . . . . . . . . . #2
pause-for . . . . . . . . . . . . . . . . . . . . . . . . #492
pdb file, connectivity . . . . . . . . . . . . . . . . . #8
pdb file, hydrogens . . . . . . . . . . . . . . . . . . #7
pdb file, non-standard names . . . . . . . . . . . #9
periodic boundaries, use conditions . . . #344,#345, #352, #392
periodic box, add . . . . . . . . . . . . . . . . . . #344
periodic box, setup . . . . . . . . . . . . . . . . #352
periodic box, show . . . . . . . . . . . . #204, #232
periodic box, size . . . . . . . . . . . . . . . . . . #345
perspective . . . . . . . . . . . . . . . . . . . . . . . #181
phi torsion angle, amino acid . . . . . . . . . #241
pi-pi, zindo/1 overlap weighting factor . #293
pi-pi, zindo/s overlap weighting factor . . #295
plane offset, contour graph . . . . . . . . . . #382
playback end, dynamics . . . . . . . . . . . . . #410
playback period, dynamics . . . . . . . . . . . #411
playback start, dynamics . . . . . . . . . . . . #409
playback, dynamics snaphots . . . . . . . . . #408
polar-field-strength . . . . . . . . . . . . . . . . #327
polarizability-calculated . . . . . . . . . . . . . #328
pop-no-value . . . . . . . . . . . . . . . . . . . . . #582
pop-value . . . . . . . . . . . . . . . . . . . . . . . . #581
positives-color . . . . . . . . . . . . . . . . . . . . . #13
potential energy, molecular dynamics . . #547
preferences . . . . . . . . . . . . . . . . . . . . . . . #70
print image . . . . . . . . . . . . . . . . . . . . . . . #69
print level, mechanics . . . . . . . . . . . . . . . #420
print level, quantum . . . . . . . . . . . . . . . . #421

printer-background-white . . . . . . . . . . . . #38
print-variable-list . . . . . . . . . . . . . . . . . . #584
process count, backend . . . . . . . . . . . . . #320
properties, molecular, compute . . . . . . . #472
property file, export . . . . . . . . . . . . . . . . . #56
property file, import . . . . . . . . . . . . . . . . . #55
psi torsion angle, amino acid . . . . . . . . . #242
pucker, nucleotide sugar . . . . . . . . . . . . #245
push . . . . . . . . . . . . . . . . . . . . . . . . . . . #580

Q
qm isosurface, plot . . . . . . . . . . . . . . . . . #362
quantum calculation, do . . . . . . . . . . . . #360
quantum data, export . . . . . . . . . . . . . . . #56
quantum data, import . . . . . . . . . . . . . . . #55
quantum-print-level . . . . . . . . . . . . . . . . #421
quantum-total-charge . . . . . . . . . . . . . . #288
query-response-has-tag . . . . . . . . . . . . . #477
query-value . . . . . . . . . . . . . . . . . . . . . . #509
quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . #71

Rradii, balls . . . . . . . . . . . . . . . . . . . . . . . #188
radius, cylinders . . . . . . . . . . . . . . . . . . . #192
Raffenetti integral format . . . . . . . . . . . . #299
random seed, dynamics . . . . . . . . . . . . . #419
reaction map setup . . . . . . . . . . . . . . . . #357
read file . . . . . . . . . . . . . . . . . . . . . . . . . . #60
read quantum results . . . . . . . . . . . . . . . . #68
read structure . . . . . . . . . . . . . . . . . #48, #49
read/write variables . . . . . . . . . . . . . . . . #595
read-binary-script . . . . . . . . . . . . . . . . . . #516
read-script . . . . . . . . . . . . . . . . . . . . . . . #507
read-tcl-script . . . . . . . . . . . . . . . . . . . . . #508
recompute hydrogen bonds . . . . . . . . . . #235
rectangle, group select . . . . . . . . . . . . . . #172
redisplay, inhibit . . . . . . . . . . . . . . . . . . . #488
reflect . . . . . . . . . . . . . . . . . . . . . . . . . . . #94
refresh period . . . . . . . . . . . . . . . . . . . . . #393
relaxation time . . . . . . . . . . . . . . . . . . . . #413
remove-all-stereo-constraints . . . . . . . . . #125
remove-stereo-constraint . . . . . . . . . . . . #124
rendering method, isosurface . . . . . . . . . #197
Scripts and DDE

595

Message Cross-Reference
rendering type . . . . . . . . . . . . . . . . . . . #227
rendering, restore last mode . . . . . . . . . #228
render-method . . . . . . . . . . . . . . . . . . . #185
reorder-selections . . . . . . . . . . . . . . . . . . #16
request . . . . . . . . . . . . . . . . . . . . . . . . . #510
residue labels . . . . . . . . . . . . . . . . . . . . #215
residue, deselect . . . . . . . . . . . . . . . . . . #163
residue, mutate . . . . . . . . . . . . . . . . . . . #262
residue-charge . . . . . . . . . . . . . . . . . . . #537
residue-coordinate . . . . . . . . . . . . . . . . #539
residue-count . . . . . . . . . . . . . . . . . . . . #542
residue-label-text . . . . . . . . . . . . . . . . . . #532
residue-name . . . . . . . . . . . . . . . . . . . . #538
residues, select . . . . . . . . . . . . . . #162, #169
response tag, query . . . . . . . . . . . . . . . . #477
response to query has tag . . . . . . . . . . . #477
restart, dynamics . . . . . . . . . . . . . . . . . . #407
restraint, use . . . . . . . . . . . . . . . . . . . . . #341
restraints . . . . . . . . . . . . . . . . . . . #339, #340
restraints, ignore . . . . . . . . . . . . . . . . . . #342
restraints, setup . . . . . . . . . . . . . . . . . . . #353
restraint-tether . . . . . . . . . . . . . . . . . . . #340
revert-element-colors . . . . . . . . . . . . . . #221
rhf/uhf . . . . . . . . . . . . . . . . . . . . . . . . . #290
ribbons, rendering . . . . . . . . . . . . . . . . #184
ring, atom . . . . . . . . . . . . . . . . . . . . . . . #533
ring, extend selection . . . . . . . . . . . . . . #177
rms gradient . . . . . . . . . . . . . . . . . . . . . #554
rotate molecules . . . . . . . . . . . . . . . #79, #95
rotate-viewer . . . . . . . . . . . . . . . . . . . . . . #78
rotation . . . . . . . . . . . . . . . . . . . . . . . . . . #15
run steps, monte carlo . . . . . . . . . . . . . . #400
run time, dynamics . . . . . . . . . . . . . . . . #396

Ssave as, file . . . . . . . . . . . . . . . . . . . . . . . #63
save file . . . . . . . . . . . . . . . . . . . . . . . #4, #62
save quantum results . . . . . . . . . . . . . . . . #67
save/save as, file . . . . . . . . . . . . . . . . . . . #50
scale factor, dielectric constant . . . . . . . #274
scale factor, electrostatic . . . . . . . . . . . . #275
scale factor, van der Waals . . . . . . . . . . . #276
scale to fit . . . . . . . . . . . . . . . . . . . . . . . #222
scaling, huckel factor . . . . . . . . . . . . . . . #282
scf convergence, ab initio . . . . . . . . . . . #303

596

Chapter 10

scf convergence, accelerate . . . . . . . . . . .#287
scf iterations . . . . . . . . . . . . . . . . . . . . . .#286
scf-atom-energy . . . . . . . . . . . . . . . . . . .#448
scf-binding-energy . . . . . . . . . . . . . . . . .#449
scf-convergence . . . . . . . . . . . . . . . . . . .#285
scf-core-energy . . . . . . . . . . . . . . . . . . . .#450
scf-electronic-energy . . . . . . . . . . . . . . . .#451
scf-orbital-energy . . . . . . . . . . . . . . . . . .#441
screen-refresh-period . . . . . . . . . . . . . . .#393
script errors . . . . . . . . . . . . . . . . . . . . . . .#478
script errors, ignore . . . . . . . . . . . . . . . . .#478
script file, compile . . . . . . . . . . . . . . . . . .#515
script menu item, change . . . . . . . . . . . .#513
script, execute string variable as . . . . . . .#517
script, exit . . . . . . . . . . . . . . . . . . . . . . . .#514
script, one . . .ten . . . . . . . . . . . . . . . . . .#519
script, open . . . . . . . . . . . . . . . . . . . . . . .#518
script, pause in . . . . . . . . . . . . . . . . . . . .#492
script, read . . . . . . . . . . . . . . . . . .#507, #508
script, read binary . . . . . . . . . . . . . . . . . .#516
script, run from menu item . . . . . . . . . . .#519
script-menu-caption . . . . . . . . . . . . . . . .#479
script-menu-checked . . . . . . . . . . . . . . . .#480
script-menu-command . . . . . . . . . . . . . .#481
script-menu-enabled . . . . . . . . . . . . . . . .#482
script-menu-help-file . . . . . . . . . . . . . . . .#483
script-menu-help-id . . . . . . . . . . . . . . . .#484
script-menu-in-use . . . . . . . . . . . . . . . . .#485
script-menu-message . . . . . . . . . . . . . . .#486
script-refs-in-errors . . . . . . . . . . . . . . . . .#487
scripts, help . . . . . . . . . . . . . . . . . . . . . .#571
scripts, help on context sensitive . . . . . . .#572
select all . . . . . . . . . . . . . . . . . . . . . . . . .#173
select atoms . . . . . . . . . . . . . . . . . . . . . .#168
select backbone . . . . . . . . . . . . . . . . . . .#180
select by name . . . . . . . . . . . . . . . . . . . .#159
select by name or number . . . . . . . . . . .#175
select by named selection . . . . . . . . . . . .#159
select molecules . . . . . . . . . . . . . . . . . . .#170
select residues . . . . . . . . . . . . . . . . . . . . .#169
select sphere . . . . . . . . . . . . . . . . . . . . . .#172
select-atom . . . . . . . . . . . . . . . . . . . . . . .#160
selected atoms, delete . . . . . . . . . . . . . . . .#77
selected-atom, sequence number . . . . . .#151
selected-atom-count . . . . . . . . . . . . . . . .#150
selection color . . . . . . . . . . . . . . . . . . . . .#219
selection level . . . . . .#149, #168, #169, #170

Message Cross-Reference
selection, complement . . . . . . . . . . . . . . #174
selection, delete named . . . . . . . . . . . . . #166
selection, hide . . . . . . . . . . . . . . . . . . . . #226
selection, name . . . . . . . . . . . . . . . . . . . #164
selection, named count . . . . . . . . . . . . . #154
selection, named selection . . . . . . . . . . . #155
selection, named value . . . . . . . . . . . . . . #156
selection, show only . . . . . . . . . . . . . . . . #225
selection, translate . . . . . . . . . . . . . . . . . . #81
selection-color . . . . . . . . . . . . . . . . . . . . . #12
selections, multiple . . . . . . . . . . . . #152, #171
selections, reorder . . . . . . . . . . . . . . . . . . #16
selection-target . . . . . . . . . . . . . . . . . . . #149
selection-value . . . . . . . . . . . . . . . . . . . . #157
select-name . . . . . . . . . . . . . . . . . . . . . . #159
select-none . . . . . . . . . . . . . . . . . . . . . . . #158
select-path . . . . . . . . . . . . . . . . . . . . . . . #167
select-residue . . . . . . . . . . . . . . . . . . . . . #162
select-sphere . . . . . . . . . . . . . . . . . . . . . #153
semi-empirical calculation . . . . . . . . . . . #360
semi-empirical data, export . . . . . . . . . . . #56
semi-empirical data, import . . . . . . . . . . . #55
semi-empirical results, export . . . . . . . . . . #21
semi-empirical results, import . . . . . . . . . . #25
semi-empirical setup . . . . . . . . . . . . . . . #349
semi-empirical-method . . . . . . . . . . . . . #271
sequence number, selected atom . . . . . . #151
serial-number . . . . . . . . . . . . . . . . . . . . . #565
set atom charge . . . . . . . . . . . . . . #109, #143
set atom type . . . . . . . . . . . . . . . . #108, #142
set bond angle . . . . . . . . . . . . . . . . #84, #102
set bond length . . . . . . . . . . . . . . . . . . . #101
set bond torsion . . . . . . . . . . . . . . . . . . . #103
set mess . . . . . . . . . . . . . . . . . . . . . . . . . #144
set velocity, setup . . . . . . . . . . . . . . . . . . #354
set-atom-charge . . . . . . . . . . . . . . . . . . . #109
set-atom-charges-to-formal . . . . . . . . . . #111
set-atom-type . . . . . . . . . . . . . . . . . . . . . #108
set-bond . . . . . . . . . . . . . . . . . . . . . . . . #114
set-bond-length . . . . . . . . . . . . . . . . . . . . #83
set-bond-torsion . . . . . . . . . . . . . . . . . . . . #85
settings, restore default . . . . . . . . . . . . . #585
setup image . . . . . . . . . . . . . . . . . . . #39, #92
set-velocity . . . . . . . . . . . . . . . . . . . . . . . #346
shading, balls . . . . . . . . . . . . . . . . . . . . . #186
shading, spheres . . . . . . . . . . . . . . . . . . #189
shifted cutoff . . . . . . . . . . . . . . . . . . . . . #278

show all . . . . . . . . . . . . . . . . . . . . . . . . . #224
show axes . . . . . . . . . . . . . . . . . . #210, #236
show hydrogen bonds . . . . . . . . . #208, #234
show hydrogens . . . . . . . . . . . . . #203, #231
show inertial axes . . . . . . . . . . . . . . . . . . #236
show multiple bonds . . . . . . . . . . #205, #233
show periodic box . . . . . . . . . . . . #204, #232
show perspective . . . . . . . . . . . . . . . . . . #181
show selection . . . . . . . . . . . . . . . . . . . . #225
show-aromatic-rings-as-circles . . . . . . . . #212
show-dipoles . . . . . . . . . . . . . . . . . . . . . #211
show-gradient-vectors . . . . . . . . . . . . . . #206
show-isosurface . . . . . . . . . . . . . . . . . . . #209
show-ribbons . . . . . . . . . . . . . . . . . . . . . #184
show-stereo . . . . . . . . . . . . . . . . . . . . . . #182
show-stereochem-wedges . . . . . . . . . . . #216
show-vibrational-vectors . . . . . . . . . . . . #423
shrink . . . . . . . . . . . . . . . . . . . . #34, #82, #97
side chain, extend selection . . . . . . . . . . #178
sigma-sigma, zindo/1 overlap weighting factor#292
sigma-sigma, zindo/s overlap weighting factor#294
simulation temp, dynamics . . . . . . . . . . #404
single point, compute . . . . . . . . . . . . . . #456
single-point, compute . . . . . . . . . . . . . . #465
size, balls . . . . . . . . . . . . . . . . . . . . . . . . #188
size, window . . . . . . . . . . . . . . . . #603, #604
sketch, copy format to clipboard . . . . . . . #89
small-density-cutoff . . . . . . . . . . . . . . . . #333
snaphots, store . . . . . . . . . . . . . . . . . . . . #408
snapshot filename, dynamics . . . . . . . . . #416
snapshot period, dynamics . . . . . . . . . . . #417
snapshot playback period . . . . . . . . . . . . #411
snapshots, playback . . . . . . . . . . . . . . . . #408
solvate-system . . . . . . . . . . . . . . . . . . . . #344
solvate-system-in-this-box . . . . . . . . . . . #345
source-refs-in-errors . . . . . . . . . . . . . . . . #505
sp3, extend selection . . . . . . . . . . . . . . . #179
spectra, IR, export . . . . . . . . . . . . . . . . . . #56
spectra, IR, import . . . . . . . . . . . . . . . . . . #55
spectra, UV, export . . . . . . . . . . . . . . . . . . #56
spectra, UV, import . . . . . . . . . . . . . . . . . #55
spectrum, compute electronic . . . . . . . . #475
spectrum, compute vibrational . . . . . . . #474
spectrum, IR, export . . . . . . . . . . . . . . . . . #20
spectrum, IR, import . . . . . . . . . . . . . . . . #24

Scripts and DDE

597

Message Cross-Reference
spectrum, UV, export . . . . . . . . . . . . . . . . #22
spectrum, UV, import . . . . . . . . . . . . . . . #26
sphere, group select . . . . . . . . . . . . . . . #172
sphere, select . . . . . . . . . . . . . . . . . . . . #153
spheres-highlighted . . . . . . . . . . . . . . . . #190
spheres-shaded . . . . . . . . . . . . . . . . . . . #189
spin density . . . . . . . . . . . . . . . . . . . . . . #472
spin, uv . . . . . . . . . . . . . . . . . . . . . . . . . #436
stack, pop . . . . . . . . . . . . . . . . . . #581, #582
stack, push . . . . . . . . . . . . . . . . . . . . . . #580
starting temp, dynamics . . . . . . . . . . . . #403
start-logging . . . . . . . . . . . . . . . . . . #52, #64
state-to-optimize . . . . . . . . . . . . . . . . . . #334
status-message . . . . . . . . . . . . . . . . . . . #490
stereo, change constraint . . . . . . . . . . . #129
stereo, change stereo chemistry . . . . . . #132
stereo, cycle atom . . . . . . . . . . . . . . . . . #131
stereo, cycle bond . . . . . . . . . . . . . . . . . #130
stereo, fix stereo constraint . . . . . . . . . . #128
stereo, remove all constraints . . . . . . . . #125
stereo, remove constraints . . . . . . . . . . . #124
stereo, show . . . . . . . . . . . . . . . . . . . . . #182
stereo, show wedges . . . . . . . . . . . . . . . #216
stereo, wall-eyed or crosseyed . . . . . . . . #183
stereochemistry, atom . . . . . . . . . . . . . . #545
stereochemistry, constrain . #126, #127, #128,#129, #130, #131, #132
stereochemistry, enforced by Model Builder .
#107
sticks-width . . . . . . . . . . . . . . . . . . . . . . #191
stop-logging . . . . . . . . . . . . . . . . . . #53, #65
stretch-energy . . . . . . . . . . . . . . . . . . . . #556
string, declare . . . . . . . . . . . . . . . . . . . . #579
structural optimization, algorithm . . . . . #387
structure hide . . . . . . . . . . . . . . . . . . . . #199
structure merging . . . . . . . . . . . . . . . . . . #17
sugar-pucker . . . . . . . . . . . . . . . . . . . . . #245
switched cutoff . . . . . . . . . . . . . . . . . . . #278
switch-to-user-menu . . . . . . . . . . . . . . . #587
system altered, save file . . . . . . . . . . . . . . . #4

T
tcl script, read . . . . . . . . . . . . . . . . . . . . #508
temperature step, dynamics . . . . . . . . . #406
temperature, molecular dynamics . . . . . #549

598

Chapter 10threshold, ab initio . . . . . . . . . . . . . . . . .#297
threshold, isosurface . . . . . . . . . . . . . . . .#196
time step, dynamics . . . . . . . . . . . . . . . .#398
title, customized . . . . . . . . . . . . . . . . . . .#602
tndo-version . . . . . . . . . . . . . . . . . . . . . .#335
toggle . . . . . . . . . . . . . . . . . . . . . . . . . . .#583
tool selection . . . . . . . . . . . . . . . . . . . . . .#74
tool, xy rotation . . . . . . . . . . . .#15, #30, #32
tool, z clip . . . . . . . . . . . . . . . . . . . . .#29, #35
tool, z rotation . . . . . . . . . . . . . . . . .#18, #31
tool, z translation . . . . . . . . . . . . . . .#27, #33
tool, zoom . . . . . . . . . . . . . . . . . . . .#28, #34
toolbar, hide . . . . . . . . . . . . . . . . . . . . . .#213
tools, help . . . . . . . . . . . . . . . . . . . . . . . .#570
torsion angle omega . . . . . . . . . . . . . . . .#243
torsion angle phi . . . . . . . . . . . . . . . . . . .#241
torsion angle psi . . . . . . . . . . . . . . . . . . .#242
torsion angle, constrain . . . . . . . . .#119, #148
torsion angle, set . . . . . . . . . . . . . .#85, #103
torsion, bond . . . . . . . . . . . . . . . . . . . . . .#85
torsion-energy . . . . . . . . . . . . . . . . . . . .#558
total charge, quantum . . . . . . . . . . . . . .#288
total energy, dynamics . . . . . . . . . . . . . .#546
total-energy, any calculation . . . . . . . . . .#555
transition state setup . . . . . . . . . . . . . . . .#357
transition state, compute . . . . . . . . . . . .#471
translate . . . . . . . . . . . . . . . . . . . . . . . . . .#96
translate-merged-systems . . . . . . . . . . . . .#17
translate-selection . . . . . . . . . . . . . . . . . . .#81
translate-view . . . . . . . . . . . . . . . . . . . . . .#80
translate-whole-molecules . . . . . . . . . . . . .#36translation . . . . . . . . . . . . . . . . . . . . . . . . .#37
transparency, isosurface . . . . . . . . . . . . .#198
type rules, compile . . . . . . . . . . . . . . . . .#141
type, atom . . . . . . . . . . . . . . . . . .#108, #524
type, set atom . . . . . . . . . . . . . . . . . . . . .#142
types, calculate atom . . . . . . . . . . . . . . .#140

U
uhf . . . . . . . . . . . . . . . . . . . . . . . . . . . . .#290
uhf orbitals . . . . . . . . . . . . . . . . . . . . . . .#376
unconstrain-bond-angle . . . . . . . . . . . . .#122
unconstrain-bond-length . . . . . . . . . . . .#121
unconstrain-bond-torsion . . . . . . . . . . . .#123
united atom . . . . . . . . . . . . . . . . . . . . . .#534

Message Cross-Reference
united atoms . . . . . . . . . . . . . . . . . . . . . #138
unselect all . . . . . . . . . . . . . . . . . . . . . . . #158
un-select-atom . . . . . . . . . . . . . . . . . . . . #161
un-select-residue . . . . . . . . . . . . . . . . . . #163
update dynamics, last step . . . . . . . . . . . #551
update variable . . . . . . . . . . . . . . . . . . . #493
update variable, cancel . . . . . . . . . . . . . . #494
use-auxilliary-basis . . . . . . . . . . . . . . . . . #336
use-electric-field . . . . . . . . . . . . . . . . . . . #321
use-fast-translation . . . . . . . . . . . . . . . . . . #37
use-magnetic-field . . . . . . . . . . . . . . . . . #322
use-mullikan-approximation-to-density . #337
use-no-restraints . . . . . . . . . . . . . . . . . . . #342
use-parameter-set . . . . . . . . . . . . . . . . . . #343
user id, backend . . . . . . . . . . . . . . . . . . . #318
user menu, load . . . . . . . . . . . . . . . . . . . #586
user menu, use . . . . . . . . . . . . . . . . . . . . #587
user menuitem (for scripts) . . . . . . . . . . . #513
user password, backend . . . . . . . . . . . . . #319
use-restraint . . . . . . . . . . . . . . . . . . . . . . #341
use-small-density-cutoff . . . . . . . . . . . . . #338
using-help . . . . . . . . . . . . . . . . . . . . . . . #574
UV spectra, export . . . . . . . . . . . . . . . . . . #56
UV spectra, import . . . . . . . . . . . . . . . . . . #55
UV spectrum . . . . . . . . . . . . . . . . . . . . . #308
UV spectrum, export . . . . . . . . . . . . . . . . #22
UV spectrum, import . . . . . . . . . . . . . . . . #26
UV/visible spectrum, read . . . . . . . . . . . . . #68
UV/visible spectrum, save . . . . . . . . . . . . . #67
uv-band-count . . . . . . . . . . . . . . . . . . . . #434
uv-dipole-components . . . . . . . . . . . . . . #438
uv-energy . . . . . . . . . . . . . . . . . . . . . . . . #435
uv-oscillator-strength . . . . . . . . . . . . . . . #440
uv-spin . . . . . . . . . . . . . . . . . . . . . . . . . . #436
uv-total-dipole . . . . . . . . . . . . . . . . . . . . #437
uv-transition-dipole . . . . . . . . . . . . . . . . #439

Vvalue, named selection . . . . . . . . . . . . . . #156
value, query . . . . . . . . . . . . . . . . . . . . . . #509
value, selection . . . . . . . . . . . . . . . . . . . . #157
van der Waals scale factor . . . . . . . . . . . . #276
variable list, print . . . . . . . . . . . . . . . . . . #584
variable, declare . . . . . . . . . . . . . . #578, #579
variable, info . . . . . . . . . . . . . . . . . . . . . #593

variable, toggle . . . . . . . . . . . . . . . . . . . #583
variable-changed . . . . . . . . . . . . . . . . . . #577
vector, type . . . . . . . . . . . . . . . . . . . . . . #601
vectors, show vibrations . . . . . . . . . . . . . #423
velocities, atom . . . . . . . . . . . . . . . . . . . #553
velocities-in-hin-file . . . . . . . . . . . . . . . . . . #5
velocity, set atomic . . . . . . . . . . . #346, #354
version . . . . . . . . . . . . . . . . . . . . . . . . . . #564
vertical grid size, contour . . . . . . . . . . . . #378
vibrational anaysis, compute . . . . . . . . . #458
vibrational spectrum, compute . . . . . . . #474
vibrational, show vectors . . . . . . . . . . . . #423
vibrational-mode . . . . . . . . . . . . . . . . . . #428
vibrations, animate . . . . . . . . . . . . . . . . #424
vibrations, compute . . . . . . . . . . . . . . . . #470
view, enlarge or shrink . . . . . . . . . . . . . . . #34
viewer, align . . . . . . . . . . . . . . . . . . . #76, #99
viewer, rotate . . . . . . . . . . . . . . . . . . . . . . #78
viewer, translate . . . . . . . . . . . . . . . . . . . . #80
view-in-hin-file . . . . . . . . . . . . . . . . . . . . . . #6

Wwall-eyed-stereo . . . . . . . . . . . . . . . . . . . #183
warning . . . . . . . . . . . . . . . . . . . . . . . . . #504
warning messages, backend . . . . . . . . . . #422
warnings-are-not-omsgs . . . . . . . . . . . . . #501
warnings-are-omsgs . . . . . . . . . . . . . . . . #500
warning-type . . . . . . . . . . . . . . . . . . . . . #422
wedges, stereochemistry . . . . . . . . . . . . #216
whole molecules, translate . . . . . . . . . . . . #36
width, sticks . . . . . . . . . . . . . . . . . . . . . . #191
width, window . . . . . . . . . . . . . . . . . . . . #604
window-color . . . . . . . . . . . . . . . . . . . . . . #10
window-height . . . . . . . . . . . . . . . . . . . #603
window-width . . . . . . . . . . . . . . . . . . . . #604
workspace clear . . . . . . . . . . . . . . . . . . . . #59
workspace-height . . . . . . . . . . . . . . . . . . #605
workspace-width . . . . . . . . . . . . . . . . . . #606
write-atom-map . . . . . . . . . . . . . . . . . . . #576
write-file . . . . . . . . . . . . . . . . . . . . . . . . . . #50

X
x-y-rotation-cursor . . . . . . . . . . . . . . . . . . #15
Scripts and DDE

599

Message Cross-Reference
x-y-rotation-icon-step . . . . . . . . . . . . . . . . #30
x-y-translation-icon-step . . . . . . . . . . . . . . #32

Zz clipping . . . . . . . . . . . . . . . . . . . . . . . . . #29
Z form, DNA . . . . . . . . . . . . . . . . . . . . . #261
z-clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . #98
zeta torsion angle, nucleic acid . . . . . . . . #251
zindo-1-pi-pi . . . . . . . . . . . . . . . . . . . . . #293
zindo-1-sigma-sigma . . . . . . . . . . . . . . . #292
zindo-s-pi-pi . . . . . . . . . . . . . . . . . . . . . . #295
zindo-s-sigma-sigma . . . . . . . . . . . . . . . . #294
zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . #82
zoom, set factor . . . . . . . . . . . . . . . . . . . . #97
zoom-cursor . . . . . . . . . . . . . . . . . . . . . . . #28
zoom-icon-step . . . . . . . . . . . . . . . . . . . . #34
z-rotation-cursor . . . . . . . . . . . . . . . . . . . . #18
z-rotation-icon-step . . . . . . . . . . . . . . . . . #31
z-translation-cursor . . . . . . . . . . . . . . . . . . #27
z-translation-icon-step . . . . . . . . . . . . . . . #33
zwitterion, make . . . . . . . . . . . . . . . . . . #264

Scripts and DDE

600

Message Cross-Reference

Scripts and DDE

601

Scripts

Scripts
Scripts are text files containing a set of statements that generate
input messages (IMSGs) to run HyperChem. Scripts replace
HyperChem mouse and keyboard operations, so that you can run
HyperChem unattended. You can also interrupt a script to interact
manually with HyperChem. Use scripts to repeat HyperChem
operations that you do frequently, to do batch analyses, and to set
up HyperChem conditions.
Write scripts using a text editor, like Windows Notepad. These files
should be unformatted text files, with the extension .scr. Whenyou open a script file, using the Script menu in HyperChem,
HyperChem automatically executes the instructions in the file.
A script runs to completion, unless it finds an error (you should
include the instructions in the script to report errors to screen). It
responds to a menu activator by displaying a dialog box, or you use
the Abort option in the Running Script . . . message box.

Example:This script performs a geometry optimization of anthracene. The
numbers ①,②, and ③ and so on do not belong to the script, but arepresent for this discussion.
; Test amber optimization of anthracene. ①
calculation-method molecularmechanics ②
molecular-mechanics-method amber ③
optim-max-cycles 200 ④
optim-convergence 0.1 ④
optim-algorithm polakribiere ④
start-logging test.log no ⑤
open-file anth.hin ⑥
do-optimization ⑦

602

Chapter 10

Scripts

write-file test.hin ⑧
append-omsgs-to-file test.log ⑨query-value stretch-energy ⑩
omsgs-not-to-filestop-logging
exit-script① A comment. All comment lines must start with a semicolon.
Comments appear in the Comments section of the Open Script dialog box.
② Sets the calculation method (variable) to molecular mechanics.
③ Chooses the AMBER force field (variable) for the calculation.
④ Sets parameters (variables) for the calculation. If you do not set
these variables, HyperChem uses the last settings.
⑤ Starts a log file, named test.log, to record results of the calculation. No instructs HyperChem to replace the contents of any existing log file having the name test.log. Quotes can surround individual arguments, for clarity. You could also use the menu activator“menu-file-start-log”, but it requires that you respond to the Open
Log dialog box.
⑥ Opens the file anth.hin and displays the anthracene moleculein the workspace.
⑦ Performs the geometry optimization calculation.
⑧ Stores the optimized molecule in a file, test.hin.
⑨ Adds error or warning messages, plus the results of the queryvalue command to the log file. Without this command, these messages go to a dialog box and can interrupt the script.
⑩ Requests the final value of bond stretching energy (a component of total energy) for the optimized molecule. Query values are
OMSGs, so they go into the log file. An equivalent statement isstretch-energy ?.

Stops sending OMSGs to the log file.
Closes the log file. You could also use the menu activatormenu-file-stop-log.
Ends the script. This is optional.
Scripts and DDE

603

Dynamic Data Exchange (DDE)

Dynamic Data Exchange (DDE)DDE is a communications system available to all programs (applications) running under Microsoft Windows. Applications can use
DDE messages for these functions:•

To start another application•

To establish a communications channel with anotherapplication•

To send information•

To request and receive information•

To receive information automatically, when it is updated

In any DDE interaction between two Windows applications, one
application initiates the conversation, taking on the role of the“client”; the responding application is the “server.” HyperChem
can act only as a server: it can supply information when the client
application asks for it or, by pre-arrangement, when it updates theinformation.
DDE conversations use messages that can include HyperChem
messages as arguments. HyperChem converts DDE messages to
IMSGs and responds with an action or with data.

Other Applications to HyperChem
HyperChem can respond to six types of DDE messages from client
applications:
DDE_INITIATE Establishes a communications channel with
HyperChem. The arguments to this commandmust be the DDE Application name(“HyperChem”) and Topic (“System”).
DDE_EXECUTE Tells HyperChem to carry out a function, for example, turning on Multiple Selections. The arguments
are the same as HyperChem script variables (Set
HSV, see “Variables” on page 511), commands (see“Commands” on page 516), and menu activators(see “Menu Activators” on page 517).

604

Chapter 10

Dynamic Data Exchange (DDE)

DDE_REQUEST Requests information from HyperChem. The arguments are the same as the request variables (Get
HSV) for HyperChem scripts (see “Variables” onpage 511). HyperChem responds using a
DDE_DATA message.
DDE_
TERMINATE

Ends the conversation with HyperChem.

DDE_ADVISE

Requests HyperChem to supply, through a “hot”
data link, an update of data whenever it changes.
The argument is a variable (HSV) name.

DDE_UNADVISE Removes the hot link for the HSV name in theargument.
Each application can have its own version of these DDE messages.
For example, Microsoft Excel can use =Execute (Channel, “[message (argument)]”) and Microsoft Visual Basic™ can use
Textn.LinkExecute “[message (argument)]” for a DDE_EXECUTE
message. HyperChem can recognize any version of these DDE messages.
To write DDE conversations with HyperChem, consult the reference manuals for applications.

HyperChem to Other Applications
HyperChem responds to DDE messages from applications by carrying out functions or by returning information. Information
returns to an application in DDE_DATA messages.
HyperChem has one special way of using a script to initiate communication with a DDE application. The script command executeclient (see message cross-reference number 297) can start anotherapplication and initiate a communications channel for a particular“Topic.” The other application then controls the DDE conversation.

Scripts and DDE

605

HyperChem and Excel

HyperChem and Excel
Microsoft Excel is a spreadsheet program available for Windows. It
provides a macro language for writing DDE messages, which provides for looping, conditional statements, batch calculations, andother programming conveniences. Macro files have the extension.xlm.
Excel spreadsheets (with the extension .xls) can hold the input
information for HyperChem calculations and receive output data.
Excel provides tools for analyzing and plotting this data.
Excel uses these messages for communicating with HyperChem:
INITIATE

Opens a communications channel between Exceland HyperChem. The only acceptable argument is“HyperChem”, “System”.

REQUEST

Asks for information from HyperChem. The arguments are Channel (the channel opened by INITIATE) and “request string” (the same as a Get HSV
message for a HyperChem script).

EXECUTE

Starts a process in HyperChem. The arguments arerequests that include variables (Set HSV), commands, and menu activators.

TERMINATE

Closes a DDE channel at the end of a communication. The only argument is Channel (the channel
opened by INITIATE).

In addition to these commands, Excel also provides various commands for managing data and programming the interaction with
HyperChem.
For more information about writing and using Excel commandmacros, see the Microsoft Excel User’s Guide and the Microsoft Excel
Functions Reference. Several important aspects of the example
macro below cannot be seen in a simple printout. For example,
simply typing the text that you see below into a macro sheet will
not give a working macro; you must also Define Names for someof the cells (as indicated in Column A).
Example:This example does single point calculations on a related set of molecules and stores the results in an Excel spreadsheet file (plot.xls).
This macro is supplied with HyperChem; the file is plot.xlm .
606

Chapter 10

HyperChem and Excel

The Excel macro contains these instructions:Line

Comment

1

Press [Ctrl]+[R] or choose Run on Excel’s Macro menu to start
this macro

3

Uses the subroutine, OpenFile, starting on line 25

4-5

If there is a problem opening a DDE channel (an error
returns from the OpenFile subroutine), the macro ends. If
the subroutine reports the number of the open channel,
Excel goes to the next step (line 6)6

Ends the conditional (If) statement

8

Instructs HyperChem to send back data without the nameof each variable (tag)Scripts and DDE

607

HyperChem and Excel

608

Chapter 10

Line

Comment

9

Instructs HyperChem that the files are in HIN format

11

Starts this conditional loop (While statement): while there is
still a molecule to calculate, do steps (lines) 12-19

12

Opens the HIN file indicated by the highlighted cell in the
spreadsheet plot.xls; runs a single point calculation withthe present HyperChem settings

13-17

Requests the indicated information from HyperChem andputs it in columns 1–5 (cells B–F) of plot.xls

18

Selects the molecule in the next row of the spreadsheet

19

Returns to step (line) 11

21

Closes the DDE channel

22

Ends the macro

24

Names the subroutine, OpenFile

25

Opens a DDE channel to HyperChem

26

If the macro cannot open a channel to HyperChem, it goesto the next line (27) to first open a HyperChem window. If
a channel opens, it goes to line 32

27-28

Opens a HyperChem program and a HyperChem window.
Line 27 specifies the full directory path for HyperChem; youwill need to change this path if you installed HyperChem ina different directory than the one that is specified. If thisattempt to start HyperChem does not work, the macro
returns an error message

29

Ends the second If statement

30

Opens a DDE channel to the new HyperChem window

31

Ends the first If statement

HyperChem and ExcelLine

Comment

32

Returns the number of the open DDE channel to the main
program

To use this Excel macro:
1. Start Excel and open plot.xlm.
2. Open the spreadsheet file plot.xls.

3. Choose cell 2A (benzene) in plot.xls.
4. Press [Ctrl]+ [R] or choose Run on Excel’s Macro menu to start themacro.

As the macro runs, you can see the molecules in the HyperChem
window and the values from the single point calculations inplot.xls.
Note: For this calculation, HyperChem uses the most recent settings for calculation method, and so on. The results in this example use a molecular mechanics calculation, the MM+ force field(set by opening the files), no cutoffs, and bond dipoles.
Scripts and DDE

609

HyperChem and Excel

610

Chapter 10

Chapter 12
Using HyperChem Results
You can use results from HyperChem sessions with other programs. For example, you could do the following:•

Prepare illustrations for publications, presentations, andreports. You can transfer images of molecular models, throughthe Windows Clipboard or through files, to other programs.

•

Analyze the results of HyperChem calculations in other programs that run with Windows (Windows “applications”).

•

Save the results of quantum mechanics calculations in an
Export file with File/Export, and then process those data withother software.

•

Save molecular structures in PDB files for viewing or analysis
by using other software that can read this type of file.

Setting Display Conditions
Before you copy a HyperChem graphic to the Clipboard or a file,
you might want to change the appearance of the HyperChem
workspace. For example, you can choose Preferences on the Filemenu (see page 95) to change the HyperChem window color to
improve the quality of illustrations. You can also change how
selected atoms look so that they have a distinctive appearance.
For reproduction in black and white, use White for Window, Blackfor Bond, and Thick line for Selection. With these choices, HyperChem substitutes dotted lines for solid lines where it uses color for
special information (for example, negative versus positive contour
lines in density plots of electronic values).

611

Transferring Graphics

Transferring Graphics
Use [F9] or Copy Image on the Edit menu to copy a HyperChem display to the Clipboard or a file. The Clipboard is a temporary storage place that can hold one graphic at a time. You can then use thisgraphic in a publication, presentation, or report.

Setting Up a Graphics Transfer
Choose Setup Image on the Edit menu to set up the conditions fortransferring graphics from HyperChem to the Windows Clipboard
or to a file. In the Setup Image dialog box, you can choose part ofthe screen to copy, the type of image (bitmap or metafile), and thedestination (Clipboard or file).
The settings in this dialog box regulate the results of pressing [F9],Copy Image.

Choosing the Extent of the Image
To adjust the extent of the image, choose one of these from the
Setup Image dialog box:
Top level

This copies the active HyperChem window, any
active pull-down menu, or any visible dialog box.
You must use [F9] instead of Copy Image to saveimages of menus and dialog boxes.

Workspace

This copies only the workspace of the active
HyperChem window.

HyperChem

This copies the entire, active HyperChem window,
including its borders.

Full screen

This copies everything on screen, including anyother windows.

This setting also affects the content of the image:Cursor612

Chapter 12

Check this box (✕) to include the cursor in theimage. The cursor can be the mouse pointer, aHyperChem tool, or a text cursor (in a dialog box).

Transferring Graphics

Choosing File Formats
HyperChem can store images in two types of files, either bitmapped (BMP) or Windows metafile (WMF), or both. These arestandard Windows file types that many other programs can use.
Check the manual for each program to see if it can accept BMP or
WMF graphics files. The commands in other programs for incorporating these files are often called Import or Place.
Choose from the following file formats:
BitmapThis saves the graphic as a reproduction of the pixels on screen, in the file name by Filename.bmp as
described below. The resolution of this image
matches the resolution of your monitor, which
you determine when setting up Windows. Use Bitmap to save Spheres renderings or contour plots
from a single point, semi-empirical calculation (seepage 399).

Metafile

This saves the graphic as a line drawing, in the file
Filename.wmf. Metafile is best for Sticks, Ball and
Cylinder, Dots, and Sticks & Dots renderings. Metafiles require about 10 times less storage space than
bitmap files containing the same renderings. The
resolution of a metafile graphic does not dependon the monitor, but on the resolution of the output device. For example, if you print a metafile ona standard laser printer, the resolution might be
1200dpi.

If you choose both Bitmap and Metafile, HyperChem saves thegraphic in both types of file.

Choosing the Destination
You can choose to store a graphic on the Windows Clipboard, in afile, or both:
File

HyperChem stores the graphic in the files
Filename.bmp and Filename.wmf, or both. Each file
can hold only one image at a time.

Using HyperChem Results613

Transferring Graphics

Clipboard

HyperChem stores the graphic either as a bitmap,
or as a metafile on the Windows Clipboard. The
Display menu in the Windows Clipboard program
refers to Metafile as Picture. The Clipboard canhold only one graphic of each type at a time.

Filename

This is where you give the path and root name of
the file where either the bitmap or metafile will be
stored when you request the image be stored in a
file. The extension .bmp or .wmf will be added toFilename and should not be given explicitly. A
default Filename will be suggested but can bechanged as desired.

Saving Color Images
Check the Color box (✕) to store a graphic in full color. Turn Color
off to produce a black-and-white picture and to substitute dottedlines for certain colored lines (see “Using Black-and-white Output”
on page 105). For a BMP file format, color results in a file at least
four times as large. For a WMF file, Color produces only a small difference in file size.

Using Copy Image (or [F9])After you set up the graphic that you want to save (see the previous
section), press the function key [F9] or choose Copy Image on the
Edit menu. Use [F9] if you want a graphic of a visible pull-downmenu or dialog box. Since pulling down a menu or opening a dialog box usually requires the cursor, you cannot use the cursor tochoose Copy Image.

Using the Clipboard
HyperChem shares the Clipboard with other programs that workwith Windows. From HyperChem you can copy a graphic to the
Clipboard. Using the Paste command in another program, like
Microsoft Word®, you can transfer graphics from the Clipboard
into documents.
Caution: You cannot transfer HyperChem graphics to the Clipboard by using Cut or Copy on the HyperChem Edit menu. You

614

Chapter 12Transferring Graphics

must use [F9] or Copy Image. Using Cut or Copy places a text
description of the molecular system on the Clipboard.
Some programs that share the Clipboard with HyperChem (these
are Windows Applications and Non-Windows Applications in the
Windows Program Manager) might not be able to use either bitmap or metafile graphics directly from the Clipboard. These programs might require that you store graphics first in a BMP or WMF
file (see the next section). For specific requirements, see the user
manuals for each program.
Remember that HyperChem can store only one metafile and bitmap graphic at a time on the Clipboard. The next time you press[F9] to store graphics, you replace the previous graphic.
To collect several graphics, paste each one from the Clipboard into
a file, using another program that accepts metafile or bitmap
images. For example, a Windows Write file can store both bitmap
and metafile graphics.
To see the contents of the Clipboard, double-click on the Clipboard
icon in the Windows Program manager (Main Group). If you copied both metafile and bitmap images to the Clipboard, you see themetafile version. To see the bitmap version, choose Bitmap on the
Clipboard Display menu.

Using BMP or WMF Files
Most Windows Applications and many other programs can use
graphics from metafiles (WMF files) by importing or placing them.
An increasing number of programs can also use bitmap graphics
from BMP files. For specific requirements, see the user manuals foreach program.
Remember that HyperChem can store only one WMF and BMP
graphic at a time, in the files name by Filename (probably
chem.wmf and chem.bmp by default). The next time you press [F9]to store graphics in these files, you replace the previous graphic
unless you change Filename.

Using HyperChem Results

615

Printing a Molecular System

Printing a Molecular System
To print the molecular system in the workspace, choose Print on
the File menu.
Microsoft Windows controls the type of printer and its connections. To check these settings, click on the Start button and then
Settings/Printers.
Be sure that your printer is on and ready. HyperChem does not
inform you of printer problems, but relies on Windows to manage
printing.
Note: You can speed up printing by choosing Sticks for the Rendering option on the Display menu.

Storing Results in a Log File
You can store the detailed results of chemical calculations in log
files. The file stores all results that appear on the status line during
and after the calculation, plus many of the initial conditions andfinal results. The amount of information placed in the log filedepends on the values of Mechanics Print Level and Quantum
Print Level. Experiment with values between 0 and 9 for these to
obtain the printing you want.
Note: The maximum level of printing will not necessarily beobtained with the value 9 for these quantities.
Choose Start Log on the File menu to name a log file and begin
recording results. The default filename is chem.log. If you use aname for an existing log file, HyperChem lets you add on to thesame file (Append) or replace the contents of the file.
You can start only one log file at a time, but you can store any
number of files with different names. When you start a log file,
you can have available two new items on the File menu, Stop Log
and Log Comments.

Stopping a Log
Stop Log turns off the recording of a log file and adds the date andtime you stopped recording.

616

Chapter 12

Storing Results of a Molecular Dynamics Simulation

To see or print the contents of a log, you can use a text editor suchas Windows Notepad or Wordpad. Enter the filename (for example, \hyper7\chem.log), L-click on OK, and then choose
No conversion in the next dialog box that appears.

Adding Comments to a Log
Use Log Comments to add notes to a log file. You can use this item
anytime a log file is open and recording results.
You see the Log Comments dialog box (see page 91) to enter yourcomments.
To add or change text:•

L-click with the text cursor (I-shaped) anywhere in the text tomove the insertion point.

•

L-click-drag across text to select text that you want to delete or
replace.

•

To delete text, select it and press [Del].

•

To replace text, select it and start entering new text.

You can use these keys for editing:[Return]

Moves the text cursor to the next line.

[Backspace]

Erases the character (or selected text) to the left of
the insertion point (text cursor).

[Delete]Erases the character (or selected text) to the right of
the insertion point (text cursor).

[3] [4][1] [2]

Moves the insertion point (text cursor).

Storing Results of a Molecular Dynamics Simulation
You can store the progress of a molecular dynamics simulation ina snapshots file . This file contains a complete description of themolecular system for each snapshot. You can request snapshots atregular time intervals through the simulation. The snapshot file
has the same name as the current HIN file. HyperChem also createsanother file with the same name, but with the extension .snp. If

Using HyperChem Results

617

Analyzing HyperChem Results

the HIN file is still untitled, HyperChem uses chem.snp. The snapshot file is pointed to by a record in the accompanying HIN file.
When you run a molecular dynamics simulation, you can average
up to eight values (see “Molecular Dynamics Averages Dialog Box”
on page 377). The instantaneous values and averages are stored ina file that has the extension .csv (see “Plot and Averages Files” onpage 629). You can use a text editor to view these files or you cantransfer these values to another program for analysis. The file has
the same name as the current HIN file, or chem.csv if the HIN fileis still untitled.

Analyzing HyperChem Results
You can transfer many of the results of HyperChem calculations toother Windows applications; for example, to Microsoft Excel for
analysis and plotting results. You can do this transfer by using theWindows Clipboard, usually by selecting text by dragging themouse cursor over it and pressing [Ctrl]+[C] to copy to the Clipboard,and then moving to the new application and pressing [Ctrl]+[V] or
Paste on an Edit menu to add the information to it or by Windows
Dynamic Data Exchange (see“Dynamic Data Exchange (DDE)” on
page 604.

618

Chapter 12

Appendix A
HyperChem Files
HyperChem includes these files:

File Type

Filenames

Refer to:Force field calculations

chem.rul
typerule.bin
*.txt
*.dbf
*.par

Appendix B

Semi-empirical calculation*.abp

Appendix C

Ab initio or DFT calculations*.bas

Appendix C

HyperChem Input (data storage)*.hin

Appendix D

Residue templates

chem.tpl
chemct.tpl
chemnt.tpl

Appendix E

HyperChem default settings

Registry

Appendix F

Water for periodic boxes

wat216c.bin
wat5832c.bin

This chapter

HyperChem Files

619

620

Appendix A

File Type

Filenames

Refer to:HyperChem program files

chem.exe
mmplus.exe
newton.exe
eht.exendo.exe
tndo.exe
gauss.exe
dft.exe
tclsh80.exe
wish80.exe

This chapter

Essential DLL files

chemstr.dll
hcqmart.dll

This chapter

Module executable files

HCConformation.exe
HCCrystal.exe
HCData7.exe
HCNMR7.exe
HCPolymer.exe
HCQsar.exe
HCRay.exe
HCRmsfit.exe
HCScript.exe
HCSequence.exe
HCSugar.exe
NMRCalc.exe

This chapter

Help text

chem.hlp

This chapter

Script files

chem.scr
*.scr
*.tcl

This chapter

Snapshot Files

chem.snp*.snpThis chapter

Plot files

chem.csv*.csv

This chapter

Graphics files

*.wmf
*.bmp

This chapter

Water Files

File Type

Filenames

Refer to:Log files

chem.log*.log

This chapter

Water Files
HyperChem uses TIP3P models of water molecules (Jorgenson etal., J. Chem. Phys. 79(2):926-935, 1983) equilibrated at 300 K(25°C) and one atmosphere to solvate a molecular system in a periodic box. The binary file wat216c.bin provides up to 216 watermolecules, enough to fill a standard-sized periodic box 18.622
Ångstroms on a side. The file wat5832c.bin provides up to 5832
water molecules, enough to fill a box three times the standard size
(55.866 Ångstroms on a side). Wat5832c.bin contains the samecontents as wat216c.bin, repeated 27 times.

Program Files
These are the HyperChem program files:
chem.exe

Code for the HyperChem user interface, including
the Model Builder, all display functions, and preparations for chemical calculations. This is theHyperChem “frontend,” designed to run underWindows on a PC. The other program files constitute the “backend,” which can run on a PC oranother processor.

mmplus.exe

Code for calculations using the MM+ force field.

newton.exe

Code for calculations using AMBER, BIO+, andOPLS force fields.

eht.exe

Code for calculations using the Extended Hückel
method.

ndo.exe

Code for calculations using CNDO, INDO,MINDO3, MNDO, AM1, PM3, ZINDO/1, andZINDO/S methods.

tndo.exe

Code for calculations using TNDO method.

HyperChem Files

621

Essential DLL Files

gauss.exe

Code for calculations using ab initio methods.

dft.exe

Code for calculations using density functional theory.

You cannot modify HyperChem program files. You can complement HyperChem functions by developing programs that interact
with HyperChem through DDE links (see “Dynamic Data
Exchange (DDE)” on page 604).

Essential DLL Files
HyperChem contains a number of DLL files that accompany the
executable files. The DLL’s, apart from those involved with licensing, that are most essential are:chemstr.dll

Contains strings

hcqmart.dll

Contains code for quantum mechanical expectation values

Module Executable Files
The files of this type listed above contain executable code associated with modules that interact with chem.exe.

Help Text FileAll Help text available on screen is in one file, chem.hlp. You canread this text using the Help menu, by activating the Help window
with [F1], or by activating the Help cursor (context-sensitive help)
with [Shift]+[F1].

Script Files
Script files contain instructions for running HyperChem. You canwrite Script files (see “Scripts” on page 602) using a text editor, like
Windows Notepad. These files can have any filename or extension,
but .scr is recommended for scripts in the HyperChem Command
Language and .tcl for scripts in the Tool Command Language. You
can use the Script Editor available on the Script menu to assist in

622

Appendix A

Snapshot Files

writing scripts (HyperChem Commnad Language only).You canrun scripts using the Open Script command on the Script menu
(see page 105). The HyperChem Chemist’s Develop Kit Manualcontains a full description of the scripting capability within HyperChem.

Snapshot Files
During a molecular dynamics simulation, HyperChem can store
the trajectory of a molecular system at regular, timed intervals, as
snapshots. These results go into both the HIN file and an SNP file,with the extension .snp. The SNP file normally has the same nameas the HIN file. If there is not yet a HIN file, the filename ischem.snp.
You can playback the snapshots using HyperChem, to continue
analysis of the simulation. You can also use other applications tomodify or analyze the data in the SNP file.
A binary SNP file is composed of three sections:1. Fixed sized header that contains calculation parameters
2. Variable sized header that contains atom information
3. Coordinate and velocity data.
Note: Boolean values are 1 for true, 0 for false. All values are four
bytes long.

Fixed Sized Header
Type

Address

Description

int

0-3

Number of snapshots taken

int

4-7

File offset (in bytes) to first record of coordinate and velocity data

int

8-11

Number of atoms in snapshot

int

12-15

Snapshot period (in data collection units)

HyperChem Files623

Snapshot Files

Type

624

Appendix A

Address

Description

16-19

Reserved

Boolean

20-23

True if restraints were used

int

24-27

Optimizer type:
0: Steepest Descent
1: Fletcher-Reeves
2: Polak-Ribiere
3: Newton-Raphson

28-47

Reserved

Boolean

48-51

True if periodic boundary conditions were used

Boolean

52-55

Constant temperature?

real

56-59

Temperature relaxation time for coupling tobath (picoseconds)

60-63

Reserved

Boolean

64-67

Previously saved velocities used (for restart)?

int

68-71

Random number seed

real

72-75

X dimension of periodic box (Ångstroms)

real

76-79

Y dimension of periodic box (Ångstroms)

real

80-83

Z dimension of periodic box (Ångstroms)

84-95

Reserved

real

96-99

Starting temperature (K)real

100-103

Peak temperature (K)real

104-107

Low temperature (K)Snapshot Files

Type

Address

Description

real

108-111

Heat time (picoseconds)

real

112-115

Run time (picoseconds)

real

116-119

Cool time (picoseconds)

real

120-123

Time step (picoseconds)

real

124-127

Temperature step (K)128-159

Reserved

int

160-163

Data collection period (in time steps)

int

164-167

Warning level:
0: None1: Log file2: Log file and message box

int

168-171

Number of atoms in snapshot

Variable Sized Header
The following header information is repeated for each atom. Thisdata is sequential. Offsets are given relative to the start of eachatom’s header.

Type

Address

Description

int

0-3

Index of atom (starting from 0)

int

4-7

Atomic number (0-103, 0 for lone pair)

int

8-11

Atom type index

12-15

Reserved

HyperChem Files625

Snapshot Files

626

Appendix A

Type

Address

Description

int

16-19

True if atom is fixed

20-23

Reserved

int

24-27

Coordination (1 to 12 neighbors)

int

28-31

Index of first neighbor (–1 for none)

int

32-35

Index of second neighbor (–1 for none)

int

36-39

Index of third neighbor (–1 for none)

int

40-43

Index of fourth neighbor (–1 for none)

int

44-47

Index of fifth neighbor (–1 for none)

int

48-51

Index of sixth neighbor (–1 for none)

int

52-55

Index of seventh neighbor (–1 for none)

int

56-59

Index of eighth neighbor (–1 for none)

int

60-63

Index of ninth neighbor (–1 for none)

int

64-67

Index of tenth neighbor (–1 for none)

int

68-71

Index of eleventh neighbor (–1 for none)

int

72-75

Index of twelfth neighbor (–1 for none)

real

76-79

Charge

real

80-83

X coordinate

real

84-87

Y coordinate

real

88-91

Z coordinateSnapshot Files

Type

Address

Description

real

92-95

Mass

Coordinate and Velocity Data
The data from the simulation follows immediately after the variable sized header, as a series of records with one record perrecorded timestep. Each record contains the coordinates of each
atom (sequentially), the components of the atom’s velocity, and afixed sized trailer containing dynamics information.
The information repeated for each atom follow. Offsets are relative
to each atom’s data.

Type

Address

Description

real

0-3

X coordinate

real

4-7

Y coordinate

real

8-11

Z coordinate

real

12-15

X component of velocity (Ångstroms/picosecond)

real

6-19

Y component of velocity (Ångstroms/picosecond)

real

20-23

Z component of velocity (Ångstroms/picosecond)

The trailer for each record follows. Offsets are relative to the startof the trailer.

Type

Address

Description

real

0-3

Total energy

HyperChem Files627

Snapshot Files

Type

Address

Description

real

4-7

Stretching energy

real

8-11

Bending energy

real

12-15

Torsional energy

real

16-19

Van der Waals energy

20-23

Reserved

24-27

Electrostatic energy

28-35

Reserved

real

36-39

1-4 van der Waals energy

real

40-43

1-4 electrostatic energy

44-63

Reserved

real

64-67

Semi-empirical binding energy

real

68-71

Semi-empirical atomic energy

real

72-75

Semi-empirical electronic energy

real

76-79

Semi-empirical core energy

real

80-83

Semi-empirical heat of formation

84-103

Reservedreal104-107

Total dipole momentreal

108-111

X component of dipole moment

real

112-115

Y component of dipole moment

real

628

Appendix APlot and Averages Files

Type

Address

Description

real116-119

Z component of dipole momentreal

120-123

RMS gradientreal

124-127

Temperature (K)real

128-131

Potential energyreal132-135

Kinetic energy

136-143

Reserved

144-147

Elapsed time (picoseconds)

148-171

Reserved

real

Plot and Averages Files
If you choose to average (or average and plot) values during amolecular dynamics calculation (see “Molecular Dynamics Averages Dialog Box” on page 377), HyperChem saves the instantaneous values and RMS deviations (Dx)1 in a file with the same
name as the HIN file, but with the extension .csv. If the molecularsystem is not yet associated with a HIN file, HyperChem stores thevalues in chem.csv. The file is saved to the current working directory, which you must be able to write to (e.g., not on a CD-ROM).
CSV files provide the information for recreating a plot of the stored
values. To do this, you must run the molecular dynamics calculation with Snapshots on (see “Molecular Dynamics Options Dialog
Box” on page 369). When you “Playback” the snapshots (seepage 369), you can plot the stored values or choose, from the

1. Dx =

2

〈 x i2〉 – 〈 x i〉 , where xi =instantaneous value of EKIN, ETOT, EPOT, or TEMP,

 1 n 2
1 n  22〈 x i 〉 =  --- ∑ x i  , and 〈 x i〉 2 =  --- ∑ x i .
n

n

i=1

i=1

HyperChem Files629

Graphics Files

Molecular Dynamics Averages dialog box (see page 377), a subsetof the original values or their deviations.
Example:If you average total energy (ETOT) and the RMS deviation for totalenergy (D ETOT), the CSV file contains this type of data:time, ETOT, D ETOT
0,10.3854,5.19271
0.001,9.73882,6.70808
0.002,9.23686,7.34028
0.003,8.96351,7.34028...
0.999,10.0421,10.5366
1,10.3975,10.5365
The first line is the header, then there is a line for each time point.
ETOT (in the second column) contains the instantaneous values ofETOT. D ETOT (in the third column) contains the instantaneous
RMS deviations.
You can read these files into another program, like a spreadsheet
or plotting program, that can use data in a comma-separated-value(csv) format.

Graphics Files
The graphics files Filename.wmf or Filename.bmp (default names
chem.wmf and chem.bmp) contain images of the screen obtainedwith Copy Image on the Edit menu (see page 206).

Metafile Graphics
Filename.wmf stores an image as instructions for a line drawing.
Metafile is best for Sticks, Balls and Cylinders, Dots, and Sticks &Dots renderings. Metafiles require about 10 times less storage spacethan bitmap files containing the same renderings. The resolutionof a metafile image does not depend on the monitor, but on the
resolution of the output device. For example, if you print a metafile on a laser printer, the resolution might be 300 dpi.

630

Appendix A

Log Files

Bitmapped Graphics
Filename.bmp stores an image as a reproduction of the pixels onscreen. The image resolution is the same as the resolution of yourmonitor, which you choose when setting up Windows. Use Bitmap
to save Spheres renderings or contour plots from a single point,semi-empirical calculation (see “Single Point” on page 360).

Log Files
HyperChem accumulates the results of calculations in a log file if
you choose Start Log on the File menu. In the Open Log dialog box(see page 90), you can give a log file any filename or extension, but
the extension .log is recommended.
You can save information about a calculation by opening a log fileusing Start Log on the File Menu. The content and amount of
information saved in the log file is determined by settings that you
use for the Mechanics Print Level and Quantum Print Level entries in
the Start Log dialog box or in the Registry.
This appendix describes the information that is saved when you
use different settings for these entries. The settings range from
0–9. Generally, we recommend that you use a setting of 1–3. If you
use a setting of 4–9 for either entry, a large amount of information
is written into the log file. The log file can take up many megabytes
of disk space if you use a setting of 4–9 during a geometry optimization.

HyperChem Files

631

Log Files

Extended Hückel Calculations

632

Appendix A

QuantumPrintLevel

Information saved in log file0

start log time stamp
type of calculation
total number of electrons
total number of orbitals
doubly and singly occupied orbitals
total energy (kcal/mol and a.u.)
eigenvalues
atomic orbital electron populations
net charges and coordinates

1

All information when QuantumPrintLevel=0
orbital eigenvalues (energies), occupancies andeigenvectors (wavefunctions)2

All information when QuantumPrintLevel=0
total density matrix

3

All information when QuantumPrintLevel is0, 1, or 2

4, 5, 6, 7, 8,or 9

All information when QuantumPrintLevel is0, 1, or 2
overlap matrix
core Hamiltonian matrix
product of density matrix and overlap matrix

Log FilesNDO Calculations
The following table shows the information saved in the log filewhen you run calculations using NDO methods (all methods in
the Semi-empirical Method dialog box, except Extended Hückel).
QuantumPrintLevel

Information saved in log file0

start log time stamp
type of calculation
total number of electrons
total number of orbitals
double and single occupied orbitals in RHF, or
occupied alpha and beta orbitals in UHF
occupied and unoccupied orbitals when using
orbital criteriona
maximum excitation energy when using energy
criteriona
iteration list
total energy (kcal/mol and eV)
binding energy
isolated atomic energy
electronic energy
core-core interaction
number of configurations
heat of formation
gradient of reference configuration
eigenvalues of reference configuration
atomic orbital electron populations
net charges and coordinates
dipoles
lowest 10 state energies, multiplicities, andspinsb
CI energyb
UV spectra (frequencies, intensities, state dipole
moments, etc.)a
IR spectra (frequencies, intensities, etc.)c

1

All information when QuantumPrintLevel=0
orbital eigenvalues (energies), occupancies andeigenvectors (wavefunctions)2

All information when QuantumPrintLevel=0
density matrix in RHF or density matrices in UHF

HyperChem Files633

Log Files

QuantumPrintLevel

Information saved in log file3

All information when QuantumPrintLevel is 0, 1,
and 2

4

All information when QuantumPrintLevel=0
overlap Hamiltonian matrix
Fock matrices, eigenvalues, eigenvectors, density matrices for each interaction

5

All information when QuantumPrintLevel=0
Slater determinants (microstates)a6

All information when QuantumPrintLevel=0
eigenvalues and eigenvectors of CI secular equation

7

All information when QuantumPrintLevel is0, 5, and 6

8

All information when QuantumPrintLevel is0, 3, 5, and 6

9

All information when QuantumPrintLevel is
0 and 3frequencies and eigenvectors of mass-weighted
force matrix (normal modes)ca. Applies only when you do a singly excited CI calculation.
b. Applies only when you do a microstate CI calculation.
c. Applies only when you do a vibrational analysis calculation.

Ab initio calculations
This section describes the information that is saved when you use
the ab initio quantum mechanics method.

634

Appendix A

Log Files

Quantum
PrintLevel

Information saved in log file0

start log time stamp;
starting options:convergence limit
iteration limit
accelerate convergence flag
method for initial guess of MO
basis set type
RHF or UHF
spin-multiplicity
extra charge on the system
total number of electrons;
total number of orbitals (basis functions);
total number of primitive Gaussians;
double and single occupied orbitals in RHF, or occupiedalpha and beta orbitals in UHF;occupied and unoccupied orbitals when using orbital
criterion;aiteration list;
total energy (kcal/mol and a.u.);
total kinetic energy (kcal/mol and a.u.);
the Virial factor;
electron-electron and electron nuclear interaction energy;
nuclear repulsion energy;
number of configurations;
gradient or gradient of reference configuration; aeigenvalues or eigenvalues of reference configuration; aatomic orbital electron populations
net charges and coordinates;
dipole moments;
quadrupole moments;
octapole moments;
hexadecapole moments;
components of first derivatives;
UV spectra (frequencies, intensities, state dipole moments,etc.); aIR spectra (frequencies, intensities, etc.)b

HyperChem Files

635

Log Files

636

Quantum
PrintLevel

Information saved in log file1

All information when QuantumPrintLevel=0;
input basis function information;
orbital eigenvalues (energies) and eigenvectors (wavefunctions);
Mulliken population analysis.

2

All information when QuantumPrintLevel=0;
input basis function information;
density matrix in RHF or density matrices in UHF;
Mulliken population analysis.

3

All information when QuantumPrintLevel is 0, 1, and 2;
initial guess of MO coefficients.

4

All information when QuantumPrintLevel=0;
core Hamiltonian matrix;
initial guess of MO coefficients;
Fock matrices, eigenvalues, eigenvectors, density matrices foreach interaction;
Mulliken population analysis.

5

All information when QuantumPrintLevel=0;
input basis function information;
all the two-electron repulsion integrals;
Mulliken population analysis.

6

All information when QuantumPrintLevel=0;
input basis function information;
initial guess of MO coefficients;
Slater determinants; aMulliken population analysis.

7

All information when QuantumPrintLevel=0;
input basis function information;
initial guess of MO coefficients;
eigenvalues and eigenvectors of singly excited CI matrix; aMulliken population analysis.

Appendix A

Log Files

Quantum
PrintLevel

Information saved in log file8

All information when QuantumPrintLevel=0;
input basis function information;
initial guess of MO coefficients;
Slater determinants; aeigenvalues and eigenvectors of singly excited CI matrix; aeigenvalues, eigenvectors and density matrix of the reference
configuration in the SCF;
Mulliken population analysis.

9

All information when QuantumPrintLevel=0;
input basis function information;
initial guess of MO coefficients;
eigenvalues, eigenvectors, and density matrix;
Mulliken population analysis;
frequencies and eigenvectors of mass-weighted force matrix(normal modes) ba. Applies only when you do a singly-excited CI calculation
b. Applies only when you do vibrational analysis calculation

HyperChem Files

637

Log Files

Molecular Mechanics Calculations
The following table shows the information saved in the log filewhen you run a Single Point calculation using the MM+ force field.
MechanicsPrintLevel

Information saved in log file0

start log time stamp
type of calculationenergy components

1

All information when MechanicsPrintLevel is 0
center of massforce-field coordinates
principal moments of inertia
bond length and stretching energy
bond angles and bending energy
bond torsions and torsional energy
cubic stretch constant
stretching parameters
equilibrium bond length
force constantdipole interaction energy

2

All information when MechanicsPrintLevel is 1
dielectric constantdipole moment3

All information when MechanicsPrintLevel is 2
van der Waals energy

The following table shows the information saved in the log filewhen you run other molecular mechanics calculations.

638

Appendix A

MechanicsPrintLevel

Information saved in log file

0-9

start log time stamp
type of calculationenergy components

Log Files

Annotated Example Log File Output
A user can get extra information about a calculation by saving andreading a log file. Below we describe the information that is put inthe log file for representative calculations with MM+, AMBER,
Extended Hückel and CNDO. The example is an ethane molecule
calculation with single point, optimization, and five times steps ofdynamics where appropriate. For CNDO a configuration interaction calculation is also shown.
Annotations to the log files are shown in brackets, as in <annotation>.

MM+<A time stamp for the beginning of logging is added automaticallyto the log file.>
HyperChem log start -- Sat Jan 25 22:45:54 1992

<The following comments below were added via the File/Log
Comments command.>
Begin comments added by user prior to calculations
1. Single point
2. Geometry Optimization
3. 0.005 picoseconds of MD
End comments<Log file entries below were triggered by performing a single point
calculation using MM+ as the force field.>
Single Point, MolecularMechanics, molecule = ETHANE.HIN.

<The following section of output is consistent with the usual MM+
output. HyperChem does not make use of these coordinates andthey are given only for comparison with MM2 output from
Allinger’s program. The molecule is aligned and translated to thecenter of mass to give the following coordinates and to calculate
the principal moments of inertia. HyperChem retains the coordinates as they are on the screen for continuity purposes and the following coordinates are not those used by HyperChem. The internal coordinates are, of course, identical to those used by HyperChem. The units here for the principal moments of inertia are also
different than those used by HyperChem, associated with request-

HyperChem Files639

Log Filesing the display of the principal inertial axes. There, moments of2
inertia are given in amu-Ångstroms .>Center of Massx = -0.53797 y =0.29747 z =0.00000
MM+ coordinates of an aligned molecule at center of mass.
<last column is
C4( 1)-0.77000
0.00000
0.00000 ( 1)the MM+ type>C4( 2)
0.77000
0.00000
0.00000 ( 1)H( 3)-1.13333-0.01367
1.02757 ( 5)H( 4)-1.13333
0.89674-0.50194 ( 5)H( 5)-1.13334-0.88306-0.52563 ( 5)H( 6)1.13333
0.01367-1.02757 ( 5)H( 7)1.13333
0.883070.52562 ( 5)H( 8)1.13334-0.89674
0.50195 ( 5)Principal moments of inertia(units = 10**(-39)*gm*cm**2)ix =1.0605 iy =4.1827 iz =4.1827.

<Below, the results of bond stretching calculations are reported.>
Bond lengths and stretching energy (7 bonds)
Energy = 71.94(Kr)(dr)(dr)(1+(cs)(dr))
dr = R-R0<cubic stretch constant>cs = -2.000<The values below are all the stretches. R0 and Kr are the stretchingparameters — equilibrium bond length and force constant.>
Bond
R
R0
Kr
EnergyC4( 1) - C4( 2)1.54001.52304.40000.0884C4( 1) - H( 3)1.09001.11304.60000.1831C4( 1) - H( 4)1.09001.11304.60000.1831C4( 1) - H( 5)1.09001.11304.60000.1831C4( 2) - H( 6)1.09001.11304.60000.1831C4( 2) - H( 7)1.09001.11304.60000.1831C4( 2) - H( 8)1.09001.11304.60000.1831
Dipole Interaction energy (Dielectric constant = 1.500000)
Dipole(1)Mu(1)
Dipole(2)Mu(2) R12E(kcal)<These are no dipole terms for ethane so no output appears here.
Normally, the individual dipole interaction terms appear.>
Dipole Moment: x=0.000000 y=0.000000 z=0.000000 total=0.000000<The Van der Waals calculations start here.>
Van der Waals energy
9 vdw interactions (1,3 excluded)
640

Appendix A

Log Files
Energy = Kv*(2.90(10**5)exp(-12.50/P) - 2.25(P**6))
Rv = Rvdw(i) + Rvdw(j)Kv = sqrt(Eps(i)*Eps(j))
P = (Rv/R) or (Rv/R#)(if P.gt.3.311, Energy = Kv(336.176)(P**2))# in the vdw calculations the hydrogen atoms are relocatedso that the attached hydrogen distance is reduced by 0.915<Asterisk denotes a vicinal interaction, R# is the distance between
the relocated centers. The parameters are Rv and Kv.>
Atom Pair
H( 3), H(
H( 3), H(
H( 3), H(
H( 4), H(
H( 4), H(
H( 4), H(
H( 5), H(
H( 5), H(
H( 5), H(

6)
7)
8)
6)
7)
8)
6)
7)
8)

R
3.05982.48872.48872.48872.48873.05982.48873.05982.4888R#
2.89802.39702.39702.39702.39702.89802.39702.89802.3970

Rv
3.000
3.000
3.000
3.000
3.000
3.000
3.000
3.000
3.000

Kv
0.04700.04700.04700.04700.04700.04700.04700.04700.0470

Energy-0.05240.22010.22010.22010.2201-0.05240.2201-0.05240.2201

(1,4)
*
*
*
*
*
*
*
*
*

<Bending calculations start here, including stretch-bend interactions.>
Bond angles, bending and stretch-bend energies ( 12 angles)
Eb = 0.043828(Kb/2)(dt)(dt)(1+sf*dt**4)
dt = Theta-Theta0<the sextic scale factor>
sf = 0.00700e-5
Esb = 2.51118 (Ksb)(dt)(dr1+dr2)<the two bond deformations involved in the angle>
dr(i) = R(i) - R0(i)(x,y) = f or s

<Four built-in stretch-bend interactions.>
Ksb(1) =Ksb(2) =Ksb(3) =Ksb(4) =

0.120
0.250
0.090
-0.400

x-f-y
x-s-y
x-f-h
x-s-h

f = 1st row atoms = 2nd row atom
(dr2 = 0)(dr2 = 0)<The bending interactions are listed below.>Atoms
C4( 2)-C4(
C4( 2)-C4(
C4( 2)-C4(
H( 3)-C4(
H( 3)-C4(

Theta
Theta0
Kb
Eb
Ksb
Esb
1)- H(3) 109.471 110.0000.090 -0.0020 0.360 0.0022
1)- H(4) 109.471 110.0000.090 -0.0020 0.360 0.0022
1)- H(5) 109.471 110.0000.090 -0.0020 0.360 0.0022
1)- H(4) 109.471 109.0000.320 0.0016
1)- H(5) 109.471 109.0000.320 0.0016

HyperChem Files641

Log Files
H(
C4(
C4(
C4(
H(
H(
H(

4)-C4(
1)-C4(
1)-C4(
1)-C4(
6)-C4(
6)-C4(
7)-C4(1)- H(5) 109.471 109.0000.320 0.00162)- H(6) 109.471 110.0000.090 -0.00202)- H(7) 109.471 110.0000.090 -0.00202)- H(8) 109.471 110.0000.090 -0.00202)- H(7) 109.471 109.0000.320 0.00162)- H(8) 109.471 109.0000.320 0.00162)- H(8) 109.471 109.0000.320 0.0016

0.360
0.360
0.360

0.00220.00220.0022<Torsion calculations start here.>
Dihedral angles, torsional energy (Et) ( 9 angles)
Et = (V1/2)(1+cos(w))+(V2/2)(1-cos(2w))+(V3/2)(1+cos(3w))
Sign of angle a-b-c-d is negative, when looking through b toward c,
if d is counterclockwise from a.

<The torsional interactions are listed below.>
Atoms
omega
V1
H( 3)C4( 1)C4( 2) H( 6) 180.000 0.000
H( 3)C4( 1)C4( 2) H( 7) 60.001 0.000
H( 3)C4( 1)C4( 2) H( 8) 60.000 0.000
H( 4)C4( 1)C4( 2) H( 6) 60.001 0.000
H( 4)C4( 1)C4( 2) H( 7) 59.999 0.000
H( 4)C4( 1)C4( 2) H( 8) 179.999 0.000
H( 5)C4( 1)C4( 2) H( 6) 60.000 0.000
H( 5)C4( 1)C4( 2) H( 7) 179.999 0.000
H( 5)C4( 1)C4( 2) H( 8) 60.001 0.000
Total Energy=2.360644 Gradient=11.839364.

V2
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000

V3
0.237
0.237
0.237
0.237
0.237
0.237
0.237
0.237
0.237

et
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000
0.000

<Below is a summary of the interaction terms in a single point calculation.>
Bond=1.18704
Angle=0.0225845
Dihedral=5.607e-010 Vdw=1.16321
Stretch-bend=-0.0121913
Electrostatic=0.

<Log file entries below were triggered by a geometry optimization
calculation.>
Geometry optimization, MolecularMechanics, molecule = ETHANE.HIN.
mm+
NewtonRaphson optimizer<First line comes from back end, second from front end. GradientSquared is the sum of the squares of all gradient components,
while Gradient reported below is the RMS gradient (first number
divided by 24 for ethane and the square root taken).>Iter=
1 Energy=1.13315 AvgMovement= 0.01131
GradientSquared=1858.67369.
642

Appendix A

Log Files
Energy=1.133152 Gradient=8.800269 Converged=NO (1 cycles 1 points).
Iter=
2 Energy=0.81988 AvgMovement= 0.00485 GradientSquared=
571.54119.
Energy=0.819878 Gradient=4.879981 Converged=NO (2 cycles 2 points).
Iter=
3 Energy=0.81615 AvgMovement= 0.00074 GradientSquared=
6.27436.
Energy=0.816150 Gradient=0.511304 Converged=NO (3 cycles 3 points).
Energy converged.
Energy=0.816150 Gradient=0.061118 Converged=YES (4 cycles 4 points).
Bond=0.027583
Angle=0.0991741
Dihedral=0.000255269 Vdw=0.677749
Stretch-bend=0.0113892
Electrostatic=0.

<Log file entries below were triggered by molecular dynamics calculation.>
Molecular dynamics, MolecularMechanics, molecule = ETHANE.HIN.
mm+
MechanicsData: RunTime=0.005000 ps SimulationTemperature=300.000000 K
TimeStep=0.001000 ps StepsToRefresh=1.
Time=0 ps Potential=0.815953 Kinetic=7.15412 TotalEnergy=7.97008
kcal/mol T=300.01 K.
Time=0.001 ps Potential=1.93134 Kinetic=6.17928 TotalEnergy=8.11062
kcal/mol T=259.13 K.
Time=0.002 ps Potential=4.17453 Kinetic=4.30619 TotalEnergy=8.48072
kcal/mol T=180.581 K.
Time=0.003 ps Potential=5.00905 Kinetic=3.58626 TotalEnergy=8.59531
kcal/mol T=150.391 K.
Time=0.004 ps Potential=3.82956 Kinetic=4.4882 TotalEnergy=8.31776
kcal/mol T=188.214 K.
Time=0.005 ps Potential=2.8143 Kinetic=5.29967 TotalEnergy=8.11396
kcal/mol T=222.243 K.

<Time stamp triggered by Stop Log menu item.>HyperChemlog stop -- Sat Jan 25 22:48:44 1992

AMBER
<The log file of a HyperNewton calculation contains basically thesame information as that of a HyperMM+ calculation except thatthe detailed description of individual interactions given for MM+,for consistency with Allinger’s MM2, are not given here.>HyperChem log start -- Tue Dec 17 23:54:09 1991
Single Point, MolecularMechanics, molecule = 'ETHANE.HIN'
amber
HyperChem Files643

Log Files
Total Energy=0.217552 Gradient=2.514611
bond=0.060759 angle=0.000105982 dihedral=6.86196e-010 vdw=0.156687
H-bond=0electrostatic=0
Geometry optimization, MolecularMechanics, molecule = 'ETHANE.HIN'
amber
PolakRibiere optimizer
Energy=0.176069 Gradient=0.465800 Converged=NO (1 cycles 4 points)
Energy=0.171165 Gradient=0.120952 Converged=NO (2 cycles 7 points)
Energy=0.169494 Gradient=0.013383 Converged=NO (3 cycles 12 points)
Energy=0.169494 Gradient=0.013383 Converged=YES (3 cycles 12 points)
bond=0.00150512 angle=0.00357023 dihedral=4.23819e-010 vdw=0.164419
H-bond=0electrostatic=0
Molecular dynamics, MolecularMechanics, molecule = 'ETHANE.HIN'
amber
MechanicsData: RunTime=0.005000 ps SimulationTemperature=300.000000 K
TimeStep=0.001000 ps StepsToRefresh=1
Time=0 ps Potential=0.169494 Kinetic=7.15408 TotalEnergy=7.32357
kcal/mol T=300.008 K
Time=0.001 ps Potential=1.23804 Kinetic=6.2294 TotalEnergy=7.46744
kcal/mol T=261.231 K
Time=0.002 ps Potential=3.37796 Kinetic=4.36028 TotalEnergy=7.73824
kcal/mol T=182.849 K
Time=0.003 ps Potential=4.56812 Kinetic=3.28064 TotalEnergy=7.84877
kcal/mol T=137.574 K
Time=0.004 ps Potential=3.9793 Kinetic=3.71141 TotalEnergy=7.69071
kcal/mol T=155.639 K
Time=0.005 ps Potential=2.77903 Kinetic=4.66901 TotalEnergy=7.44804
kcal/mol T=195.796 K
HyperChemlog stop -- Tue Dec 17 23:55:48 1991

Extended Hückel
<The results from Extended Hückel Theory calculations on modelbuilt ethane appear below. Only a single point calculation is performed as geometry optimization and molecular dynamics are
undefined for EHT.>
HyperChem log start -- Sun Jan 26 19:39:04 1992
Single Point, SemiEmpirical, molecule = ETHANE.HIN.
ExtendedHuckel
Extended-Huckel Calculation:
Singlet State Calculation
Number of Electrons = 14
Starting Extended-Huckel calculation with 14 orbitals
Charge on the System = 0644

Appendix A

Log Files
Total Orbitals = 14
Number of Double Occupied Levels = 7
Unweighted Huckel Constant = 1.7500000
d Orbitals on Si...Cl If Any Not Included
Energy=-5724.018299<The logging of results corresponds to the smallest PrintLevel=0.>----------------- RESULTS -----------------<Total energies in EHT are sums of occupied orbital energies.>
Sum of One-Electron Energies =Sum of One-Electron Energies =-5724.0182994 (kcal/mol)-9.122089647 (a.u.)<These are the orbital energies, lowest energy orbitals occupied

EIGENVALUES(eV)

first.>-26.485626-14.782681
7.076813-21.621887-14.191090
7.076891-16.121031
2.383136
24.606670

ATOMIC ORBITAL ELECTRON POPULATIONS-16.121025
3.373500
40.313354-14.782691
3.373533<Number of electrons occupying eachatomic orbital>
1.2242380.950609
0.974254

0.950610
0.951825
0.974242

0.951825
0.950609
0.974225

0.950609
0.974238
0.974252

1.224237
0.974227

NET CHARGES AND COORDINATES<Charge is total charge on an atom>

Atom

Coordinates(a.u.)xy-1.01663-0.89296-1.01663
2.017220.92538-1.57955-1.98761-1.57955-1.98763-1.57956-2.95863
2.70382-0.04564
2.70381-0.04562
2.70383

Z

Charge1
6-0.077281
2
6-0.077281
3
10.025762
4
10.025773
5
10.025746
6
10.025758
7
10.025775
8
10.025748
HyperChemlog stop -- Sun Jan 26 19:39:54 1992z
0.00000
0.00000
0.00000
1.68183-1.68182
0.00000
1.68183-1.68182

CNDO<The following is the result for a successive single point calculation, a geometry optimization and .005 picoseconds of molecular
dynamics, for CNDO ethane starting at model builder geometry.>

HyperChem Files

645

Log Files
These HyperChem log start -- Sun Jan 26 19:58:41 1992
Single Point, SemiEmpirical, molecule = ETHANE.HIN.
CNDO
Convergence limit = 0.0100000 Iteration limit = 50
RHF Calculation:
Singlet state calculation
Number of electrons = 14
Number of Double Occupied Levels = 7
Charge on the System = 0
Total Orbitals = 14
Starting CNDO calculation with 14 orbitals<SCF iterations show differences in energy (kcal/mol) at this iteration from previous iteration. First iteration describes the second
calculation so that a Difference is defined.>
Iteration = 1 Difference = 4413.32086
Iteration = 2 Difference = 2.12419
Iteration = 3 Difference = 0.24927
Iteration = 4 Difference = 0.10723
Iteration = 5 Difference = 0.00046
Energy=-1659.715468 Gradient=64.939762<Gradient is RMS value><The isolated atomic energies below come from CINDO.ABP
parameter file. Binding energies defined as differences between
total energy and value for isolated atoms.>
ENERGIES AND GRADIENT(kcal/mol)

Total Energy

Total Energy
Binding Energy
Isolated Atomic Energy
Electronic Energy
Core-Core Interaction
Gradient

=
=
=
=
=
=

EIGENVALUES(eV)-40.386066-29.239080-16.373669-16.373646
8.596774
10.167131-11801.4373094-18.807376823 (a.u.)-1659.7154677 (kcal/mol)-10141.7218417 (kcal/mol)-28492.2957749 (kcal/mol)
16690.8584655 (kcal/mol)
64.9397615 (kcal/mol/Ang)-23.532267
7.900207
10.167147-23.532249
7.900218
10.711308-18.191881
8.076718

ATOMIC ORBITAL ELECTRON POPULATIONS
1.014663
0.977262
1.038487
0.977262
1.038487
0.977262
0.997442
0.997442
0.997442

0.977262
0.997442
0.997442

1.014663
0.997442

NET CHARGES AND COORDINATESAtom Z
Charge646=

Appendix A

Coordinates(a.u.)Log Files

1
2
3
4
5
6
7
8

6
6
1
1
1
1
1
1

-0.007673-0.007673
0.002558
0.002558
0.002558
0.002558
0.002558
0.002558x-1.01663-1.01663
0.92538-1.98761-1.98763-2.95863-0.04564-0.04562

y-0.89296
2.01722-1.57955-1.57955-1.57956
2.703822.703812.70383z
0.00000
0.00000
0.00000
1.68183-1.68182
0.00000
1.68183-1.68182<Dipole moment has a point charge contribution as well as a contribution for sp polarization (hybridization).>
Dipole (Debyes) x
y
z
Total
Point-Chg.
0.000
0.000
0.000
0.000
Hybrid
0.000
0.000
0.000
0.000
Sum
0.000
0.000
0.000
0.000
Geometry optimization, SemiEmpirical, molecule = ETHANE.HIN.
CNDO
PolakRibiere optimizer
Convergence limit = 0.0100000 Iteration limit = 50
Optimization algorithm = Polak-Ribiere
Criterion of RMS gradient = 0.1000 kcal/(A mol) Maximum cycles = 120
RHF Calculation:
Singlet state calculation
Number of electrons = 14
Number of Double Occupied Levels = 7
Charge on the System = 0
Total Orbitals = 14
Starting CNDO calculation with 14 orbitals<The square brackets describe the inner iteration of the outer iteration.>
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=1 Diff=4413.32086]
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=2 Diff=2.12419]
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=3 Diff=0.24927]
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=4 Diff=0.10723]
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=5 Diff=0.00046]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=1 Diff=6.28550]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=2 Diff=0.48315]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=3 Diff=0.05823]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=4 Diff=0.01519]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=5 Diff=0.00003]
E=-1669.7328 Grad=24.582 Conv=NO(0 cycles 2 points) [Iter=1 Diff=0.38656]
HyperChem Files

647

Log Files
E=-1669.7328 Grad=24.582 Conv=NO(0 cycles 2 points) [Iter=2 Diff=0.02926]
E=-1669.7328 Grad=24.582 Conv=NO(0 cycles 2 points) [Iter=3 Diff=0.00232]
E=-1670.9449 Grad=3.839 Conv=NO(1 cycles 3 points) [Iter=1 Diff=0.00153]
E=-1671.0237 Grad=2.292 Conv=NO(1 cycles 4 points) [Iter=1 Diff=0.00154]
E=-1671.0615 Grad=1.155 Conv=NO(1 cycles 5 points) [Iter=1 Diff=0.00597]
E=-1671.0162 Grad=3.123 Conv=NO(1 cycles 6 points) [Iter=1 Diff=0.00339]
E=-1671.0653 Grad=1.143 Conv=NO(2 cycles 7 points) [Iter=1 Diff=0.01133]
E=-1671.0653 Grad=1.143 Conv=NO(2 cycles 7 points) [Iter=2 Diff=0.00096]
E=-1671.0725 Grad=2.754 Conv=NO(2 cycles 8 points) [Iter=1 Diff=0.00140]
E=-1671.0762 Grad=1.680 Conv=NO(3 cycles 9 points) [Iter=1 Diff=0.00172]
E=-1671.1079 Grad=0.968 Conv=NO(3 cycles 10 points) [Iter=1 Diff=0.00199]
E=-1671.1213 Grad=0.275 Conv=NO(3 cycles 11 points) [Iter=1 Diff=0.00756]
E=-1671.0930 Grad=1.184 Conv=NO(3 cycles 12 points) [Iter=1 Diff=0.00488]
E=-1671.1215 Grad=0.153 Conv=NO(4 cycles 13 points) [Iter=1 Diff=0.00084]
E=-1671.1133 Grad=1.515 Conv=NO(4 cycles 14 points) [Iter=1 Diff=0.00057]
E=-1671.1223 Grad=0.102 Conv=NO(5 cycles 15 points) [Iter=1 Diff=0.00014]
E=-1671.1222 Grad=0.281 Conv=NO(5 cycles 16 points) [Iter=1 Diff=0.00006]
E=-1671.1224 Grad=0.024 Conv=YES(6 cycles 17 points)[Iter=1 Diff=0.00000]<Values for optimized structure are given below.>
ENERGIES AND GRADIENT
Total Energy
Total Energy
Binding Energy
Isolated Atomic Energy
Electronic Energy
Core-Core Interaction

=
=
=
=
=
=
=

Gradient

EIGENVALUES(eV)-40.735325-29.079802-15.713195-15.713187
8.381527
10.037412-11812.8442711 (kcal/mol)-18.825555543 (a.u.)-1671.1224294 (kcal/mol)-10141.7218417 (kcal/mol)-28505.2114559 (kcal/mol)
16692.3671848 (kcal/mol)
0.0248510 (kcal/mol/Ang)-23.688864
7.12410810.037416-23.688860
7.124109
11.649177-18.800158
7.752248

ATOMIC ORBITAL ELECTRON POPULATIONS
1.010628
0.971429
1.035717
0.971429
1.035717
0.971429
1.003599
1.003599
1.003599

0.971429
1.003599
1.003599

1.010628
1.003599

NET CHARGES AND COORDINATESAtom Z
Charge
1
2
3
4
5
648

6
6
1
1
1

0.010797
0.010797-0.003599-0.003599-0.003599

Appendix A

Coordinates(a.u.)xy-1.01662-0.81492-1.01663
1.939190.94470-1.61103-1.99728-1.61103-1.99729-1.61104z
0.00000
0.00000-0.00001
1.69856-1.69855

Log Files
6
7
8

1
1
1

-0.003599-0.003599-0.003599

Dipole (Debyes)
Point-Chg.
Hybrid
Sum

x
0.000
0.000
0.000

-2.97795-0.03597-0.03596
y
0.000
0.000
0.000

2.73530
2.73530
2.73530
z
0.000
0.000
0.000

-0.00001
1.69856-1.69855
Total
0.000
0.000
0.000

<Beginning of molecular dynamics calculation.>
Molecular dynamics, SemiEmpirical, molecule = ETHANE.HIN.
CNDO
Convergence limit = 0.0100000 Iteration limit = 50
Heat time = 0.0000 ps Run time = 0.0050 ps
Cool time = 0.0000 ps Time step = 0.0010 ps
Starting temperature = 0.0000 K Simulation temperature = 300.0000 K
Final temperature = 0.0000 K Temperature step = 0.0000 K
RHF Calculation:
Singlet state calculation
Number of electrons = 14
Number of Double Occupied Levels = 7
Charge on the System = 0
Total Orbitals = 14
Starting CNDO calculation with 14 orbitals<Square brackets show inner iteration of trajectory.>
Time=0.0000 ps Total Energy=0.0000 kcal/mol T=0.00 K [Iter=1
Diff=4387.33259]
Time=0.0000 ps Total Energy=0.0000 kcal/mol T=0.00 K [Iter=2
Diff=2.77043]
Time=0.0000 ps Total Energy=0.0000 kcal/mol T=0.00 K [Iter=3
Diff=0.23693]
Time=0.0000 ps Total Energy=0.0000 kcal/mol T=0.00 K [Iter=4
Diff=0.02929]
Time=0.0000 ps Total Energy=0.0000 kcal/mol T=0.00 K [Iter=5
Diff=0.00029]
Time=0.0000 ps Total Energy=-1663.9692 kcal/mol T=299.97 K [Iter=1
Diff=0.02540]
Time=0.0000 ps Total Energy=-1663.9692 kcal/mol T=299.97 K [Iter=2
Diff=0.00253]
Time=0.0010 ps Total Energy=-1664.2238 kcal/mol T=284.66 K [Iter=1
Diff=0.02273]
Time=0.0010 ps Total Energy=-1664.2238 kcal/mol T=284.66 K [Iter=2
Diff=0.00229]

HyperChem Files649

Log Files
Time=0.0020 ps Total Energy=-1664.8376 kcal/mol T=247.75 K [Iter=1
Diff=0.01758]
Time=0.0020 ps Total Energy=-1664.8376 kcal/mol T=247.75 K [Iter=2
Diff=0.00178]
Time=0.0030 ps Total Energy=-1665.4801 kcal/mol T=209.23 K [Iter=1
Diff=0.01282]
Time=0.0030 ps Total Energy=-1665.4801 kcal/mol T=209.23 K [Iter=2
Diff=0.00130]
Time=0.0040 ps Total Energy=-1665.8840 kcal/mol T=185.31 K [Iter=1
Diff=0.00989]<Values for termination of trajectory are shown below.>
ENERGIES AND GRADIENT
Potential Energy
Potential Energy
Binding Energy
Isolated Atomic Energy
Electronic Energy
Core-Core Interaction
Gradient

=
=
=
=
=
=
=

EIGENVALUES(eV)-40.993458-29.136822-15.648407-15.521277
8.417984
10.039606-11811.9756909 (kcal/mol)-18.824171329 (a.u.)-1670.2538492 (kcal/mol)-10141.7218417 (kcal/mol)-28579.1119570 (kcal/mol)
16767.1362662 (kcal/mol)
15.9022448 (kcal/mol/Ang)-23.837172
7.007665
10.131248-23.772387
7.054772
11.863716-18.899385
7.770212ATOMIC ORBITAL ELECTRON POPULATIONS
1.007651
0.969464
1.035971
0.972557
1.037679
0.969771
1.006463
1.004401
1.002980

0.972535
1.001260
1.005261

1.006693
1.007314

NET CHARGES AND COORDINATESAtom Z
Charge
1
2
3
4
5
6
7
8

6
6
1
1
1
1
1
1

0.014380
0.013300-0.001260-0.007314-0.006463-0.004401-0.002980-0.005261

Dipole (Debyes) x
Point-Chg.
0.032
Hybrid-0.021
Sum
0.011
650

Appendix A

Coordinates(a.u.)xy-0.98866-0.79542-1.03241
1.92194
0.93860-1.62845-2.01437-1.60907-2.01617-1.59763-2.99806
2.73141-0.07517
2.72392-0.07984
2.72577y
0.010-0.006
0.003

z
0.007
-0.0040.002

z-0.01013
0.01288-0.00970
1.66915-1.69357-0.00538
1.70330-1.69653

Total
0.034
0.022
0.012

Log Files
Time = 0.0050 ps
Kinetic Energy = 4.2293 kcal/mol
Total Energy = -1666.0245 kcal/mol
Temperature = 177.36 K
Time=0.0050 ps TotalEnergy=-1666.0245 kcal/mol T=177.36 K [final]]
HyperChemlog stop -- Sun Jan 26 20:01:15 1992

CNDO Configuration Interaction<Below are the results of a microstate configuration interaction(CI) calculation.>
HyperChem log start -- Sun Jan 26 20:31:04 1992
Single Point, SemiEmpirical, molecule = ETHANE.HIN.
CNDO
Convergence limit = 0.0100000 Iteration limit = 50
RHF Calculation:
Singlet state calculation
Configuration interaction will be used
Number of electrons = 14
Number of Double Occupied Levels = 7
Charge on the System = 0
Total Orbitals = 14
Starting CNDO calculation with 14 orbitals<First of all perform an SCF calculation to obtain a reference configuration.>
Iteration = 1 Difference = 4413.32086
Iteration = 2 Difference = 2.12419
Iteration = 3 Difference = 0.24927
Iteration = 4 Difference = 0.10723
Iteration = 5 Difference = 0.00046<Now perform a configuration interaction calculation with thelowest 100 microstates (single determinants). Report results for
only the 10 lowest resulting configurations.>
CONFIGURATION INTERACTION
The Lowest Ten State Energies, Expectation Values of S(S+1) and S
State
1
2
3
4

Absolute E(kcal/mol) Relative E(kcal/mol)-11803.7234927
0.0000000-11480.3053185
323.4181742-11466.9040318
336.8194609-11466.9025478
336.8209449

S(S+1)
0.00
2.00
2.00
2.00

HyperChem Files

S
0.00
1.00
1.00
1.00

651

Log Files
5-11449.3794912
354.3440015
6-11449.3682000
354.3552927
7-11440.2197333
363.5037594
8-11440.2196214
363.5038713
9-11437.3047164
366.4187763
10-11437.3046177
366.4188750
Energy=-1662.001651 Gradient=65.321671
ENERGIES AND GRADIENT
Total Energy=
Total Energy=
Binding Energy=
Isolated Atomic Energy=
Electronic Energy=
Core-Core Interaction=
CI Energy=
Number of Configurations Used=
Gradient of Reference Configuration =

2.00
0.00
0.00
0.00
2.00
2.00

-11803.7234927 (kcal/mol)-18.811020202 (a.u.)-1662.0016510 (kcal/mol)-10141.7218417 (kcal/mol)-28494.5819582 (kcal/mol)
16690.8584655 (kcal/mol)-2.2861833 (kcal/mol)
10065.3216714 (kcal/mol/Ang)

EIGENVALUES OF THE REFERENCE CONFIGURATION(eV)-40.386066-29.239080-23.532267-23.532249-16.373669-16.373646
7.9002077.900218
8.596774
10.167131
10.167147
10.711308
ATOMIC ORBITAL ELECTRON POPULATIONS
1.014662
0.977380
1.038151
0.977380
1.038151
0.977380
0.997476
0.997476
0.997476-18.191881
8.076718

0.977380
0.997476
0.997476

1.014662
0.997476

NET CHARGES AND COORDINATESAtom Z
Charge
1
2
3
4
5
6
7
8

6
6
1
1
1
1
1
1

-0.007572-0.007572
0.002524
0.002524
0.002524
0.002524
0.002524
0.002524

Coordinates(a.u.)xy-1.01663-0.89296-1.01663
2.017220.92538-1.57955-1.98761-1.57955-1.98763-1.57956-2.95863
2.70382-0.04564
2.70381-0.04562
2.70383

Dipole (Debyes) xyz
Point-Chg.
0.000
0.000
0.000
Hybrid
0.000
0.000
0.000
Sum
0.000
0.000
0.000
HyperChemlog stop -- Sun Jan 26 20:32:17 1992

652

Appendix A

1.00
0.00
0.00
0.00
1.00
1.00

z
0.00000
0.00000
0.00000
1.68183-1.68182
0.00000
1.68183-1.68182

Total
0.000
0.000
0.000

Appendix B
Force Field Files
HyperChem provides several files that you need for chemical calculations with molecular mechanics force fields (MM+, AMBER,
BIO+ (CHARMM), and OPLS):
chem.rul

A text file containing a set of rules for assigning
atom types for each force field. HyperChem
requires the binary version of this file,
typerule.bin.

typerule.bin

The binary version of chem.rul. HyperChem uses
this file to assign atom types to atoms.

*.txt

Force field parameter files in text format. You canchange these files with most text editors. There is
at least one set of TXT files for each force field.

*.dbf

Force field parameter files in dBase (III or IV) format. You can change these files with most databaseprograms. There is at least one set of DBF files foreach force field. These types of files are redundantas same parameters are in TXT files. These files arebeing phased out and new parameters or parameter sets are only being created for TXT files.

*.parThe binary version of parameter files. HyperChem
uses these files to direct molecular mechanics calculations. HyperChem combines a complete set ofparameter files for any force field into one PAR file.
For the molecular mechanics force field MM+, thename of the binary parameter file is mmplus.par.

Note: You can use any filenames and extensions for parameter
files. The settings in the Registry (see Appendix F) direct HyperChem to the correct parameter files.

653

Atom Types

Atom Types
For molecular mechanics calculations, each atom in a molecularsystem should have an atom type. Atom types represent sets ofatoms of the same element that have similar chemical environments. Molecular mechanics calculations treat all atoms of thesame type in similar ways. Each force field has a different set of
atom types.
Atom types are generally required for molecular mechanics calculations, but not for semi-empirical calculations. The text filechem.rul contains rules that assign atom types to atoms, depending on the environment of the atoms. Each atom type has a namethat might be different for each force field. Force fields require
atom types to assign calculation parameters. However, all force
fields in HyperChem can now deal with atoms that lack types(with the unknown type **) by using an alternative default
method for assigning parameters. This can be a useful feature forworking around limitations of force fields that determine bonding
characteristics on the basis of atom types. For example, MM+makes the single bond in butadiene too short, since by default abond between two C3-type atoms should have the length of a double bond. Similarly, MM+ tries to make biphenyl planar, thoughexperimentally the rings are not coplanar. By setting the two carbon atoms that are singly bonded to type **, these problems are
avoided.
When you draw a new molecule, HyperChem gives each atom thetype name **, indicating no atom type is yet assigned. When you
choose Model Build or Calculate Types on the Build menu, orchange the force field (using Molecular Mechanics on the Setupmenu), HyperChem assigns appropriate atom types, using theforce field that you chose in the Molecular Mechanics Force Field
dialog box. After assigning types, a remaining ** means that there
is no appropriate atom type available.
If you open a HIN file, HyperChem uses the force field that was ineffect when you saved the file and assigns atom types stored in thefile.
HyperChem requires a binary version of chem.rul, named
typerule.bin, both of which come with HyperChem. If you alter
the text file chem.rul, choose Compile Type Rules on the Buildmenu to convert the new chem.rul to a new typerule.bin file.

654

Appendix B

Atom Types

Atom Typing Rules
You can add or modify the atom typing rules found in chem.rul,
which contains rules for all force fields. The file has a hierarchicaldecision structure, including these levels:•

Force field•Element•

Clause and tests•

Assignment statement

For each atom in a molecular structure, HyperChem scans this fileand makes these decisions:•

What is the force field?

•

What is the element?

•

For this element, does the atom satisfy the tests in the firstclause? If not, in the second clause, and so on?

•

When the atom satisfies the tests in a clause, HyperChem
assigns the atom type.

•

HyperChem goes to the next atom.

Caution: Changes to chem.rul can cause fatal errors in HyperChem. Make a backup copy of chem.rul before you change it.
Example:S:connected to (H)?
=SH.

=S.
In this example for a sulphur atom (S), from the OPLS force field,
the first clause contains one test: is the sulfur atom connected to ahydrogen? If true, the atom type is SH. If false, HyperChem goes tothe next clause, which has no tests, only a statement that assigns
S as the atom type.

Force Field Files

655

Atom Types

SyntaxThis is the structure of chem.rul:
forcefield(<force-field-name>)<element-symbol>:; <comment><clause><test>?
<test>?
...
=<assignment-statement>.
<clause>...
Note: Entries in chem.rul are not case-sensitive, except for element
symbols. HyperChem recognizes, for example, the difference
between SI and Si. Spaces between words are optional.

forcefield<force-field-name> is amber, opls, bio+, or mm+.

<element-symbol>:This is the chemical symbol for an element, for example, S, Cl, andNa.
A colon must follow the symbol. Each element can have only one
symbol. Element symbols include LP for lone pair and HX for
extended hydrogen.

;<comment>
Comments can occur anywhere in the file. A comment begins witha semicolon and ends at the end of a line.

<clause>A clause is a set of tests applied to each atom plus an atom typeassignment. Each clause ends with an assignment statement.
656

Appendix B

Atom Types

Note: HyperChem checks clauses from top to bottom, so theirorder is important. Place more specific clauses before general ones.
If one test in a clause fails, HyperChem goes to the next clause. If
all the tests in a clause are evaluated as true, HyperChem assigns
an atom type. Some elements have a final clause without tests.
This assigns an atom type if all previous clauses failed. If the force
field does not have a clause without tests and if all clauses failed,
HyperChem assigns the atom type **, meaning unknown.

<test>?
A question mark must follow each test. A clause can contain thesetests:Test

To pass test

Is it sp3?

True if the atom has no double, triple, or aromaticbonds

Is it sp2?

True if the atom has one double or two or morearomatic bonds

Is it sp?

True if the atom has one triple or two doublebonds

In 5 ring?

True if the atom is part of a five-membered ring

In 6 ring?

True if the atom is part of a six-membered ringHas aromatic bond?

True if the atom has at least one aromatic bondConnected to<expression>?

True if the atom is bonded to atoms described in<expression>. See the next section

Connected to Expressions
Connected to expressions include the type of connecting bond,the connected atoms, and bonds between the connected atoms.
These symbols represent bonds:–

single bond=double bondForce Field Files

657

Atom Types#

triple bond~aromatic bondno symbol

any bond type

Connected to expressions use element symbols to represent connected atoms. You can use any standard symbols from the periodic
table, plus these:
Lp

Lone pair

Hx

Extended hydrogenR

Any element, including Lp, except H

X

Any halogen (F, Cl, Br, I)*

Any element except Lp

Note: Keep connected to expressions as short as possible. Atomtypes are usually unaffected by atoms more than two or threebonds away. Also, longer expressions increase the time required toassign types.
Example:C
The atom is connected to a carbon through any type of bond.
–C=N–CThe atom is connected to the CNC group through a single bond.
The group contains a double and single bond.
–CH3
The atom is connected to a methyl group through a single bond.
–C(–CH3)–N
The atom is connected to a carbon through a single bond. The carbon has a methyl side chain (in parentheses) and a singly bonded
nitrogen.
(–CH3)–N
The atom is connected to a methyl group by a single bond and anitrogen by a single bond.
Note: HyperChem compares atom by atom the environment
around an atom to the terms on a connected to expression. It does

658

Appendix BForce Field Parameters

not retrace its path. This prevents a simple carbon-carbon bondfrom satisfying expressions like –C–C–C–C–C.

Side Groups
Specify side chains either by placing them in parentheses or byusing numbers. For example:–CH2 or –C(H)H–CH2Cl or –C(H)(H)ClRings
The atom being typed can be connected to or part of a ring. Pairsof tags (@1 to @9) placed after atoms in the ring describe closure
points, for example:–C@1CCCCCC@1
This describes a connection to a six-membered ring, with the tag@1 after C1 and C7. C1 and C7 represent the same atom in the ring.
–@1CCC@1
This describes a cyclopropane ring, with the atom being typed as
the first atom (C1) in the ring (@1 at the beginning of the expression modifies the atom being typed). C1 and C4 are the same atom.

<assignment-statement>.
A clause must end with an assignment statement that contains anatom type belonging to the force field. These types appear in thefiles *typ.txt (see the next section). The assignment statement
must end with a period.

Force Field Parameters
Each force field can have several parameter sets. Each parameterset has a set of parameter files that define the interactions between
atoms and the force constants for these interactions. HyperChem
supplies each file in two formats, text (ASCII) and dBase III or IV.
You can use either a text editor (like Windows Notepad) or a database program (like Excel Q+E) to view and edit these files. The typeof file that HyperChem uses can be different for each force fieldand parameter set, either TXT or DBF. The Registry (see, for examForce Field Files659

Force Field Parametersple, “MM+ Settings” on page 769) defines the file type for eachforce field and parameter set in this record:
FileFormat=Text (or DBF for DBASE)
Note: DBF files for parameters are being phased out as redundantand you should now use only Text files in the above setting.

Parameter Files
HyperChem supplies the following parameter files for the force
fields:*typ.txt*typ.dbf

List of atom types and atomic masses.

*str.txt
str.dbf

Parameters for bond stretching.

ben.txt
ben.dbf

Parameters for bond angle bending.

mmpben3.txt For MM+ only, bond angle parameters for threemmpben3.dbf membered rings.
mmpben4.txt For MM+ only, bond angle parameters for fourmmpben4.dbf membered rings.
tor.txt
tor.dbf

Parameters for torsion angle rotation.

mmptor3.txt For MM+ only, bond torsion parameters for threemmptor3.dbf membered rings.
mmptor4.txt For MM+ only, bond torsion parameters for fourmmptor4.dbf membered rings.

660

Appendix B*imp.txt*imp.dbf

For AMBER, BIO+, or OPLS, parameters for
improper torsion angles (see the Glossary) involving planarity constraints.

mmpoop.txt
mmpoop.dbf

For MM+ only, out-of-plane bending parameters
for an sp2 hybridized atom. Other force fields use
improper torsion angles (see the Glossary) for thesecases.

nbd.txt
nbd.dbf

Parameters for nonbonded interactions between
pairs of atoms (atom types).

Force Field Parameters*npr.txt*npr.dbf

Parameters for nonbonded, 1–4 interactions
between specific pairs of atoms. At this time, only
the bio85 and charmm* parameter sets (see thenext section) include this file.

am*hbd.txt
am*hbd.dbf

For AMBER only, parameters for hydrogenbonding.

.parA binary file combining the parameters files for
one parameter set. A force field can have one PAR
file for each parameter set (see the next section).

HyperChem requires at least one binary (PAR) file for each force
field. All PAR files are supplied on the HyperChem release disks. If
you alter the parameter files (TXT or DBF), choose the parameterset (using Select Parameter Set on the Setup menu), and thenchoose Compile Parameter Set on the Setup menu to convert thisparameter set to a PAR file.
To add a new parameter set, enter the information using a text editor or a database program. Then add to the Registry (see Appendix
F) a description of the parameter set.

Parameter Sets
Each force field can have more than one parameter set and a corresponding PAR file. This version of HyperChem has the following
parameter sets available:

Parameter Set

Parameter
Files Included

Referencemm+

mmp*.*

Allinger, N.L., J. Am.Chem.
Soc. 99:8127-8134, 1977
Quantum Chemistry Program
Exchange (QCPE) Program #395
(MM2), Indiana University
Department of Chemistry,
Bloomington, IN

amber2amber*.*

Weiner, S.J., et al., J. Comp. Chem.
7:230-252, 1986

Force Field Files

661

Force Field Parameters

662

Appendix B

Parameter Set

Parameter
Files Included

Referenceamber3am89a*.*

Kollman, P.A., Department of Pharmaceutical Chemistry, University ofCalifornia, San Francisco, by
request. For AMBER Release 3.0A

ambers

am90s*.*

Hohmans, S.W., Biochemistry
29:9110 (1990). A force field optimized for polysaccharide simulationamber94am94a*.*

Cornell, W.D., Cieplak, P., Bayly C.I.,
Gould I.R., Merz, K.M. Jr., Ferguson,
D.M., Spellmeyer, D.C., Fox, T.,
Caldwell, J.W. and Kollman, P.A.,
Journal of the American Chemical
Society 117, 5179-5197 (1995).

amber96am96ator.txt(only torsionschanged fromamber94)

Computer Simulation of Biomolecular
Systems, A. Wilkinson, P. Weiner, W.
Van Gunsteren, eds. Volume 3, p.
83-96, P. Kollman, R. Dixon, W.
Cornell, T. Fox, C. Chipot and A.
Pohorille

bio83

bio83*.*

Brooks, B.R., et al. J. Comp. Chem.
4:187-217, 1983. Since this versionof CHARMM does not consider alldihedral angles, torsion force constants for the missing angles are set
to zero in BIO+

bio85

bio85*.*

Reiher, W.E., III, Theoretical Studies
of Hydrogen Bonding, Ph.D. thesis,
Harvard University, 1985. Since thisversion of CHARMM does not consider all dihedral angles, torsion
force constants are scaled to include
all dihedral angles

Force Field Parameters

Parameter Set

Parameter
Files Included

Referencecharmm19

charmm19*.*

Reiher, III., W.E. Theoretical Studies
of Hydrogen Bonding, Ph.D. Thesis,
Department of Chemistry, Harvard
University, Cambridge, MA, USA,
1985

charmm22

charmm22*.*

MacKerell, Jr., A. D .et. al., All-atom
empirical potential for molecularmodeling and dynamics Studies ofproteins. Journal of Physical Chemistry B, 1998, 102, 3586-3616

charmm27

charmm27*.*

Foloppe, N. and MacKerell, Jr., A.D.
"All-Atom Empirical Force Field for
Nucleic Acids: 1) Parameter Optimization Based on Small Molecule andCondensed Phase Macromolecular
Target Data. Journal of Computational Chemistry, 2000, 21:86-104

opls

opls*.*

Jorgensen, W.L. and Tirado-Rives, J.
J. Am. Chem. Soc.110:1657-1666,
1988
Pranata, J. et al., J. Am. Chem. Soc.
113:2810-2819, 1991
Jorgensen, W.L. and Severance, D.L.
J. Am. Chem. Soc. 112:4768-4774,
1980

The Registry lists the alternative parameter sets in the record CustomNames; for example: CustomNames=amber2, amber3. This filealso gives the default conditions for each parameter set (see, forexample, “AMBER Settings” on page 749).
To choose a parameter set:
1. Choose Molecular Mechanics on the Setup menu, then choose
a force field.
2. Choose Select Parameter Set on the Setup menu, then choose aparameter set for the chosen force field.
Force Field Files663

Force Field Parameters

If you change the contents of a parameter file or add a new set ofparameters, choose the parameter set (using Select Parameter Set
on the Setup menu), and then choose Compile Parameter Set on the
Setup menu to convert this parameter set to a PAR file.

Newer Force Fields for Amber and BIO+(CHARMM)
HyperChem includes two force fields for both the Amber and Bio+
(Charmm) molecular mechanics method.
The older Amber force field is represented by the parameter sets
Amber2, Amber3, and Ambers. The newer force field (without a
Hydrogen-bonding term, for example) is represented by theparameter sets Amber94, Amber96, and beyond. Choosing thenewer parameter sets sets a flag that automatically chooses the
new force field (sometimes referred to by the Amber group as theCornell et. al force field). This new force field has the nameAmber94 (in HIN files, for example) although it does not appear as
an explicit choice.
A similar scheme is in place with Bio+ (Charmm). Choosing aparameter set charmm22, charmm27, and beyond automaticallygives you the newer force field (without hydrogen bonding andwith a Urey-Bradley term, etc. as described in the definitive paper
on Charmm (J. Phys. Chem. B., 102, 3586, 1998). This new force
field has the name Charmm2 (in HIN files, for example) although
it does not appear as an explicit choice. Choosing a bio83 or bio85
parameter set or charmm19 parameter set (which differs triviallyfrom the bio85 parameter set) causes the older force field to be
used.
There are thus, in effect 6 force fields in HyperChem - MM+,
Amber, Amber94, Bio+, Charmm2, OPLS, and the default force
field used when all types are **.
Caution: The last two paragraphs imply a restriction on custom
user-implemented parameter sets for the older force fields. HyperChem distinguishes the newer force field by a parameter set index
of 4 or greater (starting at 1). Thus one can add parameter sets atwill for the newer force fields but there must remain only 3 parameter sets for the older force fields or an indexing problem will
result.

664

Appendix BForce Field Parameters

Type Parameter File (*typ)This file contains all atom types, and corresponding atomic
masses, for a force field. The Registry, or the chem.ini file, specifies
the names of these parameter files in AtomTypeMass records. The
parameter file has three columns, separated by single tabs (in text
files):

ColumnContent

Field Typea

ATOM

Atom typeC

MASS

Mass in grams/mol

N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

Example: MG 24.3050 magnesium

Bond Length Parameter File (str)This file contains the bond stretch parameters for AMBER, BIO+(CHARMM),or OPLS. The Registry specifies the names of theseparameter files in QuadraticStretch records. The parameter file has
five columns:

Field Typea

ColumnContent

B1

Atom 1 (atom type) involved in bondC

B2

Atom 2 (atom type) involved in bondC

KR

Stretching force constant inkcal/mol Å2

N

REQ

Equilibrium distance in Ångstroms

N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

Force Field Files

665

Force Field Parameters

Example: A B 469.0000 1.4000 TYR

MM+ Bond Length Parameter file
The chem.ini file specifies the name of this parameter file in the
MM+Stretch record. The parameter file has seven columns:

Field Typea

ColumnContent

T1

Atom 1 (atom type) involved in bondC

T2

Atom 2 (atom type) involved in bondC

KS

Stretching force constant inmillidynes/Å

N

L0

Minimum energy bond length in Å

N

L1

Alternative minimum energy bondlength in Å, used only if atoms1 and 2
have less than two hydrogens attachedto eachNDIPOLEBond dipole moment in Debyes

N

REMARK

Comments and literaturereferencesR

a. C = four-character string, N = number, R = character string.

Example: c4 c3 4.300 1.522 0.000 0.300 “my test parameter”

Bond Angle Parameter File (ben)This file contains all bending (bond angle) parameters for the
AMBER, BIO+, and OPLS force fields. The Registry specifies thenames of these parameter files in the QuadraticBend records. The
parameter file has six columns:

666

Appendix BForce Field Parameters

Field Typea

ColumnContent

A1

Atom 1 (atom type) involved in angle

C

A2

Atom 2 (atom type), the central atom,
involved in angle

C

A3

Atom 3 (atom type) involved in angle

C

KTHETA

Bending force constant inkcal/mol rad2

N

THETAEQ

Equilibrium angle in degrees

N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

Example: C2 C2 NT 80.0000 111.2000 pro jpc 76, 1439

MM+ Bond Angle Parameter Files
For MM+, there are three bend parameter files, the files mmpben.*for most bond angles and mmpben3.* and mmpben4.* for threeand four-membered rings. The Registry specifies the names ofthese parameter files in the records MMPBend, MMPBend3, and
MMPBend4, respectively. The parameter files have eight columns:

Field Typea

ColumnContent

Τ1

Atom type for end atom of bond angle

CΤ2

Atom type for central atom of bond angle

CΤ3

Atom type for other end atom of bond angle

C

KS

Bending force constant in millidyne Å/rad2

N

Force Field Files667

Force Field Parameters

Field Typea

ColumnContent

TYPE1

Standard bond angle. MM+ uses this angle
unless TYPE2 and TYPE3 are nonzero andtheir conditions are satisfied

N

TYPE2

Bond angle if one end atom is hydrogen

N

TYPE3

Bond angle if both end atoms are hydrogens

N

REMARKS

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

Example: c4 c3 c4 0.440 118.20 0.00 0.00 “my test parameter”

Urey-Bradley Bend Parameter File
The newer Charmm22 force field includes a possible Urey-Bradleyterm (an angle term that depends on the distance between the twoterminal atoms) that assists in the description of vibrational spectra. The parameter files for this term have the names
charmm*ub.txt. The Registry specifies the name for these files.

ColumnContent

Field Typea

A1

Atom 1 (atom type) involved in angle

C

A2

Atom 2 (atom type), the central atom,
involved in angle

C

A3

Atom 3 (atom type) involved in angle

C

KUB

Distance force constant inkcal/mol Å2 involving A1 and A2

N

S0

Equilibrium distance in Ångstroms

N

REMARKS

Comments and literature referencesR

a. C = four-character string, N = number, R = character string

Example: CA CA CA 35.0 2.4162

668

Appendix B“MacKerell web site”

Force Field Parameters

Torsion Parameter File (tor)This file contains torsional parameters for the AMBER, BIO+(CHARMM),and OPLS force fields. The Registry specifies thenames of these parameter files in FourierTorsion records. The file
has nine columns:

Field Typea

Field Name

Content

T1

Atom 1 (atom type) involved in torsion

C

T2

Atom 2 (atom type), a central atom,
involved in torsion

C

T3

Atom 3 (atom type), a central atom,
involved in torsion

C

T4

Atom 4 (atom type) involved in torsion

C

MULT

Multiplicity

N

HALF_VN(Energy of torsional barrier N)/2, in
kcal/molN

GAMMA

Phase offset in degrees

N

N

Periodicity of the Fourier term, from 1
to 6

N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

Note: If there are multiple parameters for the same T1, T2, T3, andT4 that differ in N (periodicity), the Fourier series uses all of them.
Example: N* CM CM CA 1 9.5100 180.000 2

MM+ Torsion Angle Parameter Files
For MM+, there are two torsion parameter files, mmptor.* for mosttorsions and mmptor4.* for torsions involving four-memberedrings. The Registry specifies the names of these parameter files inForce Field Files669

Force Field Parameters

the MMPTorsion and MMPTorsion4 records. The parameter files
have eight columns:

Field Typea

ColumnContent

T1

Atom 1 (atom type) involved in torsion

C

T2

Atom 2 (atom type), a central atom,
involved in torsion

C

T3

Atom 3 (atom type), a central atom,
involved in torsion

C

T4

Atom 4 (atom type) involved in torsion

C

V1

Energy of torsional barrier V1, in
kcal/molN

V2

Energy of torsional barrier V2, in
kcal/molN

V3

Energy of torsional barrier V3, in
kcal/molN

REMARK

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

Example: o1 co o2 c4 –1.650 8.880 0.000 “my test parameter”

Improper Torsion Parameter File (*imp)
This file contains all improper torsional parameters for AMBER or
OPLS force fields. The Registry specifies the names of these parameter files in the FourierImpTorsion records. The central atom in an
improper torsion is either atom 2 or atom 3. The parameter file has
eight columns:

670

Appendix B

ColumnContent

T1

Atom 1 (atom type) involved in torsion

Field TypeaCForce Field Parameters

Field Typea

ColumnContent

T2

Atom 2 (atom type) involved in torsion

C

T3

Atom 3 (atom type) involved in torsion

C

T4

Atom 4 (atom type) involved in torsionC

HALF_VN(Energy of torsional barrier N)/2, in
kcal/molN

GAMMA

Phase offset in degrees

N

N

Periodicity of the Fourier term, from 1 to
6

N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

Example: C3 CH NT C 114.00 180.00 3

BIO+ Improper Torsion Parameter File
The BIO+ force field uses a quadratic form for improper torsions.
The Registry gives the names of this parameter file in the QuadraticImpTorsion record. The parameter file has seven columns:

Field Typea

ColumnContent

T1

Atom 1 (atom type) involved in torsion

C

T2

Atom 2 (atom type) involved in torsion

C

T3

Atom 3 (atom type) involved in torsion

C

T4

Atom 4 (atom type) involved in torsion

C

KOMEGA

Improper torsion force constant inkcal/mol rad2N

OMEGA0Equilibrium improper torsion angle indegreesN

Force Field Files

671

Force Field Parameters

Field Typea

ColumnContent

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R l= character string.

Example: N CH1E CH2E C 45.00 0.00 “J. Comput. Chem. 4,
187 (1983)”

Out-of-plane Bending Parameter File (mmpoop)
This file contains parameters for the MM+ force field only, describing the planar arrangement of atoms bonded to an sp2 atom.
X
B
Y

A

C

If X is an sp2 hybridized atom, the attached atoms A, B, and C tend
to be in the same plane as X. Y is the projection of X onto the plane
ABC. The out-of-plane parameters involve the angles XAY, XBY,
and XCY. The MM+ calculation also uses standard bond angle
parameters (see page 666) for angles AYB, AYC, and BYC, where
the atom type for Y is the same as X.
The Registry gives the name of this parameter file in the
MMPOOPBend record. The parameter file has four columns:

672

Appendix B

Field Typea

ColumnContent

C

Atom type for central, sp2 hybridized
atom (atom X in diagram)C

A

Atom type for one of the atoms bonded
to atom C (atom A, B, or C in diagram)CForce Field Parameters

Field Typea

ColumnContent

COPB

Out-of-plane bending force constant, inmillidyne Å/rad2 (for angle XAY, XBY, or
XCY in the diagram)N

REMARK

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

Example: c3 c4 0.050 “my test parameter”

Nonbonded Parameter Files (nbd)
HyperChem calculates nonbonded interactions (which include
van der Waals attractions) between pairs of atoms (actually, atom
types). The Registry specifies the names of these parameter files in
the 6-12AtomVDW records.
There are three methods for calculating pair-wise interactions of
atom types: R Star Epsilon, Sigma Epsilon, or Slater-Kirkwood (seeHyperChem Computational Chemistry for a discussion of these methods). The contents of a parameter file depend on the combination
method that you specify in the 6-12AtomVDWFormat records inthe Registry for AMBER, BIO+, and OPLS parameter sets.
The default combination method for MM+ and AMBER is R Star
Epsilon. You cannot change the combination method for MM+.
The default methods for BIO+ and OPLS are R Star Epsilon andSigma Epsilon, respectively.
This is the format of a *NBD file using an R Star Epsilon calculation(four columns):

ColumnContent

Field Typea

ATOM

Atom type

C

R_STAR

Half the minimum energy nuclear separation, in Ångstroms (van der Waals
radius, r¡*). Uses an arithmetic mean forpair values

N

Force Field Files673

Force Field Parameters

Field Typea

ColumnContent

EPS

Well depth in kcal/mol (minimum
energy)N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

Example: CA 1.8500 0.1200 Equivalent to C
This is the format of a *NBD file using a Sigma Epsilon calculation(four columns):

ColumnContent

Field Typea

ATOM

Atom type

C

SIGMA

Nuclear separation where energy iszero. Uses a geometric mean for pairvaluesN

EPS

Well depth in kcal/mol (minimum
energy)N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

This is the format of a *NBD file using a Slater-Kirkwood calculation (five columns):

674

Appendix B

ColumnContent

Field Typea

TYPE

Atom type

C

ALPHA

Atomic polarizability

N

NEFF

Effective number of valence electrons

N

RVDW

van der Waals radius in Ångstroms

N

REFERENCE

Comments and literature references

RForce Field Parameters

a. C = four-character string, N = number, R = character string.

Pair-based Nonbonded Parameter Files
Each parameter set (except for MM+) can have an optional filecontaining parameters for nonbonded interactions between specific pairs of atoms. If these parameters are present, HyperChem
uses them instead of calculating pair-wise interactions for specificatom types (see the previous section on *NBD files). In the present
release of HyperChem, only BIO+ (CHARMM)and OPLS have pairbased nonbonded parameter files, charmm*npr and oplsnpr. The
Registry specifies the names of these parameter files in 612PairVDW records.
There are three methods for calculating parameters using the datain these files: R Star Epsilon, Sigma Epsilon, or AijBij (see HyperChem
Computational Chemistry for a discussion of these methods). The
contents of a parameter file depend on the calculation methodthat you specify in the 6-12AtomVDWFormat records in the Registry for AMBER, BIO+ (CHARMM), and OPLS parameter sets.

Force Field Files

675

Force Field Parameters

This is the format of a *NPR file using an R Star Epsilon calculation(five columns):

Field Typea

Field Name

Content

A1

Atom type of atom 1

C

A2

Atom type of atom 2

C

RMIN

The minimum energy separation in Å

N

EPSILON

Well depth in kcal/mol

N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

This is the format of a *NPR file using a Sigma Epsilon calculation(five columns):

Field Typea

Field Name

Content

A1

Atom type of atom 1

C

A2

Atom type of atom 2

C

SIGMA

The separation where energy is zeroN

EPSILON

Well depth in kcal/mol

N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

This is the format of a *NPR file using an AijBij calculation (five columns):

676

Appendix B

Field Name

Content

A1

Atom type of atom 1

Field TypeaCForce Field Parameters

Field Typea

Field Name

Content

A2

Atom type of atom 2CAij

The coefficient for the r –12 term
(kcal/mol Å12)N

Bij

The coefficient for the r –6 term
(kcal/mol Å6)

N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

BIO+ can use an additional pair-based nonbonded parameter filefor 1–4, nonbonded interactions. The Registry specifies the nameof this parameter file in the 6-12Atom14VDW record. This file isnot supplied in this release of HyperChem.

Hydrogen Bond Parameter File (am*hbd)
This file contains the hydrogen bonding parameters for the
AMBER force field. The Registry specifies the name of this parameter file in the 10-12PairHBond record. The file has five columns:

Field Typea

Field Name

Content

ACC

Atom type of acceptor

C

DON

Atom type of donor

CC

Parameterb

N

D

Parameterb

N

REFERENCE

Comments and literature referencesR

a. C = four-character string, N = number, R = character string.

C ij
rij12

D ij
r ij10b. E HBOND = --------- – ------- , where i and j represent the interacting atoms.

Example: H NB 7557.00 2385.000 “Raphael”

Force Field Files

677

Force Field Parameters

678

Appendix B

Appendix C
Quantum Mechanics Files
Semi-Empirical Files
HyperChem provides several files that are necessary for semiempirical quantum mechanics calculations (Extended Hückel,
CNDO, INDO, MINDO3, MNDO, MNDO/d, AM1, PM3, ZINDO/1,
ZINDO/S, and TNDO). These files contain parameters that simplify
solutions of the wave equations:

MethodFilename

Contents

Reference

Extended
Hückelexhuckel.abp

Alpha and beta parameters,
orbital exponents

Howell, J. et al., QCPE #344a; seealso following table

CNDO and
INDO

cindo.abp

Alpha and beta parameters,
orbital exponents

Pople, J. A. and Beveridge, D.L.,
Approximate Molecular Orbital
Theory, McGraw-Hill, 1970.

MINDO3mindo3_1.abp

Core-electron attraction
parameters, orbital exponents
Electron repulsion parameters
and ionization potentials
Core-core repulsion and resonance parameter

Dewar, M.J.S. et al., J. Am. Chem.
Soc. 97:1285, 1975.

Alpha and beta parameters,
orbital exponents
Electron repulsion parameters

Dewar, M.J.S. and Theil, W.,
J. Am. Chem. Soc.
99:4899, 1977.

mindo3_2.abp
mindo3_3.abp

MNDO

mndo_1.abp
mndo_2.abp

Dewar, M.J.S. et al., QCPE #506a.

Dewar, M.J.S. et al., QCPE #506a.

679

Semi-Empirical Files

MethodFilename

Contents

ReferenceAM1

am1_1.abp

Core-electron attraction andresonance parameters, orbital
exponents
Electron repulsion parameters
Core-core repulsion parameters

Dewar, M.J.S., et al., J. Am. Chem.
Soc. 107:3902, 1985; Dewar,
M.J.S., et al., QCPE #506a.

Core-electron attraction
parameters, orbital
exponents
Electron repulsion parameters
and ionization potentials
Core-core repulsion and resonance parameters

Stewart, J.J.P., J. Comp. Chem.
12:320,1991; Stewart, J.J.P., et al.,
QCPE #506a.

Orbital exponents, ionization
potentials, etc.
Slater-Condon parameters,
total electronic energies, andheat of formation of free atoms
Ionization potentials andvalence bond mixing
coefficients

Bacon, A.D.; Zerner, M.C., Theor.
Chim. Acta 53: 21-54, 1979 andAnderson, W.P.; Edwards, W.D.;
Zerner, M.C., Inorgan. Chem. 25:
2728, 1986

Orbital exponents, ionization
potentials, etc.
Slater-Condon parameters,
total electronic energies, andheat of formation of free atoms
Ionization potentials andvalence bond mixing
coefficients
Empirical coulomb integrals

Ridley, J.; Zerner, M.C.,
Theor. Chim. Acta 32:111-134,
1973; 42: 223-236, 1976; Zerner,
et al., J. Am. Chem. Soc. 102:589,
1980

Identical in form to
CNDO/INDO files except they
are indexed by atom type
rather than atomic number

HyperChem Computational
Chemistry Manual

am1_2.abp
am1_3.abp

PM3

PM3_1.abp

PM3_2.abp
PM3_3.abp

ZINDO/1

zindo1_1.abp
zindo1_2.abp

zindo1_3.abp

ZINDO/S

zindos_1.abp
zindos_2.abp

zindos_3.abp

zindos_4.abp
TNDO

default.abp
or a user definedparameter filea. Quantum Chemistry Program Exchange, Indiana University, Bloomington, IN

You may want to modify the parameter files when new and betterparameters become available or you might add some new parame680

Appendix CSemi-Empirical Files

ters for testing purposes. The current parameter files include mostof the parameters published in the literature. The contents of thefiles are described on the following pages.

Extended Hückel Parameter File
The parameter file, exhuckel.abp, includes the parameters of 105
real elements and 105 phoney fluorines. Each line in the file corresponds to the parameters for a particular element indexed by its
atom number. The phoney fluorines are used in mixed mode calculations. To distinguish phoney fluorines from the real elements,
the phoney fluorines are labeled with negative atomic numbers.
The parameters for each element have also been extended andinclude nine data items because of the use of double-ζ for the
Slater d-orbitals for the transition metals.

exhuckel.abp File Format
The description of each column in the exhuckel.abp parameter fileis shown in the following table.
ColumnSymbolContent

1

Z

Atomic number, negative values correspondto capping atoms

2ζss orbital Slater exponent (a.u.)3

ζpp orbital Slater exponent (a.u.)4ζdd orbital Slater exponent (a.u.)5Iss orbital ionization potential (eV)6Ipp orbital ionization potential (eV)7

Idd orbital ionization potential (eV)8

C1coefficient of Slater exponent ζdQuantum Mechanics Files

681

Semi-Empirical Files9ζd2

d orbital Slater exponent (a.u.)

10

C2

coefficient of Slater exponent ζd2

References for Parameters in exhuckel.abp
1. R.Hoffmann, J. Chem. Phys. 39 (1963), 1397.
2. A.B.Anderson, R.Hoffmann, J. Chem. Phys. 60 (1974), 4271.
3. A.R.Rossi, R.Hoffmann, Inorg. Chem. 14 (1975), 365.
4. P.J.Hay, J.C.Thibeault, R.Hoffmann, J. Am. Chem. Soc. 97(1975), 4884.
5. M.Elian, R.Hoffmann, Inorg. Chem. 14 (1975), 1058.
6. R.H.Summerzille, R.Hoffmann, J. Am. Chem. Soc. 98 (1976),
7240.
7. J.W.Lauher, R.Hoffmann, J. Am. Chem. Soc. 98 (1976), 1729.
8. M.M.L.Chen, R.Hoffmann, J. Am. Chem. Soc. 98 (1976), 1647.
9. J.W.Lauher, M.Elian, R.H.Summerville, R.Hoffmann, J. Am.
Chem. Soc. 98 (1976), 3219.
10. T.A.Albright, P.Hofmann, R.Hoffmann, J. Am. Chem. Soc. 99(1977), 7546.
11. D.L.Dubois, R.Hoffmann, Nouv. J. Chim. 1 (1977), 479.
12. S.Komiya, T.A.Albright, R.Hoffmann, J.K.Kochi, J. Am. Chem.
Soc. 99 (1977), 8440.
13. D.L.Thorn, R.Hoffmann, Inorg. Chem. 17 (1978), 126.
14. N.Trong Anh, M.Elian, Hoffmann, J. Am. Chem. Soc. 100(1978), 110.
15. L.L.Lohr, P.Pykko, Chem. Phys. Lett. 62 (1979), 333.
16. A.Dedieu, T.A.Albright, R.Hoffmann, J. Am. Chem. Soc. 101(1979), 3141.
17. R.Hoffmann, S.Shaik, J.C.Scott, M.-H.Whangbo, M.J.Foshee,
J. Solid State Chem. 34 (1980), 263.
18. K.Tatsummi, R.Hoffmann, Inorg. Chem. 19 (1980), 2656.

682

Appendix CSemi-Empirical Files

19. K.Tatsumi, R.Hoffmann, A.Yamamoto, J.K.Stille, Bull. Chem.
Soc. Jpn. 54 (1981), 1857.
20. J.Hinze. H.H.Jaffe, J. Chem. Phys. 67 (1963), 1501.
21. K.Tatsumi, R.Hoffmann, J. Am. Chem. Soc. 103 (1981), 3340.
22. P.Kubacek, R.Hoffmann, Z.Havlas, Organometallics 1 (1982),
180.
23. D.M.Hoffman, R.Hoffmann, C.R.Fiesel, J. Am. Chem. Soc. 104(1982) 3856.
24. T.Hughbanks, R.Hoffmann, M.-H.Whangbo, K.R.Stewart,
O. Eisenstein, E.Canadell, J. Am. Chem. Soc. 104 (1982) 3876.
25. E.Canadell, O.Eisenstein, Inorg. Chem. 22 (1983) 2398.
26. J.Silvestre. T.A.Albright, Isr. J. Chem. 23 (1983), 139.
27. E.Canadell, O.Eisenstein, Inorg. Chem. 22 (1983), 3856.
28. G.Trinquier, R.Hoffmann, J. Phys. Chem. 88 (1984), 6696.
29. M.Kertesz, R.Hoffmann, J. Am. Chem. Soc. 106 (1984), 3453.
30. R.Hoffmann, C.Minot, H.B.Gray, J. Am. Chem. Soc. 106 (1984),
2001.
31. M.-H.Whangbo, P.Gressier, Inorg. Chem. 23 (1984), 1228.
32. J.-Y Saillard, R.Hoffmann, J. Am. Chem. Soc. 106 (1984), 2006.
33. E.Canadell, O.Eisenstein, J.Rubio, Organometallics 3 (1984),
759.
34. E.Canadell, O.Eisenstein, T.Hughbanks, Inorg. Chem. 23(1984), 2435.
35. M.-H.Whangbo, W.M.Walsh, R.C.Haddon, F.Wudl, Solid State
Comm. 43 (1982), 637.
36. O.P.Charkin, Russ. J. Inorg. Chem. (Engl. Transl.) 19 (1974),
1590.
37. S.P.McGlynn, L.G.Vanquickenborne, M.Kinoshita, D.G.Carroll, Introduction to Applied Quantum Chemistry, Holt, Rinehart
and Winston, Inc. New York, 1977, pp. 423-431.
38. W.A.Harrison, Electronic Structure and the Properties of Solids,
W.Freeman and Co., San Francisco, 1980, p. 551.

Quantum Mechanics Files683

Semi-Empirical Files

CNDO and INDO Parameter File
This parameter file, cindo.abp, includes the parameters of 54 realelements and 54 phoney fluorines. The phoney fluorines are usedin mixed mode calculations. The number of parameters for eachelement is 12.
Each line in cindo.abp corresponds to the parameters for a particular element indexed by its atom number. The parameters withnegative atomic numbers correspond to the parameters for the
capping atoms.

cindo.abp File Format
The description of each column of the parameter file is shown in
the following table.

684

Appendix C

ColumnSymbolContent

1

Z

Atomic number, negative atomic numbers for
capping atomsa

2ζss orbital Slater exponent (a.u.)3

ζpp orbital Slater exponent (a.u.)4ζdd orbital Slater exponent (a.u.)51– --- ( I s + A s )2

Negative of averaged ionization potential andelectron affinity of s orbital (eV)61– --- ( I p + A p )2

Negative of averaged ionization potential andelectron affinity of p orbital (eV)71– --- ( I d + A d )2

Negative of averaged ionization potential andelectron affinity of d orbital (eV)8bBonding parameters (eV)9F2Slater-Condon parameters F2 (p,p) (a.u.)

10

G1Slater-Condon parameters G1(s,p) (a.u.)Semi-Empirical Files

ColumnSymbolContent

11

Eatom

Electron energy of isolated atom for CNDOb
(eV)

12

Eatom

Electron energy of isolated atom for INDOb
(eV)

13

Hatom

Heat of formation of free atom (kcal/mol)a. Parameterized fluorine atoms that represent atoms bonded to the atoms selected for the calculation (see HyperChem Computational Chemistry, Theory and Methods).
b. Calculated from the parameters listed in this file for the corresponding
ground states.

The electronic energy of isolated atoms depends on the parameters
in both CNDO and INDO. The electronic energies of isolated
atoms in the cindo.abp file were calculated in terms of the parameters listed in this parameter file for the corresponding groundstates, that is, the spin multiplicities are 1 for Be, 2 for H, Li, B, F,
Na, Al, and Cl, 3 for C, O, Si, and S, and 4 for N in the RHF method
in both CNDO and INDO.

MINDO/3 Parameter FilesThe parameter files for this method include 54 real elements and
54 phoney fluorines. The phoney fluorines are used in mixed
mode calculations.
The third parameter file mindo3_3.abp, only includes the bondparameters in the MINDO3 approximation level published in theliterature. The first two entries in mindo3_3.abp define a pair ofelements corresponding to the bond parameters. Negative numbers define phoney fluorines.
If the bond parameters appear more than once in this parameter
file for the same pair of atoms, the parameters that appear last areused in MINDO3 calculations. The maximum number of pairs of
atoms can be 108 * (108 - 1) / 2 + 107. The absolute value of theatomic number must be larger than zero and less than or equal to54.

Quantum Mechanics Files

685

Semi-Empirical Files

mindo3_1.abp File Format
The description of each column of this parameter file is shown in
the following table.
ColumnSymbolContent

1

Z

Atomic number, negative values denote capping atoms

2

Uss

One-center core-electron attraction, plus
kinetic energy3Upp

One-center core-electron attraction, plus
kinetic energy

4

Udd

One-center core-electron attraction, plus
kinetic energy

5reserved

6

reserved

7

reserved

8ζss orbital Slater exponent

9

ζp

p orbital Slater exponent

10

ζdd orbital Slater exponent

11

686

Appendix C

reserved

12

Eatom

Ground state electronic energy of isolated
atom

13

Hatom

Heat of formation of free atomSemi-Empirical Files

mindo3_2.abp File Format
The description of each column of this parameter file is shown in
the following table.
ColumnSymbolContent

1

Z

Atomic number, negative values denote capping atoms

2

Gss

One-center electron repulsion integral,
Gss = (ss | ss)

3

Gsp

One-center electron repulsion integral,
Gsp = (ss | pp)4

Gpp

One-center electron repulsion integral,
Gpp = (pp | pp)5

Gp2

One-center electron repulsion integral,
Gp2 = (pp | p’p’)6

Hsp

One-center electron repulsion integral,
Hsp = (sp | sp)

7

reserved

8

reserved

9

reserved

10Iss orbital ionization potential

11

Ip

p orbital ionization potential

12

Id

d orbital ionization potential

13

A

Averaged one center, two electron integral
used in calculating two center, two electron
integral

14

reserved

Quantum Mechanics Files

687

Semi-Empirical Files

mindo3_3.abp File Format
The description of each column of this parameter file is shown in
the following table.
ColumnSymbolContent

1, 2

Z1, Z2

Atomic numbers defining pair of elements;
negative value denotes capping atom3

αAB

Bond parameter used in calculatingcore-core repulsion integral

4βAB

Bond parameter used in calculating
resonance integral

MNDO and MNDO/d Parameter Files
Files for MNDO and MNDO/d have the same format.

mndo_1.abp or mndod_1.abp File Format
The description of each column of this parameter file is shown in
the following table.

688

Appendix C

ColumnSymbolContent

1

Z

Atomic number

2

Uss

One-center core-electron attraction, plus
kinetic energy3Upp

One-center core-electron attraction, plus
kinetic energy

4

Udd

One-center core-electron attraction, plus
kinetic energy

5βss orbital bond parameter used in calculating
resonance integral

Semi-Empirical Files

ColumnSymbolContent6

βpp orbital bond parameter used in calculating
resonance integral

7βdd orbital bond parameter used in calculating
resonance integral8ζss orbital Slater exponent

9

ζp

p orbital Slater exponent

10

ζdd orbital Slater exponent

11aParameter used in core-core repulsion integral

12

Eatom

Ground state electronic energy of isolated
atom

13

Hatom

Heat of formation of free atom

mndo_2.abp or mndod_2.abp File Format
The description of each column of this parameter file is shown in
the following table.
ColumnSymbolContent

1

Z

Atomic number

2

Gss

One-center electron repulsion integral,
Gss = (ss | ss)

3

Gsp

One-center electron repulsion integral,
Gsp = (ss | pp)4

Gpp

One-center electron repulsion integral,
Gpp = (pp | pp)

Quantum Mechanics Files

689

Semi-Empirical Files

ColumnSymbolContent5

Gp2

One-center electron repulsion integral,
Gp2 = (pp | p’p’)6

Hsp

One-center electron repulsion integral,
Hsp = (sp | sp)

7

reserved

8

reserved

9

reserved

10

D1

Distance of a dipole charge from its nucleus

11

D2

Half the distance of a linear quadrupole charge
from its nucleus

12

AM

Monopole-monopole interaction parameter

13

AD

Dipole-dipole interaction parameter

14

AQ

Quadrupole-quadrupole interaction parameterAM1 and PM3 Parameter Files
AM1 and PM3 parameter files share a common format, described
below. The AM1 file names start with “am1_” and the PM3 filenames start with “pm3_”.

am1_1.abp and pm3_1.abp File Format
The description of each column of these parameter files is shownin the following table.

690

Appendix C

ColumnSymbolContent

1

Z

Atomic number

Semi-Empirical Files

ColumnSymbolContent

2

Uss

One-center core-electron attraction, plus
kinetic energy3Upp

One-center core-electron attraction, plus
kinetic energy

4

Udd

One-center core-electron attraction, plus
kinetic energy

5βss orbital bond parameter used in calculating
resonance integral6βpp orbital bond parameter used in calculating
resonance integral

7βdd orbital bond parameter used in calculating
resonance integral8ζss orbital Slater exponent

9

ζp

p orbital Slater exponent

10

ζdd orbital Slater exponent

11

αParameter used in core-core repulsion integral

12

Eatom

Ground state electronic energy of isolated
atom

13

Hatom

Heat of formation of free atom

Quantum Mechanics Files691

Semi-Empirical Files

am1_2.abp and pm3_2.abp File Format
The description of each column of these parameter files is shownin the following table.

692

Appendix C

ColumnSymbolContent

1

Z

Atomic number

2

Gss

One-center electron repulsion integral,
Gss = (ss | ss)

3

Gsp

One-center electron repulsion integral,
Gsp = (ss | pp)4

Gpp

One-center electron repulsion integral,
Gpp = (pp | pp)5

Gp2

One-center electron repulsion integral,
Gp2 = (pp | p’p’)6

Hsp

One-center electron repulsion integral,
Hsp = (sp | sp)

7

reserved

8

reserved

9

reserved

10

D1

Distance of a dipole charge from its nucleus

11

D2

Half the distance of a linear quadrupole charge
from its nucleus

12

AM

Monopole-monopole interaction parameter

13

AD

Dipole-dipole interaction parameter

14

AQ

Quadrupole-quadrupole interaction parameterSemi-Empirical Files

am1_3.abp and pm3_3.abp File Format
In these files, the parameters in three successive (referred to as line
1-3 in the next table) lines apply only to one element. Each line
contains 11 columns.
ColumnLine

SymbolContent

1

1-3

Z

Atomic number

2-11

1

ak (k = 1, 2 . . . 10)

2bk (k = 1, 2 . . . 10)

Parameters used in calculating core-core interactions3

ck (k = 1, 2 . . . 10)

ZINDO/1 Parameter Fileszindo1_1.abp File Format
The description of each column of this parameter file is shown in
the following table.
ColumnSymbolContent

1

Z

Atomic number (negative value corresponds
to the capping atom)2

ζss-orbital Slater exponent for computing theoverlap and coulomb integrals (a.u.)3

ζpp-orbital Slater exponent for computing theoverlap and coulomb integrals (a.u.)4ζdd-orbital Slater exponent for computing the
coulomb integrals only (a.u.)

5

Is

Ionization potential of s orbital (eV)6

Ip

Ionization potential of p orbital (eV)

Quantum Mechanics Files693

Semi-Empirical Files

ColumnSymbolContent

7

Id

Ionization potential of d orbital (eV)8βss-orbital bond parameter used in calculating
resonance integral (eV)9βpp-orbital bond parameter used in calculating
resonance integral (eV)10βdd-orbital bond parameter used in calculating
resonance integral (eV)

11

ζ d1

d-orbital Slater exponent 1 for computing theoverlap integrals (a.u.)

12

C1

coefficient corresponding to the Slater exponent ζ d1

13

ζ d2

d-orbital Slater exponent 2 for computing theoverlap integrals (a.u.)14

C2

coefficient corresponding to the Slater exponent ζ d2

zindo1_2.abp File Format
The description of each column of this parameter file is shown in
the following table.

694

Appendix C

ColumnSymbolContent

1

Z

Atomic number (negative value corresponding
to the capping atom)

2

F2Slater-Condon parameter F2(p,p) (a.u.)3

G1

Slater-Condon parameter G1(s,p) (a.u.)Semi-Empirical Files

ColumnSymbolContent

4F2Slater-Condon parameter F2(p,d) (a.u.)

5

F2

Slater-Condon parameter F2(d,d) (a.u.)

6

F4

Slater-Condon parameter F4(d,d) (a.u.)

7

G1

Slater-Condon parameter G1(p,d) (a.u.)

8

G2Slater-Condon parameter G2(s,d) (a.u.)

9G3Slater-Condon parameter G3(p,d) (a.u.)

10

Eatom

Electronic energy of isolated atom (eV)

11

Hatom

Heat of formation of free atom (kcal/mol)zindo1_3.abp File Format
The description of each column of this parameter file is shown in
the following table.
ColumnSymbolContent

1

Z

Atomic number (negative value corresponding
to the capping atom)

2

Isa

Second set of ionization potential of s-orbital,
3d n-1 4s -> 3d n-1 in (eV)3

Ipa

Second set of ionization potential of p-orbital,
3d n-1 4p -> 3d n-1 in (eV)4

Ida

Second set of ionization potential of d-orbital,
3d n-1 4s -> 3d n-2 4s in (eV)5reserved

6

reserved

Quantum Mechanics Files695

Semi-Empirical Files

ColumnSymbol7

Content
reserved

8

C1a

Fractional contribution of the d n-2s2
configuration to the core integral

9C2aFractional contribution of the d n-1s(p)configuration to the core integral

10

C3a

Fractional contribution of the d n
configuration to the core integral

a. Applies only to the first row transition metals. Only one set of ionization potentials has been used in HyperChem for the second row transition metals. This set is obtained by averaging the ionization potentials
from different configurations of the ground state of the corresponding atoms (see e.g., Anderson, W.P.; Cundari, T.R.;Zerner, M.C., Int. J. Quantum
Chem. 39: 31-45, 1991.

ZINDO/S Parameter Fileszindos_1.abp File Format
The description of each column of this parameter file is shown in
the following table.
ColumnSymbolContent

1

Z

Atomic number, negative value corresponding
to the capping atom2

ζss-orbital Slater exponent for computing theoverlap integrals (a.u.)3

ζpp-orbital Slater exponent for computing theoverlap integrals (a.u.)

4
5

696

Appendix C

reserved
Is

Ionization potential of s orbital (eV)

Semi-Empirical Files

ColumnSymbolContent

6

Ip

Ionization potential of p orbital (eV)7

Id

Ionization potential of d orbital (eV)8βss-orbital bond parameter used in calculating
resonance integral (eV)9βpp-orbital bond parameter used in calculating
resonance integral (eV)10βdd-orbital bond parameter used in calculating
resonance integral (eV)

11

ζ d1

d-orbital Slater exponent 1 for computing theoverlap integrals (a.u.)

12

C1

coefficient corresponding to the Slater
exponent ζ d1

13

ζ d2

d-orbital Slater exponent 2 for computing theoverlap integrals

14

C2

coefficient corresponding to the Slater
exponent ζ d2

zindos_2.abp File Format
The description of each column of this parameter file is shown in
the following table.
ColumnSymbolContent

1

Z

Atomic number (negative value corresponding
to the capping atom)

2

F2Slater-Condon parameter F2(p,p) (a.u.)3

G1

Slater-Condon parameter G1(s,p) (a.u.)

4

F2

Slater-Condon parameter F2(p,d) (a.u.)

Quantum Mechanics Files

697

Semi-Empirical Files

ColumnSymbolContent

5F2Slater-Condon parameter F2(d,d) (a.u.)

6

F4

Slater-Condon parameter F4(d,d) (a.u.)

7

G1

Slater-Condon parameter G1(p,d) (a.u.)

8

G2Slater-Condon parameter G2(s,d) (a.u.)

9G3Slater-Condon parameter G3(p,d) (a.u.)

10

Eatom

Electronic energy of isolated atom (eV)

11

Hatom

Heat of formation of free atom (kcal/mol)zindos_3.abp File Format
The description of each column of this parameter file is shown in
the following table.

698

Appendix C

ColumnSymbolContent

1

Z

Atomic number (negative value corresponding
to the capping atom)

2

Isa

Second set of ionization potential of s-orbital,
3d n-1 4s -> 3d n-1 in (eV)3

Ipa

Second set of ionization potential of p-orbital,
3d n-1 4p -> 3d n-1 in (eV)4

Ida

Second set of ionization potential of d-orbital,
3d n-1 4s -> 3d n-2 4s in (eV)5reserved

6

reserved

7

reserved

Semi-Empirical Files

ColumnSymbolContent

8

C1

Fractional contribution of the d n-2s2
configuration to the core integral

9C2

Fractional contribution of the d n-1s(p)configuration to the core integral

10

C3a

Fractional contribution of the d n
configuration to the core integral

a. Applies only to the first row transition metals. Only one set of ionization potentials has been used in HyperChem for the second row transition metals. This set is obtained by averaging the ionization potentials
from different configurations of the ground state of the corresponding atoms (see e.g., Anderson, W.P.; Cundari, T.R.; Zerner, M.C., Int. J. Quantum
Chem. 39:31-45, 1991).

zindos_4.abp File Format
The description of each column of this parameter file is shown in
the following table.
ColumnSymbolContent

1

Z

Atomic number (negative value corresponding
to the capping atom)

2

γ ss

Two-electron one-center coulomb integral,
in eV

3

γ σδ

Two-electron one-center coulomb integral,
in eV

4

γ dd

Two-electron one-center coulomb integral,in eV

Quantum Mechanics Files699

Semi-Empirical Files

TNDO Parameter Files
TNDO and TNDO parameter files have a significantly different rolein HyperChem than with the other semi-empirical methods.
TNDO is designed to incorporate many different parameter sets
each of which is designed to give accurate results relative to othersemi-empirical methods but for a specific property. Thus one could
derive a parameter set for predicting geometry, a parameter set forpredicting UV spectra, a parameter set for predicting NMR coupling, and even a different parameter set for predicting NMR
shielding than coupling.

The Default TNDO Parameter Set
A TNDO parameter set is a single file that has exactly the same format as a CNDO/INDO parameter file except that the atomic number (first column) is replaced by the atom type. TNDO atom types
are identical to Amber (amber2, i.e. “old amber”) atom types.
There are expected to be many such files, one each for each property parameterized in the TNDO way. A file, default.abp, is
included with HyperChem which when used with TNDO giveexactly the CNDO or INDO results (TNDO/1 is CNDO andTNDO/2 is INDO).

Improved Parameter Sets
The file default.abp is is not a “good” TNDO parameter set since
CNDO and INDO do not give accurate semi-empirical results compared to newer methods like AM1 and PM3. However, whendefault.abp is replaced by a parameter set which has been optimized for a property like molecular geometry, then TNDO will giveeven more accurate results than AM1 or PM3. As time goes on it
can be expected that a variety of TNDO parameter sets will become
available. A preliminary set tndo.abp has been partially optimized
for molecular geometry. Parameter sets are available for NMR
shielding and coupling in conjunction with the HyperNMR module.
The simplest approach to improving on default.abp is to separately
scale the diagonal elements (columns 5,6, and 7 below) and offdiagonal elements (column 8 below) to improve the results for aparticular property. HyperChem includes the capability of simply
copying a parameter file to a new file name (see the Select Parame-

700

Appendix CSemi-Empirical Filester Set menu item) to assist in working with a variety of parametersets.

Quantum Mechanics Files

701

Semi-Empirical Filesdefault.abp TNDO File Format
ColumnSymbolContent

1

Type

Atom Type, e.g. HC; a negative type, e.g.
-HC denotes a capping atoma

2ζss orbital Slater exponent (a.u.)3

ζpp orbital Slater exponent (a.u.)4ζdd orbital Slater exponent (a.u.)5– 1--- ( I s + A s )2

Negative of averaged ionization potential andelectron affinity of s orbital (eV)6

– 1--- ( I p + A p )2

Negative of averaged ionization potential andelectron affinity of p orbital (eV)7

– 1--- ( I d + A d )2

Negative of averaged ionization potential andelectron affinity of d orbital (eV)8bBonding parameters (eV)9F2Slater-Condon parameters F2 (p,p) (a.u.)

10

G1Slater-Condon parameters G1(s,p) (a.u.)

11

Eatom

Electron energy of isolated atom for CNDOb
(eV)

12

Eatom

Electron energy of isolated atom for INDOb
(eV)

13

Hatom

Heat of formation of free atom (kcal/mol)a. Parameterized fluorine atoms that represent atoms bonded to the atoms selected for the calculation (see HyperChem Computational Chemistry, Theory and Methods).
b. Calculated from the parameters listed in this file for the corresponding
ground states.

702

Appendix C

Basis Set Files

Basis Set Files
The file name of a basis set file in HyperChem can be any nameacceptable by MS-Windows that ends in ‘.BAS’.

Basis Set File Format
HyperChem uses its own format to define a basis set. All the standard and commonly used basis sets can be fitted into this basis set
format. Users can also define their own basis sets by using theHyperChem basis set format.

Basis Set
A basis function for a element includes the following items:•

Element symbol•

Number of shells•

Shell types•

Number of primitive Gaussians for each shell•

Scaling factor for each shell•

Exponent and contraction coefficients for each primitive
Gaussian.

Example:C:;
Shells = 3
Shell1 =[ S 3 1.00 ]1

0.172256E+03

0.617669E-01

20.259109E+02

0.358794E+00

30.553335E+01

0.700713E+00

Shell2 =[ SP 2 1.00 ]Quantum Mechanics Files703

Basis Set Files1

0.366498E+01 -0.395897E+00

0.236460E+00

20.770545E+00

0.121584E+01

0.860619E+00

0.100000E+01

0.100000E+01

Shell3 =[ SP 1 1.00 ]1

0.195857E+00

This example defines a 3-21G basis function for carbon. There are
3 shells. The first shell is a S type and contracted using 3 primitive
Gaussians with a scaling factor of 1.0; the second shell is an SP typeand contracted using 2 primitive Gaussians with a scaling factor of
1.0; and the third shell is a SP type and contracted using only 1primitive Gaussian with a scaling factor of 1.0.
The types of shells are supported in HyperChem Release 5 are S, P,
D, SP, and SPD.

SyntaxThis is the structure for defining a basis for a element:<element-symbol>:; <comment>shells = <# number of shells for this element>shell1 = [ <Ta> <##b> <sc> ]<primitive 1> <exponent> <coefficientsd><primitive 2> <exponent> <coefficientsd>... (repeat ## times for the primitives for this shell)... (repeat # times for all the shells for this element)a. Shell typeb. Number of primitive Gaussians for this shellc. Scaling factor for this shelld. Coefficients for this primitive Gaussian. The number of coefficients is one for a S, P, or D type ofprimitive Gaussian, two for a SP, type of primitive Gaussian, and three for a SPD type of primitive
Gaussian

704

Appendix C

Basis Set Files

Partial List of Basis Set Files
HyperChem includes many standard and commonly used basis set
files. The following table is an overview of some of the more common of these files:
Filename

Contents

Reference

3-21g.bas

Definitions andcontractions for 3-21G
basis set

3-21gs.bas

Definitions andcontractions for 3-21G*
basis set

J. S. Binkley, J. A. Pople, and W. J. Hehre, J. Am.
Chem. Soc., 102, 939 (1980).
M. S. Gordon, J. S. Binkley, J. A. Pople, W. J. Pietro,and W. J. Hehre, J. Am. Chem. Soc., 104, 2797
(1982).
W. J. Pietro, M. M. Francl, W. J. Hehre, D. J. Defrees,
J. A. Pople, and J. S Binkley, J. Am. Chem. Soc., 104,
5039 (1982).

3-21gss.bas

Definitions andcontractions for 3-21G**
basis set

4-21g.bas

Definitions andcontractions for 4-21G
basis set

4-21gs.bas

Definitions andcontractions for 4-21G*
basis set

4-21gss.bas

Definitions andcontractions for 4-21G**
basis set

4-31g.bas

Definitions andcontractions for 4-31G
basis set

4-31gs.bas

Definitions andcontractions for 4-31G*
basis set

4-31gss.bas

Definitions andcontractions for 4-31G**
basis set

W. J. Hehre, R. Ditchfield, and J. A. Pople, J. Chem.
Phys., 56, 2257 (1972).
P. C. Hariharan and J. A. Pople, Theor. Chim. Acta,
28, 213 (1973).
M. S. Gordon, Chem. Phys. Lett., 76, 163 (1980).

W. J. Hehre, R. Ditchfield, and J. A. Pople, J. Chem.
Phys., 56, 2257 (1972).
P. C. Hariharan and J. A. Pople, Theor. Chim. Acta,
28, 213 (1973).
M. S. Gordon, Chem. Phys. Lett., 76, 163 (1980).

Quantum Mechanics Files705

Basis Set Files

706

Filename

Contents

Reference

5-31g.bas

Definitions andcontractions for 5-31G
basis set

5-31gs.bas

Definitions andcontractions for 5-31G*
basis set

W. J. Hehre, R. Ditchfield, and J. A. Pople, J. Chem.
Phys., 56, 2257 (1972).
P. C. Hariharan and J. A. Pople, Theor. Chim. Acta,
28, 213 (1973).
M. S. Gordon, Chem. Phys. Lett., 76, 163 (1980).

5-31gss.bas

Definitions andcontractions for 5-31G**
basis set

6-21g.bas

Definitions andcontractions for 6-21G
basis set

6-21gs.bas

Definitions andcontractions for 6-21G*
basis set

6-21gss.bas

Definitions andcontractions for 6-21G**
basis set

6-31g.bas

Definitions andcontractions for 6-31G
basis set

6-31gs.bas

Definitions andcontractions for 6-31G*
basis set

6-31gss.bas

Definitions andcontractions for 6-31G**
basis set

Appendix C

J. S. Binkley, J. A. Pople, and W. J. Hehre, J. Am.
Chem. Soc., 102, 939 (1980).
M. S. Gordon, J. S. Binkley, J. A. Pople, W. J. Pietro,and W. J. Hehre, J. Am. Chem. Soc., 104, 2797
(1982).
W. J. Pietro, M. M. Francl, W. J. Hehre, D. J. Defrees,
J. A. Pople, and J. S Binkley, J. Am. Chem. Soc., 104,
5039 (1982).

W. J. Hehre, R. Ditchfield, and J. A. Pople, J. Chem.
Phys., 56, 2257 (1972).
P. C. Hariharan and J. A. Pople, Theor. Chim. Acta,
28, 213 (1973).
M. S. Gordon, Chem. Phys. Lett., 76, 163 (1980).

Basis Set Files

Filename

Contents

Reference

6-311g.bas

Definitions andcontractions for 6-311G
basis set

R. Krishnan, J. S. Binkley, R. Seeger, and J. A. Pople,
J. Chem. Phys., 72, 650 (1980).
A. D. McLean and G. S. Chandler, J. Chem. Phys.,
72, 5639 (1980).

6-311gs.bas

Definitions andcontractions for
6-311G* basis set

6-311gss.bas

Definitions andcontractions for
6-311G** basis set

sto-1g.bas

Definitions andcontractions for STO-1G
basis setsto-1gs.bas

Definitions andcontractions for
STO-1G* basis set

sto-2g.bas

Definitions andcontractions for STO-2G
basis setsto-2gs.bas

Definitions andcontractions for
STO-2G* basis set

sto-3g.bas

Definitions andcontractions for STO-3G
basis setsto-3gs.bas

Definitions andcontractions for
STO-3G* basis set

W. J. Hehre, R. F. Stewart, and J. A. Pople, J. Chem.
Phys., 51, 2657 (1969).
J. B. Collins, P. V. Schleyer, J. S. Binkley, and J. A.
Pople, J. Chem. Phys., 64, 5142 (1976).
R. F. Stewart, J. Chem. Phys., 52, 431 (1970).

W. J. Hehre, R. F. Stewart, and J. A. Pople, J. Chem.
Phys., 51, 2657 (1969).
J. B. Collins, P. V. Schleyer, J. S. Binkley, and J. A.
Pople, J. Chem. Phys., 64, 5142 (1976).
R. F. Stewart, J. Chem. Phys., 52, 431 (1970).

Quantum Mechanics Files

707

Basis Set Files

708

Filename

Contents

Referencesto-4g.bas

Definitions andcontractions for STO-4G
basis setsto-4gs.bas

Definitions andcontractions for
STO-4G* basis set

W. J. Hehre, R. F. Stewart, and J. A. Pople, J. Chem.
Phys., 51, 2657 (1969).
J. B. Collins, P. V. Schleyer, J. S. Binkley, and J. A.
Pople, J. Chem. Phys., 64, 5142 (1976).
R. F. Stewart, J. Chem. Phys., 52, 431 (1970).

sto-5g.bas

Definitions andcontractions for STO-5G
basis setsto-5gs.bas

Definitions andcontractions for
STO-5G* basis set

sto-6g.bas

Definitions andcontractions for STO-6G
basis setsto-6gs.bas

Definitions andcontractions for
STO-6G* basis set

d95.basDefinitions andcontractions for D95
basis set

d95s.basDefinitions andcontractions for D95*
basis set

d95ss.bas

Definitions andcontractions for D95**
basis set

Appendix C

T.H. Dunning and P.J. Hay, in Modern Theoretical
Chemistry, Plenum, New York, 1976.

Basis Set Files

Creating a New Basis Set
The procedure for creating a new basis set and adding to the list ofbasis sets in HyperChem is relatively straightforward.
To create a new basis set:
1. Create a file with the extension .BAS (e.g., MY.BAS) in theHyperChem Runfiles directory.
2. Edit this file with a text editor such as the Windows Notepador Wordpad, and type in the information about the basis set:element symbols, number of shells for each element, shell
types, number of primitives, scaling factors, and exponents
and coefficients for each primitive.
For more information about the format for the basis set files,
see the preceding sections.
3. Add an entry for your file in the section [BasisSet] in the Registry (for Windows 95 or Windows NT) or CHEM.INI (for Windows 3.1x). In the Registry, this entry will have a name (e.g.,
mybasis) and a value which is the name of your file. In
CHEM.INI, the entry is a line of the form ‘name=filename’,e.g., mybasis=my.bas .
After you restart HyperChem, you can use this new basis set.
To use this new basis set:
1. Create or read in a molecular system.
2. Set up the ab initio calculation as usual.
3. In the Ab Initio Method dialog box, use Assign Other Basis Set
to select your new basis set for the Other text box.
You can now apply this basis set to the selected atoms, or if no
atoms are selected, to all atoms in the workspace.

Quantum Mechanics Files709

Basis Set Files

710

Appendix C

Appendix D
HIN Files
HyperChem can store a molecular system from the workspace,plus information about this system and display conditions, in a
HIN file. HyperChem can also store a molecular system in a PDB
file, but HIN files offer more options and greater convenience.
HIN files are text files. You can edit these files with any text editor,
like Windows Notepad or Write. If you use an editor that can
impose its own format, keep the HIN file in its original text format.
For example, with Windows Write, choose the No conversion
option when you open a HIN text file.
A special feature of HIN files is that records can be added or potentially missing without affecting the operation of HyperChem. Thatis, some records are optional and are not required by HyperChem.
Secondly, if HyperChem detects a record in the file with which it
is not familiar then it will simply ignore that record. This allows
extensions to HIN file formats while maintaining backward compatibility.
HyperChem contains a primitive drawing program associated withthe concept of annotations. The HIN file in addition to storing
molecular information may also store information associated withthese annotations (text, line, ellipse, and rectangle).

Structure of a HIN FileA HIN file contains several records, each on a separate line. Eachline, except for a comment, begins with a keyword (for example,atom). Comment lines begin with a semicolon (;).
This is an example of a minimal HIN file for a methane molecule:;This sample HIN file contains one methane molecule.
forcefield amber
711

File Syntax

sys 0view 40 1.03211 40 4.44992 1 0 0 0 1 0 0 0 1 0.0848873 –0.669469 –40
mol 1 “methane”
atom 1 – C CT – 0 –0.341802 0.309469 –6.05498e–007 4 2 s 3 s 4 s 5 s
atom 2 – H HC – 0 –0.341802 1.39947 –6.05498e–007 1 1 s
atom 3 – H HC – 0 0.685861 –0.0538608 –6.05498e–007 1 1 s
atom 4 – H HC – 0 –0.855625 –0.0538608 0.889987 1 1 s
atom 5 – H HC – 0 –0.855636 –0.0538687 –0.889978 1 1 s
endmol 1
For a description of the records in this example and other possible
records, see the following sections.

File Syntax
This is the complete syntax of a HIN file. o indicates an optional
record. Each record must begin on a separate line.
; <comment>oforcefield <force-field-name>syso <temperature> <charge> <multiplicity>seedo <random seed>viewo <view-distance> <view-scale> <slab-distance> <slabthickness> <viewing-transform> . . . <viewing-transform>boxo <x> <y> <z>
mol <mol#> <mol-name>reso <res#> <res-name> <PDB#> <previous-res#> <next-res#>atom <at#> <atom-name> <element> <type><flags> <at-charge> <x> <y> <z> <cn> <nbor# nbor-bond>1
velo <at#> <x> <y> <z>masso <at#> <mass>
basisseto <at#> <basis set>formalchargeo <at#> <formal charge>
atom . . .
velo . . .
masso . . .
1. This variable can be repeated up to twelve times.
712

Appendix DFile Syntax

basisseto . . .
formalchargeo . . .
atom . . .
velo . . .
masso . . .
basisseto . . .
formalchargeo . . .
...
endreso <res#>endmol <mol#>selectiono <sel-name> <atoms>
selectrestrainto <flag> <force-constant> <restr-value>
selectatomo <at#> <mol#>selectatomo . . .
selectatomo . . .
...
endselectiono <sel-name>dynamicso <snap-shot-file-name>aromaticringo <size> <mol# atom#>1
texto <quoted text> <quoted font> <red> <green> <blue> <color
index> <point size> <centered flag> <rect pos> <weight> <italics><underline> <strikeout> <charset> <pitch>lineo <red> <green> <blue> <line width> <line type> <rect pos>circleo <red> <green> <blue> <line width> <line type> <rect pos> <fillflag>rectangleo <red> <green> <blue> <line width> <line type> <rect pos>
<fill flag>; comment
Each line of comments must have a semicolon at the beginning of
the line. You can add and review comments from HyperChem by
1. This variable can be reperated up to 6 times.
HIN Files

713

File Syntax

using the Open File and Save File dialog boxes; you can also add
and review comments by using any text editor.
Add comment lines anywhere in a HIN file. When you save the filein HyperChem, all comments move to the start of the file.

forcefield
Syntax: forcefield <mm+, amber, amber94, bio+, chamm22, or
opls>
HyperChem assigns a force field and the corresponding atom types
to any molecular system in the workspace. You choose the force
field from the Molecular Mechanics Force Field dialog box (choose
Molecular Mechanics on the Setup menu).
HyperChem needs atom types for all molecular mechanics calculations, but not for semi-empirical quantum mechanics calculations.
When you draw a new molecule, HyperChem assigns ** as the“type” for each atom, indicating no atom type. When you choose
Model Build or Calculate Types on the Build menu, or when you
change force fields, HyperChem assigns appropriate atom types forthe force field you chose. If you open a HIN file, HyperChem uses
the force field and atom types that were in effect when you saved
the file.
The variables for the forcefield keyword are mm+, amber, bio+, or
opls. If you do not assign a force field to a molecular system, HyperChem uses the last forcefield that you chose. However, atom typeassignment is not automatic when you open the file.

sys
Syntax: sys <temperature> <charge> <multiplicity>
The system record gives the temperature of the molecular system
in Kelvin plus the total charge and multiplicity of the system.
temperature

714

Appendix D

The default is 0 Kelvin. If you save the molecularsystem in a HIN file after a molecular dynamics calculation, this record stores the final temperature of
the system corresponding to the atomic velocities.

File Syntax

chargeThis is the total net charge on the whole molecularsystem. It is the value used by quantum mechanical calculations to assign the total number of electrons. It corresponds to the script value total-quantum-charge. It has a default value of 0.

multiplicity

The is the spin multiplicity of the system, i.e. it
corresponds to singlet (1), doublet (2), triplet (3) orquartet (4). It is an option to setting up quantum
mechanical calculations.

seed
Syntax: seed <random seed>
The random seed used for Molecular Dynamics, Langevin Dynamics, and Monte Carlo. After any use of the random seed, a new random seed is generated.
random seed

An integer in the range -32768 to 32767.

view
Syntax: view <view-distance> <view-scale> <slab-distance><slab-thickness> <viewing-transform> . . . <viewing-transform>
A view record gives instructions for transforming a 3D structure
into 2D space.
view-distance The distance, in Ångstroms, from the viewer to theorigin of the molecular system.
view-scale

The magnification factor.

slab-distanceThe distance, in Ångstroms, from the viewer to the
middle of the clipping slab.

slab-thickness The distance between the front and back clipping
planes, in Ångstroms.
viewingtransform

These 12 fields describe a 3 by 4 viewing transformation matrix, with four rows and three columns.
The fields appear row by row. A fourth column,
normally describing perspective, is not present.

HIN Files

715

File Syntaxbox
Syntax: box <x> <y> <z>
A box record reports the presence and x, y, and z dimensions of aperiodic box, in Ångstroms, in the molecular system.

mol
Syntax: mol <mol#> <mol-name>
A mol record starts the description of each molecule in the molecular system. An endmol record must end each molecule.
mol#

The number of the molecule in the molecular system, starting with 1. The number reflects the orderthe molecules were added to the system. Default =1.

mol-name

Up to 64 characters describing a molecule. The
name must be enclosed in double quotes. This
name appears on the status line when you selectthe molecule. You can assign this name only byusing the Name Molecule menu item.

res
Syntax: res <res#> <res-name> <PDB#> <previous-res#> <nextres#>
A res record starts the description of each residue in a molecule. An
endres record must end each residue.
res#

The number of the residue in the molecule, starting with 1 for the first residue added to a molecule.

res-name

The residue name (up to four characters) as it
appears in the TPL file for residue-name.

PDB#

Preserves information found in a PDB file.

previous-res# Preserves information found in a PDB file.
next-res#716

Appendix D

Preserves information found in a PDB file.

File Syntax

atom
Syntax: atom <at#> <atom-name> <element> <type><flags> <at-charge> <x> <y> <z> <cn> <nbor# nbor-bond>An atom record starts the description of each atom in a molecule.
at#

The number of an atom in a molecule, startingwith 1. Atom numbers are continuous through amolecule. A combination of atom number andmolecule number (see mol, above) uniquely identifies an atom in a molecular system.

atom-name

This name (up to four characters) usually comesfrom a Brookhaven PDB or HyperChem template
file. It cannot contain spaces or quotes.

element

The chemical symbol (up to three characters) for
the described atom.

type

The atom type (up to four characters) assigned bya force field to the described atom.

flags

Single letter codes that describe this atom (see thenext section). “–” indicates no flag. Multiple flags
appear as one “word,” without spaces. See thedescription of available flags in the next section.

at-charge

The formal charge on the atom, from a quantum
mechanics calculation, from using Set Charge on
the Build menu or from a TPL file. You can also
add charges to an atom by editing the HIN file.

x y z

The coordinates of the atom in the Molecular
Coordinate System.

cn

The number of atoms covalently bonded to thisatom, or coordination number. cn is an integer
from 0 to 12.

nbor#
nbor-bondThis describes the bonded atoms and the type ofbond for each. nbor# and nbor-bond occur as a pairof values. nbor# is the same as at# for bonded
atoms. nbor-bond is a bond type: s, d, t, or a, forsingle, double, triple, or aromatic (conjugated)bonds. This set of values, nbor# nbor-bond, repeats
to describe all bonded atoms (up to twelve times).

HIN Files

717

File Syntax

Atom Flags
HyperChem uses these symbols for the flag variable in the atom
record.
h

A heteroatom as defined in PDB files.

iThis atom is part of an improper torsion.

x

A united atom.

s

A selected atom.

–

No flag.

vel
Syntax: vel <at#> <x> <y> <z>
If you save the molecular system with velocities (choose Velocities
in the Save File dialog box), a vel record appears after each atom
record, reporting the atomic velocities generated at the end of amolecular dynamics calculation. A velocity record applies to thepreceding atom record and must follow immediately after thatrecord.
at#

The number of an atom in a molecule, startingwith 1. Atom numbers are continuous througheach molecule. This is the same as “at#” thatappears in the atom record.

x y z

The x, y, and z components of the atomic velocity,in Ångstroms/picosecond. The default is 0 0 0.

mass
Syntax: mass <at#> <mass>
If you change the mass of an atom, a mass record is added following that atom’s record in the HIN file. This mass record applies tothe preceding atom record.
at#

718

Appendix D

The number of an atom in a molecule, startingwith 1. Atom numbers are continuous througheach molecule. This is the same as “at#” thatappears in the atom record.

File Syntax

mass

The mass of the atom, in atomic mass units. The
default is the mass of the atom type as defined in
the type file for the specified force field.

basisset
Syntax: basisset <at#> <basis set>If you apply a basis set to an atom for ab initio calculations, a basis
set record is added following that atom’s record in the HIN file.
This basisset record applies to the preceding atom’s record.
at#

The number of an atom in a molecule, startingwith 1. Atom numbers are continuous througheach molecule. This is the same as “at#” thatappears in the atom record.

basis set

The basis set applied to the atom, for example“STO-3G”. The default is “None”.

formalcharge
Syntax: formalcharge <at#> <formal charge>
If you apply a formal charge to an atom for using the Formal
Charge menu item, a formalcharge record is added following thatatom’s record in the HIN file. This formalcharge record applies tothe preceding atom’s record.
at#

The number of an atom in a molecule, startingwith 1. Atom numbers are continuous througheach molecule. This is the same as “at#” thatappears in the atom record.

formal charge The value, e.g. -1, of the formal charge placed on
this atom. The default is 0.

endresSyntax: endres <res#>An endres record appears after the last atom in a residue.

HIN Files

719

File Syntax

res#

The number of the residue in the molecule, starting with 1 for the first residue added to a molecule.

endmolSyntax: endmol <mol#>An endmol record appears after the last atom in a molecule.
mol#

The number of the molecule in the molecular system, starting with 1. The number reflects the orderof adding molecules to the system. Default = 1.

selection
Syntax: selection <sel-name> <atoms>
A selection record plus the following selectrestraint, selectatom,and endselection records appear if you save a molecular system
containing a named selection (see “Name Selection . . .” on page139).
sel-name

The name of a selection, either a predefined name,
POINT, LINE, PLANE, or a name that you supply(Other), up to 19 characters long.

atoms

The number of atoms in a selection.

selectrestraint
Syntax: selectrestraint <flag> <force-constant> <restr-value>
A selectrestraint record contains information needed to use theselection (see the previous section) as a restraint in an energy calculation (see “Restraints” on page 340). This record appears forevery named selection, even though it might contain too many
atoms for use as a restraint (more than four) and you did not apply
the selection as a restraint. The flag value determines whether to
use this named selection as a restraint (see the next section).
flag

This is a numeric field with a value from 0 to 15. A
four-bit number (see the next section) determines
the use, if any, of this restraint.

force-constant The force constant for a possible restraint. This canbe computed or user defined.
720

Appendix DFile Syntax

restr-value

Four numbers. The first is a length, angle, or torsion angle for a 2, 3 or 4-atom restraint. The last
three define cartesian coordinates of a tether point
for a 1-atom restraint.

Setting Flag Bits for selectrestraint
The selectrestraint flag is the decimal value of seven bits:
:

bit

6

5

4

3

2

1

0

64,0

32,0

16,0

8,0

4,0

2,0

1,0

bit 0

1 = restraint not chosen in Restraint Forces dialog
box; 0 = restraint selected.

bit 1

Reserved, always 2.

bit 2

4 = Computed (the default) for non-tether Value;
0 = Other (user defined) for non-tether Value.

bit 3

8 = Default for Force Constant;
0 = Other (user defined) for Force Constant.

bit 4

16 = Restraint is a one-atom tether;
0 = Restraint is not a tether.

bit 5

Reserved, always 0.

bit 6

64 = Computed for tether Value;
0 = Other (user defined) for non-tether Value.

These are typical values for the selectrestraint flag:
26

Tether restraint with Default for Force Constant andOther (user-defined) for Value.

18

Tether restraint with Other (user-defined) for Valueand Force Constant.

14

Non-tether restraint with Computed for Value andDefault for Force Constant.

10

Non-tether restraint with Computed for Value andOther (user defined) for Force Constant.

6

Non-tether restraint with Default for Force Constantand Other (user-defined) for Value.
HIN Files

721

2

Non-tether restraint with Other (user-defined) for
Value and Force Constant.

Any odd

Named selection not used as a restraint.

selectatom
Syntax: selectatom <at#> molecule <mol#>
Selectatom records define the atoms in a named selection. There is
one record for each atom.
at#

The number of an atom in a molecule, startingwith 1.

mol#

The number of the molecule, in creation order, inthe molecular system, starting with 1. Default =molecule 1.

endselection
syntax: endselection <sel-name>
The endselection record ends the description of each named selection.
sel-name

The name you gave a selection, either POINT, LINE,
PLANE, or another name (Other).

dynamics
syntax: dynamics <snap-shot-file-name>
The dynamics record gives the path and name of the SNP file containing snapshot data (see “Snapshot Files” on page 623). If HyperChem cannot find the SNP file at the indicated path location, it
searches for the filename in the current directory.
snap-shotfile-name

The snapshot filename includes the drive and path
specification. The filename is often the same as the
HIN filename, but with an .snp extension.

aromaticring
syntax: aromaticring <size> <mol# at#>722

File Syntax

The aromaticring record gives a description of any aromatic rings
that have been defined (usually by an L-double-click on the ring).
An aromatic ring can be rendered with an interior circle to designate the aromaticity rather than rendering aromatic bonds withdotted lines. This optional rendering is only available if this record
is included in the HIN file.
size

The number of atoms in the aromatic ring.

at#

The number of an atom in a molecule, startingwith 1.

mol#

The number of the molecule, in creation order, inthe molecular system, starting with 1. Default =molecule 1.

text
syntax: text <quoted text> <quoted font> <red> <green> <blue><color index> <point size> <centered flag> <rect pos> <weight> <italics> <underline> <strikeout> <charset> <pitch>
The text record defines a text annotation placed in the workspace.
There is one record for each text annotation. These records do not
require a molecule in the workspace, i.e. a HIN file can contain
only annotation drawings.
quoted text

The text of the annotation (in double quotes).

quoted font

The text name of the font (in double quotes).

redIntensity of red (0-255).

green

Intensity of green (0-255).

blue

Intensity of blue (0-255).

color index

Index for color choice in text edit dialog box.

point size

Size of the text in points.

centered flag Flag (0 or 1) indicating text is formated as centered.
rect posfour integers describing rectangle position of text.

weightInteger describing weight of text(bold, etc.).

italics

Flag (0 or 1) describing whether text is italicized.

underline

Flag (0 or 1) describing whether text is underlined.

HIN Files

723

File Syntax

strikeout

Flag (0 or 1) describing whether text has stikeout.

charsetCharacter set of text.

pitch

Pitch off text.

line
syntax: line <red> <green> <blue> <line width> <line type> <rect
pos>
The line record defines a drawn line placed in the workspace as anannotation. The line in not a drawn “bond”. There is one record
for each line annotation. These records do not require a moleculein the workspace, i.e. a HIN file can contain only annotation drawings.
redIntensity of red (0-255).

green

Intensity of green (0-255).

blue

Intensity of blue (0-255).

line width

Width of line (smallest value 1).

line type

Integer starting at 0 describing solid, dotted, etc.

rect posfour integers describing rectangle position of line.

circlesyntax: circle <red> <green> <blue> <line width> <line type> <rectpos> <fill flag>
The circle record defines a drawn ellipse or circle (degenerate
ellipse) placed in the workspace as an annotation. There is one
record for each circle annotation. These records do not require amolecule in the workspace, i.e. a HIN file can contain only annotation drawings.

724

Appendix D

redIntensity of red (0-255).

green

Intensity of green (0-255).

blue

Intensity of blue (0-255).

line width

Width of line (smallest value 1) for circle.

line type

Integer starting at 0 describing solid, dotted, etc.

File Syntax

rect posfour integers describing rectangle enclosing circle.

fill flag

Flag (0 or 1) describing whether circle is filled.

rectangle
syntax: rectangle <red> <green> <blue> <line width> <line type><rect pos> <fill flag>
The rectangle record defines a drawn rectangle placed in the workspace as an annotation. There is one record for each rectangle
annotation. These records do not require a molecule in the workspace, i.e. a HIN file can contain only annotation drawings.
redIntensity of red (0-255).

green

Intensity of green (0-255).

blue

Intensity of blue (0-255).

line width

Width of line (smallest value 1) for rectangle.

line type

Integer starting at 0 describing solid, dotted, etc.

rect posfour integers describing rectangle.

fill flag

Flag (0 or 1) describing whether rectangle is filled.

HIN Files

725

File Syntax

726

Appendix D

Appendix E
Residue Template Files
Template (TPL) files describe amino acid and nucleic acid residues
that you can choose on the Databases menu to construct polymeric molecules. HyperChem uses these files when you construct
a new polymer, when you open a HIN file that contains a polymer
constructed this way, when you open a PDB file, or when you
mutate one residue into another. The TPL files interpret standard
residues by providing atom types, charges, connectivity information, and internal coordinates.
HyperChem supplies three TPL files:
chem.tpl

Contains internal (nonterminal) amino acidresidues, nucleic acid residues, and residues forreading PDB files.

chemct.tpl

Contains C-terminal forms of all amino acidresidues. These residues supply anionic carboxylterminal groups if you choose Make Zwitterion on
the Databases menu.

chemnt.tpl

Contains N-terminal forms of all amino acidresidues. These residues supply cationic amino-terminal groups if you choose Make Zwitterion on the
Databases menu.

Structure of a TPL File
You can examine the contents of the TPL files by using a word processor, like Windows Word, Notepad, or WordPad. Make sure thatyour editor does not convert the file to its own format nor add formatting such as page breaks. Most editors, such as Windows Notepad, allow this option.

727

Structure of a TPL File

TPL files describe a residue atom by atom. They can also provide
information needed in molecular mechanics calculations.
This is part of a typical residue entry in a template file (the highlighted numbers, for example ⑧, are not part of the file):; ALANINE①[ALA]➁A③
N:④
N⑥ 1⑦ (HN s –3 s CA s)⑧ \oplsN–0.5700 imp –3 CA N HN \⑨amber N
–0.4630 imp –3 CA N NH \⑨amber94 N–0.41570 \⑨bio+
NH1–0.3500 imp N –3 CA NH \⑨charmm22 NH1–0.4700 \⑨internal –3 1.335 –2 116.60⑩
HN④ H⑤ : H⑥ (N s) \opls
H
0.3700 \amber H
0.2520 \amber94 H
0.27190 \bio+
H
0.2500 \charmm22 H
0.31 \
int N 1.010
CA:④
C⑥ 2 ⑦ (N s HA s C s CB s) \oplsCH
0.29000 imp CB CA N C \amber CT
0.0350 \amber94 CT
0.03370 \bio+
CH1E
0.1000 imp CA N C CB \charmm22 CT1
0.2520 \int N 1.449 –3
121.90....
① Comment record with the full name of a residue. Comment
records must start with a semicolon. Write as many comments as
you need.
② The residue name. The name should be from one to four characters long, in square brackets. The limit is 256 characters. This
name appears in the appropriate Databases dialog box (for example, the Amino Acids dialog box), unless a * follows the Residue
type (see ③). Also, within these brackets, you can have one or morealiases (alternative names) for the residue, each separated by a728

Appendix ETemplate Syntax

space. These can be up to four characters long. HyperChem uses
aliases when it reads PDB files.
③ Residue type. This is A for amino acid, N for nucleic acid, or *for some other type of residue. An * in addition to A or N prevents
HyperChem from showing this residue as a choice in the Amino
Acids or Nucleic Acids dialog box.
④ An atom description starts here. This is the name of an atomin the residue (see below). These are the atom names used in
Brookhaven PDB files (see page 503) and the names HyperChem
uses for Name labels (choose Labels on the Display menu, thenAtoms: Name). The atom name or name plus optional alias mustend with a colon.
⑤ The optional aliases (alternative names) for an atom. There
must be at least one space between the atom name and each of its
aliases. The name and alias must end with a colon.
⑥

The chemical symbol for the element.

⑦

An optional atom tag (see below).

⑧

Bonding information for this atom (see below).

⑨ Force field information (see below). A back slash (\) at the endof a line indicates that this entry continues on the next line.
⑩

Atomic coordinates (see below).

Template Syntax
This section contains a formal syntax for describing a residue in atemplate file. The text in angle brackets and italics represents variables that you provide. o means optional.
This describes the overall structure of a residue:; <comment>o[<–>o<residue-name> <alias>o <alias>o . . .] <A|N|*><*>o<atom-description><atom-description><atom-description><atom-description>

Residue Template Files729

Template Syntax...

;<comment>
Each line of comment must begin with a semicolon. These lines
can occur anywhere in the file, but cannot interrupt another line.

[<residue-name>][<–>o<residue- A string containing no spaces or quotes. Use one toname>four characters. Enclose residue-name plus optional
aliases in square brackets. The optional – indicatesa complementary nucleic acid residue used tobuild in reverse order or double-stranded structures.
<alias>o<alias>o . . .]Any number of alternative names for a residue, up
to four characters long. Each alias is separated fromthe others and from residue-name by a space.
HyperChem uses aliases to recognize residues in
PDB files, for example ASX for ASN, and DOD for
HOH.

<A|N|*>A for amino acid, N for nucleic acid, or an asterisk(*) for unknown. This assigns the residue to thecorrect dialog box. * after A or N (see the next item)
overrides the assignment to a dialog box.

<*>o

If it appears after A or N, it turns off this residue asa choice in the Amino Acids or Nucleic Acids dialog box.

<atom-description>
Each atom in a residue should have an atom-description in a single
record. The record can occupy more than one line if each line ends
with a \.
<atom-description> =<atom-name> <aliases>o : <element> <tag>o (bonding-info) \<force-field>o <atom-type>o <charge>o <imp-torsion>o \<force-field>o <atom-type>o <charge>o <imp-torsion>o \730

Appendix ETemplate Syntax...
internalo <at1> <distance> <at2>o <angle>o <at3>o <torsion>oResidue Template Files731

Template Syntax<atom-name> <aliases>
Atom names follow standards defined by the Protein Data Bank foratoms in amino acid and nucleic acid residues. In an atom name,for example C3*, an * replaces the usual prime symbol (C3′). It cannot contain spaces or quotes.
Note: Do not use numbers for atom names to avoid confusion
with atom tags (see next section).
For a complete list of atom names in amino acid side chains, nucleotide bases, and other molecules, see the Protein Data Bank document, Atomic Coordinates and Bibliographic Entry Format Description,
July, 1989 (see page 503 for the source of this document).

<aliases>
An atom-name can have one or more optional names (aliases).
Separate each with at least one space.

<element>
The chemical symbol for the described atom.

<tag>
An optional number describing the atom to neighboring residues.
Atom tags (numbers 1 to 9) describe connections to atoms in otherresidues. HyperChem assigns tags to specific terminal atoms inamino acid and nucleic acid residues. A minus sign preceding a tag
number indicates the previous residue (lower sequence number).

732

Appendix E

Atom Name

Tag Number

Residue Typea

N

1

A

CA

2

A

C

3

A

O

4

A

P

4

N

Template Syntax

Atom Name

Tag Number

Residue Typea

O5*

5

N

C5*

6

N

C4*

7

N

C3*

8

N

O3*

9

N

a. A = amino acid, N = nucleic acid.

(bonding-info)
Bonding information indicates the presence and describes the typeof covalent bonds between atoms. The bonding information consists of an atom name or tag, followed by the type of bond:(Atom-name/tag bond-type Atom-name/tag bond-type . . . )This sequence repeats until it describes each bond to an atom.
Atom-name/tag

The name of a bonded atom in the same residue,or the tag of an atom if it is in an adjacent residue.

bond-types, d, t, or a, for single, double, triple, or aromatic(conjugated) bonds.

Caution: Parentheses must enclose bonding information. Separate
each entry within parentheses with white space. Make sure theentries occur in pairs: atom-name, then bond-type.
Example: (HN s –3 s CA s)
HN s: A single bond to hydrogen HN.
–3 s: A single bond to the atom with tag 3 in the previous
residue.
CA s: A single bond to atom CA.

<force-field>
Force field information describes the properties of an atom interms of a molecular mechanics force field (see “Molecular
Mechanics” on page 289). HyperChem can use these properties
Residue Template Files733

Template Syntax

during a molecular mechanics calculation. An atom description
can contain from zero to four force field entries, or none. A force
field description of “none” indicates a hydrogen that is part of aunited atom representation.
Force field information includes this data, separated by spaces:
Force-field Atom-type Charge [imp At#1 At#2 At#3 At#4]1
Force-fieldo

mm+, opls, amber, amber94, bio+, or charmm22.

Atom-typeo

Type of atom used during a molecular mechanics
calculation. Atom types are specific to a force field.

Chargeo

Charge on the atom.

impo

An improper torsion involving the atom being
described and three other atoms bonded to it. The
order of the At#n (atom name or tag number)determines the improper torsion angle. This information is optional.

Example: bio+ HN1 -0.3500 imp N –3 CA NH
bio+: This information applies to the BIO+ force field.
HN1: The atom type for the described hydrogen.
–0.3500: The negative charge on this atom.
imp N –3 CA NH: An improper torsion involving this atom(N) and its three bonded neighbors: atom tagged –3 in theprevious residue, atom CA, and atom NH.

internal
HyperChem describes the position of an atom in terms of internal
coordinates, or the relationship to its bonded neighbors. The
description of atomic coordinates begins with the keyword internal, for internal coordinates. Atomic coordinates consist of names
or tags for the neighboring atoms, each followed by a value for the
relationship:
internal Atom-name/tag distance Atom-name/tag angle Atomname/tag torsion-angle
1. Brackets indicate optional information.

734

Appendix E

Amino Acid Residues

into

The keyword introducing the atomic coordinates.
Only the first two letters of this keyword are necessary.

Atom-name/tago

The name of a bonded atom in the same residue,or the tag of an atom if it is in an adjacent residue.

distanceo

The length of the bond, in Ångstroms, to theneighbor.

angleoThe bond angle formed by the described atom,
Atom1, and Atom 2. Atom 2 and angle are optionalin this record.

torsion-angleo The torsion angle formed by the described atom,
Atom 1, Atom 2, and Atom 3. Atom 3 and torsionangle are optional in this record.
The minimum internal coordinate record must contain Atom1(atom-name/tag) and distance. If it does not contain Atom 3 andtorsion-angle, the record must be last in an atom description.
Example: int CA 1.525 N 111.10 –3
Remember, atom tag “–3” represents an atom in the previous residue.

Amino Acid Residues
Each amino acid residue requires an entry in each of the TPL files:•

Chem.tpl for internal amino acids.

•

Chemct.tpl for the residue in the C-terminal position.
HyperChem uses this residue for the C-terminal residue when
you request a zwitterion. The terminal carbon in this residue
has two bonded oxygens instead of one. The charge on the residue is –1.0.

•

Chemnt.tpl for the residue in the N-terminal position.
HyperChem uses this residue for the N-terminal residue when
you request a zwitterion. The terminal nitrogen in this residue
has three hydrogens instead of one. The charge on the residue
is +1.0.

Residue Template Files735

Amino Acid Residues

For this release of HyperChem, the template files contain templates for these residues:

736

Residue

Name/Alias

Residue

Name/Alias

Alanine

ALA

Phenylalanine

PHE

GlycineGLY

Tyrosine

TYR

SerineSER

Glutamic acid

GLU

Threonine

THR

Aspartic acid

ASP

LeucineLEU

LysineLYS

Isoleucine

ILE

ProlinePRO

ValineVAL

Cysteine

CYS,CYH, CSH

Asparagine

ASN, ASX

Cystine (S–S bridge)

CYX, CSS

Glutamine

GLN, GLX

Methionine

MET

Arginine

ARG

Acetyl beginning
group

ACE

Histidine, delta H

HID

N-methylamine ending group

NME

Histidine, epsilon H

HIE

Amine ending groupa

NH2

Histidine plus
(protonated)

HIP

Oxygen ending groupa

OME

Histidine generic (sameas histidine protonated)

HIS

Dummy for building
the first residuea

DUM

Tryptophan

TRP

Heme-histidinea

HEM, HEME

Methotrexatea

MTX

4-Hydroxyprolinea

HYP

Gamma-amino butyric
acida

ABU

Ornithinea

ORN

Appendix E

Nucleic Acid Residues

Residue

Name/Alias

Residue

Name/Alias

Beta-alaninea

ALB

Pyrrolidone carboxylic
acid (pyroglutamate)a

PCA

Betainea

BET

Sarcosinea

SAR

Homoserinea

HSE

Taurinea

TAU

5-Hydroxylysinea

HYL

Thyroxinea

THY

Formyl beginninggroupaFOR

a. This residue does not appear in the Amino Acids dialog box; HyperChem uses the residue template to read residues from a PDB file.

Nucleic Acid Residues
Each nucleic acid residue has a primary entry in the chem.tpl fileand might have a secondary entry used to construct a complementary nucleotide residue during double-stranded synthesis or for
backwards synthesis.
Secondary entries have residue names starting with a minus sign.
For example, the residue dA pairs with –dT, and dT pairs with –dA.
An * immediately after the residue name suppresses display of theresidue in dialog boxes.
For this release of HyperChem, the templates files contain templates for these residues:

Residue

Name/Alias

Residue

Name/Alias

Dummy for building thefirst residuea

DUP

Phosphate ending
group, 3´

3CAP

Dummy for building thefirst residue, backward
strandaDUX

D-adenosinea, b–DAD-adenosineDA

D-cytosinea, b–DCResidue Template Files

737

Nucleic Acid Residues

Residue

Name/Alias

Residue

Name/Alias

ThymidineDT, Td-guanosinea, b–DG

D-cytosineDC

Thymidinea, b–DTD-guanosine

DG

R-adenosinea, b–RAR-adenosine

RA, A, +A

Uracila, b–RU

UracilRU, U

R-guanosinea, b–RG

R-guanosine

RG, G

R-cytosinea, b–RC

R-cytosine

RC, C, +C

H beginning, 5´ a, b

HB

Beginning group, 5´

5CAP

H end, 3´ aHECoenzyme Aa, cCoA

7-methylguanosinea, c

7MG

Flavin mononucleotide a, cFMN

2´-O-methylguanosinea, c

OMG

Adenosine triphosphatea, c(ATP)

Inosinea, cI

1-methyladenosinea, c1MA

Dihydrouridinea, c

H2U5-methylcytosinea, c5MC5-methyluridinea, c(ribosylthymidine)

5MU

2´-O-methylcytidinea, c

OMC

Pseudouridinea, c

PSU

1-methylguanosinea, c

1MG

Base Ya, c (Wybutosine)

YG, Y

N(2)-methylguanosinea, c2MG

Nicotinamide adenine
dinucleotidea, c

NAD

N(2)-dimethylguanosinea, c

M2G

TIP3P waterd

HOH, DOD, WAT

a. This residue does not appear in the Nucleic Acids dialog box. HyperChem uses the residue for constructing the complementary strand of a polynucleotide or for reading these residues from a PDB file.
b. For the negative strand or backwards synthesis.
c. This residue supplies atom bonding information only [<atom-name> <aliases> : <element> <tag>(bonding-info)], without force field, charge, or internal coordinate information.
d. For reading water molecules in a PDB file.

738

Appendix E

Adding New Residues

In this version of HyperChem, you cannot add TPL files; you can
only add entries to the existing files.

Adding New Residues
You can add new residues to the Amino Acids and Nucleic Acids
dialog boxes, up to a total of 36 amino acids and 24 nucleic acids
for each dialog box. HyperChem uses this information to interpret
data files (HIN or PDB) and to construct the molecular system in
the workspace.
All residues must be in the file chem.tpl, chemct.tpl, andchemnt.tpl (see the introduction to this chapter). Before you add
residues to these files, make backup copies of the original files.
New residues must supply this minimal information:[<residue-name>]<N|A|*><atom-name> : <element> (bonding-info)<atom-name> : <element> (bonding-info)...
To add a residue to a TPL file but suppress its appearance in the
Amino Acids or Nucleic Acids dialog box, add an * to the end of
the residue-name record. HyperChem can still use this information
to read files containing these residues.
New residues are available in the dialog boxes the next time yourun HyperChem.

General Requirements
To build a new residue, you must have its chemical structure (elements and bonding). It is also useful, but not necessary, to havebond lengths, bond angles, and torsion angles. You can get thisinformation from published reports, by building a residue fromatom and optimizing it with HyperChem, and by using parts ofresidues already in the TPL file.
To perform molecular mechanics calculations on molecules containing these residues, it is useful, but not necessary, to have atom
types and charges for each atom. You can find this information in

Residue Template Files739

Adding New Residues

published reports of a force field. You can also calculate charges byusing a semi-empirical quantum mechanics calculations.
Example:This example adds the ribonucleotide residue 5-methylcytidine(5MC) to the Nucleic Acids dialog box. This residue has a methylgroup, not hydrogen, on the 5′ carbon of the pyrimidine ring.
This residue is simple to construct, because the pyrimidine ring is
the same as in deoxythymidine (dT).
Follow these steps:
1. Using a text editor, like Windows Notepad, or a word processor, like Windows Write, open the file chem.tpl. Be sure tochoose the No conversion option in Windows Write to maintain the file in its original format.
2. Use the Find command to locate R-CYTOSINE.
Note: If you are using Windows Write, you can choose Repaginate on the File menu. This divides the file into pages so thatyou can move easily through it; the pagination does not interfere with HyperChem.
3. Copy the entire entry for R-CYTOSINE to another location. If
you put the copy immediately after R-CYTOSINE, 5MC appears
below rC in the dialog box.
4. Scroll up to the beginning of the pasted text. Then change thefirst three lines to this text:; R-5-METHYL CYTIDINE;[5MC]N
5. Use the Find command to locate [DT T]N.
6. Copy the four entries for the methyl group atoms. They startwith these atom names:
C5M C7:
1H5M 1D5M H71 1H19:
2H5M 2D5M H72 2H19:
3H5M 3D5M H73 3H19:

740

Appendix E

Adding New Residues

7. Return to the entry for 5MC and paste these four atoms after
atom H5 D5 H19.
8. Delete the entire entry for atom H5 D5 H19
9. Edit the first line for atom C5 to show the bond to atom C7
instead of H5:
C5:C(C6 d C7 s C4 s)\

10. Save the file and leave the text editor.
11. Start HyperChem. If HyperChem is already open, choose Exiton the File menu and start it again.
12. Choose Nucleic Acids on the Databases menu. The dialog box
now contains the residue 5MC.

Note: An alternative way to construct this residue is to change thedeoxyribose sugar in dT to a ribose.

Residue Template Files741

Adding New Residues

742

Appendix E

Registry Structure

Appendix F
Default Settings in
the Registry
The Registry contains all the default settings for HyperChem for
Windows. HyperChem uses this information to remember yoursettings from the previous session. HyperChem reads the settings
when you start a session.
During a HyperChem session you can change some of these settings from dialog boxes (for example, see “Preferences” on page95). When you leave HyperChem, the Registry is updated to therecent settings. The Registry supplies the last choices you made ina HyperChem menu or the last values you entered in a dialog box.
HyperChem uses these setting for each session until you change
them.
Some settings are available only in the Registry. You can changethese settings by typing regedit in the Open: field of Run... from theWindows Start button.

Registry Structure
You can see and edit the contents of the Windows Registry by running the regedit Registry Editor. The HyperChem settings are in thesection under,
HKEY_CURRENT_USER/Software/Hypercube/HyperChem Pro/7.0
i.e., assuming your version of HyperChem is Release 7. The settings
are as described below.
Default settings are in keys that contain multiple string values,
binary values, or DWORD values. HyperChem generally uses
string values even for values that are numerical or boolean (theDefault Settings in Registry or Chem.ini

743

Registry Structure

string is later converted to a numerical or boolean value). This
example includes the first six text lines in the AbInitio key:
AbInitio

Name

Type

Data

2ElectronBufferSize

REG_SZ

32000

2ElectronCutoff

REG_SZ

1.0e-10CalculateGradient

REG_SZ

Yes

DirectSCF

REG_SZNo

FiveOrbitals

REG_SZYes

In the Registry, each key contains many String Values that have a
Name (e.g. DirectSCF) a Type (i.e. REG_SZ, meaning string value)
and the Data (e.g. No). The Data can be Yes or No (Boolean), an
integer (Int), a floating point number (Real), one of a limited set of
possibilities (Enum) or a string such a the name of a file.
Note: Name and Data values in the Registry are not case-sensitive.
In the Registry, the keys for the different versions of the force fields
are saved as subkeys under the main force field keys, and there are
12 main keys in all.

744

Appendix F

AbInitio

Settings for ab initio calculations

amber

Settings for the AMBER force fieldamber2

Settings for the amber2 parameter set(subkey in the Registry)

amber3

Settings for the amber3 parameter set(subkey in the Registry)

ambersSettings for the ambers parameter set(subkey in the Registry)

amber94

Settings for the amber94 parameter set(subkey in the Registry)

Registry Structureamber96

Settings for the amber96 parameter set(subkey in the Registry)

Basisset

List of the basis set files (*.BAS) in the HyperChem
Runfiles directorybio+

Settings for the BIO+ force fieldbio83

Settings for the bio83 parameter set(subkey in the Registry)

bio85

Settings for the bio85 parameter set(subkey in the Registry)

charmm19

Settings for the charmm19 parameter set(subkey in the Registry)

charmm22

Settings for the charmm22 parameter set(subkey in the Registry)

charmm27

Settings for the charmm27 parameter set(subkey in the Registry)ComputeSettings for computational options

FilterInformation about input/output file filters

mm+

General settings for the MM+ force field
mmplusAdditional settings for the MM+ parameterset (subkey in the Registry)

Network

Settings for network licensing

opls

Settings for the OPLS force field
opls, opls

Settings for the OPLS parameter set(subkey in the Registry)

Path

Information about paths for parameter files, data
storage, etc.

Preferences

Settings for keyboard operations, display options,
etc.

tndo

Settings for the TNDO method
default

Settings for the TNDO parameter set that is
simply CNDO/INDO (subkey in the Registry)

Default Settings in Registry or Chem.ini

745

Registration

Registration
The registration data for your copy of HyperChem is contained ina different section of the registry. You can see and edit the contentsof the Windows Registry by running the regedit Registry Editor bytyping regedit to Run... under the Windows Start button. The Registration settings are in the key under,
HKEY_LOCAL_MACHINE/Software/Hypercube/HyperChem
Pro/7.0
The entries include the information you entered when you
installed and licensed your copy of HyperChem.

746

Appendix F

Ab Initio Settings

Ab Initio Settings
Note: These AbInitio settings also apply to Density Functional Calculations (DFT).

AbInitio
Keyword

Value
Type

Value

How to Set

Use

CalculateGradient

BooleanYes, NoAb Initio or
Density Functional
Advanced
Options
dialog box

Specify whether or not the gradient calculation is needed. This
option applies only to singlepoint calculations.

DirectSCF

BooleanYes, NoAb Initio or
Density Functional
Advanced
Options
dialog box

Specify whether or not to use
direct SCF calculation.

2ElectronCutoff

Real

>0

Ab Initio or
Density Functional
Advanced
Options
dialog box

Eliminate the two-electron
integrals with values less than thiscutoff.

GaussSCFConvergenceReal0.0-100

Ab Initio or
Density Functional
Options
dialog box

This is the limit which the energy
difference between two
consecutive iterations in an SCF
calculations should reach.

2ElectronBufferSize

Int

> 50

Ab Initio or
Density Functional
Advanced
Options
dialog box

Specify the buffer size to store thetwo-electron integrals before
sending them to a hard disk.

Default Settings in Registry or Chem.ini

747

Ab Initio Settings

Keyword

Value
Type

Value

How to Set

Use

FiveDOrbitals

BooleanYes, NoAb Initio or
Density Functional
Advanced
Options
dialog box

Specify the type of d orbitals. Yes
uses 6 d orbitals (i.e., dxx, dyy,
dzz, dxy, dxz, dyz). No uses 5 dorbitals (i.e., d0, d+1, d-1, d+2,
d-2).

MOInitialGuess

enum

CoreHamiltonian,
ProjectedHuckel,
ProjectedCNDO,
ProjectedINDO

Ab Initio or
Density Functional
Advanced
Options
dialog box

Specify a method to produce an
initial guess of MO coefficients.

IntegralFormat

enum

Regular or
Raffenetti

Ab Initio or
Density Functional
Advanced
Options
dialog box

Specify the format to save thetwo-electron integrals. Density
Functional choice forces thisvalue to Regular.

MP2CorrelationEnergy

BooleanYes, No

Ab initio
Advanced
Options
dialog box

Specify whether MP2 correlationenergy should be calculated with
an ab initio or Density Functional
single-point calculation. Meaning
for DFT is dubious.

MP2FrozenCore

BooleanYes, NoThis fileSpecify whether MP2 correlation
calculation should use a frozen
core

IntegralPathstringFile/Preferences/Paths
property
sheet

Specify the hard disk (drive) andthe path to save the two-electron
integrals

UseGhostAtomSelection

Boolean

Ab initio
Advanced
Options
dialog box

Specify whether or not to use aghost-atom selection.

748

Appendix F

Yes, NoAMBER Settings

AMBER Settings
amber
Keyword

Value
Type

Value

How to Set

Use

CurrentFilesInt

0 to 2

Select “Force
field” Parameter Set dialog box

The index of the AMBER parameter set to use. Default = 0 for first
CustomName; 1 = second, andso on. Default = 1

Amber94CurrentFilesInt

3 to (numberof CustomNames - 1)

Select “Force
field” Parameter Set dialog box

The index of the AMBER94
parameter set to use. Default = 3
for first Amber94 CustomName;
4 = second, and so on. Default =3

AtomTypeMass

Enum

Filename:*typ.txt*typ.dbf
or any otherRegistrya

Directs HyperChem to the filecontaining the atom types forthis force field.
Default = ambertyp.txt

Amber94AtomTyp
eMass

Enum

Filename:*typ.txt
or any otherRegistrya

Directs HyperChem to the filecontaining the atom types forthis force field.
Default = amber94typ.txt

FileFormat

Enum

Text
Dbf

Registrya

Sets the type of file containing
AtomTypeMass parameters.
Default = Text

CustomNames

Enum

Names
separated bycommasRegistrya

The names of parameter sets
associated with the AMBER and
AMBER94 force field. Default =amber2, amber3, ambers,
amber94, amber96

MMVersionIditemInt0-(number ofparameter sets
-1)

Select “Force
field” Parameter Set dialog box

The index of the parameter set
to use.

a. Use direct editing of Registry to change this item

Default Settings in Registry or Chem.ini

749

AMBER Settings

amber,CustomName
These are the subkeys for the parameter sets with the Custom
Names amber2, amber3, ambers, amber94, and amber96:
Keyword

Value
Type

Value

How to Set

Use

FileFormat

Enum

Text
Dbf

Registrya

Sets the type for the following
files. Default = Text

Dielectric

Enum

Constant or
DistanceDepend

Force Field
Options
dialog box

Sets the dielectric permittivity forcalculating electrostatic interactions as either constant or distance dependent (seeDielectricScale, below).
Default = DistanceDependDielectricScaleReal

1–1000Force Field
Options
dialog box

Sets the scale factor for dielectric
permittivity (see previous entry).
Default = 1

1–4ElectrostaticScale

Real

0–1

Force Field
Options
dialog box

Sets the scale factor for calculating charge interactions between
atoms separated by three bonds.
Default = 0.5

1–4vanderWaalsScale

Real

0–1

Force Field
Options
dialog box

Sets the scale factor for calculating van der Waals interactions
between atoms separated bythree bonds.
Default = 0.5

6–12AtomVDWFormat

Enum

RStarEpsilon
SigmaEpsilon
SlaterKirkwood

Registrya

Sets the method for calculating
atom-based van der Waals interactions from data in the file specified in 6–12AtomVDW (seebelow).b
Default = RStarEpsilon

750

Appendix FAMBER Settings

Keyword

Value
Type

Value

How to Set

Use

6–12PairVDWFormat

Enum

RStarEpsilon
SigmaEpsilon
AijBijRegistrya

Sets the method for calculating
pair-based van der Waals interactions from data in the file specified in 6–12PairVDW (seebelow).b
Default = RStarEpsilon

QuadraticStretch

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond stretch parameters for this parameter set.
Default = am89astr.txt

QuadraticBend

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond angle parameters for this parameter set.
Default = am89aben.txt

FourierTorsion

Enum

Filename

Registrya

Directs HyperChem to the filecontaining torsion parameters
for this parameter set.
Default = am89ator.txt

FourierImpTorsion

Enum

Filename

Registrya

Directs HyperChem to the filecontaining improper torsion
parameters for this parameter
set. Default =am89aimp.txt

6–12AtomVDW

Enum

Filename

Registrya

Directs HyperChem to the filecontaining van der Waals parameters for individual atom types.
Default = am89anbd.txt

6–12PairVDW(optional)

Enum

Filename

Registrya

Directs HyperChem to the filecontaining van der Waals parameters for specific pairs of atom
types.b Default = none

10–12PairHBond(optional)

Enum

Filename

This filea

Directs HyperChem to the filecontaining the hydrogen bonding parameters.b
Default = am89ahbd.txt

a. Use direct editing of Registry to change this item.

Default Settings in Registry or Chem.ini

751

AMBER Settingsb. See HyperChem Computational Chemistry, Theory and Methods.

752

Appendix F

Basis Set Settings

Basis Set Settings
BasisSet
This registry key defines the basis set file that you use when you
select a basis set in the graphical user interface (GUI). That is, thenames that appear in the ab initio or density functional dialog
boxes when you wish to select a basis set are defined here. These
names are tied here to a specific basis set file.
The entries (String Names) in this section define files ending with
.BAS in the HyperChem Runfiles directory. Thus, you can modify
the basis set files and create your own basis set files. To use a newbasis set you will need to include it in this section of the Registry.
The following contains most of the standard and commonly usedbasis sets. All these basis sets are included in HyperChem distribution disks. This section may look different if Hypercube, Inc. or
you deleted some .BAS files or added some other .BAS files to theHyperChem Runfiles directory.
Keyword

Value
Type

Value

How to Set

Use

3-21G

enum

3-21g.bas

Registry

Define 3-21G basis set.

3-21G*

enum

3-21gs.bas

Registry

Define 3-21G* basis set.

3-21G**

enum

3-21gss.bas

Registry

Define 3-21G** basis set.

4-21G

enum

4-21g.bas

Registry

Define 4-21G basis set.

4-21G*

enum

4-21gs.bas

Registry

Define 4-21G* basis set.

4-21G**

enum

4-21gss.bas

Registry

Define 4-21G** basis set.

4-31G

enum

4-31g.bas

Registry

Define 4-31G basis set.

4-31G*

enum

4-31gs.bas

Registry

Define 4-31G* basis set.

4-31G**

enum

4-31gss.bas

Registry

Define 4-31G** basis set.

5-31G

enum

5-31g.bas

Registry

Define 5-31G basis set.

Default Settings in Registry or Chem.ini

753

Basis Set Settings

Keyword

Value
Type

Value

How to Set

Use

5-31G*

enum

5-31gs.bas

Registry

Define 5-31G* basis set.

5-31G**

enum

5-31gss.bas

Registry

Define 5-31G** basis set.

6-21G

enum

6-21g.bas

Registry

Define 6-21G basis set.

6-21G*

enum

6-21gs.bas

Registry

Define 6-21G* basis set.

6-21G**

enum

6-21gss.bas

Registry

Define 6-21G** basis set.

6-31G

enum

6-31g.bas

Registry

Define 6-31G basis set.

6-31G*

enum

6-31gs.bas

Registry

Define 6-31G* basis set.

6-31G**

enum

6-31gss.bas

Registry

Define 6-31G** basis set.

6-311G

enum

6-311g.bas

Registry

Define 6-311G basis set.

6-311G*

enum

6-311gs.bas

Registry

Define 6-311G* basis set.

6-311G**

enum

6-311gss.bas

Registry

Define 6-311G** basis set.

STO-1G

enum

sto-1g.bas

Registry

Define STO-1G basis set.

STO-1G*

enum

sto-1gs.bas

Registry

Define STO-1G* basis set.

STO-2G

enum

sto-2g.bas

Registry

Define STO-2G basis set.

STO-2G*

enum

sto-2gs.bas

Registry

Define STO-2G* basis set.

STO-3G

enum

sto-3g.bas

Registry

Define STO-3G basis set.

STO-3G*

enum

sto-3gs.bas

Registry

Define STO-3G* basis set.

STO-4G

enum

sto-4g.bas

Registry

Define STO-4G basis set.

STO-4G*

enum

sto-4gs.bas

Registry

Define STO-4G* basis set.

STO-5G

enum

sto-5g.bas

Registry

Define STO-5G basis set.

STO-5G*

enum

sto-5gs.bas

Registry

Define STO-5G* basis set.

754

Appendix F

BIO+ Settings

Keyword

Value
Type

Value

How to Set

Use

STO-6G

enum

sto-6g.bas

Registry

Define STO-6G basis set.

STO-6G*

enum

sto-6gs.bas

Registry

Define STO-6G* basis set.

D95

enum

d95.basRegistry

Define D95 basis set.

D95*

enum

d95s.bas

Registry

Define D95* basis set.

D95**

enum

g95ss.bas

Regsistry

Define D95** basis set.

BIO+ Settingsbio+
Keyword

Value
Type

Value

How to Set

Use

CurrentFilesInt

0 to 2

Select “Force
field” Parameter Set dialog box

The index of the BIO+
parameter set to use.
0 = first CustomName;
1 = second, and so on.
Default = 0

Charmm22CurrentFi
les

Int

3 to (CustomNames–1)

Select “Force
field” Parameter Set dialog box

The index of the Charmm22
parameter set to use.
3 = first Charmm22 CustomName; 4 = second, and so on.
Default = 3

AtomTypeMass

Enum

Filename:*typ.txt*typ.dbf
or any otherRegistrya

Directs HyperChem to the filecontaining the atom types forthis force field.
Default = biotyp.txt

Charmm22AtomTyp
eMass

Enum

Filename:*typ.txt
or any otherRegistrya

Directs HyperChem to the filecontaining the atom types forthis force field.
Default = charmmtyp.txt

Default Settings in Registry or Chem.ini755

BIO+ Settings

Keyword

Value
Type

Value

How to Set

Use

FileFormat

Enum

Text
Dbf

Registrya

Sets the type of file containing
AtomTypeMass parameters.
Default = Text

CustomNames

Enum

Names
separated bycommasRegistrya

The names of parameter sets
associated with the BIO+ andCHARMM22 force field. Default= bio83,bio85,charmm19,
charmm22,charmm27

MMVersionIditemInt0-(number ofparameter sets
-1)

Registrya

The index of the parameter set
to use.

a. Use a text editor, like Wordpad, to change this record in chem.ini.

bio+,CustomName
These are the subkeys for the parameter sets with the Custom
Names bio83, bio85, charmm19, charmm22, chamm27:

Keyword

Value
Type

Value

How to Set

Use

FileFormat

Enum

Text
Dbf

Registrya

Sets the type for the following
files. Default = Text

Dielectric

Enum

Constant or
DistanceDepend

Force Field
Options
dialog box

Sets the dielectric permittivity forcalculating electrostatic interactions as either constant or distance dependent (seeDielectricScale, below).
Default = DistanceDepend for85, charmm*, Constant for 83

DielectricScaleReal

1–1000Force Field
Options
dialog box

Sets the scale factor for dielectric
permittivity (see previous entry).
Default = 1 for 85, charmm*, 2.5
for 83756

Appendix F

BIO+ Settings

Keyword

Value
Type

Value

How to Set

Use

1–4ElectrostaticScale

Real

0–1

Force Field
Options
dialog box

Sets the scale factor for calculating charge interactions between
atoms separated by three bonds.
Default = 1

6–12AtomVDWFormat

Enum

RStarEpsilon
SigmaEpsilon
SlaterKirkwood

Registrya

Sets the method for calculating
atom-based van der Waals interactions from data in the file specified in 6–12AtomVDW (seebelow).b Default = RStarEpsilonfor 85, charmm*, SlaterKirkwoodfor 83

6–12PairVDFFormat

Enum

RStarEpsilon
SigmaEpsilon
AijBijRegistrya

Sets the method for calculating
pair-based van der Waals interactions from data in the file specified in 6–12PairVDW (seebelow).b Default = RStarEpsilon

QuadraticStretch

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond stretch parameters for this parameter set.
Default = biostr.txt for 85,
bio83str.txt for 83,
charmm19str.txt for charmm19,
etc.

QuadraticBend

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond angle parameters for this parameter set.
Default = bio85ben.txt for 85,
bio83ben.txt for 83,
charmm19ben.txt forcharmm19, etc.

FourierTorsion

Enum

Filename

Registrya

Directs HyperChem to the filecontaining torsion parameters
for this parameter set.
Default = bio85tor.txt for 85,
bio83tor.txt for 83,
charmm19tor.txt for charmm19,
etc.

Default Settings in Registry or Chem.ini

757

BIO+ Settings

Keyword

Value
Type

Value

How to Set

Use

QuadraticImpTorsion

Enum

Filename

Registrya

Directs HyperChem to the filecontaining improper torsion
parameters for this parameter
set. Default = bio85imp.txt for
85, bio83imp.txt for 83,
charmm19imp.txt forcharmm19, etc.

6–12AtomVDW

Enum

Filename

Registrya

Directs HyperChem to the filecontaining van der Waals parameters for individual atom types.
Default = bio85nbd.txt for 85,
bio83nbd.txt for 83,
charmm19nbd.txt forcharmm19, etc.

6–12PairVDW(optional)

Enum

Filename

Registrya

Directs HyperChem to the filecontaining van der Waals parameters for specific pairs of atom
types.b Default = bio85npr.txt for
85, none for 83
charmm19npr.txt forcharmm19, etc.

6–12Atom14VDW(optional)

Enum

Filename

Registrya

Directs HyperChem to the filecontaining atom-based van der
Waals parameters for atoms separated by three bonds.b
Default = nonea. Use direct editing of Registry to change this item.
b. See HyperChem Computational Chemistry, Theory and Methods.

758

Appendix FComputational Settings

Computational Settings
ComputeKeyword

Value
Type

Value

How to Set

Use

Optimizer

Enum

SteepestDescent
FletcherReeves
PolakRibiere
NewtonRaphson, EigenvectorFollowing,
ConjugateDirections

Molecular
Mechanics, Ab
Initio, Density
Functional, or
Semi-empirical Optimization dialog
box

Sets the algorithm for geometry
optimization.
Default = PolakRibiere

RMSGradientCriterionReal

0–1e+10

Molecular
Mechanics, Ab
Initio, Density
Functional, or
Semi-empirical Optimization dialog
box

Sets the RMS gradient termination condition for a geometry
optimization calculation.
Default = 0.1

HeatTimeReal

0–1e+10

Molecular
Dynamics
Options dialog
box

Sets the time, in picoseconds,
to change the temperaturefrom Starting to Simulation.
Default = 0

RunTimeReal

0–1e+10

Molecular
Dynamics
Options dialog
box

Sets the length of the period, inpicoseconds, when the temperature is not changed.
Default = 1

CoolTimeReal

0–1e+10

Molecular
Dynamics
Options dialog
box

Sets the time, in picoseconds,
to change the temperaturefrom Simulation to Final.
Default = 0

Default Settings in Registry or Chem.ini

759

Computational Settings

Keyword

Value
Type

Value

How to Set

Use

TimeStepReal

0–1e+10

Molecular
Dynamics
Options dialog
box

Sets the Step size, in picoseconds, between evaluations of
the total energy and forces for amolecular system.
Default = 0.001

StartingTemperatureReal

0–1e+10

Molecular
Dynamics
Options dialog
box

Sets the temperature of the system at the beginning of Heat
Time.
Default = 0 Kelvin

SimulationTemperatureReal

0–1e+10

Molecular
Dynamics
Options dialog
box

Sets the temperature of the system at the beginning of Run
Time.
Default = 300 Kelvin

FinalTemperatureReal

0–1e+10

Molecular
Dynamics
Options dialog
box

Sets the temperature of the system at the end of Cool Time.
Default = 0 Kelvin

TemperatureStepReal

0–1e+10

Molecular
Dynamics
Options dialog
box

Sets the increments of temperature change, if any, during the
calculation.
Default = 0 Kelvin

ConstantTemperature

Bool.

Yes, No

Molecular
Dynamics
Options dialog
box

Turns on or off Constant temperature during a molecular
dynamics simulation.
Default = Yes

TemperatureRelaxationTime

Real

0–1e+10(> TimeStep)

Molecular
Dynamics
Options dialog
box

Sets the Bath relaxation time
constant, in picoseconds, forconstant temperature regulation. Default = 0.1

RestartBool.

Yes or No

Molecular
Dynamics
Options dialog
box

Sets the initial velocities ofatoms to previously determinedvalues. Default = No

760

Appendix FComputational Settings

Keyword

Value
Type

Value

How to Set

Use

DataFrequency

Int

1–max.
number of time
steps or 32767

Molecular
Dynamics
Options dialog
box

Sets the interval, in time steps,
for the molecular dynamics calculation to send new values toHyperChem. Same as Data collection period.
Default = 1

RefreshFrequency

Int

1–max.
number of data
steps or 32767

Molecular
Dynamics
Options dialog
box

This sets the interval, in data
steps (see DataFrequency) for
updating the display (same as
Screen refresh period).
Default = 1

SnapShotFrequency

Int

1–max.
number of data
steps or 32767

Molecular
Dynamics
Snapshotsdialog box

Sets the interval, in data steps,
between snapshots of a molecular dynamics simulation. Sameas Snapshot period. Default = 1

AveragesFrequency

Int

1–max.
number of data
steps or 32767

Molecular
Dynamics
Averagesdialog box

Sets the interval, in data steps,
between averaging values in amolecular dynamics simulation. Same as Average/graphperiod. Default = 1

SCFConvergenceReal

0.0–100.0

Semiempirical or
Ab Initio andDFT Options
dialog box

This is the limit to which thedifference of SCF calculations
should be calculated.

SCFIterationint

1–32767

Semiempirical or
Ab Initio andDFT Options
dialog box

The maximum number of
iterations to extend an SCF
calculation.

Qpt

Enum

Orbital,OrbitalSquared

Orbitals
dialog box(orbitalsquaredcheckbox)

This controls the appearance ofthe orbital plots.

Default Settings in Registry or Chem.ini

761

Computational Settings

Keyword

Value
Type

Value

How to Set

Use

OrbitalEnum

Homo, Lumo,
NumberOrbitals dialog
box

This controls the type of
information displayed in theorbital number field when an
orbital is selected.

HorizontalGrid

int

2–32767

Grid dialog
box

Number of grid points in the x
dimension.

VerticalGrid

Int

2–32767

Grid dialog
box

Number of grid points in the ydimension

GraphContours

Int

1–32767

Grid Dialog
Box

Determines the number of contour level in a contour plot.

UHF

BooleanYes, No

Semiempirical or
Ab Initio andDFT Options
dialog Box

Selects whether a semi-empirical calculation will use theUnrestricted or restricted Hartree-Fock approximations.

ExcitedState

BooleanYes, No

Semiempirical or
Ab Initio andDFT Options
dialog Box

Determines whether the current configuration No is of theground state or the first excitedstate.

Accelerate
Convergence

BooleanYes, No

Semiempirical or
Ab Initio andDFT Options
dialog Box

If Yes, then uses DIIS procedure
to accelerate

HuckelConstantReal

0–10.0Extended
HückelOptions
dialog box

The proportionality factor to use
in an Extended Hückel
calculation. Usually 1.75

HuckelScaling
FactorReal

0–100000

Extended
HückelOptions
dialog box

Scaling factor for interaction
between classical and quantum
portions of a system when using
mixed mode calculation.

762

Appendix FComputational Settings

Keyword

Value
Type

Value

How to Set

Use

WeightBooleanYes, No

Extended
HückelOptions
dialog box

A toggle for using a simple
Hückel constant (No) or aconstant including a weighting
factor for orbital diffuseness(Yes).

DOrbitalsSecond
Row

BooleanYes, No

Extended
HückelOptions
dialog box

Yes to include d orbitals fromthe basis set for the second longrow of atoms, (Si to Cl), or no toignore d orbitals (and shorten
the calculation)

BetaOrbitals

BooleanYes, No

OrbitalOptions
dialog box

When using the UHF
approximation, toggles the plotof alpha (no) or Beta (yes)orbitals on a contour plot.

Configuration
Interaction

enum

NoCI,
SinglyExcited,
Microstate

Configuration
Interaction
dialog box

Determines which type ofconfiguration interaction is
performed.

QuantumLevel
Shift

int

0–32767

Registrya

This is the number of SCF
iterations to perform a level
shift, which separates the
HOMO and LUMO levels during
an SCF calculation in order toaccelerate convergence.

CICriterion

enum

Orbital, Energy

Configuration
Interaction
dialog box

This determines whether thecriterion for the number oforbitals to include in aconfiguration interaction isbased upon the lowest andhighest orbitals, or the
maximum excitation energy ofan electronic transition.

CIUnoccupied

int

0–32767

Configuration
Interaction
dialog box

This is the number ofunoccupied orbitals to include
in a CI calculation.

CIOccupied

int

0–32767

Configuration
Interaction
dialog box

This is the number of occupied
orbitals to include in a CI
calculation.

Default Settings in Registry or Chem.ini

763

Computational Settings

Keyword

Value
Type

Value

How to Set

Use

CIExcitation
EnergyReal

0–10000.0

Configuration
Interaction
dialog box

This is the maximum excitationenergy to use as a limit for thenumber of configurations to use
in a CI calculation.

QuantumMultiplicity

Int

1–6

Extended
HückelOptions dialogbox

The spin multipicity of the system in the workspace

MolecularMechanicsMethod

Enum

mm+
amber
bio+
opls

Molecular
MechanicsForce Field
dialog box

Sets the force field for a molecular mechanics calculation. The
force field stored in a HIN filechanges this setting.
Default = mm+

SemiEmpiricalMethod

Enum

ExtendedHuckel
CNDO
INDO
MINDO3MNDO
AM1PM3ZINDO1ZINDOS

Semi-empirical Method
dialog box

Sets the method for a semiempirical calculation.
Default = ExtendedHuckel

CalculationMethod

Enum

MolecularMechanics
SemiEmpiricall
AbInitio

Choose on the
Setup menu

Sets the type of calculation
method. Default =MolecularMechanics

MechanicsPrint
Level

Int

0–9

Start Log dialog box

The level of information output
to a log file for molecularmechanics calculations.

QuantumPrint
Level

Int

0–9

Start Log dialog box

The level of information output
to a log file for quantum
mechanics calculations.

764

Appendix FComputational Settings

Keyword

Value
Type

Value

How to Set

Use

WarningType

Enum

None, Log,
Message

Registrya

Determines the destination of
warning messages for calculations: None = no warnings, Log= messages to log file only,
Message = messages to screen
and log file. Default = Message

DynamicsGraphOnset

Int

3–max. number of averaging steps or
32767

Registrya

Sets the number of averaging
steps (see AveragesFrequency)
to compute before plotting
instantaneous values.
Default = 3

AnimateVibrations

BooleanYes, No

Vibrational
Spectrum Dialog Box

Determines whether a vibrational normal mode will be displayed as vectors or as amolecular animation.

IRAnimate
Amplitude

Real

0.0–10.0

Vibrational
Spectrum Dialog Box

The amplitude of the vibrationsof a normal mode.

IRAnimateStepsInt

3–32767

Vibrational
Spectrum Dialog Box

The number of steps during
each half cycle of a vibration
animation.

TndoVersion

Int

0-1

Semi-empirical Options
Dialog Box

The version of TNDO used
(0=CNDO-based, 1=INDObased). Default = 1

ExchangeFunctional

Enum

None
Hartree-Fock
SlaterBecke88
PW91
Gill96
PBE96
HCTH98B3-LYP
B3-PW91
EDF1
Becke97

Exchange Correlation Potential Dialog Box

The type of Exchange Functional to use in a Density Functional (DFT) calculation. The
last four combination functionals are specified by a particularvalue of the this variable (ignoring the correlation functional
below. Default = None.

Default Settings in Registry or Chem.ini

765

Computational Settings

Keyword

Value
Type

Value

How to Set

Use

CorrelationFunctional

Enum

None
Perdew86
VWN
LYP
PZ81
PW91
PBE96
HCTH98Exchange Correlation Potential Dialog Box

The type of Correlation Functional to use in a Density Functional (DFT) calculation. Thisvalue is ignored if the exchange
functional above is a combination functional (one of the lastfour). Default = None.

ReadHCTHCoefficients

BooleanYes ,No

Registrya

If Yes, then 15 coefficients areread from file hcth.coef rather
than use internal HCTH values.
The file has five rows of thethree coefficients, CX, CCσσ,CCαβ for the exchange, parallel
and anti-parallel correlation.

UseSmallDensityCutoff

BooleanYes, NoDFT Integration Grids Dialog Box

If Yes, then all integration
points involving a density
smaller than SmallDensityCutoff (see below) are ignored. If
No, then the computation is
performed for all integration
points. Default = No.

SmallDensityCutoff

Real

0 to .001

DFT Integration Grids Dialog Box

The smallest density to ignore if
UseSmallDensityCutoff (seeabove) is Yes. Default = 1.0e-6.

StateToOptimize

Enum

SCF
MP2
CI

Variable To
Optimize Dialog Box

The energy to optimize for
Conjugate Directions Optimizer. For SCF, Ab Initio SCF or
DFT ground states are optimized. For MP2, the Ab Initio
SCF energy plus the MP2
energy is optimized. For CI, theconfiguration interaction
excited state, CIStateToOptimize, is optimized. Default =
SCF.

766

Appendix FFilters Settings

Keyword

Value
Type

Value

How to Set

Use

CIStateToOptimize

Int

0 to number of
CI excited
StatesVariable To
Optimize Dialog Box

Integer specifying which of theexited states coming from a
Configuration Interaction calculation to optimize. The value 0
specifies the ground state, thevalue 1 specifies the first excitedstate, etc. Default = 0.

MechanicsComponentFlags

Int

Depends onwhich flags,
starting at low
bit, are set.

Components
of Force Field
Included Dialog Box

A set of bit flags which, if set,
request that a component of
the force field be included. Bit 0
is Bond terms, Bit 1 is Angle
terms, etc. Default is -1 (all bits
set).

UseMullikanApproximationtoDensity

BooleanYes, No

Density Functional Method
Dialog Box

New Feature (Mullikan Approximation) - may not be available.

UseAuxilliaryBasis

BooleanYes, No

Density Functional Method
Dialog Box

New Feature (Orbital plus Auxilliary Basis Sets) - may not be
available.

AuxilliaryBasisInt

0 to (numberof auxilliary
basis sets available -1)

Density Functional Dialog
Box

New Feature (Orbital plus Auxilliary Basis Sets) - may not be
available.

a. Use direct setting of Registry to change this item.

Filters Settings
This key describes the file filters in HyperChem.

Default Settings in Registry or Chem.ini

767

Filters Settings

Filters
Keyword

Value
Type

Value

How to Set

Use

MDL MOL

String<description>|<filter>|<ddlfilename>|<filetype>Registry

Directs HyperChem to the .DLL
file that converts between .HIN
files and MDL .MOL files.
Default=*.mol|molhin.dll|MOL

MOPAC Z-Matrix

String<description>|<filter>|<ddlfilename>|<filetype>Registry

Directs HyperChem to the .DLL
file that converts between .HIN
files and MOPAC Z-Matrix files.
Default=*.zmt|zmathin.dll|ZMT

Tripos MOL2String<description>|<filter>|<ddlfilename>|<filetype>Registry

Directs HyperChem to the .DLL
file that converts between .HIN
files and Tripos MOL2 files.
Default=*.ml2|ml2hin.dll|ML2

ChemDraw

String<description>|<filter>|<ddlfilename>|<filetype>Registry

Directs HyperChem to the .DLL
file that converts between .HIN
files and ChemDraw files.
Default=*.chm|chemdrw.dll|CHM

768

Appendix F

MM+ Settings

MM+ Settings
mm+
Keyword

Value
Type

Value

How to Set

Use

CurrentFilesInt

0 to (numberof CustomNames–1)

Select “Force
field” Parameter Set dialog box

The index of the MM+ parameter set to use. 0 for first CustomName, 1= second, and so on.
Default = 0

AtomTypeMass

Enum

Filename:*typ.txt*typ.dbf
or any otherRegistrya

Directs HyperChem to the filecontaining the atom types andmasses for this force field.
Default = mmptyp.txt

FileFormat

Enum

Text
Dbf

Registrya

Sets the type of file containing
MM+ AtomTypeMassparameters. Default = Text

CustomNames

Enum

Names
separated bycommasRegistrya

The names of parameter sets
associated with the MM+ force
field. Default = mmplus

a. Use direct setting of Registry to change this item.

mm+,CustomName
These are subkeys that define the settings for the MM+ parameter
set with the CustomName mmplus:
Keyword

Value
Type

Value

How to Set

Use

FileFormat

Enum

Text
Dbf

Registrya

Sets the type for the following
files. Default = Text

MMPElectrostatics

Enum

BondDipoles,
AtomicCharges

MM+
Options
dialog box

Specifies the form of electrostaticinteractions used for MM+ calculations. Default = BondDipoles

Default Settings in Registry or Chem.ini769MM+ Settings

Keyword

Value
Type

Value

How to Set

Use

MMPStretch

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond stretch parameters for this parameter set.
Default = mmpstr.txt

MMPBendEnum

Filename

Registrya

Directs HyperChem to the filecontaining bond angle bending
parameters for this parameter
set. Default = mmpben.txt

MMPBend4

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond angle bending
parameters for four-memberedrings, for this parameter set.
Default = mmpben4.txt

MMPBend3

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond angle bending
parameters for three-memberedrings, for this parameter set.
Default = mmpben3.txt

MMPOOPBend

Enum

Filename

Registrya

Directs HyperChem to the filecontaining the out-of-planebending parameters for thisparameter set.
Default = mmpoop.txt

MMPStretchBend

Enum

Filename

Registrya

Directs HyperChem to the filecontaining parameters couplingbond stretching and bond angle
bending for this parameter set.
In this release, stretch-bend constants are internal to HyperChem
and not available in a parameter
file. Default = none

MMPTorsion

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond torsion parameters for this parameter set.
Default = mmptor.txt

770

Appendix F

MM+ Settings

Keyword

Value
Type

Value

How to Set

Use

MMPTorsion4

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond torsion parameters for four-membered rings, forthis parameter set. Default =mmptor4.txt

MMPAtomVDW

Enum

Filename

Registrya

Directs HyperChem to the filecontaining atom-based van der
Waals interaction parameters forthis parameter set.
Default = mmpnbd.txt

MMPPairVDW

Enum

Filename

Registrya

Directs HyperChem to the filecontaining pair-based van der
Waals interaction values for thisparameter set. In this release,pair-based VDW constants areinternal to HyperChem and notavailable in a parameter file.
Default = none

MMPCubicStretchReal

Any negative
real number

Registrya

The MM+ cubic stretch coefficient for calculating bond stretchenergies. Default = –2

a. Use direct setting of Registry to change this item.

Default Settings in Registry or Chem.ini

771

Network Settings

Network Settings
Network
With this key you can specify options for running your calculations on different machines on your network with HyperChem’s
remote calculation modules.
Keyword

Value
Type

Value

How to Set

Use

Networking

BooleanYes, No

Registrya

Whether you have one or more
backend modules (Yes) or not(No)

BackendCommunications

Enum

Local, Remote

Network
Options dialog box

Whether calculations should be
run remotely or on the local
machineBackendEthernetServer

StringAny string

Network
Options dialog box

Specifies the name of the remotemachine that the backend will
run onBackendUserId

StringAny string

Network
Options dialog box

Specifies the login name thatshould be used on the remotemachineBackendNodes

Int

1

Network
Options dialog box

Specifies the number of parallel
processes to run. Ignored in thecurrent version of HyperChem,
which will use 1

a. Use direct editing of Registry to change this item.

772

Appendix FOPLS Settings

OPLS Settings
opls
Keyword

Value
Type

Value

How to Set

Use

CurrentFiles

Int

0 to
(number ofCustomNames–1)

Select “Force
field” Parameter Set dialog box

The index of the OPLS parameter
set to use. Default = 0 for first
CustomName; 1= second, andso on. Default = 0

AtomTypeMass

Enum

Filename:*typ.txt*typ.dbf
or any otherRegistrya

Directs HyperChem to the filecontaining the atom types forthis force field.
Default = oplstyp.txt

FileFormat

Enum

Text
Dbf

Registrya

Sets the type of file containing
OPLS AtomTypeMassparameters. Default = Text

CustomNames

Enum

Names
separated bycommasRegistrya

The names of parameter sets
associated with the OPLS
force field. Default = opls

a. Use direct editing of Registry,to change this item.

opls,CustomName
These are the subkeys that define the settings for the parameter set
with the Custom Name opls:
Keyword

Value
Type

Value

How to Set

Use

FileFormat

Enum

Text
Dbf

Registrya

Sets the type for the following
files. Default = Text

Default Settings in Registry or Chem.ini

773

OPLS Settings

Keyword

Value
Type

Value

How to Set

Use

Dielectric

Enum

Constant

Force Field
Options
dialog box

Sets the dielectric permittivity forcalculating electrostatic interactions to Constant. There are noother choices.
Default = ConstantDielectricScaleReal

1–1000Force Field
Options
dialog box

Sets the scale factor for dielectric
permittivity (see previous entry).
Default = 1

1–4ElectrostaticScale

Real

0–1

Force Field
Options
dialog box

Sets the scale factor for calculating charge interactions between
atoms separated by three bonds.
Default = 0.5

1–4vanderWaalsScale

Real

0–1

Force Field
Options
dialog box

Sets the scale factor for calculating charge interactions between
atoms separated by three bonds.
Default = 0.125

6–12AtomVDWFormat

Enum

RStarEpsilon
SigmaEpsilon
SlaterKirkwood

Registrya

Sets the method for calculating
atom-based van der Waals interactions from data in the file specified in 6–12AtomVDW (seebelow).b
Default = SigmaEpsilon

6–12PairVDWFormat

Enum

RStarEpsilon
SigmaEpsilon
AijBijRegistrya

Sets the method for calculating
pair-based van der Waals interactions from data in the file specified in 6–12PairVDW (seebelow).b
Default = SigmaEpsilon

QuadraticStretch

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond stretch parameters for this force field.
Default = oplsstr.txt

774

Appendix FOPLS Settings

Keyword

Value
Type

Value

How to Set

Use

QuadraticBend

Enum

Filename

Registrya

Directs HyperChem to the filecontaining bond angle parameters for this parameter set.
Default = oplsben.txt

FourierTorsion

Enum

Filename

Registrya

Directs HyperChem to the filecontaining torsion parameters
for this parameter set.
Default = oplstor.txt

FourierImpTorsion

Enum

Filename

Registrya

Directs HyperChem to the filecontaining improper torsion
parameters for this parameter
set. Default = oplsimp.txt

6–12AtomVDW

Enum

Filename

Registrya

Directs HyperChem to the filecontaining van der Waals parameters for individual atom types.b
Default = oplsnbd.txt

6–12PairVDW(optional)

Enum

Filename

Registrya

Directs HyperChem to the filecontaining van der Waals parameters for specific pairs of atom
types.b
Default = nonea. Use direct editing of Registry,to change this item.
b. See HyperChem Computational Chemistry, Theory and Methods.

Default Settings in Registry or Chem.ini

775

Path Settings

Path Settings
Path
With this key you can specify where HyperChem should find its
program files, parameter files, etc.
Keyword

Value
Type

Value

How to Set

Use

ChemExePathstringAny path nameFile/Preferences/Paths
property
sheet

The directory which contains theHyperChem program files

ChemParmPathstringAny path nameFile/Preferences/Paths
property
sheet

The directory which contains theparameter files for molecularmechanics and semi-empiricalcalculations.

ChemLogPathstringAny path nameFile/Preferences/Paths
property
sheet

The directory that log files will be
stored in

ChemScriptPathstringAny path nameFile/Preferences/Paths
property
sheet

The directory that script files areread from776

Appendix FPreference Settings

Preference Settings
Preferences
Keyword

Value
Type

Value

How to Set

Use

ButtonRotationAngleReal

0–3600°Key
Preferences
dialog box

The maximum step size for XY
rotation using the [3]/[4]/[2]/[1]keys.
Default = 7.5 degrees

ButtonZRotationAngleReal

0–3600°Key
Preferences
dialog box

The maximum step size for Z
rotation using the [Home]/[End]keys.
Default = 7.5 degrees

DraggingRotation
Angle

Real

0–3600°Tool
Preferences
dialog box

The maximum XY rotation by
moving the XY rotation toolacross the screen once.
Default = 360 degrees

DraggingZRotationAngleReal

0–3600°Tool
Preferences
dialog box

The maximum Z rotation by
moving the Z rotation toolacross the screen once.
Default = 360 degrees

ButtonTranslateStepInt

0–1000ÅKey
Preferences
dialog box

The maximum step size for XY
translation using the [Shift]+[3]/[4]/[2]/[1] keys.
Default = 1 Ångstrom

ButtonZTranslateStepInt

0–1000ÅKey
Preferences
dialog box

The maximum step size for Z
translation using the [Shift]+[Help] /[End] keys.
Default = 1 Ångstrom

DraggingZTranslateStepInt

0–1000Å

Tool
Preferences
dialog box

The maximum Z translation by
moving the Z translation toolacross the screen once.
Default = 10 Ångstroms

Default Settings in Registry or Chem.ini

777

Preference Settings

Keyword

Value
Type

Value

How to Set

Use

ButtonClippingStepInt

0–1000ÅKey
Preferences
dialog box

The maximum clipping planemovement using the[Shift]/[Ctrl]+ [PgDn]/[PgUp] keys.
Default=1 Ångstrom

DraggingClippingStepInt

0–1000Å

Tool
Preferences
dialog box

The maximum clipping planemovement by moving the Z
clipping tool across screen
once. Default=10 Ångstroms

ButtonZoomStepInt>1–1000Å

Key
Preferences
dialog box

The maximum step size formagnification using the[PgDn]/[PgUp] keys. Default= 2

DraggingZoomStepInt>1–1000

Tool
Preferences
dialog box

The maximum magnification
by moving the Zoom toolacross screen once. Default=10

MouseMode

Enum

Drawing
SelectingRotating
ZRotatingTranslating
ZTranslating
Zooming
Clipping

Choose a Tool
with themouse

Sets the default tool and cursor.
Default = Drawing

MultipleSelections

Bool.

Yes, No

Select menu

Sets Multiple Selections on oroff. Default = No

SelectSphere

Bool.

Yes, No

Select menu

Sets Select Sphere on or off.
Default = No

SelectLevel

Enum

Atoms
Residues
Molecules

Select menu

Sets the selection level.
Default = Atoms

FastTranslate

Bool.

Yes, No

Tool
Preferences
dialog box

Sets Fast translation on or off.
Default = Yes

778

Appendix FPreference Settings

Keyword

Value
Type

Value

How to Set

Use

TranslateMolecules

Bool.

Yes, No

Tool
Preferences
dialog box

Sets Whole molecule translation
on or off. Default = Yes

DefaultAtomicNumber

Int

0–103

Element Table
dialog box

Sets the default element for
drawing. 0 = lone pair.
Default = 6

ExplicitHydrogens

Bool.

Yes, No

Build menu

Sets Explicit Hydrogens to on oroff. Default = No

AllowIons

Bool.

Yes, No

Build menu

Sets Allow Ions to on or off.
Default = No

ConstrainDrawing

Bool

Yes, No

Build Menu

Sets drawing mode to constrained bonds and angles onor off. Default = No

HydrogenBondDistanceReal

Positive real
numberRegistrya

Sets the maximum length for
an H bond.
Default = 3.2 Ångstroms

HydrogenBondAngleReal

0–180°

Registrya

Sets the minimum angle for an
H bond. Default = 150 degrees

Perspective

Bool.

Yes, No

Display menu

Sets Perspective View on or off.
Default = No

HydrogenShown

Bool.

Yes, No

Display menu

Set the display of hydrogens on
or off. Default = Yes

MultipleBondShown

Bool.

Yes, No

Display menu

Sets the display of multiple
bonds on or off. Default = Yes

AromRingShown

Bool

Yes, No

Display menu

Sets the display of aromaticrings as circles on or off. Default= No

HBondShown

Bool.

Yes, No

Display menu

Sets the display of hydrogenbonds on or off. Does not
calculate bonds. Default = Yes

Default Settings in Registry or Chem.ini

779Preference Settings

Keyword

Value
Type

Value

How to Set

Use

IsosurfaceType

Enumwire-mesh,
JorgensenSalem, lines,
flat-surface,shaded-surface, Gouraudshaded-surface, translucent-surface

Isosurface
Options dialog box

Specify the rendering mode forisosurfaces

StickPixelWidthint

0 to 25

Sticks property sheet

Specify width of bonds drawn
as sticks, in units of pixels

BallsRadius

float

0 to 1

Balls property
sheet

Size of the balls relative to the
maximum value, in balls rendering

BallsCylindersRadius

float

0 to 1

Balls property
sheet

Size of the balls relative to the
maximum value, in balls andcylinders rendering

CylindersRadius

float

0 to 1

Cylindersproperty sheet

Size of cylinders relative to the
maximum value, in balls andcylinders rendering

BackgroundColor

Enum

ColorbPreferences
dialog box

Sets the color of the HyperChem workspace(window). Default = Black

AtomColor

Enum

ByElement orcolorbPreferences
dialog box

Sets the color of all bonds.
Default = ByElement

SelectionColor

Enum

ThickLine orcolorbPreferences
dialog box

Sets the display for selected
atoms and bonds.
Default = Green

780

Appendix FPreference Settings

Keyword

Value
Type

Value

How to Set

Use

DefaultAtomLabels

Enum

None
AtomSymbol
AtomName
AtomNumber
AtomType
BasisSet
Mass
ChargeChirality

Labelsdialog box

Sets the type of label for an
atom. Default = None

DefaultResidueLabels

Enum

None
ResidueName
Sequence
NameSequence

Labelsdialog box

Sets the type of label for aresidue. Default = none

CPKNumberOfRings

Int

0–32767

This filea

Sets the number of concentricdisks used in a Spheres rendering. Higher numbers improve
the appearance but increase
computing time. Default = 20

CPKMaxDoubleBufferAtoms

Int

0–number of
atomsThis filea

If DoubleBuffered is on (Yes)and there is enough memory,
HyperChem displays a complete rendering containing up
to this number of atoms. Moreatoms or lack of memory turns
off double buffering andHyperChem shows therendering atom-by-atom.
Default = 50

DotSurfaceAngle

Real–90 to +90°

This filea

This is the angle of dot planes
relative to the XZ plane of theViewer’s Coordinate System. A
value of 0 sets the dot planes
perpendicular to the screen.
Default = 25 degrees

Default Settings in Registry or Chem.ini

781

Keyword

Value
Type

Value

How to Set

Use

BondSpacingDisplayRatio

Real

0–0.1

This filea

This setting determines the line
spacing of double, triple, andaromatic bonds for printing
Sticks renderings. The spacingis the product of this value andthe smallest dimension of arectangle (width or height) that
encloses the molecular system.
Default = 0.01

WallEyedStereo

Bool.

Yes or No

This filea

This setting turns on either
walleyed stereo (Yes) or crosseyed stereo (No).
Default = Yes

FillPDBRecords

Bool.

Yes or No

This filea

Adds blank spaces to eachrecord to 70 characters. Some
programs reading PDB files
might require this.
Default = No

WritePDBHydrogens

Bool.

Yes or No

Save Filedialog box

Includes ATOM or HETATM
records for hydrogen atoms in
PDB files.
Default = No

WritePDBConnect

Bool.

Yes or No

Save Filedialog box

Includes all CONECT records,
with bonding information, in a
PDB file. Default = No

SaveVelocities

Bool.

Yes or No

Save Filedialog box

Includes Vel records in a HIN
file, with the velocity for eachatom. Default = No

PrinterBackgroundWhite

BooleanYes, NoThis filea

Controls whether the printerbackground color is white

ToolHelpPopupBool.

Yes, NoThis filea

Enables popup help messages
when cursor pauses over toolicons. Default = Yes

782

Preference Settings

Keyword

Value
Type

Value

How to Set

Use

FileFormat

Enum

HIN
SKC
PDB
ML2
ZMT

Save Filedialog box

Sets the type of file for storing amolecular system.
Default = HIN

UseCustomMenu

Bool.

Yes, NoThis filea

Specifies whether a custom
menu should be used (Yes) or
the default menu used (No)

CustomMenuFile

Filename

Any filename

This filea

Specifies the name of the filecontaining the custom menu

ShadedBalls

Bool.

Yes, No

Balls property
sheet

Specifies if shading should be
used in Balls rendering

ShadedCPK

Bool.

Yes, No

Spheres property sheet

Specifies if shading should be
used in Spheres rendering

HighlightedBalls

Bool.

Yes, No

Balls property
sheet

Specifies if highlighting should
be used in Balls rendering

HighlightedCPK

Bool.

Yes, No

Spheres property sheet

Specifies if highlighting should
be used in Spheres rendering

ColorCylindersByElement

Bool.

Yes, No

Cylindersproperty sheet

Specifies if cylinders should becolored according to the atoms
that they join (Yes) or drawn ingray (No)

NetLicense

Int

0 to 15

Network Preferences property sheet

Specifies which networks torequest a network license from.
The setting is the sum of thefollowing values: 8 if TCP/IP isenabled, 0 otherwise; 4 if
IPX/SPX is enabled, 0 otherwise; 2 if NETBIOS/NETBEUI/NETAP is enabled, 0 otherwise;
1 if Local access is enabled, 0otherwise

Default Settings in Registry or Chem.ini

783

Preference Settings

Keyword

Value
Type

Value

How to Set

Use

NetTimeoutLicense

Int

0 to 32767

Network Preferences property sheet

Specifies the time in minutes
without the user activating amenu itembefore a network
license will time out.

TCPNetMask

StringFour integers(each 0 to 255)
separated byperiods

Network Preferences property sheet

Specifies the mask used for
TCP/IP addressing

TCPTimeout

Int

0 to 32767

Network Preferences property sheet

Specifies the maximum time inseconds to allow for a response
from the TCP/IP network
requestTCPRetryInt

0 to 32767

Network Preferences property sheet

Specifies the maximum numberof times to try to get a response
to a TCP/IP network request

UseSockets

Bool

Yes, No

Registrya

Specifies that Sockets are to be
used for (front end - back end)
communication rather than
DDE. Default = No.

UseAsyncTrans

Bool

Yes, No

Registrya

Use an asynchronous version of
DDE rather than a synchronous
version. Default = No.

PlotInterpPoints

Int

0 to 10

Registrya

Number of interpolated points
added to potential plots tosmooth out data. Default = 3.

PlotOutliersEliminatedInt

0 or 1

Registrya

Whether or not to eliminate
outliers in potential plots thatwould distort plot. 0 is No, 1 isYes. Default = 0.

AnnotationColor

StringThree numbers
separated by
space; e.g. 255
255 255 is
white

Annotation/Color dialog box

Color used for lines, circles, andrectangles. Not used for text
annotations.

784

Appendix FRegistration Settings

Keyword

Value
Type

Value

How to Set

Use

AnnotationLayerHidden

Bool.

Yes, No

Annotations/Options
menu

Whether or not to hide theannotation layer

AnnotationLayerInFront

Bool.

Yes, No

Annotations/Options
menu

Whether or not to have theannotation layer in front of themolecular layer

AnnotationFilled

Bool.

Yes, No

Annotations/Options
menu

Whether or not to fill circle andrectangle annotations

a. Use direct editing of Registry to change this item.
b. Color: black, blue, green, cyan, red, violet, yellow, white

Registration Settings
Registration
This key stores information about the registered user. It is in
HKEY_LOCAL_MACINE rather than HKEY_CURRENT_USER..
Keyword

Value
Type

Value

How to Set

Use

User

stringAny string

Installation

The name of the registered user

Organization

stringAny string

Installation

The company or organization of
the registered user

SerialNo

stringValid serial
number

Installation

The serial number of the product

DealerstringAny string

Installation

The name of the product dealer

Default Settings in Registry or Chem.ini

785

Registration Settings

786

Appendix FCredits and Acknowledgments

HyperChem uses public domain force fields and semi-empirical methods with author approval.
Hypercube would like to thank the following authors for their valuable input and assistance:
Dr. Norman Allinger, University of Georgia; author of the MM2 force field.
Dr. Peter Kollman, University of California at San Francisco; author of the AMBER force field.
Dr. William Jorgensen, Yale University; author of the OPLS force field.
Dr. Martin Karplus, Harvard University; author of the CHARMm force field.
Dr. John A. Pople, Carnegie-Mellon University; author of the CNDO and INDO semiempirical methods and father of ab initio methods.
Dr. Michael J.S. Dewar, The University of Texas at Austin; author of the MINDO, MNDO,
and AM1 semi-empirical methods.
Dr. James J.P. Stewart, Frank J. Seiler Research Laboratory, United States Air Force Academy;
author of the PM3 semi-empirical method.
Dr. Michael C. Zerner, University of Florida; author of the ZINDO/1 and ZINDO/S semiempirical methods.
HyperChem uses sample data files from Brookhaven National Laboratories, Protein Data Bank.
Additional Protein Data Bank files are used with author approval. Hypercube would like to thankthe following authors for allowing us to redistribute their file structures:
Professor Roberto J. Poljack, Institute Pasteur; author of 1F19.ent.
Professor Dr. R. Huber, MPI f. Biochemie; author of 2PTC.ent.
Dr. Larry C. Sieker, University of Washington; author of 2EST.ent.
Professor T.L. Blundell, Birbeck College; author of 1GCN.ent and 1XY1.ent.
Professor S.H. Kim, University of California at Berkeley; author of 6TNA.ent.
Professor Martha M. Teeter, Boston College; author of 1CRN.ent.
Hypercube would like to thank Eric Drexler, President, Foresight Institute and visiting scholar at
Stanford University, and Ralph Merkle of Xerox Parc for use of the bearing1.hin andbearing2.hin files.

Glossary
In this Glossary, terms in bold have their own entries.
Ab initio. A form of quantum mechanics calculation in which
each orbital is computed as the sum of a set of primitive geometricfunctions (the basis set). By computing the interaction of many
orbital wave functions, ab initio calculations can give very accurate
results, at the cost of requiring large amounts of storage space andrelatively long computation times.
AM1. Austin Model 1. A semi-empirical, SCF method for chemical
calculations. One of the MOPAC methods [Stewart, J.J.P., J. Comp.Aided Molec. Design 4(1):1-108, 1990]. An improvement of the
MNDO method. Useful for organic molecules containing elementsfrom long rows 1 and 2 of the periodic table, but not transition
metals. Generally the most accurate method included inHyperChem. Calculates electronic properties, optimized geometries, total energy, and heat of formation. Reference: Dewar, M.J.S.,
et al., J. Am. Chem. Soc. 107:3902, 1985.
All atom. A molecular mechanics calculation that represents each
atom as an individual particle. Contrast to united atom.
AMBER. Assisted Model Building and Energy Refinement. A
molecular mechanics method, or force field, for chemical calculations. Developed for proteins and nucleic acids. This force fieldprovides both an all atom and a united atom representation. Reference: Weiner, S.J., et al., J. Comp. Chem. 7:230-252, 1986.
Atom type. Atom types represent classes of chemical environments assigned to each atom used in a force field calculation. The
characteristics of an environment include hybridization, formal
charge, and immediate bonded neighbors. For example, the
AMBER atom type C represents an sp2 carbonyl carbon, CT represents a tetrahedral carbon, and CH is a united atom representationof an sp3 carbon including one hydrogen. Each force field has a789

different set of atom types. HyperChem can assign atom types to amolecular system, using rules in chem.rul.
Backbone. The continuous covalent path through a molecule.
For polypeptides, the backbone includes all peptide bonds, alternating with alpha carbons, plus disulphide bonds. For
polynucleotides, the backbone includes all phosphodiester bonds,
alternating with the C3′–C4′ carbons in the sugar (ribose or deoxyribose).
Back end. HyperChem computational software. HyperChem isconstructed in modules, with front-end software running on a PC
and back-end software running on the same PC or another computer. Back-end software includes HyperNewton (AMBER, BIO+,
and OPLS), HyperMM+ (MM+), HyperGauss (ab initio), HyperEHT(Extended Hückel), and HyperNDO (CNDO, INDO, MINDO/3,
MNDO, AM1, and PM3).
BIO+. An implementation of the CHARMM (Chemistry at
HARvard Macromolecular Mechanics) force field, developedin the group of Martin Karplus at Harvard University. A molecularmechanics method, or force field, for chemical calculations.
Developed for proteins. References: Brooks, B.R., et al., J. Comp.
Chem. 4:187-217, 1983; Reiher, W.E., II, Theoretical Studies of Hydrogen Bonding, Ph.D. thesis, Harvard University, 1985.
Bitmap. A screen image composed of individual pixels (dots). A
bitmapped image has the same resolution as the monitor.
Brookhaven Protein Data Bank (PDB). A database of protein
and nucleic acid structures. Information for each molecular structure includes atomic coordinates, atomic connectivity, and references. HyperChem can read in and correctly interpret all PDB files
with atomic coordinate or connectivity information. PDB files
have the extension .ent.
Charge density. Distribution of electronic charge density for amolecule. The shape of a molecule is often associated with a surface of constant charge density. HyperChem calculates charge density as a sum of molecular orbital densities, each the square of theorbital wave function.
Clipboard. The temporary storage area for data and graphics provided by Windows. Cut and Copy in HyperChem place a text
description of atoms onto the Clipboard. Copy Image in HyperChem places graphic images (both metafile and bitmapped) onto

790

Glossary

the Clipboard. You can view the Clipboard contents directly using
the Clipboard program in the Windows Main Applications group.
Click. Press and release a mouse button quickly.
Clipping. Displaying a section through a molecular system in theHyperChem workspace. Hides unwanted foreground and background atoms so you can focus on an area of interest. The section
is called a clipping slab. This is a rectangular box with adjustable
depth, and with height and width equal to the height and widthof the HyperChem workspace. See clipping planes.
Clipping planes. The front and back boundaries of a clippingslab, individually adjustable from 0 Ångstroms (the viewer’s position) to a number of Ångstroms depending on the size and magnification (Zoom factor) of the molecular system.
Clipping slab. A rectangular section through a molecular systembounded by two adjustable clipping planes.
Closed-shell. A molecule with no unpaired electrons.
CNDO. Complete Neglect of Differential Overlap (see NDO). Thisis the simplest of the SCF methods for semi-empirical quantum
mechanics calculations. It is useful for calculating ground-stateelectronic properties of open- and closed-shell systems, geometry
optimization, and total energy. HyperChem uses CNDO/2. Reference: Pople, J. A. and Beveridge, D.L., Approximate Molecular Orbital
Theory, McGraw-Hill, 1970.
Connectivity. Information on the covalent bonding of an atom
to each of its neighbors. PDB files can include this information in
CONECT records. HIN files have this information at the end of
Atom records, in <nbor# nbor-bonds> statements.
Constraint. Constraints for the Model Builder fix values of structural entities when an approximate 3D structure is being built.
These constraints are a high priority for the Model Builder. However, adding excessive constraints can result in some being
dropped.
Convergence. The criterion for ending a chemical calculation. A
semi-empirical SCF mechanics calculation converges (ends) when
the difference in energy after two consecutive iterations is lessthan a convergence limit (default of 0.01 kcal/mol) or the calculation reaches an iteration limit (default of 50). For geometry optimization calculations, the convergence limit is either a number ofcalculation cycles (the default number is 15 times the number ofGlossary791

atoms) or an RMS gradient for the molecular system (default of
0.1 kcal/Ångstrom mol).
Coordinate system. A three-dimensional (3D) space containing
x, y, and z Cartesian coordinates for each atom in a molecularsystem. HyperChem has a Viewer’s Coordinate System and a
Molecular Coordinate System. From the Viewer’s Coordinate System, you can translate and rotate your viewpoint relative to a fixedmolecular system, giving the appearance of a moving molecularsystem. Rotation or translation in the Molecular Coordinate System changes the positions of individual atoms.
Corrrelation Energy. The energy that the Hartree-Fock method
leaves out that descibes the energy coming from the explicit correlation of the positions of electrons, rather than from their average
positions. Ab Initio calculations can compute correlation energies
via second-order Moller-Plesset theory (MP2). Density functional
theory (DFT) gives correlation energies in a self-consistent-field
theory with equations (the Kohn-Sham equations) that resemble
the Hartree-Fock equations. The Kohn-Sham equations require an
exchange functional and a correlation functional. They reduce toHartree-Fock theory when the exchange functional is the HartreeFock functional and the correlation functional is omitted.
Corrrelation Functional. The dependence of the correlationenergy upon the electron density. A formula for relating the electron density to the correlation energy. Density functional theory
proposes methods for computing the exchange and correlationenergy from the electron density.
CPK. Acronym for Corey-Pauling-Koltun; refers to a popular set of
atomic ‘radii’ used for depicting space-filling pictures or building
plastic models.
Cursor keys. The [1] [2] [3] [4] [Home] [End] keys. Use these keys alone,with [Shift], or with [Ctrl]+[Shift] to rotate or translate molecules in theworkspace.
Cursor. The pointer or tool on screen that you move using themouse. Use a cursor to choose items from menus, to draw andmove molecules, to make choices in dialog boxes, and to edit text.
Cycle. During a geometry optimization calculation, the numberof cycles indicates the number of times a calculation takes a new
direction on the potential surface to locate a minimum. Each cycle
includes one or more points, which are calculations to evaluate the792

Glossaryenergy and gradient in this direction. HyperChem reports thecycle number and number of points on the status line.
DDE. Dynamic Data Exchange. A system for exchanging data
between HyperChem and other Windows applications.
HyperChem acts as a server: it supplies information only when aclient application asks for specific data.
Default element. The element the HyperChem Drawing tool uses
to construct molecules. There can be only one default element at
a time, but you can change it as needed.
Density functional. The dependence of the energy upon a function (the elctron density). Different functionals describe a different
dependence upon the electron density. Density functional theory
describes a method of calculating the energy by focussing on theelectron density rather than the wavefunction.
Desktop. The screen display that Microsoft Windows uses topresent windows and icons.
Dialog box. A type of Window for accepting information or displaying a message. The presence of most dialog boxes blocks other
HyperChem functions. You must close these dialog boxes to reactivate HyperChem. Persistent dialog boxes (for example, theAmino Acids dialog box) do not interfere with HyperChem functions.
Dielectric constant. A factor (epsilon) that modifies chargecharge interactions during molecular mechanics calculations. In
the absence of solvent molecules, a distance-dependent dielectric
constant or a “constant” dielectric constant greater than 1
simulates the presence of solvent. In the presence of solvent, as ina hydrated periodic box, the dielectric constant should be Constant, rather than Distance dependent. For a constant dielectric,
epsilon= (permittivity of free space) × (scale factor). For a distancedependent dielectric, epsilon= (permittivity of free space) × (scale
factor) × (interatomic separation). See electrostatic potential.
Drag. Move an object on screen by holding down a mouse button
while moving the mouse. Objects can be molecules or highlightbars in a menu. When you complete the movement, release themouse button. For example, you can move a selected molecule bydragging a translation tool across the HyperChem workspace
while holding the right mouse button. You can hold the left mousebutton and move the mouse pointer through a menu to highlighta menu item. Release the mouse button to choose the item.
Glossary

793

Dynamic Data Exchange. See DDE.
Electrostatic potential. The potential energy at every point inspace arising from a distribution of charged atoms. The electrostatic potential (U) at a distance r from a point charge is given by
Coulomb’s law: U = C q ⁄ ( εr ) , where C is a constant (dependent onunits) and ε is the dielectric constant (or epsilon). For multiple
charges in 3D space (both nuclear charges and electrons in molecular orbitals), this equation becomes appropriately complex.
HyperChem calculates electrostatic potential as the potential
energy of a unit positive charge interacting with the molecular system. In calculating the interaction with electrons in molecularorbitals, HyperChem neglects components due to diatomic differential overlap (see NDO). HyperChem calculates and plots electrostatic potential from the results of single point, semi-empiricalquantum mechanics calculations. You can use these results to predict initial attack positions of protons and other ions during reactions.
Exchange Functional. The dependence of the exchange energy
upon the electron density. A formula for relating the electron density to the exchange energy. Density functional theory proposes
methods for computing the exchange and correlation energy fromthe electron density.
Explicit hydrogens. When Explicit hydrogens is active during
drawing, HyperChem expects all hydrogen atoms to be drawn.
Atoms with only one bond are drawn as hydrogen, rather than as
the default element. This is in contrast to hydrogen atoms addedby the Model Builder after drawing with only heavy atoms.
Force constant. A term in each equation for a force field thattransforms data on atomic coordinates into a potential energy
measurement. For example, for bond stretching energy:
Eb o n d =∑ Kr ( r – r0 ) , where E is potential energy, r is bond length,
2

bonds

r0 is equilibrium (“strain-free”) bond length, and Kr is the force
constant. For each force field, one or more parameter sets define
the force constants and equilibrium geometries (for example, r0).
Force field. A molecular mechanics method for chemical calculations. These calculations can be single point, geometry optimization, or molecular dynamics. HyperChem provides four force
fields: MM+, AMBER, BIO+, and OPLS. A force field has three components: equations defining the potential energy of a molecular
794

Glossarysystem as a function of atomic coordinates, atom types, andparameter sets that fit the equations to experimental data. See theseparate entries for atom type and parameter set.
Front end. See back end.
Geometry optimization. A calculation, using either a molecularmechanics or quantum-mechanical method, to find a minimum
energy (stable) configuration for a molecular system. The calculation adjusts atomic coordinates in steps to find a configuration inwhich net forces on each atom are reduced to zero. This is usuallya local minimum on the potential surface, which may not necessarily be the global minimum.
Global minimum. The configuration of a molecular system withthe lowest potential energy.
Gradient. The rate of change (first derivative) of the energy of amolecular system as a function of atomic positions. A gradient ofzero indicates a configuration with minimum energy a (local or
global minimum or a transition state). When HyperChem reports
a single value for Gradient, this is the RMS gradient of the forceson all atoms.
Ground state. The lowest energy electronic state. See lowest
state.
Group selection. A selection of a subset of atoms, residues, ormolecules in a molecular system. The choice of Atoms, Residues, orMolecules on the Select menu regulates the level of group selection.
With the Selection tool active, you group-select by dragging aboundary around the molecular structures, with both left andright mouse buttons pressed (press left before right). Select Sphereon the Select menu toggles group selection between a 2D and 3D
process. 2D selection involves all atoms projecting onto a 2D
selection rectangle. 3D selection involves all atoms within a spherecentered on an atom.
HIN. HyperChem Input file. This is the principal file type HyperChem uses to store molecular systems. The files have the extension.hin.
HOMO. Highest Occupied Molecular Orbital. This is used as a reference point for describing the position of any molecular orbital as
being at or below this orbital. Molecular orbitals are a linear combination of atomic orbitals (LCAO).

Glossary795

Hückel method. A simple and approximate method for semiempirical quantum mechanics calculations. The Extended Hückel
method used in HyperChem is useful only for single point calculations, not for geometry optimization or molecular dynamic calculations. Extended Hückel calculations produce qualitative orsemi-quantitative descriptions of molecular orbitals and electronic
properties (for example, net atomic charges and spin distributions). This is not a Self-Consistent Field (SCF) method. Reference:
Hoffman, R., J. Chem. Phys. 39(6):1397-1412, 1963.
Icon. A small graphic symbol representing a tool or application
program.
INDO. Intermediate Neglect of Differential Overlap (see NDO).
An SCF method for semi-empirical quantum mechanics calculations. It improves on CNDO by accounting for certain one-center
repulsions between electrons on the same atom. Useful for calculating ground-state electronic properties of open- and closed-shell
systems, geometry optimization, and total energy. Reference:
Pople, J. A. and Beveridge, D.L., Approximate Molecular Orbital Theory, McGraw-Hill, 1970.
Improper torsion. A torsion (dihedral) angle not formed by asequence of three bonds. Some molecular mechanics force fields
use such angles in energy terms to maintain planarity or to prevent
inversion of tetrahedral carbons that have one hydrogen in a
united atom representation.
Inertial axes. The three axes (primary, secondary, and tertiary)associated with moments of inertia for a molecular system or
selected subsystem. The axes are functions of the location andmass of atoms. They belong to the system and are independent of
the Viewer’s or Molecular Coordinate Systems. The primary inertial axis usually marks the longest distance through a molecularsystem, and the tertiary axis usually marks the shortest distance.
Isosurface. A three-dimensional surface which shows where inthree-dimensional space the specified property has a given value;
it is like the skin of a solid object. For example, for the mathematical function s = x2 + y2 +z2, an isosurface plot for s = 1 would givea spherical surface of radius 1; isosurface plots for other values of swould give spherical surfaces of other sizes.
Iteration. In an SCF quantum mechanics method, a calculationof molecular orbitals starts with a guess about the form of theorbitals. Each trial (or iteration) refines the guess for the next trial.

796

Glossary

When the difference between two successive iterations is less thana convergence limit (that you can set), the SCF calculation hasreached convergence.
Label. Information about the components of a molecular system
HyperChem can display with the system. Labels apply either toatoms or residues. Atom labels are Symbol (chemical), Name(according to PDB file conventions), Number (sequence), Type(atom type), Basis Set, Mass, Charge, or Chirality (R or S). Residuelabels are Name, Sequence, or Name+Sequence. HyperChem
applies labels to the current selection.
LINE. A predefined, named selection identifying atoms in theselection, plus the primary inertial axis of selected atoms. (The primary inertial axis corresponds to the smallest eigenvalue of the
moment of inertia matrix.) A molecular system can have only one
LINE selection at a time.
Local minimum. A minimum on the energy surface for a molecular system representing a low potential energy conformation.
Molecular energy surfaces can have many minima, the lowest
being the global minimum. Geometry optimization calculations
can result in a structure at a local minimum.
Log. A file containing the results of a chemical calculation andcomments. HyperChem automatically collects this information if
you choose Start Log on the File menu (see Start Log). The default
filename is chem.log and the file usually has the extension .log.
Lowest state. The lowest electronic state of a particular spin multiplicity; not necessarily the ground state.
LUMO. Lowest Unoccupied Molecular Orbital. This is used as areference point for describing the position of any molecular orbital
as being at or above this orbital. Molecular orbitals are a linear
combination of atomic orbitals (LCAO).
Metafile. An image composed of drawing commands. The resolution of a metafile image does not depend on the monitor, but is theresolution of the output device. For example, if you print a metafile on a laser printer, the resolution may be 300 dpi.
MINDO/3. Modified Intermediate Neglect of Differential Overlap, version 3. This is an SCF method for semi-empirical quantum
mechanics calculations. An extension of INDO, MINDO/3 uses
parameters fit to experimental results, instead of accurate
calculations. Useful for large organic molecules, cations, andGlossary797

polynitro compounds. Calculates electronic properties, geometry
optimizations, and total energy. Reference: Dewar, M.J.S. et al., J.
Am. Chem. Soc. 97:1285, 1975.
MM+. The most general method for molecular mechanics calculations, developed for organic molecules. This is an all atom force
field. MM+ is based on the MM2 (77) functional form, authored by
Dr. Norman Allinger of the University of Georgia. HyperChem
assigns atom types and parameters not normally available toMM2, extending the range of chemical compounds that this force
field can accommodate. MM+ extends MM2 to allow options suchas periodic boundary conditions and molecular dynamics common to other force fields. Reference: Allinger, N.L., J. Am. Chem.
Soc. 99:8127-8134, 1977.
MNDO. Modified Neglect of Diatomic Overlap. This is an SCF
method for semi-empirical quantum mechanics calculations. Useful for various organic molecules containing elements from longrows 1 and 2 of the periodic table, but not transition metals. Eliminates some errors in MINDO/3. Calculates electronic properties,
optimized geometries, total energy, and heat of formation. Reference: Dewar, M.J.S. and Theil, W., J. Am. Chem. Soc. 99:4899, 1977.
Model Builder. The facility in HyperChem that constructs 3Dmodels of chemical structures from 2D drawings. HyperChem uses
built-in rules to assign standard bond lengths, bond angles, torsion
angles, and stereochemistry. The Model Builder also assigns atom
types for the currently active force field, and can automatically
add hydrogens to satisfy valence requirements. These are approximate structures and might require refinement by geometry
optimization.
Molecular dynamics. Calculations simulating the motion ofeach atom in a molecular system at a fixed energy, fixed temperature, or with controlled temperature changes. The result of molecular dynamics calculation is called a trajectory. HyperChem canuse either a molecular mechanics or semi-empirical quantum
mechanics method for a molecular dynamics trajectory. You can
use this calculation to derive a large number of structural and thermodynamic properties, including alternative local minima,energy differences between different configurations, and reaction
mechanisms and pathways.
Molecular mechanics. Various methods for calculating thepotential energy of molecular systems as a function of the coordinates of their atomic nuclei, neglecting explicit treatment of elec798

Glossarytrons. Electronic effects are implicit in the analytic functional
forms and parameterization. All methods use empirical data to
determine individual force constants (for example, bond stretch
constants) and equilibrium (“strain-free”) values for each geometric quantity (for example, bond lengths). HyperChem provides
these methods: MM+, AMBER, BIO+, and OPLS.
Multiplicity. The total spin multiplicity is 2S+1, where S is thetotal electron spin of the system. Each unpaired electron counts
for a spin of +1/2. Paired electrons have a net spin of zero(+1/2 – 1/2 = 0). A closed-shell system has a multiplicity of 1 (singlet). An open-shell system can have a multiplicity of 2, 3, 4 (doublet, triplet, quartet, respectively), or higher. Use integers from 1 to
6 in HyperChem.
Named selection. A set of atoms that have an assigned name,either predefined (POINT, LINE, or PLANE) or any other name up
to 19 characters long. You can use named selections to repeat aselection or to carry out specific operations (for example, inversion, reflection, rotation, averaging and graphing during molecular dynamics, or setting restraints during a calculation).
NDO. Neglect of Differential Overlap. For semi-empirical quantum mechanics calculations, this is a simplification eliminating
many integrals describing the interactions of electrons. The CNDO
method neglects the calculation of all differential overlap integrals. Other NDO methods (INDO, MNDO/3, MNDO, and AM1)
neglect some integrals.
Open shell. A molecular system containing unpaired electrons.
OPLS. Optimized Potentials for Liquid Simulations. A molecularmechanics method, or force field, for chemical calculations.
Developed for proteins and nucleic acids. It is similar to AMBER
but treats nonbonded interactions more accurately. This force fieldprovides only a united atom representation.
Orbital. The function describing the spatial distribution of anelectron. Atomic orbitals describe the electrons in atoms. Molecular orbitals, derived as a linear combination of atomic orbitals(LCAO), describe electrons in molecules.
Parameter set. For molecular mechanics force fields, empiricallyor theoretically derived force constants and structural values
applying to specific bonded combinations of atoms (eachdescribed by an atom type). Each force field might have morethan one parameter set, but you can use only one set at a time. For
Glossary799

MM+, HyperChem supplies parameters when they are not available in the MM2 parameter set.
For semi-empirical calculations, parameter files (with the extension .abp) contain empirical values for the integrals in the calculation.
PDB. See Brookhaven Protein Data Bank.
Periodic box/ boundary conditions. A periodic box is a cube surrounding a molecular system. HyperChem adds standard watermolecules (TIP3P, equilibrated at 300K and one atmosphere) to thebox, providing a constant-density solvent. In molecular mechanics calculations, the box is treated as if it were surrounded by 26
identical boxes (images), each containing the identical molecules.
Atoms in each image experience the same forces (exhibit the same
motions) as the molecules in the central box. If, during a calculation, molecules move out of the box, an identical particle “enters”
from the neighboring image. These periodic boundary conditions
simulate a continuous system with a constant density of molecules. You can remove the water molecules, but retain the periodic
box and boundary conditions, simulating a crystal lattice.
With the HyperChem periodic boundary conditions, an atominteracts only with one nearest image of other atoms and neverwith an image of itself in molecular mechanics calculations.
PLANE. A predefined, named selection identifying the atoms inthe selection, plus the plane formed by the primary and secondary
inertial axes of the selected atoms. A molecular system can have
only one PLANE selection at a time.
POINT. A predefined, named selection identifying the atoms inthe selection, plus the center of mass of the selected atoms. A
molecular system can have only one POINT selection at a time.
Potential (energy) surface. A multidimensional plot of thepotential energy of a molecular system as a function of all variables(degrees of freedom) in the system (for example, bond angles). The
potential surface for a nonlinear molecule with N atoms (greaterthan 2) has 3N–6 independent degrees of freedom (6 = threedegrees reserved for rotation and three reserved for translation of
the whole molecular system). Potential energy surfaces are usuallydiagrammed in only one or two dimensions. A 1D potential surface might show a bond energy versus length. A 2D potential
surface might show a contour plot of energy as a function of two
torsion angles.
800

Important features on a potential surface are minima—which
HyperChem can locate with geometry optimization and molecular
dynamics calculations—and saddle points, which represent structural transition states.
Quantum mechanics. The theory that energy is absorbed or radiated in discrete packets, known as quanta. A consequence of thisis that electrons travel in a limited number of orbitals around an
atomic nucleus, and that each orbital is characterized by a specificenergy. Moving electrons have the properties of particles andwaves. The SchrÖdinger equation and its derivatives describe completely the behavior of electrons and nuclei, and hence the behavior of chemical compounds.
Semi-empirical calculations in HyperChem assume fixed nuclei
and use approximate solutions of the Schrödinger equation, plus
empirical data (parameters), to predict electronic properties ofmolecular systems.
HyperChem’s ab initio calculations solve the Roothaan equations(see the Computational Chemistry reference manual) without any
further approximation apart from the use of a specific finite basis
set. They involve a more fundamental approach to solving the
Schrödinger equation than the semi-empirical methods do.
Rendering. The visual representation of a molecular system. Thisversion of HyperChem provides five types of rendering: Sticks,
Disks, Spheres (CPK-type models), Dots, and Sticks & Dots. Spacefilling renderings use standard CPK radii for the atoms.
RHF. Restricted Hartree-Fock theory. The representation of a wave
function with spin-paired electrons (up-spin and down-spin)
restricted to occupy the same spatial molecular orbitals. Each spatial orbital can also contain single (spin-up or spin-down) electrons.
RMS gradient. Total energy gradient calculated as a root meansquare value. The gradient (G) is the rate of change (first derivative) of total energy (E) with respect to displacement of each atomin the x, y, and z directions. For atoms 1 to n,n

G RMS =

1
∂E 2  ∂E 2  ∂E 2------ ∑   ------ +  ------ 3n ∂x- +  -----∂y 
∂z
i=1

i

i

i

The units are kcal/mol Ångstrom. HyperChem reports this value
for geometry optimization and single point calculations. An
RMS gradient of zero means the structure is at a local minimum
Glossary801

or saddle point in the potential energy surface, not necessarily at
the structure and state of lowest energy (global minimum).
Restraint. Restraints for energetic calculations add restoring
forces to selected atoms. Restraints apply to atomic distances (oneor two atoms), bond angles (three atoms), and torsion angles (fouratoms).
Scale to fit. An item on the Display menu that scales the visible
atoms or molecules to fit into the workspace. If there is a selection, the selected atoms fill the workspace. Without a selection,
HyperChem scales the whole molecular system to fit the workspace.
SCF. Self-Consistent Field. This is an iterative method, used in all
NDO, semi-empirical quantum mechanics calculations. It
accounts for electron repulsion energies in solutions of the
SchrÖdinger equation. The SCF or Hartree-Fock method simplifies
this task by assuming the movements of electrons are independentand that an electron interacts with the mean field of other electrons in a molecule. In HyperChem, all semi-empirical quantum
mechanics methods, except Extended Hückel, are SCF methods.
An SCF calculation begins by estimating the wave function
describing the electron orbitals and electron repulsions. Based on
this guess, HyperChem calculates a new wave function and compares the result with the estimate. HyperChem repeats this processuntil the estimate and the result converge or become “self-consistent.” Each iteration improves the orbitals until the result reaches
a convergence limit.
Script. A set of instructions, stored in a file with a .scr extension,
to run HyperChem. Similar to a macro program in other applications. HyperChem scripts set or read variables, give commands,
and activate menu items. Use a text editor to create a script file,then use the Script menu in HyperChem to run a script.
Self-consistent field method. See SCF.
Semi-empirical. A type of quantum mechanics chemical calculation that uses parameters derived from experiments to simplify thecalculation process.
Single point. A calculation that determines the total energy (inkcal/mol) and gradient of a molecular system or of selected atoms.
With a quantum-mechanical method, a single point calculation
also determines the electron (charge) distribution in the system.

802

Glossary

The calculation represents only the present molecular configuration, a single point on the energy surface for the molecular system.
Snapshot. A record of a single time point in a molecular dynamics simulation. You can instruct HyperChem to take snapshots atregular intervals during the simulation. Coordinates and velocities
for the molecular system are stored in SNP files. You can later playback the snapshots to view the changes in configuration of the system, plot data values, and obtain averages of data values. Data forchosen variables (like total energy or a bond torsion) are stored ina CSV file.
Spin density. The probability of finding more spin-up electrons
than spin-down electrons at a point in space. For a closed-shell system, spin density is zero at every point. HyperChem can plot total
spin density for a molecular system after it performs a single point,semi-empirical or ab initio quantum mechanics calculation. You
can use plots of spin density at the nucleus to predict the results ofelectron spin resonance (ESR) spectra. See spin pairing and multiplicity.
Spin multiplicity. See multiplicity
Spin pairing. Two electrons occupying the same orbital must be
paired and have opposite spins, one up spin and one down spin.
Closed-shell systems contain only paired electrons. Open-shell
systems contain unpaired electrons.
Status line. The line at the bottom of a HyperChem window displaying messages and data.
3D surface. See isosurface.
Tool. A cursor for performing tasks, like drawing or translation, in
the HyperChem workspace. Tool icons are in a column at the left
side of the workspace. L-clicking on a tool icon converts the cursor
into a tool.
Trajectory. The history of atomic motion over time. This term isoften applied to a molecular dynamics simulation. It can be saved
in a snapshot file.
Translation. Movement of a molecule without rotation.
Type rules. Rules for each force field, found in the file chem.rul(or its binary equivalent, typerule.bin), for assigning atom types toindividual atoms or atom groups.

Glossary803

UHF. Unrestricted Hartree-Fock method. A representation of awave function providing separate spatial orbitals for spin-up (α)
and spin-down (β) electrons. Each α or β orbital can accommodate
zero or one electron. You can use UHF calculations for calculating
dissociation reactions of closed-shell systems.
United atom. A simplification of a force field that treats certain
atom groups (heavy atoms like C or N atoms and their bondedhydrogens) as a single atom. United atom treatment requires special atom types incorporating the properties of the constituent
atoms and type rules for assigning these types. United atom representation is optional with AMBER and MM+, automaticallyassigned to many atoms with OPLS, and is the present default for
BIO+. Another term for united atom is extended atom. The alternative to united atom is “all atom,” which represents each atom
separately, with a distinct atom type.
Wave function. See orbital.
Window. A working area on the desktop containing a software
program (like HyperChem). A window has a title bar at the top,
containing the name of the program. Only one window can be
active at a time. The active window receives input from the mouseand keyboard. A dialog box is a type of window.
Workspace. The region of a Window that contains data; forHyperChem, a molecular system.
Z Clipping. See clipping.
Zoom. The HyperChem function that magnifies or reduces thesize of the molecular system in the workspace.
Zwitterion. A molecule with regions of formal positive and negative charge. This is the usual state of polypeptides at neutral pH in
solution, with –NH3+ and –COO– terminal groups. A polypeptide
constructed from a HyperChem database has incomplete,uncharged termini (–N–H and –C–O), unless terminal groups were
used.

804

GlossaryIndexSymbolsA* and ** in basis set name CC-271*ben parameter file RM-660*imp parameter file RM-660*nbd parameter file RM-660*tor parameter files RM-660*typ parameter files RM-660? — Product support GS-20“Default Settings in Registry” on page 673 RM28’**’ atom type CC-215

A form, polynucleotide strand conformation
RM-160Ab Initio
dialog box RM-14
Ab initio
basis set files RM-703–RM-709
ab initio calculations CDK-195, CDK-229
ab initio calculations HM-213
Ab initio calculations, HyperChem tutorial GS219
ab initio d orbitals RM-326
ab initio ghost atoms RM-326
ab initio integral storage RM-103
ab initio method CC-261–CC-278
Ab Initio options RM-318
ab initio quantum mechanics CC-31
Abort warning message RM-359
About HyperChem, Help menu RM-116
absolute energy CC-22
absorption, infrared CC-369
Accelerate convergence HM-182
Accelerate convergence, Semi-empirical Options dialog box RM-306
acceleration, convergence CC-49, CC-116, CC240
acceptance ratio CC-102

Numerics
10–12 potential CC-26
1–4 electrostatic interactions CC-108
1–4 interactions CC-190, CC-204
1–4 van der Waals interactions CC-108
24-bit color RM-100
2D Contours RM-393
2-electron integral storage RM-103
3D Isosurface RM-393
3D isosurface RM-398
3D Rendering RM-264, RM-265
4-31G scale factors, table CC-270
6–12 function CC-26
6–12 potential CC-184

805

ACCR, Selection, Molecular Dynamics Averages dialog box RM-378, RM-379
accumulate selections, Selection tool RM-227
accuracy
atomic charges CC-143
dipole moments CC-140
heats of formation CC-136
proton affinities CC-137
rotational barriers CC-139
UV-visible spectra CC-152
vibrational frequencies CC-149
Accuracy of results HM-242
Acetyl (Ace), amino acid residues RM-143
Activation energies CC-339
activation energy CC-17, CC-139
Add
Counter Ions RM-162, RM-499
Databases menu RM-140
Hydrogens RM-123
Build menu RM-117
Restraint Forces dialog box RM-341
Add H & Model Build, changes to Model Build
RM-479adding atoms/bonds RM-472
adding comments to Log file RM-617
adding hydrogen atoms RM-30, RM-477
adding new residues RM-739–RM-741
adding unusual residues RM-496, RM-501
affinities, proton CC-137
Alanine (Ala), amino acid residues RM-142
alanine zwitterion
creating isolated structure GS-148–
GS-157minimized structure GS-163
optimizing solvated structure GS162
solvating GS-158
Algorithm, Compute menu RM-364
align CDK-215
Align Molecules

806

dialog box RM-216–RM-218
Edit menu RM-202
Align Molecules on Edit menu GS-180
Align Viewer RM-19
dialog box RM-215–RM-216
Edit menu RM-202
All Atom force fields CC-28
All Atoms RM-129
Build menu RM-118
all atoms CC-178, CC-197, CC-202
Allow Ions ??–RM-126
Element Table dialog box RM-122
Allow ions option GS-47
Alphapolynucleotide torsion angle RM-160
alpha electrons CC-38
alpha helix
creating GS-99
displaying GS-118–GS-119
Alpha helix, residues conformation RM-144
alpha spins CC-46
Alpha, Orbitals dialog box RM-402
am*hbd parameter file RM-661
AM1 CC-123, CC-132, CC-156, CC-249, CC305–CC-306
elements treated by RM-302
parameter files RM-690–RM-693

Semi-empirical Method dialog box
RM-299AMBER CC-105, CC-110, CC-176, CC-197
file structure RM-744
force field GS-129, GS-130–GS-131

Molecular Mechanics Force Field
dialog box RM-290–RM-291
settings RM-749–RM-751
Amber CDK-102
amber,amber2, file structure RM-744, RM750–RM-751
amber,amber3, file structure RM-750–RM-751
amber,ambers, file structure RM-750–RM-751

amino acid CDK-223
Amino Acids
dialog box RM-14
amino acids

building peptides from GS-92
conformation changes RM-496
mutation RM-496
for polypeptide construction RM141–RM-142
Amino Acids dialog box GS-91–GS-92, RM140, RM-142–RM-145, RM-504
residues RM-141
amino acids, adding RM-739
Amino Acids, Databases menu RM-139–RM141, RM-494
residues RM-142–RM-145, RM-735–
RM-737amount of Z Translation RM-45
analyzing HyperChem results RM-618
Anderson, W.P., Edwards, W.D., Zerner, M.C.
and ZINDO/1 RM-680
angle bending CC-182, CC-193, CC-198, CC203, CC-221
angle bending, sextic CC-193
angle, atomic coordinates for TPL file RM734–RM-735
Angle, Rotate dialog box RM-210
anharmonicity CC-149
animate CDK-230
Animations, See AVI
annealing time, molecular dynamics CC-92
annealing, simulated CC-81, CC-360
annealing, trajectory CC-346
anti-parallel spins CC-288
application
DDE CDK-108
applications RM-604–RM-605
DDE RM-604–RM-605
applying restraints RM-343
Approximation, weak coupling HM-183, HM250

Architecture CDK-8
architecture, HyperChem CC-161
Arginine (Arg), amino acid residues RM-143
argument CDK-30, CDK-31, CDK-51, CDK98
command line RM-3
arguments, for variables and commands RM516–RM-517
aromatic rings, torsion angles and multiple RM131
array RM-581
array HSV CDK-33
Arrow keys HM-89
Asparagine (Asn), amino acid residues RM-143
Aspartic acid (Asp), amino acid residues RM143
Assistance, product GS-20
asterisk in basis set name CC-271
atom coordinates CDK-165, CDK-187, CDK192, CDK-199, CDK-220
Atom labels HM-96, HM-168
Atom number, Select menu RM-224
atom numbering CDK-30, CDK-59, CDK-100,
CDK-195
Atom rendering HM-96
Atom rendering options HM-168
Atom rendering, colors HM-188, HM-192
Atom rendering, radii HM-189, HM-193
Atom type files HM-186, HM-194
atom types CC-176, CC-177
displaying GS-155
Atom types, calculate HM-155
atom types, new or changed CC-180
Atom types, setting HM-105
Atom typing rules HM-194
atom velocities CC-76
atom, HIN file syntax RM-717
Atom, Numbers, Select dialog box RM-236
ATOM, record in PDB-type files RM-505
atomic charges CC-143, CC-192
assigning GS-151–GS-152
calculating GS-202

807

displaying GS-182
Atomic charges, MM+ Options dialog box RM292
atomic coordinates RM-734–RM-735
See also files, syntax for HIN; Molecular Coordinate System

atomic mass CC-178
atomic movement, Monte Carlo RM-371
atomic orbital electron populations
in log file RM-632, RM-633
Atom-name# (TPL file)atomic coordinate RM-735
bonding information RM-733
atoms RM-30, RM-223–RM-225
adding hydrogen RM-478
boundary GS-213
characteristics GS-84–GS-85
deleting/deselecting GS-54
drawing GS-46–GS-47
editing GS-82
group selection GS-53–GS-55
individuals edited GS-64–GS-65
labeling GS-63–GS-64
by number GS-81
by symbol GS-83
name, Select menu RM-223
names for TPL file RM-732
numbering RM-237
pseudo-atoms GS-213–GS-214
selected by name RM-236
selecting GS-51–GS-53
selecting by number RM-236–??
selecting in 3D rectangle GS-107
Selection level RM-32
spherical selection GS-108–GS-110
tag numbers in TPL file RM-732–
RM-733types RM-654

808

typing rules RM-655
Atoms, available HM-81
atoms, fixed CC-86
Atoms, Labels dialog box RM-281
Atoms, Select menu RM-221
atoms, unknown type CC-215
Atom-typein TPL file RM-734
Select menu RM-224
Aufbau principle CC-43, CC-51
Austin Model 1 See AM1
automatic operation with scripts RM-509
Average/graph period, Molecular Dynamics
Averages dialog box RM-380
Averages
averages files. See also Molecular Dynamics

Molecular Dynamics Averages dialog box RM-380
Molecular Dynamics Options dialog box RM-369–RM-374
averages, molecular dynamics results CC-88
averaging, dynamics data CC-351
averaging, dynamics, deviations CC-354
Avg. & Graph, Molecular Dynamics Averages
dialog box RM-379
AVI Movie RM-376
axial hydrogens GS-141
measuring GS-139

B
B form, polynucleotide strand conformation
RM-160back end CDK-8, CDK-11, CDK-16, CDK137, CDK-187, CDK-191, CDK-206,
CDK-222, CC-161
remote CDK-18, CDK-222
backbonecoloring GS-104
displaying GS-104, GS-117
selecting GS-102–GS-103

backbone display RM-261
background color RM-95
Backward, polynucleotide strand formation
RM-161–RM-162
Bacon, A.D. and Zerner, M.C.
and ZINDO/1 RM-680
Ball Radius, Balls Options dialog box RM-264
Balls and Cylinders, Rendering dialog box RM259
Balls options RM-263
Balls, Rendering dialog box RM-259
Bar chart, coupling constants HM-138
Bar chart, peak information HM-129
Bar chart, plotting HM-155
Bar chart, shielding constants HM-138
Bar chart, spectral data HM-139
Bar chart, table data HM-170
barrier, rotational CC-139
barriers, potential CC-84
barriers, reaction CC-33
BAS file CDK-154
base pairs, unusual RM-500
basics, HyperChem RM-17–RM-25
Basis function, extra RM-316
basis functions, extra RM-328
basis functions, non-nuclear CC-120
Basis set
Atoms, Labels dialog box RM-282
basis set CDK-197, CDK-229, CC-45
Basis set assignment RM-316, RM-318
basis set superposition effects CC-120
basis set superposition error (BSSE) CC-278
basis set, creating RM-709
basis set, HIN file syntax RM-719
basis set, minimal CC-265
basis set, split-valence, table of KLM values
CC-268basis sets
references CC-114
selection CC-113
basis sets, references CC-226
basis sets, split-valence CC-268
bath relaxation constant CC-74

Bath relaxation, Molecular Dynamics Options
dialog box RM-372
Betapolynucleotide torsion angle RM-160

sheet, amino acid residue conformation RM-144
beta electrons CC-38
beta spins CC-46
Beta, Orbitals dialog box RM-403
Bibliography HM-252
bibliography, computational chemistry CC-2
binary communication CDK-139, CDK-141
binary message CDK-141
binding energy CC-135
in log file RM-633
BIO+ CC-105, CC-176, CC-202
force field RM-291

Molecular Mechanics Force Field
dialog box RM-291
biphenyl RM-131, RM-654
Bipyramidal, Constrain Geometry dialog box
RM-135biradicals CC-47
bitmap RM-613
graphics RM-631
use RM-615
Bitmap file format, Setup Image RM-100
bitmap preferences RM-99
black box — not CC-164
black-and-white output RM-105, RM-395
block CDK-146
block diagonal method CC-62
block diagonal Newton-Raphson optimization
CC-338block diagonal Newton-Raphson optimization
method RM-366
BMP. See bitmap
boat cyclohexane
geometry optimization GS-140
Boltzmann distribution CC-19, CC-95, CC343, RM-384
bond CDK-57, CDK-217, CDK-219, CDK809

220, CDK-221
bond angle bending CC-183
bond angles CC-23
measuring GS-86–GS-87
bond angles and bending energy
in log file RM-638
bond breaking CC-47
bond breaking/formation, simulation CC-93
Bond Color RM-96
bond dipoles CC-107, CC-192
Bond dipoles, MM+ Options dialog box RM292
bond dissociation CC-38
bond distances
measuring GS-85
bond formation and breaking CC-22
bond length and stretching energy
in log file RM-638
bond orderchanging GS-60–GS-62
Bond rendering HM-99
Bond rendering options HM-168
bond rotation RM-39
bond stretch CC-182
bond stretching CC-183, CC-191, CC-198, CC202, CC-218
bond torsions and torsional energy
in log file RM-638
bond-breaking CDK-56
bond-centered basis functions, see ghost atoms
bond-centered orbitals CC-278
bonded neighbors CC-177
bonding information. See HyperChem Input files;
template files

bonding interactions CC-182
bonds CC-23

angle in parameter file RM-666–RM668

changing the order RM-475–RM-476
hydrogen GS-89, GS-122–GS-123
length in parameter file RM-665–RM810

666

measuring distances GS-85
See also Constrain entries
torsion constraint, rebuilding molecule GS-142
bonds, automatic generation RM-82
bond-type, bonding information for TPL file
RM-733
books CDK-160, CDK-174, CDK-195
Tcl CDK-96
books on Tcl CDK-23
Boolean arguments CDK-30, CDK-51, RM517
Borland CDK-3, CDK-149, CDK-150
Born-Oppenheimer approximation CC-11, CC33, CC-168
boundary atoms GS-213
boundary conditions, periodic, theory CC-210
bovine pancreatic trypsin inhibitor GS-209–
GS-210box, HIN file syntax RM-716
box, removing periodic RM-339
BPTI See bovine pancreatic trypsin inhibitor
breaking bonds, simulation CC-93
Brillouin’s Theorem CC-41, RM-310
Broadband decoupled spectrum HM-107
Brookhaven PDB See Brookhaven Protein Data
Bank
Brookhaven Protein Data Bank GS-113, RM80, RM-84, RM-503–RM-507
format GS-33
opening files from GS-114–GS-115
reading files from GS-210–GS-211
Save File dialog box RM-83
BSSE CC-120, CC-278
bug or error reporting GS-20
Build menu RM-117–RM-119
Calculate Types GS-152
Constrain Bond Torsion GS-201
Constrain Geometry GS-85
Default Element RM-29

Explicit Hydrogens RM-30
script messages RM-529–RM-532
Set Atom Type GS-85
Set Charges GS-85, GS-182
building

polypeptides GS-92
building 3D structure GS-83–GS-84, GS-153–
GS-155building chair cyclohexane GS-132–GS-133
building molecules
menu items RM-117–RM-192
from residues RM-492–RM-501
butadiene RM-654
butadiene, modeling CC-220
button CDK-98, CDK-104, CDK-197
button code CDK-106
Button, control-menu HM-143
Button, maximize HM-143
Button, minimize HM-143
Button, restore HM-144
By name, Select dialog box RM-233
bypassing a dialog box CDK-51

C13

C HM-81, HM-82, HM-107, HM-111, HM119, HM-178, HM-183, HM-185
C CDK-95, CDK-137, CDK-138, CDK-160
C++ CDK-95, CDK-138, CDK-149, CDK-159
C60 CDK-58, CDK-114
Calculate atom types HM-155
Calculate Types RM-129
Build menu RM-118
Calculate Types on Build menu GS-152
calculation methods
molecular mechanics RM-289
Calculation of NMR spectra HM-118
Calculation options HM-105
Calculation options, SCF HM-112
Calculation options, setting up HM-136
Calculation options, shielding and coupling
HM-157
calculation types CC-16

Calculation, chemical shifts (theory) HM-242
Calculation, starting HM-114, HM-137, HM158
calculations
mixed GS-211
calculations, ab initio RM-318
Calculations, detailed results HM-210
calculations, HyperChem tutorial GS-127–GS128
calculations, mixed mode CC-256, RM-334
Calculations, mixed-mode HM-82
callback CDK-131, CDK-156, CDK-157,
CDK-165
CambridgeSoft ChemDraw Files
open RM-80
Cancel RM-425–RM-469
script messages RM-573
cancel CDK-207, CDK-212
Cancel button CDK-46
Cancel menu CDK-46
cancel-notify CDK-30
canonical ensemble CC-74
Capping atom, quantum/classical boundary
HM-82, HM-132
capping atoms CC-256, CC-258–CC-260
caps for residues RM-158, RM-159
caption CDK-212
carboxyl group solvation GS-203–GS-204
Cartesian Gaussians CC-272
case
preferences RM-15
sensitivity RM-511, RM-656
CDK CDK-1
Components CDK-2
Cells, replace table HM-154, HM-167
center of massin log file RM-638
centering molecules GS-74
center-of-mass CDK-55
chair to boat cyclohexane transformation GS137–GS-138
change-user-menuitem CDK-37
811

changing chirality RM-485
changing molecular conformation RM-481–
RM-486changing/choosing drawing elements RM-29
ChargeAtoms, Labels dialog box RM-282
on status line RM-224
in TPL file RM-734
charge CDK-220, CDK-221, CDK-222
Charge density RM-393
charge density CC-140
Charge on molecule HM-181
charge, formal CC-177
charge-charge interaction CC-201
charges, atomic CC-143, CC-192
charges, keep atom RM-545
charges, point CC-107
CHARMM CC-105, CC-110, CC-202
file structure RM-745
force field RM-662
settings RM-755–RM-758
charmm, charmm85, file structure RM-745
charmnpr parameter file RM-661
Chart table data HM-170
Chart, coupling constants HM-138
Chart, peak information HM-129
Chart, plotting bar HM-155
Chart, shielding constants HM-138
Chart, spectral data HM-139
check a box, using keyboard alternatives RM10
chem.exe, program file RM-621
chem.ini/Registry, default settings in RM-743–
RM-785chem.rul CC-178
chem.rul, atom typing file RM-653
CHEM.SCR CDK-53
chem.tpl, HyperChem TPL file RM-727
chemct.tpl, HyperChem TPL file RM-727
ChemDraw files
open RM-80
ChemDraw files, reading RM-81
812

chemical calculations RM-287–RM-469
chemical environment CC-177
chemical equilibrium CC-137
chemical reactions CDK-56, CC-33, CC-360–
CC-363chemical reactivity CC-144
Chemical shift view HM-145
Chemical shifts, calculation (theory) HM-242
chemnt.tpl, HyperChem TPL file RM-727
ChemPlus CDK-16, CDK-54, CDK-117
Chi, polynucleotide torsion angle RM-160
chirality CDK-192, RM-29, RM-207, RM-208,
RM-482changes RM-485
evaluated with Model Builder RM487
chirality, changing GS-236
Chirality, Labels dialog box RM-282
choice RM-30
choosing a dialog box option, using keyboard
alternatives RM-10
choosing a menu item, using keyboard alternatives RM-9choosing conformations, amino acid residues
RM-495
CI CC-243, CC-245
CI energy
in log file RM-633
CI Method, Configuration Interaction dialog
box RM-309
CI singles calculations RM-300, RM-412, RM415
Cis, Constrain Bond Torsion dialog box RM139
clamped-nuclei approximation CC-168
classical mechanics CC-172
classical perturbation CC-277
classical trajectory analysis CC-360
Classical/quantum calculations HM-82
classical-quantum boundary GS-213–GS-214
Classification of Hcl Commands CDK-205
Clearremoves atoms from workspace
RM-201, RM-203
Clear on Edit menu GS-55
Clear workspace HM-153
click definition RM-31
client CDK-108, CDK-213
client-server CDK-8, CDK-16
clip increment RM-97, RM-98
Clipboard RM-101

See also Cut
choosing image destination RM-613
destination, Setup Image RM-101
graphics stored RM-101, RM-203–RM205, RM-613–RM-614
use RM-613–RM-614
clipboard CDK-218
copying to GS-56
Clipboard, copying results to HM-103, HM137
clipping CDK-208
clipping slab RM-47
changing GS-76–GS-79
default GS-76
close a dialog box, using keyboard alternatives
RM-10
close a menu, using keyboard alternatives RM9closed-shell singlet ground states CC-39
Closing HyperNMR HM-104, HM-154
CNDO CC-123, CC-132, CC-154, CC-249,
CC-252, CC-284–CC-288
elements treated by RM-301
parameter files RM-679, RM-684–RM685
CNDO computation method GS-182
CNDO mixed model CC-287
coefficients, MO, initial guess RM-325
cold link CDK-122
collision
reactive CDK-55
Color

Display menu RM-249
Selection Color dialog box RM-282–
RM-283color CDK-217
Color preferences HM-165
color, bond RM-96
color, selection RM-96
color, window RM-95
colorsdefault RM-293

Element Color dialog box RM-284–
RM-285saving images RM-614
Colors, atom rendering HM-188, HM-192
colors, isosurface settings RM-102
Colors, window and object HM-154
command line argument RM-3
command substitution in Tcl CDK-97
Commands
Help menu RM-115
script message syntax RM-516
comma-separated values file CC-355
Comments
Log Comments dialog box RM-92
Open File dialog box RM-80
Run Script dialog box RM-106
Save File dialog box RM-83, RM-85
communicating CDK-137
communication CDK-108, CDK-222
communication channel CDK-122
Communication files HM-186, HM-199
Comparison with experimental results HM-242
Compile Type Rules RM-130
Build menu RM-118
compiled scripts CDK-54
Complement Selection RM-232
Select menu RM-221
Selection tool RM-34
Complement Selection on Select menu GS-106,
GS-115, GS-166
complementing a subset GS-106
813

Complete Neglect of Differential Overlap (CNDO) CC-249
Complete Neglect of Differential Overlap. See
CNDO

computational modules CC-161
Compute Menu HM-158
Compute menu RM-357–RM-416
Geometry Optimization GS-135, GS140, GS-143, GS-156, GS-174
Molecular Dynamics GS-168
script messages RM-556–RM-568
Single Point GS-134
Compute shielding and coupling HM-114
Computed
Restraint Forces dialog box RM-341,
RM-342Computed values

Constrain Bond Angle dialog box
RM-138Constrain Bond Length dialog box
RM-137

Constrain Bond Torsion dialog box
RM-139Constrain Geometry dialog box RM134
CONECT

connectivity records RM-85
Creating PDB-type files RM-506
configuration interaction CDK-230, RM-327
Configuration Interaction (CI) CC-39, CC-243,
CC-245
configuration interaction (CI)practical applications RM-310
Configuration Interaction dialog box RM-308–
RM-310Configuration interaction, Semi-empirical Options dialog box RM-307
Configuration, WIN.INI HM-78
configurations
number of in log file RM-633

814

configure CDK-104
conformation, Beta sheet GS-92
conformational searching CC-80, CC-90
conformations for residues RM-495, RM-499
conjugate gradient CC-61
conjugate gradient optimization CC-126, CC336
connected to expressions, type rules syntax
RM-657
Connectivity
CONECT records RM-85
Creating PDB-type files RM-506
conservation, energy CC-73, CC-128
console applications CDK-10, CDK-155
console programs CDK-160
Console window CDK-191
constant energy CC-89
constant temperature CC-74, CC-90
Constant temperature, Molecular Dynamics
Options dialog box RM-372
constant temperature/energy CC-80
Constrain Bond Angle RM-137
Build menu RM-119
dialog box RM-138
Constrain Bond Length RM-136
Build menu RM-119
dialog box RM-137
Constrain Bond Torsion RM-138–RM-139
Build menu RM-119
dialog box RM-139
Constrain Bond Torsion on Build menu GS-201
Constrain Geometry RM-133–RM-136
Build menu RM-119
dialog box RM-134–RM-136
Constrain Geometry on Build menu GS-85
constraint CDK-220
constraints CDK-219
Model Builder RM-482
constructing molecules RM-471–RM-501
Continue warning message RM-359
contour CDK-232

Contour Grid RM-395
Contour Grid property sheet RM-395–RM-396
Contour Level, isosurface RM-397
Contour levels RM-395
contour plots CC-253
contours GS-185
contours, 2D RM-393
contracted Gaussian functions CC-263, CC-264
Control menu button GS-29
control structures CDK-55, CDK-64
Control-menu box, HyperChem windows RM5Control-menu button HM-87, HM-143
controls
VB CDK-120
Conventional semi-empirical methods HM-226
Converged, status line, geometry optimization
RM-363convergence CDK-227, CDK-229, CC-239
Convergence acceleration HM-182
convergence acceleration CC-49, CC-116
convergence criteria CC-63
convergence limit CC-116
Convergence limit, SCF HM-181
Convergence limit, Semi-empirical Options dialog box RM-306
convergence, SCF CC-49
converting 2D structures to 3D RM-487
Cool steps, Monte Carlo RM-371
Cool time, Molecular Dynamics Options dialog
box RM-371
cooling time, molecular dynamics CC-92
cooling, dynamics CC-75
cooling, trajectory CC-346
coordinate data RM-623
HIN file RM-717
SNP (snapshot) files RM-627–RM629
TPL file RM-734
Coordinate systems HM-152
coordinate systems RM-18–RM-19
coordinated ring, orientation restraint RM-343

coordinates

in log file RM-632, RM-633
coordinates of an atom CDK-104
coordination CDK-221
Copy Image RM-206, RM-614
for the Clipboard RM-206
CPK (spheres) rendering settings inchem.ini/Registry RM-781
Edit menu RM-201
for a file RM-206
Copy structure or picture HM-154
Copy structures
onto Clipboard RM-203, RM-480
Edit menu RM-201

onto Clipboard in ISIS format RM204
Copying an image HM-103
core Hamiltonian matrix
in log file RM-632
core Hamiltonian MO coefficients CC-276
core orbitals CC-45
core-core interaction
in log file RM-633
correlation energy CC-39
coulomb field, external CC-256
Coupling constants, calculating HM-113
Coupling constants, option HM-106
Coupling constants, plotting HM-138
Coupling constants, viewing HM-117, HM138, HM-155
Coupling, nuclear spin HM-222
covalent radii CC-219
CPK spheres RM-259
Crambin, sample PDB file RM-506
create-atom CDK-59, CDK-219
creating
2D sketch GS-81
a Visual Basic form GS-270–GS-272
alpha helix GS-99
isolated alanine zwitterion GS-148–

815

GS-158
polypeptides GS-91–GS-98

small molecules, 2D/3D GS-57–GS67

water molecule GS-179–GS-180
zwitterion GS-93–GS-94
creating PDB-type files RM-504–RM-506
creating unusual base pairs RM-500
creating zwitterions RM-495
cross-eyed stereo viewing RM-269
setting in chem.ini/Registry RM-782
cross-linking with Cyx RM-495
cross-references to scripts messages RM-584
CSV file CC-355
cubic stretch CC-176, CC-191
cubic stretch constantin log file RM-638
current-file RM-519
cursor CDK-218
Cursor, Setup Image RM-102
cursors CDK-208
custom menus CDK-6, CDK-9, CDK-21,
CDK-24, CDK-37, CDK-38
customizing HyperChem CDK-1, CDK-4,
CDK-8, CDK-207
custom-title CDK-47
cut
cutting and pasting atoms RM-479

moves atoms from workspace to
Clipboard RM-203, RM-479–
RM-481Cut, Edit menu RM-201
cutoff CDK-223, CDK-229
cutoff, two-electron integral CC-275
Cutoffs

Force Field Options dialog box RM295

MM+ Options dialog box RM-292
cutoffs with periodic boundary conditions RM337
cutoffs, nonbonded CC-66, CC-108, CC-189
816

cutoffs, nonbonded potential CC-29
cutting and pasting atoms RM-479–RM-481
Cycles, geometry optimization
status line report RM-363
Termination condition RM-366
cycles, optimization CC-63
Cycles, transition state search
Termination condition RM-388
cyclohexane
building chair form GS-132
building twist boat form GS-141
chair to boat transformation GS-137–
GS-138geometry optimization GS-129

structural properties of chair form
GS-133
Cylinders options RM-262
Cylinders rendering RM-263
Cysteine (Cys), amino acid residue RM-143
Cystine (Cyx)amino acid residue RM-143
cross-linking RM-495
Cytochrome C (3CYT), sample PDB files RM506

D
D EKIN, Selection, Molecular Dynamics Averages dialog box RM-378
D EPOT, Selection, Molecular Dynamics Averages dialog box RM-379
D ETOT, Selection, Molecular Dynamics Averages dialog box RM-379
D Named selections, RMS deviation, Molecular
Dynamics Averages dialog box RM-379
d orbital sets RM-326
d orbitals, ab initio CC-119
d Orbitals, Hückel method CC-122
d orbitals, Semi-empirical Options (Hückel) dialog box RM-305
D TEMP, Selection, Molecular Dynamics Averages dialog box RM-379
dA, nucleotide residue RM-159

dashed lines RM-105, RM-395
Data collection period, Molecular Dynamics
Options dialog box RM-373
Data file, starting HM-113
Data file, stopping HM-122
Data input HM-75, HM-81, HM-89
data variable messages RM-573–RM-577
Databases menu RM-139–RM-141, RM-493–
RM-496
Amino Acids RM-493–RM-496
Nucleic Acids RM-497–RM-499
script messages RM-542–RM-545
DBF files, parameters CC-206
dbf force field parameter files RM-653
dC, nucleotide residue RM-159
DDE CDK-7, CDK-9, CDK-12, CDK-34,
CDK-107, CDK-119, CDK-127,
CDK-137, CDK-154, RM-509–RM609
Network CDK-17
DDE communication CDK-156
DDE conversations CDK-108, CDK-115
DDE server CDK-108
DDE. See also Dynamic Data Exchange
DDE_ ADVISE CDK-109
DDE_ EXECUTE CDK-109
DDE_ REQUEST CDK-109
DDE_ADVISE, data update request RM-605
DDE_EXECUTE CDK-111, CDK-117
DDE_EXECUTE, executes HyperChem RM604
DDE_INITIATE CDK-109
DDE_INITIATE, starts HyperChem RM-604
DDE_REQUEST CDK-117
DDE_REQUEST, information from HyperChem RM-605
DDE_TERMINATE, ends conversation with
HyperChem RM-605
DDE_UNADVISE, data value to HyperChem
RM-605
Deamino-oxytocin, sample PDB file RM-507
declarations CDK-214
Decoupled NMR HM-106

Default

colors RM-293
Restraint Forces dialog box RM-340–
RM-342

settings, in chem.ini/Registry RM743–RM-785

Starting value, Grid Control dialog
box RM-395
Default (VDW), Balls Options dialog box RM264
Default Element RM-120–RM-122
on Build menu RM-30, RM-117
changes RM-474
dialog box RM-14, RM-122
Allow ions, Build menu RM-121
Element Table dialog box GS-179,
RM-30
Explicit Hydrogens RM-30
Default force field RM-131
default force field CC-216
default menus CDK-44
default MM+ force field CC-214
default orbital exponents, table CC-280
default scheme CC-190
Default settings, HyperNMR HM-186, HM187
Degeneracy, Electronic Spectrum dialog box
RM-414degenerate state CC-40
deleting
atoms GS-55
bonds GS-55
Delta, polynucleotide torsion angle RM-160
density matrices
in log file RM-633, RM-634
density, charge CC-140
density, electron CC-54
density, spin CC-55
deselect a group of atoms, Selection tool RM33

817

deselect backbone atoms, Selection tool RM-33
deselecting
atoms GS-54
Deselecting atoms HM-102
Destination, Setup Image dialog box RM-101
Detailed results of calculations HM-210
Deuterium HM-82, HM-111, HM-178
development CDK-159, CDK-173
dG, nucleotide residue RM-159
Dialog Box
Open Log RM-90
dialog box CDK-51, CDK-196
dialog boxes
HyperChem RM-13–RM-14
persistent RM-14
removal RM-13
dielectric constant CC-27, CC-87, CC-188
in log file RM-638
dielectric constant, distance dependent CC-188
dielectric functions CC-107
dielectric options GS-161–GS-162
dielectric permittivity CC-188
diff, status line RM-363, RM-369
diffusion constant, solvent CC-95
diffusion limited aggregation CDK-204
dihedral angle CC-195, CC-198, CC-203
dihedral angle rotation CC-182
dihedral angles CC-183, CC-221
dihedral potential CC-25
dihedrals, improper CC-184
DIIS convergence acceleration HM-182
DIIS convergence accelerator CC-116, CC-240
dipole CDK-231, RM-692
dipole interaction energy
in log file RM-638
dipole moment CDK-102, CDK-211, CC-54,
CC-140, CC-250, CC-287
in log file RM-638
dipole moment, displaying RM-280
Dipole moment, importing RM-92
Dipole moment, storing RM-93
dipole, oscillating electric CC-369
818

dipole, transition CC-369
dipole-dipole interactions CC-187
dipole-moment CDK-28, CDK-49, CDK-216,
CDK-221dipolesin log file RM-633
dipoles, bond CC-107, CC-192
direct command CDK-49, CDK-66, CDK-140
direct commands CDK-205
Direct Inversion in the Iterative Subspace (DIIS) CC-49, CC-240
Direct Inversion of Iterative Subspace (DIIS)
convergence acceleration HM-182
direct SCF calculation CC-119, CC-275
directories, changing GS-35
Directory
Open File dialog box RM-79–RM-82
Save File dialog box RM-83–RM-85
Directory, change HM-91
Disks RM-264
Disks rendering HM-97
Disks, see Balls
dispersion forces CC-182
Display color preferences HM-165
Display menu GS-37, RM-248–RM-249
Overlay GS-167
Recompute H Bonds GS-206
Scale to Fit GS-74
script messages RM-536–RM-541
Show All GS-105
Show Hydrogens GS-66
Show Selection Only GS-117
Display options HM-167
Display preferences HM-154
display settings
using GS-37–GS-43
Display, rendering options HM-155
displaying
alpha helix GS-118–GS-119
atom types GS-155
atomic charges GS-182

backbone GS-104
disulfide bridges GS-119–GS-121
hydrogen bonds GS-122–GS-123
PDBs GS-210–GS-211
polypeptides GS-92
primary structure GS-116
ring structures GS-121
side chains GS-105, GS-117
solvated system GS-160–GS-162
subsets GS-99–GS-112
displays, setting conditions RM-95–RM-97,
RM-611
dissociation, bond CC-38, CC-47
Distance dependent dielectric, Force Field Options dialog box RM-293
distance, atomic coordinate in TPL file RM-735
distribution function CC-100
disulfide bridges
displaying GS-119–GS-121
DLL CDK-119, CDK-129, CDK-139, CDK149, CDK-151, CDK-176
DNA B form, sample PDB file RM-507
DNA backbone display RM-261
DNA/RNA construction RM-497–RM-501
docking molecules CC-86, RM-82
Done, Molecular Dynamics Results dialog box
RM-380–RM-382
d-orbitals on 2nd row, option HM-172
dot surface CDK-216
Dots, Rendering dialog box RM-259
double buffering, in chem.ini/Registry RM-781
Double Strand, polynucleotide strand conformation RM-161
double zeta CC-270
double-click definition RM-9
doublet CC-116, CC-229, CC-242
doublet open-shell ground states CC-39
doubly occupied orbitals
in log file RM-632, RM-633
drag definition RM-8
drawing

2D sketch GS-58
atoms GS-46–GS-47
basic techniques GS-45–GS-56
bonds GS-48–GS-51
drawing method RM-258
drawing mode GS-47, GS-81
drawing molecules RM-29, RM-471–RM-481
Drawing tool GS-58, RM-29–RM-30, RM-471
changing RM-473–RM-475
icon, mouse clicks RM-29
molecules creation RM-18
Dreiding force field CC-216
Drive names
Open File dialog box RM-79–RM-81
Run Script dialog box RM-106–RM107
Save File dialog box RM-83–RM-86
driving HyperChem
from Excel GS-253–GS-267, GS-279–??, GS-287–??, GS-299–??
from Visual Basic GS-269–GS-276
dT, nucleotide residue RM-159
d-type functions, number CC-272
dummy atoms RM-343
Dynamic Data Exchange CDK-107, CDK-127,
RM-509–RM-609
integrating HyperChem RM-509
Dynamic Link Library CDK-8, CDK-119,
CDK-149, CDK-176
dynamics data, averages CC-349
dynamics results file CC-355
dynamics sampling interval CC-82
dynamics, molecular CC-71
dynamics, periods CC-75
dynamics, quenched CC-80

E
Edit Menu HM-154
Edit menu RM-201–RM-220
Align molecules GS-180
Clear GS-55
819

Copy GS-55
Reflect GS-138
script messages RM-526–RM-528
editing

2D sketch GS-82
alanine zwitterion structure GS-149–
GS-150atoms GS-64–GS-65, GS-82
basic techniques GS-45–GS-56
editing text RM-85, RM-91–RM-92
EHT CC-153, CC-278–CC-284
eigenvalues
in log file RM-632, RM-633, RM-634
eigenvector CDK-228
eigenvector follow GS-234
eigenvector following CC-68, CC-127, CC-340
Eigenvector following, transition state search
RM-387, RM-389, RM-390, RM-391
Eigenvector-Follow method RM-365, RM-366
eigenvectors (wavefunctions)in log file RM-632, RM-633
eigenvectors of CI secular equation
in log file RM-634
EKIN, Selection, Molecular Dynamics Averages dialog box RM-378
elastase-TFAP, sample PDB file RM-506
electron density CC-54, CC-251
electron lone pairs CC-200
electron spin resonance (ESR) CC-253
electron-electron repulsion CC-262
electronic density CC-125
electronic energy
in log file RM-633
electronic properties of proteins GS-209–GS217
electronic spectra CDK-231, CC-40
electronic spectroscopy CC-245
Electronic Spectrum
Compute Menu RM-411–RM-416
Compute menu RM-358
electronic spectrum CC-129
820

Electronic Spectrum dialog box RM-412–RM414
Electronic state HM-181
electronic states CC-242
electrons
total number in log file RM-632, RM633
electrons, alpha and beta CC-38
electrostatic interactions CC-107, CC-182, CC187, CC-199, CC-201, CC-205, CC222
Electrostatic potential RM-392
electrostatic potential CC-27, CC-55, CC-125,
CC-141, CC-254–CC-255
electrostatic potential, plotting GS-184
Electrostatic scale factor, Force Field Options
dialog box RM-294
electrostatics CDK-223
Electrostatics, MM+ Options dialog box RM292
Element Colordialog box RM-284–RM-285
Display menu RM-249
Element name on status line RM-224
Element Properties RM-123, RM-475
Element Table dialog box RM-30
changes RM-474
Explicit Hydrogens RM-478
Element, displaying labels HM-96
Elements, available HM-81
elements, available RM-300
E-mail support GS-21
embeddable CDK-95
Empty workspace HM-153
enable menu CDK-46
Enantiomers. See Chirality
End time, Molecular Dynamics Playback dialog
box RM-376
END, record in PDB-type files RM-506
Ending HyperNMR HM-104, HM-154
endmol, HIN file syntax RM-720
endres, HIN file syntax RM-719

endselection, file syntax RM-722, RM-723,
RM-724, RM-725
EnergyGeometry Optimization RM-363
Single Point RM-360
energy CDK-223, CDK-226, CDK-228, CDK229, CDK-230, CDK-231
CI RM-633

excitation
in log file RM-633
plotting vs. torsion angle GS-263–
GS-267energy barriers CC-84
energy components
in log file RM-638
energy conservation CC-73, CC-128
Energy Criterion

Configuration Interaction dialog
box RM-309
practical application RM-310
energy minimization GS-129–GS-145
energy, activation CC-17, CC-139
energy, binding CC-135
energy, constant CC-80, CC-89
Energy, Orbitals dialog box RM-403
Enlarge structure HM-101, HM-157, HM-161
ensemble averaging CC-95
ensemble averaging, dynamics CC-343
ensemble, isokinetic vs. isothermal CC-74
ENT file CDK-50
ENT. See Brookhaven Protein Data Bank
enthalpies CC-22
enthalpy of formation CC-135
entry CDK-100, CDK-197
entry widget CDK-100
enum CDK-28, CDK-30, CDK-52
enum, script argument RM-517
Envelope HM-149
Envelope line widths HM-125
Envelope view, spectra HM-123
Envelope width, fine control HM-127, HM-191

Envelope widths HM-156
Envelope, spectrum HM-156
environment CDK-149, CDK-161, CDK-188
environment, chemical CC-177
EPOT, Selection, Molecular Dynamics Averages dialog box RM-378
EpsilonDielectric RM-294
Epsilon, polynucleotide torsion angle RM-161
Equations, zillions HM-213–HM-252
equilibration time, molecular dynamics CC-91
equilibration, molecular dynamics CC-76
equilibration, trajectory CC-346
equilibrium bond length
in log file RM-638
equilibrium properties CC-19, RM-384
equilibrium, chemical CC-137
Equipment requirements HM-77
Equivalent atoms HM-83, HM-110
Equivalent atoms, selecting HM-134, HM-173,
HM-176equivalent-atoms-# selection in HyperChem
HM-111, HM-135, HM-178
Erase workspace HM-153
Ergodic Hypothesis CC-343
error and bug reporting GS-20
errors CDK-131, CDK-132, CDK-137, CDK148, CDK-205, CDK-213
ESR CC-253
ETOT, Selection, Molecular Dynamics Averages dialog box RM-378
event-driven applications CDK-155
Excel
Arrange All on Window menu GS258
creating a worksheet GS-264
graphing HyperChem results GS-259
manipulating molecules GS-260–GS262
modifying a macro GS-260–GS-261,
GS-263821

running a macro GS-258, GS-262, GS-elements treated by RM-301
parameter file RM-681

266

running calculations with GS-258
setting up a calculation for use with
GS-256
Excel macros CDK-116
Excel. See Microsoft
exchange integrals, one-center CC-290
exchange phenomena CC-288
exchange repulsion CC-38, CC-182
excitation energy
in log file RM-633
excited singlet states CC-39
excited state CC-242
Exclusion Principle, Pauli CC-35
executable file path RM-103
EXECUTE, Excel message RM-606
Exit CDK-198, RM-105
on File menu RM-78
exiting HyperChem GS-43
Exiting HyperNMR HM-104, HM-154
Expand peaks HM-126
Experiment, comparison with HM-242
Expert options HM-107
Explicit Hydrogens RM-30, RM-119–RM-120
Build menu RM-117
Element Table dialog box RM-122
explicit hydrogens CDK-58
Explicit Hydrogens option GS-47
exploring 3D structure GS-153–GS-155
exponents, entering RM-15
Export orbital data RM-78, RM-93
Exporting pictures HM-103
expr CDK-97
Extend Ring RM-242–RM-243
Select menu RM-222
Extend Side Chain RM-243–RM-244
Select menu RM-222
Extend to sp3 CC-256, RM-244–RM-245
Select menu RM-222
Extended Hückel RM-298

822

Extended Hückel calculations, log file information RM-632
Extended Hückel method CC-35, CC-130
Extended Hückel method, options CC-121
Extended Hückel Theory (EHT) CC-153, CC229, CC-278–CC-284
extended hydrogen (EH) RM-128
in atom typing RM-658
external coulomb field CC-256
external Tcl/Tk CDK-9, CDK-132, CDK-139
extra basis functions RM-328

F
19

F HM-81, HM-82, HM-111, HM-119, HM178, HM-183, HM-185
factory CDK-213
factory settings CDK-207
Fast translation RM-98
fast translation RM-42
Fermi spin-spin coupling constants, option
HM-106
Ferrodoxin, sample PDB file RM-507
file CDK-210, CDK-218
choosing image destination RM-613–
RM-614destination, Setup Image RM-101

formatimages RM-613
Setup Image RM-100, RM-101
file extension CDK-52
file formats RM-79, RM-84
File Menu HM-153
File menu GS-33, RM-77–RM-105
New GS-56, GS-126
Open GS-255
Preferences GS-52
Save GS-59
saving GS-58–GS-60
script messages RM-519–RM-525

Start Log GS-130
Stop Log GS-144
File open HM-89, HM-153, HM-163
file operations CDK-210
file paths RM-103
File save HM-118, HM-153, HM-164
File type, changing HM-91
File, atom type HM-186
file, CSV CC-355
file, dynamics results CC-355
File, structure HM-186
filename RM-79
arguments RM-516
case preferences RM-15
Open File dialog box RM-79
Save File dialog box RM-83, RM-83–
RM-86
files
AM1 parameter RM-690–RM-693
averages RM-629
bond angle parameter RM-666–RM668
bond length parameter RM-665–RM666
Brookhaven PDB format GS-113
chem.ini/Registry RM-743–RM-785
CNDO/INDO parameter RM-684–
RM-685
Copy Image RM-206
extended Hückel parameter RM-681
force field parameters RM-659–RM661
format RM-613
graphics RM-630
Help text RM-622
HIN structure RM-711–RM-712
hydrogen bond parameter RM-677
HyperChem Input RM-19, RM-711–
RM-722, ??–RM-723, ??–RM-

723, ??–RM-723, ??–RM-723,??–RM-724, ??–RM-724, ??–RM-724, ??–RM-724, ??–RM724, ??–RM-724, ??–RM-725,??–RM-725, ??–RM-725
HyperChem program RM-621
improper torsion parameter RM-670–
RM-672
Log GS-134, RM-616–RM-617, RM-621
Log on File menu GS-130
management RM-77–RM-116
MNDO parameter RM-688–RM-690
nonbonded parameter RM-673–RM677
opening a HIN file GS-33

out-of-planebending

parameter

RM-673parameter file compile RM-353
PDB GS-114–GS-115
plot RM-629
program RM-621–RM-622
Protein Data Bank RM-503–RM-507
reading PDB RM-503
residue template RM-727–RM-741
residues RM-739
Save File dialog box RM-83–RM-86
saving in HIN format GS-59–GS-60
saving in Visual Basic GS-275
script RM-510, RM-622
selecting GS-35–GS-37
Semi-empirical parameters RM-679–
RM-693snapshot RM-623–RM-629
stopping Log File GS-144
structurechem.ini/Registry RM-743–??
chem.tpl RM-727–RM-735
823

syntax for HIN RM-712–RM-722, ??–RM-723, ??–RM-723, ??–RM723, ??–RM-723, ??–RM-724,??–RM-724, ??–RM-724, ??–RM-724, ??–RM-724, ??–RM724, ??–RM-725, ??–RM-725,??–RM-725
template (TPL) structure RM-727–
RM-741
torsion parameter RM-669–RM-670
type parameter RM-665
typing rules RM-655
water RM-621
Files, communication HM-186
Files, parameter HM-251
files, snapshot CC-357–CC-359
Files, structure HM-81
Final temperature, Molecular Dynamics Options dialog box RM-372
finite state machine CDK-33
Fitting structure to workspace HM-101
fixed atoms CC-86
Flat surface isosurface RM-398
Fletcher-Reeves CC-61
Fletcher-Reeves conjugate gradient method
RM-365
Fletcher-Reeves optimization CC-337
float CDK-52
float, script arguments RM-517
Fock matrices
in log file RM-634
force constantin log file RM-638
Force Constant, Restraint Forces dialog box
RM-342force constants, units CC-191
force field
AMBER GS-129, GS-130
choosing GS-130–GS-131, GS-152–GS153

824

files RM-653–RM-677
MM+ GS-130
MM2+ GS-266, GS-270
Parameters dialog box RM-352, RM659

status line report RM-224
Force Field Options dialog box RM-293–RM295
force field options, set up CC-208
force field parameters CC-176
force field selection CC-105
force fields CC-21
force fields, distinguishing features CC-105
force fields, limitations CC-175
forcefield coordinates
in log file RM-638
form CDK-120
formal charge CC-177
formation, heat of CC-135
forming bonds, simulation CC-93
Fortran CDK-3, CDK-10, CDK-95, CDK-119,
CDK-137, CDK-150, CDK-174,
CDK-187, CDK-191
frame CDK-98, CDK-103
free radicals CC-242
frequencies
in log file RM-634
frequency CDK-231
frequency, dynamics sampling CC-82
Frequency, spectrometer HM-183
Friction coefficient, Langevin dynamics RM373
friction coefficient, solvent CC-95
front end CDK-8, CDK-11, CDK-17, CDK195, CC-161
Frontier molecular orbitals CC-146
Frontier Orbital theory CC-145
Frontier orbitals CC-44
frozen atoms CC-86
Full screen
setting, choosing extent of Copy
Image RM-612

Setup Image RM-100

G
Gamma, polynucleotide torsion angle RM-160
Gauche+, Constrain Bond Torsion dialog box
RM-139Gauche-, Constrain Bond Torsion dialog box
RM-139Gauge-Invariant Atomic Orbitals HM-218
Gaussian basis set CC-263
Gaussian functions CC-263
Gaussian peak function HM-124, HM-157
Gaussian Type Orbitals (GTO) CC-45, CC-263
Gaussians, Cartesian CC-272
Gaussians, Hermite CC-272
geminal interactions CC-182
General principles, NMR HM-214
geometric restraints CC-83
geometry optimization GS-129–GS-145
alanine zwitterion GS-156
analyzing results GS-143
boat cyclohexane GS-140
molecular mechanics GS-130
of a subset GS-205
Geometry Optimization on Compute menu GS135, GS-140, GS-143, GS-156, GS174
Geometry Optimization, Compute Menu RM357, RM-362–RM-367
geometry optimizations CC-16, CC-59, CC138
geometry, molecular CC-43
Get HSV
statements RM-511
types of input messages RM-510
variables, messages syntax RM-511
Get HyperChem HM-153
getting started GS-27–??
ghost atoms RM-326
ghost-atoms CC-120, CC-278
GIAO HM-218
global minima CC-359

global minimum CC-333
definition GS-130
glossary, Help menu RM-115
Glucagon, sample PDB files RM-507
Glutamic acid (Glu), amino acid residue RM143
Glutamine (Gln), amino acid residue RM-143
Glycine (Gly), amino acid residue RM-142
Gouraud shaded surface RM-398
GradientSingle Point RM-360
status line report RM-362–RM-363
gradient CDK-227, CDK-229
definition GS-129
gradient of reference conformation
in log file RM-633
gradient, RMS CC-63
graph CDK-57, CDK-59, CDK-231, CDK-233
Graph table data HM-170
Graph, coupling constants HM-138
Graph, peak information HM-129
Graph, plotting bar HM-155
Graph, shielding constants HM-138
Graph, spectral data HM-139
graphical user interface CC-161
graphics
bitmap RM-99, RM-100, RM-631
files RM-100, RM-630
metafile RM-101, RM-630
RGB bitmap RM-100
stored on Windows Clipboard RM101, RM-206, RM-613–RM-615
transfers RM-612–RM-615
using Windows Applications RM615
graphics settings RM-99
gray menu items RM-13
grid CDK-233
Grid Mesh Size, isosurface RM-394
Grid, 2D contour RM-395
grid, isosurface RM-393
825

ground state CC-242
group rotation RM-39
group selection defined RM-227–RM-228
GTO CC-45, CC-263
GTO primitives CC-263
GUI CDK-17, CDK-95, CDK-119, CDK-138,
CDK-187, CDK-191, CDK-196

H1

H HM-81, HM-82, HM-111, HM-119, HM178, HM-183, HM-185
2
H HM-82, HM-111, HM-178
Half-cystine (Cyx), amino acid residue RM-143
half-electron excited singlet states CC-39
half-electron method CC-243
half-electron technique CC-48
Hamiltonian CC-169, CC-227
electronic CC-170
exact CC-169
nuclear CC-170
Hamiltonian matrix elements CC-281
HAPI CDK-9, CDK-10, CDK-107, CDK-119,
CDK-128, CDK-149, CDK-154,
CDK-195, CDK-203
HAPI calls CDK-107, CDK-137, CDK-138
HAPI library CDK-140
hard nucleophiles and electrophiles CC-146
Hardware requirements HM-77
hard-wired menus CDK-38
harmonic approximation CC-149
harmonic frequencies CC-128
harmonic oscillator CC-22
harmonic potential CC-24
Hartree-Fock CC-38, CC-234
Hartree-Fock approximation CC-131, CC-261
Hartree-Fock method HM-217
hcAlloc CDK-147, CDK-290
hcConnect CDK-130, CDK-140, CDK-190,
CDK-242hcCopy CDK-130
hcDisconnect CDK-130, CDK-140, CDK-190,
CDK-244hcExec CDK-24, CDK-46, CDK-99, CDK-

826

130, CDK-197, CDK-198
hcExecBin CDK-141, CDK-248
hcExecTxt CDK-140, CDK-190, CDK-245
hcExit CDK-140, CDK-245
hcFree CDK-148, CDK-291
hcGetBlock CDK-146, CDK-267
hcGetErrorAction CDK-132, CDK-148, CDK295
hcGetInt CDK-142, CDK-251
hcGetIntArr CDK-142, CDK-254
hcGetIntArrElm CDK-142, CDK-255
hcGetIntVec CDK-142, CDK-253
hcGetIntVecElm CDK-142, CDK-258
hcGetNotifyData CDK-131, CDK-147, CDK288
hcGetReal CDK-143, CDK-252
hcGetRealArr CDK-143, CDK-257
hcGetRealArrElm CDK-143, CDK-260
hcGetRealArrXYZ CDK-143, CDK-261
hcGetRealVec CDK-143, CDK-256
hcGetRealVecElm CDK-143, CDK-259
hcGetRealVecXYZ CDK-143, CDK-262
hcGetStr CDK-144, CDK-263
hcGetStrArrElm CDK-144, CDK-265
hcGetStrVecElm CDK-144, CDK-264
hcInitAPI CDK-140, CDK-241
Hcl CDK-6, CDK-22, CDK-99, CDK-205
Hcl command CDK-49
Hcl script CDK-2, CDK-9, CDK-29, CDK-38,
CDK-64, CDK-99, CDK-196
Hcl script command CDK-130
Hcl text string CDK-141
hcLastError CDK-131, CDK-148, CDK-294
hcNotifyDataAvail CDK-147, CDK-287
hcNotifySetup CDK-147, CDK-286
hcNotifyStart CDK-131, CDK-147, CDK-284
hcNotifyStop CDK-131, CDK-147, CDK-285
hcQuery CDK-45, CDK-99, CDK-130
hcQueryBin CDK-141, CDK-148, CDK-249
hcQueryTxt CDK-140, CDK-148, CDK-190,
CDK-246
hcSetArrElm CDK-146
hcSetBlock CDK-147, CDK-283

hcSetErrorAction CDK-131, CDK-148, CDK296
hcSetInt CDK-144, CDK-268
hcSetIntArr CDK-144, CDK-271
hcSetIntArrElm CDK-145, CDK-272
hcSetIntVec CDK-144, CDK-270
hcSetIntVecElm CDK-145, CDK-275
hcSetReal CDK-145, CDK-269
hcSetRealArr CDK-145, CDK-274
hcSetRealArrElm CDK-145, CDK-277
hcSetRealArrXYZ CDK-146, CDK-278
hcSetRealVec CDK-145, CDK-203, CDK-273
hcSetRealVecElm CDK-145, CDK-276
hcSetRealVecXYZ CDK-145, CDK-279
hcSetStr CDK-146, CDK-280
hcSetStrArrElm CDK-282
hcSetStrVecElm CDK-146, CDK-281
hcSetTimeouts CDK-131, CDK-148, CDK-293
hcShowMessage CDK-148, CDK-292
header files CDK-138, CDK-149
headers, Snapshot files RM-623–RM-626
heat of formation CC-135
in log file RM-633
Heat steps, Monte Carlo RM-371
Heat time RM-370
heating time, molecular dynamics CC-91
heating, dynamics CC-75
heating, trajectory CC-346
heat-of-formation CDK-221
Helix Form, polynucleotide strand conformation RM-159
Hellman-Feynman theorem HM-219
Help HM-87
help
on-line GS-24, GS-29
Help Menu HM-159
Help menu GS-29, RM-115
script messages RM-578
Help text HM-186, HM-199
Help text, file RM-621, RM-622
Help, product GS-20
Hermite Gaussians CC-272
Hessian CC-67, CC-340

Hessian matrix CC-128
HETATOM, creating PDB-type files RM-505
hfExecTxt CDK-195
hfGetRealArr CDK-201
hfSetRealArr CDK-195
Hide Selection RM-258
Display menu RM-248
hide-toolbar CDK-47
highest occupied molecular orbital GS-189
Highlight, Rendering dialog box RM-264, RM265
highlighting menus RM-12
HIN file HM-81, HM-89, HM-90, HM-153,
HM-163, HM-186, HM-200
HIN See HyperChem input file
HIN See HyperChem input fileHistidine (Hid), amino acid residue RM-143
Histidine (Hie), amino acid residue RM-143
Histidine (Hip His), amino acid residue RM143
HOMO CC-146, CC-231
HOMO See highest occupied molecular orbital
HOMO-, Orbitals dialog box RM-403
Hooke’s law CC-22
Horizontal grid points RM-395
hot link CDK-109, CDK-123
HSV CDK-3, CDK-8, CDK-25, CDK-27,
CDK-66, CDK-101, CDK-108, CDK122, CDK-130, CDK-140, CDK-198,
CDK-205
arguments CDK-30
array CDK-33
environment CDK-58
read CDK-29, CDK-49, CDK-140
scalar CDK-31
vector CDK-32
write CDK-29, CDK-49, CDK-140
HSV. See HyperChem State Variables
hsv.hgenerating CDK-142
huckel CDK-228
Hückel constant CC-121, CC-282
827

Hückel Constant, Semi-empirical Options dialog box RM-304
hybridization CC-177, CC-216
hydrogen CDK-222
bond parameter file RM-677
bonds RM-277–RM-278
Explicit Hydrogens RM-30, RM-119–
RM-120
PDB file storage RM-85
hydrogen bond potential CC-26
hydrogen bonding CC-182, CC-188, CC-200
hydrogen bonding term CC-205
hydrogen bonds GS-89, CDK-217
calculating GS-122–GS-123
displaying GS-122–GS-123, GS-206
recomputing GS-206
hydrogen peroxide GS-263
hydrogens CDK-217, CDK-219
Show RM-274–RM-275
hydrogens, axial GS-141
Hydrogens, creating PDB-type files RM-506
HyperChem
About dialog box RM-116
files RM-619–RM-631
program files RM-620, RM-621–RM622
settings RM-747–RM-765
HyperChem API CDK-2, CDK-137, CDK-148,
CDK-149, CDK-154
HyperChem Application Programming Interface CDK-2, CDK-107, CDK-119,
CDK-137
HyperChem architecture CC-161
HyperChem Command Language CDK-6,
CDK-22, CDK-49, CDK-95, CDK123, CDK-127, CDK-138
HyperChem input file (HIN) GS-33–GS-34
HyperChem Input files RM-79, RM-619, RM711–RM-722, ??–RM-723, ??–RM723, ??–RM-723, ??–RM-723, ??–RM-724, ??–RM-724, ??–RM-724,
828??–RM-724, ??–RM-724, ??–RM724, ??–RM-725, ??–RM-725, ??–RM-725
atoms RM-717–RM-718
bonding information RM-733
force field information RM-714
option RM-84
residues RM-716
save RM-84
saving molecular system RM-19
selections RM-720–RM-722, ??–RM723, ??–RM-723, ??–RM-723,??–RM-723, ??–RM-724, ??–RM-724, ??–RM-724, ??–RM724, ??–RM-724, ??–RM-724,??–RM-725, ??–RM-725, ??–RM-725view RM-715
HyperChem OS CDK-138
HyperChem State Variables RM-510, RM518–RM-584
Get statements RM-511, RM-517
Set statements RM-511
HyperChem state variables CDK-3, CDK-27
HyperChem Tools RM-27–RM-50, RM-61–??
moving atoms with mouse RM-20,
RM-27–RM-50, RM-61–??
HyperChem Windows
Control menu box RM-5
Preferences dialog box RM-95–RM105
Setup Image RM-102
HyperChem, importing structure from HM-94,
HM-136, HM-153
HyperChem, interaction with HM-79, HM-81
HyperChem, selection of equivalent atoms
HM-111, HM-135, HM-178
HyperChem, selection of labelled atoms HM112, HM-180

HyperChem, selection of NMR atoms HM-109,
HM-134, HM-176
HyperChem, selection of quantum atoms HM108, HM-133, HM-175
HyperChem, use with HM-75
hyperconjugation, mixed mode calculations
CC-259HyperEHT CDK-12
HyperGauss CDK-12, CDK-195
HyperMM+ CDK-12
HyperMM+, HyperNewton, HyperEHT, HyperNDO, HyperGauss CC-162
HyperNDO CDK-12, CDK-191
HyperNewton CDK-12, CDK-191
HyperNMR CDK-16

I
Icon, backend HM-114, HM-121
Icon, HyperNMR HM-85, HM-142
icons RM-27
IGG, sample PDB file RM-506
Ignore warning message RM-359–RM-360
image setup preferences RM-99
Image, copying HM-103
images CDK-218

choosing
destination RM-613–??
extent RM-612
color RM-614
file formats RM-613
imp parameter file RM-660, RM-670–RM-672
imp, force field information in TPL file RM734
Import orbital data RM-78, RM-92
Importing structure from HyperChem HM-94,
HM-153
Importing structures HM-89
improper dihedrals CC-184, CC-198, CC-203
improper torsion parameter file RM-670–RM672
IMSG CDK-15, CDK-34
IMSGs. See input messages
In vacuo

geometry optimization, Computemenu RM-367, RM-372
include file CDK-139
Increment for contour plot, Grid Control dialog
box RM-396
incremental model building RM-487–RM-488
increments, rotation and translation RM-97,
RM-98
independent-electron approximation CC-229
independent-electron method CC-279
Index, Help menu RM-115
individual molecular orbitals, plotting GS-189–
GS-195INDO CC-123, CC-132, CC-155, CC-249, CC252, CC-288–CC-292
elements treated by RM-301
parameter files RM-684–RM-685

Semi-empirical Method dialog box
RM-298INDO mixed model CC-287
inertia, moments RM-539
inertial axes CDK-216, CDK-222, RM-21–
RM-25
info CDK-213
Information table, peak HM-129
infra red CDK-231
infrared absorption CC-369
Infrared frequencies, characteristic CC-150
infrared spectroscopy CC-149
infrared spectrum, negative frequencies CC149
inhibit redisplay CDK-215
initial conditions, dynamics CC-343
initial guess, MO coefficients CC-119, CC-276
Initialization script RM-4
initialization script CDK-53
INITIATE, Excel message RM-606
Inner radius, MM+ Options dialog box RM-293
inorganic structures, building RM-489
Input files HM-186
input messages RM-510–RM-517

int (internal) atomic coordinates,
829

TPL file RM-734–RM-735
using HyperChem messages RM510–RM-517
Input, data HM-81
Input, structure HM-75
Installation, software HM-77
integer CDK-30
integer, arguments CDK-52, RM-517
integral cutoff, two-electron CC-117, CC-275
integral format
Raffenetti CC-274
regular CC-273
integral format, Raffenetti RM-322
integral storage path RM-103
Integrated Development Environment CDK189
integrating HyperChem, Dynamic Data Exchange RM-509
Integration, peak HM-127
Intensities of transitions HM-249
Intensity, level for inclusion of peak HM-190
interactions, bonding CC-182
interactions, electrostatic CC-182
interactions, nonbonding CC-182
INTERFACE CDK-152
interface to HyperChem CDK-1, CDK-6,
CDK-137
Intermediate Neglect of Differential Overlap(INDO) CC-249
intermediates CC-33
intermediates, potential CC-137
intermediates, reactive CC-339
interpreter CDK-95, CDK-127
interval, dynamics sampling CC-82
Introduction to HyperNMR HM-81
Invert RM-206–RM-207
on Edit menu RM-202, RM-486
ionic reactivity CC-146
ionization energy CC-139
ionization potential CC-43
IPX/SPX RM-104
IR spectra

830

in log file RM-633
IR spectrum, importing RM-92
IR spectrum, storing RM-93
IR Vectors, Rendering dialog box RM-261
ISIS Sketch files
open RM-80
save RM-84
ISIS/Draw
clipboard format RM-204
isokinetic energy ensemble CC-74
isolated atomic energy
in log file RM-633
Isoleucine (Ile), amino acid residue RM-143
Isomer, residue conformation RM-144
Isosurface RM-796
isosurface GS-186, CDK-217, CDK-232,
CDK-233
Isosurface Colors RM-102
Isosurface contour level RM-397
Isosurface Grid RM-393
isosurface grid RM-394
Isosurface Rendering RM-396
Isosurface rendering RM-248, RM-274
isosurface transparency level RM-398
Isosurface, 3D RM-393
Isosurface, mapped 3D RM-393
isosurface, show RM-248, RM-274
isosurfaces CC-253
isothermal ensemble CC-74
Isotopes HM-82, HM-111, HM-173, HM-178
ITEM CDK-44
item
DDE CDK-108
iter, status line report RM-363, RM-369
Iteration limit GS-183
iteration limit CC-116
Iteration limit, Semi-empirical Options dialog
box RM-306
Iterations, maximum SCF HM-182

J
Jorgensen-Salem isosurface RM-397

K
keep-atom-charges RM-545
keyboard

alternatives
HyperChem RM-10–RM-12
Windows RM-9–RM-10
alternatives to mouse GS-31–GS-32
equivalents for tools RM-49–RM-50
shortcuts GS-32
keyboard accelerator CDK-39
Keyboard alternatives HM-88
Keyboard equivalents, mouse actions HM-162
Keyboard rotation and translation RM-98
keys to operate HyperChem tools RM-49–RM50
kinetic energy integrals CC-262
KLM values, table, split-valence basis set CC268
Klopman-Salem equation CC-144
Koopmans’ theorem CC-139

Llabel CDK-103, CDK-197
labeling GS-38–GS-39
atoms GS-63–GS-64
by number GS-81
by symbol GS-83
removing labels GS-38
subsets GS-100–GS-102
Labelled atom selection HM-178
Labelled atoms HM-82, HM-111, HM-173,
HM-178labelled-atoms selection in HyperChem HM112, HM-180
Labelsdialog box RM-281–RM-282
Display menu RM-249
labels CDK-98, CDK-218, CDK-220
Labels dialog box GS-38, GS-210
Labels, atom HM-96, HM-168
lambda CC-69

Lambda, reaction map coefficient RM-354
Langevin Dynamics RM-383
Compute menu RM-357
Langevin dynamics GS-174, CC-18, CC-95
Large molecules, calculating HM-107, HM130
Last Rendering RM-248, RM-269
LCAO HM-218, CC-35, CC-232
LCAO-MO CC-44
leap-frog algorithm CC-72, CC-344
legacy applications CDK-155
legacy code CDK-119
legacy programs CDK-10
Lennard-Jones function CC-26
Lennard-Jones potential CC-184, CC-196
Leucine (Leu), amino acid residue RM-143
levels of molecular organization RM-17–RM18
library CDK-137, CDK-149, CDK-151, CDK190
License Timeout Interval RM-104
license, network RM-104
Limit, SCF convergence HM-181
LINE
Align Molecules dialog box RM-218
Align Viewer dialog box RM-216
definition RM-22
Name Selection dialog box RM-238
rotate about, Rotate dialog box RM210
Line view, spectra HM-122
Line width function HM-124
Line width scroll bar HM-148
Line width, fine control HM-127, HM-191
Line widths HM-156
Line widths, peak HM-125
LinearConstrain Bond Angle dialog box
RM-138Constrain Geometry dialog box RM135

831

Linear Combination of Atomic Orbitals HM218
linear combination of atomic orbitals CC-35
Linear Combination of Atomic Orbitals-Molecular Orbital CC-44
LineDown CDK-114
Lines, isosurface RM-397
LineUp CDK-114
LinkExecute CDK-123
LinkItem CDK-122, CDK-123
LinkMode CDK-122, CDK-123
LinkRequest CDK-122
LinkTopic CDK-122
load command CDK-129
LoadHAPI CDK-139, CDK-151, CDK-181
loading CDK-124
load-time CDK-149, CDK-151
load-user-menu CDK-38
local minima CC-333
definition GS-130
Log Comments
on File menu RM-78
log file
entering comments in GS-134
keeping information in GS-130
stopping GS-144
log file information RM-631–RM-638

for UV visible spectra computation
RM-415log file path RM-103
Log file print level HM-189
Log file, starting HM-113, HM-154, HM-165
Log file, stopping HM-122, HM-154
Log files HM-186, HM-210, RM-621
HyperChem files RM-621
results stored RM-616–RM-617
log files CDK-214
Log on File menu GS-130
Log P RM-456
log, open RM-90
logging CDK-214
London dispersion forces CC-40
832

Lone pair (LP)default color RM-284
in atom typing RM-658
lone pairs CC-200
Lorentzian peak function HM-124, HM-157
lowest excited electronic state of ethylene GS241–GS-249
lowest state CC-242
Lowest state, Semi-empirical Options dialog
box RM-306
lowest unoccupied molecular orbital GS-189
LUMO CC-146, CC-231
LUMO See lowest unoccupied molecular orbital
LUMO+, Orbitals dialog box RM-403
Lysine (Lys), amino acid residue RM-143

M
MacroButton CDK-112
macromolecules
working with GS-113–GS-126
macros CDK-110, CDK-113, CDK-117
Magnetic shielding HM-216
mailing list GS-21
MAIN subroutine CDK-113
Make Zwitterion RM-145–RM-146
Databases menu RM-140
makefile CDK-150, CDK-151
Map, reaction map list box RM-355
Mapped Isosurface RM-393
Mass
Atoms, Labels dialog box RM-282
mass, atomic CC-178
mass, HIN file syntax RM-718
master CDK-13
master - slave Architecture CDK-13
Max delta, Monte Carlo RM-371
Maximize button HM-143
maximize button GS-29
maximize button, HyperChem Windows RM-5
Maximize/Minimize buttons HM-88
Maximum Excitation, Configuration Interaction dialog box RM-309

Maximum iterations, SCF HM-182
Maximum number of water molecules, Periodic
Box Options dialog box RM-338
MDL MOL files
open RM-80
save RM-84
measurements

atom identification, with Selection
tool RM-35
bond angles, with Selection tool
RM-36

bond lengths, with Selection tool
RM-36

distances between atoms, with Selection tool RM-36
improper angles, with Selection
tool RM-36
improper torsion angles, with Selection tool RM-36
molecule identification, with Selection tool RM-36
residue identification, with Selection tool RM-35
with Selection tool RM-36
torsion angles, with Selection toolRM-36
measuringaxial hydrogens GS-139
nonbonded distances GS-88
properties of minimized system GS136–GS-137

structural properties GS-81–GS-90
torsion angles GS-87–GS-88
Mechanics Print Level RM-90
MechanicsPrintLevel, in chem.ini RM-631
mechanisms, reaction CC-137
memory allocation CDK-147, CDK-156
MENU CDK-44
menu CDK-207, CDK-212

adding CDK-37
enable CDK-46
menu activation CDK-49, CDK-50, CDK-67
Menu Activator RM-511
types of input messages RM-511
Menu bar HM-87, HM-144
menu bar GS-28
menu bar, HyperChem Windows RM-5
menu caption CDK-212
menu file CDK-24, CDK-38
Menu Files CDK-2
menu invocation CDK-140
menu item CDK-39, CDK-50
Menu item, choosing HM-89
menu items
Semi-empirical GS-206, GS-215
with ellipsis GS-33–GS-34
menu structure CDK-21
Menu, close HM-88
Menu, open HM-88
menu-help RM-515
MENUITEM CDK-44
menuitem CDK-212
menus
Build GS-85, GS-152, GS-182, GS-201,
RM-117–RM-139

close using keyboard alternatives
RM-9
Compute GS-134, GS-135, GS-140, GS143, GS-156, GS-168, GS-174,
RM-357–RM-469
Control GS-29
Databases RM-139–RM-192, RM-493–
RM-500
Display GS-37, GS-41, GS-42, GS-74,
GS-105, GS-116, GS-167, RM21, RM-216, RM-248–RM-285
Edit GS-138, GS-180, RM-201–RM-220,
RM-486File GS-33, GS-58–GS-60, GS-126, GS833

130, GS-255, RM-77–RM-105,
RM-616gray items RM-13
Help GS-29, RM-115–RM-116
HyperChem RM-12–RM-13
keyboard alternatives GS-31–GS-32
Script RM-105–RM-107
Select GS-106, GS-117, GS-166, RM34–RM-35, RM-220–RM-246,
RM-496
Setup GS-182, GS-201, GS-205, GS-206,
RM-287–??
Window (Excel) GS-258
Merge
adds molecules RM-82
on File menu RM-77
merging two structures GS-203–GS-204
mesh isosurface RM-397
mesh, isosurface grid RM-394
message CDK-24, CDK-49, CDK-122, CDK213
status CDK-215
message box CDK-148
message passing CDK-108
messages CDK-7, CDK-14, CDK-33, CDK108, CDK-155, CDK-157, CDK-207,
RM-518–RM-584
cross references of RM-579
messages for scripts RM-518
arguments RM-516
commands RM-516
cross-references RM-584–RM-602
input RM-510–RM-517
online Help RM-115
script file RM-509
syntax RM-511–RM-517
using with HyperChem RM-510–RM517
variable RM-511–RM-516
834

warning RM-359–RM-360
Messages, HyperNMR HM-87, HM-144
messaging CDK-107
Metafile RM-99, RM-613, RM-615
graphics RM-630
Setup Image dialog box RM-101
metafile CDK-218
metafile preferences RM-99
methane CDK-57
Methionine (Met), amino acid residue RM-143
method, rendering RM-258
Metropolis method CC-100
MFC CDK-10, CDK-159, CDK-173
microcanonical ensemble CC-74
Microsoft Developer Studio CDK-151
Microsoft Excel CDK-2, CDK-17, CDK-107,
CDK-115, RM-606–RM-609
Microsoft Foundation Classes CDK-10, CDK159, CDK-173
Microsoft Windows CDK-107, RM-4–RM-6
controls printer RM-94
Microsoft Windows API CDK-148
Microsoft Word CDK-2, CDK-107, CDK-109
microstate CI CC-40
Microstate CI Method CC-40
Configuration Interaction dialog
box RM-309
practical application RM-310
microstates CC-244
MINDO/3 CC-123, CC-132, CC-155, CC-249,
CC-252, CC-292–CC-296
MINDO3elements treated by RM-301
extension of INDO RM-298
parameter files RM-679, RM-685–RM688

Semi-empirical Method dialog box
RM-298minima, global CC-359
minima, local CC-333
minimal basis set CC-265

minimizations, geometry CC-59
Minimize button HM-88, HM-143
HyperChem Windows RM-5

Molecular Dynamics Results dialog
box RM-382
Minimum distance between solvent and soluteatoms, Periodic Box Options dialog
box RM-338
minimum, global CC-333
Minor, Align Molecules dialog box RM-218
miscellaneous variable messages RM-580–
RM-582
mixed calculations
choosing an area of interest GS-211–
GS-212Mixed mode calculations RM-311, RM-334
mixed mode calculations CC-256, CC-277
mixed model, CNDO and INDO CC-287
mixed model, MINDO/3 CC-295
mixed model, MNDO, AM1, and PM3 CC-304
Mixed-mode calculations HM-82, HM-107,
HM-130
MM+ CC-105, CC-176, CC-190
file structure RM-745
force field GS-130–GS-131

Molecular Mechanics Force Field
dialog box RM-290
parameters RM-680
settings RM-769–RM-771
MM+ Options dialog box RM-291–RM-293
mm+,mm+ file structure RM-745
MM2 CC-110, CC-190
MM2(1977) CC-106
MM2+ GS-266, GS-270
mmpben4 parameter file RM-660
mmplus.exe program file RM-621
mmpoop parameter file RM-660
mmptor4 parameter file RM-660
MNDO CC-123, CC-132, CC-155, CC-156,
CC-249, CC-296–CC-304
elements treated by RM-302

parameter files RM-688–RM-690
Semi-empirical Method dialog box
RM-299mnu file CDK-37
MO coefficients, initial guess CC-119, CC-276,
RM-325mode
drawing GS-47, GS-81
Model Build, changed from Add H & Model
Build RM-479
Model Build/Add H & Model Build RM-124–
RM-125
Build menu RM-117
Model Builder RM-124–RM-125
2D drawings conversions RM-117
adds hydrogen atoms RM-30
assigns atom types RM-129
creating 3D structures GS-83–GS-85
evaluates chirality of atoms RM-487
incremental model building RM-487
invoking GS-65–GS-66
model builder CDK-58, CDK-218
Modified Intermediate Neglect of Differential
Overlap See MINDO/3
modifying parameters CC-207
mol, HIN file syntax RM-716
MO-LCAO approximation CC-231
Molecular Coordinate System HM-152, RM18–RM-20
Molecular Dynamics GS-147–GS-170
Averages dialog box RM-377–RM380
Named Selections use RM-242
averages files RM-629
averaging GS-171–GS-173
calculations RM-368–RM-382
Compute Menu RM-368–RM-383
Compute menu RM-357
in water GS-147–GS-177
on Compute menu GS-168
835

Options dialog box RM-369–RM-374
Playback dialog box RM-375–RM376

playback dynamics GS-170
results GS-173
Results dialog box RM-380–RM-382
simulated annealing GS-168–GS-170
Simulation
storing results RM-617–RM-618
time periods RM-382–RM-383
molecular dynamics CDK-55, CDK-225, CC18, CC-71, CC-127, CC-342–CC-359
Molecular dynamics calculations CC-88
molecular dynamics equilibration CC-76
Molecular Dynamics Options dialog box GS168, GS-173
molecular geometry CC-43
molecular graph CDK-59
Molecular Mechanics
calculations RM-289–??
Force Field dialog box RM-290–RM291
method use RM-361
on Setup menu RM-287
Optimization dialog box RM-364–
RM-367molecular mechanics CDK-102, CDK-222,
CC-21, CC-175
molecular mechanics calculations
log file information RM-638
Molecular Mechanics on Setup menu GS-201,
GS-205
Molecular Mechanics Optimization
dialog box GS-156
molecular mechanics, type selection CC-105
molecular orbital calculations GS-179–GS-196
molecular orbitals CC-126, RM-404
practical guidelines RM-405
total number saved in log file RM632
836

molecular organization, levels RM-17–RM-18
Molecular properties, plotting RM-392
molecular renderings
changing GS-39–GS-43
molecular system RM-18–RM-20
printing RM-94, RM-616
Molecular system view HM-144, HM-155
Molecule, charge HM-181
Molecule, copying HM-103
molecules RM-226
built from residues RM-492–RM-500
changes after drawing RM-475
creating GS-57–GS-67
drawing RM-471–RM-486
hydrogen peroxide GS-263
manipulating with Excel GS-260–GS262
in Microsoft Excel macro RM-607,
RM-609NMA GS-197–GS-199
numbering RM-237

propenecreating GS-57–GS-65
reflecting one end GS-138
residues RM-17
saving GS-196
selected by name RM-236
Selection level RM-32
translating/rotating/scaling GS-69–
GS-80

unlabelling GS-92
water GS-204
Molecules, Apply to, Rotate dialog box RM210
Molecules, Select menu RM-221
Møller-Plesset perturbation RM-321
Møller-Plesset second-order perturbation(MP2) CC-41, CC-117, CC-246–CC248, CC-261

moments-of-inertia RM-539
monitor HyperChem CDK-132
monopole RM-692
Monte Carlo GS-174, CDK-225, CC-19, CC95, RM-384
Compute menu RM-358
MOPAC Z-Matrix file HM-81, HM-89, HM153, HM-163, HM-186, HM-200
MOPAC Z-Matrix files
open RM-80
save RM-84
Morse function CC-24
mouse CDK-208
in changing clipping slab GS-79
keyboard alternatives GS-31–GS-32
pointer, HyperChem Windows RM5right button functions RM-20
use RM-7–RM-9
using GS-29–GS-31
Mouse operations HM-88, HM-161
Move structure HM-161
movement, atomic, Monte Carlo RM-371
Movie, AVI RM-376
Moving a molecule HM-89
moving in a dialog box, using keyboard alternatives RM-10
Moving structures HM-100, HM-157
moving through a list, using keyboard alternatives RM-10
MP2 CC-117, CC-261
mp2 CDK-229
MP2 calculations RM-321
MP2 Correlation Energy CC-246–CC-248
Mulliken approximation CC-282
Mulliken atomic charges CC-143
Multiple Selections RM-227
Select menu RM-221
Multiple Selections on Select menu GS-51, GS54
multiple windows use RM-6

multiplicity CDK-221, CC-229, CC-242
Multiplicity, spin HM-181
multiplicity, spin CC-46, CC-116
mutagenesis, site-specific GS-94–GS-97, GS123
MutateDatabases menu RM-140
dialog box RM-190–RM-192
mutatingamino acid residues RM-496
nucleic acid residues RM-499–RM501

N
15N HM-81, HM-82, HM-111, HM-119, HM-

178, HM-183, HM-185
Name

Atoms, Labels dialog box RM-281–
RM-282

Residues, Labels dialog box RM-282
Name + Seq, Residues, Labels dialog box RM282
Name Selection
dialog box RM-237–RM-239
Molecular Dynamics use RM-241
for Restraints RM-241
Select menu RM-222
Named selections, Molecular Dynamics Averages
dialog box RM-378–RM-379
names, assignment for selections RM-236
naming selections RM-240–RM-241
NDDO HM-228, CC-132, CC-249
NDO HM-226, CC-35, CC-248–CC-250
NDO calculations
log file information RM-633
NDO methods CC-131
NDO methods, options CC-122
ndo.exe program file RM-621, RM-622
negative frequencies CC-149
Neglect of Diatomic Differential Overlap (NDDO) HM-228, CC-132, CC-249

837

Neglect of Differential Overlap (NDO) HM226, CC-35, CC-131, CC-248–CC250
neighbors CDK-219

maximum handled by Model Builder RM-489
neighbors, bonded CC-177
net charges
in log file RM-632
log file RM-633
NETBIOS, NETBEUI, NETAP RM-104
network CDK-17
Network License RM-104
network license timeout RM-104
Network options RM-346
New
on File menu RM-77

prepares HyperChem for new molecules RM-78
residues RM-739–RM-741
New on File menu GS-56, GS-126
new version of Tcl/Tk CDK-128
New workspace HM-153
newton.exe program file RM-621
Newton-Raphson CC-62
Newton-Raphson optimization CC-338
Newton-Raphson Optimization Method RM366
next lowest state CC-242
Next lowest state, Semi-empirical Options dialog box RM-306
NMA See N-methylacetamide
NMAKE CDK-161
N-methyl amino (Nme), amino acid residue
RM-143N-methylacetamidechanging from cis- to trans- form
GS-199–GS-201

creating GS-197–GS-199
geometry optimization GS-201
NMR atoms HM-82

838

NMR atoms, selecting HM-108, HM-133, HM173, HM-175
NMR atoms, selection by type HM-180
NMR files, format HM-201
NMR, general principles HM-214
nmr.exe HM-186
nmr.hlp HM-186, HM-199
nmr.ini HM-186, HM-187
nmr_cupl.ab HM-198
nmr_cupl.abp HM-186, HM-252
nmr_shft.abp HM-186, HM-198, HM-252
nmr-atoms selection in HyperChem HM-109,
HM-134, HM-176
nmrcalc.exe HM-186, HM-187
nmrparam.in HM-186, HM-199
nmrparam.out HM-186, HM-199
nmrspect.in HM-186, HM-199
nmrspect.out HM-186, HM-199
nmrtype.rul HM-186, HM-194
nmrtype.txt HM-186, HM-194
NOE data CC-84
nonbonded cutoffs CC-66, CC-108
nonbonded distances
measuring GS-88
non-bonded interactions CC-26
nonbonded interactions CC-182
nonbonded parameter files RM-673–RM-677
nonbonded potential CC-29
None
Atoms, Labels dialog box RM-282
Residues, Labels dialog box RM-282
non-nuclear basis functions CC-278
normal coordinate analysis CC-366
normal modes
in log file RM-634
normal modes, vibration CC-128
notation, basis sets CC-271
notification CDK-131, CDK-132, CDK-147,
CDK-161
notification agent CDK-156
notifications CDK-29, CDK-128, CDK-155,
CDK-212
notify-on-update CDK-30

Nuclear Magnetic Resonance see NMR
Nuclear Overhauser Effect (NOE) CC-84
Nuclear spin coupling HM-222
nuclear-electron attraction CC-262
nucleic acid CDK-224
Nucleic Acids RM-157–RM-158, RM-497–
RM-500on Databases menu RM-140, RM-497
dialog box RM-14, RM-159–RM-162,
RM-192, RM-497
mutating residues RM-192, RM-499–
RM-501residues RM-737–RM-741
nucleic acids, adding RM-739
NumberAtoms, Labels dialog box RM-282
number of d orbitals CC-119
Number of residues selected, Select menu RM226
Number, Orbitals dialog box RM-403
numbering atoms, residue molecules RM-237
numbering of atoms CDK-30
Numbers, Select dialog box RM-234

O
15

O HM-81, HM-82, HM-111, HM-119, HM178, HM-183, HM-185
occupancies
in log file RM-632, RM-633
occupancy, orbital CC-43
occupied alpha orbitals
in log file RM-633
occupied beta orbitals in UHF
in log file RM-633
Occupied Orbital Criterion

Configuration Interaction dialog
box RM-309
OCR file CDK-54
Octahedral, Constrain Geometry dialog box
RM-135
OLE CDK-108, CDK-137
Omega, amino acid residue torsion angle RM-

144
OMSG CDK-15, CDK-29, CDK-34, CDK211, CDK-212
OMSG, using HyperChem messages RM-510
one-center exchange integrals CC-290
on-line help GS-24
opaque isosurface RM-397
Open
File dialog box RM-78–RM-82
on File menu RM-77

menu, using keyboard alternatives
RM-9

Run Script dialog box RM-106
Script, on Script Menu RM-106
Start Log dialog box RM-90
open architecture CDK-13
Open file HM-89, HM-153, HM-163
Open File dialog box GS-34
Open on File menu GS-255
Opening HyperNMR HM-85, HM-142
open-shell CDK-56
Operating system HM-77
operating system CDK-21
OPLS CC-105, CC-110, CC-176, CC-200
file structure RM-745

Molecular Mechanics Force Field
dialog box RM-291
settings RM-773–RM-775
opls, opls, file structure RM-745
optimization CDK-226
optimization cycles CC-63
optimization methods CC-335–CC-339
optimization termination CC-63
optimization variables GS-135
optimizations, structural CC-59, CC-138
Options

Molecular Dynamics Options dialog box RM-369–RM-374
Options, calculation, setting up HM-136
Options, expert HM-107
options, force field, set up CC-208
839

Options, SCF HM-112
Options, shielding & coupling HM-105
Options, shielding and coupling HM-171
Options, spectral, setting up HM-118, HM-136
Orbitaldescribed RM-404
orbital CDK-227, CDK-228, CDK-230
Orbital Criterion CC-41

Configuration Interaction dialog
box RM-309
practical application RM-310
Orbital data, export RM-93
orbital data, export RM-78
Orbital data, import RM-78, RM-92
orbital eigenvalues (energies)
in log file RM-632, RM-633
orbital energy diagrams CC-230
orbital exponents, default, table CC-280
orbital occupancy CC-43
orbital plots CC-253
Orbital squared
Orbitals dialog box RM-404
Orbital, Orbitals dialog box RM-402
OrbitalsCompute Menu RM-401–RM-405
Compute menu RM-358
orbitals CDK-195, CDK-198, CDK-202, CDK204
total number in log file RM-633
Orbitals dialog box RM-401–RM-404
Orbitals on 2nd row, d, option HM-172
Orbitals, importing RM-92
Orbitals, storing RM-93
orientation, structure RM-82
orienting 3D structure GS-153
Origin, translate to, Edit menu RM-211
oscillating electric dipole CC-369
Oscillator Strength
Electronic Spectrum dialog box RM414
oscillator strength CDK-231

840

Other

Restraint Forces dialog box RM-342
Ousterhout, John CDK-95
Outer radius, MM+ Options dialog box RM293
out-of-plane bending CC-195
out-of-plane bending parameter file RM-673
out-of-plane bends CC-221
overlap integrals CC-262
overlap matrix
in log file RM-632, RM-634
overlap weighting factors, ZINDO CC-307
Overlapping Spheres options RM-264
Overlapping Spheres, Rendering dialog box
RM-259Overlay on Display menu GS-167
Overlay, Display menu RM-248
oxytocin, sample PDB file RM-507

P
31P HM-81, HM-82, HM-111, HM-119, HM-

178, HM-183, HM-185
pack CDK-24, CDK-99, CDK-101, CDK-106,
CDK-197
package CDK-129
Pan
Electronic Spectrum dialog box RM414
Orbitals dialog box RM-402
Pancreatic trypsin inhibitor complex, sample
PDB file RM-507
par parameter files RM-653, RM-661
parallel spins CC-288
parameter file path RM-103
Parameter files HM-251
parameter files RM-660–RM-661
compilation RM-353
parameter set CDK-223
parameter sets CC-205, RM-661–RM-664
parameter sets, compiling CC-208
parameter sets, new CC-207
Parameterization, TNDO HM-240
parameters, changed molecular mechanics CC-

181parameters, default CC-190
parameters, force field CC-176
parameters, missing CC-215
parameters, modifying CC-207
Parameters, semi-empirical HM-186, HM-198,
HM-251parameters, wild-card approach CC-215
Part of a system, calculating HM-82, HM-107,
HM-130Paste

copies from Clipboard to workspace RM-204–RM-205
cutting and pasting atoms RM-479–
RM-481

Edit menu RM-201
Paths RM-103
Pauli Exclusion Principle CC-35
pdb CDK-210
PDB Files
reading non-standard RM-81
PDB files, non-standard RM-504
PDB See Brookhaven Protein Data Bank
Peak information table HM-129
Peak information, plotting HM-129
Peak integration HM-127
Peak intensity, minimum level for inclusion
HM-190Peak line intensity HM-149
Peak line location HM-149
Peak line widths HM-125
Peak selection HM-127
Peak width function HM-124, HM-156
Peak width, fine control HM-127, HM-191
Peaks HM-149
Peaks, spectrum HM-156
Peaks, zoom in HM-126
peptideexploring alpha-helical nature of
GS-102
period, dynamics averaging CC-351
period, dynamics data collection CC-351

period, dynamics sampling CC-82
period, dynamics screen refresh CC-351
period, dynamics snapshot CC-351
periodic CDK-207, CDK-217
Periodic boundary conditions RM-336
periodic boundary conditions GS-159–GS-160,
CC-65, CC-210
cutoffs/dielectric adjustments GS161–GS-162
Periodic boundary conditions, dyanmics RM372
periodic boundary conditions, theory CC-210
Periodic Box RM-335–RM-339
options, dialog box RM-337–RM-338

size, Periodic Box Options dialog
box RM-337
Periodic Box Options dialog box GS-158–GS160
periodic box, non-aqueous RM-339
periodic box, removing RM-339
periodic-box-size RM-539
permittivity, dielectric CC-188
perspective CDK-216
Perspective View
for Z translation RM-43
Perspective View on Display menu GS-72
Perspective, Rendering dialog box RM-260
Perturbation theory, self-consistent HM-237
Perturbation theory, TNDO HM-233, HM-236
perturbation, classical CC-277
perturbation, Møller-Plesset CC-41
perturbation, second-order RM-321
Petzold, Charles CDK-160
phase space CC-100
phases, trajectory CC-346
Phenylalanine (Phe), amino acid residue RM143
Phi, amino acid residue torsion angle RM-144
picture settings RM-99
Picture, copying HM-103, HM-154
picturesfiles RM-100

841

planar molecules CC-334
PLANE
definition RM-22

Name Selection dialog box RM-238
Reflect through, Edit menu RM-208
Plane offset, 2D contour grid RM-395
playback CDK-226
playback dynamics GS-170
Playback, Options, Compute menu RM-373–
RM-374
Plot files RM-629
HyperChem files RM-620
Plot Molecular Properties RM-392
Compute Menu RM-391–RM-399,
RM-399–RM-400
Compute menu RM-358
Plot table data HM-170
Plotting coupling constants HM-138
Plotting peak information HM-129
Plotting results RM-399–RM-400
Plotting shielding constants HM-138
Plotting spectrum HM-139
PM3 CC-123, CC-132, CC-156, CC-249, CC305–CC-306
background RM-302
parameter files RM-680

Semi-empirical Method dialog box
RM-299POINT CDK-55
definition RM-22
Edit menu RM-212

Invert through, Edit menu RM-206–
RM-207

Name Selection dialog box RM-238
Translate to, Edit menu RM-210
Point

Restraint Forces dialog box RM-342
point charges CC-107, CC-256
Pointer rotate HM-157
Pointer select HM-157

842

Pointer Zoom & Translate HM-157
points, grid RM-393
points, status line report, geometry optimization
RM-363
Polak-Ribiere CC-61
Polak-Ribiere conjugate gradient method RM365
Polak-Ribiere optimization CC-338
Polarizability RM-458
polarizability CC-187
polarization functions CC-271
polarized basis sets CC-271
polynucleotide construction RM-497–RM-498
polypeptide creation GS-91–GS-98
polypeptide/polynucleotide backbone
Selection tool RM-245
pop CDK-211, CDK-213
Pople-Nesbet equations CC-237
Pop-up help for tool icons RM-27
potential
angle CC-23
electrostatic CC-27, CC-55
harmonic CC-24
Morse CC-24
non-bonded CC-26
nonbonded CC-29
torsional CC-25
potential energy surfaces CC-11, CC-12, CC164
potential intermediates CC-137
potential switching function CC-29
potential, electrostatic CC-141
potential, shifting CC-30
Power Station CDK-3, CDK-152
Preferences RM-95–RM-105
dialog box RM-95–RM-105
on File menu RM-78

settings, using multiple windows
RM-6
Preferences dialog box GS-52
Preferences on File menu GS-52

Preferences, color HM-165
Preferences, display HM-154
Primary axis, Align Molecules dialog box RM217
primary inertial axis RM-21
primary structure
displaying GS-116
primitives, GTO CC-263
principal moments of inertia
in log file RM-638
Print
on File menu RM-78
print CDK-207, CDK-214, RM-523
Print level, log files HM-189, HM-210
Print Levels, Mechanics and Quantum RM-90
Printers icons and Control Panel RM-94
printing
molecular system RM-616
results RM-362
print-variable-list CDK-67, CDK-215
problems, product support for GS-20
procedures in Tcl CDK-98
PRODUCT
Name Selection dialog box RM-238,
RM-239Product, reaction map list box RM-355
product, transition state search RM-387
products, reaction CC-144
program file path RM-103
program files RM-621–RM-622
Program files, HyperNMR HM-186
programming CDK-95, CDK-100, CDK-149,
CDK-155, CDK-159, CDK-173
Projected CNDO/INDO MO coefficients CC277
Projected Hückel MO coefficients CC-277
Proline (Pro), amino acid residue RM-143
propenecreating GS-57–GS-65
Properties
Element Table dialog box RM-122
properties, element RM-123, RM-475

protein backbone display RM-261
Protein Data Bank CDK-50
Protein Data Bank files RM-18, RM-503–RM507
creation RM-504–RM-507
open RM-80
options RM-85
samples RM-506–RM-507
save RM-84
proteins, construction RM-493–RM-495
protocol CDK-13, CDK-108, CDK-137
protocol, network RM-104
proton affinities CC-137
protonated nitrogens GS-214
protonation of water GS-221–GS-226
Pseudo-atoms HM-82, HM-132
pseudo-atoms GS-213–GS-214, RM-343
pseudo-halogens CC-258–CC-260
Psi, amino acid residue torsion angle RM-144
push CDK-211, CDK-213

Q
QCPE CDK-191
quadratic stretch CC-176, CC-191
quadruple zeta CC-271
quadrupole RM-692
Quantum atoms HM-82
Quantum atoms, selecting HM-107, HM-130,
HM-132, HM-173
quantum mechanics CDK-227
ab initio CC-31
semi-empirical CC-32
Quantum Print Level RM-90
quantum-atoms selection in HyperChem HM108, HM-133, HM-175
QuantumPrintLevel, in chem.ini RM-415, RM631
quartet CC-242
quasi-Newton CC-341
quenched dynamics CC-80
query-response-has-tag CDK-29, CDK-45,
CDK-101843

query-value CDK-29, CDK-50, CDK-99,
CDK-212
Quitting HyperNMR HM-104, HM-154

R
rA, nucleotide residue RM-159
radicals, free CC-242
Radii, atom rendering HM-189, HM-193
Raffenetti integral format CC-118, CC-274,
RM-322
Random seed, Monte Carlo and Langevin RM373
random velocities CC-345
Rayleigh-Schrödinger many-body perturbation(RSPT) CC-41, CC-246
Raytracing... RM-248
rC, nucleotide residue RM-159
REACTANT
Name Selection dialog box RM-238
Reactant, reaction map list box RM-354
reactant, transition state search RM-387
reaction barriers CC-33
reaction coordinate CC-14, CC-33, CC-144
reaction coordinate parameter (lambda) CC-69
Reaction Map CC-69, RM-353
reaction mechanisms CC-137, CC-339
reaction products CC-144
reactions, chemical CC-360–CC-363
reactivity, chemical CC-144
reactivity, ionic CC-146
read CDK-155
Read file HM-153, HM-163
read/write CDK-28, CDK-66
reading HSV CDK-29
reading PDB files RM-503
read-script CDK-44, CDK-211
read-tcl-script CDK-25, CDK-44, CDK-127,
CDK-211
real number CDK-52
real number, script arguments for scripts RM517
Recompute H Bonds, Display menu GS-206
Recompute Hydrogen Bonds RM-278

844

Display menu RM-249
rectangular selection GS-107
recursive scripts CDK-54
Reference shielding HM-119, HM-158, HM184, HM-192
Reflect RM-208
on Edit menu RM-202, RM-486
Reflect on Edit menu GS-138
reflection plane
defining GS-137
Refractivity RM-457
registering of HSV CDK-27
relaxation constant, bath CC-74
relief ridge on label CDK-103
REMARK, creating PDB-type files RM-505
remeasuring axial hydrogens GS-141
Remove Ionic Ends RM-146
Databases menu RM-140
Remove, Restraint Forces dialog box RM-341
removing atoms RM-473
render CDK-216, CDK-232
Rendering RM-248
Cylinders color scheme RM-263
dialog box GS-39–GS-43, RM-258–
RM-265
Rendering menu HM-155
rendering method RM-258
Rendering options HM-94, HM-144, HM-167
Rendering options, atom HM-168
Rendering options, bond HM-168
rendering options, isosurface RM-396
rendering, 3D RM-264, RM-265
Rendering, atom colors HM-188, HM-192
Rendering, atom radii HM-189, HM-193
Rendering, atoms HM-96
Rendering, bonds HM-99
rendering, isosurface RM-248, RM-274
Reopen HyperChem GS-57
reopening
HIN file GS-69
Replace selection HM-167
Replace table cells HM-154

repulsion, exchange CC-182
request to HyperChem CDK-35
REQUEST, Excel message RM-606
res, HIN file syntax RM-716
Rescale view HM-157
Rescale, Molecular Dynamics Results dialog
box RM-382
residue CDK-224
Residue name and number, Select menu RM226
residue template files RM-619, RM-727–RM741
residues RM-225–RM-226
amino acids RM-735–RM-737
bonded atoms RM-17
conformation RM-144
files RM-739
molecules built from RM-492–RM501
mutating nucleic acids RM-499–RM501
nucleic acids RM-737–RM-738
numbering RM-237
replacing GS-94–GS-98
Selection level RM-32
template files RM-727–RM-741
unusual RM-496, RM-501
Residues, Labels dialog box RM-282
Residues, on Select menu RM-221, RM-496
Resolution, spectrometer HM-183
resonance integrals CC-307
restart velocities CC-345
Restart, Molecular Dynamics Options dialog
box RM-374
Restore button HM-144
restore button, HyperChem Windows RM-5
Restrained Value
Restraint Forces dialog box RM-341
restraint CDK-227
Restraint Forces dialog box RM-340–RM-343
named selections RM-241

restraint, orientation of coordinated system
RM-343
Restraints RM-340–RM-343
restraints
calculations RM-341–RM-343
definition RM-340
Restraint Forces dialog box RM-340
restraints, structural CC-83
restraints, theory CC-212
Restricted Hartree-Fock (RHF) CC-38, CC116, CC-240–CC-244
Restricted Hartree-Fock calculation GS-183
Restricted Open-shell Hartree-Fock (ROHF)
CC-116
Results
analyzing with Excel GS-266
results
averages (CSV) file RM-629
from HyperChem RM-611–RM-618
stored in Log file RM-616–RM-617
Results, copying to Clipboard HM-137
Results, detailed output HM-210
Results, log file print level HM-189
Results, saving HM-118
rG, nucleotide residue RM-159
RGB Bitmap file format, Setup Image RM-100
RHF CDK-56, CDK-203, CC-38, CC-46, CC116, CC-237, CC-240–CC-244
RHF half-electron technique CC-48
RHF See Restricted Hartree-Fock
RHF, Spin pairing, Semi-empirical Options dialog box RM-307
rhinovirus, sample PDB file RM-507
ribbons CDK-217
Ribbons, Rendering dialog box RM-261
Ridley, J.E. and Zerner, M.C.
and ZINDO/S RM-680
ring structures
finding and selecting GS-121
rings
making aromatic GS-62, GS-82

845

selection GS-111
rings, atom typing syntax RM-659
rings, multiple aromatic RM-131
RMS Gradient CC-332
RMS gradient CC-63
RMS gradient, Termination condition, geometry optimization RM-366
RMS gradient, Termination condition, transition state search RM-387
RNA/DNA construction RM-497–RM-498
ROHF CC-116
Roothaan equations CC-235, CC-261
root-mean-square gradient CC-63
Rotatedialog box RM-209–RM-210
Edit menu RM-202
rotate CDK-215
rotate example CDK-43
rotating a side chain GS-124–GS-126
rotating molecules GS-69–GS-80
Rotating structures HM-89, HM-101, HM-157,
HM-161
rotation CDK-208
rotation speed RM-97, RM-98
rotation, group RM-39
rotation, side chain RM-39
rotational barriers CC-139
Rotational equivalence HM-83, HM-110, HM173, HM-176
RSPT CC-41, CC-246
rU, nucleotide residue RM-159
rules, atom typing CC-178
Run Script dialog box RM-106
Run steps, Monte Carlo RM-371
Run time, Molecular Dynamics Options dialog
box RM-370
Running HyperNMR HM-85, HM-142
running the calculation GS-136
running, trajectory CC-346
runtime CDK-149, CDK-151

S
saddle point CC-67

846

definition GS-129
saddle points CC-17, CC-33
sample PDB files RM-506
sampling interval CC-82
save a structure GS-97
Save Ason File menu RM-77
fill

PDB records, setting inchem.ini/Registry RM-782
stores molecular system in file RM83
Save file HM-153, HM-164
Save File dialog box GS-59, RM-83–RM-85
Save on File menu GS-59
Save, File menu GS-58–GS-60
Save, on File menu RM-77
savingcolor images RM-614
files in HIN format GS-59–GS-60
molecular system in HIN file RM-19

recalling selections, Selection tool
RM-34
results RM-362
structures GS-67

Visual Basic files GS-275
Saving molecules HM-118
scalar HSV CDK-31
Scale factor, Force Field Options dialog box
RM-294
Scale to Fit RM-250–RM-251
Display menu RM-248
Scale to fit HM-157
Scale to Fit on Display menu GS-74
scaling molecules GS-69–GS-80
Scaling structure HM-101
SCF CC-39, CC-234
SCF calculation options HM-112, HM-173,
HM-181
SCF calculation, direct CC-275
SCF convergence CC-49
SCF Technique CC-45

SCF. See Self-Consistent Field
Schrödinger equation CC-11, CC-171, CC-227
scr file CDK-22, CDK-50
Screen refresh period, Molecular Dynamics
Options dialog box RM-367, RM-373
script CDK-33
arguments CDK-30
initialization CDK-53
instantiation CDK-54
recursive CDK-54
script argument CDK-30
script command CDK-205
script commands CDK-4, CDK-7, CDK-22,
CDK-49, CDK-67
script editor CDK-54
script file CDK-22, CDK-52
script file path RM-103
script menu CDK-37
Script menu, enabling menu items RM-107
Script One . . . Script Ten RM-106
Script Menu RM-105
Script, startup RM-4
scripts RM-509–RM-584, RM-602–RM-609
arguments RM-516–RM-517
commands RM-516
cross reference of RM-579
input messages RM-510–RM-511
menu RM-105–RM-107
menu activators RM-517
online Help RM-115
syntax RM-511–RM-517
variables RM-510, RM-511–RM-516
Scroll bar, line width HM-148
scrolling, list of files GS-34
SDK CDK-10, CDK-159, CDK-173
second order optimizer CC-62
Secondary axis RM-21
Align Molecules dialog box RM-217
second-order perturbation RM-321
seed, HIN file syntax RM-715
Seed, random, Monte Carlo and Langevin RM-

373
select RM-232–RM-237

a group of atoms, Selection tool RM34

a polypeptide/polynucleotide backbone, Selection tool RM-35
a rotatable side chain, Selection tool
RM-35

rings, Selection tool RM-34
side chains, Selection tool RM-34
Select All RM-231

atoms to the sp3-sp3 bonds, Selection tool RM-35
Select menu RM-221
structures, Selection tool RM-35
select atom

HIN file syntax RM-722
molecules by name/number, Selection tool RM-34
Select Backbone RM-245

in any molecule, Selection tool RM33

in residue polymer RM-35, RM-246
Select menu RM-222
Select Backbone on Select menu GS-117
Select dialog box RM-233–RM-237
Select menu RM-220–RM-246
Complement Selection GS-106, GS115, GS-166
Multiple Selections GS-54
Select GS-51
Select Backbone GS-102, GS-117
use RM-34–RM-35
Select on Select menu GS-51
Select Parameter Set RM-351–RM-352
Select Parameter Set on Setup menu GS-202
Select Sphere RM-227–RM-230
Select menu RM-221
select then operate CDK-59
847

selecting CDK-66
a file GS-35–GS-37
atoms GS-51–GS-53
backbone GS-102–GS-103
groups of atoms GS-53–GS-55
ring GS-111
ring structures GS-121
side chains GS-111–GS-112
subsets GS-99–GS-112
Selecting atoms HM-102, HM-157, HM-161
selecting by name/number, atoms RM-236–??
Selection
HIN file syntax RM-720
icon, mouse clicks RM-31

Molecular Dynamics Averages dialog box RM-377–RM-379
Restraint Forces dialog box RM-341
selection CDK-55, CDK-205, CDK-209, CDK218
Selection Color RM-96
Selection Color, dialog box RM-283
selection levelsetting GS-51
Selection rules HM-249
selection scripts CDK-209
Selection tool RM-30–RM-31
measuring RM-35–RM-36
Selection, peak HM-127
selectrestraint
HIN file syntax RM-720–RM-722
setting flag for RM-721–RM-722
Self Consistent Field options HM-173, HM181
Self-Consistent Field
on Setup menu RM-298
Self-Consistent Field (SCF) CC-39, CC-234,
CC-261
Self-consistent perturbation theory HM-237
Semi-empirical
Options dialog box RM-305–RM-307

848

semi-empiricalfor quantum mechanical calculations RM-296–??, RM-296–
RM-297method RM-361
mixed mode RM-311
parameter files RM-679–RM-699
Semi-empirical dialog box RM-298–RM-300
Semi-empirical method HM-171
semi-empirical method, selection CC-134, CC153
semi-empirical methods CDK-228
Semi-empirical methods, conventional HM226
Semi-empirical methods, typed HM-228
Semi-empirical on Setup menu GS-182, GS206, GS-215
Semi-empirical Options (Hückel) dialog box
RM-304–RM-305
Semi-empirical parameters HM-186, HM-198
semi-empirical quantum mechanics CC-32
sensitivity, rotation and translation RM-97,
RM-98
Sequence, Residues, Labels dialog box RM282
serial number RM-115
Serine (Ser), amino acid residue RM-142
server CDK-16, CDK-35, CDK-108
set CDK-97
Set Atom Type RM-130–RM-131
Build menu RM-119
dialog box RM-131
Set Atom Type on Build menu GS-85
Set Bond
Angle dialog box RM-219–RM-220
Length dialog box RM-218–RM-219
Torsion dialog box RM-220
Set Bond Angle, Edit menu RM-202
Set Bond Length, Edit menu RM-202
Set Bond Torsion, Edit menu RM-202
Set Charge RM-132–RM-133

Build menu RM-119
dialog box RM-133
Set Charges on Build menu GS-85, GS-182
Set HSV
types of input messages RM-510

variables, script messages syntax
RM-511–RM-512
Set Mass RM-132
Set Velocity dialog RM-344
setting up graphics transfer RM-612–??
setting up restraints RM-342
settings
AMBER RM-749–RM-751
CHARMM RM-755–RM-758
display conditions RM-611
MM+ RM-769–RM-771
OPLS RM-773–RM-775

Registry or chem.ini default RM743–RM-785
Settings, HyperNMR default HM-186, HM187
Settings, WIN.INI HM-78
Setup Image preferences RM-99
Setup Menu HM-157
Ab initio
on Setup menu RM-288
Compile Parameter Fileon Setup menu RM-289
Network
on Setup menu RM-288
Periodic Box
on Setup menu RM-288
Reaction Map
on Setup menu RM-289
Restraints
on Setup menu RM-288
Select Parameter Set
on Setup menu RM-289
Semi-empiricalon Setup menu RM-287

Set Velocity

on Setup menu RM-288
Setup menu RM-287–??
Molecular Mechanics GS-201, GS205

script messages RM-545–RM-555
Select Parameter Set GS-202
Semi-empirical GS-182, GS-206, GS215
Setup, calculation HM-105
Setup, software HM-77
sextic angle bending CC-193
Shaded isosurface RM-398
Shaded rendering RM-264, RM-265
Shielding & coupling calculation options HM157, HM-171
Shielding and coupling calculation options
HM-105
Shielding constant view HM-145
Shielding Constants, calculating HM-113
Shielding constants, calculation option HM106
Shielding constants, plotting HM-138
Shielding constants, viewing HM-115, HM137, HM-155
Shielding tensor display HM-168
Shielding tensor, calculate HM-191
Shielding tensor, displaying HM-156
Shielding tensors HM-116
Shielding, magnetic HM-216
Shielding, reference HM-119, HM-158, HM184, HM-192
Shifted cutoffs, MM+ Options dialog box RM293
shifted function CC-108
shifting function CC-189
shifting potential CC-30
Shortcutclear workspace HM-159
coupling constants HM-115, HM-117,
HM-160849

file open HM-159
file save HM-118, HM-160
get structure HM-94, HM-136, HM-160
rotation HM-102, HM-160
selection HM-103, HM-160
shielding constants HM-115, HM-116,
HM-160translate and zoom HM-101, HM-160
view spectrum HM-122, HM-123, HM160

view structure HM-160
Show All RM-258

Display menu RM-248
Show All on Display menu GS-105
Show Axes on Display menu RM-21, RM-216
Show Dipole Moment RM-280
Display menu RM-249
Show Hydrogens RM-274–RM-275
Bonds RM-277–RM-278
Display menu RM-249
Show Hydrogens on Display menu GS-66
Show Inertial Axes RM-279–RM-280
Display menu RM-249
Show Isosurface RM-248, RM-274
Show Multiple Bonds RM-276–RM-277
Display menu RM-249
Show Periodic Box RM-275–RM-276
Display menu RM-249
Show Perspective RM-512
Show Selection Only RM-258
Display menu RM-248
Show Selection Only on Display menu GS-117
Show Stereo
setting in chem.ini/Registry RM-782
WallEyed Stereo RM-782
side chain rotation RM-39
side chain selection GS-212–GS-213
side chainsdisplaying GS-105, GS-117

rotating GS-124–GS-126
selecting GS-111–GS-112
side groups syntax, atom typing RM-659
simulated annealing GS-168–GS-170, CC-81,
CC-360
Simulation temperature, Molecular Dynamics
Options dialog box RM-372
Single Point
calculation RM-362
calculations GS-134, GS-155
Compute Menu RM-360–RM-362
Compute menu RM-357
on Compute menu GS-134
single point calculation CC-16, CC-53, CC-331
single point calculations CDK-206, CC-125
singlet CC-116, CC-229, CC-242
singlet ground states CC-39
singlet molecules CC-38
singlet-triplet splittings CC-40
singly excited CI CC-40
Singly Excited CI Method

Configuration Interaction dialog
box RM-309
practical application RM-310
singly occupied orbitals
in log file RM-632, RM-633
site-specific mutagenesis GS-94–GS-98, GS123
skillscreating a polypeptide GS-91–GS-98
creating small molecules GS-57
drawing/editing techniques GS-45
driving HyperChem from Excel GS253–GS-267, GS-279–??, GS287–??, GS-299–??

driving HyperChem from Visual
Basic GS-269
electronic properties of proteins GS209–GS-217

geometry optimization GS-129
850

getting started GS-27
lowest excited electronic state ofethylene GS-241–GS-249
measuring structural properties GS81

molecular dynamics in water GS-147
molecular orbital calculations GS179–GS-196

protonation of water GS-221–GS-226
translating/rotating/scaling molecules GS-69–GS-80
vibrations and transition states ofammonia GS-227–GS-240
water–N-methylacetamide interaction GS-197
working with macromolecules GS113

working with subsets GS-99
Slab, Z Clip dialog box RM-214
Slater determinants (microstates)
in log file RM-634
Slater exponents for shielding, option HM-107,
HM-172
Slater Type Orbitals (STO) CC-45, CC-263
Slater-Condon parameters CC-290
slave CDK-13
slice of molecule See clipping slab
Slow three-center integrals, option HM-172
Smallest box enclosing solute, Periodic Box
Options dialog box RM-337
smooth shaded isosurface RM-398
snapshotfiles RM-623
HyperChem files RM-620
Molecular Dynamics Playback
dialog box RM-376
SNP files RM-623–RM-629
Snapshot dialog box RM-375
snapshot files CC-357–CC-359

snapshot, dynamics period CC-351
snapshots GS-171
Sodium, counter ions RM-499
soft electrophiles and nucleophiles CC-146
solid color isosurface RM-398
solute temperature CC-77
solute-solute interactions CC-65
solute–solute interactions GS-159
solvatingalanine zwitterion GS-158
carboxyl group GS-203–GS-204
molecule optimization GS-162–GS163
solvation CDK-207, CC-65
Solvent effects HM-185
solvent effects CC-65, CC-210
solvent friction and diffusion CC-95
solvent temperature CC-77
solvents, non-aqueous RM-339
source command CDK-133
Space bar HM-101, HM-157
spacebarfor Rescale, Molecular Dynamics
Results dialog box RM-382
for Scale to Fit RM-250
Special Slater exponents for shielding HM-107
Specifying atoms HM-102
spectra CDK-231
Spectra, calculation HM-118
Spectra, envelope view HM-123
Spectra, line view HM-122
Spectra, plotting HM-139
Spectra, types HM-81, HM-183
spectra, UV-visible, saving RM-412
spectra, vibrational, saving RM-386, RM-408
Spectra, viewing HM-122, HM-139, HM-148,
HM-156
Spectral options HM-158
Spectral options, setting up HM-136, HM-182
Spectral values HM-129, HM-139
Spectral values, displaying HM-156, HM-169
Spectrometer frequency HM-183
851

speed, translation and rotation RM-97, RM-98
Spheres options RM-264
Spheres rendering GS-40–GS-41, HM-97
Spheres, Rendering dialog box

settings (CPK) in chem.ini/RegistryRM-781
Spheres, space-filling RM-259
spherical selection GS-108–GS-110
Spin coupling, nuclear HM-222
spin couplings CC-40
Spin density RM-392
spin density CC-55, CC-125, CC-253
spin density, plotting GS-189
spin interactions CC-291
spin multiplicities
in log file RM-633
Spin multiplicity HM-181

Semi-empirical Options (Hückel)
dialog box RM-304
Semi-empirical Options dialog box
RM-305spin multiplicity CC-46, CC-116
Spin multiplicity, Electronic Spectrum dialog
box RM-414
spin pairing CC-236
Spin pairing, Semi-empirical Options dialog
box RM-306
spin state CC-229, CC-242
Spin wave functions HM-247
spins, parallel or anti-parallel CC-288
spins, unpaired CC-38
Spin-spin coupling constants, option HM-106
splittings, singlet-triplet CC-40
split-valence basis set, table of KLM values
CC-268split-valence basis sets CC-268
spreadsheet CDK-107, CDK-115
spreadsheet program, Microsoft Excel RM-606
SPX/IPX RM-104
Square Planar
Constrain Geometry dialog box RM135
852

star in basis set name CC-271
Start Log
on File menu RM-78

stores chemical calculations RM-90
Start log file HM-154, HM-165
Start time, Molecular Dynamics Playback dialog box RM-376
starting HyperChem GS-27, RM-3–RM-4
Starting HyperNMR HM-85, HM-142
Starting temperature, Temperature, Computemenu RM-371
Starting value, 2D contour grid RM-396
Startup script RM-4
state energies
in log file RM-633
State, electronic HM-181
state, excited CC-242
state, lowest CC-242
State, Semi-empirical Options dialog box RM306
static field, classical CC-256, CC-277
static linkage CDK-150
stationary point
definition GS-129
stationary points CC-17
Stationary-state wave functions HM-248
statistical mechanical averages, dynamics CC345
Status bar HM-144
Status line HM-87
status line GS-29
status line report RM-363
status line, HyperChem Windows RM-6
atom report RM-224
molecule report RM-227
residue report RM-226
steepest descent CC-60
steepest descent on potential energy surface
RM-364steepest descent optimization CC-126, CC-335
Step count, Molecular Dynamics Playback dialog box RM-376

Step size

Molecular Dynamics Options dialog box RM-371
Molecular Dynamics Playback dialog box RM-376
step size, molecular dynamics CC-92
stereo CDK-216, CDK-217
Stereo, Rendering dialog box RM-260
stereochemistry CDK-219, RM-482

displaying stereobonds with wedges RM-482–RM-485
See also chirality
stereochemistry, changing GS-236
Stewart, J.J.P.
and PM3 RM-680
Stick Width, Rendering Options dialog box
RM-262
Sticks & Dots, Rendering dialog box RM-259
Sticks options RM-260
Sticks, Rendering dialog box RM-259
STO CC-45, CC-263
STO-3G exponents, table CC-267
STO-NG method CC-265
Stop Log RM-91, RM-616
on File menu RM-78
Stop log file HM-154
Stopping HyperNMR HM-104, HM-154
storing resultsin Log file RM-616–RM-617

Molecular Dynamics Simulation
RM-617–RM-618
str parameter files RM-660
stretch-bend cross term CC-106
stretch-bend interactions CC-194, CC-221
stretching parametersin log file RM-638
string CDK-30, CDK-51, CDK-97, CDK-146
string arguments, script messages RM-517
structural optimizations CC-138
structural properties
comparing GS-136–GS-137

measuring GS-133, GS-154
structural restraints CC-83
structurechem.tpl RM-727–RM-741
HIN file RM-711
TPL file RM-727–RM-735
structure alignment GS-180–GS-181
Structure copy HM-154
Structure input HM-75, HM-81, HM-89
Structure rendering options HM-167
Structure rotation HM-161
Structure selection HM-161
Structure translation HM-161
structures, saving GS-67
Subset, calculating HM-107, HM-130
subsets, complementing GS-106
Sugar Form, polynucleotide strand conformation RM-161
superposing
molecules GS-163–GS-168
Support GS-20, GS-21
Switched cutoffs, MM+ Options dialog box
RM-293switching function CC-108, CC-189
switching function, potential CC-29
Symbol, Atoms, Labels dialog box RM-281
Symbols, displaying atomic HM-96
symmetrical systems CC-41
Symmetry equivalence HM-83, HM-110, HM173, HM-176
Symmetry, Orbitals dialog box RM-403
synchronous transit GS-235, CC-69, CC-127,
CC-341
Synchronous transit, transition state search
RM-387
syntax
atom typing RM-656–RM-659
HIN files RM-712–RM-722, ??–RM723, ??–RM-723, ??–RM-723,??–RM-723, ??–RM-724, ??–RM-724, ??–RM-724, ??–RM-

853

724, ??–RM-724, ??–RM-724,??–RM-725, ??–RM-725, ??–RM-725script messages RM-511
TPL files RM-729–RM-735
sys, HIN file syntax RM-714
System requirements HM-77
System, Z Clip dialog box RM-214

T
Table cells, replace HM-154, HM-167
Table data, chart HM-170
Table, peak information HM-129
tags in TPL files RM-732–RM-733
tags, atomic coordinate RM-734
Tcl CDK-23, CDK-55, CDK-95
procedures CDK-98
Tcl books CDK-96
Tcl commands CDK-97
Tcl file CDK-24, CDK-127, CDK-133
Tcl resources CDK-96
Tcl script CDK-99, CDK-102, CDK-132,
CDK-196
Tcl/Tk CDK-6, CDK-95, CDK-127
Tcl/Tk interpreter CDK-127, CDK-149
Tcl/Tk script CDK-2, CDK-6, CDK-9, CDK22, CDK-45, CDK-157
TclOnly CDK-24, CDK-45, CDK-98
TCP/IP RM-104
TEMP, Selection, Molecular Dynamics Averages dialog box RM-378
temperature CDK-225
temperature regulation CC-73
Temperature step, Molecular Dynamics Options dialog box RM-372
temperature, constant CC-74, CC-80, CC-90
temperature, constant dynamics CC-347, CC349
temperature, dynamics CC-343
Temperature, Molecular Dynamics Options dialog box RM-371
temperature, reaction simulation CC-362
temperature, solvent CC-77854

template CDK-115
template file CDK-110
template files RM-727–RM-741
bonding information RM-733
syntax RM-729–RM-735
Tensor, display shielding HM-156, HM-168
Tensor, shielding, calculate HM-191
Tensors, shielding HM-116
TERMINATE, Excel message RM-606
Termination condition, geometry optimization
RM-366
termination condition, optimization CC-63
tertiary axis RM-21
Align Molecules dialog box RM-217
Tether to
Restraint Forces dialog box RM-342
Tetrahedral

Constrain Bond Angle dialog box
RM-138Constrain Geometry dialog box RM135
text communication CDK-140
text object in VB CDK-122
Text, Help HM-186
THAPI CDK-128, CDK-129, CDK-130
Theory HM-213–HM-252
Three-center integrals, include option HM-172
three-dimensional group selection RM-230
three-dimensional rendering RM-264, RM-265
Threonine (Thr), amino acid residue RM-143
Time
Compute menu RM-370
on status line RM-373
time periods, Molecular Dynamics simulation
RM-382–RM-469
time step, trajectory CC-346
timeout CDK-131, CDK-148
TIP3P water model CC-65
TIP3P water molecules RM-336
title CDK-207
of window CDK-47

Title bar HM-87, HM-143
title bar GS-28
title bar, HyperChem Windows RM-5
Tk CDK-6, CDK-23, CDK-55, CDK-129
Tk dialog box CDK-47, CDK-201
TK window CDK-134
TNDO HM-225
TNDO parameterization HM-240
TNDO perturbation theory HM-233, HM-236
TNDO/1 HM-171, HM-214, HM-229
TNDO/2 HM-172, HM-214, HM-230
Tool bar HM-87, HM-144
tool bar GS-28
Tool Buttons HM-159
tool command language CDK-6
Tool Menu HM-157
Tool preferences RM-97
Toolbarclear workspace HM-159
coupling constants HM-115, HM-117,
HM-160file open HM-159
file save HM-118, HM-160
get structure HM-94, HM-136, HM-160
rotation HM-102, HM-160
selection HM-103, HM-160
shielding constants HM-115, HM-116,
HM-160translate and zoom HM-101, HM-160
view spectrum HM-122, HM-123, HM160
view structure HM-160
toolbar CDK-47, CDK-207
Toolkit CDK-9, CDK-95
tools RM-27–RM-50, RM-61–??
Help menu RM-115

icons
HyperChem Windows RM-5
mouse clicks RM-27
popup help RM-27

XY rotation GS-75
XY translation GS-70–GS-71
Z translation GS-72
Zoom GS-73
Top level setting, choosing extent of Copy Image RM-612
Top level window, Setup Image RM-100
topic
DDE CDK-108
torsionbond constraint GS-141
torsion angles
measuring GS-87–GS-88
plotting energy vs. angle GS-263–GS267
torsion angles and multiple aromatic rings RM131
torsion parameter file RM-669–RM-670
torsional angle rotation CC-182
torsional angles CC-183
torsional energy CC-195, CC-198, CC-203,
CC-221
torsional potential CC-25
torsion-angle, atomic coordinate in TPL file
RM-735
torsions, improper CC-184
Total charge
density RM-393

Semi-empirical Options (Hückel)
dialog box RM-304–RM-305
Semi-empirical Options dialog box
RM-305
total charge density, plotting GS-188
total density matrix
in log file RM-632
total electron density CC-54
total energy
in log file RM-632, RM-633
Total Energy, on status line RM-373
Total spin density RM-392
total spin density CC-55
855

total spin density, plotting GS-189
total-energy CDK-206
TPL. See template files
trajectory phases CC-346
trajectory, classical CC-360
Trans, Constrain Bond Torsion dialog box RM139
transfer RNA, sample PDB file RM-507
transferring graphics RM-612–??
transforming from chair to boat cyclohexane
GS-137–GS-138
transit, synchronous, transition state search
RM-387transition dipole CC-369
Transition intensities HM-249
Transition State RM-386
Compute menu RM-358
transition state search CC-17, CC-67, CC-127,
CC-340transition state searching GS-234, GS-235
transition state setup RM-353
transition states CC-33, CC-138
Transition Structures CC-339
Transition, Electronic Spectrum dialog box
RM-414transitions, selecting in Electronic Spectrum dialog box RM-414
Translatedialog box RM-210–RM-212
Edit menu RM-202
translate CDK-216
Translate dialog box GS-71–GS-72
Translate Selection, Translate dialog box RM211
Translate Viewer, Translate dialog box RM211
Translating a molecule HM-89
translating molecules GS-69–GS-80
Translating structure HM-161
Translating structures HM-100, HM-157
translation CDK-208
translation speed RM-97, RM-98
translation, fast RM-98
856

Translucent surface RM-398
Transparency Level, isosurface RM-398
Transparent isosurface RM-398
Trigonal

Constrain Bond Angle dialog box
RM-138Constrain Geometry dialog box RM135
triple zeta CC-271
triplet CC-116, CC-229, CC-242
triplet ground states CC-47
triplet open-shell ground states CC-39
Tripos MOL2 FIles
save RM-84
Tripos MOL2 Files
open RM-80
trypsin inhibitor complex, sample PDB file
RM-507
Trypsin, sample PDB file RM-507
Tryptophan (Trp), amino acid residue RM-143
tutorial
Ab Initio calculations GS-219
HyperChem calculations GS-127–
GS-128
Tutorials HM-85–HM-140
twist boat cyclohexane GS-141
optimization GS-143
twist boat structure minimization GS-143
two-dimension selection RM-227–RM-228
two-electron integral cutoff CC-117
two-electron integrals CC-272
format CC-118
Raffenetti format CC-118
txt files, parameters CC-206
txt force field parameter files RM-653
Type
Atoms, Labels dialog box RM-282
Parameter file RM-665
type 1 CDK-9, CDK-22, CDK-49
type 2 CDK-9, CDK-22, CDK-95
Type files, atom HM-194

Type, atom HM-186
Typed Neglect of Differential Overlap (TNDO)
HM-214, HM-225
Typed semi-empirical methods HM-228
typerule.bin force field file RM-653
types, atom CC-176, CC-177
Types, atom, setting HM-105
Types, calculate atom HM-155
Types, displaying atomic HM-96
typing rules for atoms RM-655
Typing rules, atom HM-194
typing rules, atom CC-178
Tyrosine (Tyr), amino acid residue RM-143

users list GS-21
Using Help, Help menu RM-115
using HyperChem script messages RM-510–
RM-517
Using Stereo RM-268–RM-269
utilities RM-77–RM-78
UV spectrum, importing RM-92
UV spectrum, storing RM-93
UV visible spectra
and ZINDO/S RM-300

computingpractical applications RM-414–
RM-415Usaving information in log file

UHF CDK-56, CDK-227, CC-38, CC-46, CC116, CC-237, CC-240–CC-244
UHF, Spin pairing, Semi-empirical Options dialog box RM-306
ultra violet CDK-231
UMSG CDK-15, CDK-33
United Atom force fields CC-28
United Atoms RM-128–RM-129
Build menu RM-118
united atoms CC-178, CC-197, CC-201, CC202
units, force constants CC-191
UNIX CDK-1, CDK-17, CDK-18, CDK-107,
CDK-129, CDK-155, CDK-188
unloading CDK-124
Unoccupied Orbital Criterion

Configuration Interaction dialog
box RM-309
unpaired spins CC-38
Unrestricted Hartree-Fock (UHF) CC-38, CC116, CC-240–CC-244
Unweighted constant, Semi-empirical Options(Hückel) dialog box RM-304
update CDK-45, CDK-47
Urey-Bradley term CC-106
user interface CC-161
user interface, HyperChem GS-25, GS-27–GS35

RM-415in log file RM-633
UV-visible spectra CC-40, CC-129
computing CC-363–CC-364
theory CC-363–CC-364
UV-visible spectra, characteristic CC-153
UV-visible spectra, saving RM-412

Vvalence atomic orbitals CC-279
Valence state ionization energy (VSIE) CC-281
Valine (Val), amino acid residue RM-143
Values, display spectral HM-169
Values, spectral HM-129
Values, spectral, displaying HM-156
van der Waals CC-182, CC-184, CC-196, CC199, CC-201, CC-204, CC-222
van der Waals energy
in log file RM-638
van der Waals interactions CC-26
van der Waals scale factor, Force Field Options
dialog box RM-295
variable CDK-101
variables in Tcl CDK-97
variables, script messages RM-510–RM-511
vector HSV CDK-32, CDK-101
vector variable CDK-115
vel, HIN file syntax RM-718
857

CDK-154, CDK-204

Velocities

Molecular Dynamics Snapshots dialog box RM-375
storage RM-85
velocities CDK-56, CDK-210, CDK-221
velocities, distribution of atom CC-76
velocities, random distribution CC-345
velocities, rescaling CC-347
velocities, restart CC-345
velocity, set atom RM-344
Verlet algorithm CC-97
version number RM-115
Vertical grid points RM-395
vertical ordering CDK-99
vibration, transition state search RM-387, RM389, RM-390, RM-391
vibrational analysis CDK-207, CDK-217, CC128, CC-149
and IR spectroscopy CC-365–CC-371
vibrational spectra, saving RM-386, RM-408
Vibrational Spectrum
Compute Menu RM-406–RM-410
Compute menu RM-358
vibrational spectrum, importing RM-92
vibrational spectrum, storing RM-93
Vibrations
Compute Menu RM-385–RM-386
Compute menu RM-358
vibrations and transition states of ammonia GS227–GS-240
vicinal interactions CC-182, CC-190
View Menu HM-155
View molecular system HM-144
View spectrum HM-148
view, HIN file syntax RM-715
Viewer's Coordinate System RM-19
Viewer, Apply to, Rotate dialog box RM-211
Viewer’s Coordinate System HM-152
virtual orbitals CC-43, CC-46
visible atoms RM-222
Visual Basic CDK-2, CDK-9, CDK-107, CDK119, CDK-139, CDK-149, CDK-150,858

adding .exe file to program group
GS-276

controls as graphical objects GS-270
creating a form GS-270–GS-272
creating an executable file GS-275
customizing an interface GS-272
driving HyperChem GS-269–GS-276
entering code GS-273–GS-275
saving files GS-275
Visual Basic controls CDK-120
Visual C++ CDK-3, CDK-149, CDK-159,
CDK-173
VMSG CDK-15, CDK-34
Volume RM-456
VSIE CC-281
VSIE values, table CC-281

W
walleyed stereo RM-268–RM-269

setting in chem.ini/Registry RM-782
Walsh’s rules CC-43
warning CDK-214
warning messages RM-359–RM-360

destination, in chem.ini/RegistryRM-765watermolecular dynamics GS-147–GS-177
molecules
creating GS-179–GS-180
water box CC-211
water model, TIP3P CC-65
water molecules RM-501
water template files RM-619–RM-621
water–N-methylacetamide interaction GS-197–
GS-207wave function CC-37
wave function calculation GS-182–GS-183,
GS-206, GS-214–GS-216
Wave functions, spin HM-247
Wave functions, stationary-state HM-248

Wavelength, Electronic Spectrum dialog box
RM-413, RM-414
Weak coupling approximation HM-183, HM250
wedgesdisplaying stereobonds with RM-482
explained RM-484
types of RM-482
Wedges, Rendering dialog box RM-261
Weighted diffuseness, Semi-empirical Options(Hückel) dialog box RM-304
widget CDK-46, CDK-98, CDK-102, CDK120, CDK-129
Width, peak, fine control HM-191
width, rendered sticks RM-262
Widths, line HM-156
wild-card approach, parameters CC-215
WIN.INI settings HM-78
windowborder, HyperChem Windows RM-6
changing size of GS-29
parts of HyperChem window GS-28–
GS-29
Setup Image RM-100
Window applications GS-251, GS-277
Window Color RM-95
window title CDK-47
window, expanding to full screen GS-45
Window, HyperNMR HM-86, HM-142
window_color CDK-141
window-color CDK-22, CDK-27, CDK-116,
CDK-122, CDK-141, CDK-179,
CDK-218
Windows
HyperChem RM-4–RM-6
keyboard alternatives RM-9–RM-12
Windows API CDK-10, CDK-159
Windows Applications
graphics from WMF RM-615
using DDE RM-604–RM-605
Windows Clipboard, graphics stored RM-613–

RM-614
Windows Program Manager, Main icon RM-94
windows, keyboard alternatives GS-31
Windows, Microsoft HM-77
WinMain CDK-156, CDK-165
WINSOCK CDK-18, CDK-149
Wire mesh isosurface RM-397
wish CDK-128, CDK-150
Wizard CDK-174, CDK-176, CDK-178
WMF. See metafiles
WndProc CDK-165
Woodward-Hoffmann rules CC-43
Word Basic CDK-113
Word Macros CDK-110
word processor CDK-107
work, saving GS-58–GS-60
working in dialog boxes RM-14
worksheet (Excel) GS-264
Workspace
HyperChem Windows RM-5

setting, choosing extent of Copy
Image RM-612
window, Setup Image RM-100
workspace GS-29
clearing GS-56
Workspace, HyperNMR HM-86, HM-142
World Wide Web CDK-23, CDK-96, CDK-117
write CDK-155
Write file HM-153, HM-164
writing HSV CDK-29

X
X AxisAlign Molecules dialog box RM-217
Align Viewer dialog box RM-215
Rotate About, Rotate dialog box
RM-210
XLM files CDK-117
XY rotation HM-101

right button functions RM-20
tool RM-37–RM-38
XY rotation tool GS-75
859

XY translation HM-100

right button functions RM-20
step size setting RM-43
tool RM-40–RM-41
XY translation tool GS-70–GS-72

Y

Semi-empirical Method dialog box

Y AxisAlign Molecules dialog box RM-217
Align Viewer dialog box RM-215
Rotate About, Rotate dialog box
RM-210Z
Z AxisAlign Molecules dialog box RM-217
Align Viewer dialog box RM-216
Rotate About, Rotate dialog box
RM-210Z Clipdialog box RM-213–RM-215
Edit menu RM-202
Z Clip dialog box GS-76, GS-77
Z clipping tool GS-76–GS-79, RM-47–RM-49
Z form, polynucleotide strand conformation
RM-160Z rotationright button functions RM-20
setting amount RM-40
tool RM-39–RM-40
Z rotation tool GS-76
Z translation RM-43–RM-45
right button functions RM-20
tool RM-43–RM-45
Z Translation tool GS-72
ZDO CC-284
Zerner, Michael
and ZINDO/1 RM-680
zero differential overlap (ZDO) CC-284
zeta, double CC-270
Zeta, polynucleotide torsion angle RM-161
860

zeta, triple and quadruple CC-271
zindo CDK-228
ZINDO/1 CC-123, CC-132, CC-157, CC-249,
CC-252, CC-306–CC-308
background RM-303
parameter files RM-680
RM-299ZINDO/S CC-123, CC-132, CC-157, CC-249,
CC-252, CC-307–CC-309
and UV visible spectra RM-300
background RM-303
parameter files RM-680, RM-696, RM700

Semi-empirical Method dialog box
RM-300Z-Matrix file HM-81, HM-89, HM-153, HM163, HM-186, HM-200
Z-Matrix files
input filter RM-81
open RM-80
save RM-84
Zoom
dialog box RM-212
Edit menu RM-202
sensitivity setting RM-46
tool RM-45–RM-46
zoom CDK-208, CDK-216
Zoom Factor, Zoom dialog box RM-212
Zoom in, spectrum HM-126
zoom speed RM-97, RM-98
Zoom structure HM-101, HM-161
Zoom tool GS-73–GS-74
Zoom, Electronic Spectrum dialog box RM-413
zwitterion
creating GS-93–GS-94
zwitterions creation RM-495