.. include:: autodoc_abbr_options_c.rst .. _`sec:introduction`: ============ Introduction ============ Overview ======== |PSIfour| provides a wide variety of quantum chemical methods using state-of-the-art numerical methods and algorithms. Several parts of the code feature shared-memory parallelization to run efficiently on multi-core machines (see Sec. :ref:`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. In this section, we provide an overview of some of the features of |PSIfour| along with the prerequisite steps for running calculations. Sec. :ref:`Tutorial ` provides a brief tutorial to help new users get started. Section :ref:`Psithon ` offers further details into the structure of |PSIfour| input files and how Python can be mixed with quantum chemistry directives in |PSIfour|. Section :ref:`Psithon Functions ` provides more detail on the Python functions provided by |PSIfour| and discusses some of the higher-level functions such as counterpoise correction, complete-basis-set 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 |PSIfour| (e.g., Hartree |--| Fock, MP2, coupled-cluster) and general procedures such as geometry optimization and vibrational frequency analysis. The :ref:`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 :source:`samples`. The user is urged to examine this directory of sample inputs, as most common types of computations are represented there. For the latest |PSIfour| documentation, check `www.psicode.org `_. Citing |PSIfour| ================ Overall PSI4 Package ^^^^^^^^^^^^^^^^^^^^ The following citation should be used in any publication utilizing the |PSIfour| program package: * "Psi4: An open-source *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 |PSIfour| (in addition to appropriate references for the underlying theory, which are not necessarily included in the list below). Density Cumulant Functional Theory (DCFT) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _`intro:dcftcitations`: * "Density Cumulant Functional Theory: First Implementation and Benchmark Results for the DCFT-06 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 DCFT-06 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 `_). * "Density cumulant functional theory: The DC-12 method, an improved description of the one-particle density matrix," A. Yu. Sokolov, A. C. Simmonett, and H. F. Schaefer, *J. Chem. Phys.* **138**, 024107 (2013). (doi: `10.1063/1.4773580 `_). 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\ |o_dots|\ wdin, Ed. (Academic Press, New York, 1999), pp. 143-269. (doi: `10.1016/S0065-3276(08)60532-8 `_). 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**, 33-136 (2000). (doi: `10.1002/9780470125915.ch2 `_). Implementation of frozen natural orbital (FNO) coupled cluster theory in PSI and its performance for non-covalent 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**, 293-299 (2013). (doi: `10.1021/ct300780u `_). Implementation of density-fitted (DF) and Cholesky decomposition (CD) coupled cluster in PSI, and its performance for non-covalent interactions and reaction energies, is discussed in * "Accuracy and Efficiency of Coupled-Cluster Theory Using Density Fitting / Cholesky Decomposition, Frozen Natural Orbitals, and a T1-Transformed Hamiltonian," A. E. DePrince and C. D. Sherrill, *J. Chem. Theory Comput.* in press. (doi: `10.1021/ct400250u `_). Mukherjee State-Specific Multi-Reference Coupled Cluster (Mk-MRCC) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |PSIfour| features production-level Mukherjee-style state-specific coupled-cluster theory, including perturbative triples and also associated multi-reference perturbation theories. The theory and |PSIfour| implementation of these methods is discussed in the following papers. General Mk-MRCC * "Coupling Term Derivation and General Implementation of State-Specific Multireference Coupled-Cluster Theories," F. A. Evangelista, W. D. Allen, and H. F. Schaefer, *J. Chem. Phys.* **127**, 024102 (2007). (doi: `10.1063/1.2743014 `_). Mk-MRCCSD(T) * "Perturbative Triples Corrections in State-Specific 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 `_). Mk-MRCCSDT(-n) * "Triple Excitations in State-Specific Multireference Coupled Cluster Theory: Application of Mk-MRCCSDT and Mk-MRCCSDT-n 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 `_). Mk-MRPT2 * "A Companion Perturbation Theory for State-specific Multireference Coupled Cluster Methods," F. A. Evangelista, A. C. Simmonett, H. F. Schaefer, D. Mukherjee, and W. D. Allen, *Phys. Chem. Chem. Phys.* **11**, 4728-4741 (2009). (doi: `10.1039/b822910d `_). Symmetry-Adapted Perturbation Theory (SAPT) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |PSIfour| features an extremely efficient code to perform wavefunction-based 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**, 1887-1930 (1994). (doi: `10.1021/cr00031a008 `_). |PSIfour| benefits enormously from the introduction of density fitting (DF) into SAPT. The theory and implementation of DF-SAPT is discussed in the following papers for various levels of SAPT. DF-SAPT0 * "Large-scale Symmetry-adapted Perturbation Theory Computations via Density Fitting and Laplace Transformation Techniques: Investigating the Fundamental Forces of DNA-Intercalator 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 Symmetry-Adapted Perturbation Theory: Implementation and Application to Probe the Nature of :math:`\pi - \pi` Interactions in Linear Acenes," E. G. Hohenstein and C. D. Sherrill, *J. Chem. Phys.* **132**, 184111 (2010). (doi: `10.1063/1.3426316 `_). DF-SAPT2, DF-SAPT2+, DF-SAPT2+(3), DF-SAPT2+3 * "Density Fitting of Intramonomer Correlation Effects in Symmetry-Adapted Perturbation Theory," E. G. Hohenstein and C. D. Sherrill, *J. Chem. Phys.* **133**, 014101 (2010). (doi: `10.1063/1.3451077 `_). * "Wavefunction Methods for Noncovalent Interactions," E. G. Hohenstein and C. D. Sherrill, *WIREs: Comput. Mol. Sci.* **2**, 304-326 (2012). (doi: `10.1002/wcms.84 `_). Using Natural Orbitals in SAPT * "Efficient Evaluation of Triple Excitations in Symmetry-Adapted Perturbation Theory via MP2 Natural Orbitals," E. G. Hohenstein and C. D. Sherrill, *J. Chem. Phys.* **133**, 104107 (2010). (doi: `10.1063/1.3479400 `_). Orbital-Optimized Post-Hartree-Fock Methods ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Orbital-optimized second-order perturbation theory (OMP2) * "Quadratically convergent algorithm for orbital optimization in the orbital-optimized coupled-cluster doubles method and in orbital-optimized second-order M\ |o_slash|\ 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 orbital-optimized second-order M\ |o_slash|\ ller--Plesset perturbation theory," U. Bozkaya and C. D. Sherrill, *J. Chem. Phys.* **138**, 184103 (2013). (doi: `10.1063/1.4803662 `_). Orbital-optimized third-order perturbation theory (OMP3) * "Orbital-Optimized Third-Order M\ |o_slash|\ ller--Plesset Perturbation Theory and Its Spin-Component and Spin-Opposite Scaled Variants: Application to Symmetry Breaking Problems," U. Bozkaya, *J. Chem. Phys.* **135**, 224103 (2011). (doi: `10.1063/1.3665134 `_). * "Assessment of Orbital-Optimized Third-Order M\ |o_slash|\ ller--Plesset Perturbation Theory and Its Spin-Component and Spin-Opposite Scaled Variants for Thermochemistry and Kinetics," E. Soydas and U. Bozkaya, *J. Chem. Theory Comput.* **9**, 1452 (2013). (doi: `10.1021/ct301078q `_). Orbital-optimized coupled electron pair approximation (OCEPA) * "Quadratically convergent algorithm for orbital optimization in the orbital-optimized coupled-cluster doubles method and in orbital-optimized second-order M\ |o_slash|\ 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 `_). * "Orbital-optimized coupled electron pair theory and its analytic gradients: Applications to equilibrium geometries, harmonic vibrational frequencies, and hydrogen transfer reactions," U. Bozkaya and C. D. Sherrill, (unpublished). Orbital-optimized MP2.5 (OMP2.5) * "Orbital-Optimized Third-Order M\ |o_slash|\ ller--Plesset Perturbation Theory and Its Spin-Component and Spin-Opposite Scaled Variants: Application to Symmetry Breaking Problems," U. Bozkaya, *J. Chem. Phys.* **135**, 224103 (2011). (doi: `10.1063/1.3665134 `_). * U. Bozkaya and C. D. Sherrill, (unpublished). Second-Order Algebraic-Diagrammatic Construction [ADC(2)] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ General ADC(2) theory * "Intermediate state representation approach to physical properties of electronically excited molecules," J. Schirmer, and A. B. Trofimov, *J. Chem. Phys.* **120**, 11449-11464 (2004). (doi: `10.1063/1.1752875 `_). Theory of "Partially-renormalized" CIS(D) and ADC(2) [PR-CIS(D) and PR-ADC(2)] and their implementation in |PSIfour| * "Excited State Calculation for Free-Base and Metalloporphyrins with the Partially Renormalized Polarization Propagator Approach," M. Saitow and Y. Mochizuki, *Chem. Phys. Lett.* **525**, 144-149 (2012). (doi: `10.1016/j.cplett.2011.12.063 `_). .. index:: architectures .. index:: compilers Supported Architectures ======================= The majority of |PSIfour| was developed on Mac and Linux machines. In principle, it should work on any Unix system; however, we have not tested extensively on systems other than Mac and Linux. There is not a Windows version of |PSIfour|. |PSIfour| has been successfully compiled using Intel, GCC, and Clang compilers. For the Intel compilers, use versions 11 or 12.1 (we have had trouble with version 12.0). See Sec. :ref:`Compiling and Installing ` for details. Capabilities ============ |PSIfour| can perform *ab initio* computations employing basis sets of contrated Gaussian-type functions of virtually arbitrary orbital quantum number. Many parts of |PSIfour| can recognize and exploit the largest Abelian subgroup of the molecular point group. Table :ref:`Methods ` displays the range of theoretical methods available in |PSIfour|. For more details, see Tables :ref:`Energy `, :ref:`Energy (DFT) `, :ref:`Energy (MRCC) `, :ref:`Gradient `, and :ref:`Frequency `. .. _`table:methods`: .. table:: Summary of theoretical methods available in |PSIfour| +-------------------------+-----------+-----------+----------------------+-----------------------------+ | Method | Energy | Gradient | Reference | Parallelism | +=========================+===========+===========+======================+=============================+ | SCF (HF and DFT) | Y | Y [#f4]_ | RHF/ROHF/UHF/RKS/UKS | threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | DF-SCF (HF and DFT) | Y | Y [#f4]_ | RHF/ROHF/UHF/RKS/UKS | threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | DCFT | Y | Y | UHF | partially threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | MP2 | Y | Y | RHF/ROHF/UHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | DF-MP2 | Y | Y [#f2]_ | RHF/ROHF/UHF | threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | MP3 | Y | Y | RHF/UHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | MP2.5 | Y | Y | RHF/UHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | MP4 | Y | --- | RHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | MP(n) | Y | --- | RHF/ROHF | partially threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | ZAPT(n) | Y | --- | RHF/ROHF | partially threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | OMP2 | Y | Y | RHF/ROHF/UHF/RKS/UKS | partially threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | OMP3 | Y | Y | RHF/ROHF/UHF/RKS/UKS | partially threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | OMP2.5 | Y | Y | RHF/ROHF/UHF/RKS/UKS | partially threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | OCEPA | Y | Y | RHF/ROHF/UHF/RKS/UKS | partially threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | CEPA(0) | Y | Y | RHF/UHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | CEPA(n), n=0,1,3 | Y | --- | RHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | ACPF/AQCC | Y | --- | RHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | QCISD | Y | --- | RHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | QCISD(T) | Y | --- | RHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | CC2 | Y | --- | RHF/ROHF/UHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | CCSD | Y | Y | RHF/ROHF/UHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | DF-CCSD | Y | --- | RHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | CCSD(T) | Y | Y [#f1]_ | RHF/ROHF/UHF | threaded (pthreads) | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | DF-CCSD(T) | Y | --- | RHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | CC3 | Y | --- | RHF/ROHF/UHF | threaded (pthreads) | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | Mk-MRPT2 | Y | --- | RHF/ROHF/TCSCF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | Mk-MRCCSD | Y | --- | RHF/ROHF/TCSCF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | Mk-MRCCSD(T) | Y | --- | RHF/ROHF/TCSCF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | CI(n) | Y | --- | RHF/ROHF | partially threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | RAS-CI | Y | --- | RHF/ROHF | partially threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | SAPT | Y | --- | RHF | threaded | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | CIS/RPA/TDHF | Y | --- | | | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | ADC(2) | Y | --- | RHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ | EOM-CCSD | Y | Y | RHF/ROHF/UHF | threaded [#f3]_ | +-------------------------+-----------+-----------+----------------------+-----------------------------+ .. | %HF DBOC | Y | N | +-------------------------+-----------+-----------+ | %TCSCF | Y | Y | +-------------------------+-----------+-----------+ | %CASSCF | Y | Y | +-------------------------+-----------+-----------+ | %RASSCF | Y | Y | +-------------------------+-----------+-----------+ | %RHF MP2-R12 | Y | N | +-------------------------+-----------+-----------+ | %RAS-CI DBOC | Y | N | +-------------------------+-----------+-----------+ 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. |PSIfour| can also compute an extensive list of one-electron properties. .. index:: single: contact single: bugs Technical Support ================= The |PSIfour| 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 directed to `crawdad@vt.edu `_ or `sherrill@gatech.edu `_. For bug reports, specific and detailed information, with example inputs, would be appreciated. Questions or comments regarding this user's manual may be sent to `sherrill@gatech.edu `_. Alternatively, bug reports and comments can be submitted to the `Issue tracker on GitHub `_ . This site is viewable by all, but reporting bugs requires signing up for a `free GitHub account `_. .. rubric:: Footnotes .. [#f1] UHF-CCSD(T) gradients only, as of |version| .. [#f2] RHF reference only. DF-MP2 is recommended as a faster alternative. .. [#f3] threading through BLAS routines only .. [#f4] DFT gradients only implemented for SCF type DF. LRC-DFT gradients not implemented yet.