import sys sys.path.append('/opt/openmc/') import openmc #import neutronsmaterialmaker as nmm def define_materials(): #salt = openmc.Material(name="salt", temperature = 903) # salt.add_nuclide('Li7', 10.9566, 'wo') # salt.add_element('Be', 6.3492, 'wo') # salt.add_element('Zr', 11.1013, 'wo') # salt.add_element('Hf', 0.0001, 'wo') # salt.add_nuclide('U234', 0.0144, 'wo') # salt.add_nuclide('U235', 1.4093, 'wo') # salt.add_nuclide('U236', 0.0059, 'wo') # salt.add_nuclide('U238', 3.0652, 'wo') # salt.add_element('Fe', 0.0162, 'wo') # salt.add_element('Cr', 0.0028, 'wo') # salt.add_element('Ni', 0.0030, 'wo') # salt.add_element('O', 0.0490, 'wo') # salt.add_element('F', 67.0270, 'wo') # salt.set_density('g/cm3', 2.3223) # # #fuel salt LiF-BeF2-ZrF4-UF4 (65-29-5-1) # salt = openmc.Material(name='salt', temperature = 903) # salt.set_density('g/cm3',2.3275) # salt.add_nuclide('Li7',65/2) # salt.add_element('F',65/2+29*2/3+5*4/5+1*4/5) # salt.add_element('Be',29*1/3) # salt.add_element('Zr',5*1/5) # #salt.add_nuclide('U235',1*1/5*0.93) # #salt.add_nuclide('U238',1*1/5*0.07) # salt.add_element('U',1*1/5,enrichment=93) #Salt definition based on report Li = openmc.Material(name='Li', temperature = 903) Li.add_nuclide('Li7',1) Li.set_density('g/cm3',2.3275) Be = openmc.Material(name='Be', temperature = 903) Be.add_element('Be',1) Be.set_density('g/cm3',2.3275) Zr = openmc.Material(name='Zr', temperature = 903) Zr.add_element('Zr',1) Zr.set_density('g/cm3',2.3275) Hf = openmc.Material(name='Hf', temperature = 903) Hf.add_element('Hf',1) Hf.set_density('g/cm3',2.3275) U234 = openmc.Material(name='U234', temperature = 903) U234.add_nuclide('U234',1) U234.set_density('g/cm3',2.3275) U235 = openmc.Material(name='U235', temperature = 903) U235.add_nuclide('U235',1) U235.set_density('g/cm3',2.3275) U236 = openmc.Material(name='U236', temperature = 903) U236.add_nuclide('U236',1) U236.set_density('g/cm3',2.3275) U238 = openmc.Material(name='U238', temperature = 903) U238.add_nuclide('U238',1) U238.set_density('g/cm3',2.3275) Fe = openmc.Material(name='Fe', temperature = 903) Fe.add_element('Fe',1) Fe.set_density('g/cm3',2.3275) Cr = openmc.Material(name='Cr', temperature = 903) Cr.add_element('Cr',1) Cr.set_density('g/cm3',2.3275) Ni = openmc.Material(name='Ni', temperature = 903) Ni.add_element('Ni',1) Ni.set_density('g/cm3',2.3275) O = openmc.Material(name='O', temperature = 903) O.add_element('O',1) O.set_density('g/cm3',2.3275) F = openmc.Material(name='F', temperature = 903) F.add_element('F',1) F.set_density('g/cm3',2.3275) salt = openmc.Material.mix_materials( [Li, Be, Zr, Hf, U234, U235, U236, U238, Fe, Cr, Ni, O, F], [10.9566/100, 6.3492/100, 11.1013/100, 0.0001/100, 0.0144/100, 1.4093/100, 0.0059/100, 3.0652/100, 0.0162/100, 0.0028/100, 0.0030/100, 0.0490/100, 67.0270/100], 'wo') salt.name="salt" #moderator blocks170 graphite = openmc.Material(name='graphite',temperature=903) graphite.set_density('g/cm3',1.86) graphite.add_element('C',1) graphite.add_s_alpha_beta('c_Graphite') #inor Mo = openmc.Material(name='Mo', temperature = 903) Mo.add_element('Mo',1) Mo.set_density('g/cm3',2.3275) C = openmc.Material(name='C', temperature = 903) C.add_element('Mo',1) C.set_density('g/cm3',2.3275) Al = openmc.Material(name='Al', temperature = 903) Al.add_element('Al',1) Al.set_density('g/cm3',2.3275) Ti = openmc.Material(name='Ti', temperature = 903) Ti.add_element('Ti',1) Ti.set_density('g/cm3',2.3275) S = openmc.Material(name='S', temperature = 903) S.add_element('S',1) S.set_density('g/cm3',2.3275) Mn = openmc.Material(name='Mn', temperature = 903) Mn.add_element('Mn',1) Mn.set_density('g/cm3',2.3275) Si = openmc.Material(name='Si', temperature = 903) Si.add_element('Si',1) Si.set_density('g/cm3',2.3275) Cu = openmc.Material(name='Cu', temperature = 903) Cu.add_element('Cu',1) Cu.set_density('g/cm3',2.3275) B = openmc.Material(name='B', temperature = 903) B.add_element('B',1) B.set_density('g/cm3',2.3275) W = openmc.Material(name='W', temperature = 903) W.add_element('W',1) W.set_density('g/cm3',2.3275) P = openmc.Material(name='P', temperature = 903) P.add_element('P',1) P.set_density('g/cm3',2.3275) Co = openmc.Material(name='Co', temperature = 903) Co.add_element('Co',1) Co.set_density('g/cm3',2.3275) inor = openmc.Material.mix_materials( [Ni, Mo, Cr, Fe, C, Al, Ti, S, Mn, Si, Cu, B, W, P, Co], [68/100, 17/100, 7/100, 5/100, 0.06/100, 0.2/100, 0.2/100, 0.02/100, 0.8/100, 0.8/100, 0.3/100, 0.01/100, 0.4/100, 0.015/100, 0.195/100], 'wo') inor.name="inor" inor.set_density('g/cm3',8.7745) # inor = openmc.Material(name='inor',temperature=903) # inor.set_density('g/cm3',8.7745) # inor.add_element('Ni',(66+71)/2,'wo') # inor.add_element('Mo',(15+18)/2,'wo') # inor.add_element('Cr',(6+8)/2,'wo') # inor.add_element('Fe',5,'wo') # inor.add_element('C',(0.04+0.08)/2,'wo') # inor.add_element('Al',0.25,'wo') # inor.add_element('Ti',0.25,'wo') # inor.add_element('S',0.02,'wo') # inor.add_element('Mn',1.0,'wo') # inor.add_element('Si',1.0,'wo') # inor.add_element('Cu',0.35,'wo') # inor.add_element('B',0.010,'wo') # inor.add_element('W',0.5,'wo') # inor.add_element('P',0.015,'wo') # inor.add_element('Co',0.2,'wo') #helium helium = openmc.Material(name='helium') helium.add_element('He',1.0) helium.set_density('g/cm3',1.03*(10**-4)) #Control rods inconel clad trace = 0.01 inconel = openmc.Material(name='inconel', temperature = 903) inconel.add_element('Ni',78.5,percent_type='wo') inconel.add_element('Cr',14.0,percent_type='wo') inconel.add_element('Fe',6.5,percent_type='wo') inconel.add_element('Mn',0.25,percent_type='wo') inconel.add_element('Si',0.25,percent_type='wo') inconel.add_element('Cu',0.2,percent_type='wo') inconel.add_element('Co',0.2,percent_type='wo') inconel.add_element('Al',0.2,percent_type='wo') inconel.add_element('Ti',0.2,percent_type='wo') inconel.add_element('Ta',0.5,percent_type='wo') inconel.add_element('W',0.5,percent_type='wo') inconel.add_element('Zn',0.2,percent_type='wo') inconel.add_element('Zr',0.1,percent_type='wo') inconel.add_element('C',trace,percent_type='wo') inconel.add_element('Mo',trace,percent_type='wo') inconel.add_element('Ag',trace,percent_type='wo') inconel.add_element('B',trace,percent_type='wo') inconel.add_element('Ba',trace,percent_type='wo') inconel.add_element('Be',trace,percent_type='wo') inconel.add_element('Ca',trace,percent_type='wo') inconel.add_element('Cd',trace,percent_type='wo') inconel.add_element('V',trace,percent_type='wo') inconel.add_element('Sn',trace,percent_type='wo') inconel.add_element('Mg',trace,percent_type='wo') inconel.set_density('g/cm3',8.5) #Control rods bushing posion material Gd2O3 = openmc.Material() Gd2O3.add_element('Gd',2) Gd2O3.add_element('O',3) Gd2O3.set_density('g/cm3',5.873) Al2O3 = openmc.Material() Al2O3.add_element('Al',2) Al2O3.add_element('O',3) Al2O3.set_density('g/cm3',5.873) bush = openmc.Material.mix_materials([Gd2O3,Al2O3],[0.7,0.3],'wo') bush.name='bush' #Concrete block #concrete=nmm.Material.from_library('Concrete, Regular') #concrete=concrete.openmc_material #concrete.name="concrete" #Baryte block baryte = openmc.Material(name="baryte", temperature = 903) baryte.add_element('Ba',1) baryte.add_element('S',1) baryte.add_element('O',4) baryte.set_density('g/cm3',4.5) #Thermal shielding water = openmc.Material() water.add_element('H',2) water.add_element('O',1) water.set_density('g/cm3',0.997) #steel = nmm.Material.from_library('Steel, Carbon') #steel=steel.openmc_material #shield = openmc.Material.mix_materials([water,steel],[0.5,0.5],'wo') #shield.name='waterSteel' detector = openmc.Material(name = 'water') detector.add_element('O',76.2,percent_type='wo') detector.add_element('C',11.1,percent_type='wo') detector.add_element('H',10.1,percent_type='wo') detector.add_element('N',2.6,percent_type='wo') detector.set_density('g/cm3',1.0) mats = openmc.Materials([salt,graphite,inor,helium,inconel,bush])#,concrete,baryte,shield,detector]) mats.export_to_xml() return mats