# Modeling chemical reactions: can Mathematica tell the end result of a reaction?

I am curious about using Mathematica for modelling chemical reactions but don't really know much about the Mathematica software yet.

So I was reading this page at wolfram.com which explains some of the capabilities of Mathematica. The page explains that:

Mathematica includes thousands of built-in functions and curated data on many topics that let you:

• Access physical and safety properties of chemicals in your laboratory using built-in chemical data
• Calculate path-dependent and path-independent quantities such as entropy, free energy, chemical potential, and more
• Simulate mass transport and chemical kinetics such as electrochemical reactions
• Calculate the time-independent Schrödinger equation and its solutions in terms of wave functions and their eigenvalues, and other applications in quantum chemistry
• Solve coupled nonlinear differential equations for chemical kinetics modeling Interactively visualize molecular structures of biochemical compounds

So considering that chemical reactions can have a lot of variations (depending on ambient and solution temperatures, and other factors), I wanted to ask a couple of questions:

1. Does this mean that Mathematica can calculate the results of formulas (such as this relatively simple one: Na+ + OH- + H+ + Cl-)?
2. What are the limitations in calculating chemical reactions (does it only provide approximate solutions, only known formulas, or only for specific air pressure and temperature, etc)?
• Not as straightforward as it is made to sound. You still have to set up all the equations yourself. Commented Apr 30, 2016 at 18:14
• Actually the answer to this question at Quora seems to imply that it's not possible: quora.com/…. Although Wolfram does provide some examples, like this one: reference.wolfram.com/language/example/ChemicalReactions.html so maybe that Quora answer is just incorrect. Commented Apr 30, 2016 at 19:01
• It isn't impossible to do it, but to get reliable results in the general case you would need to do some fairly high-level quantum chemical calculations, of the sort that would probably require a compute cluster to finish in a reasonable time. Mathematica isn't really suited to this application. I think you're better off to take the so-called capabilities as suggestions for what you could do, if you really wanted to. It doesn't mean Mathematica will make it easy for you, much less do it without any effort on your part. Commented Apr 30, 2016 at 23:24

I am not aware of all chemistry capabilities of Mathematica, but I hope this answer provides couple of starting points.

## The first question

I am curious about using Mathematica for modelling chemical reactions but don't really know much about it yet.

Which area is not known much? Mathematica or modeling of chemical reactions?

If we assume the former see Wolfram Demonstration project search results for "chemistry reactions modeling".

Also, see the documentation page "Chemical Reactions".

## Reactions

There is a Chemical equations balancer available through WolframAlpha. See for example:

WolframAlpha["Na+ + OH- + H+ + Cl- -> H2O + NaCl"]
WolframAlpha["KMnO4 + HCl -> KCl + MnCl2 + H2O + Cl2"]

I wrote the first version of the balancer 9 years ago, and I know that it handles multiple possible reaction outcomes, but I do not think that the multiple reaction outcomes feature is exposed to the users.

Data of the elements relevant for making reactions can be accessed with EntityValue. E.g.:

• Thanks @AntonAntonov, I clarified my question with what I intended to say earlier (what I meant to say was that I do not know much about Mathematica, although my knowledge of chemical reactions in general is not that great either at the moment - it is something that I am studying). Sounds pretty cool that you wrote the Chemical equations balancer used by Wolfram. But are you saying that it may not be exposed (available) through the Mathematica interface (GUI)? Commented May 1, 2016 at 1:13
• @user100487 The Chemical Equation Balancer (CEB) is available at/through W|A -- try the command WolframAlpha["KMnO4 + HCl -> KCl + MnCl2 + H2O + Cl2"]. But not all features of CEB are surfaced to the end users. Commented May 1, 2016 at 1:21
• Thanks @AntonAntonov, I tried that command in the Mathematica 10.1 I have on my PC and after a few seconds the information shown in this screen shot appeared: i.sstatic.net/knZqz.png Commented May 1, 2016 at 22:22