Electronic Structure Calculations

Hartree-Fock: Hartree-Fock treatments often are the first step of exact quantum chemical calculations. They have a large relevance as starting points for more advanced correlation treatments and they usually produce qualitatively correct results on their own. CT8K can currently do:
  • Restricted Closed Shell Hartree-Fock
  • Integral Direct (two-electron molecular integrals, which would require a lot of memory, are not stored but re-evaluated on the fly) or pre-evaluation calculations
  • Direct Inversion of Iterative Subspace (DIIS) convergence acceleration.
The closed shell RHF code already is more or less competitive with other programs.
Basis Sets:One-particle wave functions are represented as linear combinations of certain basis functions. CT8K supports typical contracted Gauss-type-orbital (GTO) basis sets as used in nearly all other quantum chemistry programs. It is optimized for "general contractions", which means that the very popular hierarchical "correlation consistent" basis sets of Dunning (e.g., cc-pVDZ, cc-pVTZ, ..) are handled quite well. Electronic core potentials (ECPs) don't work yet.
Correlation Methods:Correlation methods correct errors made in the HF-approximation. CT8K can currently do:
  • Coupled Electron Pair Approximation Singles&Doubles (CEPA(n)): These methods tend to produce very good energies (often nearly of CCSD(T) level). The CEPA(0) and CEPA(2) methods supported by CT8K both have some intrinsic problems however.
  • Configuration Interaction Singles&Doubles (CISD): This method also has some intrinsic defects, but it is important as reference method in certain situations
  • Møller-Plesset Perturbation Expansion, Order 2 (MP2): Often used because it is easy to understand, easy to implement and fast. Not yet exposed in a useful manner by CT8K.
It is intended to turn the correlation treatment into density fitted local methods using a common integral transformation core and implement a completely new CEPA variant which has no direct problems. Documents detailing this will eventually be uploaded.
Support Functions:
  • Evaluation of certain one-point observables (electron density, kinetic energy, potential energy, dipole moments) of general wave functions expressed through density matrices.
  • Evaluation of certain two-point observables: two-point electronic density, electronic pair distribution functions. Afaik CT8K is the only general program which can do this.

Coding Methods, Input

Languages:C++, pure (NO Fortran, no C). Interface to Python. Some OCaml for symbolic equation transformations. Surely C++ is a much more complex language than Fotran, but in return it offers very clean code, high speed and easy extensibility to coders skilled in it. (Unfortunatelly, cleanliness of the code is currently not exactly a hallmark of CT8K in some files. It is not too bad, however, and everything is commented well)
Libraries:Heavy use of STL. Apart from that, some boost libraries (boost::python). Currently still problematic external depencies on BLAS and LAPACK. The two-electron integral code is based on Libint.
Control Files:The program is controlled through other C++ programs (open source!) or its Python interface. The latter offers a highly increased flexibility, readability and writability compared to "normal" custom language input files as usually used in other programs.