History: The Misty Past and Some Venerable Codes
COHP was given birth at the end of the 1980s in the Max-Planck-Institute for Solid State Research at Stuttgart, Germany. Those were the good old days when computer hardware was slow but robust, computer software was unforgiving, and real programmers did not use Pascal (or C) but Fortran... Well, the good old days...
At that time, Peter Blöchl and Richard Dronskowski were heavily working on their PhD theses in the groups of Ole Krogh Andersen and Arndt Simon, respectively. Peter had just completed the first workable tight-binding LMTO-ASA program (running on a Cray X-MP monster), and it was Richard's job to add the COHP subroutines (written on a 6 MHz 80286 computer) in order to extract the chemical information from the k-dependent wave functions, following an idea by Ole Krogh Andersen borrowed from Roald Hoffmann. Peter and Richard eventually succeeded and received their PhDs! As a matter of fact, COHP was neither the main topic of Peter's thesis (full-potential LMTO & electronic structure theory of boundaries) nor Richard's thesis (oxides and arsenides containing condensed molybdenum clusters). Funnily, COHP had been dubbed Hamilton-projected densities of states at that time; consequently, Richard's first COHP program was called NEWHPDS. The first calculations were performed on silicon (of course, what do you expect?) and on octahedral molybdenum clusters (still unpublished).
The first COHP paper was put together in 1992-3 when Richard had just returned from his postdoctoral time with Roald Hoffmann at Cornell university; the paper came out in the Journal of Physical Chemistry, dealing with silicon, its bonding properties and a number of technical questions (such as Euler rotations) which turned out to be fairly unimportant in the long run. In the meantime, however, a new TB-LMTO-ASA program had already been developed in the Andersen group (the code which is nowadays distributed worldwide) such that the old COHP code had to be adjusted to digest the newly calculated wave functions. This major renovation (reprogramming, in fact) of Richard's outdated computer code was skillfully mastered by postdoctoral candidate Florent Boucher from Nantes. Exactly, this is the COHP program for analyzing the LMTO wavefunctions you find within the popular TB-LMTO-ASA package; it is quite likely the basis of many COHP curves you find in published papers, also today.
Independently, in the 1990s, graduate student Greg Landrum at Cornell totally rewrote the extended Hückel computer programs by the Hoffmann group; the result was called YAeHMOP (Yet Another extended Hückel Molecular Orbital Program), and you can still get it today (for free). Wingfield Glassey, another member of the famous Hoffmann group, then added the COHP functionality.
More recently, COHP analysis has been implemented into the SIESTA code, an efficient order-N electronic-structure code that makes use of adjustable local-orbital basis sets. SIESTA is provided free of charge for academic research, and you can get it directly from the developers.
Finally, in the first decade of the 21st century, a totally new method to calculate COHPs (so-called projected COHPs) was eventually put together—please have a look at the next chapter!