Keywords

PyOpenCAP uses Python dictionaries which contain key/value pairs to specify the parameters of the calculation. Here, we outline the valid key/value combinations. Importantly, all key value pairs should be specified as strings.

System keywords

The System object contains the basis set and geometry information, which can be obtained in a few different ways.

Keyword

Required

Valid values

Description

molecule

yes

molden,qchem_fchk rassi_h5,inline

Specifies which format to read the molecular geometry. If “inline” is chosen, the “geometry” keyword is also required.

geometry

no

See below

Specifies the geometry in an inline format described below. Required when the “molecule” field is set to “inline”.

basis_file

yes

path to basis file

Specifies the path to the basis file. When “molecule” is set to “molden”,”rassi_h5”, or “qchem_fchk”, this field should be set to a path to a file of the specified type. When “molecule” is set to “inline”, this field should be set to a path to a basis set file formatted in “Psi4” style.

cart_bf

no

‘d’, ‘df’, ‘dfg’ ‘dg’, ‘f’, ‘g’, ‘fg’

Controls the use of pure or Cartesian angular forms of GTOs. The letters corresponding to the angular momenta listed in this field will be expanded in cartesians, those not listed will be expanded in pure GTOs. For example, “df” means d and f-type functions will be cartesian, and all others will be pure harmonic. This keyword is only active when “molecule” is set to “inline”.

bohr_coordinates

no

“True” or “False”

Set this keyword to true when the coordinates specified in “geometry” keyword are in bohr units. This keyword is only active when “molecule” is set to “inline”.

When specifying the geometry inline, use the following format:

atom1 x-coordinate y-coordinate z-coordinate

atom2 x-coordinate y-coordinate z-coordinate ...

Ghost centers with zero nuclear charge can be specified using the symbol “X”.

Units are assumed to be Angstroms unless the bohr_coordinates keyword is set to True.

Example:

sys_dict = {"geometry":    '''N  0  0   1.039
                          N  0  0   -1.039
                          X   0  0   0.0''',
                    "molecule" : "read",
                    "basis_file":"path/to/basis.bas",
                    "cart_bf":"d",
                    "bohr_coordinates:": "true"}

CAP keywords

PyOpenCAP supports Voronoi and Box-type absorbing potentials. We also allow some customization of the numerical grid used for integration. Please see https://github.com/dftlibs/numgrid for more details on the radial_precision and angular_points keywords.

General Keywords

Keyword

Required

Default/valid values

Description

cap_type

yes

“box” or “voronoi”

Type of absorbing potential.

radial_precision

no

“16”

Radial precision for numerical integration grid. A precision of 1x10^(-N), where N is the value specified is used.

angular_points

no

“590”

Number of angular points used for the grid. See https://github.com/dftlibs/numgrid for allowed numbers of points.

thresh

no

“7”

Threshold for exponents of GTO which contribute to CAP integrals. All GTOs with exponents smaller than \(1.0 x 10^{-thresh}\) will be discarded for CAP integrals. If you’re getting errors about allocating the grid, try reducing thresh.

do_numerical

no

True for box CAPs, false for other CAPs

Analytical [Santra1999] integrals are available for Box CAPs only, and are used by default. All other CAPs must be integrated numerically.

Box CAP

A quadratic potential which encloses the system in a 3D rectangular box. Analytical integrals are available for these types of CAPs.

\[W= W_x + W_y +W_z\]
\[\begin{split}W_{\alpha} = \begin{Bmatrix} 0 &\left|r_{\alpha}\right| < R_{\alpha}^0 \\ \left(r_{\alpha} - R_{\alpha}^0 \right)^2 & \left|r_{\alpha}\right| > R_{\alpha}^0 \end{Bmatrix}\end{split}\]

Keyword

Description

cap_x

Onset of CAP in x-direction. Specify in bohr units.

cap_y

Onset of CAP in y-direction. Specify in bohr units.

cap_y

Onset of CAP in z-direction. Specify in bohr units.

Smooth Voronoi CAP

A quadratic potential which uniformly wraps around the system at a specified cutoff radius. The edges between between Voronoi cells are smoothed out to make the potential more amenable to numerical integration [Sommerfeld2015].

\[\begin{split}W(\vec{r}) = \begin{Bmatrix} 0 &r_{WA} \leq r_{cut} \\ (r_{WA} - r_{cut} )^2 & r_{WA} > r_{cut} \end{Bmatrix}\end{split}\]
\[ \begin{align}\begin{aligned}r_{WA}(\vec{r}) = \sqrt{\frac{\sum_{i} w_{i}|\vec{r}-\vec{R}_i|^2}{\sum_{i} w_{i}}}\\ w_{i} = \frac{1}{(|\vec{r}-\vec{R}_i|^2-r_{min}^2+1 a.u.)^2}\end{aligned}\end{align} \]
\[r_{min} = \min\limits_{i}{|\vec{r}-\vec{R}_i|}\]

Keyword

Description

r_cut

Cutoff radius for Voronoi CAP. Specify in bohr units.

Example

cap_dict = {"cap_type": "box",
            "cap_x":"2.76",
            "cap_y":"2.76",
            "cap_z":"4.88",
            "Radial_precision": "14",
            "angular_points": "110"}

Electronic structure keywords

The read_data() function is able to parse the zeroth order Hamiltonian and load the densities when supplied with an appropriate formatted dictionary. All keywords must be specified to use this function. Currently, this is only supported for calculations using the OpenMolcas and Q-Chem interfaces.

Keyword

Description

method

Electronic structure method used in the calculation. Valid options are “MS-CASPT2”, “EOM”, and “TDDFT”.

molcas_output

Path to OpenMolcas output file.

h0_file

Path to Zeroth order Hamiltonian file. Can be full matrix or diagonal. See https://github.com/gayverjr/opencap/tree/main/examples/opencap

package

“OpenMolcas” or “QChem”

rassi_h5

Path to OpenMolcas rassi.h5 file.

qchem_output

Path to Q-Chem output file.

qchem_fchk

Path to Q-Chem .fchk file.

Example:

es_dict = { "package": "openmolcas",
"method" : "ms-caspt2",
       "molcas_output":"path/to/output.out",
       "rassi_h5":"path/to/rassi.h5"}
pc.read_data(es_dict)

References

Sommerfeld2015

Sommerfeld, T.; Ehara, M. Complex Absorbing Potentials with Voronoi Isosurfaces Wrapping Perfectly around Molecules. J. Chem. Theory Comput. 2015, 11 (10), 4627–4633.

Santra1999

Santra, R.; Cederbaum, L. ~S.; Meyer, H.-D. Electronic Decay of Molecular Clusters: Non-Stationary States Computed by Standard Quantum Chemistry Methods. Chem. Phys. Lett. 1999, 303 (3), 413–419.