Tonto | ||
---|---|---|
<< Previous | Next >> |
TONTO is different from other computational chemistry packages because it is primarily (but not exclusively) concerned with calculations in quantum crystallography. The aim of this field is to derive accurate wavefunctions by incorporating X-ray, polarised neutron, or other diffraction and scattering data directly into the method for determining the wavefunction.
Another important feature of TONTO is that it has been implemented in an object oriented language called foo which translates into Fortran95 [1]. Foo makes the process of maintaining and documenting the TONTO system automatic. In particular, the online WWW documentation is generated directly from the code.
There is no guarantee that TONTO will remain translated into Fortran95. A translation into C, or another object oriented language, would also be relatively easy and may be required at a later date in the event that Fortran ceases to be the best option for fast code. Thus, the lifespan of code written in TONTO can be expected to be quite long.
The best feature of TONTO is that it is free. The modules of TONTO can be used without modification in your own work, commercial or otherwise[2].
[1] | Foo stands for object oriented Fortran in reverse, since true object orientation is not really possible in Fortran just yet. In any case, some of the features in foo go beyond what will shortly become available in the current Fortran 2x standard |
[2] | However, if you modify the routines you can only distribute the modified work with your own under the terms of the GNU library license |