QCSchema Support#

Integration with the QCArchive infrastructure.

This module provides a way to translate QCSchema or QCElemental Atomic Input into a format understandable by the dftd3 API which in turn provides the calculation results in a QCSchema compatible format.

Supported keywords are

Keyword

Default

Description

level_hint

None

Dispersion correction level

params_tweaks

None

Optional dict with the damping parameters

pair_resolved

False

Enable pairwise resolved dispersion energy

Allowed level hints are "d3bj", "d3zero", "d3bjm"/"d3mbj", "d3mzero"/"d3zerom", and "d3op".

The params_tweaks dict contains the damping parameters, at least s8, a1 and a2 must be provided for rational damping, while s8 and rs6 are required in case of zero damping.

Parameters for (modified) rational damping are:

Tweakable parameter

Default

Description

s6

1.0

Scaling of the dipole-dipole dispersion

s8

None

Scaling of the dipole-quadrupole dispersion

s9

1.0

Scaling of the three-body dispersion energy

a1

None

Scaling of the critical radii

a2

None

Offset of the critical radii

alp

14.0

Exponent of the zero damping (ATM only)

Parameters for (modified) zero damping are:

Tweakable parameter

Default

Description

s6

1.0

Scaling of the dipole-dipole dispersion

s8

None

Scaling of the dipole-quadrupole dispersion

s9

1.0

Scaling of the three-body dispersion energy

rs6

None

Scaling of the dipole-dipole damping

rs8

1.0

Scaling of the dipole-quadrupole damping

alp

14.0

Exponent of the zero damping

bet

None

Offset for damping radius (modified zero damping)

Parameters for optimized power damping are:

Tweakable parameter

Default

Description

s6

1.0

Scaling of the dipole-dipole dispersion

s8

None

Scaling of the dipole-quadrupole dispersion

s9

1.0

Scaling of the three-body dispersion energy

a1

None

Scaling of the critical radii

a2

None

Offset of the critical radii

alp

14.0

Exponent of the zero damping (ATM only)

bet

None

Power for the zero-damping component

Note

input_data.model.method with a full method name and input_data.keywords[“params_tweaks”] cannot be provided at the same time. It is an error to provide both options at the same time.

Example

>>> from dftd3.qcschema import run_qcschema
>>> import qcelemental as qcel
>>> atomic_input = qcel.models.AtomicInput(
...     molecule = qcel.models.Molecule(
...         symbols = ["O", "H", "H"],
...         geometry = [
...             0.00000000000000,  0.00000000000000, -0.73578586109551,
...             1.44183152868459,  0.00000000000000,  0.36789293054775,
...            -1.44183152868459,  0.00000000000000,  0.36789293054775
...         ],
...     ),
...     driver = "energy",
...     model = {
...         "method": "TPSS-D3(BJ)",
...     },
...     keywords = {},
... )
...
>>> atomic_result = run_qcschema(atomic_input)
>>> atomic_result.return_result
-0.00042042440936212056