Energy correction model

TCKDB backend app models energy correction (encorr) module

class tckdb.backend.app.models.encorr.EnCorr(**kwargs)[source]

A class for representing a TCKDB EnCorr item

AEC and BAC Example:

EnCorr(level_id=1, supported_elements=['H', 'C', 'N', 'O', 'S'], energy_unit='Hartree',
       aec={'H': -0.499459, 'C': -37.786694, 'N': -54.524279,
            'O': -74.992097, 'S': -397.648733},
       bac={'C-H': -0.46, 'C-C': -0.68, 'C=C': -1.9, 'C#C': -3.13, 'O-H': -0.51,
            'C-O': -0.23, 'C=O': -0.69, 'O-O': -0.02, 'C-N': -0.67, 'C=N': -1.46,
            'C#N': -2.79, 'N-O': 0.74, 'N_O': -0.23, 'N=O': -0.51, 'N-H': -0.69,
            'N-N': -0.47, 'N=N': -1.54, 'N#N': -2.05, 'S-H': 0.87, 'C-S': 0.42,
            'C=S': 0.51, 'S-S': 0.86, 'O-S': 0.23, 'O=S': -0.53})

Isodesmic reactions Example:

EnCorr(level_id=1, supported_elements=['H', 'C', 'N', 'O', 'S'], energy_unit='kcal/mol',
       isodesmic_reactions=([{'reactants': ['[CH2]CCCC', '[CH]'],
                              'products': ['[C]C', 'C[CH]CC'],
                              'stoichiometry': [1, 1, 1, 1], 'DHrxn298': 17.076},
                             {'reactants': ['[CH2]CCCC', '[CH3]'],
                              'products': ['C[CH2]', '[CH2]C(C)C'],
                              'stoichiometry': [1, 1, 1, 1], 'DHrxn298': 14.507}]),
       isodesmic_high_level_id=2)
id

The primary key (not a user input)

Type

int

level_id

The level of theory key for the Level table.

Note

This argument is facilitated by querying the Level table.

Type

int

supported_elements

Entries are atomic symbols of elements supported by this energy correction instance.

Type

List[str]

energy_unit

The energy units, default: ‘Hartree’

Type

str

aec

Atomic energy corrections (including SOC). Keys are element symbols, values are energy corrections in the specified energy_unit.

Type

Dict[str, float]

bac

Bond additivity corrections. Keys are strings representing two elements and the bond between them (e.g., ‘C=O’). Values are energy corrections in the specified energy_unit. Allowed bond descriptors are '-', '=', '#', '--', and '&' for single, double, triple, hydrogen, and aromatic bonds, respectively.

Type

Dict[str, float]

isodesmic_reactions

The isodesmic reactions used for the energy correction. If specified, ‘AEC’ and ‘BAC’ must be None, and vice versa. Entries are dictionaries representing reactions. Each reaction dict has ‘reactants’, ‘products’, ‘stoichiometry’, and ‘DHrxn298’ keys. The values of the ‘reactants’ and ‘products’ are lists of string species identifier (SMILES or InChI). The value of ‘stoichiometry’ is a list with stoichiometric coefficients of the reactants and products (in that order). The value of ‘DHrxn298’ is the enthalpy change of reaction at the “low level” in the specified energy_unit. See example above.

Type

List[Dict[str, Union[List[Union[int, str]], float]]]

isodesmic_high_level_id

The high level of theory used for all other species. A level of theory key for the Level table. Required if isodesmic_reactions is specified, None otherwise.

Type

int

species

A One to Many relationship between EnCorr and Species.

Type

relationship

reviewer_flags

Backend flags to assist the review process (not a user input).

Type

Dict[str, str]