NanoCAD version 0.21
(c) 1996,1997 Will Ware
GNU General Public License and all that
tested on Win95, Linux, and SunOS
A lot of things are different in this version.
* The control panel and drawing/viewing canvas come up in separate windows,
and the MrEd console stays up. This gives the user more freedom to
configure his screen the way he wants, and lets him type to the
Scheme interpreter when he wants.
* The code has been made MUCH more readable by using an object-oriented
approach to data structures, instead of picking things out with
hairy combinations of 'car' and 'cdr'. Elements, species, and
hybridization are handled much more cleanly. This will make it
much easier for the user to understand and modify the code, and
it will be easier to add more elements, when I get around to
doing that.
* Force calculations have been made faster by changing the format of the
term list; terms are now functions with no arguments. 'list-ref'
is now done only during setup-terms, which runs very infrequently.
Calculations have also been sped up by precalculating all difference
vectors and distances for all pairs of atoms. If this isn't done in
advance, the same work would be done many times by the terms.
* Source files split up along functional lines. A GUI-less version of
NanoCAD can now be used in MzScheme, and perhaps other Scheme
implementations (I've only tried MzScheme).
* Regrettably, for the moment, torsion forces don't work.
Things to add in the future: more elements, ionization, electronegativity,
electrostatics, animation. These should all be much easier to do now that
the code has been so thoroughly cleaned up.
You can now use NanoCAD without the overhead of the MrEd GUI system if you
like. The same group that wrote MrEd also wrote a Scheme interpreter without
GUI support, called MzScheme, and if you load NanoCAD into MzScheme, you can
use all the computational stuff, and export XYZ files for viewing in RasMol.
The primary motivation in this version of NanoCAD is to open it up for
extension and scripting. The file 'test.scm' demonstrates some examples of
how to use NanoCAD without a GUI, by calling routines from the NanoCAD
source files.
In either MrEd or MzScheme, type:
(load "test.scm")
(assuming the directories are OK) and everything should be copacetic.
|