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 hidden or 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