Reflective Boundary Hexagonal Multigroup problem

Hi All,
I’m using openmc to get a multigroup hexagonal(5 ring) problem with reflective boundary condition.
the geometry is a sixth symmetry, the plotted figure is attached.

my problem is that the keff and flux distribution from openmc is far away from reference. is there any restriction for openmc to model the kind of geometry or some options needed to be open?


I think your boundary conditions has some problems.

  1. Transmission boundary between assemblies
  2. Vacuum boundary outside of the geometry &
  3. Periodic boundary condition should be used in the two planes which is covering your 1/6 th portion of the geometry.

Also, if the geometry is infinite in z-axis you can use to planes in z-axis to bind it with reflective boundary conditions. About the vacuum boundary condition, it depends on your geometry. If it is infinite without any leakage then you should use reflective boundary condition instead of vacuum boundary as mentioned in point 2 above.

Hope this helps.

Best regards

Thanks for your suggestions.

I found the reasion is that I used complicated surface for the bottom of the geometry, geometry.xml input is given at the end.

the openmc runs well when I change the bottom surface to a y-plane, but this boundary is not what i need for my benchmark problem. by the way, my benchmark problem is simple 5 rings hexagonal problem with pin pitch sqrt(3.0), the boundary condition for all outer surface is reflective.

then my question is how to model the benchmark problem?

thank you very much.


I changed the geometry to this, then OpenMC can run well.


<?xml version='1.0' encoding='utf-8'?> 1.732050808 1e+50 3 0.0 0.0 0.0 4 4 4 4 1 4 4 1 1 4 4 1 1 1 4 1 1 1 1 4 1 1 1 4 1 1 1 1 4 1 1 1 4 1 1 1 1 4 1 1 1 4 1 1 1 1 4 1 1 1 4 4 1 1 4 4 1 4 4 4 4 <?xml version='1.0' encoding='utf-8'?> mgxs.h5 <?xml version='1.0' encoding='utf-8'?> eigenvalue 10000 1000 100 -3 -3 -3 3 3 3 multi-group

screen output:

              | The OpenMC Monte Carlo Code
     Copyright | 2011-2019 MIT and OpenMC contributors
       License |
       Version | 0.11.0
      Git SHA1 | 3a7b9f4bd212b7857d306f422e7bd8dda00b79fe
     Date/Time | 2022-04-11 23:03:29
OpenMP Threads | 6

Reading settings XML file…
Reading cross sections HDF5 file…
Reading materials XML file…
Reading geometry XML file…
Loading cross section data…
Loading UO2 data…
Loading GD data…
Loading LWTR data…
Reading tallies XML file…
Writing summary.h5 file…
Initializing source particles…

====================> K EIGENVALUE SIMULATION <====================

Bat./Gen. k Average k
========= ======== ====================
1/1 1.22811
2/1 1.23421
3/1 1.23242
4/1 1.23364
5/1 1.24438
6/1 1.21668
7/1 1.19253
8/1 1.20958
9/1 1.20180

991/1 1.22271 1.22741 +/- 0.00049
992/1 1.23419 1.22742 +/- 0.00049
993/1 1.22522 1.22742 +/- 0.00049
994/1 1.23824 1.22743 +/- 0.00049
995/1 1.23940 1.22744 +/- 0.00049
996/1 1.21910 1.22744 +/- 0.00049
997/1 1.21592 1.22742 +/- 0.00049
998/1 1.21498 1.22741 +/- 0.00049
999/1 1.23026 1.22741 +/- 0.00049
1000/1 1.22815 1.22741 +/- 0.00049
Creating state point statepoint.1000.h5…

=======================> TIMING STATISTICS <=======================

Total time for initialization = 9.4737e-03 seconds
Reading cross sections = 3.3948e-03 seconds
Total time in simulation = 7.2644e+02 seconds
Time in transport only = 7.2228e+02 seconds
Time in inactive batches = 1.2859e+01 seconds
Time in active batches = 7.1358e+02 seconds
Time synchronizing fission bank = 2.7885e+00 seconds
Sampling source sites = 2.5491e+00 seconds
SEND/RECV source sites = 2.3001e-01 seconds
Time accumulating tallies = 2.5237e-03 seconds
Total time for finalization = 6.0835e-04 seconds
Total time elapsed = 7.2655e+02 seconds
Calculation Rate (inactive) = 77767.8 particles/second
Calculation Rate (active) = 12612.5 particles/second

============================> RESULTS <============================

k-effective (Collision) = 1.22712 +/- 0.00046
k-effective (Track-length) = 1.22741 +/- 0.00049
k-effective (Absorption) = 1.22712 +/- 0.00015
Combined k-effective = 1.22713 +/- 0.00015
Leakage Fraction = 0.00000 +/- 0.00000

Sorry to say but i didn’t understand your problem yet. Your geometry has five rings with a pitch of sqrt (3). So is it an assembly? Or a core? & what is the problem you are facing modeling it?

If it’s simply about modeling then the given examples are already enough for you i guess

Thank you for your response.

the problem is a simple 5-ring min-assembly problem. the inner 4 rings are fuel pins and the outer ring is moderator pins. the figure is attached. and the outer boundary conditon is reflective.

this problem is diffrent from the example because there is a large hexagon with boundary conditon to be filled with hex_lattice in example. so my question is how to model this 5-ring hex_lattice only?



Follow the example, create two universes one for fuel & another with moderator (outer universe). start from ring 5 instead of ring 7 & this will give you an assembly with 5 rings. Place the universes according to your model description. Give lattice pitch sqrt (3) instead of 1.275. Put the value for edge length of the assembly according to your assembly pitch.

This should give you the model you want.

Thank you very much.

Sorry to say that my problem is a multi-pin problem (61 pins in total) WITHOUT assembly edge, so that my boundary is the outest pins’ out side. this problem is defined not similar to real hexagonal assembly in order to test hexagonal deterministic method (e.g. Hexagonal Sn method or SP3 method).

the forum system just allow me to upload xml file, so the XS python file and geometry.xml and materials.xml file are attached. the Reference keff of this problem (without Gd) is about 1.2183. cuurently I can’t accurately incorperate reflective boundary condition as I want, so the result from OpenMC is 1.1797, this value is equal to the result for all the pins being fuel only; I guess this is because the boundary conditon setted in my geometry.xml bypass the outest ring of water pins.

Li (2.7 KB)
materials.xml (467 Bytes)
geometry.xml (1.9 KB)

Hi All,
could developer kindly reply if OpenMC can model this simple problem?
It is just a 7-pin hexagonal problem with reflective outer boundary conditon, the difficulty for me is how to model it WITHOUT “assembly edge”.
Thanks you very much.
I just want to use it as a benchmark result for my deterministic code developed.

Just noting that this question is duplicated/answered here:

My reply in the post that @paulromano provided above might be useful here. @jerrylizy I think some of the same issues might show up in your model too.

@paulromano @pshriwise
Thank you very much for your reply. I guess it is very time consuming to check this kind geometry problem (recently I also did a geometry error checking in my MOC module), Thank you very much.

I think this "reflective " boundary hexagonal problem is mostly required by benchmark problem only. And usually the hexagonal benchmark problem is 1/6 (sixth) symmetric, so your solution (use sixth symmetric model) is very useful.

1 Like