QCSchema Support

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 dftd4 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 (allowed: “d4”)

params_tweaks

None

Optional dict with the damping parameters

pair_resolved

False

Enable pairwise resolved dispersion energy

property

False

Evaluate dispersion related properties

The params_tweaks dict contains the damping parameters, at least s8, a1 and a2 must be provided

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

16.0

Exponent of the zero damping (ATM only)

ga

3.0

Charge scaling limiting value

gc

2.0

Charge scaling steepness

wf

6.0

Coordination number weighting

Either method or s8, a1 and a2 must be provided, s9 can be used to overwrite the ATM scaling if the method is provided in the model. Disabling the three-body dispersion (s9=0.0) changes the internal selection rules for damping parameters of a given method and prefers special two-body only damping parameters if available!

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 dftd4.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-D4",
...     },
...     keywords = {},
... )
...
>>> atomic_result = run_qcschema(atomic_input)
>>> atomic_result.return_result
-0.0002667885779142513
dftd4.qcschema.run_qcschema(input_data)[source]#

Perform disperson correction based on an atomic inputmodel