Wesley Tung, Math198 Home Pages Last edited 9dec15 by wtung3@.illinois.edu
Find this document at http://new.math.uiuc.edu/math198/wtung3

Picturing Chemical Equilibria

By Wesley Tung

Math 198


Every chemical reaction combines component reactants to form resulting products. In certain cases, and under certain quantities of reactants, the amount of products and reactants being made is in equilibrium. This means that is the rate at which products are being made equals the rate at whcih reactants are being made. This project demonstrates the effects of chemical equilibrium and explaining the reasoning and conditions behind it. This will be accomplished by creating a model using VPython.

Creating a Model

The goal for my project was to create one animation that depicted an equilibrium system under stress. After being stressed, the animation would shift to be in equilibrium again. So I decided that in the end, I wanted to modify the amount of reactants in the equilibrium system. So in my final RTICA, I made sure that the operator were able to add more reactant atoms into the system. The code for my final animation is below!

Equilibrium Code

Simply click on the animation to add more atoms to the system! You'll see that the number of compounds created will have gone up.


Update 10/24/15: I've started to analyze the Python Example "gas.py" by Bruce Sherwood. I'm studying how he created his model of a gas looking very carefully at how he modeled collisions.

Update 11/01/15 I've finished analyzing the model and I am in the process of learning how to modify it.

Update 11/07/15 I've added two different types of atoms to the model.

Update 11/20/15 I've modified the program "gas.py" to the point where I can make atoms of different types stick together and atoms of similar types repel.

Update 12/05/15 I've modified the program even further, now the atoms are no longer a compound after three seconds.

Update 12/07/15 I've added a mouse click event to the animation, allowing the user to add more reactant atoms when they click the mouse.

Proposal Draft #1

Proposal Draft #2

Final Documentation

Final Presentation


Bruce Sherwood's VPython example "gas.py"

All my mentors

Special thanks to Nathan Walters for mentoring me through classes and guiding me along!

https://docs.python.org/2/tutorial/classes.html - Python documentation for classes