# Error when plot reflector

**URL:** <https://openmc.discourse.group/t/error-when-plot-reflector/3169>\
**Category:** User Support\
**Created:** [July 4, 2023, 3:37am UTC](https://openmc.discourse.group/t/error-when-plot-reflector/3169 "2023-07-04T03:37:14Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Darilhana1](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@Darilhana1](https://openmc.discourse.group/u/Darilhana1)\
**Post date:** [July 4, 2023, 3:37am UTC](https://openmc.discourse.group/t/error-when-plot-reflector/3169/1 "2023-07-04T03:37:15Z")

</div>

I got an error when I tried coding the reflector on fully up it said the value on ring 0 should be 30 elements but I have entered the reflector value correctly on fully up. what’s the solution?

 ![Cuplikan layar dari 2023-07-04 10-34-39](https://global.discourse-cdn.com/free1/uploads/openmc/original/2X/4/4d77d1eb8ceac8a540ee738c9f08309a4e99460e.png)

this is my program reflector

# Reflector assemblies

ref\_lat = openmc.HexLattice(lattice\_id=103, name=‘reflector assembly’)  
ref\_lat.center = (0., 0.)  
ref\_lat.pitch = (20.9889 / 11,)  
ref\_lat.orientation = ‘x’  
ref\_lat.outer = sodium\_mod\_u  
ref4 = [ref\_u] \* 96  
ref5 = [ref\_u] \* 90  
ref6 = [ref\_u] \* 84  
ref7 = [ref\_u] \* 22  
ref8 = [ref\_u] \* 6  
ref9 = [ref\_u] \* 1  
ref\_lat.universes = [ref4, ref5, ref6, ref7, ref8, ref9]

outer\_ref\_surface = openmc.model.hexagonal\_prism(edge\_length=9.3803, orientation=‘x’)  
main\_ref\_assembly = openmc.Cell(cell\_id=51, fill=ref\_lat, region=-top & +bottom)  
out\_ref\_assembly = openmc.Cell(cell\_id=52, fill=sodium, region=~outer\_ref\_surface & -top & +bottom)  
main\_ref\_u = openmc.Universe(universe\_id=11, cells=[main\_ref\_assembly,])

# Core lattice

core\_lat = openmc.HexLattice(lattice\_id=106, name=‘core’)  
core\_lat.center = (0., 0.)  
duct\_thickness = 0.4525  
subassembly\_duct = 20.9889  
pitch = subassembly\_duct - (2 \* duct\_thickness)  
core\_lat.orientation = ‘y’  
core\_lat.pitch = (pitch,)  
core\_lat.outer = sodium\_mod\_u

# Fully up

out\_zero = 2 \* [sodium\_mod\_u] + [main\_ref\_u] \* 50 + [3 \* [sodium\_mod\_u]] \* 5 + [main\_ref\_u] \* 28 + [sodium\_mod\_u]  
out\_one = [main\_ref\_u] \* 45 + [main\_ref\_u] \* 45  
out\_two = [main\_ref\_u] \* 84  
out\_three = [main\_ref\_u] \* 22  
out\_four = [main\_ref\_u] \* 6

in\_zero = [main\_ref\_u] \* 3 + [main\_out\_u] \* 33 + [main\_out\_u] \* 33 + [main\_ref\_u] \* 3  
in\_one = [main\_ref\_u] + [main\_out\_u] \* 65  
in\_two = [main\_in\_u] \* 22 + [main\_out\_u] \* 8 + [main\_in\_u] \* 22 + [main\_out\_u] \* 8  
in\_three = ([main\_in\_u] \* 2 + [main\_in\_u] \* 2) \* 26  
in\_four = [main\_in\_u] \* 48  
in\_five = [main\_in\_u] \* 7 + [main\_in\_u] \* 7 + [main\_in\_u] \* 7 + [main\_in\_u] \* 7 + [main\_in\_u] \* 7 + [main\_in\_u] \* 7  
in\_six = [main\_in\_u] \* 6 + [main\_in\_u] \* 12 + [main\_in\_u] \* 18  
in\_seven = [main\_in\_u] \* 30  
in\_eight = [main\_in\_u] \* 8 + [main\_in\_u] \* 8 + [main\_in\_u] \* 8  
in\_nine = [main\_in\_u] \* 18  
in\_ten = [main\_in\_u] \* 4 + + [main\_in\_u] \* 4 + [main\_in\_u] \* 4  
in\_eleven = [main\_in\_u] \* 6  
in\_twelve = [main\_in\_u] \* 1  
core\_lat.universes = [out\_zero,out\_one,out\_two,out\_three,in\_one,in\_two,in\_three,in\_four,in\_five,in\_six,in\_seven,in\_eight,in\_nine,in\_ten,in\_eleven,in\_twelve]

---

<div class="post-metadata">

**Author:** ![bentridisalah](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/bentridisalah/32/1421_2.png) [@bentridisalah](https://openmc.discourse.group/u/bentridisalah)\
**Post date:** [July 4, 2023, 4:03pm UTC](https://openmc.discourse.group/t/error-when-plot-reflector/3169/2 "2023-07-04T16:03:25Z")

</div>

Hi @Darilhana1;

according to the error message and what I saw in your hexagonal lattice, the rings should be made from a multiple of 6 (except for the central one with only 1 fuel rods):  
1, 6=6x1, 12=6x2, 18=6x3, 24=6x4, 30=6x5 and so on, thus the multiplication factors you did use here are not correct and I think that you should reconsider them.

---

<div class="post-metadata">

**Author:** ![Darilhana1](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@Darilhana1](https://openmc.discourse.group/u/Darilhana1)\
**Post date:** [July 6, 2023, 5:05am UTC](https://openmc.discourse.group/t/error-when-plot-reflector/3169/3 "2023-07-06T05:05:40Z")

</div>

thank you salah, but my code still has an error when I input it in multiples of 6. can you help check where the error is, because I’m already stuck here.

my coding  
#reflector assemblies  
ref\_lat = openmc.HexLattice(lattice\_id=103, name=‘reflector assembly’)  
ref\_lat.center = (0., 0.)  
ref\_lat.pitch = (20.9889/17,)  
ref\_lat.orientation = ‘x’  
ref\_lat.outer = sodium\_mod\_u  
ref1 = [ref\_u]\*96  
ref2 = [ref\_u]\*90  
ref3 = [ref\_u]\*84  
ref4 = [ref\_u]\*78  
ref5 = [ref\_u]\*72  
ref6 = [ref\_u]\*66  
ref7 = [ref\_u]\*60  
ref8 = [ref\_u]\*54  
ref9 = [ref\_u]\*48  
ref10 = [ref\_u]\*42  
ref11 = [ref\_u]\*36  
ref12 = [ref\_u]\*30  
ref13 = [ref\_u]\*24  
ref14 = [ref\_u]\*18  
ref15 = [ref\_u]\*12  
ref16 = [ref\_u]\*6  
ref17 = [ref\_u]\*1

ref\_lat.universes = [ref1,ref2,ref3,ref4,ref5,ref6,ref7,ref8,ref9,ref10,ref11,ref12,ref13,ref14,ref15,ref16,ref17]  
outer\_ref\_surface = openmc.model.hexagonal\_prism(edge\_length=9.3803, orientation=‘x’)  
main\_ref\_assembly = openmc.Cell(cell\_id=51, fill=ref\_lat, region= -top & +bottom)  
out\_ref\_assembly = openmc.Cell(cell\_id=52, fill=sodium, region=~outer\_ref\_surface & -top & +bottom)  
main\_ref\_u = openmc.Universe(universe\_id=11, cells=[main\_ref\_assembly,])

#core lattice  
core\_lat = openmc.HexLattice(lattice\_id=106, name=‘core’)  
core\_lat.center = (0., 0.)  
duct\_thickness = 0.4525 #subassembly duct wall thickness  
subassembly\_duct = 20.9889  
pitch = subassembly\_duct - (2\*duct\_thickness)  
core\_lat.orientation = ‘y’  
core\_lat.pitch = (pitch,)  
core\_lat.outer = sodium\_mod\_u

#fully up  
out\_zero = 2\*[sodium\_mod\_u] + 3\*([sodium\_mod\_u])\*5 + [sodium\_mod\_u]  
out\_one = [main\_ref\_u]\*48 + [main\_ref\_u]\*48  
out\_two = [main\_ref\_u]\*90  
out\_three = [main\_ref\_u]\*84  
out\_four = [main\_ref\_u]\*54 + [main\_out\_u]\*24  
in\_zero = [main\_ref\_u]\*6 + [main\_out\_u]\*66  
in\_one = [main\_out\_u]\*66  
in\_two = [main\_in\_u]\*6 + [main\_out\_u]\*54  
in\_three = [main\_in\_u]\*36 + [main\_out\_u]\*18  
in\_four = [main\_in\_u]\*48  
in\_five = [main\_in\_u]\*7 + [main\_in\_u]\*7 + [main\_in\_u]\*7 + [main\_in\_u]\*7 + [main\_in\_u]\*7 + [main\_in\_u]\*7  
in\_six = [main\_in\_u]\*6 + [main\_in\_u]\*12 + [main\_in\_u]\*18  
in\_seven = [main\_in\_u]\*30  
in\_eight = [main\_in\_u]\*8 + [main\_in\_u]\*8 + [main\_in\_u]\*8  
in\_nine = [main\_in\_u]\*18  
in\_ten = [main\_in\_u]\*4 + [main\_in\_u]\*4 + [main\_in\_u]\*4  
in\_eleven = [main\_in\_u]\*6  
in\_twelve = [main\_ref\_u]\*1  
core\_lat.universes = [out\_zero,out\_one,out\_two,out\_three,in\_one,in\_two,in\_three,in\_four,in\_five,in\_six,in\_seven,in\_eight,in\_nine,in\_ten,in\_eleven,in\_twelve]

my error  
Traceback (most recent call last):  
File “/home/acer/Documents/4 juli/4juli.py”, line 666, in   
core\_lat.universes = [out\_zero,out\_one,out\_two,out\_three,in\_one,in\_two,in\_three,in\_four,in\_five,in\_six,in\_seven,in\_eight,in\_nine,in\_ten,in\_eleven,in\_twelve]  
^^^^^^^^^^^^^^^^^^  
File “/home/acer/miniconda3/envs/openmc-env/lib/python3.11/site-packages/openmc/lattice.py”, line 1265, in universes  
raise ValueError(msg)  
ValueError: HexLattice ID=106 has the wrong number of elements in ring number 0 (counting from the outermost ring). This ring should have 90 elements.

I hope to resolve this error…

---

<div class="post-metadata">

**Author:** ![bentridisalah](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/bentridisalah/32/1421_2.png) [@bentridisalah](https://openmc.discourse.group/u/bentridisalah)\
**Post date:** [July 7, 2023, 10:49am UTC](https://openmc.discourse.group/t/error-when-plot-reflector/3169/4 "2023-07-07T10:49:48Z")

</div>

hi @Darilhana1  
The problem is in the core hexalattice universe definition:  
_**core\_lat.universes = [out\_zero,out\_one,out\_two,out\_three,in\_one,in\_two,in\_three,in\_four,in\_five,in\_six,in\_seven,in\_eight,in\_nine,in\_ten,in\_eleven,in\_twelve]**_  
there are two rings missing from your hexagonal lattice:  
_ **in\_zero and out\_four** _  
so, it should be like this:  
_**core\_lat.universes = [out\_zero,out\_one,out\_two,out\_three, ““out\_four ,in\_zero””", in\_one,in\_two,in\_three,in\_four,in\_five,in\_six,in\_seven,in\_eight,in\_nine,in\_ten,in\_eleven,in\_twelve]**_

---

<div class="post-metadata">

**Author:** ![Darilhana1](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@Darilhana1](https://openmc.discourse.group/u/Darilhana1)\
**Post date:** [July 8, 2023, 5:55am UTC](https://openmc.discourse.group/t/error-when-plot-reflector/3169/5 "2023-07-08T05:55:10Z")

</div>

thankyou salah, but my code still error. is there some other error that i didn’t detect?

---

<div class="post-metadata">

**Author:** ![bentridisalah](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/bentridisalah/32/1421_2.png) [@bentridisalah](https://openmc.discourse.group/u/bentridisalah)\
**Post date:** [July 8, 2023, 6:38am UTC](https://openmc.discourse.group/t/error-when-plot-reflector/3169/6 "2023-07-08T06:38:04Z")

</div>

I’m sorry but I forgot to mention also the following line, the outermost ring (outer\_zero) should be 102 element and you are using only 18 ones

> [@Darilhana1](#):
>
> out\_zero = 2\*[sodium\_mod\_u] + 3\*([sodium\_mod\_u])\*5 + [sodium\_mod\_u]

---

<div class="post-metadata">

**Author:** ![Darilhana1](https://avatars.discourse-cdn.com/v4/letter/d/c2a13f/32.png) [@Darilhana1](https://openmc.discourse.group/u/Darilhana1)\
**Post date:** [July 8, 2023, 9:08am UTC](https://openmc.discourse.group/t/error-when-plot-reflector/3169/7 "2023-07-08T09:08:22Z")

</div>

thankyou salah, but my outermost ring already 102 elements but still error. I have also removed the reflector and only input 102 elements of sodium but still have an error. can you help me?

my code

#fully up  
out\_zero = 2 \* [sodium\_mod\_u] + [main\_ref\_u] \* 50 + [3 \* [sodium\_mod\_u]] \* 5 + [main\_ref\_u] \* 34 + [sodium\_mod\_u]  
out\_one = [main\_ref\_u] \* 45 + [main\_ref\_u] \* 45  
out\_two = [main\_ref\_u] \* 84  
out\_three = [main\_ref\_u] \* 22  
out\_four = [main\_ref\_u] \* 6

in\_zero = [main\_ref\_u] \* 3 + [main\_out\_u] \* 33 + [main\_out\_u] \* 33 + [main\_ref\_u] \* 3  
in\_one = [main\_ref\_u] + [main\_out\_u] \* 65  
in\_two = [main\_in\_u] \* 22 + [main\_out\_u] \* 8 + [main\_in\_u] \* 22 + [main\_out\_u] \* 8  
in\_three = ([main\_in\_u] \* 2 + [main\_in\_u] \* 2) \* 26  
in\_four = [main\_in\_u] \* 48  
in\_five = [main\_in\_u] \* 7 + [main\_in\_u] \* 7 + [main\_in\_u] \* 7 + [main\_in\_u] \* 7 + [main\_in\_u] \* 7 + [main\_in\_u] \* 7  
in\_six = [main\_in\_u] \* 6 + [main\_in\_u] \* 12 + [main\_in\_u] \* 18  
in\_seven = 5\*([main\_in\_u] \* 6)  
in\_eight = 4\*([main\_in\_u] \* 6)  
in\_nine = 3\*([main\_in\_u] \* 6)  
in\_ten = 2\*([main\_in\_u] \* 6)  
in\_eleven = [main\_in\_u] \* 6  
in\_twelve = [main\_in\_u] \* 1  
core\_lat.universes = [out\_zero,out\_one,out\_two,out\_three,out\_four,in\_zero,in\_one, in\_two,in\_three,in\_four,in\_five,in\_six,in\_seven,in\_eight,in\_nine,in\_ten,in\_eleven,in\_twelve]

---

<div class="post-metadata">

**Author:** ![bentridisalah](https://yyz2.discourse-cdn.com/free1/user_avatar/openmc.discourse.group/bentridisalah/32/1421_2.png) [@bentridisalah](https://openmc.discourse.group/u/bentridisalah)\
**Post date:** [July 10, 2023, 6:31pm UTC](https://openmc.discourse.group/t/error-when-plot-reflector/3169/8 "2023-07-10T18:31:34Z")

</div>

hi @Darilhana1 ;

I think that there is always a persisting error in the definition of the hexagonal lattice…mainly since out\_four, out\_three, …they should follow the numbering 6 x n

> Blockquote  
> out\_zero = 2 \* [sodium\_mod\_u] + [main\_ref\_u] \* 50 + [3 \* [sodium\_mod\_u]] \* 5 + [main\_ref\_u] \* 34 + [sodium\_mod\_u]  
> out\_one = [main\_ref\_u] \* 45 + [main\_ref\_u] \* 45 \<\<\<\<\< here  
> out\_two = [main\_ref\_u] \* 84 \<\<\<\<\<\< here  
> out\_three = [main\_ref\_u] \* 22 \<\<\<\<\<\<\< here  
> out\_four = [main\_ref\_u] \* 6 \<\<\<\<\<\< here  
> in\_zero = [main\_ref\_u] \* 3 + [main\_out\_u] \* 33 + [main\_out\_u] \* 33 + [main\_ref\_u] \* 3
