Non-repeatable meshes for Delaunay or HXT when number of threads is set higher then 1
I believe this issue is related to #2255 (closed) According to one of the responses on the original issue, the HXT algorithm is supposed to be repeatable if the number of threads is fixed. However, this is not the case in the current version of gmsh or in the development snapshot. I also found that Delaunay algorithm also does not produce repeatable results. The only repeatable results are produced when number of meshes is 1.
Please see the details below obtained by running the attached Python script, which checks repeatability for different versions of gmsh:check_repeatability.py
Gmsh version: 4.11.1
Algorithm 1. Number of threads = 1. Repeatable? -> True
Algorithm 1. Number of threads = 2. Repeatable? -> False
Algorithm 1. Number of threads = 4. Repeatable? -> False
Algorithm 1. Number of threads = 8. Repeatable? -> False
Algorithm 10. Number of threads = 1. Repeatable? -> False
Algorithm 10. Number of threads = 2. Repeatable? -> False
Algorithm 10. Number of threads = 4. Repeatable? -> False
Algorithm 10. Number of threads = 8. Repeatable? -> False
Gmsh version: 4.12.0
Algorithm 1. Number of threads = 1. Repeatable? -> True
Algorithm 1. Number of threads = 2. Repeatable? -> False
Algorithm 1. Number of threads = 4. Repeatable? -> False
Algorithm 1. Number of threads = 8. Repeatable? -> False
Algorithm 10. Number of threads = 1. Repeatable? -> True
Algorithm 10. Number of threads = 2. Repeatable? -> False
Algorithm 10. Number of threads = 4. Repeatable? -> False
Algorithm 10. Number of threads = 8. Repeatable? -> False
Gmsh version: 4.12.2
Algorithm 1. Number of threads = 1. Repeatable? -> True
Algorithm 1. Number of threads = 2. Repeatable? -> False
Algorithm 1. Number of threads = 4. Repeatable? -> False
Algorithm 1. Number of threads = 8. Repeatable? -> False
Algorithm 10. Number of threads = 1. Repeatable? -> True
Algorithm 10. Number of threads = 2. Repeatable? -> False
Algorithm 10. Number of threads = 4. Repeatable? -> False
Algorithm 10. Number of threads = 8. Repeatable? -> False
Gmsh version: 4.13.0
Algorithm 1. Number of threads = 1. Repeatable? -> True
Algorithm 1. Number of threads = 2. Repeatable? -> False
Algorithm 1. Number of threads = 4. Repeatable? -> False
Algorithm 1. Number of threads = 8. Repeatable? -> False
Algorithm 10. Number of threads = 1. Repeatable? -> True
Algorithm 10. Number of threads = 2. Repeatable? -> False
Algorithm 10. Number of threads = 4. Repeatable? -> False
Algorithm 10. Number of threads = 8. Repeatable? -> False
The versions were switched via pip install gmsh==version
or pip install -i https://gmsh.info/python-packages-dev --force-reinstall --no-cache-dir gmsh
Many thanks!