当前位置: X-MOL 学术Comput. Phys. Commun. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Algorithms for uniform particle initialization in domains with complex boundaries
Computer Physics Communications ( IF 6.3 ) Pub Date : 2021-04-28 , DOI: 10.1016/j.cpc.2021.108008
Pawan Negi , Prabhu Ramachandran

Accurate mesh-free simulation of fluid flows involving complex boundaries requires that the boundaries be captured accurately in terms of particles. In the context of incompressible/weakly-compressible fluid flow, the SPH method is more accurate when the particle distribution is uniform. Hence, for time-accurate simulation of flow in the presence of complex boundaries one must have both an accurate boundary discretization and a uniform distribution of particles to initialize the simulation. This process of obtaining an initial uniform distribution of particles is called “particle packing”. In this paper, we compare and implement various particle packing algorithms present in the literature. We propose an improved SPH-based algorithm which produces uniform particle distributions of both the fluid and solid domains in two and three dimensions. We demonstrate the accuracy of the new algorithm by constructing some challenging geometries. The implementation of the algorithm is open source, and the manuscript is fully reproducible.

Program summary

Program title: SPHGeom

CPC Library link to program files: https://doi.org/10.17632/hz7pg3rhdb.1

Code Ocean capsule: https://codeocean.com/capsule/5490642

Licensing provisions: BSD 3-Clause

Programming language: Python

External routines/libraries: PySPH (https://github.com/pypr/pysph), matplotlib (https://pypi.org/project/matplotlib/), automan (https://pypi.org/project/automan/), ParaView(https://www.paraview.org/download/).

Nature of problem: Particle methods require that complex geometry be accurately represented when discretized with particles. The particles should be uniformly distributed inside, outside, and on the surface of the geometry. This can be achieved using the proposed particle packing algorithm. For a fluid flow past a solid body, the code generates a set of solid particles inside and on the surface surrounded by fluid particles such that the density is approximately constant. These particles can be placed in a larger simulation.

Solution method: : The proposed algorithm uses a number density gradient, a repulsion force, and a damping force to move particles. Particles are constrained near the boundary to move along the surface. Particles are iteratively projected onto the boundary surface. Once a desired distribution of particles is achieved, the particles are separated into interior and exterior particles using the boundary information. This may be used directly as an input for particle-based simulation.

Additional comments: : The source code for this repository can be found at https://gitlab.com/pypr/sph_geom.



中文翻译:

具有复杂边界的域中均匀粒子初始化的算法

涉及复杂边界的流体流动的准确无网格模拟要求以颗粒的形式准确捕获边界。在不可压缩/微压缩流体流的情况下,当颗粒分布均匀时,SPH方法更为准确。因此,对于在存在复杂边界的情况下进行时间精确的流动模拟,必须同时具有精确的边界离散和均匀的粒子分布才能初始化模拟。获得颗粒的初始均匀分布的过程称为“颗粒堆积”。在本文中,我们比较并实现了各种粒子文献中介绍的打包算法。我们提出了一种改进的基于SPH的算法,该算法可在二维和三维中生成流体域和固体域的均匀粒子分布。我们通过构造一些具有挑战性的几何图形来证明新算法的准确性。该算法的实现是开源的,并且手稿是完全可复制的。

计划摘要

程序标题: SPHGeom

CPC库链接到程序文件: https : //doi.org/10.17632/hz7pg3rhdb.1

代码海洋胶囊: https : //codeocean.com/capsule/5490642

许可条款: BSD 3条款

编程语言: Python

外部例程/库: PySPH(https://github.com/pypr/pysph),matplotlib(https://pypi.org/project/matplotlib/),automan(https://pypi.org/project/automan/ ),ParaView(https://www.paraview.org/download/)。

问题性质:粒子方法要求在离散化粒子时精确地表示复杂的几何形状。粒子应均匀分布在几何图形的内部,外部和表面。这可以使用提出的粒子堆积算法来实现。对于通过固体的流体流,代码在内部和在被流体粒子包围的表面上生成一组固体粒子,以使密度近似恒定。这些粒子可以放置在更大的模拟中。

解决方法::所提出的算法使用数密度梯度,排斥力和阻尼力来移动粒子。粒子被约束在边界附近以沿着表面移动。粒子被迭代地投影到边界表面上。一旦达到所需的粒子分布,就可以使用边界信息将粒子分为内部粒子和外部粒子。这可以直接用作基于粒子的模拟的输入。

附加说明::可以在https://gitlab.com/pypr/sph_geom上找到此存储库的源代码。

更新日期:2021-04-30
down
wechat
bug