aggragate-particles_2009


Information

Created with NetLogo version NetLogo 4.1beta1
Running with NetLogoLite.jar version 411.


SUMMARY


A demonstration of diffusion limited aggregation

WHAT IS IT?


This model is a modification of the NetLogo Models Library model DLA Simple.
The main modification is in the way the diffused particles are generated and wander. All particles start at the edges and do not wander randomly, but follow a slightly random circular path. The degree of the "curve" of the path is variable. Until the aggragate structure reaches the edge of the screen, and when the number of particles drops below a certain threshold, the edge of the world is repopulated with paticles.
The model also offers a method to color the resulting aggragation, coloring the particles based on the order the particles attached to the structure.

HOW TO USE IT


Press SETUP to make the initial seed, then press GO to run the model.

THINGS TO NOTICE


How does the circular motion of the particles affect the appearance of the final stucture?

THINGS TO TRY


Try different settings for how much the turtles turn as they do their random walk (the WIGGLE-ANGLE slider). What is the effect on the appearance of the resulting aggregate? Why?

CREDITS AND REFERENCES


------------------
The concept of diffusion limited aggregation was invented by T.A. Witten and L.M. Sander in 1981. Tamas Viczek's book "Fractal Growth Phenomena" contains a discussion, as do many other books about fractals.
Original model: Wilensky, U. (2006). NetLogo DLA Simple model. http://ccl.northwestern.edu/netlogo/models/DLASimple. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. Copyright 2006 Uri Wilensky. All rights reserved. See http://ccl.northwestern.edu/netlogo/models/DLASimple for terms of use.

Procedures

NetLogo Version: NetLogo 4.1beta1

globals
[ mark-color 
  counter
  min-trod
  max-trod
  real-min-trod
  limit
  stop!
  rad1
  rad2
  
]
patches-own
[ trod 
  marked?
]

to setup
   clear-all
   set mark-color lime
   set rad1 10
   set rad2 11
   ask patch 0 0
   [ set pcolor mark-color
     set marked? 1.0
   ]
   set counter 0
   set stop! false
   make-turtles
end

to make-turtles
   let border [ patches in-radius rad2 with [ distancexy 0 0 > rad1 ] ] of patch 0 0
   set limit count border * .5
   ask border
   [ sprout 1
     [  set color red
        set trod trod + 1
        facexy 0 0
        set hidden? hide-turtles?
     ]
   ]
   if rad2 < max-pxcor
   [ 
      let inc 1 + 2 / world-width
      set rad1 rad1 * inc
      set rad2 rad2 * inc
   ]
   set counter counter + limit * 2
end

to go
   ask turtles
   [ right random-float wiggle-angle1  - random-float wiggle-angle2
     ;ifelse any? other turtles-on patch-ahead 1 
     ;[ rt 175 + random-float 10
     ;]
     ;[ 
       if not can-move? 1 [ die ]
       jump 1
       if any? turtles-here with [ who < [ who ] of myself ] [ die ]
       
       set trod trod + 1
     ;]
     if marked? != 0
     [ ask patch-ahead -1
       [ set pcolor mark-color
         set mark-color wrap-color mark-color + 10
         set marked? ticks
         if abs pxcor = max-pxcor or abs pycor = max-pycor
         [ set stop! true
         ]
       ]
       die
     ]
    
   ]
   tick
   if stop!
   [ ask turtles [ die ]
     color-trod
     decorate
     stop
   ]
   if ticks mod 100 = 0
   [ if count turtles < limit
     [ make-turtles
     ]
   ]
end

to decorate
   let freq' 10 ^ freq
   let minc (- depth) 
   let maxc depth
   ask patches with [ marked? != 0 ]
   [
     
       set pcolor scale-color net-color sin (marked? * freq' ) minc maxc
   ]
   display
end   

to color-trod
     set real-min-trod (min [ trod ] of patches)
     set min-trod real-min-trod
     set max-trod max [ trod ] of patches
     ask patches 
     [ if pcolor != mark-color 
       [ set pcolor scale-color gray trod min-trod max-trod
         set trod trod - real-min-trod
       ]
     ]
end     

;; based on: DLA-Simple.nlogo

; *** NetLogo 4.0beta1 Model Copyright Notice ***
;
; Copyright 2006 by Uri Wilensky.  All rights reserved.
;
; Permission to use, modify or redistribute this model is hereby granted,
; provided that both of the following requirements are followed:
; a) this copyright notice is included.
; b) this model will not be redistributed for profit without permission
;    from Uri Wilensky.
; Contact Uri Wilensky for appropriate licenses for redistribution for
; profit.
;
; To refer to this model in academic publications, please use:
; Wilensky, U. (2006).  NetLogo DLA Simple model.
; http://ccl.northwestern.edu/netlogo/models/DLASimple.
; Center for Connected Learning and Computer-Based Modeling,
; Northwestern University, Evanston, IL.
;
; In other publications, please use:
; Copyright 2006 Uri Wilensky.  All rights reserved.
; See http://ccl.northwestern.edu/netlogo/models/DLASimple
; for terms of use.
;
; *** End of NetLogo 4.0beta1 Model Copyright Notice ***

                    


Download Link

View or download the complete model file (to download: right-click, save-link-as):
-- Download aggragate-particles_2009 --