Nuclear Reactor Physics package


I have been learning Julia for a while now and I would like to start contributing (not by only raising issues as I have been doing). I have experience in nuclear reactor physics so I would like to write a package that go in line with that subject. I have not been able to find a package that solves the neutron transport equation. Is that correct or anyone knows about a package of that kind?

Particularly, I would like to implement the Method of Characteristics. A similar library from the Computational Reactor Physics Group at MIT is OpenMoC, which is in C++ and Python.

I have already implemented this method in C, here.

Of course I would need some dependencies such as: read a GMSH mesh using Julia. Does any one knows a package for that? I am aware of MeshIO.jl, but I want to be sure that is the best option.

Please, let me know if there is anyone that would like to work with me or if there is anything already implemented that could be useful!

Thank you!


Sometimes it makes sense to first create a Julia wrapper to a good C++ package before creating a brand new package in pure Julia.


Gridap can read gmsh, if my recollection is sound.

1 Like

Are you thinking 3D + Anisotropic scattering + multigroup in energy + real geometries (ie reactors)? This would be amazing. If you have all that already in your C code, you are more than half way there.

1 Like

milonga, the code I referenced, has implemented both the diffusion approximation and SN (discrete ordinates) in both finite-element and finite-volumes schemes for 1D, 2D and 3D structured and unstructured meshes. It also has the Method of Characteristic (MoC) in 1D and 2D (both structured and unstructured meshes). The problem with 3D for this last method is that the ray tracing algorithm gets really complicated.

I would like to start with the migration of the MoC method first.

1 Like

I know that the NE department at MIT has a few good benchmarks. Please post your results on those when you’re ready.


Hi @PetrKryslUCSD, I would like to thank you for pointing out Gridap.jl, particularly, GridapGmsh.jl. I have used that to start the implementation of RayTracing.jl.