Strategies for inhomogeneous problems in walker

This page collects some notes and ideas on potential strategies for implementing Walker for inhomogeneous problems.

Strategies for inhomogeneity

The implementation of spatial inhomogeneity can be approached using different strategies, two of which for particle codes are

  1. 3D-mesh-based, i.e., particle-in-cell-like (PIC) strategy, or
  2. Point-cloud-based, i.e., smoothed-particle-hydrodynamics-like (SPH) strategy.

Many variants exists of each, especially, considering various parallelization and optimization strategies, as well as code simplicity, usability, applicability, and maintenance issues. Either approach contains a large uncertainty since each requires significant research. What follows is a collection of thoughts, e.g., pros and cons, of different strategies derived from the above approaches. Either or both PIC-, and SPH-based approaches can and may be implemented, since depending on the problem different algorithms may be optimal. Thus what follows serves as a documentation which is not necessarily sufficient for making a decision.

Note that currently Walker integrates particles in state space and time, not in physical space.

Potential advantages of a PIC-based strategy

  • Can use all knowledge on mesh-based algorithms, e.g.,
    • The 3D domain is already well-defined by the incoming mesh (i.e., existing mesh generators take care of fine and coarse areas
    • Can use adaptive mesh refinement, etc.
    • Can develop (and leverage existing) hybrid algorithms (e.g., PDF, plasma) that solve some quantities on the mesh, some others with particles
    • Can use existing Eulerian-mesh-only algorithms for laminar (or turbulent) flows as the mesh-based part
    • Can leverage well-developed existing shock hydrodynamics algorithms for the Eulerian-mesh based part
  • Easier to generate particles into cells that prescribe fine and coarse areas of the domain (task is outsourced to mesh generators)
  • Would not have to start from scratch, see Papers
  • Less risky, would certainly work (at least for incompressible flow)
  • Would potentially be easier to sell (e.g., in a proposal)

Potential disadvantages of a PIC-based strategy

  • Potentially more complex code and algorithm: need mesh-, as well as particle-algorithms – more maintenance, potentially less suitable for future architectures
  • Requires a good mesh generator; generation is still a potentially expensive and complex operation
  • Requires a mesh: loading, partitioning, and in general, dealing with a 3D mesh in parallel is a highly non-trivial task – lots of time spend on non-novel issues
  • Need for large-scale linear algebra, expensive and hard-to-parallelize iterative solvers and preconditioners
  • Potential need for large linear algebra packages like PETSc or Trilinos
  • Meshes with particles need special strategies and algorithms for empty cells
  • Needs particle tracking (i.e., which cell is a given particle in?)
  • People will inevitably compare to what they are familiar with if they see a mesh, deeming a PIC-based particle method too expensive with a roughly 500-particles-per-cell requirement. Especially if the cost of solving the pressure Poisson equation is 2%, as they compare apples and oranges when comparing computing a single realization on a grid (with an Eulerian method) and the full PDF (with a particle method)
  • Might potentially be harder to sell (in a proposal) due to PIC considered not novel
  • Potentially less innovative

Potential advantages of a SPH-based strategy

  • Potentially simpler code and algorithm: only need particle-algorithms – shorter code, less maintenance, potentially more suitable for future architectures
  • Can potentially leverage progress in computer graphics and geometry (i.e., robotics, movies, etc.)
  • Can potentially leverage physics hardware developed for games, e.g., PhysX
  • Requires only a boundary mesh from user (and optionally a description of fine and coarse areas descriptions, though that's not trivial)
  • Requires no mesh or mesh generator
  • Requires potentially less memory (as no mesh is required)
  • No need to deal with a mesh, no complex I/O, no partitioning, no need for adaptive mesh refinement
  • No need for large-scale linear algebra, expensive and hard-to-parallelize iterative solvers and preconditioners
  • No need for large linear algebra packages like PETSc or Trilinos
  • Easier to show that the method is fundamentally different than mesh-based ones
  • Less explored, possibly more potential for research and publications
  • There is no mesh in real life

Potential disadvantages of a SPH-based strategy

  • The details of the 3D domain (i.e., coarse and fine areas, boundary-layers) need detailed definition in code
  • Harder to generate particles with prescribed fine and coarse areas (task is not outsourced to mesh generators)
  • Need a consistent, stable, and conservative numerical method (these issues are less-researched and thus less mature for particle methods compared to mesh-based ones)
  • Can only leverage on a body of knowledge that is smaller than for mesh-based methods: SPH, mesh-free methods, etc.
  • Specific problems to particle methods need to be dealt with, e.g., tension instability