Meshless methods are used to solve partial differential equations by approximating differential operators at a node as a weighted sum of values at its neighbours. One of the algorithms for generating nodes suitable for meshless numerical analysis is an n-dimensional Poisson disc sampling based method. It can handle complex geometries and supports variable node density, a crucial feature for adaptive analysis. We modify this method for parallel execution using coupled spatial indexing and work distribution hypertrees. The latter is prebuilt according to the node density function, ensuring that each leaf represents a balanced work unit. Threads advance separate fronts and claim work hypertree leaves as needed while avoiding leaves neighbouring those claimed by other threads. Node placement constraints and the partially prebuilt spatial hypertree are combined to eliminate the need to lock the tree while it is being modified. Thread collision handling is managed by the work hypertree at the leaf level, drastically reducing the number of required mutex acquisitions for point insertion collision checks. We explore the behaviour of the proposed algorithm and compare the performance with existing attempts at parallelisation and consider the requirements for adapting the developed algorithm to distributed systems.
翻译:无网格方法通过将节点处的微分算子近似为其邻域值的加权和来求解偏微分方程。生成适用于无网格数值分析的节点算法之一是基于n维泊松盘采样的方法。该方法能够处理复杂几何结构并支持可变节点密度,这是自适应分析的关键特性。我们通过耦合空间索引与工作分布超树对该方法进行并行化改进。后者根据节点密度函数预先构建,确保每个叶节点代表一个平衡的工作单元。线程各自推进独立的前沿,并在需要时申请工作超树叶节点,同时避免与其他线程已申请的叶节点相邻。节点放置约束与部分预构建的空间超树相结合,消除了在修改树结构时进行锁定的需求。线程冲突处理在工作超树叶节点层级进行,极大减少了点插入冲突检查所需的互斥锁获取次数。我们探究了所提出算法的行为特征,与现有并行化尝试进行了性能比较,并探讨了将该算法适配到分布式系统所需的条件。