An efficient, open source, iterative ISPH scheme

2020 
Abstract In this paper a simple, robust, and general purpose approach to implement the Incompressible Smoothed Particle Hydrodynamics (ISPH) method is proposed. This approach is well suited for implementation on CPUs and GPUs. The method is matrix-free and uses an iterative formulation to setup and solve the pressure-Poisson equation. A novel approach is used to ensure homogeneous particle distributions and improved boundary conditions. This formulation enables the use of solid wall boundary conditions from the weakly-compressible SPH schemes. The method is fast and runs on GPUs without the need for complex integration with sparse linear solvers. We show that this approach is sufficiently accurate and yet efficient compared to other approaches. Several benchmark problems that illustrate the robustness, performance, and wide range of applicability of the new scheme are demonstrated. An open source implementation is provided and the manuscript is fully reproducible. Program summary Program Title: SISPH Program Files doi: http://dx.doi.org/10.17632/kw5f75wcw7.1 Licensing provisions: BSD 3-Clause Programming language: Python External routines/libraries: PySPH ( https://github.com/pypr/pysph ), scipy ( https://pypi.org/project/scipy/ ), matplotlib ( https://pypi.org/project/matplotlib/ ), compyle ( https://pypi.org/project/compyle/ ), automan ( https://pypi.org/project/automan/ ). Nature of problem: Incompressible SPH solvers solve a sparse system of equations to obtain a solution to the pressure-Poisson equation. This is often implemented by solving a sparse matrix, and can be complex to implement on GPUs. SPH accuracy deteriorates when particles become disordered. Ensuring homogeneous particle distributions requires particle shifting algorithms which requires tuning of parameters. We propose the use of matrix-free algorithm and an accurate and general purpose way to ensure particle homogeneity. Solution method: We use an explicit iterative approach to solve the pressure-Poisson equations which makes it easy to implement in parallel on GPUs. This also makes it easy to implement the boundary conditions. We propose an accurate way to ensure homogeneous particle distribution by using a background pressure. Additional comments: The source code for this repository can be found at https://gitlab.com/pypr/sisph .
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    38
    References
    7
    Citations
    NaN
    KQI
    []