Skip to content

Commit

Permalink
Merge pull request #2533 from ReactionMechanismGenerator/bidentate_ad…
Browse files Browse the repository at this point in the history
…sorption

correcting bidentate adsorption rate constant
  • Loading branch information
JacksonBurns authored Dec 1, 2023
2 parents ffeb7bb + e1c0f4e commit 8162ccb
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion rmgpy/reaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,9 @@ def get_surface_rate_coefficient(self, T, surface_site_density):
for r in self.reactants:
if r.contains_surface_site():
rate_coefficient /= surface_site_density
sites = r.number_of_surface_sites()
if sites > 1:
rate_coefficient /= sites
else:
if adsorbate is None:
adsorbate = r
Expand All @@ -792,7 +795,14 @@ def get_surface_rate_coefficient(self, T, surface_site_density):
# molecular_weight_kg in kg per molecule
rate_coefficient *= math.sqrt(constants.kB * T / (2 * math.pi * molecular_weight_kg))

# ToDo: missing the sigma terms for bidentate species. only works for single site adsorption
# Multidentate adsorption requires multiplication of the sticking coefficient
# with the number of binding sites**stoichiometric coefficients (it is 1 for monodentates)
# Integrated in the loop above for reactants
for p in self.products:
sites = p.number_of_surface_sites()
if sites > 1:
rate_coefficient *= sites

return rate_coefficient

if isinstance(self.kinetics, SurfaceArrhenius):
Expand Down

0 comments on commit 8162ccb

Please sign in to comment.