How bizarre! Me and a colleague ( who's still a good friend ) wrote this in like, 2012-2013! Well, more accurately we ported this from a older Delphi/Pascal program that was using raw OpenGL calls ( a legitimately very impressive bit of code for what it was written in ) into WebGL ( a relatively new piece of technology at the time )<p>The primary reason for porting this to a modern platform was ( as far as I understood ) so that it could be run on interactive events for schools and such. It's definitely more optimised for fun than realism. I remember a few good memories of various people who were actually nuclear engineers complaining that realistically the demand would never change that fast on any commercial nuclear power plant!
This reminds me of a game idea I have.<p>I want to build a game where players assemble various components into engines or systems. Building the required system is itself a bit of a puzzle, but then players must also demonstrate that they can control the system using sensors and switches, etc, despite failures of various components. Can you build a reactor? If something breaks, can you figure out what broke using the sensors you placed? Can you fix the system with the switches you placed?<p>My favorite thing about flight simulators was always the simulated avionics. I get to click simulated buttons and watch simulated gauges, I love it.
The very first nuclear plant simulator I ever played with was a primitive text-based program, running on a DEC 11/780. To win the game you had to average a certain number of MWh over each turn (days). It seemed easy, just turn it on and let it run, but there was a catch. The game simulated normal fatigue, meaning that the longer it ran, the more likely something would go wrong. Also, the higher power you ran, the faster things would fatigue. The game required you to shut the reactor down for maintenance periodically. The longer you ran it, the longer the maintenance cycle. Success involved balancing uptime and power generation with required maintenance downtime.<p>As an aside, I learned about how nuclear reactors generate power when I was pretty young, so I was surprised to learn, just this past year, that there were people who didn't know that nuclear reactors just heat up water to make steam, same as any other power plant. There's people out there who (quite reasonably, IMNSHO) have a model of nuclear reactors directly generating electricity from the reaction.
Former US Navy submarine nuclear reactor operator here.<p>Adjusting the steam output was kind of strange. On a submarine, the steam used to propel the submarine dwarfs all the other steam loads. As a result, there's a throttleman who controls that.<p>Even though this simulation is simplified, it's not too bad. It does hide some of the really interesting aspects of a water cooled/moderated nuclear reactor. The most interesting thing is that water makes the reactor self-regulating because of its negative temperature coefficient of reactivity. I'll explain.<p>When a uranium-235 atom absorbs a stray neutron, it becomes unstable and splits. This releases more neutrons. Very few of these neutrons will be absorbed by surrounding uranium-235 atoms. This is a good thing. Most will escape the fuel, and some will bounce around in the surrounding water. This slows the neutrons down, and some of them will bounce back into the fuel to be absorbed for more fission reactions.<p>Let's say 1,000 fission reactions occur. If the result is that 800 neutrons from those fission reactions are absorbed by other uranium-235 atoms, you'll have 800 more fission reactions. The reactor is sub-critical as the reaction will not be self-sustaining.<p>If 1,000 fissions cause 1,200 neutrons to be absorbed and react, you'll have 1,200 resulting fission reactions. The reactor is super-critical as the number of fissions will increase.<p>If 1,000 fissions occur and the result is that 1,000 neutrons are absorbed and cause 1,000 more fission reactions, the reactor is critical. "The reactor is critical" means the number of fission reactions is self-sustaining and neither increasing nor decreasing.<p>How can we affect how many neutrons bounce back into the fuel? We can change the density of the water. It makes sense if you thing about it. The denser the water, the more likely neutrons will hit a water molecule and head back into the fuel.<p>How can we change the density of the water? We change the temperature of the water. If the water is colder, it is denser and the more likely neutrons will bounce back into the fuel.<p>How do we change the temperature of the water? We pull more/less heat of out it by using more/less steam.<p>Putting this all together, as steam demand goes up, more heat is pulled out of the water. This causes colder water to enter the reactor. Colder water will reflect more neutrons. More neutrons means more fission. More fission means more heat. More heat means warmer water and this will attenuate the increase in fission until an equilibrium is reached.<p>If you're creating too much power, the coolant temperature will increase and the power output will lower.
If you're creating too little power, the coolant temperature will decrease and the power output will rise.
That's why water is a great coolant/moderator: its negative temperature coefficient of reactivity.
I must seem completely seem out of place nowadays, but I actually learned that in school in Germany. Not to the nitty gritty detail, of course, but we spent a double lesson on every reactor type. What I've taken from it and remember to this day is that you usually can determine the reactor type from the shape of the building.
This is cool and takes me back to one of the first cool sim games I ever played as a child. Muse software's Three Mile Island for the Apple II. Mastery of this sim was an amazing feeling at the time.<p>Manual
<a href="https://archive.org/details/ThreeMileIslandAppleIIManual" rel="nofollow noreferrer">https://archive.org/details/ThreeMileIslandAppleIIManual</a><p>Game (Note view 7 save/reset state seems to be broken - avoid)<p><a href="https://archive.org/details/a2_Three_Mile_Island_Special_Version_1980_Richard_Orban" rel="nofollow noreferrer">https://archive.org/details/a2_Three_Mile_Island_Special_Ver...</a>
Here’s a link to a video of a ZX81 version, in a similar vein.<p><a href="https://youtu.be/tB6CC8UbJLU" rel="nofollow noreferrer">https://youtu.be/tB6CC8UbJLU</a>
My favorite classic NPP simulator is SIMULA-C by Ralph Reuhl. I'm only finding this report [1] (from my comment history, hah), but both the C source code as well as MS-DOS executables were available. Back when I knew what the URL is, the Wayback Machine could fetch the .exe files but not the source archive.<p>Anyone remember this one? A screenshot can be found in the PDF at the end.<p>[1] <a href="https://inis.iaea.org/search/search.aspx?orig_q=RN:29043408" rel="nofollow noreferrer">https://inis.iaea.org/search/search.aspx?orig_q=RN:29043408</a>
It's neat. What exactly am I controlling with the steam generator lever, the pump at the bottom? With the control rods it's more obvious since they move on the diagram.
<a href="https://store.steampowered.com/app/1428420/Nucleares/" rel="nofollow noreferrer">https://store.steampowered.com/app/1428420/Nucleares/</a><p>Another nuclear plant simulator, haven't played too much but diving into later today with a friend.
If I start the primary coolant pumps and "increase steam output", I get nontrivial output power for a while until a scram happens. This indicates to me that something is very off with the underlying model: there should be no power generated in the reactor in that situation.
The only destined purpose of a nuclear reactor simulator is to gradually let a massive meltdown happen, with gauges slowly increasing in tandem with thrill in anticipation of the upcoming drama and fireworks until you discover a bit too late that... it's too late.
I got Pi as a score (314) on my first run-through. I've played simulators like this in the past, this is the first one that required interacting between multiple parameters interactively like this, well done!
Reminds me of this android gqme: <a href="https://play.google.com/store/apps/details?id=ru.DmitryLomakin.NuclearInc2">https://play.google.com/store/apps/details?id=ru.DmitryLomak...</a>
This reminds me that I have a disc somewhere of a ton of different Java applets, one of which was a basic nuclear reactor simulator. There was a dining philosophers one too.
The Music is awesome.<p>reminds me of<p><a href="https://www.youtube.com/watch?v=rEgrn7vopZU" rel="nofollow noreferrer">https://www.youtube.com/watch?v=rEgrn7vopZU</a>
My first thought on the Title "Play and learn how a nuclear plant works."
this is was lead to this:<p><a href="https://en.wikipedia.org/wiki/Windscale_fire" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Windscale_fire</a>
Seems impossible to make it meltdown and explode. Shutting off the coolant just makes it automatically SCRAM. No incoming tsunamis threaten to swamp your diesel generators, no xenon pits to slowly climb out of. Booooring. ;-)