Skip to main content

About this Block

Preface: The Parallel Remesh Surface block is an additional beta block that allows users to run Remesh Surface block on multiple CPU threads. For more information on Remesh Surface, please see the information available here. What it does: The Parallel Remesh Surface block re-meshes an existing surface mesh using parallel processing. The algorithm automatically partitions the input mesh and pre-meshes each partition in parallel.
  • The number of partitions is equal to the Max Thread input. An increase in mesh density may occur along the lines where the partitions are “stitched” together.
Note: When the Max Threads input is greater than one, the block is not guaranteed to be deterministic and may produce different results each time it is executed. This is often acceptable during design iterations when time-to-results is more important than determinism. If you require meshing to be fully deterministic and always produce the same results, you should use one thread. Common uses:
  • Preparing a surface mesh for simulation and optimization.
Tips:
  • Parallel Remesh Surface provides nearly deterministic results when keeping the Thread Count constant.
  • Running Parallel Remesh Surface with Thread Count = 1 produces the same result as the Remesh Surface block.
  • The number of nodes/elements can vary significantly between multithreaded and single-threaded. On average, we have noticed a 10% increase in mesh elements when using multiple cores.
  • Generally, we have noticed a significant speed improvement when utilizing up to 32 threads.
  • Not all remeshing operations will improve with multiple threads. For meshes with low element count, single-core meshing can be faster. However, for the vast majority of meshes, running parallel threads will be faster.

Example File

Download Example: Parallel Remesh Surface
 
 
Time67,239ms

16,323ms

(16 Max Threads)


Remesh an existing surface mesh using parallel processing. The algorithm will automatically partition the input mesh and pre-mesh each partition in parallel. The number of partitions is equal to the Max Threads. When the Max Threads is greater than one, the results may differ each time the block is executed.

Inputs

Outputs