SFR (Sodium Fast Cooled Reactor)

@paulromano Thanks Mr. Paul for your answer. I will try it.

@Rahma I don’t know if it will help for your particular case, but we have a list of example notebooks with many different reactor examples, including an SFR:

Hello, paulromano.
I learned the example of the fast reactor, but when I copied the code and ran it in my openmc environment, the keff result was not consistent with the keff in the example, my keff = 1.26646, the number of particles and iterations running were the same as in the example, and the diagram I drew was also very strange, the fuel rod in the middle could not be drawn. Why is that? I was hoping you could answer my question,


Hello,lichw. I had the same result as you. Deleting or modifying all lattice_id and universe_id maybe help.



but I still have some trouble in runing this example, there is an error “ERROR: Maximum number of lost particles has been reached.”

Hello @qq306553577, it seems the gap, clad and sodium cell was added to both the inner fuel universe and outer fuel universe. Defining different cells for the outer fuel should fix the problem.

Hello, I ran the same example and stumble upon the same two problems, too. On further inspection of the file geometry.xml, I seemed to have found something worth noticing.

Here is the geometry.xml(modified)(truncated for readability):

<?xml version='1.0' encoding='UTF-8'?>
<geometry>
  <cell id="1" material="13" region="1 -2 -4 5" universe="1"/>
  <cell id="2" material="15" region="2 -3 -4 5" universe="1"/>
  <cell id="3" material="10" region="3 -4 5" universe="1"/>
  <cell id="4" material="13" region="-1 -4 5" universe="1"/>
  <cell id="5" material="14" region="-1 -4 5" universe="2"/>
  <cell id="6" material="10" universe="3"/>
  <cell fill="100" id="7" region="-6 7 -8 -11 9 10 -4 5" universe="4"/>
  <cell id="8" material="10" region="~(-6 7 -8 -11 9 10) -4 5" universe="4"/>
  <cell fill="200" id="9" region="-12 13 -14 -17 15 16 -4 5" universe="5"/>
  <cell id="10" material="10" region="~(-12 13 -14 -17 15 16) -4 5" universe="5"/>
  <cell id="11" material="10" region="-18 19 -20 -23 21 22 -4 5" universe="6"/>
  <cell id="12" material="10" region="~(-18 19 -20 -23 21 22) -4 5" universe="6"/>
  <cell fill="300" id="13" region="-30 31 -32 -33 34 35 -4 5" universe="7"/>
  <cell id="14" material="void" region="~(-30 31 -32 -33 34 35) -4 5" universe="7"/>
  <cell id="1001" material="13" region="1 -2 -4 5" universe="2"/>
  <cell id="1002" material="15" region="2 -3 -4 5" universe="2"/>
  <cell id="1003" material="10" region="3 -4 5" universe="2"/>
  <hex_lattice id="100" n_rings="9" name="inner assembly" orientation="x">
    <pitch>1.24</pitch>
    <outer>3</outer>
    <center>0.0 0.0</center>
    <universes>...</universes>
  </hex_lattice>
  <hex_lattice id="200" n_rings="9" name="outer assembly" orientation="x">
    <pitch>1.24</pitch>
    <outer>3</outer>
    <center>0.0 0.0</center>
    <universes>...</universes>
  </hex_lattice>
  <hex_lattice id="300" n_rings="17" name="core">
    <pitch>21.08</pitch>
    <outer>3</outer>
    <center>0.0 0.0</center>
    <universes>...</universes>
  </hex_lattice>
  <surface .../>
</geometry>

First, let’s look at @lichw’s problem. In his/her diagram, where it’s supposed to be a lattice turned out to have only one rod. I think that’s because of the “fill” property of a cell. the “fill” property only gives out an ID, it doesn’t know whether that’s a universe or a lattice. Therefore, when universe IDs and lattice IDs overlap, problems may arise. I think this ambiguity need to be fixed in the future.

As for @qq306553577’s problem, the answer is already given: assignment of one cell to multiple universes lead to the problem. In the file, it can be seen that universe only exists implicitly as a property of cells or lattices, and only one universe ID is allowed for each property. In this way, some coding complexity may be reduced. Nevertheless, maybe it’s a better idea to issue an warning for the users to see?

Dear users,
If you think there were some geometry definition errors on your script, i.e. particle lost as you encounter, I recommend you to turn on the geometry debug mode

openmc.run(geometry_debug=True)

These are some discussions about troubleshooting these kinds of error

2 Likes