Welcome to Tonto!

From Tonto Wiki
Revision as of 08:17, 23 July 2013 by Dylan (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Tonto is a program and library for quantum crystallography and quantum chemistry.

Tonto is also used as the "back-end" to the popular CrystalExplorer visualization program.

We acknowledge our collaborators and we welcome new blood.

Enjoy your visit!


Tonto's manifesto


  • Simple ... Tonto makes quantum chemistry and crystallography simple to understand and use
  • Fast ... Tonto makes quantum chemistry and crystallography fast
  • Efficient ... Tonto allows anyone, expert or not, to develop new techniques with minimum effort
  • Radical ... Tonto facilitate unusual applications with a strong focus on experiment and interpretation.
  • Free... Tonto is free under the less restrictive LGPL license.
  • Robust ... Tonto works out of the box, it doesn't crash but tells you what it doesn't understand
  • Fun ... most importantly, ensure Tonto is fun to work with!

We want Tonto to be for those people who are into new and original scientific explorations.

Tonto for users

Calculate and analyze wavefunctions.

Get experimental crystal structures!

Experimental wavefunctions!

Forgot that keyword?

  • List keywords at any point in the input. Look in Tonto's features for more detail.

Tonto as a library

Huge library!

  • For numerical analysis and optimization
  • For quantum chemistry
  • For crystallography.


  • template inheritance is available
  • type polymorphism is not available
  • Tonto uses The Foo language which stands for `object oriented Fortran' in reverse
  • Foo is a python-like language
  • It's simple so you can write code quickly

Open source!

  • licensed under the LGPL
  • Develop and share without restrictions

Tonto for developers


  • Clean, consistent design
  • Highly documented: methods with long descriptive names
  • Compiles to modern, portable, readable Fortran 95, soon Fortran 2008.
  • Customised vim editing environment
  • Automated test suite
  • Tonto has been in SPEC benchmark suite

Build features:

  • Offers the build of simultaneous coexisting multi-compiler executables from one source.
  • Produce lean and mean executables
  • Produce instrumented codes with pre-conditions/assertions
  • Produce codes with built-in traceback and time profiling
  • Trivially produce MPI-parallel codes with 'parallel do' syntax
  • Produce a variety of USE-styles of Fortran output

Getting started ...

Moving on ...

Going deeper ...

About the name Tonto

The Lone ranger and trusty sidekick, Tonto

Some who are old (like Dylan) will know that Tonto was the Lone Rangers trusty Indian helper.

Tonto is supposed to be your helper.

Another kind of Tonto ...

Those from a Spanish/Italian background will also know another meaning for Tonto.

Even a Tonto can start using Tonto!


Tonto: A Fortran Based Object-Oriented System for Quantum Chemistry and Crystallography,
D. Jayatilaka and D. J. Grimwood,
Computational Science - ICCS 2003, 4, 142-151.