Simple Kinetics 2
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model demonstrates the properties of LeChatelier's Principle. This chemical principle states that if a system that is at equilibrium is perturbed, the system will readjust to establish a new equilibrium. For example, if you add reactants to a reversible reaction that is at equilibrium, the system will shift to generate more products and establish a new equilibrium. The principle can also be described with chemical equations.
Below is a generic equation which depicts two molecules of reactant A combining to form one molecule or product B. The reaction is reversible, meaning that the one molecule of B can break down into two molecules of A.
Kb
A + A <=======> B
Ku
An example of such a reaction would be dimerization of the gas nitrous oxide:
Kb
2 NO <=======> N O
2 Ku 2 4
This reaction is an example of a complex reaction which consists of two elementary reactions. The forward bimolecular reaction
Kb
A + A --------> B
is characterized by the constant Kb and the reverse unimolecular reaction
Ku
B ---------> A + A
The equilibrium rate constant for the entire reaction (Keq) is equal to [B] / [A] ^ 2. Each of the rate constants in the equations above has units of s^-1. They are empirically derived constants that when combined with the reaction concentrations tell you how fast the reaction proceeds according to the reaction rate law. The rate law ultimately tells you how many Molar units of a molecule react per second. For the reaction above the forward rate law is RATE = Kb[A]^2 and the reverse rate law is RATE = Ku[B].
Note that because we are simulating the reaction, the values of Kb and Ku in this reaction are not real-world values. It would be necessary to use several differential equations to calculate the real values of Kb, Ku and Keq, however, several qualitative features of their relationships can be seen using this model. Reaction equilibrium is reached when a system reaches a steady-state. This is not to say that reactions have stopped occurring! Microscopic changes in equilibrium still take place, but to our eyes and our measurements the system appears stable because the forward and reverse rates are equal.
The rate at which a reaction reaches equilibrium as well as the state of the equilibrium system both depend upon the rate constants, the temperature, the concentration of reactants and products and, when a gas is involved, the volume of the container. When a system has reached equilibrium, changes to any of the variables above result in a change in the system to establish a new equilibrium. This effect is predicted using LeChatelier's Principle. We can use our model to discover the role of each variable (temperature, volume, concentration and rate constant) in LeChatelier's Principle.
HOW TO USE IT
To start off:
Choose the values of Kb and Ku with appropriate sliders:
- Kb controls the rate of the forward reaction by which two green molecules turn bimolecularly into a single red molecule.
- Ku controls the rate of the reverse reaction, by which a red molecule turns unimolecularly into two green molecules.
Having chosen appropriate values of the constants, press SETUP to clear the world and create an initial number of green molecules. Note: we do not create red molecules initially, although this can be done in principal.
Press RUN to start the simulation.
Set the size of the yellow box using the EDGE-SIZE slider. (If you would like to change the size while you are running a model. Press RUN to stop the model, adjust the EDGE-SIZE slider and redraw the box using the REDRAW BOX button. Resume the reaction by pressing RUN.)
After viewing the effects of several different rate constant values, use the other sliders and buttons to observe how concentration, volume, and temperature affect the equilibrium.
A note on the temperature variable. Temperature changes have a unique effect on equilibrium compared with the other variables. You can observe this effect by toggling the TEMP-EFFECT button on or off and using the slider to set the temperature of the reaction in centigrade.
THINGS TO NOTICE
You will see molecules wandering around the world and changing color. Pay more attention to the plot of the concentrations. Do the plots soon reach stationary concentrations?
How does changing the concentrations of reactants and products in the system affect the equilibrium? Does it take more or less time to reach a stationary condition under various conditions?
What is the effect of temperature on the equilibrium of the system compared to volume or concentration? In the Procedures window, note how rate constants are calculated based on the temperature.
Notice how the ratio of products to reactants changes with changes to the system. Does the ratio change much with each factor? Make a window that show the value of Keq to help you determine this.
Why do the traces of each breed eventual balance around a constant average? How come this value is an average and not a constant?
THINGS TO TRY
How do the stationary concentrations depend on the values of Kb and Ku? You can change Ku and Kb while the model is running. See if you can predict what the stationary concentrations will be with various combinations of Kb and Ku.
Without adding additional reactants or products and with the temperature effect in the off position, note that more red product molecules accumulate when the volume decreases. Can you explain why?
Observe the progress of the reaction at high and low temperatures. Does this observed trend fit your expectations?
Try adding some molecules to the system that have no "breed", as an inert gas. Does this affect the equilibrium? Why or why not?
EXTENDING THE MODEL
Try altering the code so that when two green molecules collide, they produce two red molecules instead of one. Likewise, alter it so that two red molecules must collide to form two green molecules. Observe the effect of volume on this system. Is the effect as you predicted?
What would the effect of adding a catalyst to the system be? Add a catalyst breed that accelerates the reaction and observe the trend. Are you surprised?
Add a monitor that measures the equilibrium constant for the system. Is it really a constant?
RELATED MODELS
Simple Kinetics 1, Simple Kinetics 3
NETLOGO FEATURES
Notice the use of breeds in the model.
Notice how we store an agentset of patches in the black-patches
variable. Computing this agentset once ahead of time (at the time the box is drawn) is faster than recomputing it at every iteration.
RELATED MODELS
Simple Kinetics 1 Simple Kinetics 3
CREDITS AND REFERENCES
Thanks to Mike Stieff for his work on this model.
HOW TO CITE
If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:
- Stieff, M. and Wilensky, U. (2001). NetLogo Simple Kinetics 2 model. http://ccl.northwestern.edu/netlogo/models/SimpleKinetics2. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
COPYRIGHT AND LICENSE
Copyright 2001 Uri Wilensky.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.
This model was created as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227.
Comments and Questions
breed [reactants reactant] ;; reactant molecules (NO2), shown as green breed [products product] ;; product molecules (N2O4), shown as red globals [ Kf ;; when temp-effect is on, replaces Kb Kr ;; when temp-effect is on, replaces Ku Keq ;; equilibrium constant react-conc ;; concentration of reactant prod-conc ;; concentration of product black-patches ;; agentset of all the patches inside the reaction container ] to setup clear-all set-default-shape reactants "NO2" set-default-shape products "N2O4" draw-box ;; draws the reaction container create-reactants 200 ;; generates reactants [ set color green move-to one-of black-patches ] ;; distribute reactants around the world update-concentrations reset-ticks end to update-concentrations set react-conc (count reactants / count black-patches) * 100 set prod-conc (count products / count black-patches) * 100 end to go ifelse temp-effect? ;; if temp-effect is ON, Kf replaces Kb and Kr replaces Ku ;; Kf and Kr are calculated with the Arrhenius Equation, k = ln A - Ea / RT . ;; ln A, Ea, and R are all constants for a reaction. Below, the constants have simulated ;; values that were chosen to produce the same qualitative results as the real-world ;; reaction. Because the number of molecules in the model is so small, we use simulated ;; constants to keep the values of each variable in a useful range for the model. ;; The important thing to note is how each K value varies according to the ;; temperature of the reaction. [ set Kf (5 + (3000 /(8 * (temp + 273)))) set Kr (15 - (8000 / (8 * (temp + 273)))) ] ;; if temp-effect is OFF, set Keq based on concentrations [ set Keq (prod-conc / (react-conc ^ 2)) * 100 ] ask turtles [ bounce ;; bounce off walls fd 1 ;; wander aimlessly rt random 10 lt random 10 ] ask turtles [ ifelse (breed = reactants) [ react-forward ] [ react-backward ] ] update-concentrations tick end ;; see explanations of "react-forward" and "react-backward" in the info window to react-forward ;; turtle procedure let chance 0 ifelse temp-effect? [ set chance Kf ] [ set chance Kb ] if (any? other reactants-here) and (random-float 10.0 < chance) [ ask one-of other reactants-here [ die ] set breed products set color red ] end to react-backward ;; turtle procedure let chance Ku if temp-effect? [ set chance Kr ] if random-float 1000.0 < chance [ set breed reactants set color green hatch 1 [ rt 180 ] ] end ;; turtle procedure to bounce molecules off the yellow walls to bounce let box-edge edge-size + 1 ;; setting this first makes the calculations a bit simpler ; check: hitting top or bottom wall? if (patch-at 0 box-edge = nobody and ((heading > 270) or (heading < 90))) or (patch-at 0 (- box-edge) = nobody and ((heading > 90) and (heading < 270))) ; if so, reflect heading around y axis [ set heading (180 - heading) ] ; check: hitting left or right wall? if (patch-at box-edge 0 = nobody and ((heading > 0) and (heading < 180))) or (patch-at (- box-edge) 0 = nobody and ((heading > 180))) ; if so, reflect heading around x axis [ set heading (- heading) ] end ;;observer procedures to add more molecules to the model to add-reactant create-reactants 20 [ set color green move-to one-of black-patches ] end to add-product create-products 20 [ set color red move-to one-of black-patches ] end to draw-box ask patches [ ifelse (pxcor > (max-pxcor - edge-size)) or (pxcor < (min-pxcor + edge-size)) or (pycor > (max-pycor - edge-size)) or (pycor < (min-pycor + edge-size)) [ set pcolor yellow ] [ set pcolor black ] ] set black-patches patches with [pcolor = black] ask turtles [ move-to one-of black-patches rt random-float 360 ] end ; Copyright 2001 Uri Wilensky. ; See Info tab for full copyright and license.
There are 10 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Simple Kinetics 2.png | preview | Preview for 'Simple Kinetics 2' | over 11 years ago, by Uri Wilensky | Download |
This model does not have any ancestors.
This model does not have any descendants.