KyleVaughn / UM2

An unstructured mesh library for automated method of characteristic mesh generation
https://univeristy-of-michigan-unstructured-mesh-code.readthedocs.io/en/main/index.html#
MIT License
7 stars 2 forks source link

Implement half-edge mesh #70

Open KyleVaughn opened 1 year ago

KyleVaughn commented 1 year ago

It is unclear whether a HalfEdgeMesh will be more or less performant than a FaceVertexMesh for neutron transport. We should implement the HalfEdgeMesh and benchmark.

KyleVaughn commented 8 months ago

To determine if there is a potential benefit, we could run a few simulations in MPACT, keeping track of the number of mesh.intersect(Ray) tests and mesh.findFace(Point) tests in UM2. Then, benchmark both functions for FaceVertexMesh and HalfEdgeMesh and perform a bit of arithmetic to determine the projected performance.

Consider the performance on a pin mesh and on a larger mesh, since it is sometimes necessary to simulate a fairly large mesh as a "single pin".