Nihms 1625530
Nihms 1625530
Nihms 1625530
Author manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Author Manuscript
Prakash Verma10, Henry F Schaefer 3rd11, Konrad Patkowski12, Rollin A King13, Edward F
Valeev8, Francesco A Evangelista10, Justin M Turney11, T Daniel Crawford8, C David
Sherrill1
1Center for Computational Molecular Science and Technology, School of Chemistry and
Biochemistry, School of Computational Science and Engineering, Georgia Institute of Technology,
Atlanta, Georgia 30332-0400, United States.
2National
Institutes of Health, National Heart, Lung and Blood Institute, Laboratory of
Computational Biology, 5635 Fishers Lane, T-900 Suite, Rockville, Maryland 20852, United
States.
3Department of Chemistry and Biochemistry, Florida State University, Tallahassee, Florida
32306-4390, United States.
Author Manuscript
4Department of Chemistry and Biochemistry, The City College of New York, New York, New York
10031, United States.
5Department of Chemistry, Hacettepe University, Ankara 06800, Turkey.
6Division of Chemistry and Chemical Engineering, California Institute of Technology, Pasadena,
California 91125, United States.
7Department of Chemistry, Centre for Theoretical and Computational Chemistry, UiT, The Arctic
University of Norway, N-9037 Tromsø, Norway.
8Department of Chemistry, Virginia Tech, Blacksburg, Virginia 24061, United States.
9Department of Chemistry and Research Center for Smart Molecules, Rikkyo University, 3-34-1
Author Manuscript
Abstract
Author Manuscript
PSI4 is an ab initio electronic structure program providing methods such as Hartree-Fock, density
functional theory, configuration interaction, and coupled-cluster theory. The 1.1 release represents
a major update meant to automate complex tasks, such as geometry optimization using complete-
basis-set extrapolation or focal-point methods. Conversion of the top-level code to a Python
module means that PSI4 can now be used in complex workflows alongside other Python tools.
Several new features have been added with the aid of libraries providing easy access to techniques
such as density fitting, Cholesky decomposition, and Laplace denominators. The build system has
been completely rewritten to simplify interoperability with independent, reusable software
components for quantum chemistry. Finally, a wide range of new theoretical methods and analyses
have been added to the code base, including functional-group and open-shell symmetry adapted
perturbation theory (F-SAPT and O-SAPT), density-fitted coupled cluster with frozen natural
orbitals [DF-FNO-CCSD(T)], orbital-optimized perturbation and coupled-cluster methods (e.g.,
Author Manuscript
Graphical Abstract
Author Manuscript
1 Introduction
Quantum chemical computations have become an indispensable part of molecular science.
They can provide accurate molecular geometries, reaction mechanisms and energetics, and
simulated spectra. Quantum chemistry also yields parameters needed to develop force-field
models, and as such serves to anchor multiscale modeling efforts. Advances in electronic
structure theory and in computer hardware have meant that quantum chemistry is now
capable of giving very accurate results for systems with about three dozen atoms or less and
reasonably accurate results for hundreds of atoms.
Author Manuscript
Unfortunately, electronic structure methods are inherently complicated, and the computer
programs to implement them are quite lengthy. Fully featured quantum chemistry program
packages can easily reach more than one million lines of source code. Additionally, it takes
significant effort to optimize these codes so that they run as quickly as possible (an
important consideration, given that computations are very time-consuming for larger
molecules and/or more accurate models). Thus, most of the popular quantum chemistry
programs have been developed over many years through the combined efforts of numerous
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 3
programmers and often several research groups. This model of large, complex codes
Author Manuscript
We believe that this current development model is unsustainable and that the future of
quantum chemistry software development lies in a more modular approach, in which small,
independent teams develop reusable software components that can be incorporated directly
into multiple quantum chemistry packages, for example, as a library or standalone program
that has no dependency on any particular quantum chemistry program.1 For example,
Author Manuscript
Our build system, driver, and binary distribution system have been redesigned to make it
easier for PSI4 to call independent software components. At the same time, we have also
Author Manuscript
made PSI4 callable as a Python library, so that it can be incorporated into complex
workflows driven by custom Python scripts or interfaced with other scientific Python
projects, of which there has been an explosion in the past few years. Wrapping much of the
C++ functionality of PSI4 by Python has not only enabled interoperability, but it has also led
to more rapid prototyping and development of complex functionality. Interoperability has
also been enhanced by the addition of functions to write out data in common file formats
used by quantum chemistry analysis tools, e.g., Molden format for molecular orbitals and
formatted checkpoint files.
We have used object-oriented design to make certain key functionalities available through a
generic application program interface (API), while allowing optimizations or adaptations to
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 4
various hardware to be done “under the hood” without necessitating changes to the top-level
Author Manuscript
code that implements a particular quantum chemistry method. For example, this allows us to
transparently switch among different libraries to compute electron repulsion integrals,
depending on which is optimal for a particular type of hardware. Finally, we have also added
libraries to enable techniques that are becoming more important in modern quantum
chemistry, such as density fitting33–41 and Cholesky decomposition.42–46
Here we summarize our efforts to modularize and extend PSI4 along these lines. We also
report on additional new capabilities of the package. This article, and its author list, reflects
primarily the changes since the previous PSI4 publication,47 written at the stage of an alpha
release. The PSI4 1.1 release carries over much of the design, code, and capabilities of that
earlier version of PSI4 and also retains some code and capabilities from PSI3.48
2 Python Interface
Author Manuscript
In the alpha release of PSI4 in 2012,47 we introduced a Python front-end to what had
previously been an exclusively C/C++ program. All computationally intensive modules
remain written in C++ for efficiency reasons, but user input parsing and simple, high-level
functions that help drive the program are written in Python.
2.1 Using Python to Parse User-Friendly Input and Automate Multi-Step Computations
One of the design goals of PSI4 is to make the program as easy to use as possible, for both
beginners and expert users. For beginners, a minimal input suffices for basic computations.
Indeed, one does not even need to specify atomic coordinates — for common molecules,
these can be obtained from the PubChem database (for nodes with internet connectivity).49
An input file to optimize the geometry of the benzene molecule using Hartree-Fock self-
Author Manuscript
molecule benzene{
pubchem:benzene
}
set basis sto-3g
optimize(“scf”)
For a graphical user interface (GUI), the popular WebMO program19 is capable of drawing
molecules, generating text input files, managing a job queue, and visualizing orbitals and
other results.
Author Manuscript
Although many solutions would have sufficed to parse input files like the example above, we
also wished to allow much more complex input files by advanced users, who might want to
perform multi-step computations, execute loops to build a potential energy surface, create
tables and export data structures of results, or interface with other Python projects, all in the
input file. In this, we were inspired by the MOLPRO program,51 which enables looping and
post-processing operations.
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 5
Our approach is to use the Python language itself for input, yet allow free-form specification
Author Manuscript
of common quantum chemical input (e.g., molecules, options, custom basis sets) by
intercepting and parsing them into proper Python commands. In this way, basic users submit
minimal input files without any required knowledge of Python, while the inclined can draw
upon the full scientific Python ecosystem. This combination of simple quantum chemistry
directives and user-specified Python code forms a domain-specific language, “Psithon,” that
has shown itself an effective balance between power and ease-of-use since its introduction in
alpha PSI4. Advanced users of quantum chemistry programs commonly write workflow-
automating helper scripts to aggregate computations, drive supporting executables, or extract
key quantities. With PSI4 such functionality can be expressed directly in an input file with
conventional Python or, if a given functionality is popular, absorbed into the PSI4 driver.
the 1.1 release, PSI4 has been significantly overhauled to make many common operations,
which would normally be done by custom user scripts, as easy as specifying a single input
string. For example, the common notation of computational chemistry that separates method
and basis with a slash can be used, e.g., optimize(“SCF/STO-3G”). This idea can be
extended to complete-basis-set (CBS) extrapolations, which can be expressed as
energy(“SCF/cc-pV[D,T,Q]Z”) to perform an exponential extrapolation of the SCF energy
using the cc-pVDZ, cc-pVTZ, and cc-pVQZ basis sets.52 A two-point extrapolation of the
correlation energy can be specified in a similar way, e.g., energy(“MP2/aug-cc-pV[T,Q]Z”)
for second-order Møller-Plesset perturbation theory (MP2) in augmented basis sets.52,53
Depending on the method (SCF or post-SCF) and number of ζ-levels specified,
extrapolation formulae are selected automatically among 2- and 3-point Helgaker schemes
for SCF energies54 and 2-point Helgaker for correlation energies.55 Alternate or user-defined
Author Manuscript
(by writing a Python function) extrapolation equations may be specified through additional
keywords. For example, opt(“MP2/aug-cc-pV[T,Q]Z + D:CCSD(T)/cc-pV[D,T]Z”,
corl_scheme=myxtpl_2) performs a focal point optimization with the coupled-cluster delta
correction employing a custom formula for its 2-point extrapolation atop MP2 using the
default 2-point Helgaker formula. Importantly, the 1.1 release also generalizes these
extrapolations to work also for geometry optimizations and vibrational frequencies, e.g.,
frequencies(“MP2/cc-pV[D,T]Z”) for an MP2 extrapolated vibrational frequency
computation.
In a similar way, corrections for basis set superposition errors (BSSE) can also be specified
very simply: energy(“MP2/aug-cc-pV[T,Q]Z”, bsse_type=“cp”) for an MP2 extrapolated
Boys-Bernardi counterpoise correction.56 For a molecular cluster, the Valiron-Mayer
Author Manuscript
functional counterpoise (VMFC) correction57 is also available. Molecular clusters can also
be analyzed in an N-body fashion in terms of dimers, trimers, etc. This is fully automated by
PSI4’s Python driver and can be called by altering the bsse_type argument to the usual
energy() function. Grep-able, tabulated, and programmatically accessible quantities for each
requested fragment and basis set partitioning combination are made available, and multiple
BSSE treatments can be computed concurrently.
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 6
Handling such complex operations with such minimal user input is the role of the Python
Author Manuscript
driver portion of PSI4. It contains generic functions like energy(), optimize(), and
frequencies(), which take a quantum chemistry method as an argument, then set appropriate
options based on user specifications and best practices for the method. The driver then
decides what C++ modules need to be called, and in what order. Results are passed back
from the C++ modules to the Python driver so that they can undergo various types of post-
processing (e.g., converting to other units, combining with results from other programs,
exporting as data structures, etc.). For composite and otherwise complex methods, the main
driver functions are often recursively called.
Additionally, one can obtain any method’s wavefunction and pass it to generic objects that
can write out or manipulate data: molden(), which writes Molden files; cubeprop(), which
writes densities and electrostatic potentials on a grid; and OEprop(), which computes
arbitrary one-electron properties. For example, writing the optimized-orbital MP2 orbitals in
Molden format can be accomplished by the following:
Author Manuscript
large size and build difficulties; we now use the header-only pybind11 library.59
PSI4 modules such as the “JK” object that generates Coulomb and exchange matrices are
readily available through Python:
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 7
As JK builds are the bottleneck in SCF computations, a Python-based SCF algorithm can
have nearly identical execution time to that of full C++ code. This is one of many cases
Author Manuscript
where the most computationally intensive parts of calculations can be handled by a PSI4
library, resulting in top-level code that is easy to write, easy to understand, and
computationally efficient.
The PSI4NUMPY project60 aims to enable the creation of clear, readable code for
development or pedagogical purposes by combining the extensive Python accessibility of
PSI4 with the popular Numerical Python (NumPy)61 library for high-level array
manipulation and access to the BLAS library. The latest version of PSI4 adopts code from
that project60 allowing PSI4 data and NumPy objects to be seamlessly interconverted. For
example,
psi4_matrix = psi4.Matrix.from_array(np_array)
new_np_array = numpy.array(psi4_matrix)
summer students and new graduate students, utilizing PSI4 and PSI4NUMPY.
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 8
mechanics. As both of these programs have Python front-ends, passing data between
programs is straightforward. PSI4 can also be run interactively through Jupyter notebooks,62
Author Manuscript
which are like Mathematica notebooks for Python; intermediate results can be graphed and
analyzed with standard Python tools. We believe Jupyter notebooks hold promise as “lab
notebooks” (or supplementary information) for computational research, as well as for guided
computational chemistry laboratory exercises.
require linking or internal code activation can be built from source (downloaded from
GitHub or research websites) during the PSI4 build. Or, existing pre-built libraries can be
detected and seamlessly linked in to the final PSI4 library and plugin system. Wherever
rational, shared and archive (static) libraries are equally supported. Whenever possible, the
changes to an external project’s build system required by PSI4 have been accepted upstream
to the main project. These typically consist of a few short files that should prove useful to
non-PSI4 users of the add-ons also.
Forming a clear delineation between PSI4 code and external projects simplifies build
maintenance but also permits better management and reuse of libraries so that core
developers and users alike can access a full-featured PSI4 compilation without hassle.
Invaluable in this endeavor is Anaconda,64 a distribution of Python (and its associated
Author Manuscript
package manager, conda) that focuses on the scientific community and the cross-platform
accessibility of Python and Python/C++/Fortran binaries. Conda tools facilitate the
construction of relocatable (installable into any directory) and generic (executable on almost
any OS distribution) binary packages, which are hosted at https://anaconda.org/psi4 for Mac
and Linux (and, through Ubuntu Terminal, recent versions of Microsoft Windows). To make
binaries as foolproof as possible, while also maintaining the efficiency so vital to quantum
chemistry computations, a number of techniques are employed, including static linking of
high-quality math libraries, static linking of system libraries wherever possible,65 resolving
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 9
For External Projects the PSI4 project will (1) leave control of their code under their
purview; (2) maintain any interfacing code needed; (3) regularly run integration tests
between PSI4 and their code; (4) build a mostly statically linked conda package so that any
of their users can obtain a pre-built binary distribution through conda install addon --channel
psi4; (5) provide a development sandbox for their code through PSI4 plugins; and (6) provide
conda download counts independent of PSI4. This maintain-in-pieces build-as-whole model
is working for add-ons that are executables, libraries, and plugins from languages C, C++,
and Fortran (and could be extended to proprietary or restricted license add-ons), as seen in
Figure 1.
by Figure 1 does not end with PSI4 (especially now that PSI4 is a library more than an
executable) and that PSI4 has benefited from the flexible licensing terms of our add-ons, the
license for PSI4 itself has been relaxed from the GNU General Public License version 2 or
later (GPL-2.0+) to the GNU Lesser General Public License version 3 (LGPL-3.0), thereby
permitting PSI4 to be incorporated downstream without downstream projects inheriting the
GPL. The required dependencies have been minimized so that it is possible to build a (non-
full-featured) PSI4 without any GPL involvement, and a conda package meeting those
restrictions is distributed.
dispersion corrections for use with density functional theory.16 The latest version
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 10
implements the widely used polarizable continuum model (PCM) for solvation.
69–72 Within PCM, the mutual solute-solvent polarization is represented by an
apparent surface charge σ spread over the cavity boundary and computed as the
unique solution to the integral equation associated to the classical Poisson
problem,73 Tσ = − ℛφ, where the definition of the operators T and ℛ depends
on the molecular geometry and the Green’s function for the differential problem
at hand. This mathematical framework can be applied to complex environments,
such as homogeneous isotropic, ionic, and anisotropic liquids,73 and systems
with interfaces.74–77 In the model, a molecular cavity built from a set of
interlocking atom-centered spheres is partitioned into a mesh of (curvilinear or
planar) finite elements, to each of which is attached a finite basis set of
piecewise-regular polynomials that offer a natural discretization of the above
Author Manuscript
• DKH: This library by Wolf, Reiher, and Hess implements the Douglas-Kroll-Hess
relativistic corrections between 2nd and 4th order.12,13
LIBINT with other integrals libraries, and we have written an interface to the ERD
library of Flocke and Lotrich.80 Very recently, we have also interfaced to the new
SIMINT library of Pritchard,8,9 optimized for architectures like the Intel Xeon Phi.
• GDMA: PSI4 has been interfaced with the GDMA program of Stone,85 which
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 11
structure of an active space. Unlike CAS CI, v2RDM methods can be applied to
Author Manuscript
• CFOUR:We have nearly completed a prototype interface that allows PSI4 to drive
computations performed by the CFOUR package for coupled-cluster theory.89
• FORTE: This plugin (requiring PSI4) by Li, Hannon, Schriber, Zhang, and
Evangelista90 implements a number of multireference quantum chemistry
methods, including approaches based on the driven similarity renormalization
Author Manuscript
projector-CI.96
4 Development Process
PSI4 has adopted tools standard in the industry such as GitHub for collaboration and version
control, Travis CI97 for continuous integration testing, and CodeCov98 for test coverage
metrics. This ensures the primary source code retains its reproducibility and all code
changes can be reviewed by the entire PSI4 community. New developers feel safe making
changes to the base code, as all changes will be publicly visible and reviewed by the core
team through the GitHub “pull request” mechanism, and the changes will also be tested
automatically by the Travis CI system. The public visibility of the GitHub project helps
Author Manuscript
communication between developers, both within the core team and also with independent
developers who want their code to work with PSI4. Several improvements and bug fixes have
been contributed back to the PSI4 development team from the broader community.
5 Libraries
5.1 Density fitting
One of the major barriers to efficient electronic structure computations is the large number
of ERIs. For a set of one-particle spatial basis functions ϕp r 1 (e.g., Gaussian atomic
orbitals, molecular orbitals), the ERIs are defined as
pq ∣ rs ≡ ∬ d3r1d3r2ϕp r ϕq r
1
ϕ r ϕs r ,
Author Manuscript
1 1 r12 r 2 2 (1)
ℝ6
where r 1 and r 2 denote the Cartesian coordinates of electrons 1 and 2, respectively, and r12
is the distance between electrons 1 and 2. Each ERI encapsulates the electrostatic interaction
between a particle in the “pair-space” basis function ρpq r 1 ≡ ϕp r 1 ϕq r 1 in coordinate 1
with another particle in pair-space basis function ρrs r 2 ≡ ϕr r 2 ϕs r 2 in coordinate 2.
Despite the existence of a rich literature on the efficient evaluation of the ERIs in Gaussian
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 12
orbitals,99–101 the order-4 ERI tensor is a major bottleneck in terms of generation, storage
Author Manuscript
and utilization.
A particularly elegant approach to reducing the impact of the 4-index nature of the ERIs in
electronic structure theory begins from the observation that the quadratic-scaling pair-space
basis ρpq r 1 is highly numerically redundant, particularly in large molecular systems
and/or high-quality basis sets. Fortunately, the usual quadratic-scaling pair-space basis can
be accurately represented in a linear-scaling “auxiliary basis” χA r 1 , e.g.,
A A
ρpq r 1 ≈ ∑A dpq χA r 1 , where dpq is an order-3 fitting coefficient tensor. This is the crux of
the extremely successful Cholesky decomposition (CD)42–46 and density fitting (DF)33–41
approaches. In particular, we focus on the now-ubiquitous “Coulomb-metric” DF approach,
in which the ERI is approximated as
∑ −1
Author Manuscript
C C
pq ∣ rs ≈ pq ∣ A A ∣ B B ∣ rs ≡ Bpq Brs . (2)
AB
In the last step, and below, we assume that repeated indices are summed over. The use of DF
reduces the storage burden of the ERI tensor from order-4 to order-3. In addition,
transforming the integrals from the atomic orbital to molecular orbital basis now becomes an
O n4 operation instead of an O n5 operation. Moreover, the subsequent utilization of the
ERI tensor in contractions with density matrices or wavefunction amplitudes is often
considerably more efficient than with conventional integrals, due to reduced storage cost and
the occasional opportunity to achieve formal scaling reduction by the “unpinning” of the pq
and rs indices in the DF representation (i.e., this sometimes allows more efficient ways to
order the steps in the tensor multiplications). Coulomb-metric DF is exceedingly accurate,
Author Manuscript
with errors in relative properties of chemical interest (barrier heights, interaction energies,
etc.) generally lower than 0.05 kcal mol−1 when using standardized auxiliary fitting basis
sets.41
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 13
This helper class shields the user from the specifics of forming the DF integrals:
Author Manuscript
5.2 JK object
A fundamental (and often quite computationally expensive) operation in myriad electronic
structure methods is the construction of one-electron “Coulomb” (Jpq) or “exchange” (Kpq)
Author Manuscript
J pq ≡ ∑ pq ∣ rs Drs, (3)
rs
The density matrices supplied to the JK object are actually specified in terms of their
underlying factorization in terms of occupied orbital coefficients. This factorization naturally
occurs in most places that J and K matrices appear (and can always be achieved by
supplying the density and identity matrices as the factor tensors, if needed). However,
endowing the JK object with knowledge of the factorization and symmetry of the density
Author Manuscript
6 New Capabilities
6.1 Symmetry-Adapted Perturbation Theory (SAPT)
One of the specialties of PSI4 is a suite of symmetry-adapted perturbation theory
(SAPT)103–105 codes for the analysis of noncovalent interactions.106 Previously, we had
introduced efficient density-fitted and/or natural-orbital-accelerated implementations of
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 14
3500 basis functions and the use of DF-SAPT2+3(CCD) on systems with up to ~ 1200 basis
functions. Recently, we have extended the capabilities of the SAPT codes in PSI4 to broaden
their applicability beyond closed-shell dimers and to deepen the insight obtained. These
developments include the “functional group” SAPT (F-SAPT) decomposition,112,113 which
provides a partition of the SAPT0 energy at the chemical functional group level through
partial summations of the SAPT perturbation series in terms of pairs of nuclei and localized
electrons. F-SAPT0 has the same computational cost as a standard DF-SAPT0 analysis, but
provides deeper insight by quantifying the contribution of each pair of functional groups to
each intermolecular interaction energy term. For example, with F-SAPT we can partition the
interaction energy in a protein-ligand interaction into contributions between functional
groups on the ligand and individual side-chains in the active site.
Author Manuscript
implementation of these methods. Moreover, the use of these common library primitives
serve to “standardize” the tractability limits of all of the SAPT0-type methods, meaning that
they all are deployable to the same ~ 3500 basis function scale.
determining step, the so-called particle-particle ladder term, becomes actually more
computationally costly in the DF/CD formalism, as one has to create the all-virtual ERIs
from the 3-index quantities in a step that scales as O Naux v4 , where Naux is the size of the
auxiliary index (the number of auxiliary basis functions in the DF approach, or the number
of Cholesky vectors in the CD approach). While technically only a fifth-power term, it is a
very expensive one, since Naux and v are both large compared to o.
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 15
can delete a significant fraction of the most weakly occupied natural orbitals with only a
minor impact on the total energy. Indeed, in our tests of intermolecular interaction energies
in the S22 test set,125 we performed computations with coupled-cluster through perturbative
triples [CCSD(T)] in which we deleted FNO virtual orbitals with occupation numbers less
than 10−5. In an aug-cc-pVDZ basis set,52,53 the mean absolute error for this approximation
was only 0.012 kcal/mol when MP2 is used to approximately correct for the deleted FNO
virtual orbitals.126 The errors due to density fitting are an order of magnitude smaller than
this, about 0.001–0.002 kcal/mol when using the standard double-ζ density fitting auxiliary
basis sets.127 On the other hand, the combined DF/CD and FNO approximations can lead to
substantial speedups in some cases, particularly for intermolecular interactions when
counterpoise corrections are applied, because most of the “ghost” functions are weakly
Author Manuscript
occupied and can be effectively truncated by the FNO procedure. To compute the relatively
small and subtle three-body contribution to the interaction energy of the benzene trimer, we
used a very conservative 10−7 cutoff on the FNOs, and nevertheless the overall counterpoise-
corrected DF-FNO-CCSD(T)/aug-cc-pVDZ computation ran four times faster than the
corresponding conventional CCSD(T) computation.127 This allowed us to perform a large
number of such computations, which resulted in the first definitive resolution of the three-
body contribution to the lattice energy of crystalline benzene.128 Additional speedups of
about 3x are possible using our version of the code optimized for GPUs.129 The
MOLCAS130 and Q-Chem131 programs have also implemented coupled-cluster codes using
DF and/or CD approximations combined with FNOs or similar orbitals.132,133
Analytic gradients have been implemented for MP2 and third-order Møller-Plesset
perturbation theory (MP3), using restricted Hartree-Fock (RHF) or unrestricted Hartree-
Fock (UHF) orbitals, with conventional integrals or with density fitting. From these codes, it
was straightforward134 to also implement “MP2.5,” which is a simple average of MP2 and
MP3.135 This method has been found134–136 to give rather accurate results for non-covalent
interaction energies at a substantially reduced cost compared to CCSD(T).
We have also recently added analytic gradients for CCSD and CCSD(T) with RHF or UHF
orbitals. In addition, we published the analytic gradients of density-fitted CCSD.137 The
density fitting approximation, while speeding up the computation of certain terms, has very
little effect on geometries or vibrational frequencies.137,138
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 16
optimized-orbital (OO) CCD was found,144 like Brueckner CCD, to provide much better
Author Manuscript
available for MP2,156 MP3,157 MP2.5,157 and linearized CCD.158 For a set of weakly
interacting dimers, orbital optimization was found to maintain the good performance of
Hartree-Fock-based MP2.5 for closed-shell systems, but for open-shell systems, orbital
Author Manuscript
optimization decreased errors by a factor of 5 (leading to results better than the more
expensive CCSD method).134
For flexibility, all methods of the MCSCF wavefunction object have been exported to Python
so that advanced MCSCF methods can be easily built.
Author Manuscript
Using these flexible objects allows for the rapid exploration of various post-MCSCF
theories. For example, SAPT based on CASSCF wavefunctions is being developed in such a
manner.
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 17
matrices and energies without explicitly constructing the electronic wave function, thus
making the computation of molecular properties (e.g., equilibrium structures, dipole
moments, vibrational spectra) very efficient. Among other attractive features of DCT are
size-extensivity, orbital relaxation, and the ability to efficiently incorporate high-order
electron correlation effects. The earlier version of PSI4 presented the first implementation162
of the original DCT formulation that used a simple set of approximate N-representability
conditions (the DC-06 method).161 In the PSI4 1.1 release, several new DCT methods have
been implemented, including an improved description of the one-particle density matrix
(DC-12),163 orbital-optimized DCT formulations (ODC-06 and ODC-12),164 and more
sophisticated N-representability conditions and three-particle correlation effects [ODC-13
and ODC-13(λ3)].165 These new methods have a similar computational cost as the original
DC-06 method, but exhibit much higher accuracy, especially for systems with unpaired
electrons and significant multi-reference effects.166,167 The new DCT code also features
Author Manuscript
analytic gradients for the DC-06, ODC-06, and ODC-12 methods.164,168 Very recently, we
introduced density fitting and spin-adaptation, which significantly reduce the cost of the
two-electron integral transformation for the orbital-optimized DCT methods (e.g., ODC-12).
169 Using this new DF-based implementation, it is now possible to perform DCT
computations with all electrons correlated for systems with more than 1000 basis functions.
There is improved support for constrained optimizations, including the ability to freeze
selected internal and Cartesian coordinates, and to optimize toward a structure with a desired
coordinate value using extra forces. The user can also turn on a “dynamic-level” algorithm
Author Manuscript
that incrementally tries more robust optimization methods for difficult systems when poor
steps occur. This approach was critical in obtaining optimized geometries in a study of
highly-strained alkoxy-substituted 1,8-bis((propyloxyphenyl) ethynyl) naphthalenes.175
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 18
abbreviated as X2C. An X2C computation starts with the diagonalization of the one-electron
Dirac Hamiltonian using a kinetically balanced basis set. Next, a Foldy-Wouthuysen
transformation186 is performed, which yields an effective one-electron Hamiltonian matrix
(hX2C), which is the sum of one-electron modified kinetic and potential energy matrices.
The choice of basis for X2C computations requires some considerations. In general,
contracted basis sets do not offer a balanced description of the large and small components
of the wave function, so it is generally recommended to evaluate the X2C Hamiltonian via a
decontraction/recontraction procedure. The default procedure used in PSI4 consists in
solving the Dirac Hamiltonian in a decontracted atomic orbital basis followed by projection
of the solutions onto the contracted basis. Alternatively, the user may perform a computation
in a fully decontracted basis.
Author Manuscript
One of the major advantages of spin-free scalar relativistic approaches like X2C is that they
can be easily interfaced with non-relativistic electronic structure methods by replacing the
one-electron Hamiltonian matrix with the quantity hX2C. All other quantities that enter these
theories (two-electron integrals, exchange-correlation functionals, etc.) are evaluated using
standard non-relativistic equations. The cost of X2C computation has a scaling proportional
to the cube of the number of basis functions (the number of primitive basis functions, in the
case of decontraction/recontraction procedure) and is generally negligible. An example
application of the X2C capabilities of PSI4 is a recently developed X2C/orthogonality-
constrained DFT187 approach to predict near edge X-ray absorption spectra.188 The use of
scalar relativistic Hamiltonians was found to be essential, since already for second-row
elements the correction to nonrelativistic excitation energies is as large as 8 eV.
Author Manuscript
Not only do we wish to help experienced users learn about how to use PSI4, but we also want
to leverage PSI4 to teach undergraduates and graduate students about computational
chemistry. We have formed the PSI4Education group to develop and distribute a set of
computational chemistry laboratory exercises using freely available software, including PSI4.
Our webpage provides the labs developed to date,194 and a book chapter describes the
project as a whole.195 We use the popular WebMO graphical front-end,19 which is interfaced
to PSI4. A Psi4Education workshop was held at the Biennial Conference on Chemical
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 19
Education demonstrating these lab exercises in 2014. In 2016, a joint workshop on quantum
Author Manuscript
chemistry and molecular mechanics simulations at the Florida American Chemical Society
meeting introduced attendees to PSI4 integrated with plotting capabilities in Jupyter
notebooks. We plan to continue developing additional lab exercises as part of this effort. In
addition, as mentioned above in Section 2.3, advanced exercises in electronic structure
theory for upper-level undergraduates and beginning graduate students, developed using our
user-friendly Python front-end and the NumPy linear algebra library, are available through
the Psi4NumPy project.60
8 Conclusions
The hybrid C++/Python programming model seems successful in our experience so far. C++
allows fast, efficient code for lower-level, computationally intensive tasks. For the driver and
other higher-level portions of the code, Python seems to offer a lower barrier to entry for
Author Manuscript
new programmers, and it can facilitate rapid prototyping thanks to the interface with NumPy.
Moreover, the large number of active scientific computing projects in Python is likely to aid
interoperability of PSI4 with other projects, which is one of our major goals. To that end, the
1.1 release uses a new build and distribution system to make it easy to connect PSI4 with
independently-developed, reusable software components. Finally, we have developed a new
set of libraries providing efficient generation of generalized Coulomb and exchange
matrices, density-fitted electron repulsion integrals, and related quantities. These libraries
have greatly simplified and sped up our development of numerous new features over the past
few years.
Acknowledgements
Author Manuscript
We are grateful to the contributors of all earlier versions of the PSI program. Brandon Bakr provided Figure 2, and
Michael Zott provided a figure element for the TOC. Several of the co-authors have been supported in their
development of PSI4 and affiliated projects by the U.S. National Science Foundation, through grants ACI-1147843,
CHE-1300497, CHE-1351978, CHE-1361178, ACI-1449723, ACI-1450169, ACI-1465149, CHE-1566192, and
ACI-1609842; by the U.S. Department of Energy through grants DE-SC0015512 and DE-SC0016004; and by the
U.S. Department of Defense through a HPCMP Applications Software Initiative (HASI) grant. U. B. acknowledges
support from the Scientific and Technological Research Council of Turkey (Grant No. TUBITAK-114Z786) and the
European Cooperation in Science and Technology (Grant No. CM1405). R. D. R. acknowledges support from the
Research Council of Norway through a Centre of Excellence Grant (Grant No. 179568/V30). J. F. G. acknowledges
the postdoctoral fellowship No P2ELP2_155351 from the Swiss NSF. The authors thank Prof. Stefan Grimme for
consultations in validating HF-3c and PBEh-3c.
References
(1). Wilson EK Quantum Chemistry’s Modular Movement. Chemical and Engineering News 2014, 92,
26.
(2). Valeev EF; Fermann JT Libint: A high-perforrmance library for computing Gaussian integrals in
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 20
(6). Wouters S; Poelmans W; Ayers PW; Van Neck D CheMPS2: A Free Open-Source Spin-Adapted
Implementation of the Density Matrix Renormalization Group for Ab Initio Quantum Chemistry.
Author Manuscript
www.mrcc.hu.
(18). Rolik Z; Szegedy L; Ladjánszki I; Ladóczki B; Kállay M An Efficient Linear-Scaling CCSD(T)
Method Based On Local Natural Orbitals. J. Chem. Phys 2013, 139, 094105. [PubMed:
24028100]
(19). Schmidt JR; Polik WF WebMO 17; WebMO, LLC: Holland, MI, 2016 http://www.webmo.net
(accessed May 8, 2017).
(20). Schaftenaar G; MOLDEN, Version 5.7. http://www.cmbi.ru.nl/molden/ (accessed May 8, 2017).
(21). Schaftenaar G; Noordik JH Molden: A Pre- and Post-Processing Program for Molecular and
Electronic Structures. J. Comput.-Aided Mol. Des 2000, 14, 123–134. [PubMed: 10721501]
(22). VMD: Visual Molecular Dynamics; Theoretical and Computational Biophysics Group,
University of Illinois at Urbana-Champaign, 2017 http://www.ks.uiuc.edu/Research/vmd/
(accessed May 8, 2017).
(23). Humphrey W; Dalke A; Schulten K VMD - Visual Molecular Dynamics. J. Mol. Graphics 1996,
14, 33–38.
(24). GitHub. https://github.com/ (accessed May 8, 2017).
Author Manuscript
(25). Wang L-P; Song C GeomeTRIC, a geometry optimization code that includes the TRIC
coordinate system; 2017 http://github.com/leeping/geomeTRIC (accessed May 8, 2017).
(26). Wang L-P; Song C Geometry Optimization Made Simple with Translation and Rotation
Coordinates. J. Chem. Phys 2016, 144, 214108. [PubMed: 27276946]
(27). Reed AE; Weinstock RB; Weinhold F Natural-Population Analysis. J. Chem. Phys 1985, 83,
735–746.
(28). JANPA, A Freeware Program Package for Performing Natual Population Analysis; Version 1.04;
2016 http://janpa.sourceforge.net/ (accessed May 8, 2017).
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 21
(29). Nikolaienko IY; Bulavin LA; Hovorun DM JANPA: An Open Source Cross-platform
Implementation of the Natural Population Analysis On the Java Platform. Comput. Theor. Chem
Author Manuscript
(48). Crawford TD; Sherrill CD; Valeev EF; Fermann JT; King RA; Leininger ML; Brown ST; Janssen
CL; Seidl ET; Kenny JP; Allen WD PSI3: An Open-Source Ab Initio Electronic Structure
Package. J. Comput. Chem 2007, 28, 1610–1616. [PubMed: 17420978]
(49). Bolton EE; Wang Y; Thiessen PA; Bryant SH In Annual Reports in Computational Chemistry;
Wheeler RA, Spellmeyer DC, Eds.; Elsevier: Amsterdam, 2005; Vol. 4; pp 217–241.
(50). Hehre WJ; Stewart RF; Pople JA Self-Consistent Molecular-Orbital Methods. I. Use of Gaussian
Expansions of Slater-Type Atomic Orbitals. J. Chem. Phys 1969, 51, 2657–2664.
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 22
(51). Werner H-J; Knowles PJ; Manby FR; Schütz M; Celani P; Knizia G; Korona T; Lindh R;
Mitrushenkov A; Rauhut G; Adler TB; Amos RD; Bernhardsson A; Berning A; Cooper DL;
Author Manuscript
Deegan MJO; Dobbyn AJ; Eckert F; Goll E; Hampel C; Hesselmann A; Hetzer G; Hrenar T;
Jansen G; Köppl C; Liu Y; Lloyd AW; Mata RA; May AJ; Tarroni R; Thorsteinsson T; Wang M;
Wolf A MOLPRO, version 2010.1; 2010 http://www.molpro.net (accessed May 8, 2017).
(52). Dunning TH Gaussian basis sets for use in correlated molecular calculations. I. The atoms boron
through neon and hydrogen. J. Chem. Phys 1989, 90, 1007–1023.
(53). Kendall RA; Dunning TH; Harrison RJ Electron Affinities of the First-row Atoms Revisited.
Systematic Basis Sets and Wave Functions. J. Chem. Phys 1992, 96, 6796–6806.
(54). Halkier A; Helgaker T; Jorgensen P; Klopper W; Olsen J Basis-set Convergence of the Energy in
Molecular Hartree-Fock Calculations. Chem. Phys. Lett 1999, 302, 437–446.
(55). Halkier A; Helgaker T; Jørgensen P; Klopper W; Koch H; Olsen J; Wilson AK Basis-set
Convergence in Correlated Calculations On Ne, N2, and H2O. Chem. Phys. Lett 1998, 286, 243–
252.
(56). Boys SF; Bernardi F The Calculation of Small Molecular Interactions by the Differences of
Separate Total Energies. Some Procedures with Reduced Errors. Mol. Phys 1970, 19, 553–566.
Author Manuscript
(57). Valiron P; Mayer I Hierarchy of Counterpoise Corrections for N-body Clusters: Generalization of
the Boys-Bernardi Scheme. Chem. Phys. Lett 1997, 275, 46–55.
(58). BOOST C++ Libraries. http://www.boost.org (accessed May 8, 2017).
(59). Jakob W; Rhinelander J; Moldovan D pybind11 — Seamless operability between C++11 and
Python. 2017; https://github.com/pybind/pybind11 (accessed May 8, 2017).
(60). Smith DGA; Sirianni DA; Burns LA; Patkowski K; Sherrill CD psi4/psi4numpy: Beta Release.
2017; 10.5281/zenodo.293020.
(61). van der Walt S; Colbert SC; Varoquaux G The NumPy Array: A Structure for Efficient Numerical
Computation. Computing in Science Engineering 2011, 13, 22–30.
(62). Perez F; Granger BE IPython: A System for Interactive Scientific Computing. Computing in
Science Engineering 2007, 9, 21–29.
(63). CMake, a cross-platform family of tools designed to buid, test and package software. http://
cmake.org (accessed May 8, 2017).
(64). Anaconda; Continuum IO, 2017 https://www.continuum.io/ (accessed May 8, 2017).
Author Manuscript
(65). Any system libraries not linked statically fall within the purview of. https://www.python.org/dev/
peps/pep-0513/#id38.
(66). Smith DGA; Burns LA; Patkowski K; Sherrill CD Revised Damping Parameters for the D3
Dispersion Correction to Density Functional Theory. J. Phys. Chem. Lett 2016, 7, 2197–2203.
[PubMed: 27203625]
(67). Sure R; Grimme S Corrected small basis set Hartree-Fock method for large systems. Journal of
Computational Chemistry 2013, 34, 1672–1685. [PubMed: 23670872]
(68). Grimme S; Brandenburg JG; Bannwarth C; Hansen A Consistent structures and interactions by
density functional theory with small atomic orbital basis sets. The Journal of Chemical Physics
2015, 143, 054107. [PubMed: 26254642]
(69). Miertuš S; Scrocco E; Tomasi J Electrostatic interaction of a solute with a continuum. A direct
utilizaion of ab initio molecular potentials for the prevision of solvent effects. Chem. Phys 1981,
55, 117–129.
(70). Tomasi J; Persico M Molecular Interactions in Solution: An Overview of Methods Based on
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 23
(75). Frediani L; Cammi R; Corni S; Tomasi J A Polarizable Continuum Model for Molecules at
Diffuse Interfaces. J. Chem. Phys 2004, 120, 3893–3907. [PubMed: 15268556]
Author Manuscript
(86). DePrince AE; v2rdm-CASSCF, A variational 2-RDM-driven CASSCF plugin to PSI4; 2016
http://github.com/edeprince3/v2rdm_casscf (accessed May 8, 2017).
(87). Fosso-Tande J; Nguyen T-S; Gidofalvi G; DePrince III AE Large-Scale Variational Two-Electron
Reduced-Density-Matrix-Driven Complete Active Space Self-Consistent Field Methods. J.
Chem. Theory Comput 2016, 12, 2260–2271. [PubMed: 27065086]
(88). Turney JM AMBIT, A C++ Library for the Implementation of Tensor Product Calculations
through a Clean, Concise User Interaface; 2017 http://github.com/jturney/ambit (accessed May 8,
2017).
(89). Stanton JF; Gauss J; Harding ME; Szalay PG cfour, Coupled-Cluster Techniques for
Computational Chemistry. With contributions from Auer AA; Bartlett RJ; Benedikt U; Berger C;
Bernholdt DE; Bomble YJ; Cheng L; Christiansen O; Heckert M; Heun O; Huber C; Jagau T-C;
Jonsson D; Jusélius J; Klein K; Lauderdale WJ; Lipparini F; Matthews DA; Metzroth T; Mück
LA; O’Neill DP; Price DR; Prochnow E; Puzzarini C; Ruud K; Schiffmann F; Schwalbach W;
Simmons C; Stopkowicz S; Tajti A; Vázquez J; Wang F; Watts JD; and the integral packages
MOLECULE (Almlöf J and Taylor PR), PROPS (Taylor PR), ABACUS (Helgaker T; Aa. Jensen
Author Manuscript
HJ; Jørgensen P; and Olsen J), and ECP routines by Mitin AV and van Wüllen C http://
www.cfour.de (accessed May 8, 2017).
(90). Forte, a suite of quantum chemistry methods for strongly correlated electrons; Evangelista
Research Group: Emory University, Atlanta, GA, 2016 https://github.com/evangelistalab/forte
(accessed May 8, 2017).
(91). Evangelista FA A driven similarity renormalization group approach to quantum many-body
problems. J. Chem. Phys 2014, 141, 054109. [PubMed: 25106572]
(92). Li C; Evangelista FA Multireference Driven Similarity Renormalization Group: A Second-Order
Perturbative Analysis. J. Chem. Theory Comput 2015, 11, 2097–2108. [PubMed: 26574413]
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 24
(100). Rys J; Dupuis M; King HF Computation of electron repulsion integrals using the Rys
quadrature method. J. Comput. Chem 1983, 4, 154–157.
(101). Obara S; Saika A Efficient recursive computation of molecular integrals over Cartesian
Gaussian functions. J. Chem. Phys 1986, 84, 3963–3974.
(102). Raffenetti RC Pre-processing two-electron integrals for efficient utilization in many-electron
self-consistent field calculations. Chem. Phys. Lett 1973, 20, 335–338.
(103). Jeziorski B; Moszynski R; Szalewicz K Perturbation Theory Approach to Intermolecular
Potential Energy Surfaces of van der Waals Complexes. Chem. Rev 1994, 94, 1887–1930.
(104). Szalewicz K Symmetry-adapted Perturbation Theory of Intermolecular Forces. WIREs Comput.
Mol. Sci 2012, 2, 254–272.
(105). Hohenstein EG; Sherrill CD Wavefunction Methods for Noncovalent Interactions. WIREs
Comput. Mol. Sci 2012, 2, 304–326.
(106). Sherrill CD Energy Component Analysis of π Interactions. Acc. Chem. Res 2013, 46, 1020–
1028. [PubMed: 23020662]
Author Manuscript
(107). Hohenstein EG; Sherrill CD Density fitting and Cholesky decomposition approximations in
symmetry-adapted perturbation theory: Implementation and application to probe the nature of π-
π interactions in linear acenes. J. Chem. Phys 2010, 132, 184111.
(108). Hohenstein EG; Parrish RM; Sherrill CD; Turney JM; Schaefer HF Large-scale symmetry-
adapted perturbation theory computations via density fitting and Laplace transformation
techniques: Investigating the fundamental forces of DNA-intercalator interactions. J. Chem. Phys
2011, 135, 174107. [PubMed: 22070292]
(109). Hohenstein EG; Sherrill CD Density fitting of intramonomer correlation effects in symmetry-
adapted perturbation theory. J. Chem. Phys 2010, 133, 014101. [PubMed: 20614953]
(110). Hohenstein EG; Sherrill CD Efficient evaluation of triple excitations in symmetry-adapted
perturbation theory via second-order Møller-Plesset perturbation theory natural orbitals. J. Chem.
Phys 2010, 133, 104107. [PubMed: 20849164]
(111). Parrish RM; Hohenstein EG; Sherrill CD Tractability gains in symmetry-adapted perturbation
theory including coupled double excitations: CCD+ST(CCD) dispersion with natural orbital
truncations. J. Chem. Phys 2013, 139, 174102. [PubMed: 24206282]
Author Manuscript
(112). Parrish RM; Sherrill CD Spatial assignment of symmetry adapted perturbation theory
interaction energy components: The atomic SAPT partition. J. Chem. Phys 2014, 141, 044115.
[PubMed: 25084889]
(113). Parrish RM; Parker TM; Sherrill CD Chemical Assignment of Symmetry-Adapted Perturbation
Theory Interaction Energy Components: The Functional-Group SAPT Partition. J. Chem. Theory
Comput 2014, 10, 4417–4431. [PubMed: 26588139]
(114). Bakr BW; Sherrill CD Analysis of Transition State Stabilization by Non-Covalent Interactions
in the Houk-List Model of Organocatalyzed Intermolecular Aldol Additions Using Functional-
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 25
Group Symmetry-Adapted Perturbation Theory. Phys. Chem. Chem. Phys 2016, 18, 10297–
10308. [PubMed: 27020417]
Author Manuscript
(115). Parrish RM; Gonthier JF; Corminboeuf C; Sherrill CD Communication: Practical intramolecular
symmetry adapted perturbation theory via Hartree-Fock embedding. J. Chem. Phys 2015, 143,
051103. [PubMed: 26254634]
(116). Manby FR; Stella M; Goodpaster JD; Miller TF A Simple, Exact Density-Functional-Theory
Embedding Scheme. J. Chem. Theory Comput 2012, 8, 2564–2568. [PubMed: 22904692]
(117). Gonthier JF; Sherrill CD Density-fitted open-shell symmetry-adapted perturbation theory and
application to π-stacking in benzene dimer cation and ionized DNA base pair steps. J. Chem.
Phys 2016, 145, 134106. [PubMed: 27782424]
(118). Hapka M; Żuchowski PS; Szczęśniak MM; Chałasiński G Symmetry-adapted perturbation
theory based on unrestricted Kohn-Sham orbitals for high-spin open-shell van der Waals
complexes. J. Chem. Phys 2012, 137, 164104–12. [PubMed: 23126692]
(119). Żuchowski PS; Podeszwa R; Moszyński R; Jeziorski B; Szalewicz K Symmetry-adapted
perturbation theory utilizing density functional description of monomers for high-spin open-shell
complexes. J. Chem. Phys 2008, 129, 084101–17. [PubMed: 19044812]
Author Manuscript
(120). Purvis GD; Bartlett RJ A Full Coupled-cluster Singles and Doubles Model: The Inclusion of
Disconnected Triples. J. Chem. Phys 1982, 76, 1910–1918.
(121). Sosa C; Geersten J; Trucks GW; Barlett RJ; Franz JA Selection of the Reduced Virtual Space
for Correlated Calculations - An Application to the Energy and Dipole-Moment of H2O. Chem.
Phys. Lett 1989, 159, 148–154.
(122). Klopper W; Noga J; Koch H; Helgaker T Multiple Basis Sets in Calculations of Triples
Corrections In Coupled-cluster Theory. Theor. Chem. Acc 1997, 97, 164–176.
(123). Taube AG; Bartlett RJ Frozen Natural Orbitals: Systematic Basis Set Truncation For Coupled-
Cluster Theory. Collect. Czech. Chem. Commun 2005, 70, 837–850.
(124). Landau A; Khistyaev K; Dolgikh S; Krylov AI Frozen Natural Orbitals for Ionized States
Within Equation-of-motion Coupled-cluster Formalism. J. Chem. Phys 2010, 132, 014109.
[PubMed: 20078151]
(125). Jurečka P; Šponer J; Černý J; Hobza P Benchmark Database of Accurate (MP2 and CCSD(T)
Complete Basis Set Limit) Interaction Energies of Small Model Complexes, DNA Base Pairs,
Author Manuscript
and Amino Acid Pairs. Phys. Chem. Chem. Phys 2006, 8, 1985–1993. [PubMed: 16633685]
(126). DePrince AE; Sherrill CD Accurate Noncovalent Interaction Energies Using Truncated Basis
Sets Based On Frozen Natural Orbitals. J. Chem. Theory Comput 2013, 9, 293–299. [PubMed:
26589031]
(127). DePrince AE; Sherrill CD Accuracy and Efficiency of Coupled-Cluster Theory Using Density
Fitting/Cholesky Decomposition, Frozen Natural Orbitals, and a t1-Transformed Hamiltonian. J.
Chem. Theory Comput 2013, 9, 2687–2696. [PubMed: 26583862]
(128). Kennedy MR; Ringer McDonald A; DePrince AE; Marshall MS; Podeszwa R; Sherrill CD
Communication: Resolving the Three-Body Contribution to the Lattice Energy of Crystalline
Benzene. J. Chem. Phys 2014, 140, 121104. [PubMed: 24697416]
(129). DePrince AE; Kennedy MR; Sumpter BG; Sherrill CD Density-Fitted Singles and Doubles
Coupled Cluster On Graphics Processing Units. Mol. Phys 2014, 112, 844–852.
(130). Aquilante F; Vico LD; Ferre N; Ghigo G; Malmqvist P; Neogrady P; Pedersen TB; Pitonak M;
Reiher M; Roos BO; Serrano-Andres L; Urban M; Veryazov V; Lindh R Software News and
Update MOLCAS 7: The Next Generation. J. Comput. Chem 2010, 31, 224–247. [PubMed:
Author Manuscript
19499541]
(131). Shao Y; Gan Z; Epifanovsky E; Gilbert ATB; Wormit M; Kussmann J; Lange AW; Behn A;
Deng J; Feng X; Ghosh D; Goldey M; Horn PR; Jacobson LD; Kaliman I; Khaliullin RZ; Kus T;
Landau A; Liu J; Proynov EI; Rhee YM; Richard RM; Rohrdanz MA; Steele RP; Sundstrom EJ;
Woodcock HL; Zimmerman PM; Zuev D; Albrecht B; Alguire E; Austin B; Beran GJO; Bernard
YA; Berquist E; Brandhorst K; Bravaya KB; Brown ST; Casanova D; Chang C; Chen Y; Chien
SH; Closser KD; Crittenden DL; Diedenhofen M; DiStasio RA; Do H; Dutoi AD; Edgar RG;
Fatehi S; Fusti-Molnar L; Ghysels A; Golubeva-Zadorozhnaya A; Gomes J; Hanson-Heine
MWD; Harbach PHP; Hauser AW; Hohenstein EG; Holden ZC; Jagau T; Ji H; Kaduk B;
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 26
Khistyaev K; Kim J; Kim J; King RA; Klunzinger P; Kosenkov D; Kowalczyk T; Krauter CM;
Lao KU; Laurent AD; Lawler KV; Levchenko SV; Lin CY; Liu F; Livshits E; Lochan RC;
Author Manuscript
Luenser A; Manohar P; Manzer SF; Mao S; Mardirossian N; Marenich AV; Maurer SA; Mayhall
NJ; Neuscamman E; Oana CM; Olivares-Amaya R; O’Neill DP; Parkhill JA; Perrine TM;
Peverati R; Prociuk A; Rehn DR; Rosta E; Russ NJ; Sharada SM; Sharma S; Small DW; Sodt A;
Stein T; Stueck D; Su Y; Thom AJW; Tsuchimochi T; Vanovschi V; Vogt L; Vydrov O; Wang T;
Watson MA; Wenzel J; White A; Williams CF; Yang J; Yeganeh S; Yost SR; You Z; Zhang IY;
Zhang X; Zhao Y; Brooks BR; Chan GKL; Chipman DM; Cramer CJ; Goddard WA; Gordon
MS; Hehre WJ; Klamt A; Schaefer HF; Schmidt MW; Sherrill CD; Truhlar DG; Warshel A; Xu
X; Aspuru-Guzik A; Baer R; Bell AT; Besley NA; Chai J; Dreuw A; Dunietz BD; Furlani TR;
Gwaltney SR; Hsu C; Jung Y; Kong J; Lambrecht DS; Liang W; Ochsenfeld C; Rassolov VA;
Slipchenko LV; Subotnik JE; Voorhis TV; Herbert JM; Krylov AI; Gill PMW; Head-Gordon M
Advances in Molecular Quantum Chemistry Contained in the Q-Chem 4 Program Package. Mol.
Phys 2015, 113, 184–215.
(132). Pitonak M; Aquilante F; Hobza P; Neogrady P; Noga J; Urban M Parallelized Implementation
of the CCSD(T) Method in MOLCAS Using Optimized Virtual Orbitals Space AND Cholesky
Decomposed Two-Electron Integrals. Collect. Czech. Chem. Commun 2011, 76, 713–742.
Author Manuscript
Doubles Method with the Density-Fitting Approximation. J. Chem. Phys 2016, 144, 174103.
[PubMed: 27155621]
(138). Bozkaya U Derivation of General Analytic Gradient Expressions for Density-fitted Post-
Hartree-Fock Methods: An Efficient Implementation for The Density-fitted Second-order Moller-
Plesset Perturbation Theory. J. Chem. Phys 2014, 141, 124108. [PubMed: 25273413]
(139). Adamowicz L; Bartlett RJ Optimized Virtual Orbital Subspace for High-level Correlated
Calculations. J. Chem. Phys 1987, 86, 6314–6324.
(140). Lochan RC; Head-Gordon M Orbital-optimized Opposite-spin Scaled Second-order Correlation:
An Economical Method to Improve the Description of Open-shell Molecules. J. Chem. Phys
2007, 126, 164101. [PubMed: 17477583]
(141). Lochan RC; Shao Y; Head-Gordon M Quartic-scaling Analytical Energy Gradient of Scaled
Opposite-spin Second-order Møller-Plesset Perturbation Theory. J. Chem. Theory Comput 2007,
3, 988–1003. [PubMed: 26627418]
(142). Neese F; Schwabe T; Kossmann S; Schirmer B; Grimme S Assessment of Orbital-Optimized,
Spin-Component Scaled Second-Order Many-Body Perturbation Theory for Thermochemistry
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 27
(146). Stanton JF; Gauss J; Bartlett RJ On the Choice of Orbitals for Symmetry Breaking Problems
With Application to NO3. J. Chem. Phys 1992, 97, 5554–5559.
Author Manuscript
(152). Kucharski SA; Bartlett RJ Noniterative Energy Corrections Through Fifth-Order to the Coupled
Cluster Singles and Doubles Method. J. Chem. Phys 1998, 108, 5243–5254.
(153). Crawford T; Stanton J Investigation of an Asymmetric Triple-excitation Correction for Coupled-
cluster Energies. Int. J. Quantum Chem 1998, 70, 601–611.
(154). Bozkaya U; Schaefer HF Symmetric and Asymmetric Triple Excitation Corrections for the
Orbital-optimized Coupled-cluster Doubles Method: Improving Upon CCSD(T) and CCSD(T)
(Lambda): Preliminary Application. J. Chem. Phys 2012, 136, 204114. [PubMed: 22667547]
(155). Bozkaya U Analytic Energy Gradients for the Orbital-optimized Third-order Møller-Plesset
Perturbation Theory. J. Chem. Phys 2013, 139, 104116. [PubMed: 24050337]
(156). Bozkaya U Orbital-Optimized Second-Order Perturbation Theory with Density-Fitting and
Cholesky Decomposition Approximations: An Efficient Implementation. J. Chem. Theory
Comput 2014, 10, 2371–2378. [PubMed: 26580757]
(157). Bozkaya U Orbital-Optimized MP3 and MP2.5 with Density-Fitting and Cholesky
Decomposition Approximations. J. Chem. Theory Comput 2016, 12, 1179–1188. [PubMed:
Author Manuscript
26854993]
(158). Bozkaya U Orbital-optimized Linearized Coupled-cluster Doubles with Density-fitting and
Cholesky Decomposition Approximations: An Efficient Implementation. Phys. Chem. Chem.
Phys 2016, 18, 11362–11373. [PubMed: 27056800]
(159). Hohenstein EG; Luehr N; Ufimtsev IS; Martínez TJ An atomic orbital-based formulation of the
complete active space self-consistent field method on graphical processing units. J. Chem. Phys
2015, 142, 224103–10. [PubMed: 26071697]
(160). Aquilante F; Pedersen TB; Lindh R; Roos BO; Sánchez de Merás A; Koch H Accurate ab initio
density fitting for multiconfigurational self-consistent field methods. J. Chem. Phys 2008, 129,
024113–8. [PubMed: 18624522]
(161). Kutzelnigg W Density-cumulant functional theory. J. Chem. Phys 2006, 125, 171101. [PubMed:
17100419]
(162). Simmonett AC; Wilke JJ; Schaefer HF; Kutzelnigg W Density cumulant functional theory: First
implementation and benchmark results for the DCFT-06 model. J. Chem. Phys 2010, 133,
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 28
(166). Copan AV; Sokolov AY; Schaefer HF Benchmark Study of Density Cumulant Functional
Theory: Thermochemistry and Kinetics. J. Chem. Theory Comput 2014, 10, 2389–2398.
Author Manuscript
[PubMed: 26580759]
(167). Mullinax JW; Sokolov AY; Schaefer HF Can Density Cumulant Functional Theory Describe
Static Correlation Effects? J. Chem. Theory Comput 2015, 11, 2487–2495. [PubMed: 26575548]
(168). Sokolov AY; Wilke JJ; Simmonett AC; Schaefer HF Analytic gradients for density cumulant
functional theory: The DCFT-06 model. J. Chem. Phys 2012, 137, 054105–054105–7.
(169). Wang X; Sokolov AY; Turney JM; Schaefer HF Spin-Adapted Formulation and Implementation
of Density Cumulant Functional Theory with Density-Fitting Approximation: Application to
Transition Metal Compounds. J. Chem. Theory Comput 2016, 12, 4833–4842. [PubMed:
27606799]
(170). Trofimov AB; Krivdina IL; Weller J; Schirmer J Algebraic-Diagrammatic Construction
Propagator Approach to Molecular Response Properties. Chem. Phys 2006, 329, 1–10.
(171). Saitow M; Mochizuki Y Excited State Calculation for Free-Base and Metalloporphyrins with
the Partially Renormalized Polarization Propagator Approach. Chem. Phys. Lett 2012, 525, 144–
149.
Author Manuscript
(178). Kutzelnigg W Relativistic one-electron Hamiltonians ‘for electrons only’ and the variational
treatment of the Dirac equation. Chem. Phys 1997, 225, 203–222.
(179). Kutzelnigg W; Liu W Quasirelativistic theory equivalent to fully relativistic theory. J. Chem.
Phys 2005, 123, 241102. [PubMed: 16396527]
(180). Kutzelnigg W; Liu W Quasirelativistic theory I. Theory in terms of a quasirelativistic operator.
Mol. Phys 2006, 104, 2225–2240.
(181). Liu W; Kutzelnigg W Quasirelativistic theory. II. Theory at matrix level. J. Chem. Phys 2007,
126, 114107. [PubMed: 17381196]
(182). Liu W; Peng D Exact two-component Hamiltonians revisited. J. Chem. Phys 2009, 131, 031104.
[PubMed: 19624172]
(183). Iliaš M; Saue T An infinite-order two-component relativistic Hamiltonian by a simple one-step
transformation. J. Chem. Phys 2007, 126, 064102. [PubMed: 17313208]
(184). Zou W; Filatov M; Cremer D Development and application of the analytical energy gradient for
the normalized elimination of the small component method. J. Chem. Phys 2011, 134, 244117.
[PubMed: 21721622]
Author Manuscript
(185). Cheng L; Gauss J Analytic energy gradients for the spin-free exact two-component theory using
an exact block diagonalization for the one-electron Dirac Hamiltonian. J. Chem. Phys 2011, 135,
084114. [PubMed: 21895166]
(186). Foldy LL; Wouthuysen SA On the Dirac Theory of Spin 1/2 Particles and Its Non-Relativistic
Limit. Phys. Rev 1950, 78, 29–36.
(187). Evangelista FA; Shushkov P; Tully JC Orthogonality Constrained Density Functional Theory
for Electronic Excited States. J. Phys. Chem. A 2013, 117, 7378–7392. [PubMed: 23590595]
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 29
(188). Verma P; Derricotte WD; Evangelista FA Predicting Near Edge X-ray Absorption Spectra with
the Spin-Free Exact-Two-Component Hamiltonian and Orthogonality Constrained Density
Author Manuscript
Functional Theory. J. Chem. Theory Comput 2016, 12, 144–156. [PubMed: 26584082]
(189). Psi4 Manual. http://psicode.org/psi4manual/master/index.html (accessed May 8, 2017).
(190). Sphinx, Python Documentation Generator. http://www.sphinx-doc.org/en/1.5.2/index.html
(accessed May 8, 2017).
(191). Psi4 YouTube videos. https://www.youtube.com/user/psitutorials (accessed May 8, 2017).
(192). Psi4 User Forum. http://forum.psicode.org (accessed May 8, 2017).
(193). Psi4 Website. http://www.psicode.org (accessed May 8, 2017).
(194). Psi4Education. http://www.psicode.org/labs.php (accessed May 8, 2017).
(195). Fortenberry RC; McDonald AR; Shepherd TD; Kennedy M; Sherrill CD In The Promise of
Chemical Education: Addressing our Students’ Needs; Daus K, Rigsby R, Eds.; American
Chemical Society: Washington, D.C., 2015; Vol. 1193; pp 85–98.
Author Manuscript
Author Manuscript
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 30
Author Manuscript
Author Manuscript
Figure 1:
PSI4 creates an ecosystem for code, not a silo. Software packages required to build, required
to run, or optionally provide additional capabilities to PSI4 are shown. All are available as
conda packages from the default or psi4 channels (excepting pybind11, which is built
internally, MRCC, AMBIT, and FORTE).
Author Manuscript
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.
Parrish et al. Page 31
Author Manuscript
Author Manuscript
Figure 2:
Example F-SAPT analysis of non-covalent stabilization of a transition state in the reaction
of benzaldehyde with an enamine intermediate (see Ref. 114). Color coding shows the
electrostatic interaction between the phenyl group of benzaldehyde with the three functional
groups of the enamine intermediate. A red group is attracted to the other monomer, whereas
a blue group is repelled by the other monomer; C-H/π contacts contribute to the favorable
red/red interaction between the cyclohexenyl and phenyl groups.
Author Manuscript
Author Manuscript
J Chem Theory Comput. Author manuscript; available in PMC 2020 September 17.