Subject: Why AVS has a Chemistry Datatype

From: [email-masked] (Joe M Leonard)
Date: Thu, 14 Jan 1993 11:18:26 -0500

o wanted to post at least part of the rational for the AVS Chemistry
Datatype, and why such datatypes are important.  Granted, if one is willing
to create customized datatypes for individual applications, they will
be more suitable that the Molecule Datatype (MDT).  If, however, one is
interested in sharing modules among folks who aren't specifically working
together, it is easier to utilize a standard, yet expandable datatype
as a means of insuring that the modules developed in various places
work together.

It was pointed out that Chemical data can take several forms, ranging from
a multi-dimensional grid to a tree/graph structure.  While I am
familiar with AVS, I am certain that all three packages (DX, SGI's Explorer
and AVS) have many easy ways to import gridded data.  There are also
module generators, interface generators and the like that make visualization
environments the best development environment I've seen to create new
applications (which is a reason MSI adopted AVS for it's ChemistryViewer).

Also, since the viz tools are source code compatible across all supported
platforms, the cost of porting/maintenance is greatly reduced, since the
coder(s) don't have to be concerned with data passing mechanisms, scheduling,
graphics environment, etc.  Having application-specific, standardized
datatypes (such as MDT) allows data that is unique to a scientific and/or
engineering discipline to flow among modules in a natural way.

While I don't have any direct involvement with AVS or AVS-based
projects (we use it for some prototyping here at Wavefunction), I was
at Stardent when it was developed.  Mark Benzel at MSI had tremendous
contributions to the design of the MDT, and input was solicited from
chemists is other disciplines.  The MDT was a successful compromise,
what it lacks explicit support for can be easily added as user-defined
extensions (which then must be passed among developers to make
modules interoperable).  For a first attempt, I feel we hit about 80%
on the nose, and there are easy additions which can be made if the
marketplace needs/wants them.

Hey, I tried to sell viz tools to chemists, and was repeatedly told
that they lacked any chemistry (and didn't have anything that chemists
could use, anyway).  Sadly, only 10-20% are going to actually write
code, so until there's a large number of application modules, viz 
systems are going to have limited acceptance.  Having simple,
standard intercommunication methods helps guarantee that modules created
by different folks (and unaware of other's efforts) will work together.

Finally, it is the proliferation of Chemical information formats that
will force the need for 20-50 data input modules.  Until us Chemists
agree on a smaller number, or folks are willing to write a bunch of
data description language, all that can be done is to write/clone
input modules and make them available in a collection somewhere.
These can also be suitable modified to create modules that output
data in various formats as well.

Joe Leonard
[email-masked]

P.S. Before I forget, there was a third guy who actually did the work
to implement the MDT - Ed Bagdonas, also formerly of Stardent.  He's
still working closely with AVS, and has been since, well, our enforced
vacation 15 months ago :-).