Capabilities and Alternate Implementations

Depending on the reference (e.g., RHF, UHF, ROHF), the integral treatment (conventional CONV, density-fitted DF, and Cholesky-decomposed CD), active orbitals, and derivative level, computational methods are sometimes assembled from implementations by multiple coders. Conversely, some capabilities may be implemented multiple times. Capabilities, modules, algorithm types, and defaults are detailed for many ground-state methods at Table Module Capabilities. Its analogous summary table (with modules collapsed) is at Summary Capabilities. PSI4 transparently selects the most efficient implementation, so one generally needn’t consult this table. However, to understand the details of what combinations are accessible or what alternate implementations are available, read on.

Note that HF, DFT, and MPn (n<=3) default to density-fitted integrals, while all higher methods default to conventional integrals. Therefore, for a closed-shell molecule:

# runs MP2 with default algorithm type ``DF`` with default implementation DFMP2
energy('mp2')

# runs MP2 with algorithm type ``CONV`` with default implementation OCC
set mp2_type conv
energy('mp2')

# runs MP2 with default algorithm type ``DF`` with implementation OCC
set qc_module occ
energy('mp2')

# runs MP2 with algorithm type ``CONV`` with implementation FNOCC
set mp2_type conv
set qc_module fnocc
energy('mp2')
Capabilities of PSI4, including details of overlapping modules. “✓” runs analytically. “∷” runs derivative with internal finite difference. Single underline “✓̲” or “∷̲” is default module when QC_MODULE unspecified. Double underline “✓̳” or “∷̳” is default algorithm type when type selector (e.g., CC_TYPE) unspecified.

name ↓ →

type[1] ↓ →

QC_MODULE

REFERENCE

FREEZE_CORE[2]

PSI4 Capabilities

Restricted (RHF)

Unrestricted (UHF)

Restricted Open (ROHF)

energy()

gradient()[3]

energy()

gradient()[3]

energy()

gradient()[3]

CV

DF

CD

CV

DF

CD

CV

DF

CD

CV

DF

CD

CV

DF

CD

CV

DF

CD

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

A

F

hf

SCF_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

SCF

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̳

✓̲

✓̲

✓̳

mp2

MP2_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

∷̳

∷̳

DETCI

DFMP2[4]

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

FNOCC

OCC

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̲

mp2.5

MP_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

OCC

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̳

✓̳

mp3

MP_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

DETCI

FNOCC

OCC

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̳

✓̳

mp4(sdq)

MP_TYPE

✓̳

✓̳

FNOCC

✓̳

✓̳

mp4, mpn[5]

MP_TYPE

✓̳

✓̳

DETCI

FNOCC

✓̳

✓̳

zapt2, zaptn[5]

MP_TYPE

✓̳

✓̳

DETCI

✓̳

✓̳

cisd, cin[5]

CI_TYPE

✓̳

✓̳

✓̳

✓̳

DETCI

✓̳

✓̳

FNOCC

✓̳

✓̳

qcisd

CI_TYPE

✓̳

✓̳

FNOCC

✓̳

✓̳

qcisd(t)

CI_TYPE

✓̳

✓̳

FNOCC

✓̳

✓̳

fci

CI_TYPE

✓̳

✓̳

✓̳

✓̳

DETCI

✓̳

✓̳

✓̳

✓̳

remp2

CC_TYPE

✓̳

✓̳

✓̳

✓̳

OCC

✓̳

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̲

lccd

CC_TYPE

✓̳

✓̳

✓̳

∷̳

✓̳

✓̳

✓̳

∷̳

FNOCC

✓̳

✓̳

OCC

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

lccsd, cepa(0)

CC_TYPE

✓̳

✓̳

FNOCC

✓̳

✓̳

cepa(1)

CC_TYPE

✓̳

✓̳

FNOCC

✓̳

✓̳

cepa(3)

CC_TYPE

✓̳

✓̳

FNOCC

✓̳

✓̳

acpf

CC_TYPE

✓̳

✓̳

FNOCC

✓̳

✓̳

aqcc

CC_TYPE

✓̳

✓̳

FNOCC

✓̳

✓̳

ccd

CC_TYPE

OCC

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

bccd

CC_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

CCENERGY

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

cc2

CC_TYPE

✓̳

✓̳

✓̳

∷̳

✓̳

✓̳

∷̳

∷̳

✓̳

✓̳

∷̳

∷̳

CCENERGY

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

ccsd

CC_TYPE

✓̳

✓̳

✓̳

∷̳

✓̳

✓̳

✓̳

∷̳

✓̳

✓̳

✓̳

∷̳

CCENERGY

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

FNOCC

✓̲

✓̲

✓̲

✓̲

MRCC

OCC

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

✓̲

ccsd(t)

CC_TYPE

✓̳

✓̳

∷̳

∷̳

✓̳

✓̳

∷̳

∷̳

✓̳

✓̳

∷̳

∷̳

CCENERGY[6]

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

FNOCC

✓̲

✓̲

✓̲

✓̲

MRCC

OCC

✓̲

✓̲

a-ccsd(t)[7]

CC_TYPE

✓̳

✓̳

CCENERGY

✓̳

✓̳

MRCC

OCC

✓̲

✓̲

✓̲

✓̲

bccd(t)

CC_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

CCENERGY

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

cc3

CC_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

CCENERGY

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

MRCC

omp2

MP2_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

OCC[4]

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̳

✓̳

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̳

✓̳

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̳

✓̳

omp2.5

MP_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

OCC[4]

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

omp3

MP_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

OCC[4]

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

oremp2

CC_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

OCC[4]

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

olccd

CC_TYPE

✓̳

✓̳

✓̳

✓̳

✓̳

✓̳

OCC[4]

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̲

✓̲

svwn, LSDA DFT

SCF_TYPE

✓̳

✓̳

✓̳

✓̳

SCF

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̳

✓̲

✓̲

✓̳

pbe, GGA DFT

SCF_TYPE

✓̳

✓̳

✓̳

✓̳

SCF

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̳

✓̲

✓̲

✓̳

b3lyp, Hybrid DFT

SCF_TYPE

✓̳

✓̳

✓̳

✓̳

SCF

✓̲

✓̳

✓̲

✓̲

✓̳

✓̲

✓̳

✓̲

✓̲

✓̳

wb97x, LRC DFT

SCF_TYPE

✓̳

✓̳

✓̳

✓̳

SCF

✓̲

✓̳

✓̲

✓̳

✓̲

✓̳

✓̲

✓̳

b2plyp, DH DFT[8]

SCF_TYPE

✓̳

✓̳

✓̳

✓̳

SCF

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲

✓̲

✓̲

✓̳

✓̳

✓̲

✓̲