home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software of the Month Club 1994 November
/
SOFM_Nov1994.bin
/
pc
/
sri
/
kids
/
science
/
1443
/
chem.doc
< prev
next >
Wrap
Text File
|
1988-01-08
|
12KB
|
311 lines
CHEMICAL Ver 2.00 Oct 3, 1987
CHEMICAL is a molecular modeling Program to aid in the formation
of three dimensional pictures of chemicals. Atoms are selected
from a Periodic Table (using the A command) and electron
orbital information retrieved. The Atoms are then bonded
(using the B command). The chemical is displayed as it is
being constructed. The chemical can be viewed from different
directions by using the up and down cursor keys and the V
command. If desired the Hybrid and Ionize commands can be used
to alter the orbitals before bonding. Atoms can be bonded
into groups, then the groups bonded to other groups to make
large chemicals.
CHEMVIEW is a companion program that shows 3-dimensional
animation of the models generated with CHEMICAL. CHEMVIEW
requires an EGA board and monitor. CHEMVIEW is written in
turbo pascal with the graphics I/O done in assembly. CHEMVW87
is identical to CHEMVIEW except that it uses the 8087 co-
processor. To use CHEMVIEW simply start the program and
select the file desired.
CHEMICAL requires 640K bytes of RAM and a CGA or EGA
display. When using a CGA the additional character set
should be loaded using the DOS GRAFTABL command.
Commands are selected by depressing the first letter of
the command or by depressing (cr) if the command has already
been selected. The following commands are available:
Version 2.0 has improved user interface and speed. In addition,
ring structures required for Organic Chemicals are now easier to
make. The sp2, sp2-5, sp3_5, and sp3_6 hybirds form the correct
angles for 5 and 6 ring structures respectively. The default
bond selection will form a ring. Thus making ring structures
requires selection of the corresponding hydrid and use of the
return key to select the default bond.
The commands for version 2.00 of chemical are:
A - (Atom) This command displays a periodic table.
Elements are selected by moving the cursor to the
desired Element, then depressing the CR key. The esc
key is used to exit this command.
B - (Bond) This command is used to bond two atoms. A list
of all atoms selected is displayed, along with its
electron orbital configuration. The size of the atom is
determined the first time it is bonded.
C - (Clear) This command clears the screen and the buffer for
all Atoms and Bonds selected so far. A Yes/No menu is
used to reduce the change of accidently clearing the buffer.
FB - (View Buffer) This command stores the buffer under the
file name TEMP.DAT, then allows the file to be viewed.
FH - Show help file
FM - Minimize Chemical File size by deleting unused
orbitals. Do not use this command until you are
completely done, since no additional bonds can be
made to a minimized file.
FR - Read a Chemical File
FS - Goto Operating System
FT - Show Tutorial File
FV - View a file from disk
FW - Write a Chemical File
G - (Group) This command is used to attaches groups of atoms
that were made using the Bond command. One atom from
the group selected is attached to an atom of a group
previously selected. The new group can be rotated
around the X,Y, or Z axis before it is attached.
H - (Hybrid) This command is used to combine electron orbitals
into hybrids. A list of the possible Hybrids is displayed.
A _5 or _6 ending indicates that the bonding angles have
been rotated to make a 5 or 6 bond ring.
I - (Ionize) This command is used to ionize an atom. A list of
the possible ionizations is displayed.
MA - (Move) This command is used to manually move an Atom or
Group
MC - Change color of atom. The color for all atoms of the
type selected are changed.
MD - Deletes a selected atom from the current buffer. This
command is most useful for modifing an existing file
into a similar chemical. All atoms following the one
selected are re-numbered. This command may require
several seconds on large files.
MR - (Re-center) All atoms are re-centered on the screen.
This command is used when reading files generated by
older versions of CHEMICAL.
MX - Rotate atoms around X axis. Do not use any of the
rotate commands until the molecule is complete. The
angle for bonds made after rotation may not be correct.
MY - Rotate atoms around Y axis
MZ - Rotate atoms around Z axis
R - (Not on Menu) Read to buffer from TEMP.DAT
SB - Toggles Bond lines on/off
SE - Toggles expanded view on/off
SG - Toggles grid on/off
SN - Toggles atom numbering on/off
V - (View) This command will show the view of the chemical
that has been selected by the up/down cursor keys.
The horizonal axis and vertical axis are shown in the
upper right hand corner of the screen. Lines are
shown to indicate bonds. The upper right hand corner of
the screen shows which axis (X, Y, or Z) is aligned
with the vertical and horizontal view shown.
W - (Not on Menu) The Write command write the buffer to
the file TEMP.DAT. The Write and the Read commands
can be used to recover from an error during
construction of a chemical.
Example 1: Make Water Molecule
1) Use the A command to show periodic table
2) Select O,H, and H using the cursor keys and Enter Key
3) use esc to exit A command
4) Select the Bond Command
5) Select O and H
6) Select shared (default) bond
7) Select one of the O-H bonds
8) Use the Bond Command to make the other O-H bond
Example 2 Saving to Disk
FW Write Buffer to Disk command
H2O (cr) file name
Water H2O(cr) title
FM Minimize File command
(select H2O file)
The file saved on disk looks like this (after using the (F)ile/
(M)inimize command to eliminate unused orbitals):
chemical_name("H2O Water")
chemical(a(3,"H ",o("1s",1,"σ",1)))
chemical(a(1,"O ",o("3p(z)",1,"σ",3)))
chemical(a(2,"H ",o("1s",1,"σ",1)))
chemical(a(1,"O ",o("3p(y)",1,"σ",2)))
atomlocation(1,l(0,-466,-466,0.7,0,0,0,6),1)
atomlocation(2,l(0,931,-466,0.375,4.712387201,0,1.57079633,1),1)
atomlocation(3,l(0,-466,931,0.375,0,-1.57079633,0,1),1)
commandactive("Files")
viewshown("Top")
grid(8)
atom_count(4)
Each orbital is represented by a line labeled "chemical" and contains
the Selection Number, the Atom Name, the orbital name, the number of
electrons in this orbital, the bond type(if bonded), and the atom
number bonded to. Each atom has a line labeled atomlocation giving:
the X,Y,Z coordinates, the radius, the X,Y,Z rotation angle of the
Atom, and the color of the atom (last integer is used internally in
program).
Several people have requested the capability to output CHEMICAL
files to other I/O devices or formats. A program can be written
to convert to/from the atomlocation values in the *.DAT file.
The X,Y,Z values are two byte integers that need to be divided
by 1300 to give angstroms. The radius is an 8 bytes real (IEEE
format) value in angstrums.
Example 3: Benzene C6H6
1) Clear previous entries with (C)lear
2) Enter 6 Carbon Atoms using (A)tom
3) Select the sp2 hybrid for each Carbon Atom using (H)ybrid
5) Use the Up/Down cursor key to set view to TOP
6) Bond Atoms 1-2, 2-3, 3-4, 4-5, 5-6, 1-6 (selecting highlighted bond)
7) Make a pi bond between atoms 1-2, 3-4, and 5-6 using (B)ond
8) Enter 6 Hydrogen Atoms using (A)tom
9) Bond each hydrogen atom to a carbon atom
Note: The sp2-5, sp3_5, sp2, and sp3_6 hybrids can be used to
make 5 and 6 atom rings by selecting the highlighted bond.
Linear chains can be made by selecting the bonds labeled
' and ' or ` and `.
Example 4) [Co(NH3)6]3+ Coordination Compound
1) Select Co and six N atoms
2) Select the +3 ionization and d2sp3 Hybridization of Co using
the Ionize and the Hybrid commands
3) Select the sp3 Hybriization of N using the Hybrid command
4) Bond the six d2sp3 orbitals on Co with the six N atoms
5) Select 18 hydrogen atoms
6) bond the hydrogen atoms to the six nitrogen atoms
Major Updates since version 1.3:
* Graphics routines rewritten in Turbo C
* CGA mode now uses color
* Interface updated so that a mouse can be used
* Atom are shown on left as they are selected
* Atom selection uses cursors keys
* Atom are now centered on the screen as they are formed.
Files read from previous versions of CHEMICAL may need to
be centered via the MC command.
* Ring structures can be made easily by selecting the
hightlighted bond.
* Delete atom command fixed
Version 2.00 is designed so that a mouse can be used if
desired. A three button mouse should be set up so that the
buttons simulate the CR, esc, and Space keys. Movement of
the mouse should simulate cursor keys. A configuration file
is included for a mouse systems mouse.
CHEMICAL is written is Turbo Prolog. Only the most basic
rules of chemical bonding are included in version 2.00.
Prolog facts are included for the orbital configuration of
each element, possible hybrids, possible ions, 3D angle for
each type of electon orbital, and atom radius. Prolog rules
control the formation of hybrids, formation of ions,
distribution of electrons, bonding, and placement in 3 dimensions.
Disk Files:
1) CHEMICAL.EXE 260 Kbytes Executable Code
2) CHEM.DOC 12 Kbytes This document
3) CHEM.TUT 4 Kbytes Chemical Bonding Tutorial
*4) CHEM.PRO 22 Kbytes Main Program / Executive
*5) CHEMPRED.PRO 3 Kbytes Global Predicates
*6) CHEMDOM.PRO 1 Kbytes Global Domains and DataBase
*7) CHEMSUB.PRO 21 Kbytes Command Subroutines
*8) CHEMRULE.PRO 18 Kbytes Ionize, Hybrid, Bonding rules
*9) CHEMDATA.PRO 14 Kbytes Chemical Data Atoms,Radius, etc
10) *.DAT Chemical Data Files made
11) CHEMVIEW.COM Animation program (Pascal)
*12) CHEMVW87.COM 8087 Animation program
*13) CHEMVIEW.PAS Pascal Source
*14) CHEMC.C Source code for C subroutines
*15) CHEMC.OBJ Object Code
*16) GPBALL.BIN Assembly Subroutine
*17) CHEMLINK.BAT Batch file for
*18) M_CHEM.MSC Mouse Systems source code
*19) M_CHEM.COM For use with Mouse Systems
* These Files are available from the author
CHEMICAL and CHEMVIEW are placed in the Public Domain and
may be freely copy and distributed. The latest version of
both programs with source code can be obtained from the
author for $20. The source code is not for public distibution
and is only available from the author.
Larry Puhl
6 Plum Court
Sleepy Hollow, Ill. 60118