The extensions for storing orbital information are:
IsosurfaceValue: The value which the isosurface represents. The
isosurface is built up from interpolating between
the values on the grid points to find point in space
with this value.
OrbitalRendering: 0 for mesh, 1 for unshaded polygons, 2 for shaded polygons.
GridStepCount: The three integers give the number of points in the x,
y, and z directions (multiply the three to get the
total number of grid points).
GridStepSize: This real number gives the increment (in Angstrom)
between grid points for each of the x, y, and z directions.
GridOrigin: This gives the starting point for the grid (i.e. the
point with the lowest x, y, and z coordinates).
GridData: The values for the grid points, in the order of z
varying fastest, then y and x varying slowest.
Note that one set of data may span several lines
but each line begins with "GridData" so that HyperChem
can ignore it (it is just for line width that there
are six numbers per line).
Some (non-optimal!) psuedo code for reading in the grid would be:
iPoint=0
for ix=1 to GridStepCount(1)
x_coord = GridOrigin(1) + (ix-1)*GridStepSize
for iy=1 to GridStepCount(2)
y_coord = GridOrigin(2) + (iy-1)*GridStepSize
for iz=1 to GridStepCount(3)
z_coord = GridOrigin(2) + (iz-1)*GridStepSize
iPoint = iPoint + 1
Value = GridData(iPoint)
end for
end for
end for
This question has come up from users wishing to use ChemPlus to plot isosurfaces of the density or other properties.
[Products] [Sales] [Support] [Science] [News] [Corporate] [Search] [Home]
(c) 2003, Hypercube, Inc. All Rights
Reserved.
1115 NW 4th Street, Gainesville, FL 32601 USA
Phone (352) 371-7744 Fax (352) 371-3662 email
info@hyper.com