ezPES

PES picture

ezPES is a library of full-dimensional potential energy surfaces (PESs) and dipole moment surfaces (DMSs) produced by fitting a polynomial representation of each to high-level ab initio calculations. We provide a uniform C++ interface to PESs and DMSs developed at iOpenShell and by other groups. Using this interface, you can integrate these surfaces into your own program for dynamics or spectroscopy modeling. The 32-bit version also allows users to fit their own surfaces for systems of the form AxByCz where x + y + z ≤ 9.

To use the PESs, you need to download the precompiled library and a set of parameters for a specific PES, or to fit your PES using the tools provided (32-bit distribution only). In your code, you first need to initialize the PES by specifying the type of the molecule (number of permutationally equivalent atoms of each type, i.e., multiplicties) and providing a local path to a directory with the PES parameters. Once initialized, the value of energy can be computed for a specific values of Cartesian coordinates. Both energies and coordinates are in atomic units. A sample main program showing how this is done for HCOH is included. A similar initialization must be performed for the DMS, and illustrative code is included in the sample program. (Note that a DMS does not exist for the HCOH potential and so the code to call it is commented out.)

Caveats and details:

  1. Only one instance of a PES can be used in a program program.
  2. When determining the PES type, first list the largest number of permurtationally identically atoms, e.g., for H2CO it is pes_x2y1z1, for C2H3 it is pes_x3y2, etc.
  3. The PES must be initialized before the DMS.
  4. The coordinates are passed as a 1-dimensional array in the following order:
    1. largest multiplicity first, i.e., for water: H1(x,y,z), H2(x,y,z), O(x,y,z), but for HO2: O1(x,y,z),O2(x,y,z),H(x,y,z)
    2. If there are several groups of atoms that have the same multiplicity, list these groups by increasing atomic number, e.g., for H2O2: H1(x,y,z), H2(x,y,z), O1(x,y,z), O2(x,y,z) for H2CO: H1(x,y,z), H2(x,y,z), C(x,y,z), O(x,y,z)

  5. The DMS returns effective partial charges for each atom which the user must then convert to a dipole by multiplying by the approriate atomic coordinates.
  6. The details of algorithm used, fit procedure, level of ab initio data, etc can be found in original publications.
  7. Certain "legacy" potentials are provided as built in functions using the same calling structure as the standard ezPES potentials. Details for each of these can be found in the /pes/ subdirectories that contain the coefficients for these potentials. In general they are initialized by invoking, for example, ezPES.Init(pes_h2co,"/pes/H2CO/coeff.dat"), which would initialize the formaldehyde potential.
  8. Please acknowledge ezPES as follows: ezPES library by E. Kamarchik, B. Braams, A.I. Krylov, J.M Bowman supported by iOpenShell Center (iopenshell.usc.edu); the PES parameters and algorithm are from Ref. [original PES reference as shown below].


This distribution includes three components:

  1. The library files: libezPES-64 (or libezPES-32), libinv, libpes, libpx are located in the directory lib/ and must be linked against the executable program. The user is also expected to provide BLAS and LAPACK libraries which are not included in the distribution.
  2. The include files: ezPES-v2.0.h which is located in the directory include/ and is the header file for the ezPES class.
  3. A sample program contained in main.cpp which will initialize the HCOH PES and then call for a single energy evaluation. The program also includes sample code for calling the corresponding DMS. A makefile is provided as well, although the users may have to change their paths so that they conform to their setup.


Download Linux 32-bit distribution (This version also allows users to fit their own surfaces for systems of the form AxByCz where x + y + z ≤ 9)

Download Linux 64-bit distribution

To install, execute:

gzip d < ezPES-v2.0-32.tar.gz | tar xvf -

and consult README for the compilation instructions

(Please substitute the appropriate file name instead of ezPES-v2.0-32.tar.gz)


Download PESs data files (The surfaces in bold are built into the libraries above):

PES Download gzipped tar file Where published
C2H3-radical C2H3-radical.tar.gz J. Chem. Phys. in press (2009)
C3H2-singlet C3H2-singlet.tar.gz J. Chem. Phys. 125, 081101 (2006)
C3H2-triplet C3H2-triplet.tar.gz J. Chem. Phys. 125, 081101 (2006)
H4CF H4CF.tar.gz J. Chem. Phys. 130, 084301 (2009)
HCOH+ HCOH+.tar.gz J. Phys. Chem. A, submitted (2009)
HCOH high energies HCOH-high-energies.tar.gz Unpublished, for a similar PES please see J. Chem. Phys. 128, 204310 (2008)
HCOH low energies HCOH-low-energies.tar.gz J. Chem. Phys. 128, 204310 (2008)
(H2O)2+ h4o2+.tar.gz J. Chem. Phys. 132, 194311 (2010)
C2H5O+ c2h5o+.tar.gz J. Chem. Phys. 132, 114308 (2010)
CH2CH2OH ch2ch2oh.tar.gz J. Phys. Chem. Lett. 1, 3058 (2010)
H5+ h5+.tar.gz.tar.gz J. Phys. Chem. Lett. 1, 758 (2010)
OH+H2 OH+H2.tar.gz J. Chem. Phys. 133, 164306 (2010)
C2H2 C2H2PES-64.tar.gz Chem. Phys. Lett. 368, 421 (2003)
Chem. Phys. Lett. 377, 582 (2003)
CH3OH CH3OHPES-64.tar.gz J. Phys. Chem. A 111, 7317 (2007)
H2CO H2COPES-64.tar.gz J. Phys. Chem. A 108, 8980 (2004)
J. Phys. Chem. A 112, 13267 (2008)
H3O2- H3O2-PES-64.tar.gz J. Am. Chem. Soc. 126, 5042 (2004)
J. Chem. Phys. 123, 064317 (2005)
H3O+ H3O+PES-64.tar.gz J. Chem. Phys. 118, 5431 (2003)
H5O2+ H5O2+PES-64.tar.gz J. Chem. Phys. 122, 044308 (2005)