BasicAggregation

No preview image

1 collaborator

Default-person Tanner Poling (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.1.1 • Viewed 225 times • Downloaded 20 times • Run 0 times
Download the 'BasicAggregation' 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?

(a general understanding of what the model is trying to show or explain)

HOW IT WORKS

(what rules the agents use to create the overall behavior of the model)

HOW TO USE IT

(how to use the model, including a description of each of the items in the Interface tab)

THINGS TO NOTICE

(suggested things for the user to notice while running the model)

THINGS TO TRY

(suggested things for the user to try to do (move sliders, switches, etc.) with the model)

EXTENDING THE MODEL

(suggested things to add or change in the Code tab to make the model more complicated, detailed, accurate, etc.)

NETLOGO FEATURES

(interesting or unusual features of NetLogo that the model uses, particularly in the Code tab; or where workarounds were needed for missing features)

RELATED MODELS

(models in the NetLogo Models Library and elsewhere which are of related interest)

CREDITS AND REFERENCES

(a reference to the model's URL on the web if it has one, as well as any other necessary credits, citations, and links)

Comments and Questions

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

Click to Run Model

turtles-own [
  stabilized?
  nearest-dist
  nearest-agent
]

; slider variables
;   num-turtles
;   ideal-dist: central ideal distance for stabilization
;   margin: how far above or below ideal-dist is acceptable for stabilization
;   velocity: how far agents move

; global variables
globals [
  stable-dist-min
  stable-dist-max
]

to setup;
  clear-all
  reset-ticks
  create-turtles num-turtles [ setxy random-xcor random-ycor ]
  set stable-dist-min ideal-dist - margin
  set stable-dist-max ideal-dist + margin
end 

to go
  ask turtles [
    maintain-dist-near
  ]
  tick
end 

to maintain-dist-near
  let nearest-group other turtles in-radius (stable-dist-max)
  set nearest-agent min-one-of nearest-group [distance myself]
  set nearest-dist distance nearest-agent
  face nearest-agent
  ifelse nearest-dist < stable-dist-min
    [ rt 180
      forward velocity ]
    [ maintain-dist-far ] ; look for faraway turtles to move closer towards (other function)
end 

to maintain-dist-far
  let nearest-group other turtles in-radius (stable-dist-max * 2)
  set nearest-agent min-one-of nearest-group [distance myself]
  set nearest-dist distance nearest-agent
  face nearest-agent
  ifelse nearest-dist > stable-dist-max
    [ forward velocity ]
    [ set stabilized? true ]
end 

There is only one version of this model, created about 5 years ago by Tanner Poling.

Attached files

No files

This model does not have any ancestors.

This model does not have any descendants.