Skip to content

Bond Dissociation Energies

This workflow offers the ability to quickly and conveniently calculate the bond dissociation energies (BDEs) of all hydrogens and halogens in a given molecule, providing important hints about reactivity.

Python API

Example Python code to calculate the bond dissociation energies of ethanol would look as follows:

import sierra
from sierra.inputs import *

inp = BondDissociationEnergyInput(
    molecule=Molecule(smiles="CCO"),
    energy_method=XTBMethod()
)
result = sierra.run(inp, stream_output=True)

The method displays a list of the hydrogens and halogens in the molecule, their connecting atoms, and the associated bond dissociation energies. A relevant excerpt from the output for the above code is shown below:

 ---------------------------------------------------------------
 Atom - Connected   value [kcal/mol]    rel. [kcal/mol]  success
 ---------------------------------------------------------------
          H4 - C2         139.693908           0.000000     True
          H5 - C2         145.836311           6.142404     True
          H8 - C3         150.547043          10.853135     True
          H7 - C3         150.795898          11.101991     True
          H6 - C3         151.751393          12.057486     True
          H9 - O1         158.756111          19.062204     True

These dissociation energies are generated by first optimizing the structure and then performing energy calculations - in this example, again using GFN1-xTB.

If a higher level of theroy is desired, the user has the option of changing the energy method passed to BondDissociationEnergyInput(), for example by adding energy_method=DFTInput(xc='b97-3c') to use B97-3c for the energy evaluations.

Other options for specifying the energy method can be found here.

Command-line interface

BDEs for ethanol can be computed on the command line by writing the following in a terminal:

sierra bde "smiles:CCO"

This command resolves the SMILES string to a 3D structure. However, structures can also be specified through reading a file. For example:

sierra conformers "smiles:CCO" --output=ethanol.xyz --optimized-conformers=1
sierra bde ethanol.xyz