NetLogo banner

 Home
 Download
 Help
 Resources
 Extensions
 FAQ
 References
 Contact Us
 Donate

 Models:
 Library
 Community
 Modeling Commons

 User Manuals:
 Web
 Printable
 Chinese
 Czech
 Japanese

  Donate

NetLogo User Community Models

(back to the NetLogo User Community Models)

ball-fall-2004

by James Steiner (Submitted: 10/26/2004 )

[screen shot]

Download ball-fall-2004
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

(You can also run this model in your browser, but we don't recommend it; details here.)

WHAT IS IT?

This is a simple simulation of falling particles.

HOW IT WORKS

Particles fall, pile-up, and flow over each other and obstacles, according to a collection of simple rules

HOW TO USE IT

Click Setup.
This sets of the field and draws some default obstacles
Click Go.
This starts particles falling.
If active-mouse? is on, you can draw particles or obstacles
If draw-mode? is on, then the mouse will add and erase obstacles,
otherwise, the mouse will add particles.
The fat-pen? switch causes the mouse to draw or erase a larger block of obstacles at once.

If fill? is on, new particles are created at the top.
If drain? in on, particles are removed from the bottom.

The sliders fill-rate and drain-rate control how quickly particles are added and removed.

THINGS TO TRY

Draw in various configurations of obstacles.
Draw an hourglass.
Draw a cascade fountain.
Draw a waterfall
Draw conduits and pipes.

EXTENDING THE MODEL

Add pressure
~~~~~~~~~~~~
There is no sense of "pressure" on the particles, so particles will not flow horizontally (except in certain cases, like along one-unit-high channels) or up-hill, like water.

So, add "pressure" : a force that can cause particles to move because of the state of particles that may be quite far away.

Add acceleration
~~~~~~~~~~~~~~~~
Falling objects accelerate as they fall. That is, they gain speed. In this model, the particles fall at a steady speed. Change the model so that the particles speed up as they fall. Careful! You need to make sure the particles don't skip past the obstacles, other particles, or the "ground"!

Add "bounce"
~~~~~~~~~~~~
Particles like sand and ball-bearings don't usually just fall, land, and sit there. They often bounce when they land. In this model, particles do not bounce. Should particles landing on "sloped" surfaces bounce at a particular angle? Would it be just as well for to bounce at a random angle? How much realism is "enough"?

Implement the obstacles as turtles
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The obstacles are patches. What if they were turtles? How could the model's code be optimized? Would it be faster or slower? What would that let you do?

Implement anti-particles
~~~~~~~~~~~~~~~~~~~~~~~~
What if there was another breed of particles that followed the same rules, but in reverse? That is, they fall *up*. How would the two kinds of particles interact? What if two particles (the particle and an anti-particle) wanted to occupy each-other's spots? Can they swap places? How would that change things?

Make a game
~~~~~~~~~~~
You can use this model as the basis for a game, like a Pachinko machine, or a game where the player must insert (or remove) obstacles to direct the particles into a goal. There may be un-removable obstacles, or un-fillable space that the player must work around. Perhaps a suite of special obstacles that add, destroy, move, or re-direct particles could be involved. Another game may involve the interaction of particles and anti-particles.

COPYRIGHT

This work is copyright (c) 2004 James P. Steiner. It is licensed for use under a Creative Commons 2.0 Attribution, Non-commercial, Share-alike license.

(back to the NetLogo User Community Models)