Chernobyl Simulation Part 2: The accident.

Part 1 is here.

I would recommend reading the wikipedia page on the disaster first: Wikipedia

The Chernobyl accident took place at at 1 am on the 26th of April, 1986, during an experiment, intended to demonstrate the ability of the reactor to survive power outages.

The intention was to get the reactor's power to 700 - 1000 MW, and then switch off the steam going to the generator. Ideally, the generator would have enough momentum to continue to supply power until the diesel generators came online, around a minute later.

The difficulties that reactors have with power loss (which was also responsible for a lot of the problems at Fukushima) are that the reactor requires coolant at all times, even if switched off. To inject coolant into the reactor, pumps are used. These require power. If the power station fails to make enough power to drive the pumps, and there's no external source of power, the reactor could overheat, which would damage the reactor core.

Chernobyl had a backup power source: Diesel generators. But unfortunately, these took a while to start up. So the experiment conducted this night is designed to see if the power station can supply its own power for long enough to survive, even if the generator was no longer being driven by steam from the reactor.

What actually happened was this:

For reference, here's the table of things in the reactor:

PartFunction Controls
ReactorThis contains fissionable materials that generate neutrons. The neutrons are shown by blue sparks. A side effect of the reaction is that the reactor heats up when running.
Control Rods: Manual These are rods made of a material that absorbs neutrons. When inserted, they slow or stop the reaction. "rod 0" --- take the control rods all the way out.
"rod 1" --- control rods all the way in.
Control Rods: Automatic Some of the rods are automatic. They are moved up or down to target a certain power. "target 300" --- The rods will move to try to achieve 300 MW. However, they can only affect the reaction so much: Once they're out of the reactor, they can't further increase the power. Likewise, once they're fully inserted, they can't further decrease power.
Cooling System The reactor needs water. Water cools the reactor, and it also absorbs some neutrons, helping to control the reaction. Without enough cool water, steam builds up in the reactor, increasing the reaction. "cool 0" --- reduce cooling flow to zero.
"cool 1" --- maximum cooling.
Steam Separator A big tank receives steam and water from the reactor. Steam is sent to the generator. It comes back as cooler water. Excess water is then sent back to the reactor as coolant.
Generator and Coolant Steam is used to drive the turbine, before being cooled and pumped back into the steam separator. It might seem weird to use the high pressure steam to drive a generator, and then pump it back, but because the steam has a lot more volume than the colder water, this process generates energy. cold 0 --- stop the pump that pumps cold water back to the steam separator.
cold 1 --- restart it.
Emergency Core Cooling System There's a large reservoir of water that can be pumped into the reactor if the need arises. In this simulation, the ECCS pump is used to regulate the reactor pressure. I think in the real reactor, pressure regulation is done using different systems. "eccs on" --- switch the ECCS system on.
"eccs off" --- switch it off.
"extra 0" --- switch the pump off. If the ECCS is on, this will reduce the pressure of the reactor.

The simulation

The reactor is basically shut down at the moment. The levels of xenon in the reactor have been allowed to build up to levels where the reaction is basically dead.

The experiment guidelines say to try to increase power to a stable 700 - 1000 MW. However, this would take a long time. In real life, the operators started the experiment when the power was far below target.

In this simulation, the "experiment" consists of switching the emergency core cooling system off (type 'eccs off'), and also the regular cooling system (type 'cool off').

To recreate the experiment, I suggest doing the following:

Type things in to the console below the simulation to control the simulation. Press enter to submit command.

Done. If you have any suggestions or question, please leave it in the comments section. If there's anything glaringly wrong about the simulation, comment!

If you want to see the code for the simulation, it's here: ch.js. Feel free to use for personal use / modify / play around with it. Contact me for anything commercial, please.

Other Articles:


A simple demo of a simulation of an atmosphere. It looks quite cool, but there's not a lot you can do with it yet, and the physics isn't yet all that accurate.

Atomistic Simulation of Metals

This presents an interactive simulation of atoms making up a nanoscopic particle of metal.

Moon Formation

A Kotlin N-Body code, and lots of animations of the collision between Earth and a hypothetical Theia that people think created the moon.

© Hugo2015. Session @sessionNumber