Model#

Class Model is the primary interface for modelers, integrating the Patches/Patch Turtles/Turtle and Links/Link AgentSets .. i.e.:

  • model.Patches: an array Patches of Patch instances
  • model.Turtles: an array Turtles of Turtle instances
  • model.Links: an array Links of Link instances
  • model.breed: a sub-array of any of the three above.
  • All of which are subclasses of AgentSet.

Convention: Three abstract methods are provided by the modeler

  • startup(): (Optional) Called once to import images, data etc
  • setup(): Called to initialize the model state.
  • step(): Step the model. Will advance ticks.

Constructor#

new Model(worldOptionsopt)#

Creates an instance of Model. The worldOptions define the coordinate system for this model The World options sets xMin, xMax, yMin, yMax and when using 3D: zMin, zMax

Fine point: Can also be an instance of World or GeoWorld

Parameters:
NameTypeAttributesDefaultDescription
worldOptionsObject<optional>
World.defaultOptions()

Methods#

initModel(worldOptionsopt)#

Initialize model to initial state w/ new Patches, Turtles, Links. The worldOptions will default to initial values but can be changed by modeler.

Parameters:
NameTypeAttributesDefaultDescription
worldOptionsObject | World<optional>
this.world

World object

reset(callSetupopt)#

Reset the model by clearing the turtles, setting ID & ticks to 0 and calling setup()

Parameters:
NameTypeAttributesDefaultDescription
callSetupboolean<optional>
true

tick()#

Increment the tick cound. Not needed if autoTick true, the default

(async, abstract) startup()#

An abstract method to perform one-time initialization. Subclasses provide their versions of this to import data.

(abstract) setup()#

An abstract method for initializing the model Subclasses provide their version of this to initialice the model

(abstract) step()#

An abstract method to run the model one step.

patchBreeds(breedNames)#

Create breeds (sub-arrays) of Patches. Used in the Exit model:

  • this.patchBreeds('exits inside wall')
Parameters:
NameTypeDescription
breedNamesstring

A string of space separated breeds names

turtleBreeds(breedNames)#

Create breeds (sub-arrays) of Turtles. Used in Wallfollower model:

  • this.turtleBreeds('lefty righty')
Parameters:
NameTypeDescription
breedNamesstring

A string of space separated breeds names

linkBreeds(breedNames)#

Create breeds (sub-arrays) of Links. Used in Roads model:

  • this.linkBreeds('trips')
Parameters:
NameTypeDescription
breedNamesstring

A string of space separated breeds names