# Simple Kinetics 2

### 2 collaborators

Uri Wilensky (Author)
Mike Stieff (Author)

### Tags

chemical reactions

Tagged by Reuven M. Lerner over 10 years ago

chemistry and physics

Tagged by Reuven M. Lerner over 10 years ago

Model group CCL | Visible to everyone | Changeable by group members (CCL)
Model was written in NetLogo 5.0.4 • Viewed 295 times • Downloaded 65 times • Run 0 times

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

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.

Click to Run Model

```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 ]
[ bounce                        ;; bounce off walls
fd 1                          ;; wander aimlessly
rt random 10
lt random 10 ]
[ 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)
[ 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
; 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
end

;;observer procedures to add more molecules to the model

create-reactants 20
[ set color green
move-to one-of black-patches ]
end

create-products 20
[ set color red
move-to one-of black-patches ]
end

to draw-box
[ 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]
[
move-to one-of black-patches
rt random-float 360
]
end

```

There are 10 versions of this model.

Uri Wilensky almost 11 years ago Updated to NetLogo 5.0.4 Download this version
Uri Wilensky over 11 years ago Updated version tag Download this version
Uri Wilensky over 11 years ago Updated to version from NetLogo 5.0.3 distribution Download this version
Uri Wilensky almost 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky almost 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky almost 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky almost 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky almost 14 years ago Model from NetLogo distribution Download this version
Uri Wilensky almost 14 years ago Simple Kinetics 2 Download this version

## Attached files

File Type Description Last updated
Simple Kinetics 2.png preview Preview for 'Simple Kinetics 2' about 11 years ago, by Uri Wilensky Download

This model does not have any ancestors.

This model does not have any descendants.