Simple Kinetics 3

Simple Kinetics 3 preview image

2 collaborators

Uri_dolphin3 Uri Wilensky (Author)
Mike Stieff (Author)

Tags

chemical reactions 

Tagged by Reuven M. Lerner over 11 years ago

chemistry and physics 

Tagged by Reuven M. Lerner over 11 years ago

Model group CCL | Visible to everyone | Changeable by group members (CCL)
Model was written in NetLogo 5.0.4 • Viewed 327 times • Downloaded 71 times • Run 0 times
Download the 'Simple Kinetics 3' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

This model follows on the Simple Kinetics 2 model. In Simple Kinetics 2, we saw how changes to variables such as temperature, volume, and concentration affected the rate at which a chemical reaction reached an equilibrium state. Here we model the same phenomenon based upon a physical separation.

This model investigates some laboratory methods that chemists use to purify chemicals. Most of these methods are based upon physical properties of molecular separation. The same principles that affect chemical equilibrium affect physical equilibrium as well. By changing the variables of temperature, volume, and concentration, we can affect not only the speed at which a system reaches equilibrium, but also the nature of the distribution ratio. In this model, we watch how these factors affect the physical distribution of red molecules that are considered "dissolved" in a blue solvent.

HOW TO USE IT

Setup the model by pressing either the SETUP-RANDOM or the SETUP-SIDE buttons at the top of the Interface tab. SETUP-RANDOM distributes all the molecules randomly around the world. SETUP-SIDE distributes the blue molecules evenly, while placing the red molecules on the right side of the world.

Press GO to watch the molecules move about the world as they achieve equilibrium. The plot tracks the relative concentrations of each color molecule on each side of the central divider. If the red line dips below 0, there are more red molecules on the left side of the divider than on the right. If it rises above 0, there are more red molecules on the right side of the divider than on the left. The blue line plots the same relationship for blue molecules.

You can add more red molecules to the right side of the world by pressing ADD RED.

Similarly, you can shrink or expand the right side of the box with the buttons SHRINK RIGHT and EXPAND RIGHT, respectively.

Finally, to change the size of the connection window, move the WINDOW slider to your desired size and then press the CHANGE WINDOW button.

THINGS TO NOTICE

Pay attention to the plot and compare it what you see in the world. Is there an equal number of blue and red molecules on each side of the divider according to the plot and according to what you see in the view?

THINGS TO TRY

Run the model with several different states for each variable. Do you observe similar equilibrium effects to those seen in Simple Kinetics 2? Are there significant differences?

Does the temperature affect the system in the same way it affected the chemical reaction in Simple Kinetics 2? Why or why not?

How does changing the concentration affect the rate at which the molecules achieve equilibrium? Does this make sense?

EXTENDING THE MODEL

The system we have established here always comes to an approximately identical equilibrium state, no matter how you change the variables. In the lab, this is not useful to chemists, who want to separate one type of molecule from another. Can you extend the model to separate all of the red molecules from the blue molecules?

Try adding another color of molecule to the system and randomly distributing all the molecules around the world. Can you devise a way to separate the new molecules from the red molecules?

Add a slider that allows you to alter the temperature of the system. Think about what effect cooling and heating the system would have on the molecules. Be sure to include a command in the procedures window that will execute your proposed effect.

RELATED MODELS

Simple Kinetics 1, Simple Kinetics 2

RELATED MODELS

Simple Kinetics 1 Simple Kinetics 2

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 3 model. http://ccl.northwestern.edu/netlogo/models/SimpleKinetics3. 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.

CC BY-NC-SA 3.0

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

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

breed [waters water]       ;; blue molecules
breed [anions anion]       ;; red molecules

globals [
  shrink      ;; how many steps right side has been shrunk
]

;; set up model with molecules randomly distributed across world

to setup [both-sides?]
  clear-all
  set-default-shape turtles "circle"
  set shrink 0
  draw-walls
  create-waters 100         ;; makes 100 blue water molecules
    [ set color blue
      randomize ]                 ;; and puts them on both sides
  create-anions 50         ;; makes 50 red anions
    [ set color red
      ifelse both-sides?          ;; and puts them on one or both sides depending
        [ randomize ]             ;; on which setup button was pressed
        [ randomize-right ] ]
  reset-ticks
end 

;;turtle procedure that randomizes heading and position

to randomize
  setxy random-xcor random-ycor
  if any? patches in-radius 1 with [pcolor = green]
    [ randomize ] ;; keep trying until we don't land on or near green
end 

;; turtle procedure that randomizes heading and position on the
;; right side of the membrane

to randomize-right
  setxy abs random-xcor
        random-ycor
  if any? patches in-radius 1 with [pcolor = green]
    [ randomize-right ] ;; try again until we don't land on or near green
end 

;; observer procedure that makes the walls of the box

to draw-walls
  ;; don't let the window be bigger than the right chamber
  if (window-edge > (max-pycor - shrink))
    [ set window-edge (max-pycor - shrink) ]
  ask patches with [(pxcor = min-pxcor) or
                    ((pxcor < 0) and (abs pycor = max-pycor)) or
                    (pxcor >= max-pxcor - shrink) or
                    ((pxcor > 0) and (abs pycor >= max-pycor - shrink))]
    [ set pcolor green ]
  ask patches with [pxcor = 0]
    [ ifelse abs pycor < window-edge
        [ set pcolor black ]
        [ set pcolor green ] ]
  ;; make sure no turtles are embedded in the middle wall
  ;; if the window size changed
  ask turtles with [(pxcor = 0) and (pcolor = green)]
    [ randomize ]
end 

to go
  ask turtles
    [ bounce
      fd 1 ]
  tick
end 

;;observer procedure used to place 25 more red anions on the right

to add-anions-right
  create-anions 25
    [ set color red
      randomize-right ]
end 

to bounce ;; turtle procedure
  ;; Note: The minimum on the window-edge slider is 2, not 0 or 1, because
  ;; this code does not correctly handle the case where window-edge is 1
  ;; (sometimes molecules get stuck in the window).
  ; if we're not about to land on green, we don't need to do any
  ; further checks
  if [pcolor] of patch-ahead 1 != green [ stop ]
  ; figure out where the walls are on this side of the box
  let box-edge-x max-pxcor
  let box-edge-y max-pycor
  if xcor >= 0
    [ set box-edge-x max-pxcor - shrink
      set box-edge-y max-pycor - shrink ]
  ; check: hitting left, right, or middle wall?
  if (abs [pxcor] of patch-ahead 1 = box-edge-x) or
     (([pxcor] of patch-ahead 1 = 0) and (pxcor != 0))
    ; if so, reflect heading around x axis
    [ set heading (- heading) ]
  ; check: hitting top or bottom wall, or edge of middle wall?
  if (abs [pycor] of patch-ahead 1 = box-edge-y) or
     (([pycor] of patch-ahead 1 = 0) and (pxcor = 0))
    ; if so, reflect heading around y axis
    [ set heading (180 - heading) ]
end 

;; observer procedure that causes right side of divider to shrink (if amount is
;; positive) or expand (if amount is negative)

to shrink-or-expand [amount]
  set shrink (shrink + amount)
  ;; keep it within bounds
  if (shrink < 0)
    [ set shrink 0 ]
  if (shrink >= max-pxcor - 2)
    [ set shrink max-pxcor - 2 ]
  if (shrink >= max-pycor - 2)
    [ set shrink max-pycor - 2 ]
  clear-patches
  draw-walls
  ;; make sure no turtles are embedded in the walls
  ask turtles with [(xcor > 0) and (pcolor = green)]
    [ randomize-right ]
end 


; Copyright 2001 Uri Wilensky.
; See Info tab for full copyright and license.

There are 10 versions of this model.

Uploaded by When Description Download
Uri Wilensky over 11 years ago Updated to NetLogo 5.0.4 Download this version
Uri Wilensky about 12 years ago Updated version tag Download this version
Uri Wilensky about 12 years ago Updated to version from NetLogo 5.0.3 distribution Download this version
Uri Wilensky almost 13 years ago Updated to NetLogo 5.0 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky over 14 years ago Model from NetLogo distribution Download this version
Uri Wilensky over 14 years ago Simple Kinetics 3 Download this version

Attached files

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

This model does not have any ancestors.

This model does not have any descendants.