NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo Models Library:
Sample Models/Chemistry & Physics/Unverified

Note: This model is unverified. It has not yet been tested and polished as thoroughly as our other models.

(back to the library)


[screen shot]

If you download the NetLogo application, this model is included. (You can also run this model in your browser, but we don't recommend it; details here.)


This project models the scattering of particles from a target that repels them. An example of this is the scattering of alpha particles (helium nuclei) from a heavy nucleus such as gold. This experiment, first done by Rutherford, provided important evidence that the positive charge in an atom is concentrated in a small place.

In this model, the target is an immovable patch with a variable charge and a variable radius in the center of the world. A parallel beam of particles is sent upward from the bottom of the world, and the path of each particle is traced. Each particle is repelled from the target according to Coulomb's inverse square law, modified for a distributed nuclear charge. The particles do not interact with each other.


Each particle is given a position, a velocity, and a charge. Every time tick, each particle calculates the force that is enacted on it by the repulsion of the central charge. This equation is Coulomb's inverse square law. After the force is determined, it will revise it current velocity according the equation F = M * A where M = 1. After which, the particle's new position is found by adding its new velocity to its current position.


First select the number of particles with the NUMBER slider. Set their initial velocity with the VELOCITY slider. Set the charge of the target with the CHARGE slider. Set the radius of the target with the RADIUS slider. Then press the SETUP button.

When the sliders have been set to a desired level and SETUP has been pressed, press the GO button to begin the simulation.

The TRACE? switch, if on, has each turtle mark out its position every time-tick. In this way, you can see the arcs formed by different particles' travels. When TRACE? is off, only one particle (turtle 0) marks out its position.

The TURTLE-0-POSITION slider sets the starting x-coordinate of turtle 0. If TURTLE-0-POSITION is 0, the particle approaches the target head-on. If it's positive, turtle 0 starts off to the right of center, and if it's negative, turtle 0 starts off to the left of center.

The SPEED of turtle 0 is displayed in a plot as well as its DISTANCE from the target. The SCATTER-ANGLE monitor shows turtle 0's heading. (Zero is straight up, 90 is right, and so on.)

If set to on, the SHOW-TARGET? switch allows you to see the target.


Each setting gives a family of paths for particles of equivalent initial velocity but different starting positions. What is the shape of each trajectory? Is it the same shape approaching and leaving the target? What is the shape of the family of curves?

Do any of the paths intersect? Does it depend on the settings of the sliders?

If two particles start off close to each other, will they end up close to each other?

A very large nucleus represents J.J. Thompson's "plum pudding" model of the atom, in which the charge was thought to be spread out in a volume as large as the atom itself. A very small nucleus represents Rutherford's discovery, namely that the charge is concentrated in a very small nucleus, about 1/10000 the size of the atom.


You can study the trajectory of one particle by turning off TRACE?. Change the TURTLE-0-POSITION slider to change the single particle's initial position. This will allow you to study individual paths. What happens to the particle's path when its velocity and the charge of the target are changed? What needs to be true for particles to bounce almost straight backward?

The value of the SCATTER-ANGLE monitor, averaged over millions of particles, along with the particles' speed and the charge on the nucleus, is what an experimenter would actually be able to measure. Devise an experiment that would give information about the size of the nucleus from this information alone.

If you knew the particle velocity and nuclear charge from other experiments, could you devise an experiment, using this model that would determine the size of the target?


Put in a different function for the force between the nucleus and the particles --- 1/r dependence, r dependence, or attraction instead of repulsion. This can be done in the procedure calc-force. A repulsive force will "scatter" the particles, but an attractive force will put some of them into orbits.

Let the particles begin with a constant velocity, or give them all a random velocity. Or try giving each particle a variable charge, which directly affects the strength of the acting force upon it.

Try having a lattice of targets, and vary the targets' spacing.


Notice that the procedure move-particle is all turtle commands.

When you examine the Code tab, note that standard turtle movement commands such as fd 1 aren't used. Instead the x-coordinates and y-coordinates of the turtles are manipulated directly.


Gravitation also calculates an inverse-square force between particles and changes their motion accordingly. In Gravitation, each particle looks at every other particle, whereas in Scattering, each particle interacts only with the target.


Martin Rocek made important modifications to this model. He writes, "the main point of my modifications was introducing rcore (radius); it has the effect of smoothing out the target, that is, making something more like the old 'plum-pudding' model of the atom that held sway before Rutherford's experiment. When rcore is large enough, even though the scattering of particles with impact parameters significantly bigger than rcore is essentially unchanged, no particles experience large deflections. As you make rcore smaller, the hard core is restored, and large angle scattering returns."


If you mention this model or the NetLogo software in a publication, we ask that you include the citations below.

For the model itself:

Please cite the NetLogo software as:


Copyright 1998 Uri Wilensky.


This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit 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

This model was created as part of the project: CONNECTED MATHEMATICS: MAKING SENSE OF COMPLEX PHENOMENA THROUGH BUILDING OBJECT-BASED PARALLEL MODELS (OBPML). The project gratefully acknowledges the support of the National Science Foundation (Applications of Advanced Technologies Program) -- grant numbers RED #9552950 and REC #9632612.

This model was converted to NetLogo as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227. Converted from StarLogoT to NetLogo, 2002.

(back to the NetLogo Models Library)