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 (“d4” or “d4s”) |
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