MP2 - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim

QuantumChemistry

 MP2
 compute the ground state energy of a molecule by second-order many-body perturbation theory

 Calling Sequence MP2(molecule, options)
 Parameters

 molecule - list of lists; each list has 4 elements, the string of an atom's symbol and atom's x, y, and z coordinates options - (optional) equation(s) of the form option = value where option is one of symmetry, unit,  max_memory, nuclear_gradient, return_rdm, populations, conv_tol_hf, diis_hf, diis_space_hf, diis_start_cycle_hf, direct_scf_hf, direct_scf_tol_hf, level_shift_hf, max_cycle_hf, max_memory_scf_hf, nuclear_gradient_hf, populations_hf

Description

 • Second-order many-body perturbation theory (MP2) computes the ground state of a many-electron atom or molecule with the correlation energy treated by a second-order perturbation expansion around the Hartree-Fock energy.
 • MP2 is non-variational, meaning that its energy is not necessarily an upper bound to the full CI energy in a given basis set.

Outputs

The table of following contents:

 ${t}\left[{\mathrm{e_tot}}\right]$ - float -- total electronic energy of the system ${t}\left[{\mathrm{e_corr}}\right]$ - float -- the difference between the MP2 energy and the Hartree-Fock energy ${t}\left[{\mathrm{mo_coeff}}\right]$ - Matrix -- coefficients expressing molecular orbitals (columns) in terms of atomic orbitals (rows) ${t}\left[{\mathrm{mo_occ}}\right]$ - Vector -- molecular orbital occupations ${t}\left[{\mathrm{t2}}\right]$ - Array -- two-electron transition amplitudes ${t}\left[{\mathrm{rdm1}}\right]$ - Matrix -- one-particle reduced density matrix (1-RDM) in molecular-orbital (MO) representation ${t}\left[{\mathrm{rdm2}}\right]$ - Array -- two-particle reduced density matrix (2-RDM) in molecular-orbital (MO) representation ${t}\left[{\mathrm{nuclear_gradient}}\right]$ - Matrix -- analytical nuclear gradient ${t}\left[{\mathrm{dipole}}\right]$ - Vector -- dipole moment according to its x, y and z components ${t}\left[{\mathrm{populations}}\right]$ - Matrix -- atomic-orbital populations ${t}\left[{\mathrm{charges}}\right]$ - Vector -- atomic charges from the populations

 Options
 • basis = string -- name of the basis set.  See Basis for a list of available basis sets.  Default is "sto-3g".
 • spin = nonnegint -- twice the total spin S (= 2S). Default is 0.
 • charge = nonnegint -- net charge of the molecule. Default is 0.
 • symmetry = string/boolean -- is the Schoenflies symbol of the abelian point-group symmetry which can be one of the following:  D2h, C2h, C2v, D2, Cs, Ci, C2, C1. true finds the appropriate symmetry while false (default) does not use symmetry.
 • unit = string -- "Angstrom" or "Bohr". Default is "Angstrom".
 • max_memory = posint -- allowed memory in MB. Default is 4000.
 • ghost = list of lists -- each list has the string of an atom's symbol and the atom's x, y, and z coordinates.  See Ghost Atoms.
 • initial_mo = Matrix -- Matrix of MOs (columns) in terms of atomic orbitals (rows) that defines the MO basis set.
 • nuclear_gradient = boolean -- option to return the analytical nuclear gradient if available. Default is false.
 • return_rdm = string -- options to return the 1-RDM and/or 2-RDM: "none", "rdm1", "rdm1_and_rdm2". Default is "rdm1".
 • populations = string -- atomic-orbital population analysis: "Mulliken" and "Mulliken/meta-Lowdin". Default is "Mulliken".
 • Attributes for Hartree Fock:
 • conv_tol_hf = float -- converge threshold. Default is ${10}^{-10}.$
 • diis_hf = boolean -- whether to employ diis. Default is true.
 • diis_space_hf = posint -- diis's space size. By default, 8 Fock matrices and error vectors are stored.
 • diis_start_cycle_hf = posint -- the step to start diis. Default is 1.
 • direct_scf_hf = boolean -- direct SCF in which integrals are recomputed is used by default.
 • direct_scf_tol_hf = float -- direct SCF cutoff threshold. Default is ${10}^{-13}.$
 • level_shift_hf = float/int -- level shift (in au) for virtual space. Default is $0.$
 • max_cycle_hf = posint -- max number of iterations. Default is 50.
 • max_memory_scf_hf = posint -- allowed memory in MB. Default is 4000.
 • nuclear_gradient_hf = boolean -- option to return the analytical nuclear gradient. Default is false.
 • populations_hf = string -- atomic-orbital population analysis: "Mulliken" and "Mulliken/meta-Lowdin". Default is "Mulliken".

References

 1 C. Møller and M. S. Plesset, Phys. Rev. 46, 618–622 (1934). "Note on an Approximation Treatment for Many-Electron Systems"
 2 A. Szabo and N. S. Ostlund, Modern Quantum Chemistry: Introduction to Advanced Electronic Structure Theory (Dover Books, New York, 1996).

Examples

 > $\mathrm{with}\left(\mathrm{QuantumChemistry}\right):$

An MP2 calculation of the  molecule

 >
 ${\mathrm{molecule}}{≔}\left[\left[{"H"}{,}{0}{,}{0}{,}{0}\right]{,}\left[{"F"}{,}{0}{,}{0}{,}{0.95000000}\right]\right]$ (1)
 >
 > 

 See Also