NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


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

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

(back to the library)

Reactor Top Down

[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 simulates a nuclear fission reaction in a nuclear power plant. In a fission reaction, free neutrons hit uranium atoms, causing each uranium atom to generate 2 or 3 neutrons and a unit of energy. The uranium atom itself splits into two smaller atoms. The newly generated neutrons, together with the neutron that caused the reaction, keep moving and continue to hit more uranium atoms, which release more neutrons, etc. This is the chain reaction that happens inside an atomic bomb.

Most nuclear energy is used for peaceful purposes, however. Generated in a nuclear power plant, nuclear fission goes on in a much more controlled fashion. The casing of the reactor is made of thick plates of lead and concreate to absorb the neutrons and prevent them from escaping. The reaction is controlled by rods made of graphite, hafnium, cadmium, or boron which also absorb the free neutrons. The rods are added and removed from the reaction chamber in order to control the speed of the reaction. When control rods are added, fewer atoms of uranium are smashed, which in turn limits how much energy is released.

This model simulates the process of a nuclear fission reaction inside such a plant. The reactor casing seals the core, with control rods to help control the speed of the reaction. The reactor has a built-in automatic controller, and has a set of manual controls as well.


The POWER-RATED slider sets the rated power (the amount of power production that you want to hold the reactor to), which is used for automatic control.

The PERCENT-FUEL slider control the percent of the reactor that is filled with fuel (red patches).

The SPEND-FUEL switch controls whether or not the fuel is used up when a neutron hits it. (turns brown)

The ADD-RODS and REMOVE-RODS buttons work with the NUMBER slider to add or remove that number of rods (cyan turtles) from the reactor.

The RELEASE NEUTRON button introduces a neutron (yellow turtle) into the reactor. It can be used at anytime before or during the reaction.

Press the SETUP button to set up the reactor with no control rods and a single neutron.

When MANUAL is on, use the ADD-RODS and REMOVE-RODS buttons to change the number of rods in the reactor, and thus control the speed of the reaction and the amount of power generated. If they are too few rods, too few neutrons are absorbed and the reactor will generate too much power. If they are too many, all free neutrons will be absorbed, and no power will be generated.

When AUTO-REACT is on, the reactor will add and remove rods as needed (in NUMBER increments) to keep power production under control.

THE POWER monitor shows the current power output.

The POWER-CHANGE monitor shows the change in power over the last clock tick.

Look at the POWER-PLOT plot to see the power curve.


Observe the fluctuation of the power curve. The blue line is the rated-power line and the red line is the actually generated power line.


There are two setups, one for manual control, one for automatic control.

The manual controls are very simple. The ADD-RODS and REMOVE-RODS buttons control how many control rods are in the reactor.

The automatic controller is basically an ON and OFF controller. It is based on 1) comparison of power generated and power rated and 2) the power change. The mechanism is described in the following table:

```text Power > Power Rated Power < Power Rated ------------------- ------------------- Power Change > 0: Add Rods Do Nothing

Power Change < 0: Do nothing Remove Rods ```

The controller should be fine-tuned.

  • In Manual Mode: Use the NUMBER slider to adjust the number to add or remove according to the information given through the two monitors and the plot. You want the power curve to be as flat as possible. The height of the curve should be close to the horizontal line representing the power-rate.

  • In Automatic Mode: Fine tune the controller by changing the mechanisms to get a flatter power curve and minimize the fluctuation.

The SPEND-FUEL? switch sets whether or not the fuel is used up after releasing neutrons. If it's on then the fuel in the reactor will quickly get used up and the model will end. Because of the short run and the need for new fuel in order to continue the reaction, with spend-fuel? on it's best to have a lot of fuel in the reactor and a low power-rating. If it's off then the fuel will never get used up and will react every time a neutron hits it and the model will probably never stop. Because of the reactivity and longevity of this setting, it's best to have only a little fuel (otherwise it will react out of control) and a high power-rating, so the controller doesn't have to fill the core with control rods the entire time in order to hold to the rating.


The automatic controller used is just an on and off controller. Try using Proportional, Integral and Differential (PID) controllers to make the reaction more smooth. You could also use some ideas of fuzzy logic (e.g. fuzzy membership) to build a fuzzy controller.

Absorbing free neutrons to control the reaction process is only one of the control mechanisms and is not the most important one. The important factor in controlling the reaction is to keep the speed of a neutron lower than a certain level (to stimulate fission reaction). The speeds of free neutrons depend on the density of the steam. Higher density yields lower speed and vice-versa. This is by nature a negative feedback control mechanism. It works as follows. If generated power is high, then the steam temperature is high and the density of the steam is low, thus the speed of free neutrons is high and is less likely to stimulate fission reaction. Hence a lower generated power. Try to incorporate this process into the automatic controller.

Neither setting of SPEND-FUEL? is completely realistic, with it on the fuel is used up too fast and there's hardly a reaction, with it off there is too much reacting and too many rods are needed to control the reaction.

Two additional ways to deal with fuel are listed below, can you think of more? * have there be a certain ammount of fuel at each red patch, then it won't get used up right away, but won't go on forever either. * limit how often a patch can react, that way, with spend-fuel? off the neutrons won't react out of control in small areas.


Together with the Reactor X-Section model you can get a decent representation of how a Nuclear Reactor might work in three dimensions. These two models are variations of one another based off of the Fission model from StarLogoT.


More so than most other NetLogo models, the plot of 'Nuclear Reactor' plays an active role in the simulation. When using the manual controller, it is quite helpful to watch the power curve, to tell when things are getting out of hand.


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, 2001.

(back to the NetLogo Models Library)