QC++

A Parallel Linear Scaling Quantum Chemistry code.

BPTI on 16 subdomains

QC++ is a Linear Scaling Quantum Chemistry software based on the Divide and conquer method. The current version of QC++ supports the semi-empirical quantum models MNDO, AM1 and PM3. It allows to calculate the energy of a molecular configuration and its numerical gradient by some Self Consistent Field (SCF) algorithms: fixed point, optimal damping and level shifting.

QC++ is optimized for speed. It enhances the memory space consumption by using its own memory manager. An other purpose of the project is to reach an optimal use of C++ by taking advantage of all possibilities that offers an oriented object approach. One of major advantages is to produce an highly structured code, what should insure its perpetuity. Coding patterns are influenced by the work of Todd Veldhuizen described in "Techniques for Scientific C++" whose topic is to explore useful techniques for implementing efficient scientific programs in C++. Moreover, QC++ is based on the linear algebra BLAS and LAPACK multithreaded libraries.

**T**he linear scaling method called Divide and
Conque**r** method is implemented both sequential and parallel version to
compute the electronic energy and its numerical gradient. The parallel
code is based on the message passing paradigm with the MPI library.

Several types of subdomains and strategies to partition a molecule are available, one of them being based on SCOTCH .

Doxygen documentation (html).

Contact : coulaud@labri.fr