am conducting a comparative study on photon heating calculations between MCNP and OpenMC using the identical nuclear data library (ENDF/B-VII.1, ENDFB71
). However, I encountered two significant discrepancies and would appreciate your insights:
-
Keff Difference:
The calculated Keff values differ by 866 pcm (where1.30531-1.29665). Is this magnitude of deviation within the expected range for such comparisons? -
Photon Heating Discrepancy:
More critically, the photon energy deposition results show substantial differences. What could be potential causes for this inconsistency in heating calculations?
one fuel rod 4.45w/o created by shy
c ------------------------------------------------------------------------------
c Cell card specification
c ------------------------------------------------------------------------------
1 1 -10.96 1 -2 -5 imp:n=1
2 2 -0.001598 1 -2 5 -6 imp:n=1
3 3 -6.55 (-7 4 -3) #1 #2 imp:n=1
4 4 -0.7194 (7:-4:3) -100 imp:n=1
5 0 100 imp:n=0
c ------------------------------------------------------------------------------
c Surface card specification
c ------------------------------------------------------------------------------
1 pz 0
2 pz 426.72
3 pz 445.77
4 pz -14.31
5 cz 0.41
6 cz 0.42
7 cz 0.48
*100 rpp -0.63 0.63 -0.63 0.63 -200 2000
c ------------------------------------------------------------------------------
c Data card specification
c ------------------------------------------------------------------------------
C Material Data Cards
m1 92235.70c 1.05189562e-3 92238.70c 2.23009181e-2
8016.70c 4.667056275e-2
m2 2004.70c 1
m3 50119.70c -0.0067 26056.70c -0.001 41093.70c -0.01
8016.70c -0.0012 40091.70c -0.9811
m4 1001.70c -0.1111 8016.70c -0.8889
5010.70c -1.473936e-4 5011.70c -6.526064e-4
c sdef
kcode 10000 1.0 100 400
ksrc 0 0 229.16
mode n p
phys:p
F6:p 1 2 3
import openmc
from IPython.display import Image
import matplotlib.pyplot as plt
from itertools import permutations
from pathlib import Path
import numpy as np
import openmc.lib
import os
import math
os.chdir(‘/home/neal/桌面/shy’) #输出文件地址
#–GM_Sphere—#
#materials
openmc.Materials.cross_sections=‘/home/neal/openmc-0.13.1/xs/endfb71_hdf5/cross_sections.xml’ #截面库位置写法
m1=openmc.Material(name=‘m1’)
m1.add_nuclide(‘U235’,1.05189562e-3,‘ao’)
m1.add_nuclide(‘U238’,2.23009181e-2,‘ao’)
m1.add_nuclide(‘O16’,4.667056275e-2,‘ao’)
m1.set_density(‘g/cm3’,10.96)
m1.temperature=293.6
m2=openmc.Material(name=‘m2’)
m2.add_nuclide(‘He4’,1.0,‘wo’)
m2.set_density(‘g/cm3’,0.001598)
m2.temperature=293.6
m3=openmc.Material(name=‘m3’)
m3.add_nuclide(‘Sn119’,0.0067,‘wo’)
m3.add_nuclide(‘Fe56’,0.001,‘wo’)
m3.add_nuclide(‘Nb93’,0.01,‘wo’)
m3.add_nuclide(‘O16’,0.0012,‘wo’)
m3.add_nuclide(‘Zr91’,0.9811,‘wo’)
m3.set_density(‘g/cm3’,6.55)
m3.temperature=293.6
m4=openmc.Material(name=‘m4’)
m4.add_nuclide(‘H1’,0.1111,‘wo’)
m4.add_nuclide(‘O16’,0.8889,‘wo’)
m4.add_nuclide(‘B10’,1.473936e-4,‘wo’)
m4.add_nuclide(‘B11’,6.526064e-4,‘wo’)
m4.set_density(‘g/cm3’,0.7194)
m4.temperature=293.6
materials_file=openmc.Materials([m1,m2,m3,m4])
materials_file.export_to_xml()
#gemotry
#surface
s1=openmc.ZPlane(0)
s2=openmc.ZPlane(426.72)
s3=openmc.ZPlane(445.77)
s4=openmc.ZPlane(-14.31)
s5=openmc.ZCylinder(r=0.41)
s6=openmc.ZCylinder(r=0.42)
s7=openmc.ZCylinder(r=0.48)
s8= openmc.XPlane(-0.63,boundary_type=‘reflective’)
s9= openmc.XPlane(0.63,boundary_type=‘reflective’)
s10= openmc.YPlane(-0.63,boundary_type=‘reflective’)
s11= openmc.YPlane(0.63,boundary_type=‘reflective’)
s12= openmc.ZPlane(-200,boundary_type=‘reflective’)
s13= openmc.ZPlane(2000,boundary_type=‘reflective’)
#cell
c1=openmc.Cell(name=‘c1’,fill=m1,region=-s5&-s2&+s1)
c2=openmc.Cell(name=‘c2’,fill=m2,region=-s6&+s5&-s2&+s1)
c3=openmc.Cell(name=‘c3’,fill=m3,region=(-s1&-s7&+s4)|(-s3&-s7&+s2)|(+s6&-s7&-s2&+s1))
c4=openmc.Cell(name=‘c4’,fill=m4,region=(+s7|-s4|+s3)&(+s8&-s9&+s10&-s11&+s12&-s13))
geometry=openmc.Geometry([c1,c2,c3,c4,])
geometry.export_to_xml()
#plot
plot1=openmc.Plot()
plot1.basis=‘xz’
plot1.origin=(0,0,200)
plot1.width=(10,700)
plot1.pixels=(5000,5000)
plot1.color_by=‘material’
plot2=openmc.Plot()
plot2.basis=‘xy’
plot2.origin=(0,0,200)
plot2.width=(10,10)
plot2.pixels=(1000,1000)
plot2.color_by=‘cell’
plot3=openmc.Plot()
plot3.basis=‘yz’
plot3.origin=(0, 0, 0)
plot3.width=(700,10)
plot3.pixels=(5000,5000)
plot3.color_by=‘cell’
plots=openmc.Plots([plot1,plot2,plot3])
plots.export_to_xml()
#source
point=openmc.stats.Point((0,0,229.16))
source=openmc.Source(space=point)
settings=openmc.Settings()
settings.run_mode=‘eigenvalue’
settings.batches=400
settings.inactive=100
settings.particles=10000
settings.source=source
settings.photon_transport = True
settings.delayed_photon_scaling = True
settings.export_to_xml()
#tally
cell_filter = openmc.CellFilter([c1, c2, c3])
photon_filter = openmc.ParticleFilter([‘photon’])
photon_heating_tally = openmc.Tally(name=‘photon_heating’)
photon_heating_tally.filters = [cell_filter, photon_filter]
photon_heating_tally.scores = [‘heating’]
tallies = openmc.Tallies([photon_heating_tally])
tallies.export_to_xml()
#run
openmc.run()