Counterpoise Calculations

Following the procedure of Boys and Bernardi [29], a counterpoise calculation is often used to correct for the problem of basis set superposition error (BSSE), which arises when an incomplete basis set is used in the calculation of the binding energy of a complex consisting of two or more molecules. The calculation of a counterpoise-corrected binding energy for a dimeric complex actually consists of seven calculations:

  • Geometry optimization of the complex (calculation 1)

  • Geometry optimization of each of the two molecular fragments in their own basis sets (calculations 2, 3)

  • Single-point calculations of each of the fragments in their own basis sets at the geometries that they adopt in the complex (calculations 4, 5)

  • Single-point counterpoise calculations on each fragment at the geometries that they adopt in the complex using the basis set of the complex (calculations 6, 7)

The usual, uncorrected binding energy would be calculated as:

where the energy subscripts refer to the calculations listed above. The counterpoise correction to the binding energy expresses the artificial gain in energy of each molecular fragment when it can use the basis functions of the other fragment in addition to its own basis functions:

Calculated in this way, the counterpoise correction is a positive number, and it is added to to yield the final binding energy. Counterpoise corrections are often several kilocalories per mole in magnitude, and decrease as the size of the basis set increases.

In the input files for jobs 6 and 7, the atoms of one fragment must be marked as counterpoise atoms (also called “ghost atoms”) so that only their basis functions are used. In Jaguar, a counterpoise atom is indicated by appending a @ to the atom label. For example, to calculate the interaction energy of a water molecule with a methanol molecule, the zmat section for one counterpoise job would have the atoms of methanol marked as counterpoise atoms:

&zmat
 O1@         -0.3380316687           0.9068671477           0.0000000000
 H2@         -0.3206434752          -0.0520359937           0.0000000000
 C3@          0.9752459717           1.3666159794           0.0000000000
 H4@          0.9478196867           2.4513855069           0.0000000000
 H5@          1.5357440779           1.0497731323          -0.8817844743
 H6@          1.5357440779           1.0497731323           0.8817844743
 O7          -0.4959747210          -1.9447535985           0.0000000000
 H8          -1.0372322234          -2.1494734847           0.7574958845
 H9          -1.0372322234          -2.1494734847          -0.7574958845
&

In the other counterpoise job, the zmat section would have the atoms of the water molecule marked as counterpoise atoms:

&zmat
 O1          -0.3380316687           0.9068671477           0.0000000000
 H2          -0.3206434752          -0.0520359937           0.0000000000
 C3           0.9752459717           1.3666159794           0.0000000000
 H4           0.9478196867           2.4513855069           0.0000000000
 H5           1.5357440779           1.0497731323          -0.8817844743
 H6           1.5357440779           1.0497731323           0.8817844743
 O7@         -0.4959747210          -1.9447535985           0.0000000000
 H8@         -1.0372322234          -2.1494734847           0.7574958845
 H9@         -1.0372322234          -2.1494734847          -0.7574958845
&

You can also indicate counterpoise atoms in an atomic section by setting their nuclear charge to zero in the ‘charge’ column (see The atomic Section of the Jaguar Input File).

To automate the calculation of a counterpoise-corrected binding energy for a complex consisting of two non-covalently bound molecules, you can use the Counterpoise Panel. The panel can be used to set up and run the counterpoise job, which uses the Jaguar batch script counterpoise.py. See counterpoise.py: Counterpoise-Corrected Binding of Two Molecules for details on this script, which you can use from the command line. Counterpoise calculations can be distributed across multiple processors. You do not need to (and should not) specify counterpoise atoms in the input to this script, which automatically sets up input files in which the counterpoise atoms are specified.

For LMP2 calculations (see Local MP2 Settings), the LMP2 correction is already designed to avoid basis set superposition error, so we advise computing only the SCF counterpoise correction term.

Workflow Examples