Scattering
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
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.
HOW IT WORKS
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.
HOW TO USE IT
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.
THINGS TO NOTICE
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.
THINGS TO TRY
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?
EXTENDING THE MODEL
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.
NETLOGO FEATURES
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.
RELATED MODELS
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.
CREDITS AND REFERENCES
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."
HOW TO CITE
If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:
- Wilensky, U. (1998). NetLogo Scattering model. http://ccl.northwestern.edu/netlogo/models/Scattering. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
COPYRIGHT AND LICENSE
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 http://creativecommons.org/licenses/by-nc-sa/3.0/ 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 uri@northwestern.edu.
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.
Comments and Questions
turtles-own [ force-x ;; x-component of force vector force-y ;; y-component of force vector vel-x ;; x-component of velocity vector this time step vel-y ;; y-component of velocity vector this time step dist ;; the distance from the center ;; the following are needed to keep track of when the turtles go out of bounds: real-xcor real-ycor ] globals [ scatter-angle ] ;;; ;;; setup procedures ;;; to setup clear-all setup-target setup-particles set scatter-angle atan [vel-x] of turtle 0 [vel-y] of turtle 0 reset-ticks end to setup-target if show-target? [ ask patches [ if (distancexy 0 0 < radius) [ set pcolor yellow ] ] ] end to setup-particles crt number [ colorize distribute set vel-x 0 set vel-y velocity ;; turtle 0 is treated specially to help distinguish an individual's behavior if (who = 0) [ set xcor turtle-0-position ] set real-xcor xcor set real-ycor ycor set dist distancexy 0 0 ] end to colorize ;; turtle procedure ifelse ( trace? ) [ set color (who / (number - 1)) * 139 ] [ set color white ] end to distribute ;; turtle procedure let x ( (min-pxcor) + ( ( who - 1 ) / ( number - 2 ) ) * (world-width - 1) ) if patch-at (x - xcor) 0 = nobody [ ifelse xcor > x [ set x ( x + world-width ) ] [ set x ( x - world-width ) ] ] setxy x (min-pycor) end ;;; ;;; main procedures ;;; to go if not any? turtles [ stop ] ask turtles [ move-particle ] ;; if the turtles move out of the world, they die if turtle 0 != nobody ;; if turtle 0 hasn't died yet [ set scatter-angle atan [vel-x] of turtle 0 [vel-y] of turtle 0 ] tick end to move-particle ;; turtle procedure calc-force update-velocity update-position if trace? [ set pcolor color ] if who = 0 [ set pcolor color ] end ;; force function: 1/(r*r+target-radius*target-radius) repulsion to calc-force ;; turtle procedure set force-x ((cos (atan (- real-ycor) (- real-xcor))) * (charge / (dist * dist + radius * radius))) set force-y ((sin (atan (- real-ycor) (- real-xcor))) * (charge / (dist * dist + radius * radius))) end to update-velocity ;; turtle procedure set vel-x (vel-x - force-x) set vel-y (vel-y - force-y) end to update-position ;; turtle procedure set real-xcor (real-xcor + vel-x) set real-ycor (real-ycor + vel-y) ifelse patch-at (real-xcor - xcor) (real-ycor - ycor) != nobody ;; if the turtle is in the visible world, update xcor, ycor, and dist [ setxy real-xcor real-ycor set dist distancexy 0 0 show-turtle ] ;; if the turtle has moved out of the world, die [ die ] end ; Copyright 1998 Uri Wilensky. ; See Info tab for full copyright and license.
There are 10 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Scattering.png | preview | Preview for 'Scattering' | over 11 years ago, by Uri Wilensky | Download |
This model does not have any ancestors.
This model does not have any descendants.