a free nuclear reactor core analysis code
milonga is a free core-level neutronic code that solves the steady-state multigroup neutron transport equation (either using the diffusion approximation or the discrete ordinates SN method) over unstructured grids (although simple structured grids can also be used) using either a finite-volumes or a finite-elements discretization scheme. It works on top of the wasora framework, which provides means to parse and understand a high-level plain-text input file containing algebraic expressions, data for function interpolation, differential equations and output instructions amongst other facilities. Therefore, any mathematical computation which can be done by wasora---i.e. parametric calculations, multidimensional optimization, function interpolation and integration, etc.---can be combined with the facilities that milonga provides to solve the neutron diffusion equation.
Its main features are:
Actually, milonga can be seen as a glue layer between a mesh generator (i.e Gmsh) and a large sparse matrix solver (i.e SLEPc for eigenvalue problems and PETSc for linear problems). That is to say, milonga builds the matrices R and F that cast the multigroup neutron transport/diffusion equation as a matrix-based eigenvalue problem:
Should there be independent neutron sources S, then the problem is casted as a system of linear equations:
These matrices are expected to be sparse, as they are the result of the discretization of the differential diffusion operator using either finite volumes or finite elements, over a certain spatial grid either generated by a mesher or structured defined within the milonga input file. Said matrices are thus built in PETSc format, so they can either be passed to a parallel solver (default is SLEPc, whose algorithms and parameters may be chosen at run-time) or even dumped into files to be opened later. The macroscopic cross-section may depend on the spatial coordinates x, y and/or z (depending on the dimension of the problem) not only because different materials may be assigned to the regions of the domain (i.e. physical entities) but also due to continuous dependence of these cross sections with arbitrary parameter distributions within the entity (i.e. temperatures, densities, poison concentration, etc.). These dependencies can be given either as point-wise interpolated functions or algebraic expressions (that may in turn involve point-wise defined data).
Milonga provides also a second glue layer that links the output of the linear/eigen-solver to the input of a post-processing tool (i.e Gmsh or ParaView). The effective multiplication factor keff is stored as a wasora variable, and the fluxes and power distribution as point-wise defined multidimensional functions, which can then be added, subtracted, integrated, differentiated, etc. Parametric and optimization runs may be also performed.
milonga was designed by a guy who
Last modification: Tue, 13 Jan 2015 19:26:09 -0300.
Sun, 08 Nov 2015 04:08:39 -0500
Does/Can it work for VVER type reactors? I only see rectangular meshes in plots. With best Regards for your great work, RS
Sun, 08 Nov 2015 04:06:12 -0500
Wed, 04 Nov 2015 09:22:15 -0500
Wed, 04 Nov 2015 09:22:14 -0500
Fri, 23 Oct 2015 19:22:17 -0400
Fri, 04 Sep 2015 01:34:02 -0400
Sun, 19 Jul 2015 05:21:13 -0400
Wed, 15 Jul 2015 18:57:24 -0400
Thu, 14 May 2015 22:47:40 -0400
Sat, 25 Apr 2015 21:54:44 -0400
Wed, 15 Apr 2015 08:58:21 -0400
Hi! Does the cygwin version that is available in the download section work for you?
Tue, 14 Apr 2015 09:51:05 -0400
Thank you so much for your kindness and generosity to make this code available to of us free of charge.
Sun, 29 Mar 2015 08:25:23 -0400
THANK YOU VERY MUCH
© jeremy theler 2004—2015