Methods

Rowan currently supports Hartree-Fock and density-functional theory calculations. In incorporating density functionals, we have attempted to balance including useful functionals with a desire to avoid overwhelming end users with unnecessary options. If a certain functional that's not included is exceedingly important to your work, please let us know!

Rowan supports all commonly used classes of functional, including meta-GGA functionals and range-separated hybrids, although not every engine supports every functional. At this point, there are no immediate plans to add support for double-hybrid functionals. For advice on which functional to choose for a given task, see Recommendations below.

When submitting calculations using the Python API, methods can be selected by keyword. If no method is specified, a Hartree–Fock calculation will be performed.

import cctk
import rowan

rowan.api_key = "rowan-SK"
client = rowan.Client()

# load molecule by name
molecule = cctk.Molecule.new_from_name("cyclopentane")

# run calculation remotely and return result
result = client.compute(
    "calculation",
    input_mol=molecule,
    name="opt cyclopentane",
    method="m06",
    tasks=["optimize", "frequency"]
)

For instructions on how to select methods when submitting calculations using the web interface, see the web interface documentation.


Hartree–Fock

Rowan supports Hartree–Fock calculations. For open-shell systems, Rowan uses the unrestricted Hartree–Fock formalism.

Keyword
hf

Density-Functional Theory

Rowan supports a variety of density functionals.

For a variety of historical reasons, there are many competing implementations of several popular density functionals, like B3LYP and PBE, which can lead to slight differences when comparing outputs of one program to another. (See this excellent overview by Susi Lehtola and Miguel Marques, the authors of Libxc.)

Pure Functionals

Local Density Approximation

LSDA

The local spin density approximation, using the Slater exchange functional and the VWN correlation functional.

Keyword
lsda

Generalized Gradient Approximation

PBE

The 1996 Perdew–Burke–Ernzerhof functional.

Keyword
pbe

BLYP

Becke's 1988 exchange functional with the Lee–Yang–Parr correlation functional.

Keyword
blyp

BP86

Becke's 1988 exchange functional with Perdew's 1988 correlation functional.

Keyword
bp86

B97-D3

Grimme's 2006 reparameterization of Becke's 1997 power-series ansatz, using the D3 dispersion correction. Note that choosing this method will also automatically load the D3BJ correction (in PySCF) or the D3 correction (in TeraChem).

Keyword
b97-d3

Meta-Generalized Gradient Approximation

R2SCAN

Furness and Sun's 2020 improvement over the numerically unstable SCAN functional. r2SCAN still struggles with numerical instability, as shown by Lehtola and Marques recently.

Keyword
r2scan

TPSS

Scuseria and Perdew's 2003 mGGA functional, with no empirical parameters.

Keyword
tpss

M06-L

Zhao and Truhlar's 2006 local mGGA functional.

Keyword
m06l

Hybrid Functionals

Global Hybrid Functionals

PBE0

Adamo and Barone's hybrid functional derived from PBE (also evaluated by Ernzerhof and Scuseria).

Keyword% HF exchange
pbe025%

B3LYP

The famous 1994 functional of Stephens, Devlin, Chabalowski, and Frisch. (We follow the original Gaussian implementation here in employing the VWN(RPA) correlation functional rather than the VWN5 correlation functional.)

Keyword% HF exchange
b3lyp20%

B3PW91

Becke's 1993 hybrid functional with Perdew–Wang correlation.

Keyword% HF exchange
b3pw9120%

Range-Separated Hybrid Functionals

CAM-B3LYP

Yanai, Tew, and Handy's 2004 range-separated hybrid based on B3LYP.

Keyword% HF exchange
camb3lyp19–65%

ωB97X-D3

Chai's reparameterization of ωB97X-D with the D3 dispersion correction. Note that this is not currently supported in PySCF; we're working on it.

Keyword% HF exchange
wb97x_d320-100%

ωB97X-V

Mardirossian and Head-Gordon's 2014 10-parameter combinatorially optimized GGA functional, with the VV10 nonlocal dispersion correction.

Keyword% HF exchange
wb97x_v17-100%

ωB97M-V

Mardirossian and Head-Gordon's 2016 12-parameter combinatorially optimized mGGA functional, with the VV10 nonlocal dispersion correction. Consistently one of the most accurate non-double hybrid functionals out there: see e.g. this benchmark and this one.

Keyword% HF exchange
wb97m_v15-100%

Recommendations

Choosing the appropriate level of theory can be challenging! An extensive 2011 Grimme benchmark suggests that B97-D3 performs best among conventional "pure" density functionals, while higher accuracy can be achieved using any of the hybrid functionals included in Rowan. This recent paper from Grimme and co-workers offers many useful recommendations depending on the task at hand. The best guide, however, is to find a paper which reports benchmark results for systems like those you wish to study and follow those recommendations.