TONTO
En tant qu'utilisateur, TONTO permet de faire les types de calcul suivants :
- Hartree-Fock/Fonctionnelle de la densité.
- Calculs de fonctions d'ondes moléculaires produits de géminales non-orthogonales.
- Cartes de densité de charge, de spin, de courant orbital, de courant solénoïdal, de courant irrotationnel, de potentiel électrique, et des représentations de densité ELF, de fonction de mobilité de Fermi pour tout type de bases gaussiennes et de matrices densités moléculaires.
- Représentations de densités comme ci-dessus pour des ensembles de molécules ordonnées, sans interactions pour tout groupe d'espace.
- Représentations de densités comme ci-dessus moyennées sur un état vibrationnel pour des molécules diatomiques.
- Analyses de populations de Mulliken et Roby.
- Décomposition de l'énergie SCF en contributions orbitales et paires d'orbitales.
- Intensités de diffraction élastiques de rayons X et de neutrons polarisés calculés pour des fonctions d'ondes moléculaires sans interactions ordonnées pour tout groupe d'espace.
- Fit de fonctions d'ondes moléculaires sans interactions ordonnées pour tout groupe d'espace à des données expérimentales de diffraction élastiques de rayons X et de neutrons polarisés.
En tant que programmeur, TONTO donne accès aux outils suivants :
- Caractéristiques orientées objet automatiques telles que surcharge automatique, routine pre- et post-conditionnées, héritabilité, types paramétrisés, et closures.
- Outils d'édition avancés comme la reconnaissance et la coloration syntaxique, module de reconnaissance de routines et de navigation.
- Documentation en ligne HTML, compréhensive, pour chaque module.
- Une procédure intégrée de compilation et de construction.
- La possibilité de faire du déboggage personnalisé et des exécutables optimisés, avec notamment vérification automatique des fuites de mémoire, rapports d'erreurs complets comportant les tracebacks des routines et la gestion des appels à la pile.
Pour le programmeur, les modules disponibles définissent des objets adaptés pour :
- la gestion des erreurs, de la mémoire, des appels à la pile et le chronométrage,
- la manipulation des types de base (entier, double précision, et chaînes de caractères),
- la manipulation des fichiers binaires, textes, et d'archives,
- la manipulation des types de tableaux multidimensionnels de toutes sortes,
- la construction de grilles rectilinéaires pour des plots,
- la construction de grilles d'intégration pour la DFT,
- la construction d'isosurfaces 3D,
- l'utilisation des groupes ponctuels et de leur représentations irréductibles,
- l'utilisation des groupes d'espace pour traiter la symétrie des cristaux et de leurs mailles élémentaires,
- l'utilisation de l'extrapolation DIIS pour les vecteurs et les matrices,
- la manipulation des bases de fonctions gaussiennes, de couches, paires et quadruplets de couches construits à partir de ces bases --- y compris la plupart des intégrales dont vous pouvez avoir besoin un jour,
- la construction de schémas d'interactions de configurations en champ moyen pour des fonctions produits de géminales et de spectres électroniques pour ces mêmes fonctions
- la manipulation des types atom et molecule comportant les principaux attributs de ces concepts en chimie quantique.
TONTO comprend des interfaces pour les fichiers d'archives d'autres programmes tels que Gaussian, Gamess, ...
Un permanent développe et utilise ce code au laboratoire ainsi que des étudiants et des visiteurs pour faire des calculs de géminales ou pour calculer des observables relativistes ou cristallographiques. La structure modulaire de TONTO et son langage objet permet à des étudiants de première année tout à fait novices de développer du code et de faire des calculs très facilement.
Les seules méthodes correlées implémentés sont les méthodes DFT et GMFCI, il n'y a pas de routine d'optimisation de géométrie ni de dérivées de l'énergie. Il n'y a pas de modèle de solvatation.