See also the following resources:

Technical documents

On the evaluation of thermal expansion coefficients

A potential issue with thermal expansion calculations in a privative commercial finite-element code was raised by Ramsay Maunder & Associates when employing material data from an ASME report. This technical note revisits the problem of thermal expansion coefficients and performs some mathematical operations on the ASME data to further investigate the potential issue. The open source tool wasora was used to numerically analyze the data and the relationships between different variables, illustrating how simple this task can be when employing the UNIX philosophy for carrying out engineering endeavors.

The issue was originally raised in the following URL: http://www.ramsay-maunder.co.uk/knowledge-base/technical-notes/asmeansys-potential-issue-with-thermal-expansion-calculations/

Evaluation of partial derivatives of pointwise node-based data over unstructured grids

This brief note introduces a proposal to obtain the nodal values P_j of a partial derivative of a pointwise node-centered scalar field such as displacements u_j or temperatures T_j obtained with the finite-element method. We require that the nodal values of the derivative P_j interpolated with the shape functions h_j(\vec{x}) give the same internal product against each of the shape functions h_j(\vec{x}) than the derivative of the original field (say \partial h/\partial x) computed by using the derivative of the shape functions, say \partial h_j/\partial x. This requirement involves the mass matrix M, which we diagonalize to reduce the computational effort needed to obtain the nodal values P_j. We show a snippet of computational code as implemented in Seamplex’ Fino.

On the design basis of a new core-level neutronic code written from scratch

In the study, analysis and design of nuclear reactors there exist a wide variety of mathematical models that describe the different phenomena that take place in a nuclear facility. As in many other engineering fields, the corresponding equations are rather complex and require a considerable amount of both user expertise and computational effort to be successfully solved. Traditionally, there appeared some computer codes that specialized in solving a certain aspect of fission nuclear reactors such as neutronic codes, thermal-hydraulic codes, control system codes, plant codes, etc. Moreover, each discipline may be taxonomically split into further particular categories. For example neutronic codes may be aimed at lattice-level or core-level calculations, may use transport or diffusion formulations, etc. Since the dawn of the nuclear industry, a variety of codes have populated the universe of available tools we nuclear engineers have available to study, analyze and design nuclear reactors. In this article, the lessons learned in both the academia and in the nuclear industry during some years of experience are taken into consideration when defining the design basis of a new core-level neutronic code written from scratch, namely the free nuclear reactor core analysis code milonga. Some of the paradigm shifts both the hardware and software industries have had during the last years are considered into the way a modern engineering computer code should behave. The discussion includes the kind of problems that should be solved and the way the inputs are read and outputs are written. Also, implementation-related design decisions such as formats, languages and architectures are discussed. Illustrative problems are solved using the proposed project to serve as examples of desired features in modern and useful nuclear engineering codes.

Description of the computational tool wasora

Wasora is a free computational tool designed to aid cognizant experts to analyze complex systems by solving mathematical problems by means of a high-level plain-text input file containing a syntactically-sweetened description of definitions and instructions. Some of its main features are:

  • evaluation of algebraic expressions
  • one and multi-dimensional function interpolation
  • scalar, vector and matrix operations
  • numerical integration, differentiation and root finding of functions
  • possibility to solve iterative and/or time-dependent problems
  • adaptive integration of systems of differential-algebraic equations
  • I/O from files and shared-memory objects (with optional synchronization using semaphores)
  • execution of arbitrary code provided as shared object files
  • parametric runs using quasi-random sequence numbers to efficiently sweep a sub-space of parameter space
  • solution of systems of non-linear algebraic equations
  • non-linear fit of scattered data to one or multidimensional functions
  • non-linear multidimensional optimization
  • management of unstructured grids
  • complex extensions by means of plugins

Besides solving general math problems usually associated with engineering analysis, the code is designed in such a way that particular (and potentialy complex) computations may be implemented as plugins (such as computations based on the finite element method or dedicated neutronic codes) that run over the framework, taking advantage of all the common background wasora provides. This technical document introduces the code and describes its main features by walking through the rationale behind its design and the types of problems that are suitable to be tackled with wasora.



Three single-part linear elastic benchmark problems

A benchmark of three single-part mechanical analyses solved with CAEplex using the free and open source tools Gmsh and Fino as the back-ends against a the commercial closed-source code. As the license renders this software privative, only results can be compared as output by a black-box. Even more, experts say that this “reference”software cannot export point-wise numerical data so only maximum scalar values can be compared instead of the full dependence on x, y and z of the unknowns. The comparison was made trying to keep the same number of nodes in the two codes similar while meshing the 3D CAD models with second-order tetrahedral elements.

Parallelepiped whose Young’s modulus is a function of the temperature

A benchmark thermal-mechanical problem that has an analytical solution was solved using fino. Even though the original problem is defined over a simple parallelepiped, this reports uses a fully unstructured grid to validate the code using arbitrary jacobians and not just structured hexahedra. The way fino handles dependence of parameters on space, in this case through intermediate distributions such as the temperature, is illustrated by the simplicity of the input files used to solve both the thermal and the mechanical problems. The comparison between the numerical and the analytical solutions are within the order of 10^{-6} even for coarse grids.

Thermo-elastic expansion of finite cylinders

The problem of the thermal expansion of a cylinder under a know temperature distribution (given as an algebraic expression of x, y and z) is solved with the free and open source tool fino using a finite-element formulation and the results are compared to those reported by Veeder in 1967 using a power series approach. The original problem was posed to study deformations and stresses on the uranium pellets located inside nuclear reactor fuel elements under heavy temperature gradients, which continues to be an interesting problem even nowadays. Not only does this report solve again the problem and compare the results with the original ones, but it also illustrates how the fino back-end works and what its distinctive features are.


One and two dimensional diffusion kinetics benchmarks

Benchmark ANL-7416-11A2

Benchmark ANL-7416-15A1

Benchmark ANL-7416-15A2


Open Software One-Step Coupled Neutronics and CFD Thermalhydraulics Calculation

A one-step coupled neutronic and CFD thermal-hydraulic methodology is presented. The contribution proposed goes toward the use of the computational fluid dynamics (CFD) software OpenFOAM and the flexible reactor core analysis code milonga to perform coupled calculations for advanced nuclear reactor analysis. The developed methodology was applied to simulate a fuel pin from CDTN’sTRIGA-IPR-R1 reactor and asses its behavior in steady-state mode for different power levels. A set of two-group macroscopic cross-sections data was generated using WIMSD-5B code for different expected temperatures. The results show that this coupled system gives consistent results, encouraging system further development and its use for full core simulation.


Neutron diffusion on unstructured grids: comparison between finite volumes and finite elements

The main objective of this monograph is to numerically solve a mathematical equation that eventually can have applications of interest—both in the academia and in the industry—to analyze, study and optimize nuclear reactors. In order to do that, we have developed a computational code named milonga which is freely distributed under the terms of the GNU General Public License. In this work, we first introduce two numerical schemes to solve the multigroup neutron diffusion equation over an unstructured mesh—one based on the finite volumes method and the other one based on the finite element method. Then we solve some simple—and others no to simple—using both schemes and we compare the obtained results. We introduce first the basic mathematical concepts related to the multigroup neutron diffusion equation and the we develop the ideas of both numerical schemes, which are the ones that are programmed in the current version of the milonga, used to solve the problems hereby discussed. The cases are presented in increasing order of complexity, paying special attention to the comparison between finite volumes and finite elements.

Non-linear analysis of instabilities in the coupled thermalhydraulic-neutronic problem

The analysis of the role that the mutual effects of the thermal hydraulic and the neutronic aspects play in the dynamic behaviour of a nuclear reactor is the central problem of its engineering design. Particularly, stability studies are key issues, especially during conceptual stages. In this work we propose a general non-linear stability analysis method based on the computation of the fractal dimension of the orbits followed by a dynamical system in phase space, and we develop and further study two mathematical models for different nuclear power reactor designs. We start by showing how the proposed method works applying it to the well known chaotic Lorenz system. Then, on the one hand, we investigate the physical origin of the thermal hydraulic instabilities in both single and two-phase flow, and that of the neutronic dynamics on the other hand. Finally, we couple the thermal hydraulic and the neutronic problem developing two dynamical systems that model the behaviour of an integrated natural circulation reactor and a parallel vertical channel reactor. In each case, we construct stability maps in parameter space, paying special attention to the main design variables and identifying those that contribute most to rendering the system unstable.

Fuzzy logic based controllers and chaotic natural convection loops

The study of natural circulation loops is a subject of special concern for the engineering design of advanced nuclear reactors, as natural convection provides an efficient and completely passive heat removal system. However, under certain circumstances thermal-fluid-dynamical instabilities may appear, threatening the reactor safety as a whole. On the other hand, fuzzy logic controllers provide an ideal framework to approach highly non-linear control problems. In the present work, we develop a software-based fuzzy logic controller and study its application to chaotic natural convection loops. We numerically analyse the linguistic control of the loop known as the Welander problem in such conditions that, if the controller were not present, the circulation flow would be non-periodic unstable. We also design a Takagi-Sugeno fuzzy controller based on a fuzzy model of a natural convection loop with a toroidal geometry, in order to stabilize a Lorenz-chaotic behaviour. Finally, we show experimental results obtained in a rectangular natural circulation loop.