Simple Kinetics 3
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.
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 [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.
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.