---
name: "mp2"
section: "1"
platform: "linux"
package: "psi3"
version: "3.4.0-6+b3"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/mp2"
---

# mp2(1)

Moller-Plesset Perburbation Theory

## NAME

mp2 - Moller-Plesset Perburbation Theory

## DESCRIPTION

The module determines the second-order Moller-Plesset energy and  one-particle density matrix (OPDM) for RHF, UHF, and ROHF (using  semicanonical orbitals) references.  Frozen orbitals can be used  when computing the energy but not the OPDM.

## REFERENCES

Original Moller-Plesset paper:

- 1\.

  C. Moller and M. S. Plesset, "Note on an Approximation Treatment for  Many-Electron Systems," Phys. Rev. 46, 618 (1934).

Open-Shell Perturbation Theory

- 1\.

  T. D. Crawford, H. F. Schaefer, and T. J. Lee, "On the energy invariance of open-shell perturbation theory with respect to unitary transformations of molecular orbitals," J. Chem. Phys. 105, 1060 (1996).

MP(2) Gradient Theory:

- 1\.

  M. Frisch, M. Head-Gordon, and J. Pople, "A Direct MP2 Gradient Method," Chem. Phys. Lett. 166, 275 (1990).

- 2\.

  I. Nielsen, "A new direct MP2 gradient algorithm with implementation on  a massively parallel computer," Chem. Phys. Lett. 255, 210 (1996).

## INPUT FORMAT

Input for this program is read from the file input.dat. The following keywords are valid:

- **WFN =** *string*

  Specifies the type of wave function desired. The only valid entry at the present is *MP2*. There is no default.

- **REFERENCE =** *string*

  Specifies the type of orbitals used for the single-determinant reference function. Valid entries include RHF, UHF, and ROHF.   There is no default.

- **PRINT =** *integer*

  Determines the verbosity of the output.  A value of 0 (the default) specifies minimal printing.

- **CACHETYPE=** *string*

  Selects the priority type for maintaining the automatic memory cache used by the DPD codes.  (See libdpd.html for further details.)  A value of *LOW* (the default) selects a "low priority" scheme in which the deletion of items from the cache is based on pre-programmed priorities.  A value of *LRU* selects a "least recently used" scheme in which the oldest item in the cache will be the first one deleted.

- **CACHELEV=** *integer*

  Selects the level of automatic cacheing desired in the storage of various amplitudes, integrals, and intermediates in the coupled cluster procedure.  A value of 0 retains no quantities in cache, while a level of 6 attempts to store all quantities in cache.  For particularly large calculations, a value of 0 may help with certain types of memory problems.  The default is 2, which means that all four-index quantites with up to two virtual-orbital indices (e.g., \<ij\|ab\> integrals) may be held in the cache.

- **OPDM =** *boolean*

  If **TRUE** calculate the one-particle density matrix and  make **OPDM\_WRITE** default to **TRUE**.  The default value  of **OPDM** is **FALSE**.

- **OPDM\_WRITE =** *boolean*

  Flag for whether or not to write the one-particle density matrix to disk.

- **OPDM\_PRINT =** *boolean*

  Flag for whether or not to print the one-particle density matrix.
