openmc-designs/VVER/VVER.ipynb

768 lines
56 KiB
Text

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "7SVc4tVhUN8l",
"outputId": "91d742b3-4226-4a1c-e1a6-51bbde0949e3"
},
"source": [
"# A VVER geometry \n",
"This notebook can be used as a template for modeling VVER reactors."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"id": "BpmPdBBHTz2E"
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import openmc"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "TBEO1_TrW7up",
"outputId": "f6c529e7-05aa-4e22-de7a-2d2ffc9c9421"
},
"outputs": [],
"source": [
"# Materials definitions\n",
"\n",
"au13=openmc.Material(name='au13')\n",
"au13.add_element('U', 1.0, enrichment=1.3)\n",
"au13.add_element('O', 2.0)\n",
"au13.set_density('g/cc', 10.4)\n",
"\n",
"au22=openmc.Material(name='au22')\n",
"au22.add_element('U', 1.0, enrichment=2.2)\n",
"au22.add_element('O', 2.0)\n",
"au22.set_density('g/cc', 10.4)\n",
"\n",
"av5=openmc.Material(name='av5')\n",
"av5.add_element('U', 1.0, enrichment=3.0)\n",
"av5.add_element('O', 2.0)\n",
"av5.set_density('g/cc', 10.4)\n",
"\n",
"awu=openmc.Material(name='awu')\n",
"awu.add_element('U', 1.0, enrichment=3.3)\n",
"awu.add_element('O', 2.0)\n",
"awu.set_density('g/cc', 10.4)\n",
"\n",
"go=openmc.Material(name='go')\n",
"go.add_element('U', 1.0, enrichment=4.0)\n",
"go.add_element('O', 2.0)\n",
"go.set_density('g/cc', 10.4)\n",
"\n",
"Gd2O3=openmc.Material(name='Gd2O3')\n",
"Gd2O3.add_element('Gd', 2.0)\n",
"Gd2O3.add_element('O', 3.0)\n",
"Gd2O3.set_density('g/cm3', 7.41)\n",
"\n",
"water = openmc.Material(name='water')\n",
"water.add_nuclide('H1', 2.0)\n",
"water.add_nuclide('O16', 1.0)\n",
"water.set_density('g/cm3', 1.0)\n",
"water.add_s_alpha_beta('c_H_in_H2O')\n",
"\n",
"zirconium = openmc.Material(name=\"zirconium\")\n",
"zirconium.add_element('Zr', 1.0)\n",
"zirconium.set_density('g/cm3', 6.6)\n",
"\n",
"niobium=openmc.Material(name='niobium')\n",
"niobium.add_element('Nb',1.0)\n",
"niobium.set_density('g/cm3',8.57)\n",
"\n",
"helium=openmc.Material(name='Helium')\n",
"helium.add_element('He', 1.0)\n",
"helium.set_density('g/cm3', 0.178e-3)\n",
"\n",
"reflector_mat = openmc.Material(name='Reflector')\n",
"reflector_mat.add_nuclide('Be9', 1.0)\n",
"reflector_mat.add_nuclide('O16', 1.0)\n",
"reflector_mat.set_density('g/cm3', 2.9)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"id": "-VU_fMs2W751"
},
"outputs": [],
"source": [
"# Material mixtures\n",
"\n",
"alloy = openmc.Material.mix_materials([niobium, zirconium], [0.01, 0.99], 'wo')\n",
"fuel_awu = openmc.Material.mix_materials([Gd2O3, awu], [0.05, 0.95], 'wo')\n",
"fuel_go = openmc.Material.mix_materials([Gd2O3, go], [0.05, 0.95], 'wo')"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"id": "116XndltahRq"
},
"outputs": [],
"source": [
"# Instantiate a Materials collection and export to xml\n",
"materials_file = openmc.Materials([au13, au22, av5, fuel_awu, fuel_go, water, alloy, helium, reflector_mat])\n",
"materials_file.export_to_xml()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "htyVmeh8ahca",
"outputId": "20ecf082-9e37-4dc4-f987-cd42a1948e1c"
},
"outputs": [],
"source": [
"# Geometry definitions\n",
"\n",
"# Boudries and outer universe\n",
"all_water_out=openmc.Cell(cell_id=200, fill=water)\n",
"\n",
"# Top & bottom of the assembly\n",
"assembly_z0 = openmc.ZPlane(surface_id=300, z0=-75)\n",
"assembly_z1 = openmc.ZPlane(surface_id=301, z0=75)\n",
"assembly = openmc.model.hexagonal_prism(edge_length=18, orientation='y')\n",
"\n",
"# Top & bottom of the reflector\n",
"reflector_z0 = openmc.ZPlane(surface_id=303, z0=-95, boundary_type='vacuum')\n",
"reflector_z1 = openmc.ZPlane(surface_id=304, z0= 95, boundary_type='vacuum')\n",
"\n",
"# Reflector hexagon\n",
"reflector = openmc.model.hexagonal_prism(edge_length=19, orientation='y',\n",
" boundary_type='vacuum')\n",
"\n",
"assembly_cell = openmc.Cell()\n",
"reflect_cell = openmc.Cell()\n",
"top_reflect_cell = openmc.Cell()\n",
"bot_reflect_cell = openmc.Cell()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"id": "ku5Yp2wzyXTg"
},
"outputs": [],
"source": [
"assembly_cell.region = assembly & -assembly_z1 & +assembly_z0\n",
"\n",
"reflect_cell.region = ~assembly & reflector \\\n",
"& -assembly_z1 & +assembly_z0\n",
"\n",
"top_reflect_cell.region = reflector & +assembly_z1 & -reflector_z1\n",
"\n",
"bot_reflect_cell.region = reflector & -assembly_z0 & +reflector_z0\n",
"\n",
"reflect_cell.fill = reflector_mat\n",
"top_reflect_cell.fill = reflector_mat\n",
"bot_reflect_cell.fill = reflector_mat\n",
"\n",
"# Create universes\n",
"all_water_out_u=openmc.Universe(cells=[all_water_out])\n",
"u_reflect = openmc.Universe(cells=(reflect_cell,top_reflect_cell,bot_reflect_cell))\n",
"u_root = openmc.Universe()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 286
},
"id": "Sl9zZQjpahiO",
"outputId": "dbbad02d-0f40-4689-fdb7-af90e0b60b53"
},
"outputs": [],
"source": [
"fuel_or1 = openmc.ZCylinder(surface_id=400, r=0.3765)\n",
"clad_ir1 = openmc.ZCylinder(surface_id=401, r=0.4)\n",
"clad_or1 = openmc.ZCylinder(surface_id=402, r=0.465)\n",
"\n",
"fuel_region1 = -fuel_or1 & -assembly_z1 & +assembly_z0\n",
"clad_region1 = +fuel_or1 & -clad_or1 & -assembly_z1 & +assembly_z0\n",
"\n",
"moderator_region1 = +clad_or1 & -assembly_z1 & +assembly_z0\n",
"\n",
"fuel_cell1 = openmc.Cell(cell_id=400, fill=water, region=fuel_region1)\n",
"clad_cell1 = openmc.Cell(cell_id=401, fill=alloy, region=clad_region1)\n",
"water_cell1 = openmc.Cell(cell_id=402, fill=water, region=moderator_region1)\n",
"\n",
"central_tube_u = openmc.Universe(cells=[fuel_cell1, clad_cell1, water_cell1])"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 286
},
"id": "s9WlvAAxahlm",
"outputId": "172bc8df-6006-44b8-e8e1-41142ef675ea"
},
"outputs": [],
"source": [
"# Geometry of au13 rod\n",
"\n",
"fuel_or2 = openmc.ZCylinder(surface_id=410, r=0.3765)\n",
"clad_ir2 = openmc.ZCylinder(surface_id=411, r=0.4)\n",
"clad_or2 = openmc.ZCylinder(surface_id=412, r=0.465)\n",
"\n",
"fuel_region2 = -fuel_or2 & -assembly_z1 & +assembly_z0\n",
"gap_region2 = +fuel_or2 & -clad_ir2 & -assembly_z1 & +assembly_z0\n",
"clad_region2 = +clad_ir2 & -clad_or2 & -assembly_z1 & +assembly_z0\n",
"\n",
"moderator_region2 = +clad_or2 & -assembly_z1 & +assembly_z0\n",
"\n",
"fuel_cell2 = openmc.Cell(cell_id=410, fill=au13, region=fuel_region2)\n",
"gap_cell2 = openmc.Cell(cell_id=411, fill=helium, region=gap_region2)\n",
"clad_cell2 = openmc.Cell(cell_id=412, fill=alloy, region=clad_region2)\n",
"water_cell2 = openmc.Cell(cell_id=413, fill=water, region=moderator_region2)\n",
"\n",
"au13_u = openmc.Universe(cells=[fuel_cell2, gap_cell2, clad_cell2, water_cell2])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"id": "zVCVJ9IHahot"
},
"outputs": [],
"source": [
"# Geometry of au22 rod\n",
"\n",
"fuel_or3 = openmc.ZCylinder(surface_id=420, r=0.3765)\n",
"clad_ir3 = openmc.ZCylinder(surface_id=421, r=0.4)\n",
"clad_or3 = openmc.ZCylinder(surface_id=422, r=0.465)\n",
"\n",
"fuel_region3 = -fuel_or3 & -assembly_z1 & +assembly_z0\n",
"gap_region3 = +fuel_or3 & -clad_ir3 & -assembly_z1 & +assembly_z0\n",
"clad_region3 = +clad_ir3 & -clad_or3 & -assembly_z1 & +assembly_z0\n",
"\n",
"moderator_region3 = +clad_or3 & -assembly_z1 & +assembly_z0\n",
"\n",
"fuel_cell3 = openmc.Cell(cell_id=420, fill=au22, region=fuel_region3)\n",
"gap_cell3 = openmc.Cell(cell_id=421, fill=helium, region=gap_region3)\n",
"clad_cell3 = openmc.Cell(cell_id=422, fill=alloy, region=clad_region3)\n",
"water_cell3 = openmc.Cell(cell_id=423, fill=water, region=moderator_region3)\n",
"\n",
"au22_u = openmc.Universe(cells=[fuel_cell3, gap_cell3, clad_cell3, water_cell3])"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"id": "3MlM4EUuahu9"
},
"outputs": [],
"source": [
"# Geometry of av5 rod\n",
"\n",
"fuel_or4 = openmc.ZCylinder(surface_id=430, r=0.3765)\n",
"clad_ir4 = openmc.ZCylinder(surface_id=431, r=0.4)\n",
"clad_or4 = openmc.ZCylinder(surface_id=432, r=0.465)\n",
"\n",
"fuel_region4 = -fuel_or4 & -assembly_z1 & +assembly_z0\n",
"gap_region4 = +fuel_or4 & -clad_ir4 & -assembly_z1 & +assembly_z0\n",
"clad_region4 = +clad_ir4 & -clad_or4 & -assembly_z1 & +assembly_z0\n",
"\n",
"moderator_region4 = +clad_or4 & -assembly_z1 & +assembly_z0\n",
"\n",
"fuel_cell4 = openmc.Cell(cell_id=430, fill=av5, region=fuel_region4)\n",
"gap_cell4 = openmc.Cell(cell_id=431, fill=helium, region=gap_region4)\n",
"clad_cell4 = openmc.Cell(cell_id=432, fill=alloy, region=clad_region4)\n",
"water_cell4 = openmc.Cell(cell_id=433, fill=water, region=moderator_region4)\n",
"\n",
"av5_u = openmc.Universe(cells=[fuel_cell4, gap_cell4, clad_cell4, water_cell4])"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"id": "Ks9nRXR4ah45"
},
"outputs": [],
"source": [
"# Geometry of awu rod\n",
"\n",
"fuel_or5 = openmc.ZCylinder(surface_id=440, r=0.3765)\n",
"clad_ir5 = openmc.ZCylinder(surface_id=441, r=0.4)\n",
"clad_or5 = openmc.ZCylinder(surface_id=442, r=0.465)\n",
"\n",
"fuel_region5 = -fuel_or5 & -assembly_z1 & +assembly_z0\n",
"gap_region5 = +fuel_or5 & -clad_ir5 & -assembly_z1 & +assembly_z0\n",
"clad_region5 = +clad_ir5 & -clad_or5 & -assembly_z1 & +assembly_z0\n",
"\n",
"moderator_region5 = +clad_or5 & -assembly_z1 & +assembly_z0\n",
"\n",
"fuel_cell5 = openmc.Cell(cell_id=440, fill=fuel_awu, region=fuel_region5)\n",
"gap_cell5 = openmc.Cell(cell_id=441, fill=helium, region=gap_region5)\n",
"clad_cell5 = openmc.Cell(cell_id=442, fill=alloy, region=clad_region5)\n",
"water_cell5 = openmc.Cell(cell_id=443, fill=water, region=moderator_region5)\n",
"\n",
"awu_u = openmc.Universe(cells=[fuel_cell5, gap_cell5, clad_cell5, water_cell5])"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"id": "NV8O7-cZaiuX"
},
"outputs": [],
"source": [
"# Geometry of go rod\n",
"\n",
"fuel_or6 = openmc.ZCylinder(surface_id=450, r=0.3765)\n",
"clad_ir6 = openmc.ZCylinder(surface_id=451, r=0.4)\n",
"clad_or6 = openmc.ZCylinder(surface_id=452, r=0.465)\n",
"\n",
"fuel_region6 = -fuel_or6 & -assembly_z1 & +assembly_z0\n",
"gap_region6 = +fuel_or6 & -clad_ir6 & -assembly_z1 & +assembly_z0\n",
"clad_region6 = +clad_ir6 & -clad_or6 & -assembly_z1 & +assembly_z0\n",
"\n",
"moderator_region6 = +clad_or6 & -assembly_z1 & +assembly_z0\n",
"\n",
"fuel_cell6 = openmc.Cell(cell_id=450, fill=fuel_go, region=fuel_region6)\n",
"gap_cell6 = openmc.Cell(cell_id=451, fill=helium, region=gap_region6)\n",
"clad_cell6 = openmc.Cell(cell_id=452, fill=alloy, region=clad_region6)\n",
"water_cell6 = openmc.Cell(cell_id=453, fill=water, region=moderator_region6)\n",
"\n",
"go_u = openmc.Universe(cells=[fuel_cell6, gap_cell6, clad_cell6, water_cell6])"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "Lnnkq16Oaisk",
"outputId": "676d78e5-ddf5-4fd9-b6b0-8e432a33a1da"
},
"outputs": [],
"source": [
"# Creating the hexagonal lattice\n",
"\n",
"lat=openmc.HexLattice(name='assembly')\n",
"lat.center = (0., 0.)\n",
"lat.pitch = (1.275,)\n",
"lat.outer=all_water_out_u"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"id": "0wD6nzv-aihX"
},
"outputs": [],
"source": [
"ring7=[awu_u, awu_u, go_u,awu_u, go_u, awu_u, awu_u]*6\n",
"ring6= [au22_u, av5_u, au22_u,\n",
" av5_u, au22_u, av5_u,\n",
" au13_u,av5_u, au22_u,\n",
" av5_u,au22_u,av5_u,\n",
" au22_u,av5_u,au22_u,\n",
" av5_u,au22_u,av5_u,\n",
" au22_u,av5_u,au22_u,\n",
" av5_u,au22_u,av5_u,\n",
" au13_u,av5_u,au22_u,\n",
" av5_u,au22_u,av5_u,\n",
" au13_u,av5_u,au22_u,\n",
" av5_u,au22_u,av5_u]\n",
"ring5= [au13_u, au13_u, au22_u, au13_u, au13_u]*6\n",
"ring4=[au22_u, av5_u, au13_u, av5_u]*6\n",
"ring3=[au13_u, au22_u, au13_u]*6\n",
"ring2=[au22_u, av5_u]*6\n",
"ring1=[au13_u]*6\n",
"ring0=[central_tube_u]\n",
"lat.universes = [ring7, ring6, ring5, ring4, ring3, ring2, ring1, ring0]\n",
"lat.orientation='y'"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "3qjNGajDaifZ",
"outputId": "d5c8cad5-7430-4fb7-8bb1-7930f82841c0"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe37faeca50>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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pgkA7SXvVw87sllGaJoAUG2teoutY96zjMP7mQBQPa2cuzv6yrIeV5kAUA1FXODQLGehaQJAORX5KiAvwzbBS7MAUB5Fz8lcWcbgKhMAilV0k4zQLA1omgDQWmVpkhGapQNNEwDyVbYmGWmb9yy3/ev/bdn3KutgAkCVtXJu3X7oH1x9o6tWq9VyrCd3ExMT6u3t1fj4uHp6evTdVa1tZFxlAkA6rb4A2X5oat6e3T/itF2zjNA0AaDcimqSEZplHZomAJRL0U0yQrNsoJVNk4YJAI21+n3JODTLJrjKBIBilOVqsh7NMoCmCQCtUcYmGaFZGtE0ASAfZW6SEZqlE+9nAkB2yvS+ZByaZQJcZQJAOlW4mqzXUc1yfHxcl112mUZGRlI1y8jOz9+RQVV2u/6zdclDAJCH+65u7byZVWLbxMSEBgYG9D//8z/q7e2N3bbyzfKXv/ylBgYGii4DAFBRIyMj+tSnPhW7TeWb5QcffKC33npLl156qbq6uoouZ47oL5esrnw7DccvHY5fOhy/dMp+/Gq1mt577z319/froovio9Ir/6kjF110UfAvgjLo6ekp5S9LVXD80uH4pcPxS6fMxy/08mukbT51BACAvNAsAQAIoFnmrLu7W9u3b1d3d3fRpVQSxy8djl86HL902un4Vf4GHwAA8saVJQAAATRLAAACaJYAAATQLAEACKBZAgAQQLPM0YMPPqibbrpJl1xyiS677LKG25w8eVLr1q3T/PnztXjxYn3rW9/SuXPnWltoRSxbtkxdXV0zHvfdd1/RZZXaU089pauuukqf+MQntHr1av3Lv/xL0SVVwo4dO+b8rvX19RVdVmnt379f69atU39/v7q6uvTjH/94xr/XajXt2LFD/f39uvjii/WFL3xBR44cKabYhGiWOTp37pxuv/12/cmf/EnDf79w4YJuu+02nT17Vj/96U/17LPP6h//8R/1p3/6py2utDr++q//WqdOnZp+/OVf/mXRJZXWc889p7vuukt/8Rd/oddee00333yzbr31Vp08ebLo0iph5cqVM37XXn/99aJLKq2zZ8/quuuu05NPPtnw3x955BE99thjevLJJ3XgwAH19fXpi1/8ot57770WV5pCDbn7wQ9+UOvt7Z3z9Z/85Ce1iy66qParX/1q+mt79+6tdXd318bHx1tYYTVceeWVtccff7zoMirjt3/7t2vf+MY3ZnxtxYoVtfvuu6+giqpj+/btteuuu67oMipJUu1HP/rR9P9/8MEHtb6+vtquXbumv/b+++/Xent7a08//XQBFSbDlWWBXnnlFV199dXq7++f/tqXvvQlTU5O6uDBgwVWVl4PP/ywFi1apFWrVunBBx/kJesmzp07p4MHD2rt2rUzvr527Vq9/PLLBVVVLcePH1d/f7+uuuoqrV+/Xr/4xS+KLqmSTpw4odHR0Rm/i93d3brlllsq9btY+U8dqbLR0VEtWbJkxtcWLlyoefPmaXR0tKCqyuvb3/62Pve5z2nhwoX6t3/7N23btk0nTpzQ8PBw0aWVzjvvvKMLFy7M+f1asmQJv1sGN9xwg/bs2aNf//Vf13//93/rgQce0E033aQjR45o0aJFRZdXKdHvW6PfxTfffLOIkhLhytKp0Rv/sx+vvvqqeX+NPoOzVquV8rM58+A5nnfffbduueUWXXvttdqyZYuefvpp7d69W6dPny74pyiv2b9HnfS7lcatt96q3//939c111yj3/3d39U//dM/SZJ++MMfFlxZdVX9d5ErS6etW7dq/fr1sdssW7bMtK++vj79/Oc/n/G1sbExnT9/fs5fYe0qzfG88cYbJUlvvPEGf+3PsnjxYn3sYx+bcxX59ttvd8zvVpbmz5+va665RsePHy+6lMqJ7iIeHR3VFVdcMf31qv0u0iydFi9erMWLF2eyrzVr1ujBBx/UqVOnpn+JXnjhBXV3d2v16tWZfI+yS3M8X3vtNUmacQJiyrx587R69Wrt27dPX/3qV6e/vm/fPn3lK18psLJqmpyc1NGjR3XzzTcXXUrlXHXVVerr69O+ffv0m7/5m5Km3lN/6aWX9PDDDxdcnR3NMkcnT57Uu+++q5MnT+rChQs6dOiQJOkzn/mMFixYoLVr1+qzn/2s7rjjDj366KN69913dc899+jOO+8s7aeKF+WVV17Rz372M/3O7/yOent7deDAAd1999368pe/rKVLlxZdXil95zvf0R133KHf+q3f0po1a/S9731PJ0+e1De+8Y2iSyu9e+65R+vWrdPSpUv19ttv64EHHtDExIQ2bdpUdGmldObMGb3xxhvT/3/ixAkdOnRIl19+uZYuXaq77rpLDz30kJYvX67ly5froYce0iWXXKKvf/3rBVbtVPDduG1t06ZNNUlzHi+++OL0Nm+++Wbttttuq1188cW1yy+/vLZ169ba+++/X1zRJXXw4MHaDTfcUOvt7a194hOfqP3Gb/xGbfv27bWzZ88WXVqp/e3f/m3tyiuvrM2bN6/2uc99rvbSSy8VXVIl/MEf/EHtiiuuqH384x+v9ff3137v936vduTIkaLLKq0XX3yx4Vy3adOmWq02tXxk+/bttb6+vlp3d3dtaGio9vrrrxdbtBOfZwkAQAB3wwIAEECzBAAggGYJAEAAzRIAgACaJQAAATRLAAACaJYAAATQLAEACKBZAgAQQLMEACCAZgkAQMD/B0ScBPcBNNW1AAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 516.129x519.481 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"assembly_cell.fill = lat\n",
"\n",
"u_root.add_cells([assembly_cell, reflect_cell, top_reflect_cell, bot_reflect_cell])\n",
"geom=openmc.Geometry(u_root)\n",
"geom.export_to_xml()\n",
"\n",
"u_root.plot(origin=(0,0,0),width=(25,25),color_by='material',colors={water:'blue'},pixels=[400,400])"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
},
"id": "j7GDiLQtBY1m",
"outputId": "0e5753e6-eeda-43d1-c137-12d17b1b8c67"
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fe37f341050>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 258.065x259.74 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"u_root.plot(basis='yz',origin=(0,0,0),width=(50,50),color_by='material',colors={water:'blue'},pixels=[200,200])"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"id": "EzaW9J5l8vRP"
},
"outputs": [],
"source": [
"# OpenMC simulation parameters\n",
"\n",
"batches = 100\n",
"inactive = 10\n",
"particles = 5000\n",
"\n",
"settings = openmc.Settings()\n",
"settings.batches = batches\n",
"settings.inactive = inactive\n",
"settings.particles = particles\n",
"\n",
"uniform_dist = openmc.stats.Box([-24,-24,-75],[24,24,75],only_fissionable=True)\n",
"settings.source = openmc.source.IndependentSource(space=uniform_dist)\n",
"\n",
"settings.export_to_xml()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "mzhyBvEOaiR8",
"outputId": "bb783e58-6ac3-4193-e64a-818bf9c0fa6d",
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" %%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
" %%%%%%%%%%%%%%%%%%%%%%%%\n",
" ############### %%%%%%%%%%%%%%%%%%%%%%%%\n",
" ################## %%%%%%%%%%%%%%%%%%%%%%%\n",
" ################### %%%%%%%%%%%%%%%%%%%%%%%\n",
" #################### %%%%%%%%%%%%%%%%%%%%%%\n",
" ##################### %%%%%%%%%%%%%%%%%%%%%\n",
" ###################### %%%%%%%%%%%%%%%%%%%%\n",
" ####################### %%%%%%%%%%%%%%%%%%\n",
" ####################### %%%%%%%%%%%%%%%%%\n",
" ###################### %%%%%%%%%%%%%%%%%\n",
" #################### %%%%%%%%%%%%%%%%%\n",
" ################# %%%%%%%%%%%%%%%%%\n",
" ############### %%%%%%%%%%%%%%%%\n",
" ############ %%%%%%%%%%%%%%%\n",
" ######## %%%%%%%%%%%%%%\n",
" %%%%%%%%%%%\n",
"\n",
" | The OpenMC Monte Carlo Code\n",
" Copyright | 2011-2023 MIT, UChicago Argonne LLC, and contributors\n",
" License | https://docs.openmc.org/en/latest/license.html\n",
" Version | 0.13.3\n",
" Git SHA1 | 50e39a4e20dc9e0f3d7ccf07333f6a5e6c797c8c\n",
" Date/Time | 2023-10-26 23:55:50\n",
" OpenMP Threads | 8\n",
"\n",
" Reading settings XML file...\n",
" Reading cross sections XML file...\n",
" Reading materials XML file...\n",
" Reading geometry XML file...\n",
" Reading U234 from /opt/xdata/endfb-vii.1-hdf5/neutron/U234.h5\n",
" Reading U235 from /opt/xdata/endfb-vii.1-hdf5/neutron/U235.h5\n",
" Reading U238 from /opt/xdata/endfb-vii.1-hdf5/neutron/U238.h5\n",
" Reading U236 from /opt/xdata/endfb-vii.1-hdf5/neutron/U236.h5\n",
" Reading O16 from /opt/xdata/endfb-vii.1-hdf5/neutron/O16.h5\n",
" Reading O17 from /opt/xdata/endfb-vii.1-hdf5/neutron/O17.h5\n",
" Reading H1 from /opt/xdata/endfb-vii.1-hdf5/neutron/H1.h5\n",
" Reading He3 from /opt/xdata/endfb-vii.1-hdf5/neutron/He3.h5\n",
" Reading He4 from /opt/xdata/endfb-vii.1-hdf5/neutron/He4.h5\n",
" Reading Be9 from /opt/xdata/endfb-vii.1-hdf5/neutron/Be9.h5\n",
" Reading Nb93 from /opt/xdata/endfb-vii.1-hdf5/neutron/Nb93.h5\n",
" Reading Zr90 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr90.h5\n",
" Reading Zr91 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr91.h5\n",
" Reading Zr92 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr92.h5\n",
" Reading Zr94 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr94.h5\n",
" Reading Zr96 from /opt/xdata/endfb-vii.1-hdf5/neutron/Zr96.h5\n",
" Reading Gd152 from /opt/xdata/endfb-vii.1-hdf5/neutron/Gd152.h5\n",
" Reading Gd154 from /opt/xdata/endfb-vii.1-hdf5/neutron/Gd154.h5\n",
" Reading Gd155 from /opt/xdata/endfb-vii.1-hdf5/neutron/Gd155.h5\n",
" Reading Gd156 from /opt/xdata/endfb-vii.1-hdf5/neutron/Gd156.h5\n",
" Reading Gd157 from /opt/xdata/endfb-vii.1-hdf5/neutron/Gd157.h5\n",
" Reading Gd158 from /opt/xdata/endfb-vii.1-hdf5/neutron/Gd158.h5\n",
" Reading Gd160 from /opt/xdata/endfb-vii.1-hdf5/neutron/Gd160.h5\n",
" Reading c_H_in_H2O from /opt/xdata/endfb-vii.1-hdf5/neutron/c_H_in_H2O.h5\n",
" Minimum neutron data temperature: 294 K\n",
" Maximum neutron data temperature: 294 K\n",
" Preparing distributed cell instances...\n",
" Reading plot XML file...\n",
" Writing summary.h5 file...\n",
" Maximum neutron transport energy: 20000000 eV for U235\n",
" Initializing source particles...\n",
"\n",
" ====================> K EIGENVALUE SIMULATION <====================\n",
"\n",
" Bat./Gen. k Average k\n",
" ========= ======== ====================\n",
" 1/1 0.35173\n",
" 2/1 0.36502\n",
" 3/1 0.35491\n",
" 4/1 0.34318\n",
" 5/1 0.35631\n",
" 6/1 0.35746\n",
" 7/1 0.37786\n",
" 8/1 0.36374\n",
" 9/1 0.36288\n",
" 10/1 0.34724\n",
" 11/1 0.37842\n",
" 12/1 0.35686 0.36764 +/- 0.01078\n",
" 13/1 0.36586 0.36705 +/- 0.00625\n",
" 14/1 0.38163 0.37069 +/- 0.00573\n",
" 15/1 0.36379 0.36931 +/- 0.00465\n",
" 16/1 0.34746 0.36567 +/- 0.00526\n",
" 17/1 0.35918 0.36474 +/- 0.00454\n",
" 18/1 0.35803 0.36390 +/- 0.00402\n",
" 19/1 0.36753 0.36431 +/- 0.00357\n",
" 20/1 0.35781 0.36366 +/- 0.00326\n",
" 21/1 0.36606 0.36388 +/- 0.00296\n",
" 22/1 0.36306 0.36381 +/- 0.00270\n",
" 23/1 0.36629 0.36400 +/- 0.00249\n",
" 24/1 0.35725 0.36352 +/- 0.00235\n",
" 25/1 0.37796 0.36448 +/- 0.00239\n",
" 26/1 0.36084 0.36425 +/- 0.00225\n",
" 27/1 0.37946 0.36515 +/- 0.00230\n",
" 28/1 0.34939 0.36427 +/- 0.00234\n",
" 29/1 0.36121 0.36411 +/- 0.00221\n",
" 30/1 0.35101 0.36346 +/- 0.00220\n",
" 31/1 0.37968 0.36423 +/- 0.00223\n",
" 32/1 0.35858 0.36397 +/- 0.00214\n",
" 33/1 0.35719 0.36368 +/- 0.00207\n",
" 34/1 0.34793 0.36302 +/- 0.00209\n",
" 35/1 0.37562 0.36352 +/- 0.00206\n",
" 36/1 0.36099 0.36343 +/- 0.00199\n",
" 37/1 0.36407 0.36345 +/- 0.00191\n",
" 38/1 0.35250 0.36306 +/- 0.00188\n",
" 39/1 0.35385 0.36274 +/- 0.00184\n",
" 40/1 0.35097 0.36235 +/- 0.00182\n",
" 41/1 0.37230 0.36267 +/- 0.00179\n",
" 42/1 0.37930 0.36319 +/- 0.00181\n",
" 43/1 0.37832 0.36365 +/- 0.00182\n",
" 44/1 0.38054 0.36415 +/- 0.00183\n",
" 45/1 0.33760 0.36339 +/- 0.00193\n",
" 46/1 0.37621 0.36374 +/- 0.00191\n",
" 47/1 0.34406 0.36321 +/- 0.00193\n",
" 48/1 0.37653 0.36356 +/- 0.00191\n",
" 49/1 0.36760 0.36366 +/- 0.00187\n",
" 50/1 0.34601 0.36322 +/- 0.00187\n",
" 51/1 0.35455 0.36301 +/- 0.00184\n",
" 52/1 0.36030 0.36295 +/- 0.00180\n",
" 53/1 0.38191 0.36339 +/- 0.00181\n",
" 54/1 0.37583 0.36367 +/- 0.00179\n",
" 55/1 0.36366 0.36367 +/- 0.00175\n",
" 56/1 0.36773 0.36376 +/- 0.00171\n",
" 57/1 0.36002 0.36368 +/- 0.00168\n",
" 58/1 0.36918 0.36379 +/- 0.00165\n",
" 59/1 0.37454 0.36401 +/- 0.00163\n",
" 60/1 0.35955 0.36392 +/- 0.00160\n",
" 61/1 0.36032 0.36385 +/- 0.00157\n",
" 62/1 0.37326 0.36403 +/- 0.00155\n",
" 63/1 0.33858 0.36355 +/- 0.00159\n",
" 64/1 0.36131 0.36351 +/- 0.00156\n",
" 65/1 0.37634 0.36375 +/- 0.00155\n",
" 66/1 0.37050 0.36387 +/- 0.00153\n",
" 67/1 0.37217 0.36401 +/- 0.00151\n",
" 68/1 0.39157 0.36449 +/- 0.00156\n",
" 69/1 0.34974 0.36424 +/- 0.00155\n",
" 70/1 0.35284 0.36405 +/- 0.00154\n",
" 71/1 0.37423 0.36421 +/- 0.00152\n",
" 72/1 0.35912 0.36413 +/- 0.00150\n",
" 73/1 0.35826 0.36404 +/- 0.00148\n",
" 74/1 0.36163 0.36400 +/- 0.00145\n",
" 75/1 0.36171 0.36397 +/- 0.00143\n",
" 76/1 0.37486 0.36413 +/- 0.00142\n",
" 77/1 0.36262 0.36411 +/- 0.00140\n",
" 78/1 0.35207 0.36393 +/- 0.00139\n",
" 79/1 0.36796 0.36399 +/- 0.00137\n",
" 80/1 0.36640 0.36402 +/- 0.00135\n",
" 81/1 0.35683 0.36392 +/- 0.00133\n",
" 82/1 0.38391 0.36420 +/- 0.00135\n",
" 83/1 0.37263 0.36432 +/- 0.00133\n",
" 84/1 0.36042 0.36426 +/- 0.00131\n",
" 85/1 0.36007 0.36421 +/- 0.00130\n",
" 86/1 0.35953 0.36415 +/- 0.00128\n",
" 87/1 0.34086 0.36384 +/- 0.00130\n",
" 88/1 0.35357 0.36371 +/- 0.00129\n",
" 89/1 0.35365 0.36358 +/- 0.00128\n",
" 90/1 0.35128 0.36343 +/- 0.00127\n",
" 91/1 0.36983 0.36351 +/- 0.00126\n",
" 92/1 0.36536 0.36353 +/- 0.00125\n",
" 93/1 0.35105 0.36338 +/- 0.00124\n",
" 94/1 0.35824 0.36332 +/- 0.00123\n",
" 95/1 0.34845 0.36315 +/- 0.00122\n",
" 96/1 0.36683 0.36319 +/- 0.00121\n",
" 97/1 0.38060 0.36339 +/- 0.00121\n",
" 98/1 0.36506 0.36341 +/- 0.00120\n",
" 99/1 0.36553 0.36343 +/- 0.00119\n",
" 100/1 0.36756 0.36348 +/- 0.00117\n",
" Creating state point statepoint.100.h5...\n",
"\n",
" =======================> TIMING STATISTICS <=======================\n",
"\n",
" Total time for initialization = 4.5971e+00 seconds\n",
" Reading cross sections = 4.5592e+00 seconds\n",
" Total time in simulation = 1.3315e+01 seconds\n",
" Time in transport only = 1.3242e+01 seconds\n",
" Time in inactive batches = 1.2438e+00 seconds\n",
" Time in active batches = 1.2071e+01 seconds\n",
" Time synchronizing fission bank = 4.0056e-02 seconds\n",
" Sampling source sites = 3.5185e-02 seconds\n",
" SEND/RECV source sites = 4.6822e-03 seconds\n",
" Time accumulating tallies = 9.8531e-05 seconds\n",
" Time writing statepoints = 4.2827e-03 seconds\n",
" Total time for finalization = 1.0640e-06 seconds\n",
" Total time elapsed = 1.7949e+01 seconds\n",
" Calculation Rate (inactive) = 40200.5 particles/second\n",
" Calculation Rate (active) = 37278 particles/second\n",
"\n",
" ============================> RESULTS <============================\n",
"\n",
" k-effective (Collision) = 0.36292 +/- 0.00119\n",
" k-effective (Track-length) = 0.36348 +/- 0.00117\n",
" k-effective (Absorption) = 0.36355 +/- 0.00123\n",
" Combined k-effective = 0.36348 +/- 0.00105\n",
" Leakage Fraction = 0.27374 +/- 0.00060\n",
"\n"
]
}
],
"source": [
"openmc.run()"
]
}
],
"metadata": {
"colab": {
"name": "VVER.ipynb",
"provenance": []
},
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
}