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)?
  • 3
    $\begingroup$ Not as straightforward as it is made to sound. You still have to set up all the equations yourself. $\endgroup$
    – Yves Klett
    Apr 30, 2016 at 18:14
  • $\begingroup$ 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. $\endgroup$
    – x457812
    Apr 30, 2016 at 19:01
  • 2
    $\begingroup$ 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. $\endgroup$ Apr 30, 2016 at 23:24

1 Answer 1


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".


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

1. W|A: "Na+ + OH- + H+ + Cl- -> H2O + NaCl"

WolframAlpha["Na+ + OH- + H+ + Cl- -> H2O + NaCl"]

2. W|A : "KMnO4 + HCl -> KCl + MnCl2 + H2O + Cl2"

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.:

enter image description here

  • $\begingroup$ 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)? $\endgroup$
    – user100487
    May 1, 2016 at 1:13
  • 1
    $\begingroup$ @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. $\endgroup$ May 1, 2016 at 1:21
  • 1
    $\begingroup$ 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.stack.imgur.com/knZqz.png $\endgroup$
    – user100487
    May 1, 2016 at 22:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.