diff --git a/presentations/crpg_2011-10-06/annulus.tex b/presentations/crpg_2011-10-06/annulus.tex new file mode 100644 index 0000000000..dc603ec3c2 --- /dev/null +++ b/presentations/crpg_2011-10-06/annulus.tex @@ -0,0 +1,13 @@ +\begin{figure} +\begin{center} +\begin{tikzpicture} +[ + transform canvas = {scale=1.0}, +] + +\fill[mitred] (0,0) circle (1cm); +\fill[white] (0,0) circle (0.50cm); + +\end{tikzpicture} +\end{center} +\end{figure} diff --git a/presentations/crpg_2011-10-06/graphical_settings.tex b/presentations/crpg_2011-10-06/graphical_settings.tex index c23eb98f8e..3cd943c5fa 100644 --- a/presentations/crpg_2011-10-06/graphical_settings.tex +++ b/presentations/crpg_2011-10-06/graphical_settings.tex @@ -12,7 +12,7 @@ [ draw, rectangle, - fill = blue!20, + fill = blue!50, minimum height = 2em, minimum width = 2em, ] @@ -21,7 +21,7 @@ [ draw, rectangle, - fill = green!20, + fill = green!75, minimum height = 2em, minimum width = 2em, ] diff --git a/presentations/crpg_2011-10-06/slides.tex b/presentations/crpg_2011-10-06/slides.tex index 3be7a8daf5..aa46a38931 100644 --- a/presentations/crpg_2011-10-06/slides.tex +++ b/presentations/crpg_2011-10-06/slides.tex @@ -17,7 +17,7 @@ \title{The OpenMC Monte Carlo Code} \author{Paul K. Romano} -\date{September 30, 2011} +\date{October 6, 2011} \pgfdeclareimage[height=0.5cm]{mit-logo}{mit-logo.pdf} \logo{\pgfuseimage{mit-logo}\hspace*{0.3cm}} @@ -72,16 +72,46 @@ \end{itemize} \end{frame} +\begin{frame}{Monte Carlo} + Rather than solving the transport equation by discretizing the spatial, + energy, and angular variables, Monte Carlo solves the transport equation by + following individual particles as they move stochastically through a medium. + \begin{itemize} + \item<1-> Standard deviation $\propto \frac{1}{\sqrt{N}}$ + \end{itemize} +\end{frame} + % ----------------------------------------------------------------------------- \section{Methods and Theory} +\begin{frame}{Solution Algorithm} + \begin{itemize} + \item<1-> Loop over particles + \begin{enumerate} + \item<1-> Sample particle from distribution + \item<1-> Track particle to next collision + \item<1-> Sample nuclide within material + \item<1-> Sample reaction within nuclide + \item<1-> Repeat from step 2 until particle dies + \end{enumerate} + \end{itemize} + + While particle is being tracked, keep track of collision rate, fission rate, + etc. + \begin{equation*} + \phi = \frac{1}{NV} \sum\limits_{\text{all collisions} \atop \text{in cell}} \frac{w_i}{\Sigma_t (E_i)} + \end{equation*} + +\end{frame} + \begin{frame}{Geometry} \begin{itemize} \item<1-> All geometry is described as constructive solid geometry (unions and intersections of second-order surfaces) + \item<1-> $Ax^2 + By^2 + Cz^2 + Dxy + Eyz + Fxz + Gx + Hy + Iz + J = 0$ \item<1-> e.g. to construct an annulus \end{itemize} - % Picture of annulus + \include{annulus} \end{frame} \begin{frame}{Cross-Sections} @@ -100,13 +130,22 @@ \begin{frame}{Union Energy Grid} \begin{itemize} \item<1-> Each nuclide has cross-sections tabulated at different energy points - \item<1-> To determine collision type, need $\Sigma$ for each collision + \item<1-> To determine collision type, need to look up microscopic reaction + cross sections \end{itemize} \include{union_energy_grid} - \end{frame} -\begin{frame}{Tallies} +\begin{frame}{Tallies}{} + {\bf Remember:} In Monte Carlo, the only answer you get is the one you ask + for. In general, you don't get the global solution like you do in + deterministic land. + \begin{itemize} + \item<1-> Implemented a robust tally system to calculate user-specified + quantities of interest + \item<1-> {\bf Filters:} Spatial location, incoming/outgoing energy, birth region, mesh + \item<1-> {\bf Responses:} Flux, reaction rates, currents, etc. + \end{itemize} \end{frame} \begin{frame}{Parallel Fission Bank} @@ -119,6 +158,13 @@ \end{frame} \begin{frame}{XML Input Format} + Unlike many nuclear codes, OpenMC uses a modular XML input format + \begin{itemize} + \item<1-> Building a geometric model -- {\bf geometry.xml} + \item<1-> Assigning materials to volumes -- {\bf materials.xml} + \item<1-> Setting parameters for the simulation -- {\bf settings.xml} + \item<1-> Determining which quantities to score -- {\bf tallies.xml} + \end{itemize} \end{frame} \begin{frame}{Running} diff --git a/presentations/crpg_2011-10-06/union_energy_grid.tex b/presentations/crpg_2011-10-06/union_energy_grid.tex index 64ea845c83..171040b68f 100644 --- a/presentations/crpg_2011-10-06/union_energy_grid.tex +++ b/presentations/crpg_2011-10-06/union_energy_grid.tex @@ -7,7 +7,10 @@ yshift = 1.0cm ] - \node (LabelOne) [sTextBlockStyle] {Union Energy Grid}; + \node (LabelOne) [sTextBlockStyle] {Union Energy Grid}; + \node (LabelTwo) [sTextBlockStyle, below of = LabelOne, node distance = 1.5cm] {Nuclide Pointers}; + \node (LabelThree) [sTextBlockStyle, below of = LabelTwo, node distance = 1.5cm] {Nuclide Energy Grid}; + \node (EOne) [RectBlue, right of = LabelOne, node distance = 3cm] {$E_1$}; \node (ETwo) [RectBlue, right of = EOne] {$E_2$}; \node (EThree) [RectBlue, right of = ETwo] {$E_3$}; @@ -39,6 +42,9 @@ \draw [-triangle 45, thick] (ESeven) -- (PSeven); \draw [-triangle 45, thick] (EEight) -- (PEight); + \draw [dashed] (-2,-0.70) -- (10.5,-0.70); + \draw [dashed] (-2,-2.20) -- (10.5,-2.20); + \end{tikzpicture} \end{center} \end{figure}