Polymer Dynamics

Polymer Dynamics preview image

1 collaborator

Uri_dolphin3 Uri Wilensky (Author)

Tags

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 369 times • Downloaded 79 times • Run 0 times
Download the 'Polymer Dynamics' 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 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:

COPYRIGHT AND LICENSE

Copyright 2005 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.

Comments and Questions

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

Click to Run Model

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.

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 Polymer Dynamics Download this version

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.