The Game of the Name

The deMon program system was developed for density functional theory (DFT) calculations of atoms, molecules, and clusters [1,2,3]. Its first widely available version appeared in 1992. It was based on the Ph.D. work of A. St-Amant, performed under the supervision of D.R. Salahub at the Université de Montréal [4]. In fact, the name deMon stands for "density of Montréal". A key motivation for the deMon program development was to merge the well-established Gaussian quantum chemistry techniques with the just emerging DFT developments for finite systems. For this reason, deMon is based on the linear combination of Gaussian type orbital (LCGTO) method. To maintain efficiency, auxiliary functions were used from the very beginning in deMon. To avoid the calculation of four-center electron repulsion integrals (ERIs), which represents the computational bottleneck of the corresponding LCGTO Hartree-Fock calculations, the variational fitting of the Coulomb potential, as developed by Dunlap, Connolly, and Sabin [5,6,7], was introduced. A second auxiliary function set was used for the numerical calculation of the exchange-correlation potential as suggested by Sambe and Felton [8]. This second fit was not variational nor was the corresponding energy.

Shortly after its first appearance, the original deMon code was substantially modified for commercialization by BIOSYM Technologies. The beta-release of that version appeared in 1993. It also served as the basis for the deMon-KS [9] series of programs developed in Montréal until 1997. The focus of that program development was mainly upon molecular property calculations with LCGTO-DFT methods. Remarkable progress was achieved for the calculation of nuclear magnetic shielding tensors [10], nuclear quadrupole coupling constants [11], and excited states via time-dependent DFT [12]. A drawback of the first deMon-KS release, deMon-KS1, was its poor self-consistent field (SCF) convergence. At that time it was not obvious if this difficulty was due only to technical problems or if the fitting of the Coulomb and exchange-correlation potential represented a fundamental problem for the SCF convergence. In fact, a formally exact resolution of this issue was published only in 2009 [13]. However, it had already been proven that the energy gradients were not variational due to the least-squares fit of the exchange-correlation potential [14,15,16].

Triggered by these concerns, the original deMon-KS version was developed further in Montpellier by A. Goursot and in Stockholm by L.G.M. Pettersson. A major achievement was the implementation of accurate numerical integration algorithms for the calculation of the exchange-correlation matrix elements. In this way the troublesome least-squares fit could be avoided. However, the computational demands associated with this early numerical integration algorithm rendered the approach impractical for routine applications. Nevertheless, the variational nature of the resulting gradients resolved some of the basic problems encountered with deMon-KS1. Furthermore, the calculation of core-level spectra was implemented in the Stockholm version. Originally, the Montpellier and Stockholm efforts were independent from each other. In 1997 the two variants were merged into the deMon-KS3 [17] program version. In cooperation with K. Hermann from the Fritz-Haber Institut in Berlin, the deMon branch from Stockholm was modified further for the calculation of core-level spectra. It is distributed under the name StoBe [18] and is particularly well suited for the calculation of core-level spectra.

Independently from the deMon development, the ALLCHEM [19] project was initiated by the group of A.M. Köster in Hannover in 1995. The aim of that project was to write a well-structured DFT code from scratch for the further study of auxiliary density approaches. For this purpose, general recurrence relations for three-center ERIs that appear in the variational fitting of the Coulomb potential were developed and coded [20]. With this approach, the original limitation of deMon to d-type orbital and auxiliary functions was removed in ALLCHEM. Other key developments in the ALLCHEM project were adaptive grid techniques [21] for the numerical integration of the exchange-correlation matrix elements. With these smaller yet reliable grids, variational energy calculations became routinely available. The first ALLCHEM calculations appeared in the literature in 1997. The structured programming of ALLCHEM proved very useful for the development and testing of new auxiliary function DFT approaches and algorithms. On the other hand, ALLCHEM was increasingly being used for standard computational chemistry applications, for which the primitive input structure was error prone and rather cumbersome to use.

Based upon an initiative of D.R. Salahub, A. Goursot, and A.M. Köster, the first deMon developers meeting was held in Ottawa in March 2000. At that meeting, the deMon and ALLCHEM developers agreed to merge their codes in order to keep a Tower of Babel from arising. As a result, a new code was developed. It couples deMon functionality and input utilities with the stable and efficient integral and SCF branch from ALLCHEM. This code, named deMon2k [22], was presented for the first time at the third deMon developers meeting in Geneva in 2002. Over the next three years, the beta version of this code was distributed and tested within the deMon developers community. The annual meetings of this community at the deMon Developers workshops were used to discuss the code structure and to exchange algorithmic developments.

Since the 6$^{\rm th}$ deMon Developers workshop in 2005 (Dresden), deMon2k has been distributed to the public under a license agreement from Cinvestav, Mexico-City. Originally the 2.2.6 release served as the distribution version. It was superseded by the 2.3.1 release. Besides the standard LCGTO-DFT auxiliary function methodology ported from ALLCHEM, the 2.2.6 release contained the first stable implementation of auxiliary density functional theory (ADFT) [23] that enables calculations of large systems with modest computational resources. With the 2.3.1 release, a parallel ADFT SCF module was realized on the basis of MPI [24]. That version and its successors have been distributed to more than 400 research groups around the world. The 2.3.1 release served as our development platform over the intervening four years. Today, ADFT is accepted as a stable and efficient alternative to conventional Kohn-Sham DFT calculations, as evidenced by the increasing number of deMon2k ADFT calculations.

In February 2009, the 9$^{\rm th}$ deMon Developers workshop was held in Pune, India. The new 3.0 release of deMon2k was presented there. It is a systematic further development of version 2.3.1. The program is fully parallelized and has been successfully ported to massively parallel architectures. Major improvements are the implementation of an iterative solver for the fitting equations that can handle hundreds of thousands of auxiliary functions [25], of improved functionals [26,27,28,29], of auxiliary density perturbation theory (ADPT) [30], of a hierarchical transition state finder [31], and of an extended Born-Oppenheimer molecular dynamics module [32,33,34]. Based on the demand from the deMon2k user community, we have also extended the molecular property section of the program. The new version contains internal modules for time-dependent density functional theory (TD-DFT) calculations in the framework of ADFT from the group of M.E. Casida [35], nuclear magnetic resonance shielding tensor calculations employing gauge invariant atomic orbital (GIAO) basis sets and nuclear quadrupole resonance calculations as well as polarizability and hyperpolarizability calculations [36,37]. The electronic structure analysis module also has been extended to include both atoms-in-molecules (AIM) [38,39] and natural bond orbital (NBO) [40] analysis. A standardized interface to the newest VU version [41] for scientific visualization of molecular fields is available, too. Routines for calculating x-ray absorption (XAS) [42] and emission (XES) spectra as well as x-ray photoelectron spectroscopy (XPS) were included.

At the 17$^{\rm th}$ deMon Developers workshop in May 2017 in Calgary, Canada, the new 5.0 public release of deMon2k was announced. It breaks with the original focus on DFT methods only and now includes also a Hartree-Fock and an empirical force field module. This permits hybrid DFT calculations and quantum mechanical molecular mechanical (QM/MM) calculations within deMon2k. Despite these extensions only three-center ERIs are needed. This is possible due to a variational fitting of the Fock potential [43] very much in the same spirit as the variational fitting of the Coulomb potential. For the QM/MM calculations in deMon2k [44] the OPLS-AA force field [45] was implemented. An interface with CHARMM is also available [46]. The deMon2k version discussed here is also part of several multiscale packages and approaches [47,48]. To learn more about these packages and other deMon2k utility programs as well as activities of the deMon2k user and developer community please visit

From the many changes and extensions of the new deMon2k 5.0 version we would like to mention two more because they alter default settings. The first one is the default setting for the ERIS keyword (see 4.5.4) that was changed from CONVENTIONAL to MULTIPOLE. The second is the default setting of the auxiliary function set by the AUXIS keyword (see 4.3.3) which was changed from A2 to GEN-A2. Note that due to this change old inputs without explicitly defined auxiliary function sets will generate different results with respect to version 3! Because of the intensive development of deMon2k we also decided to distribute developer versions to the public. They are usually not fully tested! They can be identified easily by an even version number.

The new deMon2k version is available for just about any computer made today, including parallel architectures. The versions for the different platforms are essentially the same. In particular, there is only one common source for the serial and parallel versions. Thus, no special knowledge about MPI is needed for source code modifications. An input file created according to this Guide should give, within the numerical accuracy of the compile flags used, the same output.

The written word has certain complications not characteristic of the spoken, and the need to distinguish deMon2k from similarly spelled products restricts how you may write it. The proper way to refer to the program in text is to use the unusual capitalization. The new deMon2k version must be cited as:

A.M. Koster, G. Geudtner, A. Alvarez-Ibarra, P. Calaminici, M.E. Casida, J. Carmona-Espindola, V.D. Dominguez, R. Flores-Moreno, G.U. Gamboa, A. Goursot, T. Heine, A. Ipatov, A. de la Lande, F. Janetzko, J.M. del Campo, D. Mejia-Rodriguez, J.U. Reveles, J. Vasquez-Perez, A. Vela, B. Zuniga-Gutierrez and D.R. Salahub, deMon2k, Version 5, The deMon developers, Cinvestav, Mexico-City (2018).

There is a companion to this Guide, The deMon2k Tutorial, which is in a comparatively early stage of development at the time of this writing. It gives a practical introduction to the use of deMon2k by example inputs and outputs. Some of them are taken from the Computational Chemistry course given in Cinvestav, Mexico-City, University of Calgary, Canada and a CECAM summer school in Paris. Most of these examples have a rather basic and didactic description. Some others touch quite advanced topics and may also be of interest to very expert users. The tutorial also provides a "Troubleshooting" section in which common problems are discussed and practical solutions are provided. At several points in this Guide we will refer to specific examples in the Tutorial for more practical instructions.

The deMon Authors and Editors do not run a help desk. An FAQ is under development for the website However, users who find bugs and non-trivial difficulties should provide a concise, comprehensive description of the problem and suspected diagnosis in an email to or All mails should include the corresponding deMon2k input and output files.