The pnoccsd program works with localized molecular occupied orbitals (LMOs) uses in addition to the RI approximation for the two-electron integrals truncations of the virtual orbital space which are determined seperately for each LMO and each LMO pair. The pair natural orbital (PNO) methods belong to the family of local correlation methods which have in common the key idea that the correlation energy can for all wavefunction methods be written as a sum over pair contributions
Ecorr = ∑
i≤jeij = ![]() ![]() ![]() | (9.9) |
The OSV-PNO hybrid approach implemented in the TURBOMOLE’s pnoccsd program starts with the determination of truncated subsets of orbital-specific virtual (OSV) orbitals for each LMO i as the eigenvectors of diagonal density contributions Dii computed from (approximate) MP2 doubles amplitudes:
Dabii = 2∑
ctaciit
cbii = ∑
![]() ![]() ![]() ![]() | (9.10) |
Dã
ij![]() ![]() ![]() ![]() ![]() | (9.11) |
For OSV-PNO-MP2 the MP2 equations are then solved with the amplitudes and two-electron integals projected onto the so determined set of pair natural orbitals. For the explicitly-correlated variant OSV-PNO-MP2-F12 similar sets of orbital and pair specific auxiliary orbitals (OSX) are determined for the occupied and the complementary virtual orbital spaces which appear in the calculation of the three-electron integrals for the additional contributions from the geminals.
The thresholds for discarding PNOs and OSVs and the subset of auxiliary orbitals for the local RI
approximation for computing two-electron integrals play an important role for the accuracy and
the computational costs of calculations with the pnoccsd program. Per default all thresholds are
coupled to the PNO truncation threshold tolpno such that the errors due to the OSV, local RI
and pair truncation approximations and due to the screening of (AO) integrals and contributions
to the residual are about an order of magnitude smaller than the PNO truncation error. The
default value for tolpno is 10-7 which gives PNO truncation errors in the correlation energy
< 1%. Test calculations showed that the relataive errors in the correlation energy decrease
typically with 30 ×.
For a PNO-MP2 calculation with default thresholds and standard basis sets the pnoccsd program does not require any special input apart from $freeze and $maxcor and the input needed for the Hartree-Fock calculation. It is, however, recommended to specify the PNO truncation threshold in the data group $pnoccsd.
Running pnoccsd parallel The pnoccsd program is parallelized with OMP for shared-memory and with MPI for distributed memory architectures. Important for performance of the parallel pnoccsd calculations are the settings for the core memory usage and for the directories where large integral and scratch files are stored.
The keyword $maxcor defines for pnoccsd (as for ricc2 and ccsdf12) the core memory usage in megabytes per process. In an OMP calculation the amount of memory defined with $maxcor is shared between all threads of a process. In a MPI calculation every process (node) will allocate $maxcor megabytes of core memory. (Note, however, that $maxcor defines only the memory controled by the electronic structure code. Additional memory can be allocated by the math and MPI libraries linked into the program and by operating and I/O system.)
For MPI parallel pnoccsd calculations it is very important to set with the $tmpdir keyword the path to directories in fast local file systems to avoid that large integral and scratch files are stored in the NFS file system where the calculation is started.