Cylindrical MeshSurfaceFilter not consistent

Hello,

I’m working on shielding applications for fusion energy.

I was playing around with using a MeshSurfaceFilter with a cylindrical mesh when I realised that it wasn’t being consistent. In a MeshSurfaceFilter, the max out-value of one cell (say, x-max out, x=0) should equal the min input-value of the adjacent cell in that direction (say, x-min in, x=1), otherwise one is losing particles across a surface, which shouldn’t happen. This doesn’t seem to be the case when using a cylindrical mesh for the MeshSurfaceFilter. The values are sometime equal, mostly not, but are often in the same order of magnitude.

I’ve seen the results in both more complicated and simplified models. I’ve attached a minimal worked example to demonstrate the issue. I’ve used both a regular and a cylindrical mesh to prove the point; the regular mesh is consistent but the cylindrical is not.

I think this might be a bug, but of course there is the possibility that I am doing something wrong!

Kind regards,

cylindrical_meshsurfacefilter_test.py (2.1 KB)