Introduction¶
Overview¶
PSI4 provides a wide variety of quantum chemical methods using stateoftheart numerical methods and algorithms. Several parts of the code feature sharedmemory parallelization to run efficiently on multicore machines (see Sec. Threading). An advanced parser written in Python allows the user input to have a very simple style for routine computations, but it can also automate very complex tasks with ease.
PSI4 is, in many ways, a whole new package compared to Psi3. While some libraries and modules remain the same, the majority of the code has been rewritten from scratch based on a powerful set of new libraries written in C++. A totally new Python frontend makes PSI4 incredibly userfriendly and automates many common tasks such as basis set extrapolation, composite methods, running the same computation on every molecule in a test set, etc. Densityfunctional theory, absent in Psi3, is quite efficient in PSI4, with many functionals available. Density fitting is ubiquitous in PSI4, leading to some of the most efficient MP2 and CCSD(T) code available. PSI4 also introduces extensive, powerful features for energy component analysis of noncovalent interactions via symmetryadapted perturbation theory. Orbitaloptimized versions of perturbation theory and coupledcluster methods, and their analytic gradients, have also been added. Through external libraries, PSI4 gains access to implicit solvent (PCM) capabilities, densitymatrix renormalization group CI, effective fragment potentials, Grimme dispersion corrections, and highorder coupledcluster theory.
In this section, we provide an overview of some of the features of PSI4 along with the prerequisite steps for running calculations. Sec. Tutorial provides a brief tutorial to help new users get started. Section Psithon offers further details into the structure of PSI4 input files and how Python can be mixed with quantum chemistry directives in PSI4. Section Psithon Functions provides more detail on the Python functions provided by PSI4 and discusses some of the higherlevel functions such as counterpoise correction, completebasisset extrapolation, and running computations on an entire database of molecules at a time. Later sections deal with the different types of computations which can be done using PSI4 (e.g., Hartree–Fock, MP2, coupledcluster) and general procedures such as geometry optimization and vibrational frequency analysis. The Appendices include a complete description of all possible input keywords for each module, as well as tables of available basis sets and a listing of the sample input files available under psi4/samples. The user is urged to examine this directory of sample inputs, as most common types of computations are represented there. For the latest PSI4 documentation, check www.psicode.org.
Citing PSI4¶
Overall PSI4 Package¶
The following citation should be used in any publication utilizing the PSI4 program package:
“Psi4 1.4: OpenSource Software for HighThroughput Quantum Chemistry”, D. G. A. Smith, L. A. Burns, A. C. Simmonett, R. M. Parrish, M. C. Schieber, R. Galvelis, P. Kraus, H. Kruse, R. Di Remigio, A. Alenaizan, A. M. James, S. Lehtola, J. P. Misiewicz, M. Scheurer, R. A. Shaw, J. B. Schriber, Y. Xie, Z. L. Glick, D. A. Sirianni, J. S. O’Brien, J. M. Waldrop, A. Kumar, E. G. Hohenstein, B. P. Pritchard, B. R. Brooks, H. F. Schaefer III, A. Yu. Sokolov, K. Patkowski, A. E. DePrince III, U. Bozkaya, R. A. King, F. A. Evangelista, J. M. Turney, T. D. Crawford, C. D. Sherrill, J. Chem. Phys. (2020). (doi: 10.1063/5.0006002).
The following citation covers PSI4 early stable releases:
“Psi4 1.1: An OpenSource Electronic Structure Program Emphasizing Automation, Advanced Libraries, and Interoperability”, R. M. Parrish, L. A. Burns, D. G. A. Smith, A. C. Simmonett, A. E. DePrince III, E. G. Hohenstein, U. Bozkaya, A. Yu. Sokolov, R. Di Remigio, R. M. Richard, J. F. Gonthier, A. M. James, H. R. McAlexander, A. Kumar, M. Saitow, X. Wang, B. P. Pritchard, P. Verma, H. F. Schaefer III, K. Patkowski, R. A. King, E. F. Valeev, F. A. Evangelista, J. M. Turney, T. D. Crawford, and C. D. Sherrill, J. Chem. Theory Comput., 13(7) 3185–3197 (2017). (doi: 10.1021/acs.jctc.7b00174).
The following citation covers PSI4 alpha and beta versions:
“Psi4: An opensource ab initio electronic structure program,” J. M. Turney, A. C. Simmonett, R. M. Parrish, E. G. Hohenstein, F. Evangelista, J. T. Fermann, B. J. Mintz, L. A. Burns, J. J. Wilke, M. L. Abrams, N. J. Russ, M. L. Leininger, C. L. Janssen, E. T. Seidl, W. D. Allen, H. F. Schaefer, R. A. King, E. F. Valeev, C. D. Sherrill, and T. D. Crawford, WIREs Comput. Mol. Sci. 2, 556 (2012). (doi: 10.1002/wcms.93).
Depending on the particular modules used, the user may also wish to cite some of the following references for theoretical, algorithmic, or implementation contributions specific to PSI4 (in addition to appropriate references for the underlying theory, which are not necessarily included in the list below).
Most PSI4 calculations employ density functional theory. PSI4 does not implement any density functionals; instead, all the density functionals come from LIBXC, which should be cited in addition to PSI4
“Recent developments in LIBXC — a comprehensive library of functionals for density functional theory,” S. Lehtola, C. Steigemann, M. J. T. Oliveira, and M. A. L. Marques, SoftwareX 7, 1 (2018). (doi: 10.1016/j.softx.2017.11.002)
Regardless of the type of the calculation, an initial guess is necessary. PSI4 features several initial guesses for the molecular orbitals. The default guess is the superposition of atomic densities (SAD), discussed in
“Principles for a direct SCF approach to LCAOMO abinitio calculations”, J. Almlöf, K. Faegri, and K. Korsell, J. Comput. Chem. 3, 385 (1982). (doi: 10.1002/jcc.540030314).
“Starting SCF calculations by superposition of atomic densities”, J. H. Van Lenthe, R. Zwaans, H. J. J. Van Dam, and M. F. Guest, J. Comput. Chem. 27, 926 (2006). (doi: 10.1002/jcc.20393).
PSI4 also features a SAD natural orbital guess, an extended Hückel guess that employs onthefly atomic calculations alike the SAD guess, as well as a superposition of atomic potentials (SAP) guess that is based on screening of atomic nuclei. The SAD natural orbitals, Hückel and SAP guesses have been described in
“An assessment of initial guesses for selfconsistent field calculations. Superposition of Atomic Potentials: simple yet efficient”, S. Lehtola, J. Chem. Theory Comput. 15, 1593 (2019) (doi: 10.1021/acs.jctc.8b01089).
Density Cumulant Theory (DCT)¶
PSI4 features several formulations of newlydeveloped density cumulant theory (DCT), also known as density cumulant functional theory (DCFT). The theory and benchmark of this theory are discussed in the following papers:
DC06 (also known as DCT06):
“Density Cumulant Functional Theory: First Implementation and Benchmark Results for the DCFT06 Model,” A. C. Simmonett, J. J. Wilke, H. F. Schaefer, and W. Kutzelnigg, J. Chem. Phys. 133, 174122 (2010). (doi: 10.1063/1.3503657).
“Analytic gradients for density cumulant functional theory: The DCFT06 model,” A. Yu. Sokolov, J. J. Wilke, A. C. Simmonett, and H. F. Schaefer, J. Chem. Phys. 137, 054105 (2012). (doi: 10.1063/1.4739423).
DC12:
“Density cumulant functional theory: The DC12 method, an improved description of the oneparticle density matrix,” A. Yu. Sokolov, A. C. Simmonett, and H. F. Schaefer, J. Chem. Phys. 138, 024107 (2013). (doi: 10.1063/1.4773580).
ODC06 and ODC12:
“Orbitaloptimized density cumulant functional theory,” A. Yu. Sokolov, and H. F. Schaefer, J. Chem. Phys. 139, 204110 (2013). (doi: 10.1063/1.4833138).
ODC13:
“Density cumulant functional theory from a unitary transformation: Nrepresentability, threeparticle correlation effects, and application to O4+,” A. Yu. Sokolov, H. F. Schaefer, and W. Kutzelnigg, J. Chem. Phys. 141, 074111 (2014). (doi: 10.1063/1.4892946).
Configuration Interaction (CI)¶
PSI has a highly optimized code for full configuration interaction and highly correlated configuration interaction, as described in
“The Configuration Interaction Method: Advances in Highly Correlated Approaches,” C. D. Sherrill and H. F. Schaefer, in Adv. Quantum Chem., vol. 34, P.O. Löwdin, Ed. (Academic Press, New York, 1999), pp. 143269. (doi: 10.1016/S00653276(08)605328).
Coupled Cluster (CC)¶
A general discussion of coupled cluster theory is given in
“An Introduction to Coupled Cluster Theory for Computational Chemists,” T. D. Crawford and H. F. Schaefer, Rev. Comp. Chem. 14, 33136 (2000). (doi: 10.1002/9780470125915.ch2).
Implementation of frozen natural orbital (FNO) coupled cluster theory in PSI and its performance for noncovalent interactions is discussed in
“Accurate Noncovalent Interaction Energies Using Truncated Basis Sets Based on Frozen Natural Orbitals,” A. E. DePrince and C. D. Sherrill, J. Chem. Theory Comput. 9, 293299 (2013). (doi: 10.1021/ct300780u).
Implementation of densityfitted (DF) and Cholesky decomposition (CD) coupled cluster in PSI, and its performance for noncovalent interactions and reaction energies, is discussed in
“Accuracy and Efficiency of CoupledCluster Theory Using Density Fitting / Cholesky Decomposition, Frozen Natural Orbitals, and a T1Transformed Hamiltonian,” A. E. DePrince and C. D. Sherrill, J. Chem. Theory Comput. 9, 26872696 (2013). (doi: 10.1021/ct400250u).
Implementation of the asymmetric triples correction for the densityfitted and choleskydecomposed coupledcluster singles and doubles method
“A noniterative asymmetric triple excitation correction for the densityfitted coupledcluster singles and doubles method: Preliminary applications,” U. Bozkaya, J. Chem. Phys. 144, 144108 (2016). (doi: 10.1063/1.4945706).
Implementation of analytic gradients for the densityfitted coupledcluster singles and doubles method
“Analytic energy gradients for the coupledcluster singles and doubles method with the densityfitting approximation,” U. Bozkaya and C. D. Sherrill, J. Chem. Phys. 144, 174103 (2016). (doi: 10.1063/1.4948318).
Implementation of analytic gradients for the densityfitted coupledcluster singles and doubles with perturbative triples method
“Analytic energy gradients for the coupledcluster singles and doubles with perturbative triples method with the densityfitting approximation,” U. Bozkaya and C. D. Sherrill, J. Chem. Phys. 147, 044104 (2017). (doi: 10.1063/1.4994918).
Mukherjee StateSpecific MultiReference Coupled Cluster (MkMRCC)¶
PSI4 features productionlevel Mukherjeestyle statespecific coupledcluster theory, including perturbative triples and also associated multireference perturbation theories. The theory and PSI4 implementation of these methods is discussed in the following papers.
General MkMRCC
“Coupling Term Derivation and General Implementation of StateSpecific Multireference CoupledCluster Theories,” F. A. Evangelista, W. D. Allen, and H. F. Schaefer, J. Chem. Phys. 127, 024102 (2007). (doi: 10.1063/1.2743014).
MkMRCCSD(T)
“Perturbative Triples Corrections in StateSpecific Multireference Coupled Cluster Theory,” F. A. Evangelista, E. Prochnow, J. Gauss, and H. F. Schaefer, J. Chem. Phys. 132, 074107 (2010). (doi: 10.1063/1.3305335).
MkMRCCSDT(n)
“Triple Excitations in StateSpecific Multireference Coupled Cluster Theory: Application of MkMRCCSDT and MkMRCCSDTn Methods to Model Systems,” F. A. Evangelista, A. C. Simmonett, W. D. Allen, H. F. Schaefer, and J. Gauss, J. Chem. Phys. 128, 124104 (2008). (doi: 10.1063/1.2834927).
MkMRPT2
“A Companion Perturbation Theory for Statespecific Multireference Coupled Cluster Methods,” F. A. Evangelista, A. C. Simmonett, H. F. Schaefer, D. Mukherjee, and W. D. Allen, Phys. Chem. Chem. Phys. 11, 47284741 (2009). (doi: 10.1039/b822910d).
SymmetryAdapted Perturbation Theory (SAPT)¶
PSI4 features an extremely efficient code to perform wavefunctionbased Symmetry Adapted Perturbation Theory (SAPT). A good review article for this method is as follows:
“Perturbation Theory Approach to Intermolecular Potential Energy Surfaces of van der Waals Complexes,” B. Jeziorski, R. Moszynski, and K. Szalewicz, Chem. Rev. 94, 18871930 (1994). (doi: 10.1021/cr00031a008).
PSI4 benefits enormously from the introduction of density fitting (DF) into SAPT. There are several SAPT truncations available in PSI4. For guidance on which one to choose, see the SAPT section of the manual and refer to the following systematic study:
“Levels of Symmetry Adapted Perturbation Theory (SAPT). I. Efficiency and Performance for Interaction Energies,’’ T. M. Parker, L. A. Burns, R. M. Parrish, A. G. Ryno, and C. D. Sherrill, J. Chem. Phys. 140, 094106 (2014). (doi: 10.1063/1.4867135).
The theory and implementation of DFSAPT is discussed in the following papers for various levels of SAPT.
DFSAPT0
“Largescale Symmetryadapted Perturbation Theory Computations via Density Fitting and Laplace Transformation Techniques: Investigating the Fundamental Forces of DNAIntercalator Interactions,” E. G. Hohenstein, R. M. Parrish, C. D. Sherrill, J. M. Turney, and H. F. Schaefer, J. Chem. Phys. 135, 174017 (2011). (doi: 10.1063/1.3656681).
“Density Fitting and Cholesky Decomposition Approximations in SymmetryAdapted Perturbation Theory: Implementation and Application to Probe the Nature of \(\pi  \pi\) Interactions in Linear Acenes,” E. G. Hohenstein and C. D. Sherrill, J. Chem. Phys. 132, 184111 (2010). (doi: 10.1063/1.3426316).
SAPT2
“Density Fitting of Intramonomer Correlation Effects in SymmetryAdapted Perturbation Theory,” E. G. Hohenstein and C. D. Sherrill, J. Chem. Phys. 133, 014101 (2010). (doi: 10.1063/1.3451077).
SAPT2+, SAPT2+(3), SAPT2+3
“Wavefunction Methods for Noncovalent Interactions,” E. G. Hohenstein and C. D. Sherrill, WIREs: Comput. Mol. Sci. 2, 304326 (2012). (doi: 10.1002/wcms.84).
“Density Fitting of Intramonomer Correlation Effects in SymmetryAdapted Perturbation Theory,” E. G. Hohenstein and C. D. Sherrill, J. Chem. Phys. 133, 014101 (2010). (doi: 10.1063/1.3451077).
“Efficient Evaluation of Triple Excitations in SymmetryAdapted Perturbation Theory via MP2 Natural Orbitals,” E. G. Hohenstein and C. D. Sherrill, J. Chem. Phys. 133, 104107 (2010). (doi: 10.1063/1.3479400).
SAPT2+(CCD), SAPT2+(3)(CCD), and SAPT2+3(CCD)
“Tractability Gains in SymmetryAdapted Perturbation Theory Including Coupled Double Excitations: CCD+ST(CCD) Dispersion with Natural Orbital Truncations,’’ R. M. Parrish, E. G. Hohenstein, and C. D. Sherrill, J. Chem. Phys. 139, 174102 (2013). (doi: 10.1063/1.4826520).
“Wavefunction Methods for Noncovalent Interactions,” E. G. Hohenstein and C. D. Sherrill, WIREs: Comput. Mol. Sci. 2, 304326 (2012). (doi: 10.1002/wcms.84).
“Density Fitting of Intramonomer Correlation Effects in SymmetryAdapted Perturbation Theory,” E. G. Hohenstein and C. D. Sherrill, J. Chem. Phys. 133, 014101 (2010). (doi: 10.1063/1.3451077).
F/ISAPT
“Chemical Assignment of SymmetryAdapted Perturbation Theory Interaction Energy Components: The FunctionalGroup SAPT Partition,” R. M. Parrish, T. M. Parker, and C. D. Sherrill, J. Chem. Theory Comput. 10, 4417 (2014). (doi: 10.1021/ct500724p).
“Communication: Practical Intramolecular Symmetry Adapted Perturbation Theory via HartreeFock Embedding,” R. M. Parrish, J. F. Gonthier, C. Corminboeuf, and C. D. Sherrill, J. Chem. Phys. 143, 051103 (2015). (doi: 10.1063/1.4927575)
The derivation of the secondorder exchange terms without the singleexchange approximation are found in the following two works:
“Intermolecular exchangeinduction energies without the overlap expansion,” R. Schäffer and G. Jansen, Theor. Chem. Acc. 131, 1235 (2012). (doi: 10.1007/s0021401212356)
“Singledeterminantbased symmetryadapted perturbation theory without singleexchange approximation,” R. Schäffer and G. Jansen, Mol. Phys. 111, 2570 (2013). (doi: 10.1080/00268976.2013.827253)
OrbitalOptimized PostHartree–Fock Methods¶
Orbitaloptimized secondorder perturbation theory (OMP2)
“Quadratically convergent algorithm for orbital optimization in the orbitaloptimized coupledcluster doubles method and in orbitaloptimized secondorder Møller–Plesset perturbation theory,” U. Bozkaya, J. M. Turney, Y. Yamaguchi, H. F. Schaefer, and C. D. Sherrill, J. Chem. Phys. 135, 104103 (2011). (doi: 10.1063/1.3631129).
“Analytic energy gradients for the orbitaloptimized secondorder Møller–Plesset perturbation theory,” U. Bozkaya and C. D. Sherrill, J. Chem. Phys. 138, 184103 (2013). (doi: 10.1063/1.4803662).
“OrbitalOptimized SecondOrder Perturbation Theory with DensityFitting and Cholesky Decomposition Approximations: An Efficient Implementation,” U. Bozkaya, J. Chem. Theory Comput. 10, 2371 (2014). (doi: 10.1021/ct500231c).
Orbitaloptimized thirdorder perturbation theory (OMP3)
“OrbitalOptimized ThirdOrder Møller–Plesset Perturbation Theory and Its SpinComponent and SpinOpposite Scaled Variants: Application to Symmetry Breaking Problems,” U. Bozkaya, J. Chem. Phys. 135, 224103 (2011). (doi: 10.1063/1.3665134).
“Assessment of OrbitalOptimized ThirdOrder Møller–Plesset Perturbation Theory and Its SpinComponent and SpinOpposite Scaled Variants for Thermochemistry and Kinetics,” E. Soydas and U. Bozkaya, J. Chem. Theory Comput. 9, 1452 (2013). (doi: 10.1021/ct301078q).
“Analytic energy gradients for the orbitaloptimized thirdorder Møller–Plesset Perturbation Theory,” U. Bozkaya, J. Chem. Phys. 139, 104116 (2013). (doi: 10.1063/1.4820877).
Orbitaloptimized linearized coupledcluster doubles method (OLCCD)
“Orbitaloptimized coupledelectron pair theory and its analytic gradients: Accurate equilibrium geometries, harmonic vibrational frequencies, and hydrogen transfer reactions,” U. Bozkaya and C. D. Sherrill, J. Chem. Phys. 139, 054104 (2013). (doi: 10.1063/1.4816628).
Orbitaloptimized MP2.5 (OMP2.5)
“Orbitaloptimized MP2.5 and its analytic gradients: Approaching CCSD(T) quality for noncovalent interactions,” U. Bozkaya and C. D. Sherrill, J. Chem. Phys. 141, 204105 (2014). (doi: 10.1063/1.4902226).
Extended Koopmans’ Theorem
“The extended Koopmans’ theorem for orbitaloptimized methods: Accurate computation of ionization potentials,” U. Bozkaya, J. Chem. Phys. 139, 154105 (2013). (doi: 10.1063/1.4825041).
“Accurate Electron Affinities from the Extended Koopmans’ Theorem Based on OrbitalOptimized Methods,” U. Bozkaya, J. Chem. Theory Comput. 10, 2041 (2014). (doi: 10.1021/ct500186j).
DensityFitted and CholeskyDecomposed Orbitaloptimized secondorder perturbation theory (DFOMP2)
“OrbitalOptimized SecondOrder Perturbation Theory with DensityFitting and Cholesky Decomposition Approximations: An Efficient Implementation,” U. Bozkaya, J. Chem. Theory Comput. 10, 2371 (2014). (doi: 10.1021/ct500231c).
“Analytic Energy Gradients and Spin Multiplicities for OrbitalOptimized SecondOrder Perturbation Theory with DensityFitting Approximation: An Efficient Implementation,” U. Bozkaya, J. Chem. Theory Comput. 10, 4389 (2014). (doi: 10.1021/ct500634s).
DensityFitted and CholeskyDecomposed Orbitaloptimized MP3 and MP2.5 (DFOMP3 and DFOMP2.5)
“OrbitalOptimized MP3 and MP2.5 with DensityFitting and Cholesky Decomposition Approximations,” U. Bozkaya, J. Chem. Theory Comput. 12, 1179 (2016). (doi: 10.1021/acs.jctc.5b01128).
DensityFitted and CholeskyDecomposed OrbitalOptimized Linearized CoupledCluster Doubles Method (DFOLCCD)
“Orbitaloptimized linearized coupledcluster doubles with densityfitting and Cholesky decomposition approximations: an efficient implementation,” U. Bozkaya, Phys. Chem. Chem. Phys. 18, 11362 (2016). (doi: 10.1039/c6cp00164e).
AlgebraicDiagrammatic Construction methods (ADC)¶
General ADC theory
“Intermediate state representation approach to physical properties of electronically excited molecules,” J. Schirmer, and A. B. Trofimov, J. Chem. Phys. 120, 1144911464 (2004). (doi: 10.1063/1.1752875).
Implementation inside adcc, the ADC backend used for most ADC methods available in PSI4
“adcc: A versatile toolkit for rapid development of algebraicdiagrammatic construction methods,” M. F. Herbst, M. Scheurer, T. Fransson, D. R. Rehn, and A. Dreuw. WIREs Comput. Mol. Sci., (2020). (DOI: 10.1002/wcms.1462, Preprint https://adcconnect.org/q/publications
Density Matrix Renormalization Group (DMRG)¶
“CheMPS2: a free opensource spinadapted implementation of the density matrix renormalization group for ab initio quantum chemistry,” S. Wouters, W. Poelmans, P. W. Ayers and D. Van Neck, Comput. Phys. Commun. 185 (6), 15011514 (2014). (doi: 10.1016/j.cpc.2014.01.019).
“The density matrix renormalization group for ab initio quantum chemistry,” S. Wouters and D. Van Neck, Eur. Phys. J. D 68 (9), 272 (2014). (doi: 10.1140/epjd/e2014505001).
Scalar Relativistic Corrections¶
General theory for the exact twocomponent approach (X2C)
“Analytic energy gradients for the spinfree exact twocomponent theory using an exact block diagonalization for the oneelectron Dirac Hamiltonian,” L. Cheng and J. Gauss, J. Chem. Phys. 135, 084114 (2011). (doi: 10.1063/1.3624397).
Implementation within Psi4
“Predicting Near Edge Xray Absorption Spectra with the SpinFree ExactTwoComponent Hamiltonian and Orthogonality Constrained Density Functional Theory,” P. Verma, W. D. Derricotte and F. A. Evangelista, J. Chem. Theory Comput. (2015). (doi: 10.1021/acs.jctc.5b00817).
Supported Systems¶
 Architectures
The majority of PSI4 was developed on Mac and Linux machines; in principle, it should work on any Unix system. The latest version of the PSI4 program package may be obtained at psicode.org. The package is available as a binary (Installing from Binary) for Linux, macOS (both Intel and Apple Silicon), or Windows (both native and via Windows Subsystem for Linux aka Bash on Ubuntu on Windows) or as source code (git repository or zipped archive from https://github.com/psi4/psi4.
 Compilers
PSI4 has been successfully compiled using Intel, GCC, and Clang compilers. Compiler requirements are primarily C++20 compliance (now GCC version 10.0 or above). For some architectures, a precompiled binary is available. See Compiling and Installing for details.
 Python
PSI4 1.1 and 1.2 are supported on Python 2.7, 3.5, and 3.6. After 1.2, only Python 3 will be supported in accordance with other scientific software projects). PSI4 1.3 supports Python 3.6 and 3.7. PSI4 1.4 supports Python 3.6, 3.7, 3.8, and 3.9. PSI4 1.5 supports Python 3.7, 3.8, and 3.9. PSI4 1.6 supports Python 3.8, 3.9, and 3.10. PSI4 1.7 supports Python 3.8, 3.9, 3.10, and 3.11 (no binary packages for 3.11). PSI4 1.8 supports Python 3.8, 3.9, 3.10, and 3.11. PSI4 1.9 supports Python 3.8, 3.9, 3.10, 3.11, and 3.12. PSI4 1.10 is anticipated to support Python 3.8, 3.9, 3.10, 3.11, and 3.12. The future plan is to (1) be compatible with 3.8 and above until there is a good reason to drop older versions but (2) only build and test for versions condaforge supports. The current master supports 3.8, 3.9, 3.10, 3.11, and 3.12.
License¶
PSI4 is distributed under the GNU Lesser General Public License version 3, LGPL3.0. Its required dependencies and addons have their own licenses, ranging from BSD2Clause to GPL2.0+. It is possible to build PSI4 without any General GPL dependencies.
Capabilities¶
PSI4 can perform ab initio computations employing basis sets of contracted Gaussiantype functions of virtually arbitrary orbital quantum number. Many parts of PSI4 can recognize and exploit the largest Abelian subgroup of the molecular point group. Table Methods displays the range of theoretical methods available in PSI4.
Geometry optimization can be performed using either analytic gradients or energy points. Likewise, vibrational frequencies can be computed by analytic second derivatives, by finite differences of analytic gradients, or by finite differences of energies. PSI4 can also compute an extensive list of oneelectron properties.
For more tables with capabilities details:
Full Capabilities (first below) lists all methods
Capabilities Breakdown (second below) lists selected methods by reference, etc.
Module Capabilities lists selected methods by implementation
Energy, Energy (DFT), Energy (MRCC), Energy (CFOUR) fully list energy target methods
Gradient, Gradient (CFOUR) fully list gradient target methods
Frequency fully lists Hessian target methods
Method [1] 
Reference[2] 
Type[2] 
Variants[3] 


Canonical 
OO 
FNO [4] 
DLPNO 

HF 
RHF/UHF/ROHF/CUHF 
CONV/DF/CD 
E/G/H 

DFT 
RKS/UKS 
CONV/DF/CD 
E/G 

DFTD2, DFTNL 
RKS/UKS 
CONV/DF/CD 
E/G 

DCT 
RHF/UHF 
CONV/DF 
E/G 

MP2 
RHF/UHF/ROHF 
CONV/DF/CD 
E/G 
E/G 
E 

MP3 
RHF/UHF 
CONV/DF/CD 
E/G 
E/G 
E 

MP2.5 
RHF/UHF 
CONV/DF/CD 
E/G 
E/G 

MP4, MP4(SDQ) 
RHF 
CONV 
E 
E 

MPn 
RHF 
CONV 
E 

ZAPTn 
ROHF 
CONV 
E 

REMP2 
RHF/UHF 
CONV/DF/CD 
E 
E/G 

LCCD 
RHF/UHF 
CONV/DF/CD 
E/G 
E/G 
E 

LCCSD, CEPA(0) 
RHF 
CONV 
E 
E 

CEPA(n), n=0,1,3 
RHF 
CONV 
E 
E 

CCD 
RHF 
DF/CD 
E/G 

BCCD 
RHF/UHF/ROHF 
CONV 
E 

CC2 
RHF/UHF/ROHF 
CONV 
E/G 

CCSD 
RHF/UHF/ROHF 
CONV/DF/CD 
E/G 
E [5] 

CCSD(T) 
RHF/UHF/ROHF 
CONV/DF/CD 
E/G 
E [5] 

ACCSD(T) 
RHF 
CONV/DF/CD 
E 

BCCD(T) 
RHF/UHF/ROHF 
CONV 
E 

CC3 
RHF/UHF/ROHF 
CONV 
E 

ACPF/AQCC 
RHF 
CONV 
E 
E 

CISD 
RHF/ROHF 
CONV 
E 
E 

QCISD 
RHF 
CONV 
E 
E 

QCISD(T) 
RHF 
CONV 
E 
E 

CIn 
RHF/ROHF 
CONV 
E 

FCI 
RHF/ROHF 
CONV 
E 

MkMRPT2 
RHF/ROHF/TCSCF 
CONV 
E 

MkMRCCSD 
RHF/ROHF/TCSCF 
CONV 
E 

MkMRCCSD(T) 
RHF/ROHF/TCSCF 
CONV 
E 

CASCI, RASCI 
RHF/ROHF 
CONV 
E 

CASSCF, RASSCF 
RHF/ROHF 
CONV/DF 
E 

SAPT0, SFSAPT0 
RHF/UHF/ROHF 
CONV/DF 
E 

SAPT(DFT) 
RKS 
DF 
E 

SAPT2, 2+, 2+(3), 2+3 
RHF 
DF 
E 

F/ISAPT0 
RHF 
DF 
E 

TDDFT 
RKS/UKS 
CONV/DF 
E 

EP2 
RHF 
DF 
E 

EOMCC2 
RHF 
CONV 
E 

EOMCCSD 
RHF/UHF/ROHF 
CONV 
E/G 

EOMCC3 
RHF/UHF/ROHF 
CONV 
E 

❖ with LibEFP 

EFP/EFP 
RHF 
E/G 

QM/EFP 
RHF 
E 

❖ with DFTD3, DFTD4, and gCP 

HF3c, PBEh3c, B973C, r2SCAN3c, wB97X3c 
R/U/ROHF, R/UKS 
E/G 

DFTD3, DFTD4 
RKS/UKS 
E/G 

❖ with ADCC 

ADC(1), CVSADC(1) 
RHF/UHF 
CONV 
E 

ADC(2), CVSADC(2) 
RHF/UHF 
CONV 
E 

ADC(2)x, CVSADC(2)x 
RHF/UHF 
CONV 
E 

ADC(3), CVSADC(3) 
RHF/UHF 
CONV 
E 

❖ with CheMPS2 

DMRGCI 
RHF 
CONV 
E 

DMRGSCF 
RHF 
CONV 
E 

DMRGCASPT2 
RHF 
CONV 
E 
◻ name ↓ → ◻ ◻ 
◻ type[6] ↓ → 
Restricted (RHF) 
Unrestricted (UHF) 
Restricted Open (ROHF) 


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 
✓ 
✓̳ 
✓ 
✓ 
✓̳ 
∷ 
✓ 
✓̳ 
✓ 
✓ 
✓̳ 
∷ 
✓ 
✓̳ 
✓ 
✓ 
✓̳ 
∷ 

mp2 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
∷ 
✓̳ 
✓̳ 
∷ 
∷ 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
∷ 
✓̳ 
✓̳ 
∷ 
∷ 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
∷ 
∷ 
∷̳ 
∷̳ 
∷ 
∷ 

mp2.5 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
∷ 
✓̳ 
✓̳ 
∷ 
∷ 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
∷ 
✓̳ 
✓̳ 
∷ 
∷ 

mp3 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
∷ 
✓̳ 
✓̳ 
∷ 
∷ 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
∷ 
✓̳ 
✓̳ 
∷ 
∷ 

mp4(sdq) 
✓̳ 
✓̳ 

mp4, mpn[9] 
✓̳ 
✓̳ 

zapt2, zaptn[9] 
✓̳ 
✓̳ 

cisd, cin[9] 
✓̳ 
✓̳ 
✓̳ 
✓̳ 

qcisd 
✓̳ 
✓̳ 

qcisd(t) 
✓̳ 
✓̳ 

fci 
✓̳ 
✓̳ 
✓̳ 
✓̳ 

remp2 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓ 

lccd 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
∷̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
∷̳ 
✓ 
✓ 
∷ 
∷ 

lccsd, cepa(0) 
✓̳ 
✓̳ 

cepa(1) 
✓̳ 
✓̳ 

cepa(3) 
✓̳ 
✓̳ 

acpf 
✓̳ 
✓̳ 

aqcc 
✓̳ 
✓̳ 

ccd 
✓ 
✓ 
✓ 
✓ 
✓ 
✓ 
∷ 
∷ 
✓ 
✓ 
✓ 
✓ 
✓ 
✓ 
∷ 
∷ 

bccd 
✓̳ 
✓̳ 
✓̳ 
✓̳ 
✓̳ 
✓̳ 

cc2 
✓̳ 
✓̳ 
✓̳ 
∷̳ 
✓̳ 
✓̳ 
∷̳ 
∷̳ 
✓̳ 
✓̳ 
∷̳ 
∷̳ 

ccsd 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
∷̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
∷̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓̳ 
✓̳ 
∷̳ 

ccsd(t) 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
∷̳ 
∷̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓̳ 
∷̳ 
∷̳ 
✓̳ 
✓̳ 
∷̳ 
∷̳ 

accsd(t)[10] 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓ 

bccd(t) 
✓̳ 
✓̳ 
✓̳ 
✓̳ 
✓̳ 
✓̳ 

cc3 
✓̳ 
✓̳ 
✓̳ 
✓̳ 
✓̳ 
✓̳ 

omp2 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓̳ 
✓̳ 
∷ 
∷ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓̳ 
✓̳ 
∷ 
∷ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓̳ 
✓̳ 
∷ 
∷ 

omp2.5 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 

omp3 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 

oremp2 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 

olccd 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓ 
✓ 
∷ 
∷ 

svwn, LSDA DFT 
✓ 
✓̳ 
✓ 
✓ 
✓̳ 
∷ 
✓ 
✓̳ 
✓ 
✓ 
✓̳ 
∷ 

pbe, GGA DFT 
✓ 
✓̳ 
✓ 
✓ 
✓̳ 
∷ 
✓ 
✓̳ 
✓ 
✓ 
✓̳ 
∷ 

b3lyp, Hybrid DFT 
✓ 
✓̳ 
✓ 
✓ 
✓̳ 
∷ 
✓ 
✓̳ 
✓ 
✓ 
✓̳ 
∷ 

wb97x, LRC DFT 
✓ 
✓̳ 
✓ 
✓̳ 
✓ 
✓̳ 
✓ 
✓̳ 

b2plyp, DH DFT[11] 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
✓ 
✓ 
✓̳ 
✓̳ 
✓ 
✓ 
Algorithm type selection keyword below. Values to the right: conventional CV
, densityfitted DF
, and Choleskydecomposed CD
.
Active orbital values to the right: allelectron A
and frozencore F
.
Methods with no analytic gradients do not have finite difference explicitly marked by “∷”, but the capability can be gleaned from the energy availability.
Arbitraryorder n through DETCI is inefficient byproduct of CI
aCCSD(T) also known as CCSD(aT), LambdaCCSD(T), and CCSD(T)_L
DHDFT only available with DFMP2
Technical Support¶
The PSI4 package is distributed for free and without any guarantee of reliability, accuracy, or suitability for any particular purpose. No obligation to provide technical support is expressed or implied. As time allows, the developers will attempt to answer inquiries on the forum or GitHub. For bug reports, specific and detailed information, with example inputs, would be appreciated.
Wheretopost summary:[12]
How do I? – ask the forum
I got this error, why? – ask the forum
I got this error and I’m sure it’s a bug – file a GitHub issue
Can I open a discussion on this bit of code? – file a GitHub issue
I have an idea/request and a plan – file a GitHub issue
I have an idea/request – ask the forum
Why do you? – ask the forum
When will you? – ask the forum
I have an experience that can improve the build documentation – inform the forum or add to the documentation itself
Anything you want to share privately – crawdad@vt.edu or sherrill@gatech.edu
Adapted from here.