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.

Sierra CLI

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

sierra bde "smiles:CCO"


Note

This command resolves the SMILES string to a 3D structure by calling out to Pubchem, which may not be suitable in all circumstances. However, structures can also be specified through reading a file. For example, the combination

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

does not access the internet.

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.