Thin & Ultra-Thin Lightweight Mirrors - thin mirror
We can definitely use GridapEmbedded.jl for that purpose. Currently, RayTracing.jl uses GridapGmsh.jl, but it can be extended for sure.
Ray tracing physicspdf
If you can also handle arbitrary geometries (not necessarily defined by a mesh, but also pure geometrical models, e.g. CSG)
At the moment, I am using unstructured meshes using gmsh. However, it would be amazing to have CSGs because that would involve smaller number of computations for the MoC solver. This needs to be the following task to implement!
If you can also handle arbitrary geometries (not necessarily defined by a mesh, but also pure geometrical models, e.g. CSG), I’ve seen other domains where such a form of ray tracing could be useful. One such application that comes to mind is the simulation of industrial non-destructive evaluations with X-rays (but photon transport is arguably not that far from neutron transport…) However, I’d say that the “cyclic” part is pretty much specific to nuclear reactor physics (and not even all reactor geometries can benefit from it!)
Ray tracing physicsbook
Nice! Reminds me of the good ol’ days when I was working on the solution of the neutron transport equation using the Method of Characteristics during my PhD… in Fortran
Ray tracingpaper
Judging by the example given in the README, I’d guess you’re targetting assembly calculations? Are you also interested in whole-core simulations?
yes, Fortran is still being used in most of the privative software used for reactor physics! Also in some huge open source projects, such as DRAGON.
Nice! Reminds me of the good ol’ days when I was working on the solution of the neutron transport equation using the Method of Characteristics during my PhD… in Fortran
Ray tracing physicsOptics
It would involve implementing the ray tracing algorithm over such geometries in RayTracing.jl. Once we have this, the solver in NeutronTransport.jl will work out of the box.
I have just released the RayTracing.jl package, which computes cyclic ray tracing across any unstructured mesh in a rectangular domain. Its results are commonly used in Nuclear Reactor Physics, such as in the Collision Probability Method or the Method of Characteristics for solving the Neutron Transport equation. However, this information might be useful for some other subjects I am not familiar with.
Looking at the kit, it is well organized and seems like a great all in one case. The biggest problem is this. That many of the allen wrenches are off in the sizing. Either a tad to big or just too small making the screws strip out. Making the tool themselves not helpful for their intended purpose. id look else were for a better set with quality control.
Ray tracingoptics simulation
Ray tracing physicssimulation
The example in the README, for the purpose of simplicity, is the most basic case, which is a 2D square pin cell. However, the ray tracing algorithm can be applied to any big or small geometry, it is pretty fast. The only limitation is the rectangular domain needed for cyclic paths.
Judging by the example given in the README, I’d guess you’re targetting assembly calculations? Are you also interested in whole-core simulations?
I have been working in NeutronTransport.jl for a couple of days now and I have already concluded the first version of the Method of Characteristics solver, which works really great. I will add some test cases and examples and make the package announcement in discourse this week.
However, I’d say that the “cyclic” part is pretty much specific to nuclear reactor physics (and not even all reactor geometries can benefit from it!)
Regarding the MoC solver, its first milestone is to solve lattice computations. However, I believe whole cores are also possible. There are some approximations that can be implemented for such purpose. For example, the Coarse Mesh Finite Difference Acceleration. We will have to code that!
The following step will be the implementation of the Method of Characteristics. I will be working on that for the next days and anyone is invited to participate.
A simple and comprehensive example can be found in the README.md. I will add more examples and documentation the next couple of days.