A parallel generator for sparse unstructured meshes to solve the eikonal equation

https://doi.org/10.1016/j.jocs.2018.09.009Get rights and content

Highlights

  • Development of a new mesh generator which generates high-quality meshes and is based on DistMesh.

  • Reduction of the theoretical time complexity of the meshing method: from O(n log(n)) to O(n).

  • Increase in scalability of the meshing method.

  • Algorithm for the construction of a cache-friendly high-quality initial mesh.

  • Introduction of a new meshing method into the field of pedestrian dynamics.

Abstract

Mesh generation is the first step in a wide range of applications including navigation for robots or virtual agents in pedestrian simulations. To find the shortest travel time to a target, a common technique is to solve the eikonal equation on a mesh. We propose EikMesh, an extension of the DistMesh algorithm. EikMesh is a fast parallel mesh generator that reduces the number of mesh points, and thus the computation time, while maintaining precision of numerical solvers on the mesh. It automatically refines where desired, in our case, where the eikonal equation undergoes changes, e.g. near obstacles. The first crucial step is the generation of a sophisticated initial mesh which reduces the number of smoothing steps. In addition, EikMesh avoids expensive Delaunay-re-triangulations. Space filling curves manage storage space in a cache-friendly manner. EikMesh scales better than the parallelized traditional DistMesh and significantly outperforms it for a number of test cases.

Introduction

Pedestrians use visual cues not only to avoid near-range collisions but also to navigate on a medium range, e.g. when they skirt obstacles or densely occupied areas in their path. Both types of navigation are often modeled efficiently by dynamic floor fields. Floor fields code the utility of a position in a scalar function that depends on the distance to the target and, dynamically, on changes in the environment or agent population. Thus instead of truly processing visual information, agents choose their path by maximizing utility.

Floor fields are well established in the field of pedestrian dynamics: [1], [2], [3], [4]. While a static floor field can be pre-computed, dynamic floor fields need frequent updates. For collision avoidance, utility dips are dynamically added at agent locations [5]. This is fast and cheap. More sophisticated dynamic floor fields are used to model queuing or medium-range navigation around large crowds [6], [3]. Their computation involves solving the eikonal equation||T(x)||·V(x)=1,andT(x)=0,ifxΓ,where Ω2 is the spatial domain and Γ ⊂ Ω the pedestrian destination area. T is the travelling time of a propagating wave front which starts at Γ and moves according to the velocity field V. V can change over time and thus models the dynamics. Several numerical solvers for Eq. (1) are available, notably the fast sweeping method [7], the fast iterative method [8] and the fast marching method [9], [10]. Depending on the velocity field V and the spatial domain, each solver performs differently [11]. Consequently, the solver should be chosen with the application in mind. For pedestrian dynamics, fast marching surpasses its competitors as soon as the environment becomes complex [11]. The time complexity of the fast marching method is O(nlog(n)). The most common approach to fast marching discretizes Ω by a Cartesian grid of cell size r. This leads ton=w·h·r2grid points, where w is the width and h is the height of a bounding box containing Ω.

Fast marching is serial at its core, computing T(x) in a prearranged order, and making parallelization extremely difficult. Instead we suggest to save computation time by reducing the number of grid points. The question is: How can we achieve this whilst preserving accuracy? One approach is to replace the Cartesian grid by an unstructured high-quality mesh. Unstructured meshes offer far greater geometrical flexibility with variable and adaptive spatial resolution as well as a near perfect fit to geometry. This makes them popular in many applications [12] such as finite element analysis, computational fluid dynamics, and molecular dynamics. In addition, the quality of the approximation to T is determined by || ∇ V|| and the principle curvature of the level set of T [13]. In areas of small changes in velocity or curvature a coarse mesh with few nodes suffices [14].

However, unstructured meshes come at a cost: Other than Cartesian meshes they are neither easy to generate nor is it trivial to find the location of a position within the mesh. Hence we face a new problem: fast generation and intelligent storage of a mesh that is dense only where needed. In other words, we trade computation time spent on floor fields for computation time spent on meshes. Obviously, the goal is to trade gainfully. We propose the algorithm EikMesh, a parallel generator that builds on DistMesh [12]. We choose DistMesh because it produces high-quality meshes and it is relatively simple to understand and, hopefully, will remain accessible instead of being used as a black box. EikMesh replaces parts of DistMesh by recent computational science methods to overcome performance restraints. In particular, a smart initialization stage combined with a parallel edge flipping strategy reduces the number of iterations and avoids re-triangulations.

This paper is structured as follows: In section 2 we give a brief history of, and overview over different meshing methods that inspire our algorithm, above all, the DistMesh algorithm. Section 3 shows how we improve the most expensive parts of DistMesh and efficiently arrange storage space. In section 4 we compare the performance of EikMesh and the original DistMesh algorithm on benchmark geometries. We conclude with a discussion of the application in the field of pedestrian dynamics and some ideas for future work.

Section snippets

Meshing methods

The first Delaunay-refinement algorithm which generates mesh of provably good quality was developed by Ruppert [15]. It is perhaps the first truly satisfactory meshing algorithm in practice. A variant is implemented in Triangle [16], the probably most famous and widely used sequential Delaunay refinement code. Subsequent developments in Delaunay-based meshing were realized by a number of authors, Cheng [17], [18], [19], Boissonnat and Oudot [20] among others. Löhner describes an advancing front

The EikMesh algorithm

EikMesh improves DistMesh through three major steps: it introduces an easily accessible data structure that is stored in a cache-friendly manner, it creates a high-quality initial mesh, so that the number of improvement steps goes down, and it eliminates the need for re-triangulations, provided one starts with a high-quality mesh. Furthermore, EikMesh introduces parallelism to the smoothing process.

Experimental results

Each mesh is generated 10 times on a platform with an Intel(R) Core(TM) i5-7400 with 3.00GHz 4 Cores and 8GB DDR3 RAM. To measure runtime, we give the average value. We do not state the standard deviation because it was very small. The user can manipulate EikMesh's desired edge length function h to define areas of high mesh resolution, while the overall mesh quality remains near perfect, that is, in our case τq > 0.96. Fig. 7 shows three meshes: one of them is a regular mesh. Two are refined in

Conclusion

We presented an adapted version of DistMesh called EikMesh. The algorithm is suitable to produce high-quality meshes where some areas are finely resolved while others are left coarse. Thus numerical solvers that scale with the number of mesh nodes, but need fine mesh resolution only at certain locations, can be accelerated without loosing accuracy. An important use case is the solution of the eikonal equation (1).

We built EikMesh on Persson's and Strang's DistMesh but were able to remove

Acknowledgements

This work was funded by the German Federal Ministry of Education and Research through the project S2UCRE (grant number 13N14464). Support from the Faculty Graduate Center CeDoSIA of TUM Graduate School at Technical University, and the Research Office FORWIN at Munich University of Applied Sciences, both at München, Germany, is also gratefully acknowledged.

Benedikt Zönnchen is a research associate in the research group Pedestrian Dynamics at Munich University of Applied Sciences. He holds a master's degree in computer science from Technical University of Munich. Currently, he is a PhD candidate at the Chair of Scientific Computing at Technical University of Munich. His research focuses on the acceleration of microscopic pedestrian simulations by designing efficient and parallel algorithms. In the past, he has published on topics in modelling

References (31)

  • A. Treuille et al.

    Continuum crowds

    ACM Trans. Graph. (SIGGRAPH 2006)

    (2006)
  • M.J. Seitz et al.

    The superposition principle: a conceptual perspective on pedestrian stream simulations

    Collect. Dyn.

    (2016)
  • H. Zhao

    A fast sweeping method for eikonal equations

    Math. Comput.

    (2005)
  • W.-K. Jeong et al.

    A fast iterative method for eikonal equations

    SIAM J. Sci. Comput.

    (2008)
  • J.A. Sethian

    A fast marching level set method for monotonically advancing fronts

    Proc. Natl. Acad. Sci. U. S. A.

    (1996)
  • Benedikt Zönnchen is a research associate in the research group Pedestrian Dynamics at Munich University of Applied Sciences. He holds a master's degree in computer science from Technical University of Munich. Currently, he is a PhD candidate at the Chair of Scientific Computing at Technical University of Munich. His research focuses on the acceleration of microscopic pedestrian simulations by designing efficient and parallel algorithms. In the past, he has published on topics in modelling microscopic pedestrian behavior using floor fields and is a contributor to the open source software VADERE.

    Gerta Köster is a full professor at the department of Computer Science and Mathematics at Munich University of Applied Sciences where she founded a research group on pedestrian dynamics. She holds a PhD in Applied Mathematics from 1996. Between 1996 and 2010 she held a number of research related positions with Siemens, one of the world's lead technology suppliers, ranging from research scientist to innovation manager. Her present research focuses on the simulation and modelling of pedestrian dynamics. She enjoys truly interdisciplinary work and has a keen interest in findings from sociology and psychology and their implications on crowd modelling, which led to the contribution of several well-validated pedestrian motion models, including social aspects, and improved the stability and speed of classic approaches.

    View full text