Scine::Sparrow  5.0.0
Library for fast and agile quantum chemical calculations with semiempirical methods.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Basispruner Class Reference

This class takes care of pruning the singly excited determinant space. It is called when a pruned calculation is started. It prunes the vector of energy differences of the substituted orbitals in a determinant and the respective exciations (short: energy difference vector). More...

#include <BasisPruner.h>

Collaboration diagram for Basispruner:
Collaboration graph

Detailed Description

This class takes care of pruning the singly excited determinant space. It is called when a pruned calculation is started. It prunes the vector of energy differences of the substituted orbitals in a determinant and the respective exciations (short: energy difference vector).

The pruning can be done with three different criteria: an energy, TODO: an intensity and TODO:a combination of both.

Pruning with the energy criterion (pruningWithEnergy) according to

S. Grimme, A simplified Tamm-Dancoff density functional approach for the electronic excitation spectra of very large molecules, J. Chem. Phys, 2013, 130, 244104.

includes all the basis functions with a virtual-minus-occupied molecular orbital energy difference below a user-defined threshold, as well as all the basis functions contributing much to this reduced space as estimated by perturbation theory. The contribution of all the other basis functions is estimated by perturbation theory and added to the diagonal of the matrix (added to the energy difference vector).

TODO: Pruning with the intensity criterion. Pruning with the intensity criterion(pruningWithIntensity) builds a vector of all excitations that have a corresponding dipole matrix element ($f|r^2|$f) that is higher than the threshold.

TODO: Pruning with the hybrid method. The hybrid method combines both methods by calling both functions sequentially (intensity first).


The documentation for this class was generated from the following file: