Proper simulation code for a Nuclear Reactor core

In summary, Open source code for nuclear reactor core simulations may be available, but it will require significant effort on your part to set it up and understand what it does.
  • #1
Dimitris Catzis
22
0
Hi,
I want to make a simple nuclear reactor core simulation to calculate the thermal power production. Is there any open source code with interface (or not) that you recommend to use? The core have cylindrical shape with Uranium( up to 90% enriched) molybdenum fuel,Beryllium reflector and one rod of Born at the center, for space applications. (This is my first attempt in simulations)
Thanks a lot!
 
Engineering news on Phys.org
  • #2
Hi Dimitris,

There are several things you need to consider.

1. Setting up the geometry - this looks pretty easy for the core you described, you could set up a Monte Carlo or deterministic code pretty easy.
2. Thermal hydraulics and temperature distributions - this is a little harder because you are operating at power. Therefore you need to know
the temperatures of the materials, including the fuel and moderator. If you have a background in heat transfer and know the total power output,
you can probably make some good approximations. In space applications, radiative heat transfer is very important.
3. Cross sections - you will need accurate cross sections for a range of temperatures. This is a little harder also.
You could either tabulate cross sections at different temperatures and interpolate (for a deterministic code) or use a Monte Carlo code with
temperature dependent cross sections. I believe SERPENT has this capability.
4. Finally, you are probably going to want to deplete the core.

If you are just running a single calculation, and since it is a small geometry, I would probably recommend using Serpent.
You will still need to provide a temperature distribution.
 
  • Like
Likes Dimitris Catzis
  • #3
Hi, thanks for your response!

Set up a Monte Carlo on my own? I think this would be difficult for me! Is there a documentation for the first steps?Do you know if the openMC code is suitable? it has a relative friendly interface making the simulation a bit easier.
 
  • #4
OpenMC is a Monte Carlo code... along with MCNP and Serpent. All three of these codes are going to have similar inputs.

The issues with OpenMC are that it isn't distributed with a cross section library, it doesn't allow materials at different temperatures,
and it doesn't have depletion. (I don't follow the OpenMC development that closely, so they might be working on these issues).
 
  • #5
Dimitris Catzis said:
Hi,
I want to make a simple nuclear reactor core simulation to calculate the thermal power production. Is there any open source code with interface (or not) that you recommend to use? The core have cylindrical shape with Uranium( up to 90% enriched) molybdenum fuel,Beryllium reflector and one rod of Born at the center, for space applications. (This is my first attempt in simulations)
Thanks a lot!

If this is a serious simulation, it will take you many months of study and effort to set it up and to understand what it does.

This is your first attempt at simulations. You also make a rookie mistake when you say 90% enriched, rather than 9%.

So is this something you want to spend years of your life doing, or do you want to do something simple in a day or two?
 
  • #6
Dimitris Catzis said:
Hi,
I want to make a simple nuclear reactor core simulation to calculate the thermal power production. Is there any open source code with interface (or not) that you recommend to use? The core have cylindrical shape with Uranium( up to 90% enriched) molybdenum fuel,Beryllium reflector and one rod of Born at the center, for space applications. (This is my first attempt in simulations)
Thanks a lot!
The limited description indicates a fast spectrum core with a moderating reflecting (mixed spectrum system), which could be done with a relatively simple two region model. One would usually not have a single control rod (boron) in the core with such a high enrichment. One would want to start with some thermal-hydraulic calculations to size the reactor so it operates at a power density compatible with technical limits like fuel melting temperature, fuel swelling and/or fuel creep (dimensional stability).

What is the function of the reactor? Is it open or closed cycle?

What is one's experience with reactor physics?

One needs to determine how heat is removed from the core, what working fluid is necessary for the core to perform its function, e.g., hydrogen for propulsion, or inert gas or liquid metal for transport of thermal energy to an appropriate thermodynamic cycle.

anorlunda said:
You also make a rookie mistake when you say 90% enriched, rather than 9%.
90% enrichment would not necessarily be unusually for a compact core. Ft St Vrain used 93% enriched uranium in a graphite moderated core. However, in the present case, 90% would seem excessive, and very risky with a single, central control rod, which would be largely ineffective in a fast spectrum core.

The most effective location of a group of control rods would be between the central core and reflector.
 
Last edited:
  • Like
Likes mfb and anorlunda
  • #7
Hi to all, and thanks for your responses.

The reactor core that i want to simulate is the kWatt reactor that NASA design for space applications (KRUSTY). At the following link there is a description of the reactor

https://permalink.lanl.gov/object/tr?what=info:lanl-repo/lareport/LA-UR-15-26603

My experience is almost zero! I know the general picture of reactor physics and understand the main functions. I want to make simple calculations about some quantities to compare with those that exist from the tests of the reactor. This work is for my master thesis in Computational Physics.
 
  • #8
Dimitris Catzis said:
Hi to all, and thanks for your responses.

The reactor core that i want to simulate is the kWatt reactor that NASA design for space applications (KRUSTY). At the following link there is a description of the reactor

https://permalink.lanl.gov/object/tr?what=info:lanl-repo/lareport/LA-UR-15-26603

My experience is almost zero! I know the general picture of reactor physics and understand the main functions. I want to make simple calculations about some quantities to compare with those that exist from the tests of the reactor. This work is for my master thesis in Computational Physics.

That helps clarify a lot. It sounds like an excellent choice.

But the basic questions remain. What are your qualifications on thermodynamics, nuclear engineering, numerical simulation? How must time and effort do you plan investing in this simulation project?

What kind of simulation?
  • A fully transient simulation with the motion of the fluids and the pistons? In that case, you might just consider the reactor of a heat source of unspecified type.
  • A quasi-steady-state simulaition where you look at the change in performance over a period of years? In that case you might forget the Stirling engine, and just look at depletion and the nuclear evolution of the core.

It is almost universal in simulation that we choose which aspects to focus on and which to ignore or simplify.
 
  • #9
anorlunda said:
That helps clarify a lot. It sounds like an excellent choice.

But the basic questions remain. What are your qualifications on thermodynamics, nuclear engineering, numerical simulation? How must time and effort do you plan investing in this simulation project?

What kind of simulation?
  • A fully transient simulation with the motion of the fluids and the pistons? In that case, you might just consider the reactor of a heat source of unspecified type.
  • A quasi-steady-state simulaition where you look at the change in performance over a period of years? In that case you might forget the Stirling engine, and just look at depletion and the nuclear evolution of the core.

It is almost universal in simulation that we choose which aspects to focus on and which to ignore or simplify.
My interest is for core simulation (so the second of your bold dots). I have to finish in 4 months with an 7-10 hours effort per day. I am a rookie. So, maybe is a very ambitious goal for me!
 
  • #10
It sounds like a lattice code problem to me. So all you nuclear engineers, how can we help this amateur?
 
  • Like
Likes Dimitris Catzis
  • #11
anorlunda said:
It sounds like a lattice code problem to me. So all you nuclear engineers, how can we help this amateur?
It seems that my problem is unsolvable!
 
  • #12
Dimitris Catzis said:
It seems that my problem is unsolvable!

Sorry you didn't get better replies. Unsolvable by an amateur perhaps, but not unsolvable by someone who puts in a year or two studying nuclear engineering and numerical methods.

Let me try to reprase your question and see if we get replies.

"What is the simplest long-term simulation of reactor power and depletion that an amateur could master?"

If that doesn't get results, then the answer must be "Study first, simulate later."
 
  • #13
anorlunda said:
Sorry you didn't get better replies. Unsolvable by an amateur perhaps, but not unsolvable by someone who puts in a year or two studying nuclear engineering and numerical methods.

Let me try to reprase your question and see if we get replies.

"What is the simplest long-term simulation of reactor power and depletion that an amateur could master?"

If that doesn't get results, then the answer must be "Study first, simulate later."

Thanks a lot for your effort! :)
 
  • #14
You could also clarify your question. The title suggests that you want to use an existing code, but the body suggests that you want to write it from scratch. Which is it?
 
  • #15
anorlunda said:
You could also clarify your question. The title suggests that you want to use an existing code, but the body suggests that you want to write it from scratch. Which is it?

In this time i want an existing code. I don't have time to write one from the scratch as the working time is larger that the time i have. Unless the code can predict a simple quantity that i can compare with a results from original tests.
 
  • #17
Dimitris Catzis said:
I want to make a simple nuclear reactor core simulation to calculate the thermal power production.
[bolding mine]

That's easy:
step 1: e = mc2
step 2: power = energy / time​

One simply has to remember that "m" in this case, is the change in mass from the parent material, U235, compared to the daughter products.
But since Wiki claims that 1 kg of fissioned U235 generates 83.24 terajoules of energy, you don't really have to figure that out.

Here's what I came up with:
>
>list
10 rem 32 kg uranium metal alloy
20 rem 93% enriched ^235U
30 kgu235 = 32*0.93
40 energyperkgu235converted = 83.14*1.000000E+12
50 rem ref https://en.wikipedia.org/wiki/Uranium-235#Fission
60 print "Your theoretical nuclear reactor has ";kgu235;"kg of U235 fuel."
70 input "Please enter the fuel depletion in kg: ",massconverted
80 energy = massconverted*energyperkgu235converted
90 input "Please enter the time over which you wish your fuel to be consumed, in seconds: ";time
100 poweroutput = energy/time
110 print "Your theoretical nuclear reactor will generate ";poweroutput;"watts."
>
>run
Your theoretical nuclear reactor has 29.76 kg of U235 fuel.
Please enter the fuel depletion in kg: 1
Please enter the time over which you wish your fuel to be consumed, in seconds: 32000000
Your theoretical nuclear reactor will generate 2598125 watts.
>​

As far as turning that into "simulatorish" type code, um...
Don't look at me.
 
  • #18
It's a lot more complicated than that Om. The U235 can fission into many daughter isotopes. Each of those has a half life, and each decay of those leads to other isotopes. Some isotopes absorb neutrons, thus "poisoning" the fission reactions, but they too have half lives. The outer edges behave very differently than the middle, and so on.

It become very complex rapidly.
 
  • #19
anorlunda said:
It's a lot more complicated than that Om. The U235 can fission into many daughter isotopes. Each of those has a half life, and each decay of those leads to other isotopes. Some isotopes absorb neutrons, thus "poisoning" the fission reactions, but they too have half lives. The outer edges behave very differently than the middle, and so on.

I was actually looking forward to Dimitris' response: "It's really that simple?", whereupon I would have given your response;

It become very complex rapidly.

ps. My 40 year anniversary of graduating from Nuclear Power School(NPS) is coming up.

2019.03.02.40.years.exclamation.point.png


I should celebrate.
 

Attachments

  • 2019.03.02.40.years.exclamation.point.png
    2019.03.02.40.years.exclamation.point.png
    70.6 KB · Views: 865
  • Like
Likes anorlunda
  • #20
OmCheeto said:
My 40 year anniversary of graduating from Nuclear Power School(NPS) is coming up.
Cool. I used to live next door to the KAPL training prototypes in West Milton, NY. Did you go there?
 
  • #21
OmCheeto said:
I was actually looking forward to Dimitris' response: "It's really that simple?", whereupon I would have given your response;
ps. My 40 year anniversary of graduating from Nuclear Power School(NPS) is coming up.

View attachment 239613

I should celebrate.
I am rookie but not so much!
 
  • #22
anorlunda said:
Cool. I used to live next door to the KAPL training prototypes in West Milton, NY. Did you go there?
I've never been to New York, so, no.
I went to, ummm... Idaho?

Dimitris Catzis said:
I am rookie but not so much!

It's a Feynmanian onion-skin type thing. It's very simple on the outside(e=mc2), but once you start peeling back the layers of complexity, it never stops.
You have to tell us where you want to stop. Otherwise, the people who can help, know that this will take longer than your given time constraint.
 
  • #23
OmCheeto said:
I've never been to New York, so, no.
I went to, ummm... Idaho?
It's a Feynmanian onion-skin type thing. It's very simple on the outside(e=mc2), but once you start peeling back the layers of complexity, it never stops.
You have to tell us where you want to stop. Otherwise, the people who can help, know that this will take longer than your given time constraint.
My first thought was to find a existing code with maybe an interface to make the geometry of the core and the element that consists of and run the simulation to calculate some quantities. I think that this is by far easier than writing my own code. I find some proper codes but only with a license or a payment that obviously i can't afford. So, i asked if anybody know an open source code for the simulation of the core that i described in previews post. The quantities that i though was power level and the time that would provide that power (not an estimate). I thought with a proper code i could achieve that in 4 month work as the core i described is not so complex like the one that commercial nuclear power plants use.
 
  • #24
Dimitris Catzis said:
It seems that my problem is unsolvable!
The problem is certainly solvable, since some Glenn staff used MCNP. In fact, they state, "Assuming a βeff of 650 pcm, the excess reactivity for the reference model is 6.92$, which is a bit higher than the 3.00$ needed for the experiment." Stating 6.92$ is a bit higher than 3.00$, is a gross understatement. 3.00$ is already a substantial amount of reactivity to insert into a core, and 6.92$ is more than twice as much. An 800°C operating temperature is also substantial.

Outside of using an existing MC code, one could try a 2-group, 2-region diffusion or transport model, or a 4-group, 2-region, model using cylindrical geometry. It's not clear to me what is located in the central bore of the core, but one could assume it is empty. One then only need to solve the system of equations with the boundary conditions on the 4 external boundaries and interface between core and reflector.
 
Last edited:
  • #25
Astronuc said:
The problem is certainly solvable, since some Glenn staff used MCNP. In fact, they state, "Assuming a βeff of 650 pcm, the excess reactivity for the reference model is 6.92$, which is a bit higher than the 3.00$ needed for the experiment." Stating 6.92$ is a bit higher than 3.00$, is a gross understatement. 3.00$ is already a substantial amount of reactivity to insert into a core, and 6.92$ is more than twice as much. An 800°C operating temperature is also substantial.

Outside of using an existing MC code, one could try a 2-group, 2-region diffusion or transport model, or a 4-group, 2-region, model using cylindrical geometry. It's not clear to me what is located in the central bore of the core, but one could assume it is empty. One then only need to solve the system of equations with the boundary conditions on the 4 external boundaries and interface between core and reflector.
I found that https://permalink.lanl.gov/object/tr?what=info:lanl-repo/lareport/LA-UR-17-21903

The problem that i told that was unsolvable is for me to make a simulation like that with my capabilities right now! I will simply give up this idea and try to search something by far easiest.
 
  • #26
There's been a lot of discussion, but if you want to get reasonable results and you only need to run the calculation once, go back to comment 1.
You will need to come up with a temperature distribution, then set up a Serpent model.
 
  • Like
Likes Dimitris Catzis
  • #27
Dimitris Catzis said:
That's an interesting and useful document. Looking at page 20/50, it seems the authors switched the descriptions of the neutron spectra. The spectrum on the right is the flux, and the one on the left is the fission spectrum. The core is mostly fast flux, with small thermal component, and that would be toward the outer edge of the core adjacent to the BeO reflector.

Note: "Spectrum is very fast, such that changes in cross sections with temperature are largely insignificant, >90% of feedback is dimensional changes due to thermal expansion."
 
  • Like
Likes Dimitris Catzis

1. What is the purpose of a simulation code for a Nuclear Reactor core?

The purpose of a simulation code for a Nuclear Reactor core is to model and analyze the behavior of a nuclear reactor under different conditions. This allows scientists and engineers to understand and predict the performance of the reactor, and make informed decisions about its design and operation.

2. How does a simulation code for a Nuclear Reactor core work?

A simulation code for a Nuclear Reactor core uses mathematical equations and computer algorithms to simulate the physical processes that occur within the reactor. These equations take into account factors such as neutron transport, heat transfer, and nuclear reactions to accurately model the behavior of the reactor.

3. What are the key components of a simulation code for a Nuclear Reactor core?

The key components of a simulation code for a Nuclear Reactor core include a neutron transport model, a thermal-hydraulic model, a fuel performance model, and a core kinetics model. These components work together to simulate the behavior of the reactor and provide data on key parameters such as power distribution, temperature, and fuel depletion.

4. How accurate are simulation codes for Nuclear Reactor cores?

The accuracy of a simulation code for a Nuclear Reactor core depends on the quality of the models and data used, as well as the complexity of the reactor being simulated. In general, these codes can provide accurate predictions of reactor behavior, but they should always be validated against experimental data to ensure their reliability.

5. How are simulation codes for Nuclear Reactor cores used in the nuclear industry?

Simulation codes for Nuclear Reactor cores are used in various stages of a reactor's life cycle, including design, licensing, and operation. They are also used for safety analysis, fuel management, and optimization of reactor performance. These codes are an essential tool for the nuclear industry to ensure the safe and efficient operation of nuclear reactors.

Similar threads

  • Nuclear Engineering
Replies
1
Views
1K
  • Nuclear Engineering
Replies
1
Views
1K
  • Nuclear Engineering
Replies
3
Views
1K
Replies
3
Views
1K
Replies
11
Views
2K
Replies
6
Views
2K
Replies
2
Views
1K
  • Nuclear Engineering
Replies
2
Views
1K
Replies
0
Views
270
  • Nuclear Engineering
Replies
1
Views
896
Back
Top