Polymer Dynamics
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model simulates the motion of a simple polymer. Polymers are simply long chains of identical, smaller molecules called monomers, which often have some mobility, causing many polymers to be flexible. Many common materials and chemical substances are polymers, for example plastics and proteins.
HOW IT WORKS
The polymer is modeled using a cellular automaton approach involving only local interactions.
Initially the monomers are colored alternating orange and blue. Blue monomers interact only with their two neighboring orange monomers, and vice versa.
Movement occurs in two alternating phases, one for the orange monomers, one for the blue. For each monomer (of the appropriate color) a random direction to move in is chosen. Before making the actual move we check if the move would cause the chain to either break or cross itself. If not, the monomer moves one step in that direction.
To check if a move will break the chain, we see if the moving monomer will leave a blank patch behind it. To check if it will cross the chain, we see if the movement will cause the monomer to be next to another piece of the chain in front of it.
HOW TO USE IT
SETUP: initializes the simulation
GO: starts the simulation
GO ONCE: advances the simulation one step only
THINGS TO NOTICE
One interesting thing to notice is that, despite all the interactions being local, the polymer has a very realistic macroscopic movement.
THINGS TO TRY
Try a much longer polymer. This is done by making the world size bigger. (You'll probably want to reduce the patch size.)
Slow down the simulation, and observe the local interaction closely.
Activate the 3D view, and try to follow a turtle.
EXTENDING THE MODEL
Measure the distance between the two ends of the polymer and plot how it changes over time.
Are other movement rules possible, without causing the chain to break or cross?
Try having different mobility for different kinds of monomers.
Make a preferential direction for movement, determined by a slider.
Allow monomers to break apart from the polymer, in some particular situations. Why might this happen?
NETLOGO FEATURES
In order for the model to operate correctly on a torus, the dimensions of the world must be even, so we put the world origin in the corner.
RELATED MODELS
CA 1D Elementary - an introduction to cellular automata
Life Turtle-Based - a cellular automaton implemented, like this one, using turtles
Radical Polymerization - another model about polymers
CREDITS AND REFERENCES
For a detailed treatment of this model, see Yaneer Bar-Yam, Dynamics of Complex Systems (2003), pages 496-502. Westview Press, Boulder, CO. The book is available online at http://necsi.org/publications/dcs/.
See also Y. Bar-Yam, Y. Rabin, M. A. Smith, Macromolecules Rep. 25 (1992) 2985.
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:
- Wilensky, U. (2005). NetLogo Polymer Dynamics model. http://ccl.northwestern.edu/netlogo/models/PolymerDynamics. 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 2005 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.
Comments and Questions
globals [ blues ;; agentset of all blue turtles oranges ;; agentset of all orange turtles ] to setup clear-all set-default-shape turtles "circle" ;; create the chain ask patches with [pycor = round (max-pycor / 2) and pxcor < max-pxcor and pxcor > min-pxcor] [ ;; turtles on even x coordinates are blue, odd are orange sprout 1 [ set color item (pxcor mod 2) [blue orange] ] ] ;; compute and store these agentsets since they won't change ;; during the run set blues turtles with [color = blue] set oranges turtles with [color = orange] reset-ticks end to go ask blues [ move ] ask oranges [ move ] tick end to move ;; turtle procedure ;; choose a heading, and before moving the monomer, ;; checks if the move would break or cross the chain face one-of neighbors4 if not breaking-chain? and not crossing-chain? [ fd 1 ] end to-report breaking-chain? ;; turtle procedure ;; checks if moving the turtle would break the chain report (heading = 0 and any? turtles at-points [[-1 -1] [0 -1] [1 -1]]) or (heading = 90 and any? turtles at-points [[-1 -1] [-1 0] [-1 1]]) or (heading = 180 and any? turtles at-points [[-1 1] [0 1] [1 1]]) or (heading = 270 and any? turtles at-points [[1 -1] [1 0] [1 1]]) end to-report crossing-chain? ;; turtle procedure ;; checks if moving the turtle would cross the chain report (heading = 0 and any? turtles at-points [[-1 2] [0 2] [1 2]]) or (heading = 90 and any? turtles at-points [[2 -1] [2 0] [2 1]]) or (heading = 180 and any? turtles at-points [[-1 -2] [0 -2] [1 -2]]) or (heading = 270 and any? turtles at-points [[-2 -1] [-2 0] [-2 1]]) end ; Copyright 2005 Uri Wilensky. ; See Info tab for full copyright and license.
There are 10 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Polymer Dynamics.png | preview | Preview for 'Polymer Dynamics' | over 11 years ago, by Uri Wilensky | Download |
This model does not have any ancestors.
This model does not have any descendants.