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 )
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!
Back in the late 70s/early 80s there was a nuclear reactor simulator for the Atari 400/800 personal computers called SCRAM. I played it on my 400 when I was in high school.
Decades ago, I attended a nuclear engineering course at Hinkley (or perhaps Oldbury - both power stations with gas-cooled magnox reactors.) I recall being told that the reactor had a slightly positive thermal reactivity coefficient. It had an automatic control system that did not work well, so they operated it manually. There was a simulator for training, run at 10X real time, and we all got to try our hand. It was not difficult, even at the sped-up rate.
There were multiple automatic safety systems ready to stop anything bad happening if the operators somehow lost control of it.
I think the idea is that this is sped up significantly.
Also, in real life, there's not a human twisting the dials for "more steam" or "more reactor", that's undoubtedly handled with PIC controllers and software. Humans are just keeping an eye on things and running checklists when the software doesn't respond properly.
Also most nuclear reactors are run at near full capacity and load variance is dealt with by other energy types. The reason is that the cost base isn't really fuel but the construction and running which is all fixed so regardless of energy pricing the reactor is just run at its peak stable performance all the time.
This is a process very few nuclear power stations do, they get started and then they stay running for enormous lengths of time stopping only for fuel replacements or other maintenance.
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?
My favorite thing about flight simulators was always the simulated avionics. I get to click simulated buttons and watch simulated gauges, I love it.
When I studied "computer engineering" (a very long time ago) one of our classes involved hardware debugging on PDP-8 minicomputers (which were old even at the time).
The lecturer would use a craft knife to make a tiny cut in a PCB trace somewhere in the machine. Then we would write debugging code, use oscilloscope and multimeter etc. to isolate the failure. A blob of solder repaired it.
That was such great fun and some powerful learning. It would be great if there was an online game/logic simulator that could do something similar.
Injured Engine is a similar game where you have to maintain a car engine and repair any part that breaks due to wear (but don't need to put it together): https://en.wikipedia.org/wiki/Injured_Engine
I mean that's kind of what some security CTFs are built this way. They build a working system/application with some flaws, and you find them and break them. Sometimes in the more advanced CTFs like NetWars, you have to also fix the flaws and defend against your competitors.
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.
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.
I didn't understand how nuclear reactors work until I was in grad school and even then I was aghast. You'd think if we could split an atom, we'd have a better way to make electricity than to make steam to turn a turbine. Of course, there are RTGs, and https://en.wikipedia.org/wiki/Betavoltaic_device
It's an incentives problem. Nearly all of the world's power is generated by spinning a turbine with steam, so, we have a direct, actionable, incentive to make that process as efficient as possible, and we have indeed done this and continue to do this. Modern steam turbines are wildly efficient.
That doesn't mean that they are the only thing that can be efficient, just that they're the current best option, and, any other option is going to have to show immense promise in order to get the funding to catch up to where we are now with steam.
The only thing on my radar that bypasses steam entirely is what Helion Energy is doing up in washington with their experimental fusion devices. The basic idea being that you're using a pulsed fusion reaction and intentionally not containing it, instead using the energy produced to push back on the magnetic containment and generate power. No idea if it'll work out to be viable, but it at least makes sense on paper.
Might it have been Oakflat Nuclear Power Plant Simulator[1] you're thinking of? I'm not aware of a version that ran on the DEC but it might very well have existed and it sounds quite similar. I can certainly credit it for developing my unhealthy fascination with nuclear power. Also perhaps my unhealthy tendency to push buttons and see what happens!
I never realized this was the one I had on both C64 and DOS! When I played C64 I was too young (4-5yo) to actually play it. And the DOS version came on one of those disks comprised of half freeware games, half bootleg games. (Back when you could still buy those at legit retailers). Anyway that's germane because I seem to remember that once the reactor powered up it would immediately meltdown. I realized at the time - I think this was the developer's copy protection. Which struck me as much more entertaining and clever than just not working if it was a bootleg copy.
Former US Navy submarine nuclear reactor operator here.
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.
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.
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.
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.
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.
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.
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.
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.
How do we change the temperature of the water? We pull more/less heat of out it by using more/less steam.
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.
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 know land vs sea is different, but after decades of nuclear submarines working beautifully it's just so sad to me we don't have abundant SMRs by now.
I am of the understanding that part of this is because there are different profit margins in mind with a civilian reactor generating power to be sold and a military reactor powering a vessel.
When that is combined with deregulation (or an anti-regulatory mindset) where things like insulation on water intake is deferred or ignored because it impacts the economics of the power plant, then building one becomes difficult.
Agree... although I do believe part of the problem is that a lot of US Naval reactors run on weapons grade uranium. Someone here probably knows more about this.
I have a question about the control rods: are they normally removed completely when you want the reactor to run? If they are partially inserted, that would seem to mean that the reactor fuel would burn unevenly, with the pellets at the bottom used up sooner than the top. Is that true, and is it a problem that has mitigations?
Former submarine nuke with a masters in NucE here (it's fun to see us come out of the woodwork for this).
Rods are always in the core. To start a reactor that is shut down (with the rods are all the way on the bottom), you withdraw them slowly until the reactor is self-sustaining. From there, you increase power by increasing steam demand (as described in the parent comment above) and continue raising rods to increase or maintain temperature.
When the reactor is operating at power, the control rods are used primarily to 1) control steady state coolant temperature and 2) provide a safe and reliable way to shut the reactor down quickly (by dropping them to the bottom of the core -- this is called a reactor scram). If you have a short-duration power transient for any reason, you can "shim" the rods in to prevent a power spike that might cause a protective action to occur (you shouldn't really ever have to do this except for during emergency drills).
If the rods were drawn outside of the fuel region at power, they wouldn't be able to absorb any neutrons and wouldn't give you any way to control temperature or power. During some specific maintenance when the reactor is shut down, you sometimes might pull one rod further out for testing.
Your question on uneven burning of fuel is insightful. That can happen, and it's caused by an uneven neutron flux (# of neutrons traveling through a unit surface area per unit time) distribution. The core designers take rod positioning into account when determining how to distribute fuel throughout the core in order to maintain a "flat" flux profile.
Regardless of control rod use, there is non-uniform burnup. Fuel manufacturers use different enrichment levels in fuel pellets throughout the length of the rod to partially compensate for the non-uniformity.
The majority of PWR fuel assemblies have similar axial-burnup shapes – relatively flat in the axial mid-section (with peak burnup from 1.1 to 1.2 times the assembly average burnup) and significantly under-burned fuel at the ends (with burnup of 50 to 60% of the assembly average). Figure 1 shows a representative PWR axial burnup distribution. As is typical, the burnup is slightly higher at the bottom of the assembly than at the top. This variation is due to a difference in the moderator density. The cooler (higher density) water at the assembly inlet results in higher reactivity (which subsequently results in higher burnup) than the warmer moderator at the assembly outlet.
Quoted from "ORNL/TM-1999/246: Review of Axial Burnup Distribution Considerations for Burnup Credit Calculations"
You don't pull all of the control rods at the same time. You can fully withdraw some number of them, then control the reaction with a few more rods.
There are several strategies to provide additional control so it's not all at the bottom. For instance, in a PWR, reactivity decreases with temperature, so additional coolant can be injected where additional reactivity is needed. In the RBMK, a small number of rods were inserted from the bottom to provide more axial control.
The rods are not completely removed. Control rods ravenously gobble up free neutrons. As they're pulled up, more neutrons get to the uranium. You are correct in that fuel at the bottom is used up sooner. As more fuel is used, the rods will have to be pulled up higher than they were before for the same effect. The design takes this into account.
Thank you so much for sharing that! Beautiful / elegant and simple!
It's been decades since I looked at any of the details involved in any of the various types of reactors that have been designed. When I did, in the past, I hadn't even encountered concepts like "control theory" or spent any time with the subject matter of "systems engineering" or even "chemical engineering". I.e., areas where you start thinking about how to combine all of the different simple "laws"* and properties and such of energy and matter to create "robust" (ideally) or even just practical "systems".
Although I had read about the Chernobyl disaster, and "run-away" that occurred - the massive volumes of water being pumped in, partly as a result of such levels, at near boiling ... the steam voids, etc. I'm not entirely sure whether I really encountered the point about temperature and density, but, certainly, it didn't 'click' quite the way it did now when I read your description.
I love this kind of stuff - the "how it all fits together" from what can otherwise be these seemingly dry / 'dead' "laws" and such that can seem too simple / narrow / etc. to do much of use with - even if your teachers spend as much time as possible giving you homework questions etc. that certainly seem practice-oriented - but who gives a rat's-keister about whether comparing the weight of a duck to a putative witch might establish flammability and hence witchcraft when they're 15, right? ;)
* Simplified models describing various types of matter and physical processes - models that are valid (for some definition of ... as the mathematicians &/ Humpty-Dumpty [Alice in Wonderland / Lewis Carroll] might say) given certain assumptions / pre-conditions (on scale, frame of reference, etc.)
The Chernobyl disaster was partly because the design was graphite moderated, which does not have the safety that water does since it’s not self regulating due to the GPs explanation about that above. When the reactor started to go supercritical, it was reinforced by the moderator working better to create more neutrons, the opposite of what you’d want.
It's kind of the same idea, right? The more stuff there is to bounce off of, the faster it will slow down, the smaller the net distance it will travel, the increased chance it will thermalize, and less likely it is to escape. I could be missing a lot of nuance there as it's been almost 20 years since I went to naval nuclear power school. I'm definitely not the one to ask about the specifics!
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.
Funny that it specifies a graphite moderator. Almost every country uses water as the moderator except Britain, which uses graphite moderated gas cooled reactors.
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.
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!
https://en.wikipedia.org/wiki/Scram_(video_game)
There were multiple automatic safety systems ready to stop anything bad happening if the operators somehow lost control of it.
Also, in real life, there's not a human twisting the dials for "more steam" or "more reactor", that's undoubtedly handled with PIC controllers and software. Humans are just keeping an eye on things and running checklists when the software doesn't respond properly.
This is a process very few nuclear power stations do, they get started and then they stay running for enormous lengths of time stopping only for fuel replacements or other maintenance.
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?
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 lecturer would use a craft knife to make a tiny cut in a PCB trace somewhere in the machine. Then we would write debugging code, use oscilloscope and multimeter etc. to isolate the failure. A blob of solder repaired it.
That was such great fun and some powerful learning. It would be great if there was an online game/logic simulator that could do something similar.
Edit: So I decided to go and play it on an online archive site. It's just as fun as I remember.
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.
That doesn't mean that they are the only thing that can be efficient, just that they're the current best option, and, any other option is going to have to show immense promise in order to get the funding to catch up to where we are now with steam.
The only thing on my radar that bypasses steam entirely is what Helion Energy is doing up in washington with their experimental fusion devices. The basic idea being that you're using a pulsed fusion reaction and intentionally not containing it, instead using the energy produced to push back on the magnetic containment and generate power. No idea if it'll work out to be viable, but it at least makes sense on paper.
[1] https://www.mobygames.com/game/62490/the-oakflat-nuclear-pow...
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.
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.
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.
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.
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.
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.
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.
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.
How do we change the temperature of the water? We pull more/less heat of out it by using more/less steam.
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.
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.
When that is combined with deregulation (or an anti-regulatory mindset) where things like insulation on water intake is deferred or ignored because it impacts the economics of the power plant, then building one becomes difficult.
But SMRs can still be useful for small towns, remote communities, district heating, process heat for nearby industry and so on.
Rods are always in the core. To start a reactor that is shut down (with the rods are all the way on the bottom), you withdraw them slowly until the reactor is self-sustaining. From there, you increase power by increasing steam demand (as described in the parent comment above) and continue raising rods to increase or maintain temperature.
When the reactor is operating at power, the control rods are used primarily to 1) control steady state coolant temperature and 2) provide a safe and reliable way to shut the reactor down quickly (by dropping them to the bottom of the core -- this is called a reactor scram). If you have a short-duration power transient for any reason, you can "shim" the rods in to prevent a power spike that might cause a protective action to occur (you shouldn't really ever have to do this except for during emergency drills).
If the rods were drawn outside of the fuel region at power, they wouldn't be able to absorb any neutrons and wouldn't give you any way to control temperature or power. During some specific maintenance when the reactor is shut down, you sometimes might pull one rod further out for testing.
Your question on uneven burning of fuel is insightful. That can happen, and it's caused by an uneven neutron flux (# of neutrons traveling through a unit surface area per unit time) distribution. The core designers take rod positioning into account when determining how to distribute fuel throughout the core in order to maintain a "flat" flux profile.
The majority of PWR fuel assemblies have similar axial-burnup shapes – relatively flat in the axial mid-section (with peak burnup from 1.1 to 1.2 times the assembly average burnup) and significantly under-burned fuel at the ends (with burnup of 50 to 60% of the assembly average). Figure 1 shows a representative PWR axial burnup distribution. As is typical, the burnup is slightly higher at the bottom of the assembly than at the top. This variation is due to a difference in the moderator density. The cooler (higher density) water at the assembly inlet results in higher reactivity (which subsequently results in higher burnup) than the warmer moderator at the assembly outlet.
Quoted from "ORNL/TM-1999/246: Review of Axial Burnup Distribution Considerations for Burnup Credit Calculations"
https://www.osti.gov/servlets/purl/763169
There are several strategies to provide additional control so it's not all at the bottom. For instance, in a PWR, reactivity decreases with temperature, so additional coolant can be injected where additional reactivity is needed. In the RBMK, a small number of rods were inserted from the bottom to provide more axial control.
It's been decades since I looked at any of the details involved in any of the various types of reactors that have been designed. When I did, in the past, I hadn't even encountered concepts like "control theory" or spent any time with the subject matter of "systems engineering" or even "chemical engineering". I.e., areas where you start thinking about how to combine all of the different simple "laws"* and properties and such of energy and matter to create "robust" (ideally) or even just practical "systems".
Although I had read about the Chernobyl disaster, and "run-away" that occurred - the massive volumes of water being pumped in, partly as a result of such levels, at near boiling ... the steam voids, etc. I'm not entirely sure whether I really encountered the point about temperature and density, but, certainly, it didn't 'click' quite the way it did now when I read your description.
I love this kind of stuff - the "how it all fits together" from what can otherwise be these seemingly dry / 'dead' "laws" and such that can seem too simple / narrow / etc. to do much of use with - even if your teachers spend as much time as possible giving you homework questions etc. that certainly seem practice-oriented - but who gives a rat's-keister about whether comparing the weight of a duck to a putative witch might establish flammability and hence witchcraft when they're 15, right? ;)
* Simplified models describing various types of matter and physical processes - models that are valid (for some definition of ... as the mathematicians &/ Humpty-Dumpty [Alice in Wonderland / Lewis Carroll] might say) given certain assumptions / pre-conditions (on scale, frame of reference, etc.)
My memory is that the denser water thermalizes the neutrons in a shorter period of time and this is why reactivity is increased.
https://www.bbc.co.uk/bitesize/guides/zyqnrwx/revision/2
Manual https://archive.org/details/ThreeMileIslandAppleIIManual
Game (Note view 7 save/reset state seems to be broken - avoid)
https://archive.org/details/a2_Three_Mile_Island_Special_Ver...
https://youtu.be/tB6CC8UbJLU
Damn safety systems are messing up my fun.