Abstract

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 summaryProgram title: SPHGeomCPC Library link to program files:https://doi.org/10.17632/hz7pg3rhdb.1Code Ocean capsule:https://codeocean.com/capsule/5490642Licensing provisions: BSD 3-ClauseProgramming language: PythonExternal 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.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call