Created
June 7, 2022 11:47
-
-
Save paulromano/574916754aa30393028e26af30809fe3 to your computer and use it in GitHub Desktop.
Demonstration of rotating a parallelepiped
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "6345ddf0", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import openmc" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "f79e1ca1", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"# Create material to add to cell\n", | |
"m1 = openmc.Material()\n", | |
"m1.add_nuclide('U235', 0.01)\n", | |
"\n", | |
"# Create a non-rotated parallelepiped\n", | |
"rpp = openmc.model.RectangularParallelepiped(\n", | |
" 0., 10.,\n", | |
" -5., 5.,\n", | |
" 0., 10.,\n", | |
")\n", | |
"\n", | |
"# Take the interior of the parallelepiped and rotate it 45 degrees about the y axis\n", | |
"rotated_region = (-rpp).rotate((0., -45., 0.))\n", | |
"\n", | |
"# Now create two cells (inside/outside parallelepiped) and put them in a universe\n", | |
"cell1 = openmc.Cell(fill=m1, region=rotated_region)\n", | |
"cell2 = openmc.Cell(region=~rotated_region)\n", | |
"univ = openmc.Universe(cells=[cell1, cell2])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "ca4c94b3", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.image.AxesImage at 0x149aaeca2400>" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 185.806x190.728 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"univ.plot(width=(35, 35), basis='xz')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "ecab2990", | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3 (ipykernel)", | |
"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.9.7" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment