Function Repository Resource:

ElementaryReactionType (1.0.0) current version: 1.0.1 »

Source Notebook

Determine the elementary reaction type for a chemical reaction

Contributed by: Sarah Ku

ResourceFunction["ElementaryReactionType"][react]

gives the elementary reaction type for the elementary reaction react.

Details

The react can be either a ChemicalReaction or PatternReaction.
The function returns "Unimolecular", "Bimolecular" or "Termolecular" depending upon the molecularity.
Reactions with more than three reactants can not be elementary reactions, so Missing["NotAnElementaryReaction"] is returned.

Examples

Basic Examples

Compute the elementary reaction type for a ChemicalReaction:

In[1]:=
ResourceFunction["ElementaryReactionType"][
ChemicalReaction[<|ChemicalInstance[
Entity["Chemical", "MolecularOxygen"], <|"Phase" -> "Gas"|>] -> 1, ChemicalInstance[
Entity["Chemical", "MolecularHydrogen"], <|"Phase" -> "Gas"|>] -> 1|> -> <|ChemicalInstance[
Entity["Chemical", "Water"], <|"Phase" -> "Gas"|>] -> 1|>]]
Out[1]=

Compute the elementary reaction type for a PatternReaction:

In[2]:=
ResourceFunction["ElementaryReactionType"][
 PatternReaction["[Na:1][Cl:2]>>[Na+:1].[Cl-:2]"]]
Out[2]=

Compute the elementary reaction type for a bimolecular ChemicalReaction:

In[3]:=
ResourceFunction["ElementaryReactionType"][
ChemicalReaction[<|ChemicalFormula[{"O" -> 1, "H" -> 1}, <|"NetCharge" -> -1|>] -> 1, ChemicalFormula[{"H" -> 1}, <|"NetCharge" -> 1|>] -> 1|> -> <|ChemicalFormula[{"H" -> 2, "O" -> 1}] -> 1|>]]
Out[3]=

Compute the elementary reaction type for a termolecular ChemicalReaction:

In[4]:=
ResourceFunction["ElementaryReactionType"][
ChemicalReaction[<|Entity["Chemical", "Zinc"] -> 1, Entity["Chemical", "HydrogenChloride"] -> 1|> -> <|Entity[
     "Chemical", "ZincChloride"] -> 1, Entity["Chemical", "MolecularHydrogen"] -> 1|>]]
Out[4]=

For reactions that are not elementary, a Missing result is returned:

In[5]:=
ResourceFunction["ElementaryReactionType"][
ChemicalReaction[<|Entity["Chemical", "Aluminum"] -> 1, Entity["Chemical", "AmmoniumPerchlorate"] -> 1|> -> <|Entity[
     "Chemical", "AluminumOxide"] -> 1, Entity["Chemical", "AluminumChloride"] -> 1, Entity["Chemical", "Water"] -> 1, Entity["Chemical", "MolecularNitrogen"] -> 1|>]]
Out[5]=

Publisher

Sarah Ku

Requirements

Wolfram Language 13.1 (June 2022) or above

Version History

  • 1.0.1 – 15 October 2024
  • 1.0.0 – 09 October 2024

Source Metadata

Related Resources

Author Notes

This submission is an outcome of the author's 2024 WSRP project: Building functions to classify chemical reaction properties

ElementaryReactionType was previously published as ResourceFunction["ReactionMolecularity"]. That name now uses a more general function.

License Information