Skip to content

Bond Dissociation Energy

This workflow computes the homolytic bond dissociation energies of any hydrogen, flourine, chlorine, bromine, and iodine atoms in a molecule.


The workflow performs the following steps:

  1. Identify atoms for which the dissociation energy should be computed (e.g., H, F, Cl, Br, and I atoms).
  2. Optimize the geometry of the original molecule.
  3. For each dissociating atom, compute the geometrically relaxed energy of the molecule upon removing that atom.
  4. Compute the single-atom energies of any dissociating atoms.
  5. Evaluate the dissociation energies as the difference between the dissociated fragments and the original molecule.


The following example evaluates the bond dissociation energies of a halogenated methane molecule.

import sierra
from sierra.inputs import *

halogenated_methane = Molecule(
    Cl   0.8836    0.0000    0.0000
    C   -0.8836    0.0000    0.0000
    F   -1.2405   -0.6985    0.7600
    H   -1.2405    1.0074    0.2249
    H   -1.2406   -0.3089   -0.9849

inp = BondDissociationEnergyInput(
    molecule=halogenated_methane, energy_method=XTBMethod(model="GFN1")
result =

print("Bond dissociation energies:")
#> Bond dissociation energies:
for atom_index, dissociation_energy in result.dissociation_energies.items():
    symbol = result.molecule.symbols[atom_index]
    print(f"Bond C-{symbol}: {dissociation_energy} Hartree")
    #> Bond C-Cl: 0.1797556840842507 Hartree
    #> Bond C-F: 0.23445643102669145 Hartree
    #> Bond C-H: 0.22056541596946921 Hartree
    #> Bond C-H: 0.22056541246759664 Hartree


Model for describing input for the BDE workflow.



The method used to compute the energies.


The molecule for which dissociation energies are to be computed.


Model for describing results from the BDE workflow.


All of the fields in BondDissociationEnergyInput and the following:


A mapping of the calculations performed during the bond dissociation energy workflow, such as optimized_molecule, Full Molecule, etc. The dissociation_energies are calculated as differences of these computations.

  • Type: Mapping[str, Any]
  • Default: {}

The dissociation energy mapping from atom_index to dissociation energy in Hartree.

  • Type: Mapping[int, float]
  • Default: {}