## Hexagonal Boundary Conditions

Suggest new ideas here
andrew.hall
Posts: 22
Joined: Fri Feb 17, 2012 1:13 am

### Hexagonal Boundary Conditions

I've been browsing through the forum and the user manual and noticed that reflective boundary conditions do not exist for hexagons. I remember seeing something where you mentioned that treating hexagons as reflective is unphysical. The problem I have is that I'm dealing with a fuel assembly that is 180 degree symmetric and not 30 degree symmetric. Since periodic is the only option available for hexagon, this can cause serious problems when I try and do an assembly level calculation. For example, the assembly I'm looking at has control rods on two adjacent faces. When normally treated with reflective boundary conditions, this assembly will only see rods on those two faces. However, with periodic boundary conditions, my hexagon will now see rods on four of its faces instead of two.

Are there any plans to implement a reflective boundary condition for hexagons or to assign arbitrary surfaces boundary conditions? If a picture would be beneficial to help explain my problem, I can provide one.

Thanks,
Andrew

Jaakko Leppänen
Posts: 2179
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

### Re: Hexagonal Boundary Conditions

What I mean by "unphysical" is that if you have an assymmetry in a hexgonal cell, and you reflect it over three surfaces in such way that you end up in the original cell, the position of the asymmetry has been changed. At least this is my intuition, there may be some cases with additional symmetry (such as your case) when the reflection actually works.

Could you provide the illustration?
- Jaakko

andrew.hall
Posts: 22
Joined: Fri Feb 17, 2012 1:13 am

### Re: Hexagonal Boundary Conditions

I've attached a picture of three assemblies with the y-shaped control rod. Ignore the random stray lines exiting the assemblies, I had to cut and paste this image together.

From the image you can see that the assembly is 180 degrees symmetric about the y-axis (looking at the bottom assembly for example purposes) and at the top there are 2 control rod blades (the black bars). The different color circles represent different fuel enrichment types. The problem with periodic boundary conditions for this type of assembly is that the control rods are normally seen at the top two faces only , but since the boundaries aren't reflected, it also sees the control rods on the bottom two faces. This will obviously throw the answer way off since there will be more absorber present.

I don't disagree that using reflective boundary conditions for a hexagonal cell might modify the position of the asymmetry. In fact I know that using reflective will not give the exact assembly orientation as seen in the core and therefore is "unphysical". However, by using reflective, my assembly won't see the extra absorber. This should allow me to do a better comparison with Helios where we're using reflective boundary conditions at the lattice level.

Thanks,
-Andrew
Attachments
TripleHexAssembly.gif (70.28 KiB) Viewed 2822 times

Jaakko Leppänen
Posts: 2179
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

### Re: Hexagonal Boundary Conditions

OK, I see the symmetry now... I'll see if there is some simple way to extend reflective boundary conditions to hexagonal surfaces (there probably is), but it will probably take me until next week to do that.

Meanwhile, I'm pretty sure you can have the same effect by constructing the geometry from multiple assemblies, and using periodic boundary around them
- Jaakko

Jaakko Leppänen
Posts: 2179
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

### Re: Hexagonal Boundary Conditions

On second thought... What happens if you reflect the bottom assembly over the left or the right boundary surface? Doesn't that break the symmetry? Do you actually need reflections on some surfaces and periodic condition on others?
- Jaakko

andrew.hall
Posts: 22
Joined: Fri Feb 17, 2012 1:13 am

### Re: Hexagonal Boundary Conditions

Right now I'm trying to run a case with 3 hexagons in the middle enclosed by a larger hexagon to meet the boundary condition requirements (very similar to the picture I showed). Theoretically it should show better results compared to the single hexagon. I'm still modifying the geometry for that case.

With regards to the symmetry, it will be broken if you try and reflect it. Unfortunately when it comes to modeling at the lattice level, I haven't seen anything that can properly handle this kind of geometry. Periodic isn't right, and reflective doesn't quite get there but it's better than periodic. It's possible that some sort of hybrid periodic/reflective might handle it, but that's not something I've thought about. Plus, that seems like it would be a nightmare to get right.

Let me know if you have any luck with the single hexagon reflective boundary conditions. Thanks again for the help.

-Andrew

Jaakko Leppänen
Posts: 2179
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

### Re: Hexagonal Boundary Conditions

I made some simple changes in the routine that handles boundary conditions, and this is what I get. As you see, there is some reflectional symmetry, but it doesn't work on every boundary suface.
Attachments
Reflected hex geometry
vver_geom1.png (20.27 KiB) Viewed 2811 times
- Jaakko

andrew.hall
Posts: 22
Joined: Fri Feb 17, 2012 1:13 am

### Re: Hexagonal Boundary Conditions

Thanks for looking into this Jaakko.

For the update to Serpent2 (2.1.3), I see that you didn't include the reflective bc for hexagons, or at least it wasn't included in the versions.txt. If it isn't too much trouble and is a simple modification, is it possible that you could tell me the necessary changes so that I can modify my version to do a comparison? I'd like to see if the reflective treatment can provide similar results to Helios.

I also have a quick question that mainly deals with what looks like changes from Serpent1 to Serpent2. I've been working with Bryan Herman and his SerpentXS script and it looks like you no longer print 3 variables in the output (BETA_EFF, DECAY_CONSTANT, and P1_TRANSPXS). Do you plan to include these variables in the future?

Thanks,
Andrew

Jaakko Leppänen
Posts: 2179
Joined: Thu Mar 18, 2010 10:43 pm
Security question 2: 0
Location: Espoo, Finland
Contact:

### Re: Hexagonal Boundary Conditions

I made some changes to get the plotter working in order to visualize the problem, but I think the routine needs a few more modifications to get the reflections working in the tracking routine as well. There is an if-statement on line 456 of boundaryconditions.c, followed by some code. To get the transport routine working you need to replace that part with:

Code: Select all

``````if ((j  % 2) && (bc2 == BC_REFLECTIVE))
{
x1 = *x;
y1 = *y;

*x = x1*COS60 - y1*SIN60;
*y = -x1*SIN60 - y1*COS60;

x1 = *u;
y1 = *v;

*u = x1*COS60 - y1*SIN60;
*v = -x1*SIN60 - y1*COS60;
}
``````
This should do the trick for the hexxc-type boundary. My guess is that you will end with major differences compared to HELIOS, because the coordinate transformation done by Serpent does not correspond to actual reflection in this case.

Delayed neutron parameters and P1 cross sections will be added later.
- Jaakko

andrew.hall
Posts: 22
Joined: Fri Feb 17, 2012 1:13 am

### Re: Hexagonal Boundary Conditions

Thanks Jaakko!

I'll give that a try and see what the results look like.

Andrew