107 51 15MB
English Pages 437 [419] Year 2021
143
Vladimir A. Garanzha Lennard Kamenski · Hang Si Editors
Numerical Geometry, Grid Generation and Scientific Computing
Editorial Board T. J.Barth M.Griebel D.E.Keyes R.M.Nieminen D.Roose T.Schlick
Lecture Notes in Computational Science and Engineering Volume 143
Series Editors Timothy J. Barth, NASA Ames Research Center, Moffett Field, CA, USA Michael Griebel, Institut für Numerische Simulation, Universität Bonn, Bonn, Germany David E. Keyes, Applied Mathematics and Computational Science, King Abdullah University of Science and Technology, Thuwal, Saudi Arabia Risto M. Nieminen, Department of Applied Physics, Aalto University School of Science & Technology, Aalto, Finland Dirk Roose, Department of Computer Science, Katholieke Universiteit Leuven, Leuven, Belgium Tamar Schlick, Courant Institute of Mathematical Sciences, New York University, New York, NY, USA
This series contains monographs of lecture notes type, lecture course material, and high-quality proceedings on topics described by the term “computational science and engineering”. This includes theoretical aspects of scientific computing such as mathematical modeling, optimization methods, discretization techniques, multiscale approaches, fast solution algorithms, parallelization, and visualization methods as well as the application of these approaches throughout the disciplines of biology, chemistry, physics, engineering, earth sciences, and economics.
More information about this series at http://www.springer.com/series/3527
Vladimir A. Garanzha • Lennard Kamenski • Hang Si Editors
Numerical Geometry, Grid Generation and Scientific Computing Proceedings of the 10th International Conference, NUMGRID 2020 / Delaunay 130, Celebrating the 130th Anniversary of Boris Delaunay, Moscow, Russia, November 2020
Editors Vladimir A. Garanzha Dorodnicyn Computing Centre, Federal Research Center of Informatics and Control Russian Academy of Sciences Moscow Moscow, Russia
Lennard Kamenski Berlin, Germany
Hang Si Weierstrass Institute for Applied Analysis and Stochastics (WIAS) Berlin, Germany
ISSN 1439-7358 ISSN 2197-7100 (electronic) Lecture Notes in Computational Science and Engineering ISBN 978-3-030-76797-6 ISBN 978-3-030-76798-3 (eBook) https://doi.org/10.1007/978-3-030-76798-3 Mathematics Subject Classification (2010): 65-xx (65Dxx, 65Fxx, 65Kxx, 65Lxx, 65Mxx, 65Nxx, 65Yxx, 65Zxx), 30Cxx, 30Fxx, 49Mxx, 52Cxx, 53xx © Springer Nature Switzerland AG 2021 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, expressed or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations. This Springer imprint is published by the registered company Springer Nature Switzerland AG. The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Dedicated to Boris Nikolayevich Delaunay (1890–1980) on the occasion of his 130th birthday
Foreword
This volume presents the proceedings of the NUMGRID 2020/Delaunay 130 International Conference dedicated to the 130th birthday of B. N. Delaunay (1890– 1980). Since Boris Nikolayevich was my teacher, I will take this nice opportunity to have another look at certain moments in the life and work of this unique personality. Delaunay triangulation, Delaunay partition, and their theory is the most important part of his research from an application point of view. This is, however, merely one facet in his multifaceted work, a facet to which B. N. Delaunay came not by chance. There is a deeper meaning in the fact that the name of Delaunay is forever inscribed in science next to that of G. F. Voronoi, a prominent representative of the St. Petersburg school of number theory. Even more so, because Georgy Feodosievich was a close friend of the Delaunay family. As a teenager, Boris often witnessed his father’s late evening conversations with Voronoi. Voronoi was not and could not be Delaunay’s scientific supervisor: he died unexpectedly in 1908, the year Boris entered university. Nevertheless, his influence on Delaunay was considerable. Delaunay’s breakthrough results on the cubic Diophantine equations, which are, by his own admission, his most outstanding work, used the famous Voronoi algorithm for finding fundamental units in cubic fields. This celebrated work of Voronoi once made a stunning impression on A. A. Markov (Voronoi’s teacher) himself. In the early 1920s, Delaunay was invited by A. A. Markov to the Petrograd1 University as a professor and wrote a remarkable paper revealing the geometrical essence of the Voronoi algorithm. In the late 1920s, Delaunay published a major work on 4-dimensional parallelohedra, where he continued the research of H. Minkowski and G. Voronoi on the theory of parallelohedra. At the same time, Delaunay elegantly introduced the important concepts of the (r, R)-system and the L-partition corresponding to this system and published an extensive paper “Geometry of positive quadratic forms”. The concepts laid down in Delaunay’s works in the 1920s and 1930s, influenced by Voronoi’s work, proved to be useful
1 The
name of St. Petersburg in 1914–1924. vii
viii
Foreword
in computational geometry, crystallography, structural chemistry, biology, and other fields. As for the terms (r, R)-system and L-partition, much later, in the second half of the twentieth century, the professional community abandoned them in favor of the terms Delaunay set and Delaunay partition, largely thanks to H. S. M. Coxeter and C. A. Rogers. As for the NUMGRID 2020 conference, I would like to acknowledge the high professional level of the participants and thank its organizers Vladimir Garanzha, Hang Si, and Lennard Kamenski. Steklov Mathematical Institute RAS, Moscow, Russia February 2021
Nikolay Dolbilin
Preface
This volume presents a selection of papers presented at the 10th International Conference on Numerical Geometry, Grid Generation, and Scientific Computing celebrating the 130th anniversary of B. N. Delaunay (NUMGRID 2020/Delaunay 130), held November 25–27, 2020. The conference is bi-annual (since 2002) and it is one of the well-known international conferences in the area of mesh generation. The main topic of this conference, grid (mesh) generation, is about how to create a geometric discretization of a given domain. It is an indispensable tool for solving field problems in nearly all areas of applied mathematics. The book includes an overview of the current progress in numerical geometry, grid generation, and adaptation in terms of mathematical foundations, algorithm and software development, and applications. In focus are the Voronoi-Delaunay theory and algorithms for tilings and partitions, mesh deformation and optimization, equidistribution principle, error analysis, discrete differential geometry, duality in mathematical programming and numerical geometry, mesh-based optimization and optimal control methods, iterative solvers for variational problems, as well as algorithm and software development. The applications of the discussed methods are multidisciplinary and include problems from mathematics, physics, biology, chemistry, material science, and engineering. The presented 25 papers were selected from 31 submissions. The main selection criteria are based on the recommendations of anonymous peer reviews from experts of the corresponding fields as well as the presentation of the paper at the conference. All accepted papers are revised according to the comments of reviewers and the program committee. The organizers would like to thank all who submitted papers and all who helped to evaluate the contributions by providing reviews for the submissions. The
ix
x
Preface
reviewers’ names are acknowledged in the following pages. The organizers would like to thank all participants of NUMGRID for making it a successful and interesting experience. Moscow, Russia Berlin, Germany Berlin, Germany February 2021
Vladimir A. Garanzha Lennard Kamenski Hang Si
Contents
Part I
Delaunay-Voronoi Theory and Applications
Local Groups in Delone Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . Nikolay Dolbilin
3
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . Denis A. Fedoseev, Vassily O. Manturov, and Igor M. Nikonov
13
A Proof of the Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . Matt Bright, Olga Anosova, and Vitaliy Kurlin
37
The Singularity Set of Optimal Transportation Maps . . .. . . . . . . . . . . . . . . . . . . . Zhongxuan Luo, Wei Chen, Na Lei, Yang Guo, Tong Zhao, and Xianfeng Gu
61
Polygonal and Polyhedral Delaunay Meshing . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . Vladimir Garanzha and Liudmila Kudryavtseva
81
On Decomposition of Embedded Prismatoids in R3 Without Additional Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . Hang Si
95
Out-of-core Constrained Delaunay Tetrahedralizations for Large Scenes . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 113 Ziya Erkoç, Aytek Aman, U˘gur Güdükbay, and Hang Si Part II
Adaptive Meshing
Size Gradation Control for Anisotropic Hybrid Meshes . . . . . . . . . . . . . . . . . . . . 127 Lucille-Marie Tenkes and Frédéric Alauzet
xi
xii
Contents
Adjoint Computation on Anisotropic Meshes in High-fidelity RANS Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 141 Francesco Clerici and Frédéric Alauzet Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 157 Vladimir A. Garanzha and Liudmila Kudryavtseva Adaptive Grids for Non-monotone Waves and Instabilities in a Non-equilibrium PDE Model . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 179 Paul A. Zegeling RBF-VerBSS Hybrid Method for Mesh Deformation .. . .. . . . . . . . . . . . . . . . . . . . 199 Jihai Chang, Fei Yu, Jie Cao, and Zhenqun Guan A Uniform Convergence Analysis for a Bakhvalov-Type Mesh with an Explicitly Defined Transition Point . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 213 Thái Anh Nhan On a Comprehensive Grid for Solving Problems Having Exponential or Power-of-First-Type Layers . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 227 V. D. Liseikin, S. Karasuljic, A. V. Mukhortov, and V. I. Paasonen Preserved Structure Constants for Red Refinements of Product Elements. . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 241 Sergey Korotov and Jon Eivind Vatne Part III
Meshing and CAD
Global Parametrization Based on Ginzburg-Landau Functional . . . . . . . . . . 251 Victor Blanchi, Étienne Corman, Nicolas Ray, and Dmitry Sokolov Parametrization of Plane Irregular Regions: A Semi-automatic Approach I . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 263 Pablo Barrera and Iván Méndez A Hybrid Approach to Fast Indirect Quadrilateral Mesh Generation .. . . . 281 Daniel Zint and Roberto Grosso Hexahedral Mesh Generation Using Voxel Field Recovery . . . . . . . . . . . . . . . . . 295 Alexander Sergeevich Karavaev and Sergey Petrovich Kopysov Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method with a Fast Collision Detecting Algorithm . . . . . . 307 Jie Cao, Fei Yu, Zhonghai Gao, S.H. Lo, and Zhenqun Guan
Contents
Part IV
xiii
Numerical Geometry and Applications
An Improved Algorithm for Scattered Data Interpolation Using Quartic Triangular Bézier Surfaces .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 327 Krassimira Vlachkova On Integral-Based (Transfinite) Laplace Coordinates .. .. . . . . . . . . . . . . . . . . . . . 341 Alexander G. Belyaev and Pierre-Alain Fayolle Part V
Numerical Methods
Fully-Implicit Collocated Finite-Volume Method for the Unsteady Incompressible Navier–Stokes Problem . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 361 Kirill M. Terekhov Efficient Steady Flow Computations with Exponential Multigrid Methods . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 375 Shu-Jie Li Exponential Time Integrators for Unsteady Advection–Diffusion Problems on Refined Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 391 Mikhail A. Botchev Author Index.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . 405
Conference Organization
Organizers Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia http://www.ccas.ru Weierstrass Institute for Applied Analysis and Stochastics, Berlin, Germany https://www.wias-berlin.de Lennard Kamenski, Berlin, Germany https://gitlab.com/lkamenski
Organizing Committee V. A. Garanzha (Chair) Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia L. Kamenski (Vice chair) Berlin, Germany A. I. Belokrys-Fedotov Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia I. E. Kaporin Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia L. N. Kudryavtseva Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia Yu. O. Trusova Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia I. A. Zonn Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia xv
xvi
Conference Organization
Program Committee Yu. G. Evtushenko (Chair) Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia H. Si (Vice Chair) Weierstrass Institute for Applied Analysis and Stochastics, Berlin, Germany A. Belyaev Heriot-Watt University, Edinburgh, UK H. Borouchaki Inria Paris-Rocquencourt, France N. P. Dolbilin Steklov Mathematical Institute RAS, Moscow, Russia V. P. Dymnikov Institute of Numerical Mathematics RAS, Moscow, Russia H. Edelsbrunner Institute of Science and Technology, Klosterneuburg, Austria S. K. Godunov Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia R. Jain Argonne National Laboratory, Lemont, IL, USA V. F. Kuropatenko All-Russian Scientific Research Institute of Technical Physics, Snezhinsk, Russia P. Laug Inria Paris-Rocquencourt, France N. Lei Dalian University of Technology, Dalian, China V. D. Liseikin Institute of Computing Technologies RAS, Novosibirsk, Russia Yu. V. Nesterenko Moscow State University, Moscow, Russia R. V. Polozov Institute of Cell Biophysics, Puschino, Russia X. Roca Barcelona Supercomputing Center, Barcelona, Spain
Conference Organization
D. V. Sokolov Université de Lorraine, CNRS, Inria, LORIA, Nancy, France S. K. Vodopyanov Sobolev Institute of Mathematics SB RAS, Novosibirsk, Russia
Web Site http://www.ccas.ru/gridgen/numgrid2020
xvii
Reviewers
Igor Baburin Technische Universität Dresden, Dresden, Germany Pavel Bakhvalov Keldysh Institute of Applied Mathematics RAS, Russia
Moscow,
Alexander Belyaev Heriot-Watt University, Edinburgh, UK Matthew Bright University of Liverpool, Liverpool, UK Michail Botchev Keldysh Institute of Applied Mathematics RAS, Russia
Moscow,
Andrey Chernikov Old Dominion University, Norfolk, VA, USA Kristian Debrabant University of Southern Denmark, Odense, Denmark Vladimir A. Garanzha Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia Alexander Golikov Dorodnicyn Computing Center of FRC CSC RAS, Moscow, Russia Roberto Grosso Friedrich-Alexander-Universität Erlangen-Nürnberg, Erlangen, Germany Xianfeng Gu Stony Brook University, Stony Brook, NY, USA Zhenqun Guan Dalian University of Technology, Dalian, China Ronald D. Haynes Memorial University of Newfoundland, St. John’s, NL, Canada Nancy Hitschfeld University of Chile, Santiago, Chile Rajeev Jain Argonne National Laboratory, Lemont, IL, USA
xix
xx
Reviewers
George Kamenev (The author and reviewer of the NUMGRID conferences, passed away on November 3rd 2020.) Federal Research Center of Informatics and Management RAS, Moscow, Russia Lennard Kamenski
Berlin, Germany
Jiˇrí Kosinka Rijksuniversiteit Groningen, Groningen, The Netherlands Na Lei Dalian University of Technology, Dalian, China Shu-Jie Li Beijing Computational Science Research Center, Beijing, China Alexander Linke Weierstrass Institute for Applied Analysis and Stochastics, Berlin, Germany Vladimir Liseikin Institute of Computational Technologies, Siberian Branch RAS, Novosibirsk, Russia Yang Liu Microsoft Research Asia, Beijing, China Xiaoming Liu Cadence Design Systems, Inc., San Jose, CA, China Vassily Manturov Moscow Institute of Physics and Technology, Moscow, Russia Yulong Pan University of California, Berkeley, CA, USA Per-Olof Persson University of California, Berkeley, CA, USA Egon Schulte Northeastern University, Boston, MA, USA Alexander Skovpen NUMECA International, Brussels, Belgium Kirill Terekhov Marchuk Institute of Numerical Mathematics RAS, Moscow, Russia Vladimir Titarev Dorodnicyn Computing Center FRC CSC RAS, Russia
Moscow,
Sergey Utyuzhnikov The University of Manchester, Manchester, UK Yuri Vassilevski Marchuk Institute of Numerical Mathematics RAS, Moscow, Russia Krassimira Vlachkova Sofia University St. Kliment Ohridski, Sofia, Bulgaria Rhaleb Zayer Max-Planck-Institut für Informatik, Saarbrücken, Germany Paul Zegeling Universiteit Utrecht, Utrecht, The Netherlands Xiaopeng Zheng Dalian University of Technology, Dalian, China Victor Zhukov Keldysh Institute of Applied Mathematics RAS, Moscow, Russia Daniel Zint Friedrich-Alexander-Universität Erlangen-Nürnberg, Erlangen, Germany
Part I
Delaunay-Voronoi Theory and Applications
Local Groups in Delone Sets Nikolay Dolbilin
Abstract We prove that in an arbitrary Delone set X in the three-dimensional space, the subset X6 of all points from X at which the local group has no rotation axis of order larger than 6 is also a Delone set. Here, under the local group at point x ∈ X we mean the symmetry group Sx (2R) of the cluster Cx (2R) of x with radius 2R, where R is the radius of the largest ball free of points of X (according to Delone’s empty sphere theory). The main result seems to be the first rigorously proved statement for absolutely generic Delone sets which implies substantial statements for Delone sets with strong crystallographic restrictions. For instance, an important observation of Shtogrin on the boundedness of local groups in Delone sets with equivalent 2R-clusters immediately follows from the main result. Further, we propose a crystalline kernel conjecture and its two weaker versions. According to the crystalline kernel conjecture, in an arbitrary Delone set, points with locally crystallographic axes only (i.e., of order 1, 2, 3, 4, or 6) inevitably constitute the essential part of the set. These conjectures significantly generalize the famous crystallography statement on the impossibility of a (global) fivefold symmetry in a three-dimensional lattice.
1 Introduction and Basic Definitions This work grew out of the local theory for regular systems (Delone sets with very strong requirements). In this paper, however, we consider arbitrary Delone sets in R3 without any additional assumptions. For example, we do not require typical conditions of the local theory such as sameness of clusters of certain radius as we did in numerous papers (e.g., [1–3]). Another feature of the paper is as follows: for
N. Dolbilin () Steklov Mathematical Institute of the Russian Academy of Sciences, Moscow, Russia e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_1
3
4
N. Dolbilin
a Delone set, we consider local groups operated over clusters of a particular radius, namely 2R (see the definitions below). In [4], A.L. Mackay says: In an infinite crystal there may be extra elements of symmetry which operate over a limited range. These may be seen by non-space-group extinctions in diffraction pattern. . . . The local operations need not to be ‘crystallographic’.
Nevertheless, the main result of this paper implies that the character of local groups is essentially predetermined for a quite wide class of Delone sets in R3 , the so-called 2R-isometric sets, and, in particular, for regular systems (i.e., for Delone sets with transitive groups). Here, a very significant role is played by the successful choice of the range of action of the local group. It is chosen as 2R, R being the parameter of the Delone set (for details see below). To accurately formulate the main result and some open hypotheses we will need several definitions. Let |x, x | denote the Euclidean distance between points x and x in the Euclidean space Rd and d(z, X) := infx∈X |z, x| the distance from a point z ∈ Rd to the set X ⊂ Rd . Definition 1 (Delone Set) Given positive real numbers r and R, a point subset X of Rd is called a Delone set of type (r, R) if the following two conditions hold: (1) an open d-ball Bzo (r) of radius r centered at any point z of space contains at most one point of X; (2) a closed d-ball Bz (R) of radius R centered at any point z of space contains at least one point of X. Obviously, a Delone set X of type (r, R) is a Delone set of type (r , R ) if r ≤ r and R ≥ R. Therefore, we can adopt the following convention: for a given Delone set X, we choose r as the largest possible value satisfying Condition (1) of Definition 1, and R as the smallest value satisfying Condition (2). We will also need the following interpretation of the parameters r and R: inf |x, x | = 2r
x,x ∈X
and
sup d(z, X) = R.
(1)
z∈Rd
Thus, the value of r equals to the half of the smallest (infimum) inter-point distance in X. The value of R is the distance from X to a point of Rd farthest away from X. In the local theory of Delone sets, the key concept is that of a cluster. Definition 2 (ρ-Cluster) Let x be a point of a Delone set X of type (r, R) and Bz (ρ) a ball of radius ρ ≥ 0 centered at a point z ∈ Rd . We call a point set Cx (ρ) := X ∩ Bx (ρ) the cluster of radius ρ at point x or, simply, the ρ-cluster at x. Definition 3 (Equivalent Clusters) Two clusters Cx (ρ) and Cx (ρ) of the same radius ρ at points x and x are said to be equivalent if there is an isometry
Local Groups in Delone Sets
5
g ∈ Iso(R3 ) such that g(x) = x
and g(Cx (ρ)) = Cx (ρ).
Definition 4 (Cluster Group) Given a point x ∈ X and its ρ-cluster Cx (ρ), a group Sx (ρ) of all isometries s ∈ Iso(Rd ) which leave x fixed and the cluster Cx (ρ) invariant is called the cluster group: Sx (ρ) := s ∈ Iso(Rd ) | s(x) = x, s(Cx (ρ)) = Cx (ρ) . Groups of equivalent clusters Cx (ρ) and Cx (ρ) are conjugate in the full group Iso(Rd ) of isometries: Sx (ρ) = g −1 Sx (ρ) g, where g is determined by the conditions of Definition 3. Clearly, as the radius ρ increases, the cluster Cx (ρ) expands but the cluster group Sx (ρ) never increases and sometimes can only contract. Further, if 0 ≤ ρ < 2r then Cx (ρ) = Ox (3), i.e., it is the full point group of all isometries that leave the point x fixed. On the other hand, it is well-known that the group Sx (2R) is finite for any x ∈ X. Since the main result grew up ideologically from the local theory of regular systems, we briefly recall the basic concepts of this theory. Modern in form, the following definitions of a regular system and a crystal are equivalent to those going back to E.S. Fedorov. Definition 5 (Regular System, Crystal) A Delone set X is called a regular system if it is an orbit of some point x with respect to a certain space group G ⊂ Iso(Rd ): X = G · x = { g(x) | g ∈ G }. A Delone set X is a crystal if it is a union of a finite number of orbits: X=
m
G · xi .
i=1
The notion of a regular system is an essential case of a crystal (which is a multi-regular system) and generalizes the concept of a lattice. In fact, a lattice is a particular case of a regular system when G is a group of translations generated by d linearly independent translations. Moreover, due to a celebrated theorem by Schoenflies and Bieberbach, any regular system is a union of congruent and mutually parallel lattices. The local theory of regular systems began with the Local Criterion in [1]. Theorem 1 (Local Criterion [1]) A Delone set X is a regular system if and only if there is some ρ0 > 0 such that the following two conditions hold: (1) all ρ0 + 2R-clusters are mutually equivalent; (2) Sx (ρ0 ) = Sx (ρ0 + 2R) for x ∈ X. In [5, 6], this criterion has been generalized for crystals (multi-regular systems).
6
N. Dolbilin
From now on, we restrict ourselves only to the three-dimensional case. One of the central problems of the local theory of regular systems is the estimation of an upper (and a lower) bound for the regularity radius, i.e., the smallest value ρˆ3 > 0 such that the equivalence of ρˆ3 -clusters in a Delone set X implies the regularity of the set X ⊂ R3 . A proof of the upper bound ρˆ3 ≤ 10R was given in [2, 3]. The long proof starts with a selection of a special finite list of finite subgroups of O(3). Groups from this list have a chance to occur in Delone sets with equivalent 2R-clusters as local groups Sx (2R). The list of selected groups is provided by the following Theorem 2. It was discovered by Shtogrin in the late 1970’s but published only in 2010 [7]. Theorem 2 ([7]) If all 2R-clusters in a Delone set X ∈ R3 are mutually equivalent, then the order of any rotational axis of Sx (2R) does not exceed 6. Recently [8], it was realized for the first time that an important statement about groups in Delone sets with significant requirements on equivalent clusters may follow from a certain statement which is true for general Delone sets. Namely, the following Theorem 3 was proved. Theorem 3 ([8]) In a Delone set X ⊂ R3 there is at least one point x with nx ≤ 6, nx being the maximal order of a rotational axis in the group Sx (2R). Obviously, Theorem 3 immediately implies Theorem 2. In fact, the subset X6 of all points in a Delone set X with nx ≤ 6 is always very rich. Due to the following main result (Theorem 4), the subset X6 is a Delone set itself.
2 Main Result and Conjectures Theorem 4 (Main Result) Given a Delone set X ⊂ R3 of type (r, R), let X6 ⊆ X be the subset of all points x ∈ X such that the maximal order nx of a rotation axis in Sx (2R) does not exceed 6. Then X6 is a Delone set of a certain type (r , R ), where r ≤ r ≤ R ≤ kR for some k which is independent of X. At the moment, we do not care for the upper bound kR on the parameter R of the X6 . So far, it is more important to establish that the subset X6 is a Delone set as well. From now on, we will focus on clusters Cx (2R) of radius 2R and their groups Sx (2R). It is well-known that all 2R-clusters for a Delone set X are full-dimensional (i.e., the dimension of their convex hulls is d). Hence, the cluster groups Sx (2R) are necessarily finite. At the same time, 2R is the smallest radius value which guarantees the finiteness of the group of a 2R-cluster for any Delone set with parameter R. In other words, for an arbitrary ε > 0, there are a Delone set X (with parameter R) and its point x ∈ X such that the group Sx (2R − ε) is infinite. By virtue of the above, we will single out the group Sx (2R) and call it a local group at x.
Local Groups in Delone Sets
7
Theorem 4 immediately implies Theorem 2 about a Delone set X with mutually equivalent 2R-clusters. For such a Delone set X, the local groups at all points are pairwise conjugate and existence of points x with nx ≤ 6 implies ny ≤ 6 for all points y ∈ X. Now, among points of X6 ⊆ X we select points x with nx = 5, i.e., all points of X whose local groups contain axes of only ‘crystallographic’ orders 2, 3, 4, or 6. We call the subset of all such points in X a crystalline kernel of X and denote it by K. Conjecture 1 (Crystalline Kernel Conjecture) The crystalline kernel K of a Delone set X is a Delone subset with some parameter R ≤ kR, where k is some constant which is independent of X. Let Y denote the subset of all points x ∈ X at which local groups Sx (2R) do not contain the pentagonal axis. Clearly, K ⊆ Y and if K is a Delone set then Y is a Delone set, too. Therefore, Conjecture 1, if proven, immediately implies the following Conjectures 2 and 3. Conjecture 2 (5-Gonal Symmetry Conjecture) For a given Delone set X ⊂ R3 , the subset Y of points x whose groups Sx (2R) are free of fivefold axes is also a Delone set. Conjecture 2, in turn, implies the following statement which seems to be much easier to prove. Conjecture 3 (Weak 5-Gonal Symmetry Conjecture) For a given Delone set X ⊂ R3 with mutually equivalent 2R-clusters, the local group Sx (2R) contains no fivefold axis. Obviously, these hypotheses relate to a celebrated crystallographic theorem on the impossibility of the global fivefold symmetry in a three-dimensional lattice. Conjectures 1–3 significantly reinforce the classical statement on the famous crystallographic restrictions. For a three-dimensional lattice, it is well-known that there is no fivefold symmetry even in the group Sx (r1 ), where r1 = 2r ≤ 2R is the minimum interpoint distance in the lattice. In contrast to lattices, in three-dimensional regular systems the pentagonal symmetry can locally manifest itself on clusters of a certain radius less than 2R. For instance, there are regular systems where even the group Sx (r3 ) contains the fivefold axis but the local group Sx (2R) does not (r3 being the third-smallest inter-point distance in X: r1 < r2 < r3 < 2R). It is still unknown, however, whether there are regular systems with fivefold symmetric 2R-clusters. Since the regularity radius for dimension 3 is not less than 6R [9], there are non-regular and even non-crystallographic sets among Delone sets X with mutually equivalent 2R-clusters. Thus, even the weakest Conjecture 3 is relevant for a wide class of these non-regular sets.
8
N. Dolbilin
3 Proof of the Main Result Generally speaking, in the local group Sx (2R) ⊂ O(3), x ∈ X, there are several axes of the maximal order nx . Bearing in mind the well-known list of all finite subgroups of O(3), we see that more than one axes of the maximal order nx in Sx (2R) cannot happen provided nx > 5. Let x be one of these axes. Since rk(Cx (2R)) = 3, i.e., the convex hull of the 2R-cluster is three-dimensional, there are necessarily points off the x in Cx (2R). Since X6 is a subset of X, the minimal inter-point distance 2r in X6 (in fact, the infimum of such distances) is not less than 2r = infx,x ∈X |x, x |. In order to prove that X6 is a Delone set with a certain parameter R , we will prove that the distance from a given point z ∈ R3 to the nearest point of X6 does not exceed R : minx∈X |z, x| ≤ R (due to the interpretation (1) for r and R in Sect. 1). We will be looking for the point x ∈ X6 nearest to z ∈ R3 by walking along a special finite point sequence in X6 . Definition 6 (Off-Axial Chain) A sequence of points [x1 , x2 , x3 , . . . ] ∈ X (finite or infinite) is called an off-axial chain if for any i = 1, 2, . . . the point xi+1 ∈ X is the nearest point to xi among all points of X that are off the axis xi of the local group Sxi (2R) of the maximal order nxi . If the subgroup of all (orientationpreserving) rotations of Sxi (2R) is trivial (that is, in the local group at xi there are no axes through x1 ), any point of X nearest to xi can be chosen as xi+1 . Note that for any point x1 ∈ X there are off-axial sequences [x1 , x2 , x3 , . . . ]. Lemma 1 Given a Delone set X and an off-axial sequence [x1 , x2 ,. . . , xm ,. . . ]⊂X, assume that xi ∈ / X6 for all i ∈ 1, m. Then for all m and all i ∈ 1, m |xi , xi+1 | < 0.868i−1 · 2R
and |x1 , xm | < 7.6 · 2R = 15.2R.
(2)
Proof Let [x1, x2 , , . . . , xm , . . . ] be an off-axial chain and assume that it belongs to X \ X6 . By construction, the length ri∗ of each link xi , xi+1 in this chain is less than 2R. Hence, xi+1 ∈ Cxi (2R) and the rotation gxi ∈ Sxi (2R) can be applied to xi+1 , too. By assumption, x1 ∈ / X6 , that is, nx1 ≥ 7. Let x2 be the nearest to x1 point that is off the axis lx1 and gx1 a rotation around the axis x1 by 2π/nx1 . Since r1∗ ≤ 2R, the cluster Cx1 (2R) necessarily contains vertices of a regular nx1 -gon P1 which is generated by the rotation gx1 ∈ Sx1 (2R) applied to the point x2 . The polygon P1 is located in a plane orthogonal to the x1 . The center of P1 is on lx1 (see Fig. 1). Denote the side-length of P1 by a1 . Since the circumradius of P1 does not exceed rx∗1 and nx1 ≥ 7, we have the following estimate for a1 and rx∗2 : rx∗2 ≤ a1 ≤ 2rx∗1 sin
π π ≤ 2rx∗1 sin < 0.868 rx∗1 < 0.868 · 2R. nx1 7
(3)
Local Groups in Delone Sets
9
Fig. 1 Polygon P1 and the beginning of an off-axial chain [x1 , x2 , . . . ]
Assuming now that x2 ∈ / X6 (i.e., nx2 ≥ 7), we will construct the next point x3 in the off-axial chain [x1 , x2 , . . . ] and obtain upper estimates for rx3 and a2 (inequalities (4) below). The rotation gx2 about the axis x2 is assumed to belong to the local group Sx2 (2R). Since x3 ∈ Cx2 (2R), gx2 can be applied to the point x3 . Hence, the cluster Cx2 (2R) necessarily contains vertices of a regular nx2 -gon P2 generated by rotation gx2 applied to the point x3 . Denote the side-length of P2 by a2 and note that a2 ≤ r2∗ ≤ 2R. Point x3 , as a vertex of the regular nx2 -gon P2 , has two adjacent vertices in P2 at a distance a2 from x3 . Vertex x3 and the two adjacent vertices of P2 form a noncollinear triple. Therefore, no matter how the axis x2 passes through the point x2 , at least one of the two neighboring points is off this axis. It follows that the distance rx∗3 from x3 to the nearest point x4 ∈ X \ x3 does not exceed a2 . Since we bear in mind that, in the set X \ x2 , there may be points closer to x3 than distance a1 we have rx∗2 ≤ a2 . Since nx2 ≥ 7, by the same argument as in (3) above, we obtain rx∗3 < a2 ≤ 2rx∗2 sin
π π ≤ 2rx∗2 sin < 0.868 rx∗1 < 0.8682 · 2R. nx2 7
(4)
This can be repeated over and over again. Under condition nxi ≥ 7 for all i ∈ 1, m, we obtain the off-axial chain [x1 , x2 , . . . ] for which the sequence of inter-point distances rx∗i = |xi , xi+1 | is dominated by a geometric progression, rx∗i+1 < 0.868 rx∗i < (0.868)i rx∗1 < (0.868)i · 2R. From this, we obtain the required inequalities (2).
10
N. Dolbilin
Now we are going to complete the Proof of Theorem 4. Given a Delone set X, Lemma 1 implies that an off-axial chain is finite if nxi ≥ 7. Moreover, the length m of such an off-axial chain in X is bounded from above by a constant depending only on R/r. This implies that the chain [x1 , x2 , . . . ] has points xm with nxm ≤ 6, i.e., xm ∈ X6 . By Lemma 1, the length of a segment satisfies |x1 , xm | < 15.2. Now we set up upper boundedness of the distance from an arbitrary space point z to the nearest point of the subset X6 . Let x1 be the nearest point of X to z (see Fig. 1) and xm ∈ X6 (by Lemma 1). Then |z, x1 | ≤ R and min |z, x| ≤ |z, xm | ≤ |z, x1 | + |x1 , xm | = 16.2 R.
x∈X6
(5)
Hence, Theorem 4 is proved with k = 16.2.
4 Concluding Remarks The upper bound for the parameter R established here is far from the optimal. Soon we will be able to present a sharper bound [10, 11]. The purpose of this paper is to present the result which is, in our opinion, of a new type. The result suggests a few conjectures which should be interesting both in itself and in the context of the theory of quasicrystals. For instance, in Penrose patterns, in structures of real Shechtman quasicrystals, the centers of 2R-clusters with local fivefold symmetry constitute a rich Delone subset. At the same time, in these known quasicrystalline structures, there are also Delone subsets of points with local crystallographic axes (including identical). However, according to Conjecture 1, not only in these structures but in any other possible Delone sets, points with local crystallographic axes inevitably constitute an essential part of the structure. Thus, an arbitrary Delone set in R3 has a kind of a crystallographic matrix. Acknowledgement This work is supported by the Russian Science Foundation under grant 20-11-19998.
References 1. Delone, B.N., Dolbilin, N.P., Shtogrin, M.I., Galiulin, R.V.: A local criterion for regularity of a system of points. Dokl. Akad. Nauk SSSR 227(1), 19–21 (1976) 2. Dolbilin, N.P.: Delone sets in R3 with 2R-regularity conditions. Topology and physics. volume dedicated to the 80th anniversary of academician Sergey Petrovich Novikov. Proc. Steklov Inst. Math. 302, 161–185 (2018) 3. Dolbilin, N., Garber, A., Leopold, U., Schulte, E., Senechal, M.: On the regularity radius of Delone sets in R3 . Discrete Comput. Geom. (2021, online). https://doi.org/10.1007/s00454021-00292-6
Local Groups in Delone Sets
11
4. Mackay, A.L.: Generalized crystallography. Comput. Math. Appl. Part B 12(1–2), 21–37 (1986) 5. Dolbilin, N.P., Shtogrin, M.I.: A local criterion for a crystal structure. In: Abstracts of the IXth All-Union Geometrical Conference (in Russian), p. 99. Kishinev (1988) 6. Dolbilin, N.P., Lagarias, J.C., Senechal, M.: Multiregular point systems. Discrete Comput. Geom. 20(4), 477–498 (1998) 7. Shtogrin, M.I.: On a bound of the order of a spider’s axis in a locally regular Delone system. In: Abstracts of the International Conference “Geometry, Topology, Algebra and Number Theory, Applications” dedicated to the 120th anniversary of B.N. Delone (1890–1980) (in Russian), Moscow, August 16–20, 2010, pp. 168–169 (2010). http://delone120.mi.ras.ru/ delone120abstracts.pdf 8. Dolbilin, N.P.: From local identity to global order. In: Materials of the XIII Lupanov International Seminar, MSU, June 17–22, 2019, pp. 13–22 (2019) 9. Baburin, I., Bouniaev, M., Dolbilin, N., Erokhovets, N.Yu., Garber, A., Krivovichev, S.V., Schulte, E.: On the origin of crystallinity: a lower bound for the regularity radius of Delone sets. Acta Crystallogr. Sect. A 74(6), 616–629 (2018) 10. Dolbilin, N.P., Shtogrin, M.I.: On crystallographicity of local groups of Delone sets in Euclidean plane. Comput. Math. and Math. Physics (submitted) 11. Dolbilin, N.P., Shtogrin, M.I.: Local groups in Delone sets in 3-dimensional Euclidean space (in preparation)
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk Denis A. Fedoseev, Vassily O. Manturov, and Igor M. Nikonov
Abstract The spaces of triangulations of a given manifold have been widely studied. The celebrated theorem of Pachner (Eur J Comb 12:129–145, 1991) says that any two triangulations of a given manifold can be connected by a sequence of bistellar moves, or Pachner moves, see also Gelfand et al. (Discriminants, Resultants, and Multidimensional Determinants. Birkhäuser, Boston (1994)), Nabutovsky (Comm Pure Appl Math 49:1257–1270, 1996). In the present paper we consider groups which naturally appear when considering the set of triangulations with fixed number of simplices of maximal dimension. There are three ways of introducing this groups: the geometrical one, which depends on the metric, the topological one, and the combinatorial one. The second one can be thought of as a “braid group” of the manifold and, by definition, is an invariant of the topological type of manifold; in a similar way, one can construct the smooth version. We construct a series of groups nk corresponding to Pachner moves of (k − 2)dimensional manifolds and construct a canonical map from the braid group of any k-dimensional manifold to nk thus getting topological/smooth invariants of these manifolds.
D. A. Fedoseev () Moscow State University, Moscow, Russia Moscow Center for Fundamental and Applied Mathematics, Moscow, Russia V. O. Manturov Moscow Institute of Physics and Technology, Moscow, Russia Kazan Federal University, Kazan, Russia I. M. Nikonov Moscow State University, Moscow, Russia © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_2
13
14
D. A. Fedoseev et al.
1 Introduction Returning back to 1954, J.W. Milnor in his first paper on link groups [9] formulated the idea that manifolds which share lots of well known invariants (homotopy type, etc.) may have different link groups. In 2015, the second named author [7] defined a series of groups Gkn for natural numbers n > k and formulated the following principle:
The Main Principle If dynamical systems describing the motion of n particles possess a nice codimension one property depending exactly on k particles, then these dynamical systems admit a topological invariant valued in Gkn .
We shall define braids on a manifold as loops in some configuration space related to the manifold. Following Gkn -ideology, we mark singular configurations, while moving along a loop in the configuration space, in order to get a word—an element of a “Gkn -like” group nk . Singular configurations will arise here from the moments of transformation of triangulations spanned by the configuration points; and in this case the good property of codimension one is “k points of the configuration lie on a sphere of dimension k − 3 and there are no points inside the sphere”. In the present paper, we shall consider an arbitrary closed d-manifold M d and for n large enough we shall construct the braid group Bn (M d ) = π1 (Cn (M d )) (see Definitions 1–3), where Cn (M d ) is the space of generic (in some sense) configurations of points in M d which are dense enough to span a triangulation of M. This braid group will have a natural map to the group nd+2 . We shall consider point configurations for which the Delaunay triangulation exists, see [1]. The idea of this work comes from the second named author, and the third named author defined the constructions of nk , k ≥ 5, given in Sect. 3.
2 The Manifold of Triangulations In the present section we define three types of manifold of triangulations: a geometrical one, a topological one, and a combinatorial one. We begin with geometrical approach, considering a manifold with a Riemannian metric.
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
15
2.1 Geometrical Manifold of Triangulations Fix a smooth manifold M of dimension d with a Riemannian metric g on it. Let n d be a large natural number. Consider the set of all Delaunay triangulations of M with n vertices x1 , . . . , xn (if such triangulations exist). Such Delaunay triangulations are indexed by sets of vertices, hence, the set of such triangulation forms a subset of the configuration space, which we denote by C(M, n). The above subset will be an open (not necessarily connected) manifold of dimension dn: if some n pairwise distinct points (x1 , . . . , xn ) form a Delaunay triangulation then the same is true for any collection of points (x1 , . . . , xn ) in the neighbourhood of (x1 , . . . , xn ). We call a set of points x1 , . . . , xn admissible if such a Delaunay triangulation exists. Hence, we get a non-compact (open) manifold Mgdn . We call two sets of points (x1 , . . . , xn ) and (x1 , . . . , xn ) adjacent if there is a path (x1,t , . . . , xn,t ) for t ∈ [0, 1] such that (x1,0 , . . . , xn,0 ) = (x1 , . . . , xn ) and (x1,1 , . . . , xn,1 ) = (x1 , . . . , xn ) and there exists exactly one t0 ∈ [0, 1] such that when passing through t = t0 the Delaunay triangulation (x1,t , . . . , xn,t ) undergoes a flip (also called Pachner moves or bistellar moves). The flip (Pachner move) corresponds to a position when some d + 2 points (xi1 ,t0 , . . . , xid+2 ,t0 ) belong to the same (d − 1)-sphere S d−1 such that no other point xj lies inside the ball B bounded by this sphere. Every manifold of triangulations described above has a natural stratification. Namely, every point of Mgdn is given by a collection (x1 , . . . , xn ). Such a collection is generic if there is no sphere S d−1 such that exactly d + 2 points among xk belong to this sphere without any points inside the sphere. We say that a point (x1 , . . . , xn ) is of codimension 1, if there exists exactly one sphere with exactly d + 2 points on it and no points inside it; analogously, codimension 2 strata correspond to either one sphere with d + 3 points or two spheres containing d + 2 points each. In codimension 2 this corresponds to either one point of valency five in Voronoï tiling or two points of valency four in Voronoï tiling. Hence, we have constructed a stratified (open) manifold Mgdn . We call it the geometrical manifold of triangulations. Note that the manifold Mgdn may be not connected, i.e., there can exist nonequivalent triangulations. On the other hand, if one considers the spines of some manifold, they all can be transformed into each other by Matveev–Piergallini moves [8]. Denote the connected components of Mgdn by (Mgdn )1 , . . . , (Mgdn )p . Definition 1 The geometrical n-strand braid groups of the manifold Mg are the fundamental groups Bg (Mg , n)j = π1 ((Mgdn )j ),
j = 1, . . . , p.
16
D. A. Fedoseev et al.
2.2 Topological Manifold of Triangulations The definition of geometrical manifold of triangulations heavily depends on the metric of the manifold M. For example, if we take M to be the torus glued from the square 1×10, the combinatorial structure of the manifold of triangulations will differ from the combinatorial structure for the case of the manifold of triangulations for the case of the torus glued from the square 1 × 1. Its analogue which is independent on the metric is the topological manifold of triangulations. We shall construct the 2-frame of this manifold. The idea is to catch all simplicial decompositions which may eventually happen for the manifold of triangulations for whatever metrics, and glue them together to get an open (non-compact) manifold. Consider a topological manifold M d . We consider all Riemannian metrics gα on this manifold. They give manifolds Mgdn as described in Sect. 2.1, which α are naturally stratified. By a generalised cell of such a stratification we mean a connected component of the set of generic points of Mgdn . α We say that two generalised cells C1 and C2 are adjacent it there exist two points, say, x = (x1 , . . . , xn ) in C1 and x = (x1 , . . . , xn ) in C2 , and a path xt = (x1 (t), . . . , xn (t)), such that xi (0) = xi and xi (1) = x (i) such that all points on this path are generic except for exactly one point, say, corresponding to t = t0 , which belongs to the stratum of codimension 1. We say that two generic strata of Mgdn , Mgdn are equivalent if there is a α β dn dn homeomorphism of Mgα → Mgβ taking one stratum to the other. A generalised 0-cell of the manifold of triangulations is an equivalence class of generic strata. Analogously, we define generalised 1-cells (Fig. 1) of the manifold of triangulations as equivalence classes of pairs of adjacent vertices for different metrics Mgdn . α In a similar manner, we define generalised 2-cells (Fig. 2) as equivalence classes of discs for metrics Mgdn such that: α 1. vertices of the disc are points in 0-strata; 2. edges of the disc connect vertices from adjacent 0-strata; each edge intersects codimension 1 set exactly in one point; 3. the cycle is spanned by a disc which intersects codimension 2 set exactly at one point; 4. equivalence is defined by homeomorphism taking disc to disc, edge to an equivalent edge and vertex to an equivalent vertex and respects the stratification.
C Fig. 1 Codimension 1 corresponds to a flip
C'
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
17
Fig. 2 Codimension 2 corresponds to a pentagon
dn . Thus, we get the 2-frame of the manifold Mtop disconnected.
This manifold might be
Definition 2 The topological n-strand braid groups of the manifold M are the fundamental groups dn )j ), Bt (M, n)j = π1 ((Mtop
j = 1, . . . , q.
2.3 Combinatorial Manifold of Triangulations In Sects. 2.1 and 2.2 we constructed manifolds of triangulations basing on the notion of Delaunay triangulation. We did not actually discuss the existence of such triangulation for a given manifold and a given set of points, requesting only that the number of points is sufficiently large and points are sufficiently dense. It turns out that this condition is not always sufficient, as shows in [1]. Even for a large number of points and a Riemannian manifold with metric arbitrary close to Euclidian one, there may not exist a Delaunay triangulation. One may impose additional restrictions on the vertex set or on the manifold itself to overcome this difficulty, but to work with the most general situation we shall consider the third notion of manifolds of triangulations: the combinatorial
18
D. A. Fedoseev et al.
dn manifold of triangulations which we denote by Mcomb . We construct the 2-frame of dn the manifold Mcomb which is needed to get the fundamental group. First, we fix n points on the manifold M d and consider triangulations of the manifold with vertices in those points. Now we do not restrict ourselves to Delaunay triangulations, but consider all triangulations of the manifold. Moreover, we work with equivalence classes of triangulations modulo the following relation: two triangulations T1 , T2 with (fixed) vertices v1 , . . . , vn are said to be equivalent if and only if for each pair (i, j ) ∈ n¯ the vertices vi , vj are connected by an edge of the triangulation T1 if and only if they are connected by an edge of the triangulation T2 . From now on saying “triangulation” we mean such equivalence class of triangulations. Those triangulations are the vertices (0-cells) of the frame dn . of the manifold Mcomb Two triangulations are connected by an edge (a 1-cell of the frame) if and only if they differ by a flip—a Pachner move [11]. Finally, the 2-cells of the frame are chosen to correspond to the relations of the groups nk (see Sect. 3). There are two types of such relations. One relation corresponds to the far commutativity, i.e., for any two independent flips α, β (flips related to different edges) we define a quadrilateral consisting of subsequent flips corresponding to α, β, α −1 , β −1 . The other relations correspond to all possible simplicial polytopes with d + 3 vertices inscribed in the unit sphere. With each polytope of such sort, we associate a relation of length d + 3 as shown in Sect. 3.
Definition 3 The combinatorial n-strand braid groups of the manifold M are the fundamental groups dn )j ), Bc (M, n)j = π1 ((Mcomb
j = 1, . . . , q.
3 The Groups nk In the present section we consider the case of the manifold M d = Rd being a vector space. The case of Euclidian space gives groups which are important for the general case. In the present paper we deal mostly with the case of d ≥ 3. The very interesting initial case d = 2 is studied in [4]. We start with the case d = 3.
3.1 The Case d = 3 Consider a configuration of n points in general position in R3 . We can think of these points as lying in a fixed tetrahedron ABCD. The points induce a unique Delaunay triangulation of the tetrahedron: four points form a simplex of the triangulation if and only if there is no other points inside the sphere circumscribed over these points. The triangulation transforms when the points move in the space.
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
19
In order to avoid degenerate Delaunay triangulations we exclude configurations where four points lie on one circle (intersection of a plane and a sphere). Transformations of the combinatorial structure of the Delaunay triangulation correspond to configurations of codimension 1 when five points lie on a sphere which does not contain any points inside. At this moment two simplices of the triangulation are replaced with three simplices as shown in Fig. 3 (or vice versa). This transformation is called a 2-3 Pachner move. To trace the evolution of triangulations that corresponds to a dynamics of the points we attribute a generator to each Pachner move. For the move that replace the simplices iklm, j klm with the simplices ij kl, ij km, ij lm in Fig. 3 we use the generator aij,klm . Note that (1) we can split the indices into two subsets according to the combinatorics of the transformation; (2) the generator aij,klm is not expected to be involutive because it changes the number of simplices of the triangulation. The relations on generators aij,klm correspond to configurations of codimension 2 which occurs when either (1) six points lie on the same sphere with empty interior, or (2) there are two spheres with five points on each of them, or (3) five points on one sphere compose a codimension 1 configuration. The last case means that the convex hull of the five points has a quadrilateral face (Fig. 4). The vertices of this face lie on one circle so we exclude this configuration.
i k
m
l j
Fig. 3 A Pachner move
i
k
n
m l
Fig. 4 A quadrilateral pyramid
20
D. A. Fedoseev et al.
If there are two different spheres with five points on each of them, then there is no simplex inscribed into the both spheres (otherwise its vertices would belong to one plane which contains the intersection of the spheres). Hence, the simplices inscribed into the first spheres and the simplices inscribed into the second one have no common internal points. For each sphere we can suppose that the faces of the convex hull of the inscribed simplices has only triangular faces; in the other case, that would be a configuration of codimension greater than two. So the convex hulls can have at most one common face, so we can transform them independently. This gives us a commutation relation aij,klm ai j ,k l m = ai j ,k l m aij,klm ,
(1)
{i, j, k, l, m} ∩ i , j , k , l , m < 4, {i, j } ∩ i , j , k , l , m < 2,
(2)
i , j ∩ {i, j, k, l, m} < 2.
(3)
where
and
Consider now the case of six points on one sphere. The convex hull of these points is a convex polyhedron. The polyhedron must have only triangular faces; otherwise, there is an additional linear condition (four points lie on one plane) which raises the codimension beyond 2. There are two such polyhedra (Fig. 5). For the octahedron on the left we specify the geometrical configuration assuming that the orthogonal projection along the direction ij maps the points i and j near
i
i
n k
l
j
n k
m
j
Fig. 5 Convex polyhedra with triangular faces and 6 vertices
l
m
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
akm,ijn
n m k
aij,klm
4 2
i=j l
aln,ikm
1
6
21
aln,ijm
5
3
aij,kln
akm,jln
Fig. 6 Orthogonal projection and the triangulation graph for the octahedron
the projection of the edge kl and the line ln is higher than km if you look from i to j (Fig. 6 (left)). Note that we live in R3 which we may consider as oriented. In this case we have six triangulations: 1. 2. 3. 4. 5. 6.
ij kl, ij kn, ij lm, ij mn; iklm, ikmn, j klm, j kmn; ikln, ilmn, j kln, j lmn; ij kl, ij km, ij lm, ikmn, j kmn; ij kl, ij kn, ij ln, ilmn, j lmn; ikln, ilmn, j klm, j kmn, klmn.
The first three have four simplices each, the last three have five simplices each. The Pachner moves between the triangulations are shown in Fig. 6 (right). Thus, we have the relation −1 −1 −1 akm,ij n aij,klm aln,ikm akm,j ln aij,kln aln,ij m = 1.
(4)
In the case of the shifted octahedron (Fig. 5 (right)) we assume the line ln lies higher than the line km when one looks from the vertex i to the vertex j (Fig. 7 (left)). Then we have six triangulations: 1. 2. 3. 4. 5. 6.
ij kl, ij km, ij mn; ij kl, ij ln, ilmn, j lmn; ij km, ij mn, iklm, j klm; ij kn, ikln, ilmn, j kln, j lmn; ij kn, iklm, ikmn, j klm, j kmn; ij kn, ikln, ilmn, j klm, j kmn, klmn.
The Pachner moves between the triangulations are shown in Fig. 7 (right). This gives us the relation aln,ij m akn,ij l akm,j ln = akm,ij l akn,ij m aln,ikm .
(5)
22
D. A. Fedoseev et al.
m
aln,ijm
l
n
k
akn,ijl
2 4
akm,jln
i=j
1
6
akm,ijl
3 5
akn,ijm
aln,ikm
Fig. 7 Orthogonal projection and the triangulation graph of the shifted octahedron
Definition 4 The group n5 is the group with generators
aij,klm | {i, j, k, l, m} ∈ n, ¯ |{i, j, k, l, m}| = 5
and relations 1. aij,klm = aj i,klm = aij,lkm = aij,kml , 2. aij,klm ai j ,k l m = ai j ,k l m aij,klm , for {i, j } ∩ i , j , k , l , m < 2,
{k, l, m} ∩ i , j , k , l , m < 3,
and i , j ∩ {i, j, k, l, m} < 2,
k , l , m ∩ {i, j, k, l, m} < 3
−1 −1 −1 3. akm,ij n aij,klm aln,ikm akm,j ln aij,kln aln,ij m = 1 for distinct i, j , k, l, m, n, 4. aln,ij m akn,ij l akm,j ln = akm,ij l akn,ij m aln,ikm for distinct i, j , k, l, m, n.
The group n5 can be used to construct invariants of braids and dynamic systems. Consider the configuration space C˜ n (R3 ) which consists of nonplanar n-tuples (x1 , x2 , . . . , xn ) of points in R3 such that for all distinct i, j, k, l the points xi , xj , xk , xl do not lie on the same circle. We construct a homomorphism from π1 (C˜ n (R3 )) to n5 . Let α = (x1 (t), . . . , xn (t)),
t ∈ [0, 1],
be a loop in C˜ n (R3 ). For any t the set x(t) = (x1 (t), . . . , xn (t)) determines a Delaunay triangulation T (t) of the polytope conv x(t). If α is in general position there will be a finite number of moments 0 < t1 < t2 < . . . < tN < 1 when the combinatorial structure of T (t) changes, and for each p the transformation of the triangulation at the moment tp will be the Pachner move on simplices with vertices ip , jp , kp , lp , mp . We assign to this move the generator aip jp ,kp lp mp or ai−1 p jp ,kp lp mp N 5 and denote φ(α) = p=1 aip jp ,kp lp mp ∈ n .
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
23
Theorem 1 The homomorphism φ : π1 (C˜ n (R3 )) → n5 is well defined. Proof We need to show that the element φ(α) does not depend on the choice of the representative α in a given homotopy class. Given a homotopy in general position α(τ ), τ ∈ [0, 1], of loops in C˜ n (R3 ), the transformations of the words φ(α(τ )) correspond to point configurations of codimension 2, considered above the definition of n5 , and thus are counted by the relations in the group n5 . Therefore, the element φ(α(τ )) of the group n5 remains the same when τ changes.
3.2 General Case The braids in higher dimensional Euclidean spaces were defined by the second named author in [5, 6]. For our needs we modify that definition slightly. Consider the configuration space C˜ n (Rk−2 ), 4 ≤ k ≤ n, consisting of n-point configurations x = (x1 , x2 , . . . , xn ) in Rk−2 , such that dim conv x = k − 2 and there are no k − 1 points which lie on one (k − 4)-dimensional sphere (the intersection of a (k − 3)-sphere and a hyperplane in in Rk−2 ). A configuration x = (x1 , x2 , . . . , xn ) ∈ C˜ n (Rk−2 ) determines a Delaunay triangulation of conv x which is unique when x is in general position. If the vertices xi1 , . . . , xik−1 span a simplex of the Delaunay triangulation then the interior of the circumscribed sphere over these points does not contain other points of the configuration. The inverse statement is true when x is generic. The condition that no k − 1 points lie on one (k − 4)-dimensional sphere ensures that there are no degenerate simplices in the Delaunay triangulation. Let α = (x1 (t), . . . , xn (t)), t ∈ [0, 1], be a loop in C˜ n (Rk−2 ). For any t the configuration x(t) = (x1 (t), . . . , xn (t)) determines a Delaunay triangulation T (t) of the polytope conv x(t). If α is generic then there will be a finite number of moments 0 < t1 < t2 < . . . < tL < 1 when the combinatorial structure of T (t) changes. We shall call such configurations singular. For each singular configuration x(ti ), either one simplex degenerates and disappears on the boundary ∂ conv x(t) or the Delaunay triangulation is not unique. That means that there is a sphere in Rk−2 which contains k points of x on it and no points of x inside. Assuming x is generic, the span of these k points is a simplicial polytope. Below we shall count only the latter type of singular configurations. The simplicial polytopes in Rk−2 with k vertices are described in [3]. Each of them is the join P ∗ Q of simplices P = conv(xp1 , . . . , xpl ) of dimension l − 1 ≥ 1 and Q = conv(xq1 , . . . , xqk−l ) of dimension k − l − 1 ≥ 1 such that the intersection relint(xp1 , . . . , xpl ) ∩ relint(xq1 , . . . , xqk−l ) consists of one point. We recall that the join of two sets X, Y ⊂ Rm is defined as X ∗ Y = { λx + (1 − λ)y | x ∈ X, y ∈ Y, λ ∈ [0, 1] }
24
D. A. Fedoseev et al.
and the relative interior of a finite set X ⊂ Rm is defined as
relint X = λx x | ∀x λx > 0, λx = 1 . x∈X
x∈X
The polytope P ∗ Q has two triangulations: l TP = xP ∪Q \ {xp } p∈P = xp1 · · · xpi−1 xpi+1 · · · xpl xq1 · · · xqk−l i=1 and k−l TQ = xP ∪Q \ {xq } q∈Q = xp1 · · · xpl xq1 · · · xqi−1 xqi+1 · · · xqk−l i=1 . Here P = {p1 , . . . , pl }, Q = {q1 , . . . , qk−l } and xJ = {xj }j ∈J for any J ⊂ {1, . . . , n}. The condition relint(xP ) ∩ relint(xQ ) = {z} implies P ∩ Q = ∅. Thus, when the configuration x(t) goes over a singular value ti , i = 1, . . . , L, in the Delaunay triangulation simplices TPi are replaced by simplices TQi for some subsets Pi , Qi ⊂ {1, . . . , n}, Pi ∩Qi = ∅, |Pi |, |Qi | ≥ 2, |Pi ∪ Qi | = k. This transformation is called a Pachner move. The pair of subsets (Pi , Qi ) we call the type of the Pachner move. We assign to the transformation the letter aPi ,Qi . Hence, the loop α produces a word (α) =
L
aPi ,Qi
(6)
i=1
in the alphabet Akn = aP ,Q | P , Q ⊂ {1, . . . , n}, P ∩ Q = ∅, |P ∪ Q| = k, |P |, |Q| ≥ 2 . Now let us consider a generic homotopy αs , s ∈ [0, 1] between two generic loops α0 and α1 . A loop αs = {x(s, t)}t ∈[0,1] can contain a configuration of codimension 2. This means that for some t the configuration x(s, t) has two different k-tuples of points, such that each of them lies on a sphere whose interior contains no points of x(s, t). If these spheres do not coincide then their intersection contains at most k −2 points (the intersection can not contain k − 1 points because x(s, t) ∈ C˜ n (Rk−2 )). Hence, the simplices involved in one Pachner move can not be involved in the other one, so the Pachner moves can be fulfilled in any order. If the k-tuples of points lie on one sphere, there is a sphere with k + 1 points of x(s, t) on it and its interior contains no points of x(s, t). These k + 1 points span a simplicial polytope in Rk−2 . Such polytopes are described in [3]. The description uses the notion of Gale transform.
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
25
Let X = {x1 , . . . , xn } be a set of n points in Rd such that dim conv X = d. Then n ≥ d + 1. Let xi = (x1i , . . . , xdi ) ∈ Rd , i = 1, . . . , n, be the coordinates of the points of X. The matrix ⎛
x11 ⎜x ⎜ 21 ⎜ M = ⎜· · · ⎜ ⎝xd1 1
x12 x22 ··· xd2 1
⎞ · · · x1n · · · x2n ⎟ ⎟ ⎟ · · · · · ·⎟ ⎟ · · · xdn ⎠ ··· 1
has rank d + 1. Then the dimension of the space ker M = { b ∈ Rn | Mb = 0 } of dependencies between columns of M is equal to n − (d + 1). Take any basis bj = (bj 1 , bj 2 , . . . bj n ), j = 1, . . . , n − d − 1, of ker M and write it in matrix form ⎛
b11 ···
B=⎝ bn−d−1,1
⎞ · · · b1n ··· ··· ⎠. · · · bn−d−1,n
(7)
The columns of the matrix B form a set Y = y1 , . . . , yn , yi = (b1i , . . . , bn−d−1,i ), in Rn−d−1 . The set Y is called a Gale transform of the point set X. Gale transforms which correspond to different bases of ker M are linearly equivalent. The vectors of the Gale transform Y may coincide. Let Y = y1 , . . . , yn be a Gale transform of X. The set Y¯ = {y¯1 , . . . , y¯n },
y¯i =
yi yi ,
yi = 0,
0,
yi = 0
is called a Gale diagram of the point set X. It is a subset of S n−d−2 ∪ {0}. Denote N = {1, . . . , n}. Two subsets Y¯ = {y¯1 , . . . , y¯n } and Y¯ = {y¯1 , . . . , y¯n } in S n−d−2 ∪ {0} are called equivalent if there is a permutation σ of N such that for any J ⊂ N 0 ∈ relint Y¯J ⇐⇒ 0 ∈ relint Y¯σ (J ) . Here we denote Y¯J = {y¯i }i∈J and Y¯J = {y¯i }i∈J . The properties of Gale diagrams can be summarized as follows [3]. Theorem 2 1. Let X be a set of n points which are vertices of some polytope P in Rd and Y¯ be its Gale diagram. Then the set of indices J ⊂ N defines a face of P if and only if 0 ∈ relint YN\J .
26
D. A. Fedoseev et al.
2. Let X and X be sets of vertices of polytopes P and P , |X| = X , and Y¯ and Y¯ be their Gale diagrams. Then P and P are combinatorially equivalent if and only if Y¯ and Y¯ are equivalent. 3. For any n-point set Y¯ ∈ S n−d−2 ∪ {0} such that Y¯ spans Rn−d−1 and 0 lies in the interior of conv Y¯ , there is an n-point set X in Rd such that Y¯ is a Gale diagram of X. The theorem implies (see [3]) that simplicial polytopes with k + 1 vertices in Rk−2 are in a bijection with standard Gale diagrams in R2 (defined uniquely up to isometries of the plane). A standard Gale diagram of order l = k +1 is a subset Y¯ , Y¯ = l, of the vertices 2l−1
set {eπip/ l } p=0 of the regular 2l-gon inscribed in the unit circle S 1 , such that: 1. any diameter of S 1 contains at most one point of Y¯ ; 2. for any diameter of S 1 , any open half-plane determined by it contains at least two points of Y¯ . The first property means the corresponding polytope is simplicial, the second means any of the k + 1 vertices of the polytope is a face. The number cl of standard Gale diagrams of order l is equal to 1
l+1 + − ϕ(h) × 2l/ h , 4 4l
cl = 2
[(l−3)/2]
h : 2h|l
where l = 2a0 ti=1 piai is the prime decomposition of l, and ϕ is Euler’s function. For small l the numbers are c5 = 1, c6 = 2, c7 = 5, see Fig. 8. Let us describe the triangulations of the simplicial polytopes with k + 1 vertices in Rk−2 .
l=5
l=6
l=7 Fig. 8 Standard Gale diagrams of small order
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
27
Let X = {x1 , . . . , xn } be a subset in Rd , so xi = (xi1 , . . . , xid ), i = 1, . . . , n. Let P = conv X be the convex hull of X, assume that dim P = d. A triangulation T of the polytope P with vertices in X is called regular if there is a height function h : X → R such that T is the projection of the lower convex of the lifting Xh = {x1h , . . . , xnh } ⊂ Rd+1 , where xih = (xi , h(xi )). This means that a set of indices J ⊂ {1, . . . , n} determines a face of T if and only if there exists a linear functional φ on Rd+1 such that φ(0, . . . , 0, 1) > 0 and J = i | φ(xih ) = minx h ∈Xh φ(x h ) . In case T is regular we write T = T (X, h). Any generic height function induces a regular triangulation. The Delaunay of X is regular with the height function h : Rd → R, triangulation d 2 2 h(z) = z = i=1 zi if z = (z1 , . . . , zd ) ∈ Rd . A height function h : X → R can be regarded as a vector h = (h1 , . . . , hn ) ∈ Rn where hi = h(xi ). Denote β(h) = Bh ∈ Rn−d−1 where B is the matrix (7) used to define a Gale transform of X. Let Y¯ = {y¯1 , . . . , y¯n } be a Gale diagram of X. Convex cones generated by the subsets of Y¯ split the space Rn−d−1 into a union of conic cells. A relation between the triangulation T (X, h) and the Gale diagram Y¯ can be described as follows. Theorem 3 1. If T (X, h) is a regular triangulation of X then β(h) belongs to a conic cell of maximal dimension in the splitting of Rn−d−1 induced by Y¯ . 2. Let J ⊂ N = {1, . . . , n}. The set XJ spans a cells of the triangulation T (X, h) if and only if β(h) ∈ concone(Y¯N\J ), where concone(XN\J ) is the convex cone spanned by the set Y¯N\J . Let P be a simplicial polytopes with l = k + 1 vertices in Rl−3 and Y¯ = {y¯1 , . . . , y¯l } be the corresponding standard Gale diagram. By Theorem 3 there are l different regular triangulation which correspond to open sectors between the rays spanned by the vectors of Y¯ . The graph whose vertices are combinatorial classes of triangulations of P and the edges are Pachner moves, is a cycle. Let us find which Pachner moves appear in this cycle. We change the order of vertices of P (and, hence, the order of the points of Y¯ ) so that the points y¯1 , . . . , y¯l appear in this sequence when one goes counterclockwise on the unit circle. For each i denote RY¯ (i) (respectively, LY¯ (i)) be the set of indices j of vectors y¯j that lie in the right (respectively, left) open half-plane incident to the oriented line spanned by the vector y¯i . Then the Pachner move which occurs when the vector β(h) passes y¯i from right to left, will be marked with the letter aRY¯ (i),LY¯ (i) ∈ Al−1 l . The Pachner moves of the whole cycle of triangulation give the word wY¯ = li=1 aR(i),L(i). Thus, we have the relation wY¯ = 1 that we should impose in order to make the words like (α) independent on resolutions of configurations of codimension 2.
28
D. A. Fedoseev et al.
Fig. 9 Standard Gale diagram of order 5
2 3 1 4 5
Example 1 Consider the standard Gale diagram of order 5 (Fig. 9). Then we have R(1) = { 4, 5 }, L(1) = { 2, 3 }, R(2) = { 1, 5 }, L(2) = { 3, 4 } etc. The corresponding word is equal to w = a45,23a15,34a12,45a23,15a34,12. We can give now the definition of nk groups. Definition 5 Let 4 ≤ k ≤ n. The group nk is the group with the generators aP ,Q ,
P , Q ⊂ {1, . . . , n}, P ∩ Q = ∅, |P ∪ Q| = k, |P |, |Q| ≥ 2,
and the relations: 1. aQ,P = aP−1,Q ; 2. far commutativity: aP ,Q aP ,Q = aP ,Q aP ,Q for each generators aP ,Q , aP ,Q such that P ∩ (P ∪ Q ) < |P |, P ∩ (P ∪ Q) < P ,
Q ∩ (P ∪ Q ) < |Q|, Q ∩ (P ∪ Q) < Q ;
3. (k + 1)-gon relations: for any standard Gale diagram Y¯ of order k + 1 and any subset M = {m1 , . . . , mk+1 } ⊂ {1, . . . , n} k+1
aMR (Y¯ ,i),ML (Y¯ ,i) = 1,
i=1
where MR (Y¯ , i) = {mj }j ∈RY¯ (i) , ML (Y¯ , i) = {mj }j ∈LY¯ (i) . Example 2 Let us write the (k + 1)-gon relations in nk for small k. The group n4 has one pentagon relation am4 m5 ,m2 m3 am1 m5 ,m3 m4 am1 m2 ,m4 m5 am2 m3 ,m1 m5 am3 m4 ,m1 m2 = 1.
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
29
Our definition of n4 differs slightly from the definition of these groups in [4]. To 2 obtain the groups defined in [4] we should add relations am = 1 and 1 m2 ,m3 m4 am1 m2 ,m3 m4 am1 m2 ,m5 m6 = am1 m2 ,m5 m6 am1 m2 ,m3 m4 , am1 m2 ,m3 m4 am1 m5 ,m2 m6 = am1 m5 ,m2 m6 am1 m2 ,m3 m4 , where |{m3 , m4 } ∩ {m5 , m6 }| ≤ 1. The group n5 has two hexagon relations am5 m6 ,m2 m3 m4 am1 m5 m6 ,m3 m4 am1 m2 ,m4 m5 m6 am1 m2 m3 ,m5 m6 · am3 m4 ,m1 m2 m6 am3 m4 m5 ,m1 m2 = 1, am5 m6 ,m2 m3 m4 am1 m5 m6 ,m3 m4 am1 m2 m6 ,m4 m5 am1 m2 m3 ,m5 m6 · am3 m4 ,m1 m2 m6 am4 m5 ,m1 m2 m3 = 1, as we have seen in the previous subsection. Theorem 4 Formula (6) defines a correct homomorphism : π1 (C˜ n (Rk−2 )) → nk . Proof We need to show that the element (α) does not depend on the choice of the representative α in a given homotopy class. Given a generic homotopy α(τ ), τ ∈ [0, 1], of loops in C˜ n (Rk−2 ), the transformations of the words (α(τ )) correspond to point configurations of codimension 2, considered above the definition of nk , and thus are counted by the relations in the group nk . Therefore, the element (α(τ )) of the group nk remains the same when τ changes.
4 Main Results 4.1 nk -Valued Invariant of Braids on Manifolds Theorem 5 Let (M d , g) be a manifold with a Riemannian metric and B(Mg , n)j , j = 1, . . . , p be its geometrical braid groups. Then for any j there is a well defined mapping B(Mg , n)j → nd+2 . Proof By Definition 1, the space of geometrical braids on the manifold M d is the fundamental group of the manifold of triangulations: B(Mg , n)j = π1 ((Mgdn )j ). Hence, we need to construct a mapping from homotopy classes of loops in (Mgdn )j into the group nd+2 .
30
D. A. Fedoseev et al.
Let us fix a number j and consider a loop α = (x1 (t), . . . , xn (t)), t ∈ [0, 1] in (Mgdn )j , where for each i = 1, . . . , n the point xi (t) ∈ M d . For each t the collection of points (x1 (t), . . . , xn (t)) defines a Delaunay triangulation T (t) of the manifold M. If the loop α is in general position, then there is a finite number of moments 0 < t1 < . . . < tN < 1 when the combinatorial structure of the triangulation T (t) changes. Each of those moments tp corresponds to a codimension 1 configuration of points of the manifold M d , and at each of them the triangulation undergoes some Pachner move, which transforms the triagulation TPp into simplices TQ p , simplices where Pp , Qp ⊂ {1, . . . , n}, Pp ∩Qp = ∅, Pp , Qp ≥ 2 and Pp ∪ Qp = d +2. To each of those moments we attribute the element aPp ,Qp of the group nd+2 . Thus a loop α produces a word (α) = N p=1 aPp ,Qp . Now we need to prove that this mapping : π((Mgdn )j ) → nd+2 is well defined: the element (α) does not depend on the choice of a representative in a given homotopy class. Let α(τ ) be a generic homotopy, where τ ∈ [0, 1] and α(0) = α. With it we associate a family of words (α(τ )) ∈ nd+2 . Note that the word (α(τ )) changes whenever the loop passes through a point of codimension 2 in the manifold of triangulations Mgdn . But such configurations of points in M d exactly correspond to the relations of the group nd+2 . Therefore the element (α(τ )) of the group nd+2 remains the same when τ changes. Quite analogously, we get the following Theorem 6 Let M d be a smooth manifold of dimension d and B(M, n)j , j = 1, . . . , q, be its topological braid groups. Then for any j there is a well defined mapping B(M, n)j → nd+2 . Proof By Definition 2, the topological braids group on the manifold M d is the dn ) ). fundamental group of the manifold of triangulations: B(M, n)j = π1 ((Mtop j dn Consider a loop γ in the manifold Mtop and let γ be in general position. There is a finite number of intersections x1 , . . . , xk between the loop γ and the codimension 1 stratum of the manifold of triangulations, where the triangulation undergoes a flip. Consider an intersection point xi and its neighbourhood U . The intersection point xi is a set of points x1,i , . . . , xn,i ∈ M. Consider two metrics gα and gβ on the manifold M, yielding a structure of geometrical manifold of triangulations on the neighbourhood U . Let us denote the neighbourhood U equipped with the corresponding metric by Ugα and Ugβ , respectively. As it was described in Sect. 2, equivalence of strata of the manifolds of triangulation Mgdn and Mgdn is defined by an existence of a homeomorphism α β dn dn h : Mgα → Mgβ with certain properties. dn gives rise to an arc l ⊂ U and an arc l ⊂ U , and The arc l = γ ∩ U ⊂ Mtop 1 gα 2 gβ l2 = h(l1 ) where h is the homeomorphism from the definition of cell equivalence. Likewise, the intersection point Xi ∈ U gives a point Xi ∈ Ugα and a point Xi ∈ Ugβ . Naturally, those points are the intersections between the codimension 1 stratum of the corresponding manifold and the arcs l1 , l2 , respectively.
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
31
At the point xi a certain Pachner move occurs. The type of this move is independent of the choice of metric on the manifold. Therefore, the Pachner moves occurring in the points xi , xi of the manifolds Ugα , Ugβ are one and the same. Choosing the numbering of the n points which form the vertices of the triangulations, we hence obtain the same generator of the group nd+2 corresponding to this intersection point. Therefore the letter which appears in the word (γ ) does not depend on the choice of the metric. Therefore the mapping is defined on the fundamental group of the topological dn and due to Theorem 5 it does not depend on the manifold of triangulations Mtop choice of a representative in the homotopy class of a loop. Hence, it is a well defined mapping from B(M, n)j to the group nd+2 . Hence, we get invariants of smooth metrical manifolds and of topological manifolds: these invariants are the corresponding images of the fundamental group of the manifold of triangulations in the corresponding group nk .
4.2 Triangulations of Polyhedra and Groups nk Triangulations of a given convex polyhedra are well studied. If we deal with stable triangulations, the set of those form a simplicial complex [2]. In the present section we show that they can be treated as elements of a certain group provided that some fixed triangulation plays the role of the unit element. Let x = {x1 , . . . , xn } ⊂ Rd , n > d, be the vertex set of a polytope W in general position, namely, any d + 1 points of x do not belong to one hyperplane. Let T be the set of regular triangulations of W (see page 27). We can consider T as a graph whose vertices are regular triangulations and whose edges are Pachner moves. This graph is connected, see [8]. Choose a regular triangulation T0 ∈ T . For any other triangulation T ∈ T there is a path γ = e1 e2 . . . el from T0 to T where each edge ei is a Pachner move of type (Pi , Qi ), see page 24. We assign the word ϕ(T ) = li=1 aPi ,Qi ∈ nd+2 to the triangulation T . Let Cay(nd+2) be the Cayley graph of the group nd+2 corresponding to the group presentation given in Definition 5. Theorem 7 The correspondence T → ϕ(T ) defines an embedding of the graph T into the graph Cay(nd+2 ). Proof We must show first that the map ϕ is well-defined, i.e., that the element ϕ(T ) does not depend on the choice of a path connecting T0 with T . It follows from the theory of I.M. Gelfand, M.M. Kapranov, and A.V. Zelevinsky [2, Chapter 7] (see also [10]) that the graph T is the edge graph of some polytope (W ) (called the secondary polytope of W ), see Fig. 10. The faces of (W ) correspond to triangulations which coincide everywhere except for divisions of two subpolytopes with d + 2 vertices or a subpolytope with d + 3 vertices in W . Hence,
32
D. A. Fedoseev et al.
Fig. 10 A pentagon and its secondary polytope
the faces give exactly the relations in nd+2 which appear in Definition 5. Thus, two different paths γ and γ , connecting T0 with some triangulation T , produce words ϕ(γ ) and ϕ(γ ) which differ by relations in nd+2 , so ϕ(γ ) = ϕ(γ ) ∈ nd+2 . In order to proof that ϕ is injective we construct a left inverse map to it. A formal l-dimensional simplex is any subset P ⊂ {1, . . . , n}, |P | = l + 1. Let Cl (n) be the linear space over Z2 whose basis consists of all the l-dimensional (n) formal simplices. We can identifyCl (n) Z2l+1 with the space of l-chains of the simplicial complex for a (n − 1)-dimensional simplex whose vertices are marked with numbers 1, 2, . . . , n. The differential ∂ : Cl (n) → Cl−1 (n) of this complex is defined by the formula ∂(P ) = p∈P P \ {p}. Any triangulation T of W defines a d-chain c(T ) = P : xP ∈T P such that ∂c(T ) = ∂W where ∂W is the formal sum of (d − 1)-dimensional faces forming the boundary of the polytope W . The triangulation T can be restored from its chain c(T ) as the support of the chain. Thus, we can identify triangulations of W with a subset of Cd (n). If a triangulation T differs form a triangulation T by applying a Pachner move of type (P , Q) then c(T ) − c(T ) = ∂(P ∪ Q). Define a homomorphism ψ : nd+2 → Cd (n) by the formula ψ(aP ,Q ) = ∂(P ∪ Q) =
(P ∪ Q) \ {i}.
i∈P ∪Q
The map ψ annihilates the relations of nd+2 because they come from cycles of triangulations of some polytope with d + 3 vertices (or two polytopes with d + 2 vertices). The image of a relation is equal to the difference of the chains for the final triangulation and the initial one. But these triangulations coincide so the image is (n) zero. Thus, ψ defines a correct homomorphism from nd+2 to Cd (n) Z2d+1 .
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
33
Fig. 11 Associahedron K5
For any regular triangulation T consider a path γ = e1 e2 . . . el which connects T0 with T in T . Any edge ei of γ corresponds to a Pachner move of type (Pi , Qi ). Then c(T ) − c(T0 ) =
l
i=1
∂(Pi ∪ Qi ) =
l
ψ(aPi ,Qi ) = ψ(ϕ(T )).
i=1
Thus, the element ϕ(T ) determines the chain c(T ), hence, it uniquely determines the triangulation T . Example 3 Let W ⊂ R2 be a convex n-gon. Its secondary polytope (W ) is the associahedron (Stasheff polytope) Kn−1 [12], see Fig. 11. Thus, we have the following statement: Corollary 1 The graph Cay(n4 ) contains a subgraph isomorphic to the edge graph of the associahedron Kn−1 .
5 Other Developments: The Groups ˜ nk In the present section we provide constructions resembling the nk groups but different in some aspects, which prove useful in certain situations where the nk groups are not sufficient. Geometrically speaking, here we consider oriented triangulations. Therefore, the indices of the generators of the groups are not independent and do not freely commute as was seen, for example, in the groups n5 (see Definition 4, first relation).
34
D. A. Fedoseev et al.
To be precise, we introduce the following: Definition 6 Let 5 ≤ k ≤ n. The group ˜ nk is the group with the generators
aP ,Q | P , Q—cyclically ordered subsets of {1, . . . , n},
P ∩ Q = ∅, |P ∪ Q| = k, |P |, |Q| ≥ 2 ,
and the following relations: 1, 2, 3. the relations 1, 2, 3 from Definition 5; 4. aQ,P = aQ ,P , where Q = Q , P = P as unordered sets, and as cyclically ordered sets Q differs from Q by one transposition and P differs from P by one transposition. These groups have the same connection to geometry and dynamics as the groups nk defined above. To illustrate that, consider the following dynamical system. Example 4 Let us have a dynamical system describing a movement of a point around the configuration of four points on one circle, see Fig. 12. Such system may be presented as the word in the group ˜ 65 −1 −1 w = a35,164a46,253 a46,135a35,246 .
1
1
a35,164 4
5 6
4
5
3
6
3 2
2
–1 a35,246 1
1 4
5
3
6 2
–1 a46,253 4
5
a46,135
3
6 2
Fig. 12 A movement of a point around the configuration of four points on one circle
Manifolds of Triangulations, Braid Groups of Manifolds, and the Groups nk
35
We can show that φ(α) is nontrivial in the abelianisation (˜ 65 )ab = ˜ 65 [˜ 65 , ˜ 65 ] of the group ˜ 65 . Computer calculations show that the group (˜ 65 )ab can be presented as the factor of a free commutative group with 120 generators modulo 2×6! = 1440 relations that span a space of rank 90 if we work over Z2 . Adding the element w to the relations increases the rank to 91, so the element w is nontrivial in (˜ 65 )ab , therefore it is nontrivial in ˜ 65 . Hence, we have encountered a peculiar new effect in the behaviour of ˜ n5 which is not the case of Gkn . Certainly, the abelianisation of Gkn is non-trivial and very easy to calculate since any generator enters each relation evenly many times. However, this happens not only for relations but for any words which come from braids. Thus, any abelianisations are trivial in interesting cases. For ˜ nk , it is an interesting new phenomenon, and the invariants we have demonstrated so far are just the tip of the iceberg to be investigated further. Note that both for the groups nk and ˜ nk we have many invariants since the corank of those groups is big. Acknowledgments The authors are very grateful to S. Kim for extremely useful discussions and comments. The first named author was supported by the Russian Foundation for Basic Research (grant No. 19-01-00775-a, grant No. 20-51-53022). The second named author was supported by the Russian Foundation for Basic Research (grant No. 20-51-53022, grant No. 19-51-51004). The third named author was supported by the Russian Foundation for Basic Research (grant No. 1801-00398-a, grant No. 19-51-51004). The work of V.O.M. was also funded by the development program of the Regional Scientific and Educational Mathematical Center of the Volga Federal District, agreement No. 075-02-2020.
References 1. Boissonnat, J.D., Dyer, R., Ghosh, A., Martynchuk, N.: An obstruction to Delaunay triangulations in Riemannian manifolds. Discrete Comput. Geom. 59(1), 226–237 (2018) 2. Gelfand, I.M., Kapranov, M.M., Zelevinsky, A.V.: Discriminants, Resultants, and Multidimensional Determinants. Birkhäuser, Boston (1994) 3. Grünbaum, B.: Convex Polytopes, 2nd edn. Spriger, Berlin (2003) 4. Kim, S., Manturov, V.O.: Artin’s braids, Braids for three space, and groups n4 and Gkn (2019). arXiv:1902.11238 5. Manturov, V.O.: The Groups Gkn and fundamental groups of configuration spaces. J. Knot Theory Ramifications 26(6), 1742004 (2017) 6. Manturov, V.O.: The groups Gkk+1 and fundamental groups of configuration spaces. In: Zelmanov, E.I., Shum, K.P., Kolesnikov, P.S. (eds.) Proceedings of the 3rd International Congress on Algebra and Combinatorics, pp. 310–323. World Scientific, Singapore (2019) 7. Manturov, V.O., Nikonov, I.M.: On braids and groups Gkn . J. Knot Theory Ramifications 24(13), 1541009 (2015) 8. Matveev, S.V.: Algorithmic Topology and Classification of 3-Manifolds. Springer, Berlin (2007)
36
D. A. Fedoseev et al.
9. Milnor, J.: Link groups. Ann. Math. 59(2), 177–195 (1954) 10. Nabutovsky, A.: Fundamental group and contractible closed geodesics. Comm. Pure Appl. Math. 49(12), 1257–1270 (1996) 11. Pachner, U.: P.L. homeomorphic manifolds are equivalent by elementary shellings. Eur. J. Comb. 12(2), 129–145 (1991) 12. Stasheff, J.D.: Homotopy associativity of H-spaces. I, II. Trans. Amer. Math. Soc. 108, 293– 312 (1963)
A Proof of the Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour Matt Bright, Olga Anosova, and Vitaliy Kurlin
Abstract In 1833 Gauss defined the linking number of two disjoint curves in 3-space. For open curves this double integral over the parameterised curves is real-valued and invariant modulo rigid motions or isometries that preserve distances between points, and has been recently used in the elucidation of molecular structures. In 1976 Banchoff geometrically interpreted the linking number between two line segments. An explicit analytic formula based on this interpretation was given in 2000 without proof in terms of 6 isometry invariants: the distance and angle between the segments and 4 coordinates specifying their relative positions. We give a detailed proof of this formula and describe its asymptotic behaviour that wasn’t previously studied.
1 The Gauss Integral for the Linking Number of Curves For any vectors u, v, w ∈ R3 , the triple product is (u, v, w) = (u × v) · w. Definition 1 (Gauss Integral for the Linking Number) For piecewise-smooth curves γ1 , γ2 : [0, 1] → R3 , the linking number can be defined as the Gauss integral [7] 1 lk(γ1 , γ2 ) = 4π
1 1 0
0
(γ˙1 (t), γ˙2 (s), γ1 (t) − γ2 (s)) dt ds , |γ1 (t) − γ2 (s)|3
(1)
where γ˙1 (t), γ˙2 (s) are the vector derivatives of the 1-variable functions γ1 (t), γ2 (s).
M. Bright · O. Anosova · V. Kurlin () University of Liverpool, Liverpool, UK e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_3
37
38
M. Bright et al.
The formula in Definition 1 gives an integer number for any closed disjoint curves γ1 , γ2 due to its interpretation as the degree of the Gauss map (t, s) =
γ1 (t) − γ2 (s) : S1 × S1 → S2, |γ1 (t) − γ2 (s)|
i.e.,
deg =
area((S 1 × S 1 )) , area(S 2 )
where the area of the unit sphere is area(S 2 ) = 4π. This integer degree is the linking number of the 2-component link γ1 γ2 ⊂ R3 formed by the two closed curves. Invariance modulo continuous deformation of R3 follows easily for closed curves— indeed, the function under the Gauss integral in Definition 1, and hence the integral itself, varies continuously under perturbations of the curves γ1 , γ2 . This should keep any integer value constant. For open curves γ1 , γ2 , the Gauss integral gives a real but not necessarily integer value, which remains invariant under rigid motions or orientation-preserving isometries, see Theorem 1. In R3 with the Euclidean metric these are rotations, translations and reflections. The isometry invariance of the real-valued linking number for open curves has found applications in the study of molecules [1]. Any smooth curve can be well-approximated by a polygonal line, so the computation of the linking number reduces to a sum over line segments L1 , L2 . In 1976 Banchoff [3] has lk(L1 , L2 ) in terms of the endpoints of each segment, see details of this and other past work in Sect. 3. In 2000 Klenin and Langowski [8] proposed a formula for the linking number lk(L1 , L2 ) of two straight line segments in terms of 6 isometry invariants of L1 , L2 , referring to a previous paper in which it was used without any detailed proof [17]. The paper [8] also does not provide details of the form’s derivation. The usefulness of an invariant based formula can be seen by considering the analogy with the simpler concept of the scalar (dot) product of vectors. The algebraic or coordinate-based formula expresses the scalar product of two vectors u = (x1 , y1 , z1 ) and v = (x2 , y2 , z2 ) as u · v = x1 x2 + y1 y2 + z1 z2 , which in turn depend on the co-ordinates of their endpoints. However, the scalar product for highdimensional vectors u, v ∈ Rn can also expressed in terms of only 3 parameters u · v = |u| · |v| cos (u, v). The two lengths |u|, |v| and the angle (u, v) are isometry invariants of the vectors u, v. This second geometric or invariant-based formula makes it clear that u · v is an isometry invariant, while it is harder to show u · v = x1 x2 + y1 y2 + z1 z2 is invariant under rotations. It also provides other geometric insights that are hard to extract from the coordinate-based formula—for example, u · v oscillates as a cosine wave when the lengths |u|, |v| are fixed, but the angle (u, v) is varying. In this paper, we provide a detailed proof of the invariant-based formula for the linking number in Theorem 2 and new corollaries in Sect. 6 formally investigating the asymptotic behaviour of the linking number, which wasn’t ptreviously studied. Our own interest in the asymptotic behaviour is motivated by the definition of the periodic linking number by Panagiotou [13] as an invariant of networks that are infinitely periodic in three directions, by calculating the infinite sum of the linking number between one line segment and all copies of another such segment. In [13]
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
39
there is a complex proof that this sum is convergent for 3-periodic structures, which could be simplified and improved by a new asymptotic analysis of the closed form.
2 The Outline of the Invariant-Based Formula and Consequences We list key properties of lk(γ1 , γ2 ) below which are frequently assumed without proof in other literature—we have provided a proof for these in the appendices. Theorem 1 (Properties of the Linking Number) The linking number defined by the Gauss integral in Definition 1 for curves γ1 , γ2 has the following properties: (a) (b) (c) (d) (e) (f)
the linking number is symmetric: lk(γ1 , γ2 ) = lk(γ2 , γ1 ); lk(γ1 , γ2 ) = 0 for any curves γ1 , γ2 that belong to the same plane; lk(γ1 , γ2 ) is independent of parameterisations of γ1 , γ2 with fixed endpoints; lk(−γ1 , γ2 ) = −lk(γ1 , γ2 ), where −γ1 has the reversed orientation of γ1 ; the linking number lk(γ1 , γ2 ) is invariant under any scaling v → λv for λ > 0; lk(γ1 , γ2 ) is multiplied by det M under any orthogonal map v → Mv.
Our main Theorem 2 will prove an analytic formula for the linking number of any line segments L1 , L2 in terms of 6 isometry invariants of L1 , L2 , which are introduced in Lemma 1. Simpler Corollary 1 expresses lk(L1 , L2 ) for any simple orthogonal oriented segments L1 , L2 defined by their lengths l1 , l2 > 0 and initial endpoints O1 , O2 , respectively, with the Euclidean distance d(O1 , O2 ) = d > 0, so −−−→ that L1 , L2 , O1 O2 form a positively oriented orthogonal basis whose signed volume −−−→ (L1 , L2 , O1 O2 ) = l1 l2 d is the product of the lengths, see the first picture in Fig. 1.
Fig. 1 Each line segment Li is in the plane z = (−1)i d/2 , i = 1, 2. Left: signed distance d > 0, the endpoint coordinates a1 = 0, b1 = 1 and a2 = 0, b2 = 1, the lengths l1 = l2 = 1. Right: signed distance d < 0, the endpoint coordinates a1 = −1, b1 = 1 and a2 = −1, b2 = 1, so l1 = l2 = 2. In both middle pictures α = π/2 is the angle from prxy (L1 ) to prxy (L2 ) with x-axis as the bisector
40
M. Bright et al.
Corollary 1 (Linking Number for Simple Orthogonal Segments) For any simple orthogonal oriented line segments L1 , L2 ⊂ R3 with lengths l1 , l2 and a distance d as defined above, the linking number is ⎞ ⎛ l 1 l 1 2 ⎠. lk(L1 , L2 ) = − arctan⎝ 4π 2 2 2 d l1 + l2 + d The above expression is a special case of general formula (3) for a1 = a2 = 0 and α = π/2. If l1 = l2 = l, the linking number in Corollary 1 becomes l2 1 arctan √ . 4π d 2l 2 + d 2
lk(L1 , L2 ) = − If l1 = l2 = d, then lk(L1 , L2 ) = −
1 1 1 arctan √ = − . 4π 24 3
Corollary 1 implies that the linking number is in the range (−1/8, 0) for any simple orthogonal segments with d > 0, which wasn’t obvious from Definition 1. If L1 , L2 move away from each other, then lim lk(L1 , L2 ) = −
d→+∞
1 arctan 0 = 0. 4π
Alternatively, if segments with l1 = l2 = l become infinitely short, the limit is again zero: lim lk(L1 , L2 ) = 0
l→0
for any fixed d. The limit lim arctan x =
x→+∞
π 2
implies that if segments with l1 = l2 = l become infinitely long for a fixed distance d, lim lk(L1 , L2 ) = −
l→+∞
1 1 l2 =− . arctan √ 2 2 4π 8 d 2l + d
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
41
If we push segments L1 , L2 of fixed (possibly different) lengths l1 , l2 towards each other, the same limit similarly emerges: 1 lim lk(L1 , L2 ) = − . d→0 8 See more general corollaries in Sect. 6.
3 Past Results about the Gauss Integral for the Linking Number The survey [15] reviews the history of the Gauss integral, its use in Maxwell’s description of electromagnetic fields [12], and its interpretation as the degree of a map from the torus to the sphere. In classical knot theory lk(γ1 , γ2 ) is a topological invariant of a link consisting of closed curves γ1 γ2 , whose equivalence relation is ambient isotopy. This relation is too flexible for open curves which can be isotopically unwound, and hence doesn’t preserve the Gauss integral for open curves γ1 , γ2 . Computing the value of the Gauss integral directly from the parametric equation of two generic curves is only possible by approximation, but this problem is simplified when we consider simply straight lines. The first form of the linking number between two straight line segments in terms of their geometry is described by Banchoff [3]. Banchoff considers the projection of segments on to a plane orthogonal to some vector ξ ∈ S 2 . The Gauss integral is interpreted as the fraction of the unit sphere covered by those directions of ξ for which the projection will have a crossing. This interpretation was the foundation of a closed form developed by Arai [2], using van Oosterom and Strackee’s closed formula for the solid angle subtended by a tetrahedron given by the origin of a sphere and three points on its surface. An alternative calculation for this solid angle is given in [14] as a starting point for calculating further invariants of open entangled curves. This form does not employ geometric invariants, but was used in [8] to claim a formula (without a proof) similar to Theorem 2, which is proved in this paper with more corollaries in Sect. 6.
4 Six Isometry Invariants of Skewed Line Segments in 3-Space This section introduces 6 isometry invariants, which uniquely determine positions of any line segments L1 , L2 ⊂ R3 modulo isometries of R3 , see Lemma 1.
42
M. Bright et al.
It suffices to consider only skewed line segments that do not belong to the same 2-dimensional plane. If L1 , L2 are in the same plane , for example if they are parallel, then L˙ 1 (t) × L˙ 2 (s) is orthogonal to any vector L1 (t) − L2 (s) in the plane , hence lk(L1 , L2 ) = 0. We denote by L¯ 1 , L¯ 2 ⊂ R3 the infinite oriented lines through L1 , L2 respectively. In a plane with fixed coordinates x, y, all angles are measured anticlockwise from the positive x-axis. Definition 2 (Invariants of Line Segments) Let α ∈ [0, π] be the angle between oriented line segments L1 , L2 ⊂ R3 . Assuming that L1 , L2 are not parallel, there is a unique pair of parallel planes i , i = 1, 2, each containing the infinite line L¯ i through the line segment Li . We choose orthogonal x, y, z coordinates in R3 so that (a) the horizontal plane {z = 0} is in the middle between 1 , 2 , see Fig. 1; (b) (0, 0, 0) is the intersection of the projections prxy (L¯ 1 ), prxy (L¯ 2 ) to {z = 0}; (c) the x-axis bisects the angle α from prxy (L¯ 1 ) to prxy (L¯ 2 ), the y-axis is chosen so that α is anticlockwisely measured from the x-axis to the y-axis in {z = 0}; (d) the z-axis is chosen so that x, y, z are oriented in the right hand way, then d is −−−→ the signed distance from 1 to 2 (negative if O1 O2 is opposite to the z-axis in Fig. 1). of the segments Li in Let ai , bi be the coordinates of the initial and final endpoints the infinite line L¯ i whose origin is Oi = i ∩(z-axis) = 0, 0, (−1)i d/2 , i = 1, 2. The case of segments L1 , L2 lying in the same plane ⊂ R3 can be formally covered by Definition 2 if we allow the signed distance d from 1 to 2 to be 0. Lemma 1 (Parameterisation) Any oriented line segments L1 , L2 ⊂ R3 are uniquely determined modulo a rigid motion by their isometry invariants α ∈ [0, π] and d, a1 , b1 , a2 , b2 ∈ R from Definition 2. For li = bi − ai , i = 1, 2, each line segment Li is Li (t) =
d α α (ai + li t) cos , (−1)i (ai + li t) sin , (−1)i 2 2 2
,
t ∈ [0, 1].
(2)
If t ∈ R in Lemma 1, the corresponding point Li (t) moves along the line L¯ i . Lemma 2 (Formulae for Invariants) Let L1 , L2 ⊂ R3 be any skewed oriented line segments given by their initial and final endpoints Ai , Bi ∈ R3 so that Li = −−→ Ai Bi , i = 1, 2. Then the isometry invariants of L1 , L2 in Lemma 1 are computed as follows: the lengths −−→ li = Ai Bi , the signed distance −−−→ [L1 , L2 , A1 A2 ] d= , |L1 × L2 |
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
43
the angle α = arccos a1 =
L2 L1 cos α − l2 l1
bi = ai + li ,
−−−→ A1 A2 · , sin2 α
L1 · L2 , l1 l2 a2 =
−−−→ L2 L1 A1 A2 − cos α · , l2 l1 sin2 α
i = 1, 2.
Lemma 3 guarantees that the linking number behaves symmetrically in d, meaning that we may confine any particular analysis to cases where d > 0 or d < 0. Lemma 3 (Symmetry) Let L1 , L2 ⊂ R3 be parameterised as in Lemma 1. Under the central symmetry CS : (x, y, z) → (−x, −y, −z) with respect to the origin (0, 0, 0) ∈ R3 , the line segments keep their invariants α, a1 , b1 , a2 , b2 . The signed distance d and the linking number change their signs: lk(CS(L1 ), CS(L2 )) = −lk(L1 , L2 ).
5 Invariant-Based Formula for the Linking Number of Segments This section proves main Theorem 2, which expresses the linking number of any line segments in terms of their 6 isometry invariants from Definition 2. In 2000 Klenin and Langowski claimed a similar formula [8], but gave no proof, which requires substantial lemmas below. One of their 6 invariants differs from the signed distance d. Theorem 2 (Invariant-Based Formula) For any line segments L1 , L2 ⊂ R3 with invariants α ∈ (0, π), a1 , b1 , a2 , b2 , d ∈ R from Definition 2, we have lk(L1 , L2 ) = AT(a1 , b2 ; d, α) + AT(b1 , a2 ; d, α) − AT(a1 , a2 ; d, α) − AT(b1 , b2 ; d, α) , 4π (3) where ab sin α + d 2 cot α AT(a, b; d, α) = arctan √ . d a 2 + b 2 − 2ab cos α + d 2
44
M. Bright et al.
For α = 0 or α = π, we set π AT(a, b; d, α) = sign(d) . 2 We also set lk(L1 , L2 ) = 0 when d = 0. a 2 + b2 − 2ab cos α gives the squared third side of the triangle with the first two sides a, b and the angle α between them, hence is always non-negative. Also a 2 + b2 − 2ab cos α = 0 only when the triangle degenerates for a = ±b and cos α = ±1. For α = 0 or α = π when L1 , L2 are parallel, lk(L1 , L2 ) = 0 is guaranteed by AT(a, b; d, α) = sign(d)π/2 = 0 when d = 0 holds in addition to α = 0 or α = π. The symmetry of the AT function in a, b, i.e. AT(a, b; d, α) = AT(b, a; d, α) implies that lk(L1 , L2 ) = lk(L2 , L1 ) by Theorem 2. Since the AT function is odd in d, i.e. AT(a, b; −d, α) = −AT(b, a; d, α), Lemma 3 is also respected. Figure 2 shows how the function AT(a, b; d, α) from Theorem 2 depends on 2 of 4 parameters when others are fixed. For example, if α = π/2, then ab . AT(a, b; d, π/2) = arctan √ d a 2 + b2 + d 2 If also a = b, then the surface a2 AT(a, a; d, π/2) = arctan √ d 2a 2 + d 2 in the first picture of Fig. 2 has the horizontal ridge AT(0, 0; d, π/2) = 0
and
lim AT(a, a; d, π/2) = sign(d)
d→0
π 2
for a = 0.
If d, α are free, but a = 0, then 2 π d cot α AT(0, 0; d, α) = arctan −α . = sign(d) arctan(cot α) = sign(d) √ 2 d d2 Similarly, lim AT(0, 0; d, α) = sign(d)
d→∞
π 2
−α ,
see the lines AT = π/2 − α on the boundaries of the AT surfaces in the middle pictures of Fig. 2.
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
45
√ Fig. 2 Graph of AT(a, b; d, α) = arctan (ab sin α + d 2 cot α)/(d a 2 + b2 − 2ab cos α + d 2 ) , where 2 of 4 parameters are fixed
Lemma 4 (lk(L1 , L2 ) Is an Integral in p, q) In the notations of Definition 2 we have 1 lk(L1 , L2 ) = − 4π
b1 /d b2 /d
a1 /d a2 /d
sin α dp dq 1 + p2
+ q 2 − 2pq cos α
3/2
for d > 0.
46
M. Bright et al.
Lemma 5 (The Linking Number as a Single Integral) In the notations of Definition 2 we have lk(L1 , L2 ) =
I (a2 /d) − I (b2 /d) , 4π
where the function I (r) is defined as the single integral b1 /d
I (r) = a1 /d
sin α(r − p cos α) dp 1 + p2 sin2 α 1 + p2 + r 2 − 2pr cos α
for d > 0.
Lemma 6 (I (r) via Arctan) The integral I (r) in Lemma 5 can be found as
sin α(r − p cos α) dp 1 + p2 + r 2 − 2pr cos α
1 + p2 sin2 α
= arctan
pr sin α + cot α 1 + p2 + r 2 − 2pr cos α
+ C.
Proof (Theorem 2) Consider the right hand side of the equation in Lemma 6 as the 3-variable function ! pr sin2 α + cos α F (p, r; α) = arctan . 1 + p2 + r 2 − 2pr cos α The function in Lemma 5 is I (r) = F (b1 /d, r; α) − F (a1 /d, r; α). By Lemma 5 lk(L1 , L2 ) =
(F (b1 /d, a2 /d; α) − F (a1 /d, a2 /d; α)) 4π (F (b1 /d, b2 /d; α) − F (a1 /d, b2 /d; α)) . − 4π
Rewrite a typical function from the numerator above as follows:
F (a/d, b/d; α) = arctan
ab/d 2 sin2 α + cos α 1 + (a/d)2 + (b/d)2 − 2 ab/d 2 cos α
ab sin α + d 2 cot α . = arctan √ d a 2 + b 2 − 2ab cos α + d 2 If we denote the last expression as AT(a, b; d, α), required formula (3) follows. In Lemma 4, Lemma 5 and above we have used that the signed distance d is positive. By Lemma 3 the signed distance d and lk(L1 , L2 ) simultaneously change
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
47
their signs under a central symmetry, while all other invariants remain the same. Since AT(a, b; −d, α) = −AT(a, b; d, α) due to the arcsin function being odd, formula (3) holds for d < 0. The formula remains valid even for d = 0, when L1 , L2 are in the same plane. The expected value lk(L1 , L2 ) = 0 needs an explicit setting, see the discussion of the linking number discontinuity around d = 0 in Corollary 4.
6 The Asymptotic Behaviour of the Linking Number of Segments This section discusses how the linking number lk(L1 , L2 ) in Theorem 2 behaves with respect to the six parameters of line segments L1 , L2 . Figure 3 shows how the linking number between two equal line segments varies with different pairs of parameters. Corollary 2 (Bounds of the Linking Number) For any line segments L1 , L2 ⊂ R3 , the linking number lk(L1 , L2 ) is between ±1/2. Corollary 3 (Sign of the Linking Number) In the notation of Definition 2, lim lk(L1 , L2 ) = 0 = lim lk(L1 , L2 ). α→π
α→0
Any non-parallel L1 , L2 have sign(lk(L1 , L2 )) = − sign(d). So lk(L1 , L2 ) = 0 if and only if d = 0 or α = 0 or α = π. Corollary 4 (lk for d → 0) If d → 0 and L1 , L2 remain disjoint, formula (3) is continuous and lim lk(L1 , L2 ) = 0.
d→0
If d → 0 and L1 , L2 intersect each other in the limit case d = 0, then lim lk(L1 , L2 ) = −
d→0
sign(d) , 2
where d → 0 keeps its sign. Corollary 5 (lk for d → ±∞) If the distance d → ±∞, then lk(L1 , L2 ) → 0.
48
M. Bright et al.
Fig. 3 The linking number lk(a, a + l; a, a + l; d, α) from formula (3), where 2 of 4 parameters are fixed
Corollary 6 (lk for ai , bi → ∞) If the invariants d, α of line segments L1 , L2 ⊂ R3 remain fixed, but ai → +∞ or bi → −∞ for each i = 1, 2, then lk(L1 , L2 ) → 0. Corollary 7 (lk for ai → bi ) If one of segments L1 , L2 ⊂ R3 becomes infinitely short so that its final endpoint tends to the fixed initial endpoint (or vice versa), while all other invariants of L1 , L2 from Definition 2 remain fixed, then lk(L1 , L2 ) → 0.
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
49
7 Example Computations of the Linking Number and a Discussion If curves γ1 , γ2 ⊂ R3 consist of straight line segments, then lk(γ1 , γ2 ) can be computed as the sum of lk(L1 , L2 ) over all line segments L1 ⊂ γ1 and L2 ⊂ γ2 . Figure 4 shows polygonal links whose linking numbers were computed by our Python code at https://github.com/MattB-242/Closed_Lk_Form. The asymptotic linking number introduced by Arnold converges for infinitely long curves [16], while our initial motivation was a computation of geometric and topology invariants to classify periodic structures such as textiles [4] and crystals [5]. Theorem 2 allows us to compute the periodic linking number between a segment J and a growing finite lattice Ln whose unit cell consists of n copies of two oppositely oriented segments orthogonal to J . This periodic linking number is computed for increasing n in a lattice extending periodically in one, two and three directions, see Fig. 5. As n increases, the lk function asymptotically approaches an approximate value of 0.30 for 1- and 3-periodic lattice and 0.29 for the 2-periodic lattice. The invariant-based formula has allowed us to prove new asymptotic results of the linking number in Corollaries 2–7 of Sect. 6. Since the periodic linking number is a real-valued invariant modulo isometries, it can be used to continuously quantify similarities between periodic crystalline networks [5]. One next possible step is to use formula (3) to prove asymptotic convergence of the periodic linking number for arbitrary lattices, so that we can show that the limit of the infinite sum is a general invariant that can be used to develop descriptors of crystal structures. The Milnor invariants generalise the linking number to invariants of links with more than two components. An integral for the three component Milnor invariant [6] may be possible to compute in a closed form similarly to Theorem 2. The interesting open problem is to extend the isometry-based approach to finer invariants of knots.
Fig. 4 1st: The Hopf link as two square cycles has lk = −1 and vertices with coordinates L1 = (−2, 0, 2),(2, 0, −2),(2, 0, 2),(−2, 0, 2) and L2 = (−1, −2, 0),(−1, 2, 0),(1, 2, 0),(1, −2, 0). 2nd: The Hopf link as two triangular cycles has lk = +1, L1 = (−1, 0, −1), (−1, 0, 1), (1, 0, 0) and L2 = (0, 0, 0), (2, 1, 0), (2, −1, 0). 3rd: Solomon’s link has lk = +2, L1 = (−1, 1, 1), (−1, −1, 1), (3, −1, 1), (3, 1, −1), (1, 1, −1), (1, 1, 1) and L2 = (−1, −2, 0), (−1, 2, 0), (1, 2, 0), (1, −2, 0). 4th: Whitehead’s link has lk = 0, L1 = (−3, −2, −1), (0, −2, −1), (0, 2, 1), (0, 0, 1), (0, 0, 0), (3, 0, 0), (3, 1, 0), (−3, 1, 0), (−3, −2, −1) and L2 = (−1, 0, −3), (−1, 0, 3), (1, 0, 3), (−1, 0, 3)
50
M. Bright et al.
Fig. 5 Left: the line segment J = (0, 0, −1) + t (0, 0, 2) in red and the periodic lattice L(nk ) derived from n copies of the ‘unit cell’ L = {(−1, −1, 0) + t (0, 2, 0), (−1, 1, 0) + s(0, −2, 0)}, t, s ∈ [0, 1], translated in k linearly independent directions for increasing n ∈ Z. Right: the periodic linking number lk(J, L(nk )) is converging fast for n → +∞
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
51
The Gauss integral in (1) was extended to the infinite Kontsevich integral containing all finite-type or Vassiliev’s invariants of knots [9]. The coefficients of this infinite series were explicitly described [10] as solutions of exponential equations with non-commutative variables x, y in a compressed form modulo commutators of commutators in x, y. The underlying metabelian formula for ln(ex ey ) has found an easier proof [11] in the form of a generating series in the variables x, y. In conclusion, we have proved the analytic formula for the linking number based on 6 isometry invariants that uniquely determine a relative position of two line segments in R3 . Though a similar formula was claimed in [8], no proof was given. Hence this paper fills an important gap in the literature by completing the proof via three non-trivial lemmas in Sect. 5, see detailed computations in the arXiv version of this paper.
Appendix 1: Proofs of Lemmas about Isometry Invariants Appendices 1, 2, and 3 provide extra details that are not included into the main paper. Proof (Lemma 1) Any line segments L1 , L2 ⊂ R3 that are not in the same plane are contained in distinct parallel planes. For i = 1, 2, the plane i is spanned by Li and the line parallel to L3−i and passing through an endpoint of Li . Let Li be the orthogonal projection of the line segment Li to the plane 3−i . The non-parallel lines through the segments Li and L3−i in the plane i intersect at a point, say Oi . Then the line segment O1 O2 is orthogonal to both planes i , hence to both Li for i = 1, 2. By Theorem 1, to compute lk(L1 , L2 ), one can apply a rigid motion to move the mid-point of the line segment O1 O2 to the origin O = (0, 0, 0) ∈ R2 and make O1 O2 vertical, i.e., lying within the z-axis. The signed distance d can be defined as the difference between the coordinates of O2 = 2 ∩ (z-axis) and O1 = 1 ∩ (z-axis) along the z-axis. Then Li lies in the horizontal plane i = z = (−1)i d/2 , i = 1, 2. An extra rotation around the z-axis guarantees that the x-axis in the horizontal plane = {z = 0} is the bisector of the angle α ∈ [0, π] from prxy (L¯ 1 ) to prxy (L¯ 2 ), where prxy : R3 → is the orthogonal projection. Then the infinite lines L¯ i through Li have the parametric form (x, y, z) = t cos(α/2), (−1)i t sin(α/2), (−1)i d/2 with s ∈ R. The point Oi can be considered as the origin of the oriented infinite line L¯ i . Let the line segment Li have a length li > 0 and its initial point have the coordinate ai ∈ R in the oriented line L¯ i . Then the final endpoint of Li has the coordinate bi = ai + li . To cover only the segment Li , the parameter t should be replaced by ai + li t, t ∈ [0, 1].
52
M. Bright et al.
Proof (Lemma 2) The vectors along the segments are Li = vi − ui , hence the −−→ lengths are li = |Li | = |Ai Bi | , i = 1, 2. The angle α ∈ [0, π] between L1 , L2 can be found from the scalar product L1 · L2 = |L1 | · |L2 | cos α as α = arccos((L1 · L2 )/(l1 l2 )), because the function arccos x : [−1, 1] → [0, π] is bijective. Since L1 and L2 are not proportional, the normalised vector product e3 = (L1 × L2 )/(|L1 × L2 |) is well-defined and orthogonal to both L1 , L2 . Then e1 = L1 /|L1 |, e2 = L2 /|L2 | and e3 have lengths 1 and form a linear basis of R3 , where the last vector is orthogonal to the first two. Let O be any fixed point of R3 , which can be assume to be the origin (0, 0, 0) −−→ in the coordinates of Lemma 1, though its position relative to Ai Bi is not yet determined. First we express the points Oi = (0, 0, (−1)i d/2) ∈ L¯ i from Fig. 1 −−→ in terms of given vectors Ai Bi . If the initial endpoint Ai has a coordinate ai in the − −→ line L¯ i through Li , then Oi Ai = ai ei and −−−→ −−→ −−→ −−→ −−−→ −−→ −−−→ −−−→ O1 O2 = OO2 − OO1 = (OA2 − O2 A2 ) − (OA1 − O1 A1 ) = A1 A2 + a1 e1 − a2 e2 . −−−→ By Definition 2, O1 O2 is orthogonal to the line L¯ i going through the vector ei = −−−→ −−−→ Li /|Li | for i = 1, 2. Then the product [e1 , e2 , O1 O2 ] = (e1 × e2 ) · O1 O2 equals −−−→ |e1 × e2 |d, where O1 O2 is in the z-axis, the signed distance d is the z-coordinate of O2 minus the z-coordinates O1 . −−−→ −−−→ −−−→ The product [e1 , e2 , O1 O2 ] = (e1 ×e2 )·(A1 A2 +a1 e1 −a2 e2 ) = (e1 ×e2 )· A1 A2 doesn’t depend on a1 , a2 , because e1 × e2 is orthogonal to both e1 , e2 . Hence the signed distance is d=
−−−→ −−−→ [e1 , e2 , A1 A2 ] [L1 , L2 , A1 A2 ] = , |e1 × e2 | |L1 × L2 |
which can be positive or negative, see Fig. 1. It remains to find the coordinate ai of the initial endpoint of Li relative to the −−−→ −−−→ origin Oi ∈ L¯ i , i = 1, 2. The vector O1 O2 = A1 A2 + a1 e1 − a2 e2 is orthogonal to −−−→ both ei if and only if the scalar products vanish: O1 O2 · ei = 0. Due to |e1 | = 1 = |e2 | and e1 · e2 = cos α, we get −−−→ e1 · A1 A2 + a1 − a2 (e1 · e2 ) = 0, −−−→ e2 · A1 A2 + a1 (e1 · e2 ) − a2 = 0,
↔
1 − cos α cos α −1
!
! a1 a2
−−−→! e1 · A1 A2 =− −−−→ . e2 · A1 A2
The determinant of the 2 × 2 matrix is cos2 α − 1 = − sin2 α = 0, because L1 , L2 are not parallel. Then −−−→! 1 a1 −1 cos α e1 · A1 A2 = −−−→ a2 sin2 α − cos α 1 e2 · A1 A2
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
53
and a1 =
−−−→ −−−→ −e1 · A1 A2 + cos α(e2 · A1 A2 )
−−−→ (e2 cos α − e1 ) · A1 A2
= sin2 α sin2 α −−−→ L2 A1 A2 L1 = · cos α − , l2 l1 sin2 α −−−→ −−−→ −−−→ cos α(e1 · A1 A2 ) − e1 · A1 A2 (e2 − e1 cos α) · A1 A2 a2 = = sin2 α sin2 α −−−→ L2 L1 A1 A2 = − cos α · . l2 l1 sin2 α
The coordinates of the final endpoints are obtained as bi = ai + li , i = 1, 2.
Proof (Lemma 3) Under the central symmetry CS, in the notation of Lemma 2 the −−−→ vectors L1 , L2 , A1 A2 change their signs. Then the formulae for α, a1 , b1 , a2 , b2 −−−→ gives the same expression, but the triple product [L1 , L2 , A1 A2 ] and d change their signs. Since the central symmetry CS is an orthogonal map M with det M = −1, the new linking number changes its sign as follows: lk(CS(L1 ), CS(L2 )) = lk(CS(L2 ),
CS(L1 )) = −lk(L1 , L2 ),
where we also make use of the invariance of lk under exchange of the segments from Theorem 1 (f).
Appendix 2: Proofs of Lemmas for the lk Formula in Theorem 2 Proof (Lemma 4) The following computations assume that a1 , a2 , l1 , l2 , α are given and t, s ∈ [0, 1]. α d , −(a1 + l1 t) sin α, − ), 2 2 α d L2 (s) = ((a2 + l2 s) cos , (a2 + l2 s) sin α, ), 2 2 α α L˙ 1 (t) = (l1 cos , −l1 sin , 0), 2 2 α α L˙ 2 (s) = (l2 cos , l2 sin , 0), 2 2 L1 (t) = ((a1 + l1 t) cos
54
M. Bright et al.
α α L˙ 1 (t) × L˙ 2 (s) = (0, 0, 2l1 l2 sin cos ) = (0, 0, l1 l2 sin α), 2 2 L1 (t) − L2 (s) = ((a1 − a2 + l1 t − l2 s) cos α, −(a1 + a2 + l1 t + l2 s) sin α, −d), L˙ 1 (t), L˙ 2 (s), L1 (t) − L2 (s) = −dl1 l2 sin α,
1 lk(L1 , L2 ) = 4π
1 1 ˙ (L1 (t), L˙ 2 (s), L1 (t) − L2 (s)) dt ds |L1 (t) − L2 (s)|3 0
=
1 4π
1
1
0
0
0
−dl1 l2 sin α dt ds 3/2 2 d + (a1 − a2 + l1 t − l2 s)2 cos2 α2 + (a1 + a2 + l1 t + l2 s)2 sin2 α2
dl1 l2 sin α =− 4π
1 1 0
0
dt ds 3/2 . 2 2 2 d + (a1 − a2 + l1 t − l2 s) cos α2 + (a1 + a2 + l1 t + l2 s)2 sin2 α2
To simplify the last integral, introduce the variables p = (a1 + l1 t)/d and q = (a2 + l2 s)/d. In the new variables p, q the expression under the power 3/2 in the denominator becomes α α d 2 + (pd − qd)2 cos2 + (pd + qd)2 sin2 2 2 α α = d 2 1 + (p2 − 2pq + q 2 ) cos2 + (p2 − 2pq + q 2 ) cos2 2 2 2 2 2 α 2 α 2 2 α 2 α + sin − sin = d 1 + p cos + q − 2pq cos 2 2 2 2 = d 2 (1 + p2 + q 2 − 2pq cos α). The old variables are expressed as t = (pd − a1 )/ l1 , ts = (pd − a2 )/ l2 and have the differentials dt = d/ l1 dp, ds = d/ l2 dq. Since t, s ∈ [0, 1], the new variables p, q have the ranges [a1 /d, b1 /d] and [a2 /d, b2 /d], respectively. Then the linking number has the required expression in the lemma: b1 /d b2 /d
dl1 l2 sin α lk(L1 , L2 ) = − 4π
a1 /d a2 /d
1 =− 4π
b1 /d b2 /d
a1 /d a2 /d
d2 dd dq l1 l2 d 3 (1 + p2 + q 2 − 2pq cos α)3/2
sin α dp dq . (1 + p2 + q 2 − 2pq cos α)3/2
Due to Lemma 3, the above computations assume that the signed distance d > 0.
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
55
Proof (Lemma 5) Complete the square in the expression under power 3/2 in Lemma 4: 1 + p2 + q 2 − 2pq cos α = 1 + p2 sin2 α + (q − p cos α)2 . The substitution (q − p cos α) = (1 + p2 sin2 α) tan2 ψ for the new variable ψ simplifies the sum of squares to 1 + tan2 ψ = 1/ cos2 ψ. Since q varies within [a2 /d, b2 /d], for any fixed p ∈ [a1 /d, b1 d], the range [ψ0 , ψ1 ] of ψ satisfies a2 − p cos α tan ψ0 = d 1 + p2 sin2 α
and
b2 − p cos α tan ψ1 = d . 1 + p2 sin2 α
Since we treat p, ψ as independent variables, the Jacobian of the substitution (p, q) → (p, ψ) equals ∂q ∂ 2 2 = p cos α + tan ψ 1 + p sin α = ∂ψ ∂ψ
1 + p2 sin2 α cos2 ψ
.
In the variables p, ψ the expression under the double integral of Lemma 4 becomes sin α dq sin α dp dq ∂q dψ = 2 2 2 2 2 3/2 (1 + p2 + q 2 − 2pq cos α)3/2 ∂ψ ((1 + p sin α) + (1 + p sin α) tan ψ) dψ 1 + p2 sin2 α sin α dp = cos2 ψ (1 + p2 sin2 α)3/2 (1 + tan2 ψ)3/2 =
sin α dp cos ψ dψ 1 + p2 sin2 α
1 lk(L1 , L2 ) = − 4π
b1 /d
a1 /d
1 = 4π
b1 /d
a1 /d
.
ψ1
sin α dp 1 + p2 sin2 α sin α dp
1 + p2 sin2 α
cos ψ dψ ψ0
(sin ψ0 − sin ψ1 ).
56
M. Bright et al.
Express the sin functions for the bounds ψ0 , ψ1 in terms of tan as sin ψ0 = 2 Using tan ψ0 = (a2 /d − p cos α)/( 1 + p2 sin2 α) tan ψ0 / 1 + tan ψ0 . obtained above, we get
"
(1 + p2 sin2 α) + ( ad2 − p cos α)2
1 + tan2 ψ0 =
1 + p2 sin2 α
"
1 + p2 + ( ad2 )2 − 2 ad2 p cos α
=
. 1 + p2 sin2 α " a2 1 + p2 sin2 α d − p cos α sin ψ0 = 1 + p2 + ( ad2 )2 − 2 ad2 p cos α 1 + p2 sin2 α =
a2 d
− p cos α
1 + p2 + ( ad2 )2 − 2 ad2 p cos α
.
Then sin ψ1 has the same expression with a2 replaced by b2 . After substituting these expressions in the previous formula for the linking number, we get 1 lk(L1 , L2 ) = 4π
b1 /d
1 + p2 sin2 α
⎝
a2 d
− p cos α
1 + p2 + ( ad2 )2 − 2 ad2 p cos α ⎞ b2 − p cos α d ⎠ − 2 1 + p + ( bd2 )2 − 2 bd2 p cos α a1 /d
=
⎛ sin α dp
S(a2 /d) − S(b2 /d) , 4π
where b1 /d
I (r) = a1 /d
sin α(r − p cos α) dp . (1 + p2 sin2 α) 1 + p2 + r 2 − 2pr cos α
Proof (Lemma 6) The easiest way is to differentiate the function arctan ω for ω=
pr sin2 α + cos α
sin α 1 + p2 + r 2 − 2pr cos α
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
57
with respect to the variable p remembering that r, α are fixed parameters. For notational clarity, we use an auxiliary symbol for the expression under the square root: R = 1 + p2 + r 2 − 2pr cos α. Then ω=
pr sin2 α + cos α √ sin α R
and
√ 2p − 2r cos α r sin2 α R − (rp sin2 α + cos α) √ 2 R 1 = √ r sin2 α(1 + p2 + r 2 − 2pr cos α) − (rp sin2 α + cos α)(p − r cos α) R R sin α
1 dω = dp R sin α
=
rp2 sin2 α + r 3 sin2 α − 2pr 2 cos α sin2 α − rp2 sin2 α + pr 2 cos α sin2 α − p cos α + r √ R R sin α
=
r 3 sin2 α − pr 2 cos α sin2 α − p cos α + r (r − p cos α)(1 + r 2 sin2 α) √ = √ . R R sin α R R sin α
√ d dω dω 1 (sin α R)2 × × arctan ω = = √ dp 1 + ω2 dp dp (sin α R)2 + (pr sin2 α + cos α)2 =
R sin2 α R sin2 α + (p2 r 2 sin4 α + 2pr sin2 α cos α + cos2 α)
×
(r − p cos α)(1 + r 2 sin2 α) √ R R sin α
sin α (r − p cos α)(1 + r 2 sin2 α) = √ × 2 2 2 sin α(1 + p + r − 2pr cos α) + (p2 r 2 sin4 α + 2pr sin2 α cos α + cos2 α) R = =
sin α(r − p cos α)(1 + r 2 sin2 α) (1
+ p2
2
sin α
+ r2
2
sin α
+ p2 r 2
sin α(r − p cos α)(1 + r 2 sin2 α) √ = √ sin α) R (1 + p2 sin2 α)(1 + r 2 sin2 α) R 4
sin α(r − p cos α) sin α(r − p cos α) . √ = (1 + p2 sin2 α) R (1 + p2 sin2 α) 1 + p2 + q 2 − 2pq cos α
Since we got the required expression under the integral I (r), Lemma 6 is proved.
Appendix 3: Proofs of Corollaries of Main Theorem 2 Proof of Corollary 1 By definition any simple orthogonal segments L1 , L2 have α = π/2 and initial endpoints a1 = 0 = a2 , hence b1 = l1 , b2 = l2 . Substituting the values above into (3) gives AT(0, l2 ; d,
π ) = 0, 2
AT(l1 , 0; d,
π ) = 0, 2
AT(0, 0; d,
π ) = 0. 2
58
M. Bright et al.
Then ⎛ ⎞ l l 1 1 1 2 ⎠. arctan ⎝ lk(L1 , L2 ) = − AT(l1 , l2 ; d, α) = − 4π 4π 2 d l + l2 + d 2 1
2
Proof (Corollary 2) By Theorem 2 lk(L1 , L2 ) is a sum of 4 arctan functions divided by 4π. Since each arctan is strictly between ±π/2, the linking number is between ±1/2. Proof (Corollary 3) If α = 0 or α = π, then cot α is undefined, so Theorem 2 sets AT(a, b; d, α) = sign(d)π/2. Then lk(L1 , L2 ) = sign(d)π/2(1 + 1 − 1 − 1) = 0. Theorem 2 also specifies that lk(L1 , L2 ) = 0 for d = 0. If d = 0 and α → 0 within [0, π] while all other parameters remain fixed, then d 2 cot α → +∞. Hence each of the 4 arctan functions in Theorem 2 approaches π/2, so lk(L1 , L2 ) → 0. The same conclusion similarly follows in the case α → π when d 2 cot α → −∞. If L1 , L2 are not parallel, the angle α between them belongs to (0, π). In d > 0, Lemma 4 says that 1 lk(L1 , L2 ) = − 4π
b1 /d b2 /d
a1 /d a2 /d
sin α dp dq . (1 + p2 + q 2 − 2pq cos α)3/2
Since the function under the integral is strictly positive, lk(L1 , L2 ) < 0. By Lemma 3 both lk(L1 , L2 ) simultaneously change their signs under a central symmetry. Hence, the formula sign(lk(L1 , L2 )) = − sign(d) holds for all d including d = 0 above. Proof (Corollary 4) Recall that lim arctan x = ±π/2. By Corollary 3 assume x→±∞
that α = 0, α = π, so α ∈ (0, π). Then sin α > 0, a 2 +b2 −2ab cos α > (a −b)2 ≥ 0 and ab sin α + d 2 cot α lim AT(a, b; d, α) = lim arctan √ d→0 d→0 d a 2 + b 2 − 2ab cos α + d 2 π = sign(a) sign(b) sign(d) , 2 so Theorem 2 gives lim lk(L1 , L2 ) =
d→0
sign(d) (sign(a1 ) − sign(b1 ))(sign(b2 ) − sign(a2 )). 8
In the limit case d = 0, the line segments L1 , L2 ⊂ {z = 0} remain disjoint in the same plane if and only if both endpoint coordinates ai , bi have the same sign
The Invariant-Based Formula for the Linking Number and Its Asymptotic Behaviour
59
for at least one of i = 1, 2, which is equivalent to sign(ai ) − sign(bi ) = 0, i.e., lim lk(L1 , L2 ) = 0 from the product above. Hence formula (3) is continuous under d→0
d → 0 for any non-crossing segments. Any segments that intersect in the plane {z = 0} when d = 0 have endpoint coordinates ai < 0 < bi for both i = 1, 2 and have the limit lim lk(L1 , L2 ) =
d→0
sign(d) sign(d) (−1 − 1)(1 − (−1)) = − 8 2
as required.
Proof (Corollary 5) If d → ±∞, while all other parameters of L1 , L2 remain fixed, then the function AT(a, b; d, α) = arctan
ab sin α + d 2 cot α √ d a 2 + b2 − 2ab cos α + d 2
from Theorem Theorem 2 has the limit arctan(sign(d) cot α) = sign(d) (π/2 − α). Since the four AT functions in Theorem 2 include the same d, α, their limits cancel, so lk(L1 , L2 ) → 0. Proof (Corollary 6) If ai → +∞, then ai ≤ bi → +∞, i = 1, 2. If bi → −∞, then bi ≥ ai → −∞, i = 1, 2. Consider the former case ai → +∞, the latter is similar. Since d, α are fixed, a 2 + b 2 − 2ab cos α + d 2 ≤ (a + b)2 + d 2 ≤ 5b 2 for large enough b. Since arctan(x) increases, π ab sin α + d 2 cot α → sign(d) AT(a, b; d, α) ≥ arctan √ 2 db 5 as b ≥ a → +∞. Since the four AT functions in Theorem 2 have the same limit when their first two arguments tend to + ± ∞, these 4 limits cancel and we get lk(L1 , L2 ) → 0. Proof (Corollary 7) lk(L1 , L2 ) = 0 for d = 0. It’s enough to consider the case d = 0. Then ab sin α + d 2 cot α AT(a, b; d, α) = arctan √ d a 2 + b 2 − 2ab cos α + d 2 from Theorem 2 is continuous. Let (say for i = 1) a1 → b1 , the case b1 → a1 is similar. The continuity of AT implies that AT(a1 , b2 ; d, α) → AT(b1 , b2 ; d, α) and AT(a1 , a2 ; d, α) → AT(b1 , a2 ; d, α). In the limit all terms in Theorem 2 cancel, hence lk(L1 , L2 ) → 0.
60
M. Bright et al.
References 1. Ahmad, R., Paul, S., Basu, S.: Characterization of entanglements in glassy polymeric ensembles using the gaussian linking number. Phys. Rev. E 101(2), 022503 (2020) 2. Arai, Z.: A rigorous numerical algorithm for computing the linking number of links. Nonlinear Theory Appl. 4(1), 104–110 (2013) 3. Banchoff, T.: Self-linking numbers of space polygons. Indiana U. Math. J 25, 1171–1188 (1976) 4. Bright, M., Kurlin, V.: Encoding and topological computation on textile structures. Comput. Graph. 90, 51–61 (2020) 5. Cui, P., McMahon, D., Spackman, P., Alston, B., Little, M., Day, G., Cooper, A.: Mining predicted crystal structure landscapes with high throughput crystallisation: old molecules, new insights. Chem. Sci. 10, 9988–9997 (2019) 6. DeTurck, D., Gluck, H., Komendarczyk, R., Melvin, P., Shonkwiler, C., Vela-Vick, D.: Pontryagin invariants and integral formulas for Milnor’s triple linking number (2011). arXiv:1101.3374 7. Gauss, C.F.: Integral formula for linking number. Zur Mathematischen Theorie der Electrodynamischen Wirkungen, Collected Works 5, 605 (1833) 8. Klenin, K., Langowski, J.: Computation of writhe in modeling of supercoiled DNA. Biopolymers Original Res. Biomol. 54(5), 307–317 (2000) 9. Kontsevich, M.: Vassiliev’s knot invariants. Adv. Soviet Math. 16, 137–150 (1993) 10. Kurlin, V.: Compressed Drinfeld associators. J. Algebra 292, 184–242 (2005) 11. Kurlin, V.: The Baker-Campbell-Hausdorff formula in the free metabelian lie algebra. J. Lie Theory 17(3), 525–538 (2007) 12. Maxwell, J.C.: A Treatise on Electricity and Magnetism. I. Clarenton Press Series, Oxford (1873) 13. Panagiotou, E.: The linking number in systems with periodic boundary conditions. J. Comput. Phys. 300, 533–573 (2015) 14. Panagiotou, E., Kauffman, L.H.: Knot polynomials of open and closed curves. Proc. Roy. Soc. A. 476, 20200124 (2020). arxiv:2001.01303 15. Ricca, R.L., Nipoti, B.: Gauss’ linking number revisited. J. Knot Theory Ramif. 20(10), 1325– 1343 (2011) 16. Vogel, T.: On the asymptotic linking number. Proc.Amer. Math. Soc. 131, 2289–2297 (2003) 17. Vologodskii, A., Anshelevich, V.V., Lukashin, A., Frank-Kamenetskii, M.D.: Statistical mechanics of supercoils and the torsional stiffness of the DNA double helix. Nature 280(5720), 294–298 (1974)
The Singularity Set of Optimal Transportation Maps Zhongxuan Luo, Wei Chen, Na Lei, Yang Guo, Tong Zhao, and Xianfeng Gu
Abstract Optimal transportation plays an important role in many engineering fields, especially in deep learning. By Brenier theorem, computating optimal transportation maps is reduced to solving Monge–Ampère equations, which in turn is equivalent to construct Alexandrov polytopes. Furthermore, the regularity theory of Monge–Ampère equation explains mode collapsing issue in deep learning. Hence, computing and studying the singularity sets of OT maps become important. In this work, we generalize the concept of medial axis to power medial axis, which describes the singularity sets of optimal transportation maps. Then we propose a computational algorithm based on variational approach using power diagrams. Furthermore, we prove that when the measures are changed homotopically, the corresponding singularity sets of the optimal transportation maps are homotopic equivalent as well.
Z. Luo Key Laboratory for Ubiquitous Network and Service Software of Liaoning Province, Dalian, China e-mail: [email protected] W. Chen School of Software Technology, Dalian University of Technology, Dalian, China e-mail: [email protected] N. Lei () DUT-RU ISE, Dalian University of Technolog, Dalian, China e-mail: [email protected] Y. Guo · X. Gu Department of Computer Science, Stony Brook University, Stony Brook, NY, USA e-mail: [email protected]; [email protected] T. Zhao INRIA Sophia-Antipolis and Telecom Paris, Paris, France e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_4
61
62
Z. Luo et al.
1 Introduction Recently, optimal transportation theory plays an important role in deep learning, especially for generative models, such as Generative Adverseral Networks (GANs) [10], variational autoencoders (VAEs) [13] and so on. In deep learning, one of the major tasks is to transform a prescribed distribution to the data distribution, another is to measure the Wasserstein distance between two distributions. Both of them require computing optimal transportation maps. The Brenier theorem reduces the computation of optimal transportation map to solving Monge–Ampère equation, which is equivalent to solve the Alexandrov problem in convex geometry. The construction of the Alexandrov polytope is converted to the computing of power diagram and weighted Delaunay. Therefore, the geometric approach to solve optimal transportation problem becomes valuable for deep learning tasks as in [2, 17]. Furthermore, one of the major challenges in deep learning is mode collapsing, which makes the training process unstable and difficult to converge. The regularity theory of optimal transportation map discovers the intrinsic reason for mode collapsing. Basically, if the support of the target measure is not simply connected or concave, the optimal transportation map may be discontinuous at the singularities. Therefore, computing and studying the singularity sets of optimal transportation maps become crucial. Contributions In this work, we generalize the concept of medial axis to power medial axis, which describes the singularity sets of optimal transportation maps. Then we propose a computational algorithm based on a variational approach using power diagrams. Furthermore, we prove that when the measures are changed homotopically, the corresponding singularity sets of the optimal transportation maps are homotopic equivalent as well. Outline The article is organized as follows: Sect. 2 explains how optimal transportation is applied for generative model in deep learning, and why singularity set is crucial to avoid mode collapsing. Section 3 introduces the convex geometric view of optimal transportation, including the Alexandrov and Minkowski theorems, Yau’s geometric variational approach and Gelfand’s secondary polytope theorem. Section 4 proves the main theorem, which shows the homotopy equivalence relation between the singularities of an optimal transportation map and the medial axis of the support of the target measure. The work is concluded in Sect. 5.
2 Generative Models and Optimal Transportation GAN Model Generative modeling is an unsupervised learning task in machine learning, which is capable of automatically discovering and learning the pattern in input data, so that the model can be applied to generate new samples that plausibly
Singularity of Optimal Transportation
63
Discriminator Latent Distribution
Training Data
encoder
Generated Samples
decoder
transporter
Generator
white noise
Fig. 1 Generative adversarial networks (GAN) model
could have been drawn from the original data set. Generative adversarial networks (GANs) [10] and variational autoencoders (VAEs) [13] emerge as the dominant approaches for unconditional image generation. Figure 1 shows the general framework of GAN models. Each training sample, e.g., a human facial image, is treated as a point in the high dimensional image space. The natural class of images, e.g., human facial photos, is treated as a point cloud, which is close to a low dimensional manifold , the so-called data manifold. The data set is modeled as a probability distribution μ on the data manifold . The data manifold is mapped to the parameter domain by an encoding map, the parameter of each image is called the latent code, the parameter domain is called the latent space or the feature space , the mapping is called the encoding map ϕ : → . The data distribution μ is push-forwarded by ϕ to the latent data distribution ϕ# μ. The decoding map is the inverse of the encoding map, ϕ −1 : → , which maps the latent code to the image on the data manifold. In the latent space, there is a known probability distribution, the so-called white noise ν, which is usually uniform distribution or Gaussian distribution. A transporter maps the white noise to the latent data distribution, the transportation map is denoted as T : ν → ϕ# μ. The composition of the transporter and the decoder is called a generator, ϕ −1 ◦T , which maps a white noise sample to a generated image. Equivalently, the generator transports the white noise distribution to the generated data distribution on the data manifold. A discriminator computes the distance between the real data distribution μ and the generated data distribution ϕ −1 ◦ T # ν. The generator optimizes the transportation map to minimize the distance between the real distribution and the generated distribution; the discriminator maximizes some type of functional to
64
Z. Luo et al.
Fig. 2 Left: input MNIST data set. Right: the generated images
differentiate the two distributions. The competition between the generator and the discriminator reaches the Nash equilibrium eventually, at that state human beings can not tell the difference between the real images and the generated ones. Recently, optimal transportation has been broadly applied for generative models. In many models, the generator computes the optimal transportation map between the white noise distribution and the latent code distribution; the discriminator computes Wasserstein distance between the real data distribution and the generated data distribution. Figure 2 shows one example of a generative model, the left frame shows the MNIST data set of hand-written digit images, the right frame shows the generated images. The MNIST data set is encoded by a UMap model, the latent data distribution is shown in Fig. 3 (left). Each digit corresponds to one cluster. We put 10 × 10 samples on the latent space, and the decoded images are shown in the right frame in Fig. 3. It is clear that if a generated latent code falls into a cluster, then the generated image is clean and sharp; otherwise, if the generated code falls into the gaps among the clusters, the generated image is obscure and like the mixture of two digits. Mode Collapsing/Mode Mixture Despite GANs’ advantages, they have critical drawbacks. (1) Training of GANs is tricky and sensitive to hyperparameters. (2) GANs suffer from mode collapse, in which the generator only learns to generate few modes of data distribution while missing others, although samples from the missing modes occur throughout the training data (see, e.g., [9]). While for the VAEs, the encoder is used to map the data distribution to a Gaussian latent distribution, which is then mapped back to the data distribution by the decoder. While standard VAEs tend to capture all modes, they often generate ambiguous images on multimodal real data distributions. In the work of Yau et al. [2, 15], the intrinsic reason for mode collapsing/mode mixture has been explained from the geometric point of view. By Brenier’s polar
Singularity of Optimal Transportation
65
Fig. 3 Left: latent codes of the MNIST data set encoded by a UMap model. Right: the latent codes are decoded and mapped back to the images
factorization theorem [4, 5, 5] and Figalli’s regularity theorem [6, 7] (Theorem 5 in Appendix B), if the support of the target distribution is not convex, then there will be singularity sets on the support of the source distribution, such that the transportation map is discontinuous on these sets. Generally, the generators/decoders are expressed by deep neural networks, which can only represent continuous mappings, thus they can’t approximate the transport maps with high fidelity. This intrinsic conflict induces the mode collapsing and mode mixture in conventional generative models. Figure 4 shows the optimal transportation map from the uniform distribution on the disk to the latent distribution of MNIST data set, i.e., Fig. 3 (left). Since the latent
Fig. 4 Optimal transportation map from the uniform distribution on the disk to the latent data distribution of MNIST data set, Fig. 3 (left)
66
Z. Luo et al.
distribution has 10 modes (connected components), the singularity set partitions the disk into ten segments, each segment is mapped onto one cluster. The mapping itself is discontinuous on the singularity set, therefore can’t be represented by a neural network. The right frame shows the Brenier potential, which is continuous and differentiable almost everywhere. The projection of the non-differential points is the singularity set. Therefore, the neuron network can present the Brenier potential. The image of the optimal transportation map will cover all the modes, so no mode collapsing will happen. Furthermore, the image of the transportation map won’t fall into the gaps among the modes, this will eliminate the mode mixture. Therefore, it is important to study the singularity of optimal transportation maps.
3 Convex Geometric View of Optimal Transportation There is a close relation between the Alexandrov theorem in convex geometry and the Brenier theorem in optimal transportation. This section will explain this intrinsic relation.
3.1 Optimal Transportation Map Suppose , ∗ ⊂ Rd are domains in Euclidean space, with probability measures μ and ν respectively, satisfying the equal total mass condition μ() = ν(∗ ). The transportation map T : → ∗ is measure preserving, if for any Borel set B ⊂ ∗ , dμ(x) = dν(y) . T −1 (B)
B
We denote measure preserving condition as T# μ = ν. Monge raised the optimal transportation map problem: given a transportation cost function c : × ∗ → R+ , find a transportation map T : → ∗ that minimizes the total transportation cost, # (MP)
∗
$
c(x, T (x)) : T : → , T# μ = ν .
min
The minimizer is called the optimal transportation map. The transportation cost of the optimal transportation map is called the Wasserstein distance between the measures.
Singularity of Optimal Transportation
67
Theorem 1 (Brenier[5]) Given a compact domain ⊂ Rd , with absolutely continuous probability measures μ and ν, ∂ has zero Lebesgue-measure. The transportation cost is c(x, y) = |x − y|2 /2, then there exists a convex function u : → R unique upto a constant, the so-called Brenier potential, and the optimal transportation map is given by the gradient of u, T = ∇u. The Brenier potential satisfies the Monge–Ampère equation det D 2 u(x) =
dμ(x) , dν ◦ ∇u(x)
(1)
with the boundary condition ∇u() = ∗ . The unique optimal transportation map is given by T = ∇u.
3.2 Alexandrov Solution For numerical computation, the Brenier potential is approximated by a piecewise linear convex function, whose graph is a convex polytope. The sub-gradient of a convex function u at x is defined as ∂u(x) := p ∈ Rd : u(z) ≥ p, z − x + u(x) ∀z ∈ . The sub-gradient defines a set-valued map ∂u : → ∗ , x → ∂u(x). We can use the sub-gradient map to replace the gradient map in the Monge–Ampère equation (1) and rewrite it as (∂u)# μ = ν,
(2)
or, equivalently, ∀ Borel B ⊂ ∗ , μ((∂u)−1 (B)) = ν(B). Thus, here, u is called the Alexandrov solution. In fact, the Alexandrov solution is equivalent to the Alexandrov polytope, and the Brenier theorem is equivalent to the Alexandrov theorem in convex geometry.
3.3 Minkowski and Alexandrov Theorems In this subsection, we briefly recall the basic concepts and theorems of Minkowski and Alexandrov theorems in convex geometry, which can be described by Monge– Ampère equation and closely related to power diagrams and weighted Delaunay triangulations in computational geometry. This intrinsic connection gives the theoretical tool to study the Alexandrov polytope space. Details can be found in [1] and [11].
68
Z. Luo et al. ni
Ai F i
uh(x) πj Fi
Wi
(a)
Ω
(b)
Fig. 5 Minkowski and Alexandrov theorems for convex polytopes with prescribed normals and face areas. (a) Minkowski theorem. (b) Alexandrov theorem
Minkowski proved the existence and the uniqueness of convex polytope with prescribed face normals and face areas (see Fig. 5). Theorem 2 (Minkowski) Suppose n1 , . . . , nk are unit vectors which span Rn and ν1 , . . . , νk > 0 such that ki=1 νi ni = 0. There exists a compact convex polytope P ⊂ Rn with exactly k codimension-1 faces F1 , . . . , Fk so that ni is the outward normal vector to Fi and νi is the volume of Fi . Furthermore, such P is unique up to a translation. Minkowski’s proof is variational and suggests an algorithm to find the polytope. Minkowski theorem for unbounded convex polytopes was considered and solved by A.D. Alexandrov and his student A. Pogorelov. In his book on convex polyhedra, Alexandrov proved the following fundamental theorem [1, Theorem 7.3.2 and Theorem 6.4.2]: Theorem 3 (Alexandrov [1]) Suppose is a compact convex polytope with nonempty interior in Rn , n1 , . . . , nk ⊂ Rn+1 are distinctk unit vectors, the (n + 1)-th coordinates are negative, and ν1 , . . . , νk > 0 so that ki=1 νi = vol(). Then there exists a convex polytope P ⊂ Rn+1 with exact k codimension-1 faces F1 , . . . , Fk , so that ni is the normal vector to Fi and the intersection between and the projection of Fi is with volume νi . Furthermore, such P is unique up to vertical translation. Alexandrov’s proof is based on the algebraic topology and is non-constructive. Aurenhammer [3] gave a constructive proof using the power diagram. Gu et al. [11] gave another variational proof for the generalized Alexandrov theorem stated in terms of convex functions. The energies in [3] and [11] are Legendre dual to each other.
Singularity of Optimal Transportation
69
Definition 1 (Alexandrov Polytope) Given Y = {y1 , . . . , yk }, yi ∈ Rn , i = 1, 2, . . . , k, and h = (h1 , . . . , hk ) ∈ Rk , the upper envelope of the hyper-planes πi (x) = x, yi − hi is k
k
i=1
i=1
uh (x) = max {πi (x)} = max {yi , x − hi }.
(3)
The graph of uh is called the Alexandrov Polytope, denoted as P (Y, h). The projection of the Alexandrov polytope induces a power diagram of Rn , each cell Wi (h) is a closed convex polytope, Rd =
Wi (h) =
k
x ∈ Rd | πi (x) ≥ πj (x), i = j ,
(4)
i=1
where Wi (h)’s are called power cells. The power diagram can be reformulated using power distance Wi (h) = x ∈ Rd | powh (x, yi ) ≤ powh (x, yj ), i = j , where the power distance between x and yi is defined as powh (yi , x) :=
1 |x − yi |2 − ri2 , 2
(5)
where ri2 is the power associated with yi , defined as ri2 :=
1 |yi |2 − hi . 2
(6)
Given a probability measure μ defined on , the volume of Wi (h) is defined as wi (h) := μ(Wi (h) ∩ ) =
dμ . Wi (h)∩
Gu et al. gave a constructive proof for the Alexandrov theorem. Theorem 4 (Gu et al. [11]) Let be a compact convex domain in Rn , Y = {y1 , . . . , yk } be a set of distinct in Rn and μ a probability measure on . Then points k for any ν1 , . . . , νk > 0 with i=1 νi = μ(), there exists h = (h1 , . . . , hk ) ∈ Rk , unique up to adding a constant (c, . . . , c), so that wi (h) = νi , for all i. The vectors h are exactly maximum points of the concave function
k h
E(h) = 0
i=1
wi (η) dηi −
k
i=1
hi νi ,
(7)
70
Z. Luo et al.
Fig. 6 Experiment one: the 3D face (1st) is mapped to the unit disk by a Riemann mapping (2nd). The optimal transportation map from uniform distribution to the measure induced by the Riemann mapping is computed, the image is in (3rd), the Brenier potential is in (4th)
on the open convex set (admissible height space) H (Y ) = h ∈ Rk | wi (h) > 0 ∀i .
(8)
Furthermore, ∇uh minimizes the quadratic cost |x − T (x)|2 dμ(x)
among all transportation maps T# μ = ν with the Dirac measure ν = yi ).
k
i=1 νi δ(y
−
Figure 6 demonstrates an optimal transportation map obtained by Alexandrov polytope method. A male facial surface is digitized to a triangle mesh M (first frame). The surface is conformally mapped onto the planar unit disk by a Riemann mapping (second frame), the planar images of the vertices are denoted as y1 , y2 , . . . , yk . For each vertex vi , the total area of the triangular faces adjacent to it is denoted as νi . By scaling, the total area ki=1 νi = π. Then we compute the optimal transportation map (third frame) from the unit disk with the uniform distribution to ν = ki=1 νi δ(y − yi ). The Brenier potential is shown in the fourth frame.
3.4 Secondary Polytope and Secondary Power Diagram In this subsection, we briefly recall the basic concepts and theorems of Gelfand’s secondary polytope theory, and its dual secondary power diagram, details can be found in [8, 14] and [16]. This shows the admissible solution space H (Y ) has a cell decomposition.
Singularity of Optimal Transportation
71
Secondary Polytope Let Y = {y1 , y2 , . . . , yk } be a point configuration, a finite set of distinct points in Rd , Conv(Y ) is the convex hull of Y . A triangulation T of (Y, Conv(Y )) decomposes the interior volume bounded by Conv(Y ) into simplices with vertices in Y . Some yi ∈ Y may not appear as a vertex of a simplex. Given a triangulation T , a piecewise linear function g : Conv(Y ) → R is affinelinear on every simplex of T . Furthermore, g is concave, if for any x, y ∈ Conv(Y ), g(tx + (1 − t)y) ≥ tg(x) + (1 − t)g(y). Definition 2 (Coherent Triangulation) A triangulation T of (Y, Conv(Y )) is called coherent if there exists a concave piecewise linear function whose domains of linearity are precisely (maximal) simplices of T . Let T be a triangulation of (Y, Conv(Y )). The characteristic function of T , ϕT : Y → R, is defined as follows: ϕT (ω) =
vol(σ ),
(9)
ω∼σ
where the summation is over all (maximal) simplices of T for which ω is a vertex. If ω is not a vertex of any simplex of T , then ϕT (ω) = 0. Definition 3 (Secondary Polytope) The secondary polytope (Y ) is the convex hull in the space RY of the vectors φT for all the triangulations T of (Y, Conv(Y )). The secondary polytope has the following properties: Theorem 5 (a) The secondary polytope (Y ) has dimension k − n − 1 where k = #(Y ). (b) Vertices of (Y ) are precisely the characteristic functions got for all coherent triangulations T of (Y, Conv(Y )). If T is a coherent triangulation of (Y, Conv(Y )) then ϕT = ϕT for any other triangulation T of (Y, Conv(Y)). Secondary Power Diagram Primal weighted Delaunay triangulations are dual to power diagrams; secondary polytopes are dual to secondary power diagrams. The secondary power diagram is the cell decomposition of the admissible height space in (8), where each cell corresponds to a weighted Delaunay triangulation (coherent triangulation) of Y . Details can be found in the secondary power diagram theory in [16]. Fixing a triangulation T of (Y, Conv(Y )), a simplex σ ∈ T has volume vol(σ ). Given a height vector h, a linear function πT (h) is defined by πT (h) =
1
n+1
yi ∈Y yi ∼σ,σ ∈T
vol(σ )hi .
(10)
72
Z. Luo et al.
Theorem 6 (Secondary Power Diagram) Given a point configuration Y = {y1 , y2 , . . . , yk } ⊂ Rn , a convex domain ⊂ Rn containing the origin, 1. For each non-degenerated weighted Delaunay triangulation T ∈ T (Y ), if the cell DT is non-empty, then it is convex. Furthermore, if h ∈ DT , then λh ∈ DT for all 0 < λ < 1. 2. The cell decomposition of the Alexandrov power diagram space H (Y ) =
DT
(11)
T ∈T (Y )
is a power diagram, produced by the projection of the upper envelope U (Y ) = max {−πT (h)}, T ∈T (Y )
(12)
where the hyper-planes πT (h) ⊂ Rk+1 is the triangulation volume of T in (10). 3. Suppose T is a non-degenerated coherent triangulation T ∈ T (Y ), then DT is non-empty.
4 Singularity Set of Optimal Transportation Map The optimal transportation maps may not be globally continuous.The discontinuity singularity set plays an important role in generative models in deep learning.
4.1 Singularity Set Theorem 7 (Figalli Regularity [7]) Let , ⊂ Rd be two bounded open sets, let f, g : Rd → R+ be two probability densities, that are zero outside , and are bounded away from zero and infinity on , respectively. Denote T = ∇u : (, f dx) → (, gdy) the optimal transportation map provided by Brenier theorem. Then there exists two relatively closed sets ⊂ and ⊂ with | | = | | = 0 such that T : \ → \ is a homeomorphism of 0,α class Cloc for some α > 0. As shown in Fig. 7, the domain is the unit disk, the range has two connected components. Both the density functions f and g are constants, namely the probability measures are uniform distributions. The optimal transportation map T is the gradient map of the Brenier potential u : → R. The singularity set is a loop inside , the image of \ covers . From the bottom view, it is easy to see that the Brenier potential is C 1 almost everywhere, except at the , where the potential is only C 0 . The singularity set is a graph, which can be decomposed
Singularity of Optimal Transportation
(a)
73
(b)
(c)
(d)
Fig. 7 The singularity set of an optimal transportation map from the uniform distribution on a disk to the island shape. The blue curves show the singularities on the domain, the red curves show the non-differentiable points on the Brenier potential. (a) Power diagram. (b) Weighted delaunay triangulation. (c) Brenier potential (bottom view). (d) Brenier potential (top view)
into arcs and branching points. Take a point in the singularity set, x ∈ , if x is in the interior of an arc, the sub-differential ∂u(x) is a line segment; if x is a branching point, ∂u(x) is a two-dimensional convex set. The singularity set can be formulated by the generalized medial axis concept. Definition 4 (Power Medial Axis) Suppose ⊂ Rd is a domain in the Euclidean space, h : → R is a convex function, which defines the power distance as in (5), 1 powh (x, y) := |x − y|2 − 2
1 2 |y| − h(y) . 2
For each point x ∈ Rd , the closest point of x to is defined as Cl (p, h) := arg inf powh (p, y), y∈
the power medial axis is defined as M (h) := x ∈ Rd | |Clλ (p, h)| > 1 . Proposition 1 (Singularity Set) Suppose , ⊂ Rd are compact domains, with absolutely continuous measures μ and ν, ∂ has zero Lebesgue-measure. The transportation cost is quadratic Euclidean distance. Suppose u : → R is the Brenier potential, ∇u : → is the optimal transportation map. u∗ : → R is the Legendre dual of u, then the singularity set of the optimal transportation map is given by = M (u∗ ) ∩ .
(13)
74
Z. Luo et al.
Proof Let the cost function c(x, y) = x, y . Suppose x0 ∈ ω, y0 ∈ , and y0 ∈ ∂u, then u(x0 ) + u∗ (y0 ) = x0 , y0 , u(x0 ) + u∗ (y) ≥ x0 , y
∀y ∈ .
Therefore, for any y ∈ , u∗ (y0 ) − x0 , y0 ≤ u∗ (y) − x0 , y , 1 1 1 1 2 |x0 − y0 |2 − |y0 |2 − u∗ (y0 ) ≤ |x0 − y|2 − |y| − u∗ (y) , 2 2 2 2 this means ∀y ∈ , powu∗ (x0 , y0 ) ≤ powu∗ (x0 , y) and therefore y0 ∈ Cl (x0 , u∗ ). Namely, y0 is the closest point in (under the power distance) to x0 , the optimal transportation map T maps each point x0 in to its closest point y0 in . Inversely, if y0 ∈ is the closest point to x0 ∈ , then y0 ∈ ∂u(x0). Suppose x ∈ and x is in the power medial axis of , x ∈ M (u∗ ), then it has two closest points y1 , y2 ∈ , hence y1 , y2 ∈ ∂u(x). u is not differentiable at x, x is a singularity of u, this shows M (u∗ ) ∩ ⊂ . Inversely, suppose x ∈ , then ∂u(x) has at least two points y1 , y2 ∈ , which are closest to x and with equal power distances. Hence, x is in the power medial axis of , this shows ⊂ M (u∗ ) ∩ . Thus, (13) holds.
4.2 Algorithm for Singularity Set Suppose , ⊂ Rd are compact domains, is convex. We densely sample the boundary and the interior of , the samples are denoted as Y = {y1 , y2 , . . . , yn }. The boundary samples are triangulated to form a polyhedral hyper-surface, denoted as ∂Y . Then ∂Y approximates the boundary surface of , ∂. Given the powers {w1 , w2 , . . . , wn }, or, equivalently, the height h = (h1 , h2 , . . . , hn ), the power diagram is denoted as DY (h) as defined in (4). The power medial axis is given by the union of co-dimension 1 faces fij , which are the intersections of two power Voronoi cells Wi (h) and Wj (h), the corresponding yi and yj are in the boundary
Singularity of Optimal Transportation
(a)
75
(b)
(c)
(d)
Fig. 8 The blue planar graph shows the medial axis of the island-shaped polygon. The red curve shows the non-differential points on the Brenier potential. (a) Voronoi diagram. (b) Delaunay triangulation. (c) Breiner potential (bottom view). (d) Breiner potential (top view)
polyhedron ∂Y , but not adjacent yi ∼ yj in ∂Y , MY (h) =
Wi (h) ∩ Wj (h) .
(14)
yi ,yj ∈∂Y,yi ∼yj
The singularity set of the discrete optimal transportation map is (h) = MY (h) ∩ .
(15)
Figure 8 illustrates the power medial axis obtained by this algorithm, where is the unit disk, is an island-shaped planar polygon with two connected components. We densely sample the interior and the boundary of to get a discrete point set Y = {yi }ni=1 . The boundary samples are connected consecutively to form ∂Y . n We set all the powers to be zeros, {ri = 0}ni=1 , equivalently, hi = |yi |2 /2 i=1 . Then frame (a) shows the Voronoi diagram of Y , the blue graph is the conventional medial axis. Frames (c) and (d) show the non-differential points on the graph of the Brenier potential as the red curves. If the height is changed, the power medial axis (singularities of the optimal transportation map) can be obtained by the same algorithm.
4.3 Singularity Set Homotopy Equivalence For the optimal transportation map, T = ∇u : (, μ) → (, ν), if we change the target measure ν, the optimal transportation map T will be changed accordingly. We can show that the singularity sets of the optimal transportation maps are homotopic to each other. We first show this in the discrete setting, then generalize it using the stability of optimal transportation maps.
76
Z. Luo et al.
Definition 5 (Minkowski Sum) Suppose A and B are subsets on Rn , the Minkowski sum of them is defined as A ⊕ B := { p + q | p ∈ A, q ∈ B }. Theorem 8 (Singular Set Homotopy) Given a convex domain ⊂ Rd and the discrete point set Y = {yi }ni=1 , fix the source measure whose density function μ, n is absolutely continuous. The target measure ν = i=1 νi δ(y − yi ), νi > 0, i = 1, 2, . . . , n, such that μ() = ni=1 νi . Given two target measures ν0 and ν1 , the corresponding heights are h0 and h1 respectively, then their singularity sets are homotopic equivalent to each other: (h0 ) ∼ (h1 ). Proof Theorem 4 shows that admissible height space HY in (8) is convex, therefore the line segment connecting h0 and h1 is contained in HY , γ (t) := (1 − t)h0 + th1 . According to the % Secondary Power Diagram Theorem 6, HY has a cell decomposition, HY = T ∈T (Y ) DT , each cell corresponds to a weighted Delaunay triangulation (also a combinatorial structure of the power diagram of ). Suppose the line γ (t) crosses a set of cells corresponding to triangulations T0 , T1 , . . . , Tk . Then the unit interval is divided into segments, 0 = t0 < t1 < t2 · · · < tk = 1, satisfying the following conditions: 1. γ (t) ∈ DTi , ∀t ∈ [ti , ti+1 ]; 2. γ (ti ) ∈ DTi ∩ DTi+1 .
Step 1. For any t ∈ (ti , ti+1 ), all the weighted Delaunay triangulations T (γ (t)) have the same combinatorial structure. All the corresponding power diagrams share the same combinatorial structure as well. The Brenier potential uγ (t )(x) = maxki=1 yi , r − γ (t)i can be written as the linear combination uγ (t ) = (1 − λ)uγ (ti ) + λuγ (ti+1 ) . where λ = (ti+1 − t)/(ti+1 − ti ). The graph of the Brenier potential can be written as a linear combination using Minkowski sum, G(γ (t)) = λG(γ (ti )) ⊕ (1 − λ)G(γ (ti+1 )), where G(γ (t)) is the graph of the function uγ (t ). Therefore, as the projection of the graphs of the Brenier potentials, each power cell can be represented as the Minkowski sum Wi (γ (t)) = λWi (γ (ti )) ⊕ (1 − λ)Wi (γ (ti+1 )),
Singularity of Optimal Transportation
77
This implies the singularity set also satisfies the linear combination relation (γ (t)) = λ (γ (ti )) ⊕ (1 − λ) (γ (ti+1 )).
Step 2. At the critical point ti , we want to show lim (γ (t)) = lim (γ (t)).
t →ti−
(16)
t →ti+
As shown in Fig. 9, we prove it for the two-dimensional case first; the proofs for the general dimensional cases are very similar. Fix a weighted Delaunay triangulation T , we choose two adjacent triangles [vi , vj , vk ] and [vj , vi , vl ]. The power circle associated with vertex vi is c(vi , ri ), the power is ri2 . Then, for each triangle, there is a unique circle c(o, r) (red one) orthogonal to all three vertex circles, the so-called power circle of the face. The power center o and the power radius r satisfy |vi − o|2 = ri2 + r 2 ,
vj − o2 = r 2 + r 2 , j
|vk − o|2 = rk2 + r 2 .
vj
vk
ol
ok
vi
Fig. 9 Power diagram configuration
vl
78
Z. Luo et al.
As shown in Fig. 9, the power centers for the two faces are ok and ol respectively. The line segment connecting the two power centers [ok , ol ] in the power diagram is dual to the edge [vi , vj ] in the weighted Delaunay triangulation. Along the curve γ (t), the vertex powers change continuously. Suppose when t < ti and approaches to ti , the two power centers ok and ol get closer and closer. At the critical point ti , ok coincides with ol , and the triangulation is changed by swapping edge [vi , vj ] to [vk , vl ]. When t increases further, t > ti , the power center of [vk , vi , vl ] and that of [vl , vj , vk ] diverge. This shows at the critical time ti , the power diagram edge [vi , vj ] shrinks to a point, and grows to a new edge [vk , vl ]. Therefore, the power diagram changes continuously. Hence, the singularity set also changes continuously, namely (16) holds. For higher dimensional cases, the edge swap is replaced by a bistellar transformation [12], and the proof is exactly the same. Combining Steps 1 and 2, we obtain for 0 ≤ i < k, − + (γ (ti+ )) ∼ (γ (ti+1 )) = (γ (ti+1 )).
Hence, (γ (t0 )) ∼ (γ (t1− )) = (γ (t1+ )) ∼ · · · ∼ (γ (tk )). Figures 7 and 8 show the homotopy relation between the singularity sets of optimal transportation maps for different target measures. We see that minor branches may disappear, but the loops and major branches are well preserved. Figure 10 shows the homotopy deformation between the singularity sets of the optimal transportation maps from the unit disk to a sea-horse shaped domain with different target measures. In the beginning, we compute the conventional medial axis, and the target measure on each yi equals to the corresponding cell area. The final target measure is uniform distribution. A more complicated example is illustrated in Fig. 11, the optimal transportation maps from a planar spiral shape to the unit disk are computed, and the corresponding singularity sets are extracted. We can see that the singularity sets (power medial axes) are homotopic equivalent to each other.
Fig. 10 Singularity sets of the optimal transportation maps between the unit disk and the sea-horse shape with different measures
Singularity of Optimal Transportation
79
Fig. 11 Power medial axes are homotopic for a complicated planar domain
In deep learning applications, the training data set is encoded to the latent space, as shown in Fig. 3, the latent data distribution is the sum or Dirac measures ν = 1/n ni=1 δ(y − ϕ(xi )), where n is the number of samples, xi the training sample. The optimal transportation map can be computed using the proposed algorithm as shown in Fig. 4. The singularity on the support of the white noise distribution, and the non-differential points on the Brenier potential can be easily detected. The generated results can be seen in Fig. 2, the mode collapse and mode mixture have been eliminated by carefully handling the singularities of the optimal transportation map.
5 Conclusion In this work, we focus on studying the singularity sets of Brenier optimal transportation maps. First, we generalize the concept of medial axis to power medial axis, which describes the singularity sets of semi-discrete optimal transportation maps. Second, we propose an algorithm based on a geometric variational principle using power diagrams to compute the power medial axis. Third, we prove that when the measures are changed continuously, the corresponding singularity sets of the optimal transportation maps are deformed homotopically. In the future, we will study the sufficient and necessary conditions for the existence of singularity sets, both topologically and geometrically, and generalize the cost function from quadratic Euclidean distance to strictly convex functions. Acknowledgments This research was supported by the National Natural Science Foundation of China under Grant Nos. 61720106005, 61772105, 61936002, and 61907005.
80
Z. Luo et al.
References 1. Alexandrov, A.D.: Convex Polyhedra. Translated from the 1950 Russian edition by N. S. Dairbekov, S. S. Kutateladze and A. B. Sossinsky. Springer Monographs in Mathematics. Springer, Berlin (2005) 2. An, D., Guo, Y., Lei, N., Luo, Z., Yau, S.T., Gu, X.: Ae-ot: a new generative model based on extended semi-discrete optimal transport. In: International Conference on Learning Representations (2020) 3. Aurenhammer, F.: Power diagrams: properties, algorithms and applications. SIAM J. Comput. 16(1), 78–96 (1987) 4. Brenier, Y.: Polar decomposition and increasing rearrangement of vector fields. C. R. Acad. Sci. Paris Sr. I Math. 305(19), 805–808 (1987) 5. Brenier, Y.: Polar factorization and monotone rearrangement of vector-valued functions. Commun. Pure Appl. Math. 44(4), 375–417 (1991) 6. Chen, S., Figalli, A.: Partial w2,p regularity for optimal transport maps. J. Funct. Anal. 272, 4588–4605 (2017) 7. Figalli, A.: Regularity properties of optimal maps between nonconvex domains in the plane. Commun. Partial Differ. Equ. 35(3), 465–479 (2010) 8. Gel’fand, I., Kapranov, M., Zelevinsky, A.: Discriminants, Resultants, and Multidimensional Determinants. Birkhäuser, Boston (1994) 9. Goodfellow, I.: NIPS 2016 tutorial: generative adversarial networks. arXiv:1701.00160 (2016) 10. Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., Bengio, Y.: Generative adversarial nets. In: Advances in Neural Information Processing Systems (NIPS 2014), pp. 2672–2680 (2014) 11. Gu, X., Luo, F., Sun, J., Yau, S.T.: Variational principles for minkowski type problems, discrete optimal transport, and discrete monge-ampere equations. Asian J. Math. 20(2), 383–398 (2016) 12. Joe, B.: Construction of three-dimensional delaunay triangulations using local transformations. Comput. Aided Geom. Des. 8(2), 123–142 (1991) 13. Kingma, D.P., Welling, M.: Auto-encoding variational bayes. arXiv:1312.6114 (2013) 14. Leal, F.S., De Loera, J.A., Rambau, J.: Triangulations, Structures for Algorithms and Applications. Springer, Berlin (2010) 15. Lei, N., Su, K., Cui, L., Yau, S.T., Gu, D.X.: A geometric view of optimal transportation and generative model. Comput. Aided Geom. Des. 68, 1–2 (2019) 16. Lei, N., Chen, W., Luo, Z., Si, H., Gu, X.: Secondary power diagram, dual of secondary polytope. Comput. Math. Math. Phys. 59(12), 1965–1981 (2019) 17. Lei, N., An, D., Guo, Y., Su, K., Liu, S., Luo, Z., Yau, S.T., Gu, X.: A geometric understanding of deep learning. Engineering 6(3), 361–374 (2020)
Polygonal and Polyhedral Delaunay Meshing Vladimir Garanzha and Liudmila Kudryavtseva
Abstract We consider construction of a polyhedral Delaunay partition as a limit of the sequence of radical partitions (power diagrams), while the dual Voronoi diagram is obtained as a limit of sequence of weighted Delaunay partitions. Using a lifting analogy, this problem is reduced to the construction of a pair of dual convex polyhedra, inscribed and superscribed around circular paraboloid, as a limit of the sequence of pairs of general dual convex polyhedra. The sequence of primal polyhedra should converge to the superscribed polyhedron, while the sequence of dual polyhedra converges to the inscribed polyhedron. Different rules can be used to build sequences of dual polyhedra. We are mostly interested in the case when the vertices of primal polyhedra can move or glue together, meaning that no new faces are allowed for dual polyhedra. These rules essentially define the transformation of the set of initial spheres defining power diagram into the set of Delaunay spheres using sphere movement, radius variation, and sphere elimination as admissible operations. Even though rigorous foundations (existence theorems) for this problem are still unavailable, we suggest a functional which measures deviation of the convex polyhedron from the one inscribed into paraboloid. This functional is the discrete Dirichlet functional for the power function which is a linear interpolant of the vertical distance of the dual vertices from paraboloid. The absolute minimizer of this functional is attained on the constant power field, meaning that the inscribed polyhedron can be obtained by means of a simple translation. This formulation of the Dirichlet functional for the dual surface is not quadratic since the unknowns are the vertices of the primal polyhedron, hence, the transformation of the set of spheres into Delaunay spheres is not unique. Numerical
V. Garanzha () Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia e-mail: [email protected] http://www.ccas.ru/gridgen/lab L. Kudryavtseva Moscow Institute of Physics and Technology, Moscow, Russia e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_5
81
82
V. Garanzha and L. Kudryavtseva
examples illustrate polygonal Delaunay meshing in planar domains. In this work we concentrate on the experimental confirmation of the viability of suggested approach putting aside mesh quality problems. The gradient of the above functional defines a manifold describing evolution of Delaunay spheres hence one can optimize Delaunay-Voronoi meshes using this manifold as a constraint.
1 Introduction In his famous talk “Sur la sphere vide” at Toronto geometry congress in 1924 [5] and his paper [6], Boris Nikolaevich Delaunay (Delone) introduced a spatial partition of a prescribed discrete vertex set consisting of d-dimensional simplices with empty circumspheres, empty in the sense that they do not contain any vertices inside. His famous “Delaunay Lemma” states that if the empty circumsphere condition holds locally for any adjacent pair of simplices with a common d − 1 dimensional face then all circumspheres are empty. In 1937, Delaunay introduced the so-called “L-partition” [7] which can be obtained by moving, contracting, and inflating an empty sphere among the vertices of discrete set in Rd (Fig. 1a). In such a way, all empty spheres with a d-dimensional set of vertices on the surface are identified. The convex envelope of the set of vertices lying on such an L-sphere is a convex polyhedron called by Delaunay an L-polyhedron (Fig. 1b). The set of these polyhedra defines a normal partition of the space called the L-partition. The Delaunay lemma is naturally generalized for this polyhedral partition. These days, the L-partition is called Delaunay partition, while the spheres with d-dimensional set of vertices on their surfaces are called Delaunay spheres. The convex envelope of the spheres passing through a vertex defines a Voronoi polyhedron for this vertex. Note that both Delaunay and Voronoi partitions for a prescribed vertex set are unique. Duality relations between Delaunay and Voronoi partitions are simple and elegant, which is not the case for Delaunay triangulations.
(a)
(b)
Fig. 1 (a) Empty sphere moving through the point set, (b) spheres with d-dimensional point sets
Polygonal and Polyhedral Delaunay Meshing
83
Each Delaunay polyhedron can be split into simplices, creating a simplicial partition which is generally called a Delaunay triangulation. Note that this construction excludes flat simplices (slivers). Strictly speaking, a sliver is a degenerate simplex with a d − m-dimensional vertex set, m > 0, meaning that it is just an incorrect triangulation of the d − m-dimensional face of the Delaunay partition. This problem is aggravated if approximate computations are used. In such a case, the difference between a correct but an almost flat simplex and an incorrect triangulation of a Delaunay polyhedron face has to be clearly identified. A natural identification is provided by the power diagram or a radical partition for the set of spheres. The radical partition goes back to René Descartes’ work. It is the set of convex polyhedra constructed as intersections of half-spaces defined by d − 1-dimensional planes orthogonal to segments connecting centers for all pairs of spheres (see Sect. 2 for details). For a pair of intersecting spheres, the radical plane always passes through the common set. Hence, given a set of Delaunay spheres as an input, the radical partition would coincide with the Delaunay partition. The equivalence of the radical and the Delaunay partitions provides a natural way to introduce a polyhedral approximation of a Delaunay partition for a disturbed point set. Let us add a small perturbation to the vertex positions and consider an arbitrary simplicial Delaunay partition for this vertex set, allowing for slivers. In this case, the numbers, centers, and radii of the Delaunay spheres evidently would change. However, since the volume of each Delaunay polyhedron was strictly positive initially, the centers and radii of the Delaunay spheres are stable with respect to perturbations. Hence, what we get is the cluster of spheres approximating each Delaunay sphere of the initial partition. A new sphere is the circumsphere of a certain new Delaunay simplex. We can find the best fit for the center of each cluster of spheres using averaging of circumcenters with volume of the corresponding Delaunay simplices as weights. In this case, a sliver would evidently provide a zero contribution to the averaged sphere parameters. The simplest way to compute the average radius for a cluster of spheres is to use least squares for distances between the new center and the disturbed vertices. A sliver may produce an isolated circumsphere which does not fit into the cluster of spheres. Such a sliver should be ignored when constructing the radical partition. The elimination criterion is simple: if the circumsphere is unstable, then the almost flat simplex is too badly conditioned to contribute to the set of spheres. As soon as a radical partition is computed, a stable triangulation of the resulting polyhedral partition can be found which may serve as an approximate Delaunay triangulation. Note that the radical partition for the disturbed point set may produce another point set as a set of partition vertices. It may produce a cluster of close vertices instead of each input vertex potentially creating needle-type simplices. These clusters also should also be glued together. It is well known that an annoying feature of modern advanced tools for Delaunay triangulation such as TetGen [13] is the creation of artificial slivers. A simplest test set when the vertices of a cubic lattice are triangulated generally produces a huge number of flat tetrahedra. The logic of a Delaunay triangulation via a radical partition is more complicated but it allows to get rid of artificial slivers. Note, however, that the same notation “sliver” is sometimes used for a badly shaped
84
V. Garanzha and L. Kudryavtseva
simplex which is not far from being flat but the computation of its circumcenter and circumradius is stable. Then it is a legitimate badly shaped Delaunay simplex and it should not be eliminated from the triangulation. Delaunay triangulations have numerous applications in quite different fields [4]. One of the properties which is very important for numerical simulations is the maximum principle for the discrete Laplacian on Delaunay meshes [11]. They key ingredient of algorithms for constructing truly Voronoi computational meshes is the ability to control the location of Delaunay spheres in the key regions of the computational domain, in particular on and near boundaries [1, 12]. We propose a computational framework which, potentially, can serve as a tool of controlling placement of Delaunay spheres and provides a top-to-bottom DelaunayVoronoi construction when the set of spheres generates the set of seeds for Delaunay meshing.
2 Power Diagram and Lifting Procedure The idea of lifting goes back to the works of G.F. Voronoi [14] who has shown that a Delaunay triangulation in Rd is the projection of faces of a convex polyhedron P ∈ R d+1 inscribed into a circular paraboloid . The convex body P ∗ , constructed as the intersection of the upper half-spaces for tangent planes to at the vertices of P , is called the Voronoi generatrice. Projection of its faces onto Rd defines a Voronoi diagram. A more general lifting concept [8, 9] is based on the construction of a pair P , P ∗ of convex polyhedra which satisfy the polarity relation [3] with respect to the paraboloid . Consider the system of balls B = {B1 , . . . , Bn } defined by centers and radii ci , Ri , ci ∈ Rd , Ri ≥ 0. According to the lifting operation, one can consider the lifted point system El = {p1 , . . . , pn } in Rd+1 , where 1 piT = ciT (|ci |2 − Ri2 ) = (ciT hi ). 2 Consider the lower convex envelope of El defined by the convex function xd+1 = v(x1 , . . . , xd ). The Legendre-Young-Fenchel dual [10] of v is denoted by v ∗ . To be mathematically precise, the function v(x) is equal to +∞ outside the convex envelope conv(c1 , . . . , cn ) and its epigraph is a closed set. The dual function v ∗ (x) is defined everywhere and its graph contains unbounded faces. Further, we will consider constrained problems where unbounded faces are excluded from the problem setting. Projection of faces of the graph of v defines a weighted Delaunay triangulation W in Rd [8]. Vertices of the graph of v are pairs ci , hi and vertices of the weighted Delaunay triangulation are ci . Tk denotes the k-th weighted Delaunay polyhedron. Projection of faces of the graph of v ∗ defines a radical partition (power diagram) R for a system of balls in Rd [8], as shown in Fig. 2. Projection of the k-th vertex
Polygonal and Polyhedral Delaunay Meshing
85
Fig. 2 A weighted Delaunay triangulation, the power diagram, and dual polyhedra from lifting. The figure is constructed with the help of detri2 by Hang Si
of the graph of v ∗ onto xd+1 = 0 is denoted by vk . This point is dual to Tk ∈ W, while the vertex ci is dual to the cell Di of R.
3 Ball Movement as a Transformation of Dual Polyhedra Our objective is to move the balls B in such a way that all vertices of graph of v ∗ converge to the surface of paraboloid xd+1 = (x) = 12 (x12 + · · · + xd2 ). It means that the projection of the graph of v ∗ will eventually converge to the Delaunay partition. Note that the number of vertices vk may vary during the ball movement. Further, it is convenient to use notation x T , xd+1 for an arbitrary point in Rd+1 , where x T = {x1 , . . . , xd }. For the set of balls B, we build primal P and dual polyhedra P ∗ defined by the convex piecewise-linear functions v(x) and v ∗ (x), respectively. According to the polarity relation [3], the vertex ci , hi defines the dual plane of the face of the graph of v ∗ (x), ciT x = hi + xd+1. The vertex vk , zk of the graph of v ∗ (x) is the intersection of at least d + 1 such planes: vkT (ci − cp ) = hi − hp ,
(1)
86
V. Garanzha and L. Kudryavtseva
where i = p are indices of all planes intersecting in the point vk , zk . Hence, 1 1 1 1 zk = vkT ci − hi = vkT ci − ci2 + Ri2 = − |ci − vk |2 − Ri2 + vk2 . 2 2 2 2 In another words, 1 zk − (vk ) = − τi (vk ). 2
(2)
Here, τi (y) = |ci − y|2 − Ri2 is the power of the point y with respect to the ball Bi . Hence, the vertical distance of the vertex vk , zk from the paraboloid is fully defined by the value of power. Another interpretation of the equality (1) is that for a vertex vk dual to the weighted Delaunay polyhedron Tk the equality τi (vk ) = τp (vk ) is satisfied for all vertices of Tk . It means that for the setting we use it is possible to omit indices and just use notation τ (vk ) for the value of power. From (1) it follows that the gradient of v ∗ (x) at the i-th face of its graph is equal to ci . The dual statement is true as well: the gradient of v(x) at the k-th face of its graph is equal to vk . For any convex polyhedron Tk one can find d linear independent vectors ci − cp . In 2d, when Tk is a triangle, this set is simply c2 − c1 , c3 − c1 , as shown in Fig. 3a. When τ (vk ) > 0, one can associate with vk the √ sphere with radius τ (vk ) which is called the orthosphere. In the section devoted
D3 c3 h3 Tk
vk
~ T2
c2 h2 D2
c1 h1 D1 (a)
Di
~ T1
s1 s2 ci s3s 4 ~ T3
~ T4
(b)
Fig. 3 (a) A weighted Delaunay triangle Tk , the dual vertex vk and orthocircle, (b) a radical cell is split into 4 Delaunay triangles. Center ci is approximated by a cloud of 4 Delaunay circumcenters
Polygonal and Polyhedral Delaunay Meshing
87
to √ numerical experiments we draw artificial “orthospheres” with radius defined by |τ (vk )|. As shown below, these spheres visualize the deviation of radical partition from the Delaunay partition. Denote by v˜ ∗ projected version of function v ∗ which is constructed as follows: consider the set of vertices {vj zj } of the graph of v ∗ and project them on paraboloid just by setting z˜ j =
1 |vj |2 , 2
v˜j = vj .
As shown above, this projection changes the “vertical component” zj by 12 τ (zj ). Computing the lower convex envelope of the system of points v˜k , z˜ k , k = 1, nv , we get the graph of function v˜ ∗ .
4 Dirichlet Functional for Power Function In order to measure how far the current radical partition is from the Delaunay partition we consider the Dirichlet functional for the difference of v ∗ and v˜ ∗ , F (X) =
1 2
|∇v ∗ − ∇ v˜ ∗ |2 dx .
(3)
Here, X is the vector of unknowns, consisting of ci , Ri , and is the bounded definition domain of function v˜ ∗ . From (2) it follows that 1 |∇τ (x)|2 dx . F (X) = 8 We denote by τ (x) the piecewise linear function which coincides with τ (vk ) at vk and is linear on each cell T˜j of the auxiliary Delaunay partition. F (X) can be rewritten as F (X) =
1
|ci − sj |2 vol T˜j , 2 i
(4)
T˜j ∈Di
where sj is the circumcenter of the Delaunay simplex T˜j . The above equality is the obvious consequence of the fact that ∇v ∗ |Di = ci , ∇ v˜ ∗ |T˜j ∈Di = sj .
88
V. Garanzha and L. Kudryavtseva
To clarify this formula, consider a Delaunay simplex T˜j with vertices v1 , . . . , vd+1 . The gradient gj of v˜ ∗ is defined by (vm − vl )T gj =
1 2 (v − vl2 ), 2 m
m, l ≤ d + 1,
or 1 1 |gj − vm |2 = |gj − vl |2 , 2 2 which is precisely the set of equations for the circumcenter sj of T˜j . Equality F (X) = 0 implies that for each radical polyhedron Di its dual vertex ci coincides with all circumcenters of Delaunay triangulation of its set of vertices, meaning that Di is Delaunay polyhedron. Consider the following algorithm: For n = 0, 1, . . . • Given the set of balls Bn , compute the primal and dual functions v n and v n∗ using the lifting operation. These functions define a weighted Delaunay triangulation Wn and a radical partition Rn , respectively. • Compute the projected function v˜ n∗ . This function defines a Delaunay triangulation T˜ n of the set of vertices of radical partition Rn . • Do gradient search minimization step for Dirichlet functional F (x), obtaining the set of balls Bn+1 . Repeat until convergence. In this algorithm, the sequence of weighted Delaunay triangulations Wn converges to a Voronoi diagram V while the sequence of radical partitions Rn to a Delaunay partition T . Note that the limit Delaunay triangulation T˜ consists of Delaunay simplices, while T consists of polyhedral Delaunay cells for the same point set. One can formulate a simplified version of the algorithm when cumbersome gradient computation is avoided. Let us try to find ci using local minimization of the functional (4) considering it as a quadratic function of ci , ⎞ &
⎟ ⎜ =⎝ sj vol T˜j ⎠ vol T˜j , ⎛
cinew
T˜j ∈Di
T˜j ∈Di
while Ri is computed using simple least squares approximation
Rinew
M
new 2 1 c =√ − vm i M m=1
! 12 ,
(5)
Polygonal and Polyhedral Delaunay Meshing
89
where v1 , . . . , vM is the set of vertices of Di . Note that (5) is equivalent to M
τ (vm ) = 0,
m=1
which, in turn, is the necessary minimum condition with respect to Ri for the local functional M
τ 2 (vm ).
m=1
New positions and radii are computed using a certain damping parameter 0 < θ < 1, cin+1 = cin (1 − θ ) + cinew θ
and
Rin+1 = Rin (1 − θ ) + Rinew .
This heuristic algorithm is quite efficient for initial iterations. Eventually, it slows down and should be replaced by the gradient search technique in order to converge to the exact solution. One can consider constrained problem where some of the balls are fully or partially fixed: ball centers are allowed to move along a prescribed manifold, radii constraints are added, etc. Currently, there is no existence theorem for this problem. In principle, an overdetermined constrained problem can be defined such that the set of Delaunay spheres cannot be constructed without allowing introduction of new spheres.
5 Numerical Experiments We made an attempt to generate polygonal Delaunay meshes for a relatively simple test setting. Consider a square with a circle inside. We cover boundary curves by the protecting circles. For the outer boundary, we fix the circle centers, thus, defining an approximation of the external boundary by Voronoi edges. For the inner boundary (the internal circle) we fix both the position of circle centers and the radii. Additional two lines of circles defining the initial layer of quadrilateral Delaunay cells near the internal boundary are added. The centers of these additional circles are fixed but the radii are allowed to change. We allow for a small radius change on the outer boundary as well. Since the outer boundary is covered by Delaunay cells, we essentially set zero boundary conditions for the power function τ (x). A lattice set of circles is created inside the domain and random disturbance is added to the centers and the radii. All centers which get inside the protecting circles are eliminated. Figure 4 shows the general view of the initial radical partition and the final Delaunay partition. It can be observed that the constraints are satisfied by allowing
90
V. Garanzha and L. Kudryavtseva
Fig. 4 Initial radical partition R0 and the final Delaunay partition T
Fig. 5 Initial radical partition R0 with the initial set of circles and the final Delaunay partition T with circumcircles
larger cells near the fixed circles which, in turn, compresses some circles almost to zero. Note that the nice regular layered pattern of Delaunay and Voronoi cells near the internal boundary is disturbed due to introduction of small Delaunay edges. In the current version of the algorithm, there is no mechanism to eliminate these small edges. Figure 5 adds the set of circles Bi to Fig. 4. Initial weighted Delaunay triangulation W0 and the final Voronoi mesh are shown in Fig. 6. Again, we observe quality problems in final Voronoi triangulation. Note that two layers of the Voronoi cells near the internal circle are in fact quadrilateral layers.
Polygonal and Polyhedral Delaunay Meshing
91
Fig. 6 Initial weighted Delaunay mesh W0 and the final Voronoi triangulation
Fig. 7 Fragments of the initial radical and the final Delaunay partitions
Fig. 8 Fragments of the initial radical and the final Delaunay partitions
Enlarged fragments in Figs. 7 and 8 allow to see clearly how the algorithm works. Figure 9 show the evolution of the mesh fragment where “orthocircles” are added, meaning the circles centered at the dual vertices vk with radii equal to √ |τ (vk )|. When τ (vk ) < 0, the red circles are no longer real orthocircles; they are just to evaluate the deviation of the radical cells from the Delaunay cells.
92
V. Garanzha and L. Kudryavtseva
Fig. 9 Converging sequence of radical partitions (a)–(d) with square roots of absolute values of powers shown as red circles
6 Discussion We have shown numerically in the 2d case that a radical partition can evolve into the polygonal Delaunay partition via evolution of the set of circles. The problem setting is multi-dimensional, hence, it is expected that the algorithm is applicable in the 3d case as well. While there is no existence theorem for the problem, we do not consider this as a crucial drawback. As soon as the addition of new balls becomes an admissible operation, the existence result become trivial, since the projected function v˜ ∗ in each iteration already provides a solution. However, the problem of the minimal addition of balls in order to construct a solution is an open one. Numerical experiments suggest that the ability to add new circles/balls locally also can be important in order to attain mesh quality in the presence of constraints. Note that the concept of lifting allows to create nontrivial computational algorithms. In [2], the balls with unknown radii were assigned to the vertices of surface triangulation in order to solve the recovery problem when the weighted Delaunay tetrahedralization of the point set is constructed which matches prescribed boundary triangles. In [2], a similar existence problem is encountered. Evidently, it is possible to define a surface triangulation which cannot be matched by weighted Delaunay faces. In this case, the surface mesh should be refined: new vertices are added, which alleviates the existence problem. In practice, the mesh quality functionals should be optimized by using manifold ∇F = 0 as a constraint. Obvious quality requirements are related to elimination of small Delaunay and Voronoi edges and faces. This is subject of ongoing research.
Polygonal and Polyhedral Delaunay Meshing
93
In order to build good Delaunay-Voronoi meshes, one has to follow the sizing function, eliminate small Delaunay edges/faces, eliminate small balls, and eliminate small Voronoi edges/faces, trying to create a polyhedral Voronoi mesh. Acknowledgments This work is supported by the Ministry of Science and Higher Education of the Russian Federation, project No. 075-15-2020-799.
References 1. Abdelkader, A., Bajaj, C., Ebeida, M., Mahmoud, A., Mitchell, S., Owens, J., Rushdi, A.: VoroCrust: Voronoi meshing without clipping. ACM Trans. Graph. 39(3), 23 (2020) 2. Alexa, M.: Conforming weighted Delaunay triangulation. ACM Trans. Graph. 39 (6) (2020). https://doi.org/10.1145/3414685.3417776 3. Alexandrov, A.D.: Convex Polyhedra. Moscow-Leningrad (in Russian) (1950) 4. Aurenhammer, F., Klein, R., Lee, D.-T.: Voronoi Diagrams and Delaunay Triangulations. World Scientific, Singapore (2013) 5. Delone (Delaunay), B.N.: Sur la sphere vide. In: Proc. Internat. Congr. Math. (Toronto 1924), vol. 1, pp. 695–700. Univ. Toronto Press, Toronto (1928) 6. Delaunay, B.N.: Sur la sphere vide. Bull. Acad. Sci. URSS, VII. Ser. 1934 6, 793–800 (1934) 7. Delone, B.N.: The geometry of positive quadratic forms. Uspekhi. Mat. Nauk 3, 16–62 (1937). 4, 102–164 (1938) 8. Edelsbrunner, H.: Geometry and Topology for Mesh Generation. Cambridge Monographs on Applied and Computational Mathematics. Cambridge University Press, Cambridge (2001) 9. Edelsbrunner, H., Seidel, R.: Voronoi diagrams and arrangements. Discrete Comput. Geom. 1, 25–44 (1986) 10. Fenchel, W.: On conjugate convex functions. Canad. J. Math. 1, 73–77 (1049) 11. Gärtner K., Kamenski L.: Why do we need Voronoi cells and Delaunay meshes? Essential properties of the Voronoi finite volume method. Comput. Math. Math. Phys. 59(12), 1930– 1944 (2019) 12. Garanzha, V.A., Kudryavtseva, L.N., Tsvetkova, V.O.: Hybrid Voronoi mesh generation: algorithms and unsolved problems. Comput. Math. Math. Phys. 59(12), 1945–1964 (2019) 13. Si, H.: TetGen, a Delaunay-based tetrahedral mesh generator. ACM Trans. Math. Softw. 41(2), 11:1–11:36 (2015) 14. Voronoi, G.F.: Nouvelles applications des paramètres continus a la théorie de formes quadratiques. J. Reine Angew. Math. 134, 198–287 (1908)
On Decomposition of Embedded Prismatoids in R3 Without Additional Points Hang Si
Abstract This paper considers embedded three-dimensional prismatoids. A subclass of this family is twisted prisms, which includes the family of non-triangulable Schönhardt polyhedra (Schönhardt, Math Ann 98:309–312, 1928; Rambau, On a generalization of Schönhardt’s polyhedron. In: Goodman, J.E., Pach, J., Welzl, E. (eds.) Combinatorial and Computational Geometry, vol. 52, pp. 501–516. MSRI Publications, Chicago, 2005). We call a prismatoid decomposable if it can be cut into two smaller prismatoids (which have smaller volumes) without using additional points. Otherwise, it is indecomposable. The indecomposable property implies the non-triangulable property of a prismatoid but not vice versa. In this paper, we prove two basic facts about the decomposability of embedded prismatoid in R3 with convex bases. Let P be such a prismatoid, call an edge interior edge of P if its both endpoints are vertices of P , and its interior lies inside P . Our first result is a condition to characterize indecomposable twisted prisms. It states that a twisted prism is indecomposable without additional points if and only if it allows no interior edge. Our second result shows that any embedded prismatoid in R3 with convex base polygons can be decomposed into the union of two sets (one of them may be empty): a set of tetrahedra and a set of indecomposable twisted prisms, such that all elements in these two sets have disjoint interiors.
1 Introduction Decomposing a geometric object into simpler parts is one of the most fundamental problems in computational geometry. In 2d, this problem is well solved. Given a polygonal region whose boundary is a planar straight-line graph G = (V , E), there are many efficient algorithms to create a constrained triangulation whose vertex set is V and it contains all edges
H. Si () Weierstrass Institute for Applied Analysis and Stochastics, Berlin, Germany e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_6
95
96
H. Si
of E. Moreover, no additional vertices are needed. Lee and Lin [8] and Chew [4] independently proved that there exists a triangulation of G, called the constrained Delaunay triangulation, such that it is as close as to the Delaunay triangulation of V while preserveing all edges of E. Moreover, Chew showed that this triangulation can be constructed in optimal O(n log n) time [4]. The problem of triangulating polyhedra is complicated even we restrict ourselves to only consider simple polyhedra (without holes). It is known that not all simple polyhedra can be triangulated without adding new vertices, so-called Steiner points. The famous example of Schönhardt [12] (known as the Schönhardt polyhedron) shows that a twisted non-convex triangular prism cannot be triangulated without adding new vertices, see Fig. 1 (left). Other examples of non-triangulable polyhedra are presented, e.g., in [1–3, 6, 10, 13]. The existence of non-triangulable polyhedra is a significant difficulty in many 3d problems. Ruppert and Seidel [11] proved that the problem to determine whether a simple non-convex polyhedron can be triangulated without Steiner points is NP-complete. It is necessary to use additional points, so-called Steiner points, to triangulate polyhedra. Chazelle [3] constructed a family of polyhedra and proved that they require a large number of Steiner points to be triangulated, see Fig. 1 (right). There are not many studies about the geometry and topology of such polyhedra. Rambau [10] first showed that any non-convex twisted prisms over an n-gon (n ≥ 3) cannot be triangulated without Steiner points. Furthermore, he showed that the nontriangulability of such polyhedra does not depend on how much it is twisted. His result generalized the Schönhardt polyhedron into a family of polyhedra with such a property. We call polyhedra from this family Rambau polyhedra. The Schönhardt polyhedron is the simplest case of a Rambau polyhedron. Geometrically, a Rambau polyhedron is a special prism such that its top and base polygons are (i) planar, (ii) congruent, and (iii) parallel to each other. In general, a twisted prism is not necessarily a Rambau polyhedron. Indeed, a slightly perturbed Rambau polyhedron whose base polygon has more than three vertices might become triangulable. On the other hand, if a prism (not necessarily a Rambau polyhedron) is
z y x
Fig. 1 Left: the Schönhardt polyhedron. Right: a Chazelle polyhedron
On Decomposition of Embedded Prismatoids in R3 Without Additional Points
97
twisted sufficiently much, it won’t be triangulable without Steiner points. The proof of this fact is rather simple. A basic fact (proved in Sect. 3) is that for a prism having a base polygon with more than five vertices, interior edges have to be decomposed. When a prism is twisted sufficiently large, it will reach a state an interior edge can’t be inserted. Hence, it is non-triangulable. Note that a Rambau polyhedron might allow insertion of interior edges. Motivated by this phenomenon, we want to find the critical conditions between the existence and non-existence of a tetrahedralisation for this kind of polyhedra. This paper considers three-dimensional prismatoids which can be embedded in R3 . A subclass of this family are twisted prisms, which includes the family of nontriangulable Schönhardt polyhedra [10, 12]. We call a prismatoid decomposable if it can be cut into two smaller prismatoids (which have smaller volumes) without using additional points. Otherwise it is indecomposable. The indecomposable property implies the non-triangulable property of a prismatoid but not vice versa. In Sect. 3, we prove two basic facts about the decomposability of embedded prismatoid in R3 with convex bases. Let P be such a prismatoid, call an edge interior edge of P if its both endpoints are vertices of P , and its interior lies inside P . Our first result is a condition to characterize indecomposable twisted prisms. It states that a twisted prism is indecomposable without additional points if and only if it allows no interior edge. Our second result shows that any embedded prismatoid in R3 with convex base polygons can be decomposed into the union of two sets (one of them may be empty): a set of tetrahedra and a set of indecomposable twisted prisms, such that all elements in these two sets have disjoint interiors.
2 Preliminaries This section provides the necessary definitions of the family of prismatoids and twisted prismatoids studied in this paper.
2.1 Prisms, Antiprisms, and Prismatoids In geometry, a prism is a solid that has two polygonal faces that are parallel and congruent [7, 14]. In other words, it is a polyhedron comprising an n-sided polygonal base (possibly non convex), a second base which is a translated copy (rigidly moved without rotation) of the first, and n other faces (necessarily all parallelograms) joining corresponding sides of the two bases. All cross-sections parallel to the bases are translations of the bases. Antiprisms are similar to prisms except the bases are twisted relative to each other, and that the side faces are triangles, rather than quadrilaterals. Formally, an n-sided antiprism is a polyhedron composed of two parallel copies of an
98
H. Si
convex antiprisms
triangular prism
cuboid
pentagonal prism
oblique prism
star prism
non-convex antiprisms
antiprisms
prisms
Bagemihl polyhedron
pyramid
wedge
truncated prism (a wedge)
Jenssen polyhedron
Bezdek & Carrigan polyhedron
icosahedron cupola
pentagonal cupola
frustum
not prismatoids
Fig. 2 The family of prismatoids. Right-bottom: some common figures which are not prismatoids4
n-sided polygonal base (possibly non-convex), connected by an alternating band of triangles. Both prisms and antiprisms are subclasses of prismatoids. A prismatoid is a polyhedron whose vertices all lie in two parallel planes; its lateral faces can be trapezoids or triangles [7, 14]. The family of prismatoids includes many common geometric shapes, e.g., pyramids, wedges, prisms, antiprisms, and frusta (truncated pyramids). Figure 2 shows various examples as well as some common solids which are not prismatoids.
2.2 Sn,m -Prismatoids This section defines a family of prismatoids considered in this paper. In brief, these prismatoids have convex bases which are connected by a band of triangular facets. Additionally, they can be embedded in R3 without self-intersections.
4 Here and hereafter: cupola figure (from Wikipedia) used under CC BY-SA 3.0; antiprisms created with Robert Webb’s Stella software, https://www.software3d.com/Stella.php; Jessen’s polyhedron © 2021 Springer Nature Switzerland AG.
On Decomposition of Embedded Prismatoids in R3 Without Additional Points
99
Without loss of generality, we will place a prismatoid in such a way such that the two base facets are parallel to the horizontal plane H0 := { (x, y, 0) | x, y ∈ R }. Moreover, one of its facets, called bottom facet, lies in H0 , and the other facet, called top facet, lies in the plane Hh := { (x, y, h) | x, y, h ∈ R, h > 0 }. Definition 1 Let n, m be two integers satisfying n, m ≥ 1, n + m ≥ 4. A Sn,m prismatoid P (in short Sn,m ) is a three-dimensional solid such that (i) its top facet is a convex n-gon in Hh , its bottom facet is a convex m-gon in H0 ; (ii) the side facets of P between its bottom and top facets are all triangles; and (iii) P is topologically a 3-ball embedded in R3 . Many prismatoids are Sn,m -prismatoids. For example, S1,m (m ≥ 3) are pyramids. S2,m (m ≥ 2) are wedges with triangular facets. In particular, both S1,3 and S2,2 are tetrahedra. Antiprisms which can be embedded in R3 with no selfintersected facets are Sn,n -prismatoids, see Fig. 3 (left). However, all prisms and many of other prismatoids are not Sn,m -prismatoids, see Fig. 3 (right). If a non Sn,m prismatoid satisfies (iii), i.e., it can be embedded in R3 without self-intersection, it will become an Sn,m by a slight perturbation in its vertex set. Given an Sn,m -prismatoid P , there are n + m triangles in its band. There is a bijection between the band of triangles and a binary string of n + m 0/1 bits. In [5] a first construction of this transformation is given. We first construct a flattened band D of triangles in the plane. It is done by cutting the band of P along one of its edges and then flatten it into the plane. There are n + 1 vertices and n edges on the top of D and m + 1 vertices and m edges on the bottom of D. These edges are in one-to-one correspondence to the boundary edges of the top and bottom facets of P . The two vertical boundary edges of D are identified as the same edge, which we cut open. The band’s triangles are bijectively mapped into the triangles of D, i.e., the images of the triangles of the band triangulate D. We label each triangle in D as 0 if it has an edge on the top and a vertex on the bottom and as 1 if it has an edge on the bottom and a vertex on
Schönhardt polyhedron
convex antiprism
a Rambau polyhedron non-convex antiprism
pyramid
pentagonal cupola
not all triangular facets
non-convex bases
not embedded
Sn,m -prismatoids Fig. 3 Prismatoids on the left are Sn,m -prismatoids, while those on the right are not
100
H. Si
a4
a1 a2
a3
a1
0
1
b6
b1
b5 b4
b1
b2
a3
a2 0 1 b2
1 b3
a4
a1
0
0
1 b4
1 b5
1 b6
b1
“0110101011”
b3
Fig. 4 An S4,6 -prismatoid is shown in the left and the binary string corresponds to its band of triangles is shown in the right
the top. Now, the set of triangles from left to the right corresponds to a string like 0100101. An example of such transformation is shown in Fig. 4. With this transformation, the combinatorial structure of an Sn,m can be characterized by a binary string. It does not, however, recognize the geometry of the prismatoid. For example, a convex and a non-convex Sn,m may have the same binary string.
2.3 Twisted Prisms We use the above transformation to define a special class of Sn,n -prismatoids. Recall that an antiprism can be obtained by twist a prism. There are two directions, clockwise or counterclockwise, in the plane. Depending on which direction it is twisted, we obtain two non-convex antiprisms which are similar but with combinatorially different boundary facets (Fig. 5). We call an Sn,n -prismatoid a twisted prism if the band of its triangles corresponds to a binary string which contains no two consecutive 0’s or 1’s, i.e., a string like 01010101 or 10101010. The degree of a vertex of an Sn,m -prismatoid is the number of edges shared at this vertex. An equivalent definition of a twisted prism is: a twisted prism is an Sn,n -prismatoid whose vertices all have a degree of 4. Note that a twisted prism might be convex or non-convex. We are interested in a special type of non-convex twisted prisms. Let P be a non-convex twisted prism whose base is an n-gon. We call P a pure non-convex twisted prism if there are exactly n non-convex edges in its boundary. For examples, the two non-convex prisms in Fig. 5 are pure. In particular, all Rambau’s non-convex twisted prisms are pure.
On Decomposition of Embedded Prismatoids in R3 Without Additional Points
a4
a5 a6
a3 a2
a1 b5
a5
b1
b5
b3
b2
a1
a2 a3 a4
b1
b2
b3
b4
a2 a1
a6
b4
b6
a3
a4
b1
a6
a3 a2
a1 b3
b3
b2
a4
a5
b4
b6
101
b2
b4 b5
b1
b6
a5 a6 a1
a6
a1 a2 a3 a4
a5 a6
a1
a2 a3 a4 a5 a6 a1
b1
b1
b2 b 3
b6 b1
b6
b1
b5
b6
“101010101010”
b4
b5
“010101010101”
b2
b3
b4
b5
b6
“101010101010”
Fig. 5 Twisted prisms (top), bands (middle), and strings (bottom). Left: a convex hexagonal antiprism. Right: two non-convex antiprisms resulted by twisting the top facet of left counterclockwise or clockwise, respectively
Note that our definition of twisted prisms is slightly more general than Rambau’s definition [10] by not requiring the top and the bottom facets to be strictly congruent. They may be two different convex n-gons.
2.4 Decompositions of Sn,m -Prismatoids A triangulation T of a prismatoid P is a geometric simplicial complex such that the union of all simplices of T is P , i.e., the underlying space of T is P . A triangulation of P may contain additional vertices, which are not vertices of P . These vertices are called Steiner points of P . In this paper, we are only interested in those triangulations of P , which have no Steiner points. We say a prismatoid is triangulable if it admits a triangulation without Steiner points. Otherwise, it is non-triangulable. It is well-known that some prismatoids are non-triangulable, e.g., the Schönhardt polyhedron and Rambau polyhedra. For two Sn,m -prismatoids P1 and P2 let Vert(P1 ) and Vert(P2 ) be their vertex sets and Vol(P1 ) and Vol(P2 ) their volumes, respectively. We say that P1 is smaller than P2 if Vert(P1 ) ⊆ Vert(P2 ),
(1)
Vol(P1 ) < Vol(P2 ).
(2)
102
H. Si
triangulable
not triangulable
Rambau polyhedra
Schönhardt polyhedron
decomposable indecomposable
Fig. 6 The difference of being triangulable and being decomposable
Condition (1) means that P1 and P2 share the same vertex set of P2 , while (2) means that the volume of P1 is strictly less than that of P2 . Note that (2) necessarily holds if the number of vertices of P1 is strictly less than that of P2 , i.e., Vert(P1 ) ⊂ Vert(P2 ) Note that if P1 and P2 have different vertices, than they are not comparable. We say that an Sn,m -prismatoid is decomposable if it is either a single tetrahedron (i.e., an S1,3 or S2,2 ) or there exists a partition of it into two smaller Sn,m prismatoids without using Steiner point such that the two prismatoids share no interior points, i.e., they only share at their common boundary facets. Otherwise, it is indecomposable. The difference between being triangulable and being decomposable for a given prismatoid is that a triangulable prismatoid is also decomposable but not vice versa (Fig. 6). A non-triangulable prismatoid might still be decomposable. In contrast, an indecomposable prismatoid must be non-triangulable.
3 New Results on Decomposition of Sn,m -Prismatoids We prove the following two theorems about the decomposability of Sn,m . Theorem 1 A twisted prism is indecomposable if and only if it does not contain interior edges.
On Decomposition of Embedded Prismatoids in R3 Without Additional Points
103
Theorem 2 An Sn,m -prismatoid P can be decomposed with no Steiner points into the union of two sets T and P, where T is a set of tetrahedra and P is a set of indecomposable twisted prisms. All elements in T and P have disjoint interiors.
3.1 Outline of the Proof An ear of a two-dimensional polygon is a vertex v of this polygon such that the line segment between the two neighbors of v lies entirely in the interior of the polygon. The two-ears-theorem [9] states that every simple polygon with more than three vertices has at least two ears, vertices that can be removed from the polygon without introducing any crossings. This theorem can be used to show that every two-dimensional simple polygon can be triangulated. The analogue of an ear for a polyhedron is a degree 3 vertex, which has precisely three boundary edges of this polyhedron connecting to it (Fig. 7 left). The following lemma shows that if an Sn,m contains a degree 3 vertex, it can be reduced to a smaller prismatoid, which does not contain that vertex. In other words, a degree 3 vertex can be removed from it (Fig. 7 right). Lemma 1 If an Sn,m -prismatoid with more than 5 vertices contains a degree 3 vertex, then it can be dissected into a tetrahedron and a smaller Sn,m -prismatoid without Steiner points. Proof Let P be an Sn,m . A triangular face is an interior face of P if its three vertices are vertices of P , and it is not a boundary facet of P . We prove this lemma in two steps: 1. A degree 3 vertex defines an interior face of P , 2. P can be separated by cutting along this interior face. Without loss of generality, we assume that P contains a degree 3 vertex ai in its top facet and the three boundary edges of P containing ai are {ai , ai−1 }, {ai , ai+1 }, and {ai , bj }. Then the face {ai−1 , ai+1 , bj } is an interior face (Fig. 7 left).
ai−1
ai−1 ai
bj
ai
ai+1
ai+1
bj
Fig. 7 Left: an Sn,m -prismatoid contains a degree 3 vertex ai . Right: this prismatoid is separated by the tetrahedron {ai−1 , ai , ai+1 , bj } and a (n − 1, m)-prismatoid
104
H. Si
Our proof of step 2 follows the following observation. Let our eye be at ai , and we are looking into the interior of P . Our viewing volume is restricted by a cone with apex ai and three boundary faces f1 := {ai , ai−1 , bj }, f2 := {ai , ai+1 , bj }, and f3 := {ai , ai−1 , ai+1 }. Note that f1 and f2 are original boundary facets of P . Since the edge {ai−1 , ai+1 } lies in the interior of the top facet, the triangle f3 is an ear in top facet. The property (iii) of P (Definition 1) requires that P contains no self-intersected boundary facets. The above facts together imply that all interior points of the tetrahedron {ai−1 , ai , ai+1 , bj } are interior points of P . Furthermore, the visibility to the four corners from any interior point of {ai−1 , ai , ai+1 , bj } is not blocked by a boundary facet of P . Therefore, the tetrahedron {ai−1 , ai , ai+1 , bj } can be separated from P which results in an Sn−1,m -prismatoid P with {ai−1 , ai+1 , bj } as its boundary facet. By the above lemma, as long as an Sn,m -prismatoid contains a degree 3 vertex, it is decomposable. Since a wedge cannot be a twisted prism, the above lemma immediately implies the following fact. Corollary 1 All S2,m -prismatoids, m ≥ 2, can be triangulated without Steiner points. If a twisted prism is not pure, it must be decomposable by removing a tetrahedron. Therefore we can quickly get the following corollary. Corollary 2 All Sn,m -prismatoids except pure non-convex twisted prisms are decomposable. Since not all pure non-convex twisted prisms are indecomposable, we still need to find the condition to characterize whether a pure non-convex twisted prism is indecomposable or not. Consider a twisted prism P . Call an edge {ai , bj } an interior edge of P if both ai and bj are vertices of P and {ai , bj } is not a boundary edge of P , and the interior of {ai , bj } lies in P (see Fig. 8 left). The following
au
au ai
ai
bj
bj bv
ai bj
bv
Fig. 8 A twisted prism (left) (an S8,8 ) contains an interior edge {ai , bj } (shown in pink). It is decomposed into two prismatoids, an S4,5 and an S5,6 (right) at this interior edge {ai , bj } and two chosen interior faces {ai , au , bj } and {ai , bv , bj } of the prism
On Decomposition of Embedded Prismatoids in R3 Without Additional Points
105
Lemma 2 is crucial to reach this condition. It shows that P is decomposable as long as there is an interior edge of P (see Fig. 8 (right) for an example). The proof of this lemma is given in Sect. 3.2. Lemma 2 If a pure non-convex twisted prism contains an interior edge, then it can be decomposed into two smaller prismatoids without Steiner point. Theorem 1 is then proved by the reserve of Lemma 2. Theorem 2 can be proven by combining Lemmas 1 and 2 as follows. Proof of of Theorem 2 Given an Sn,m , as long as it is not a twisted prism, it can be dissected into a set of tetrahedra and a twisted prism. If the twisted prism admits at least one interior edge, it can be dissected into two smaller simplicial prismatoids. The above process can be repeated until either no twisted prism remains or the remaining twisted prisms are indecomposable.
3.2 Proof of Lemma 2 We will prove this lemma by showing that if an interior edge exists, then there must exist four interior faces which share at this edge, and the original twisted prism can be separated into two smaller prismatoids by these faces on their boundary. Let P be a pure non-convex twisted prism whose base is a convex n-gon, n > 3. Without loss of generality, we assume that the top facet of P is twisted counterclockwise against its bottom facet (Fig. 9). Also, we label the vertices of
an−1 · · ·
an a1
aj
aj−1
aj
···
aj−1
bj
bj
···
ai
···
ai
bi
bi bi+1
bi+1 an a1 · · · ai−1 ai
b1
···
bi
bi+1
···
···
aj−1 aj
···
an−1 an
bj bj+1 · · · bn
b1
Fig. 9 The labelling of vertices of a pure non-convex twisted prism (top) and its transformed band in the plane (bottom). Red edges are locally non-convex edges of this prism. The edge {ai , bj } is an interior edge. Left: the four edges in the band of the prism. Right: the four faces at the interior edge {ai , bj }
106
H. Si
the top and bottom facets of P in such a way that the edge {ai , bi } is locally a non-convex edge of P , i = 1, . . . , n (Fig. 9). Let {ai , bj } be an interior edge of P . The indices i and j are within the cyclic sequence {1, . . . , n}. By our specific labelling of the vertices, i.e., {ai , bi } refers to a non-convex edge, i and j must satisfy the following condition (additions and subtractions of indices are all modulo n): j ∈ { i, i + 1, i + 2 } (equivalently, i ∈ { j, j − 1, j − 2 }).
(3)
Consider the edges connecting at vertices ai and bj in the band: ai : {ai , bi }, {ai , bi+1 }, bj : {bj , aj −1 }, {bj , aj }.
(4)
Each of these boundary edges forms a face that shares at the edge {ai , bj }. There are four faces, which can be sorted into two groups, Fai which are faces containing two vertices in the top facet, and Fbj which are faces containing two vertices in the bottom facet (Fig. 9), i.e., Fai : {ai , aj −1 , bj }, {ai , aj , bj }, Fbj : {ai , bi , bj }, {ai , bi+1 , bj }.
(5)
Given a pair of distinct indices i, j ∈ { 1, . . . , n } satisfying (3), the four faces in (5) exist and they are distinct. We prove that these four faces in (5) are interior faces of P . It is sufficient to show that all these faces satisfy the following two facts: (I) they do not intersect any boundary facet of P in its interior, and (II) all interior vertices of these faces are interior vertices of P . Our proof of these two facts is based on observation, which suggests an intuitive geometric proof. We project the prism P along the line containing the edge ai bj onto a plane further than bj , see Fig. 10. The edge vector defines the normal of this plane. Let ai be the projection of ai in this plane and the same for other vertices of P . This projection of P (in the plane) has the following properties: • P is projected into a (non-convex) region, denoted as R, in this plane, i.e, the shaded area in Fig. 10. • The projection of the edge {ai , bj } is coincident at one point in R. The four faces in Eq. (5) are projected into the four edges, shown in blue in Fig. 10. • Each side facet of P is projected into either a triangle or a line segment in R, an example of the facet {aj −2 , bj −2 , bj −1 } and its projection {aj −2 , bj −2 , bj −1 } is highlighted in Fig. 10. In particular, a facet is projected into a line segment if it is parallel to the edge {ai , bj }.
On Decomposition of Embedded Prismatoids in R3 Without Additional Points
aj+1
aj
107
aj−1
ai
a j−
bj bj−1
bj
1
bj−2
a j+
bj+1
1
aj
+
1
ai ,
bj
bj
− 1
bj
− 2
Fig. 10 Projecting the twisted prism P onto a plane orthogonal to the edge {ai , bj }
By this particular projection, we can verify that if the projection of a side facet of P in R does not cross the projection of the four faces, they do not intersect in their interior in R3 . Observe the image of the projection of P (Fig. 10 right): , b } are not overlapping any the four edges {aj , bj }, {aj −1 , bj }, {ai , bj }, and {ai+1 j other projected triangles in the plane. This phenomenon implies that the interior of these two faces does not intersect any other boundary facets of P in R3 . From this observation, let us formally prove this fact. The projections of the top and bottom polygons of P in the plane are two convex polygons that must intersect each other. In general, there are two intersection points, one of them must be the double-point, ai and bj , which is the projection of the edge {ai , bj }, see Fig. 11. These two polygons may intersect at only one point. In this case, this point must be the double-point; see Fig. 10. Based on this double-point, ai and bj , we can divide the projected vertices of P into four sets: A1 := {aj , aj +1 , . . . , an−1 , an , . . . , ai }; , . . . , aj −1 }; A2 := {ai , ai+1 B1 := {bj , bj +1 , . . . , bn−1 , bn , . . . , bi }; , bi+2 , . . . , bj }; B2 := {bi+1
108
H. Si
aj aj−1
aj
aj−1
ak
an−1
ak
an−1
an
an bn ai
ai , bj
bn
bj
bk+1
bk+1
bk z
bi
y
bk y
bi+1
x
x
bi
bi+1
Fig. 11 Proof of Lemma 2. Projecting a pure non-convex twisted prism (left) onto a plane orthogonal to the edge {ai , bj } (right)
We prove that any projected boundary facet of P does not cross the four edges }, {a , b }, and {a , b {ai , bi }, {ai , bi+1 j j j j −1 }. Let t be a boundary triangular facet of P , and t be the projected triangle (may be an edge) in the plane. The vertices of t must be one of the following cases: 1. The vertices of t are in A1 ∪ B1 . All vertices are on the projected base polygons of P . Due to the convexity of the base polygons of P , t does not cross any of the four edges. 2. The vertices of t are in A1 ∪ B2 . This case is impossible. Without less of generality, let t := {au , bu , bu−1 }, see Fig. 12. Since au ∈ A1 , then j ≤ u ≤ i + n. Since bu ∈ B2 , then i ≤ u ≤ j , a contradiction.
au
aj
au aj aj−1
aj−1
an−1
an−1
an
an bn ai
z
bi
y x
bi+1
ai , bj
bn
bj
bu
bu+1 y x
bi
bu bi+1
Fig. 12 Proof of Lemma 2. The facet {au , bu , bu+1 } cannot exist in the boundary of P
bu+1
On Decomposition of Embedded Prismatoids in R3 Without Additional Points
aj aj−1
aj
aj−1
an−1
an bn
bi x
bi+1
bv
bv+1
ai , bj
bn
bj
ai
y
av
an−1
av
an
z
109
y x
bi
bi+1
bv
bv+1
Fig. 13 Proof of Lemma 2. Since {ai , bj } is an interior edge of P , the facet {av , bv , bv+1 } whose interior intersects {ai , bj } cannot exist in the boundary of P
3. The vertices of t are in A2 ∪ B1 . This case is impossible with the same reasoning as in case 2. 4. The vertices of t are in A2 ∪ B2 . Assume t is a triangle (not an edge). We show that t does not intersect any of these four edges. Assume the contrary, t does cross these edges. Without loss of generally, let t := {av , bv , bv+1 }, where av ∈ A2 and bv , bv+1 ∈ B2 , and assume t intersect the edges {bi+1 , ai } and {aj −1 , bj }, see Fig. 13. If this happens, there exist a boundary facet of P , which cuts the edge {ai , bj }, which implies that {ai , bj } is not an interior edge of P , a contradiction. Hence the projection of these two faces in the plane must be two edges that are not crossed by any other projected facets of P . By the property (iii) in Definition 1 of an Sn,m (P is embedded in R3 ) it contains no self-intersected boundary faces. This shows that the two faces {ai , aj , bj , } and {ai , aj −1 , bj , } do not intersect other side facets of P in their interiors. This proves (I). Observe that the edges {aj , bj } and {aj −1 , bj } lie inside the image of the projection of P . This shows that all interior points of the faces {ai , aj , bj } and {ai , aj +1 , bj } must lie inside P . This proves (II). Therefore the four faces in (5) must be interior faces of P . } and Indeed, we also proved that the interiors of the two triangles {ai , bi , bi+1 {aj , aj −1 , bj } do not intersect any projected triangles of P . This shows that the interiors of the two tetrahedra {ai , aj , aj −1 , bj }
and {ai , bi , bi+1 , bj }
do not intersect any boundary facets of P . Hence they can be removed from P . This shows that P is decomposable. Our goal, however, is to separate P into two prismatoids with convex bases.
110
H. Si
aj
an−1 · · ·
an a1
···
an−1 · · ·
aj−1 · ··
an a1
bj
ai
···
au au
n2 -gon
··· m1 -gon
bv
bi+1
n1 -gon
bj ai
m2 -gon
bi
bj
· · · ai
···
bv
Fig. 14 Decomposition of a non-convex twisted prism Sn,n (left) along an interior edge {ai , bj } results in two prismatoids Sn1 ,m1 and Sn2 ,m2 , respectively (right)
It is easy to show that any combination of two faces, one from Fai and one from Fbj , dissects the prism P into two smaller prismatoids. For example, choose {ai , au , bj } ∈ Fai
and {ai , bv , bj } ∈ Fbj ,
where u = {j −1, j } and v = {i, i +1}. The edge {ai , au } will divide the top facet (a n-gon) into two convex polygons, an n1 -gon and an n2 -gon. The edge {bv , bj } will divide the bottom facet (a n-gon) into another two convex polygons, an n1 -gon and an n2 -gon. Therefore, the original prism is cut into two smaller twisted prismatoids Sn1 ,m1 and Sn2 ,m2 (see Fig. 14 for an example). Without loss of generality, assume i < u and v < j , then n1 , n2 , m1 , m2 ≤ n can be calculated as n1 := u − i + 1,
n2 := n − n1 + 2,
m1 := j − v + 1, m2 := n − m1 + 2,
(6)
where u = {j − 1, j } and v = {i, i + 1}. Since there are four possible combinations of faces from Fai and Fbj , there are four possible dissections of this prism.
References 1. Bagemihl, F.: On indecomposable polyhedra. Am. Math. Month. 55(7), 411–413 (1948) 2. Bezdek, A., Carrigan, B.: On nontriangulable polyhedra. Contrib. Algebra Geom. 57(1), 51–66 (2016). http://dx.doi.org/10.1007/s13366-015-0248-4 3. Chazelle, B.: Convex partition of polyhedra: a lower bound and worst-case optimal algorithm. SIAM J. Comput. 13(3), 488–507 (1984) 4. Chew, P.L.: Constrained Delaunay triangulation. Algorithmica 4, 97–108 (1989) 5. Hurtado, F., Noy, M., Urrutia, J.: Flipping edges in triangulations. Discrete Comput. Geom. 22(3), 333–346 (1999). http://dx.doi.org/10.1007/PL00009464
On Decomposition of Embedded Prismatoids in R3 Without Additional Points
111
6. Jessen, B.: Orthogonal icosahedra. Nordisk Mat. Tidskr 15, 90–96 (1967) 7. Kern, W.F., Bland, J.R.: Solid Mensuration. Wiley, London (1934) 8. Lee, D.T., Lin, A.K.: Generalized delaunay triangulations for planar graphs. Discrete Comput. Geom. 1, 201–217 (1986) 9. Meisters, G.H.: Polygons have ears. Am. Math. Month. 82(6), 648–651 (1975). http://www. jstor.org/stable/2319703 10. Rambau, J.: On a generalization of Schönhardt’s polyhedron. In: Goodman, J.E., Pach, J., Welzl, E. (eds.) Combinatorial and Computational Geometry, vol. 52, pp. 501–516. MSRI Publications, Chicago. (2005) 11. Ruppert, J., Seidel, R.: On the difficulty of triangulating three-dimensional nonconvex polyhedra. Discrete Comput. Geom. 7, 227–253 (1992) 12. Schönhardt, E.: Über die zerlegung von dreieckspolyedern in tetraeder. Math. Ann. 98, 309– 312 (1928) 13. Si, H., Goerigk, N.: Generalised Bagemihl polyhedra and a tight bound on the number of interior Steiner points. Comput. Aid. Des. 103, 92–102 (2018). https://doi.org/10.1016/j.cad. 2017.11.009. http://www.sciencedirect.com/science/article/pii/S0010448517302324 14. Wikipedia contributors: prismatoid (2019). https://en.wikipedia.org/wiki/Prismatoid. Accessed 20 May 2019
Out-of-core Constrained Delaunay Tetrahedralizations for Large Scenes Ziya Erkoç, Aytek Aman, U˘gur Güdükbay, and Hang Si
Abstract Tetrahedralization algorithms are used for many applications such as Ray Tracing and Finite Element Methods. For most of the applications, constrained tetrahedralization algorithms are chosen because they can preserve input triangles. The constrained tetrahedralization algorithms developed so far might suffer from a lack of memory. We propose an out-of-core near Delaunay constrained tetrahedralization algorithm using the divide-and-conquer paradigm to decrease memory usage. If the expected memory usage is below the user-defined memory limit, we tetrahedralize using TetGen. Otherwise, we subdivide the set of input points into two halves and recursively apply the same idea to the two halves. When compared with the TetGen, our algorithm tetrahedralizes the point clouds using less amount of memory but takes more time and generates tetrahedralizations that do not satisfy the Delaunay criterion at the boundaries of the merged regions. We quantify the error using the aspect-ratio metric. The difference between the tetrahedralizations that our approach produce and the Delaunay tetrahedralization are small and the results are acceptable for most applications.
1 Introduction Tetrahedralization has many applications, ranging from finite element simulations to ray tracing accelerations. There are notable tetrahedralization algorithms in the literature. Yet, these algorithms are not appropriate for applications that require the use of very large meshes that do not fit into the memory. Besides, some of these applications require the faces of the input mesh to be preserved after
Z. Erkoç · A. Aman · U. Güdükbay () Department of Computer Engineering, Bilkent University, Ankara, Turkey e-mail: [email protected]; [email protected]; [email protected] H. Si Weierstrass Institute for Applied Analysis and Stochastics, Berlin, Germany e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_7
113
114
Z. Erkoç et al.
the tetrahedralization is complete. This kind of tetrahedralization algorithm is called constrained tetrahedralization. Constrained tetrahedralization algorithms guarantee that the input mesh is contained in the surface of the output tetrahedral mesh. This property is especially important for tetrahedralization-based ray tracing accelerators, not to disturb the surface geometry [4]. Although these algorithms are quite powerful and can complete the tetrahedralization process in a reasonable amount of time, their usage is limited by the available memory. These algorithms might fail when the tetrahedralization of an object requires a large amount of memory. For instance, a bridge model consisting of tens-of-millions of vertices can be analyzed using the Finite Element Method. Besides, a ray-traced scene may contain up to a few hundred million faces [8]. Those examples might require an excessive amount of memory. We propose an out-of-core divide-and-conquer constrained tetrahedralization algorithm that will take the memory-constraint specified by the user into account and will not exceed it. Our algorithm divides the mesh into two pieces recursively as long as the expected memory usage is above the given constraint. When the given mesh is small enough to satisfy memory requirement it is tetrahedralized. Since our algorithm does not guarantee satisfying Delaunay property for every tetrahedron, it is a near Delaunay tetrahedralization algorithm. Yet, this approximation may be reasonable for applications such as tetrahedralizations as acceleration structures for Ray Tracing [4]. In their paper, Lagae and Dutré show that if tetrahedralization algorithms that are used in ray tracing relax the Delaunay criterion, the construction time decreases but the rendering time increases. Hence, our algorithm offers a tradeoff between these two timings.
2 Related Works There are many triangulation algorithms in the literature. However, these algorithms cannot tetrahedralize large models that do not fit into the memory in a constrained fashion. Smolik and Skala put forth a divide-and-conquer tetrahedralization algorithm that works both in CPU and GPU [6]. They also develop an out-of-core version of their algorithm and observe a decrease in memory usage, thereby being able to tetrahedralize large objects with the same available memory. Yet, their algorithm is not a constrained tetrahedralization. They divide the input point cloud into a 3D grid and simultaneously tetrahedralize each grid cell and finally merge the cells. Our approach is different because we, before all, have developed a constrained tetrahedralization algorithm. Yet, dividing the object into grids may not be possible for constrained tetrahedralization because triangles should not extend to more than one grid cell, which is not possible with their algorithm. Hence, we divide the object into two at any time instead of dividing it into many small pieces. Cignoni et al. propose a divide-and-conquer algorithm to triangulate meshes of any dimension [3]. However, they do not describe an out-of-core extension of
Out-of-core Constrained Delaunay Tetrahedralizations for Large Scenes
115
their algorithms. Besides, their algorithm is not a constrained tetrahedralization algorithm. Our divide-and-conquer algorithm differs from DeWall in the nonrecursive part. Their algorithm applies a merge step before recurring. In this early-merge step, their algorithm uses a dividing plane, and by selecting the closest vertices at either side of this plane, it creates an initial tetrahedralization. Specifically, they choose these vertices so that the generated tetrahedra has the smallest circumsphere radius to satisfy the Delaunay criterion. Therefore, at this step, all the tetrahedra generated intersects that virtual plane. Then, it applies the same recursively for the other two sides. Our method is different from theirs in the sense that we do not select an area to be initially tetrahedralized; we just cut the mesh into two and tetrahedralize the parts. DeWall performs three tetrahedralization operations at each recursive step, one for around the plane, one for the left, and one for the right side. However, we only tetrahedralize left and right without allocation a middle region to be tetrahedralized. This approach comes with a cost for us because we do not have a middle-region like DeWall. Hence, we cannot guarantee that the Delaunay criterion is satisfied for the tetrahedra around the cutting plane. Blelloch et al. [1] present a parallel Delaunay triangulation algorithm. Their algorithm uses the divide-and-conquer paradigm like ours. They utilize parallelism at the pre-recursive step to reduce the overall run-time cost. They experimented on various point distributions and observed significant improvements. Our algorithm is different because ours is a constrained triangulation algorithm that takes into account not only the input points but also the input triangles. Besides, while we aim to reduce the memory usage by compromising run-time, Blelloch et al. want to improve the run-time performance. Since they introduce parallelism, they need to include new data structures, which require an extra set of data stored in the main memory. Therefore, developing a parallel algorithm might defy our purpose of creating a memory-efficient algorithm. Si developed a constrained Delaunay tetrahedralization algorithm [5]. This algorithm is both fast and robust. However, it requires a significant amount of memory for the tetrahedralization process because it is not an out-of-core algorithm. We compare our algorithm to TetGen because our algorithm depends, at its core, on it. We aim to create a memory-efficient version of TetGen to tetrahedralize large meshes that do not fit into the memory by applying an out-of-core approach on top of it.
3 Algorithm 3.1 Overview Our algorithm is an out-of-core divide-and-conquer algorithm for constrained tetrahedralization. It, at its core, makes use of the TetGen software [5]. Our algorithm divides the input mesh into two as long as the memory is not enough
116
Z. Erkoç et al.
Algorithm 1 Our algorithm 1: procedure TETRA(vertices, faces) 2: if CALCULATE_EXPECTED_MEMORY(vertex_count) ≤ memory_limit then 3: TETGEN(vertices, faces) 4: else 5: left_vertices, left_triangles, right_vertices, right_triangles 6: = CLIP(vertices, faces) 7: left_mesh_file = TETRA(left_vertices, left_triangles) 8: right_mesh_file = TETRA(right_vertices, right_triangles) 9: output_mesh_file = MERGE(left_mesh_file, right_mesh_file) 10: return output_mesh_file 11: end if 12: end procedure
for it. We calculate the expected memory usage using linear regression. If the mesh fits into the memory, then we use TetGen with the mesh as input to generate the tetrahedral mesh. Otherwise, we divide the mesh into two pieces by a plane passing through the mean of the most variant axis. We then recursively apply the same procedure to the two parts. When the tetrahedralizations of the parts are complete, we merge these tetrahedral meshes into one tetrahedral mesh as the last step. Algorithm 1 provides thee pseudo-code of the algorithm. Further, our algorithm can generate a bounding box for the input object so that the space around the object can be tetrahedralized, which is especially convenient for Ray Tracing accelerators.
3.2 Expected Memory Calculation We observe the memory consumption of TetGen with several models and generated a linear regression model to predict the memory consumption of an input object. The first two columns of Table 1 show the vertex count of each object and the real
Table 1 Memory requirement observations for TetGen in Megabytes (MB). We provide the actual memory requirements and the estimated values for various models of different vertex counts using our linear regression model Vertex count 1440 2880 34,560 112,220 172,971
Actual memory requirement 7.03 13.97 167.67 514.80 792.97
Expected memory requirement 9.70 16.28 161.04 515.91 793.51
Out-of-core Constrained Delaunay Tetrahedralizations for Large Scenes
117
memory usage when that object is tetrahedralized. We set up a linear regression model using this data and we ended up with the following equation: y = 4.57 × 10−3 X + 3.12, where y is the expected memory requirement in Megabytes (MB), and X is the number of vertices of the input mesh. In the table, the last column corresponds to the expected memory requirement calculated using the above equation.
3.3 Subdivision Stage To decrease the problem size, the input mesh must be divide into two pieces at each recursion level. We are dividing the input using the plane that passes through the mean of the most variant axis. Dividing the object requires a significant effort because after the division the cut surfaces of each object must match so that the resulting tetrahedral mesh of each side matches. Matching triangles will guarantee a match in the resulting tetrahedral mesh because we are applying constrained tetrahedralization. To this end, we use the clip function of CGAL [7]. It takes input mesh and a plane as input, and slices the mesh using the plane and returns the positive side. It also allows us to triangulate the open-surface. We use it the following way: we first clip the object and get the surface triangulation. Then, for the second half, we again clip the object but not triangulate the surface. Instead, we just copy the triangulation of the first part and paste it to the second part. In that way, we guarantee that the triangulation at both sides will match. However, copy-pasting may lead to duplicate vertices and open borders. Therefore, we propose a repairing algorithm to eliminate these defects. The way we clip the object prevents the tetrahedra near the clipping plane to breach the Delaunay criterion. This is because after each part is tetrahedralized we cannot guarantee that the circumsphere of the tetrahedra around the plane will contain points from the other side. Since while one half is tetrahedralized the other half is not considered, the Delaunay criterion might be violated. Yet, the magnitude of the violation depends on the number of tetrahedra around the plane and the number of times the object is divided. While choosing the plane, we make sure that the most variant axis is chosen, to also decrease the number of tetrahedra around the plane.
3.4 Repairing Stage We introduce steps that we apply to eliminate defects in the meshes produced during the subdivision stage. Two defects that may arise during the clipping stage are
118
Z. Erkoç et al.
overlapping vertices and overlapping edges. Specifically, both problems occur because of copying the triangulation of the left side and pasting it to the right side. Faces cannot overlap because we copy the triangles generated for the left side to the open-boundary of the right side. Overlapping vertices occur because when we copy the triangulation, the vertices of the left surface triangulation might coincide with the border vertices of the right mesh. We can repair overlapping vertices by iterating through all of the triangles around the dividing plane and checking if any of its vertices have any duplicates. If this is the case, we keep only one of the vertex and ignore the other one. Edges may overlap after copying the triangulation from one side to the other. When a vertex from the left side does not have the corresponding vertex at the right side; then, this vertex would coincide with one of the edges of the right side. The clip function does not insert the same vertices to both sides, which causes this problem. Figure 1a shows an example of overlapping edges. There are three triangles: ABC, BED, and DEC. Here ABC is an existing triangle of the mesh, but during the clipping operation, we can add the other two faces so that two halves match as described above. The problem here is the edge BC overlaps both the edges BD and DC. To fix this, we form triangles ABD and ADC and remove ABC (see Fig. 1b). We repair only the right side because we copy the triangles of the left side over the right side. Hence, only the topology of the right side is disturbed. We repair overlapping edges as follows. We iterate over all edges in the right mesh that are close to the dividing plane. For each face in this region, we iterate over all of the vertices of the mesh on the right. If the edge contains a vertex between its terminal points, it means that this vertex is leading to an overlapping edge. We make use of the point-line segment distance to find the overlapping between a vertex and edge. Afterward, the triangle containing this edge is fixed, as shown in Fig. 1.
Fig. 1 Handling overlapping edges. (a) Overlapping edges. (b) After repairing overlapping edges
Out-of-core Constrained Delaunay Tetrahedralizations for Large Scenes
119
Algorithm 2 Merge procedure procedure MERGE(left_mesh_file, right_mesh_file) # Concatenate vertices and tets CONCATENATE_VERTICES(left_mesh_file, right_mesh_file, output_mesh_file) CONCATENATE_TETS(left_mesh_file, right_mesh_file,output_mesh_file) # Find missing neighbors left_centroids = GET_CENTROIDS(left_mesh_file) left_centroids_grid = GENERATE_GRID(left_centroids) right_centroids = GET_CENTROIDS(right_mesh_file) for each right_centroid ∈ right_centroids do if right_centroid ∈ left_centroids_grid then ADD_NEIGHBOUR(right_tet, left_tet, output_mesh_file) end if end for return output_mesh_file end procedure
3.5 Merging Stage The merge step is another non-trivial step for our algorithm because it is the place where we finally produce the resulting tetrahedral mesh. In the merge step, we first merge two tetrahedral meshes into one mesh as depicted in Algorithm 2. That step simply involves concatenating two text files. Secondly, we also extract neighbor relations between tetrahedra. In the end, we generate a final output_mesh_file consisting of vertex locations, tetrahedra, and neighborhood information between tetrahedra. We put a non-trivial effort to find neighborhood information across the two pieces of the object after subdivision. After we cut the object into two pieces and tetrahedralize each piece, the neighbor relations around the cut faces are missing and we find those as well.
3.5.1 Spatial Hashing We use three-dimensional Spatial Hashing. Specifically, the dimensions of the hash grid we have used are 50 × 50 × 50 corresponding to 125,000 cells. We begin by putting the centroid of faces of the left piece that coincide with the cut plane, into the 3D grid. Then, we iterate over the faces of the right piece and find if their centroids match any of the centroids of the left piece by finding the corresponding cell and iterating through the centroids inside of it. If there is a match, it means that two tetrahedra share a common triangle and they must be neighbors. Then, we save this new neighborhood information.
120
Z. Erkoç et al.
3.5.2 Merging Time Complexity Let VL , VR be the number of vertices, FL , FR be the number of faces and TL , TR be the number of tetrahedra of left and right pieces. Merging files will take θ (VL + VR + TL + TR ) time. The time complexity of finding missing neighbour relations through Spatial Hashing will take θ (FL + FR ) time on average. Specifically, we, first, iterate through all faces of left piece to putting the centroids in the grid taking θ (FL ) time. Then, we iterate through all faces in the right piece, θ (FR ) time, and for each face we search the centroid inside the grid which takes θ (1) time thanks to hash structure. Hence, overall, it takes θ (FR ) ∗ θ (1) = θ (FR ) time. As a result, overall time complexity of, merge step is θ (VL + VR + TL + TR + FL + FR ). The time complexity function can be further simplified using the fact that V R n−1 . if Rsgs sgs
(25)
That is, we multiply once the CFL by mcfl if the SGS solver properly reduces the residual of the time step system, otherwise we divide it by m4cfl . In order to speed up the computation, exclusively for these two simulations, the initial CFL is set to its maximum allowed value. The convergence history is shown in Fig. 3, having
150
F. Clerici and F. Alauzet
NACA
10−1
adj
residual
Δ
sgs
10−7
10−13
10−19
1
2
3 4 iteration number
5
6
Multi-element airfoil
102
adj
residual
Δ
sgs
10−3
10−8
10−13 0
100
200 300 iteration number
400
500
n n , and R n Fig. 3 Convergence of Radj , Rsgs
defined the residual of the linear system (20) as n Rsgs
2 2 ∂J ˜ T 0 1n ∂R 2 W∗ − =2 − 2 ∂W ∂W
˜ M ∂R 1+ dt ∂W
T!
2 0 ∗ 1n 2 2 δW 2, 2
(26)
and the norm of the difference between the residual vector relative to the adjoint system and the residual vector relative to the system (20) given by 2 2 ! 2 M ˜ T 0 1 2 ∂R 2 n ∗ n2 R = 2 1+ δW 2. (27) 2 2 dt ∂W
Adjoint Computation on Anisotropic Meshes in High-fidelity RANS Simulations
151
The convergence in the NACA case is extremely fast, with a reduction of the residual by two order of magnitude at each iteration, while it takes almost 500 iteration in the case of the multi-element airfoil. This can be related to the mesh size, which is widely different between the two benchmarks. The multi-element airfoil mesh, furthermore, has been adapted using a goal (lift) oriented mesh adaptation procedure. The CFL remains fixed to its maximal value, meaning that the SGS solver is able to solve efficiently the system (20) at each time step. Since we are not using an exact solver for the system (20), we remark that in general 0 ∗ 1n 0 1n+1 0 ∗ 1n δW = W ∗ − W . Hence, the difference (27) highly depends on the CFL. In the NACA case the value of (27) overlaps on the line of Radj , meaning that the time discretization is responsible of the main difference between Rsgs and Radj . In the multi-element airfoil case, the term (27) is smaller than the residuals Rsgs and Radj , which are comparable in magnitude. This means that the main source of error is given by the SGS solver: since, in general, we are able to control the SGS residual, for this reason we will keep it as small as possible (usually between 10−10 and 10−12). Note that at the end of the simulation, the term (27) is almost stalling, meaning that we are adding the same quantity to the solution W ∗ . Referring to the multielement airfoil case, proceeding with the time advancement, the residual of the adjoint system stalls on a value around 4 × 10−13 , while with the GMRES, the adjoint system residual stalls on a value of 4 × 10−12. Eventually, we remark that the results obtained with the GMRES and with the pseudo-transient adjoint are equivalent for both the cases.
5 Numerical Results In this section, we assess the performance of the pseudo-transient adjoint solver by comparing it with the GMRES linear solver. To this aim, we set up 15 simulations of a multi element airfoil, using always the same parameters with the exception of the angle of attack α, which varies from −2° to 26° with an interval length of 2°. For all the simulations, we have used the compressible Navier-Stokes equations coupled to the Spalart-Allmaras model, the Mach number is set to Ma = 0.2 and the Reynolds number Re = 5.0 × 106. Each simulation consists in a sequence of meshes of increasing complexity: we first start from a coarse mesh of 4000 vertices, then we adapt it using Wh and W ∗ , and we recompute the solution Wh and W ∗ on the new mesh, until the lift coefficient of the airfoil becomes stationary using a relative threshold of 1% among three consecutive values. After that, we double the complexity and we restart all the computations. The number of vertices increase continues until the mesh reaches a complexity of four million vertices: in this way we are able to support the solution independence with respect to the computational mesh. We perform the computations on a new mesh by restarting with the solutions Wh and W ∗ of the previous mesh, suitably interpolated [20]: this feature is particularly advantageous when employing the pseudo-transient adjoint,
152
F. Clerici and F. Alauzet
as we are able to stay close to the initial solution even when the problem is stiff. On the other hand, it seems that there is no advantage to restart the adjoint solution for the SGS-GMRES solver, and in this case W ∗ is set to zero before the resolution. Algorithm 3 depicts the described procedure. Algorithm 3 Anisotropic mesh adaptation algorithm Init: Whold , W ∗,old , H for NV = 4000, 8000, . . . , 4, 096, 000 do n=0 while (CLn − CLn−1 )/CLn−1 > 0.01 or (CLn−1 − CLn−2 )/CLn−2 > 0.01 do Compute Whnew , W ∗,new starting from Whold , W ∗,old Compute CLn from Whnew Adapt H with NV vertices using Whnew , W ∗,new Interpolate Whnew , W ∗,new on H Whold ← Whnew , W ∗,old ← W ∗,new n←n+1 end while end for
We show the plots of the adjoint density fields for an angle of attack α = 8°. We only show the lift-converged solutions at complexities of one, two, and four million vertices in Figs. 4, 5, and 6. As we can see, the GMRES is able to reach a proper convergence for a complexity of one million vertices (it succeeds also for lower complexities), but it starts degrading the adjoint solution after this point. The pseudo-transient algorithm, on the contrary, is not able to reach a proper convergence (also for lower complexities), but it is able to preserve the solution structure thanks to the restarting from a previous solution. Furthermore, the pseudo-transient algorithm is more efficient in terms of the cpu time and storage, as it does not require to store hundreds of Krylov vectors. The behaviour for the other angles of attack is similar to the one shown for α = 8°, meaning that after a certain complexity, usually around one to two million vertices, the GMRES degrades while the pseudo-transient
Fig. 4 Comparison between the GMRES and the PSTR algorithm: adjoint density field for the multi-element airfoil with one million vertices. (a) GMRES, Radj = 3.79 × 10−13 , cpu time = 1 h 18 min 6 s. (b) PSTR, Radj = 7.18 × 10−3 , cpu time = 10 min 53 s
Adjoint Computation on Anisotropic Meshes in High-fidelity RANS Simulations
153
Fig. 5 Comparison between the GMRES and the PSTR algorithm: adjoint density field for the multi-element airfoil with two million vertices. (a) GMRES, Radj = 4.07 × 10−2 , cpu time = 1 h 22 min 57 s. (b) PSTR, Radj = 5.365 × 10−3 , cpu time = 24 min 49 s
Fig. 6 Comparison between the GMRES and the PSTR algorithm: adjoint density field for the multi-element airfoil with four million vertices. (a) GMRES, Radj = 2.29 × 10−2 , cpu time = 2 h 29 min 13 s. (b) PSTR, Radj = 4.08 × 10−3 , cpu time = 53 min 21 s
algorithm preserves the solution. Since the adjoint density fields obtained with the GMRES and the pseudo-transient algorithm are structurally different, we perform a crossed simulation by running a pseudo-transient algorithm on a mesh with one million vertices obtained by using the GMRES from the beginning, and using the corresponding converged GMRES solution as its initial value. This check is done in order to verify whether the pseudo-transient algorithm is able to keep the solution in the same basin of attraction of the previous valid solution. The result is presented in Fig. 7, together with the original result obtained with a psuedo-transient adjoint algorithm from the beginning, for a mesh complexity of one million vertices. We note that the pseudo-transient adjoint restarted on a GMRES converged solution still stalls, even on a lower residual, but it is able to preserve the structure of the converged solution obtained in the previous iteration.
154
F. Clerici and F. Alauzet
Fig. 7 Comparison between a full pseudo-transient adjoint simulation and a restarted simulation. (a) PSTR result, Radj = 7.18 × 10−3 , cpu time = 10 min 53 s. (b) PSTR restarted on a converged solution obtained with GMRES, Radj = 1.49 × 10−3 , cpu time = 9 min 45 s
6 Conclusions A pseudo-transient algorithm for the resolution of the adjoint system in the context of goal-oriented mesh adaptation for RANS has been presented. It turned out to be more efficient in terms of cpu time and storage with respect to the GMRES algorithm, but less robust to converge to the machine zero. Anyway, it revealed to be more accurate on meshes with a high number of vertices, preserving the structure of the adjoint, in contrast to the GMRES, which starts to stall and to degradate the solution after a certain complexity.
Adjoint Computation on Anisotropic Meshes in High-fidelity RANS Simulations
155
References 1. Venditti, D.A., Darmofal, D.L.: Grid adaptation for functional outputs: application to twodimensional inviscid flows. J. Comput. Phys. 176, 40–69 (2002) 2. Loseille, A., Dervieux, A., Alauzet, F.: Fully anisotropic goal-oriented mesh adaptation for 3D steady Euler equations. J. Comput. Phys. 229, 2866–2897 (2010) 3. Menier, V.: Mesh adaptation for the high fidelity prediction of viscous phenomena and their interactions. application to aeronautics. PhD Thesis, Université Pierre et Marie Curie, Paris (2015) 4. Alauzet, F., Loseille, A.: A decade of progress on anisotropic mesh adaptation for computational fluid dynamics. Comput.-Aided Des. 72, 13–39 (2016) 5. Frazza, L.: 3D anisotropic mesh adaptation for Reynolds averaged Navier-Stokes simulations. PhD Thesis, Sorbonne Université UPMC, Paris (2018) 6. Spalart, P.R., Allmaras, S. R.: A one-equation turbulence model for aerodynamic flows. In: 30th AIAA Aerospace Sciences Meeting and Exhibit, Reno (1992) 7. Cournède, P.H., Koobus, B., Dervieux, A.: Positivity statements for a Mixed-Element-Volume scheme on fixed and moving grids. Eur. J. Comput. Mech. 15, 767–798 (2006) 8. Debiez, C. Dervieux, A.: Mixed Element-Volume MUSCL methods with weak viscosity for steady and unsteady flow calculations. Comput. Fluids 29, 89–118 (2000) 9. Batten, P., Clarke, N., Lambert, C., Causon, D.M.: On the choice of wavespeeds for the HLLC Riemann solver. SIAM J. Sci. Comput. 18, 1553–1570 (1997) 10. Van Leer, B.: Towards the ultimate conservative difference scheme I. The quest of monotonicity. In: Proceedings of the Third International Conference on Numerical Methods in Fluid Mechanics. Lecture notes in physics, pp. 18–163. Springer, Berlin (1972) 11. Jameson, A., Yoon, S.: Lower-Upper implicit schemes with multiple grids for the Euler equations. AIAA J. 25, 929–935 (1987) 12. Sharov, D., Luo, H., Baum, J.D., Löhner., R.: Implementation of unstructured grid GMRES+LU-SGS method on shared-memory, cache-based parallel computers. AIAA Paper, vol. 2000-0927 (2000) 13. Alauzet, F., Loseille, A.: High order sonic boom modeling by adaptive methods. J. Comput. Phys. 229, 561–593 (2010) 14. Menier, V., Loseille, A., Alauzet, F.: CFD validation and adaptivity for viscous flow simulations. 44th AIAA Fluid Dynamics Conference, AIAA Paper, Atlanta (2014) 15. Loseille, A., Löhner, A.: Cavity-based operators for mesh adaptation. In: 51th AIAA Aerospace Sciences Meeting, AIAA Paper, vol. 2013-0152 (2013) 16. Saad, Y., Schultz, H.M.: GMRES: A generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM J. Sci. Stat. Comput. 7, 856–869 (1986) 17. Pini, M.: Turbomachinery design optimization using adjoint method and accurate equations of state. PhD Thesis, Politecnico di Milano, Milan (2013) 18. Giles, M., Duta, M., Müller, J.D., Pierce, N.: Algorithm developments for discrete adjoint methods. AIAA J. 41, 198–205 (2003) 19. Nielsen, E., Lu, J., Park, M., Darmofal, D.: An implicit, exact dual adjoint solution method for turbulent flows on unstructured grids. Comput. Fluids 33, 1131–1155 (2004) 20. Alauzet, F., Mehrenberger, M.: P 1-conservative solution interpolation on unstructured triangular meshes. Int. J. Numer. Meth. Eng. 84(13), 1552–1588 (2010)
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional Vladimir A. Garanzha and Liudmila Kudryavtseva
Abstract We suggest an algorithm which allows for generation of a moving adaptive mesh with a fixed topology according to the time-dependent control metric in the computational domain using a quasi-isometric mesh quality functional. For each time step, we use the preconditioned gradient search technique for the mesh quality functional in order to compute large displacements of each mesh vertex. Intermediate meshes interpolating between the initial and the displaced states are nonsingular deformations of the initial mesh and can be used for numerical simulations with small time steps, which greatly improves the efficiency of the remeshing algorithm.
1 Introduction The equidistribution principle [6] is a basic component of moving adapting mesh algorithms [3, 11]. Its idea is to compute the distribution of the mesh size using information from a certain PDE or from the estimate of the interpolation error. In 1d, the equidistribution principle results in the solution of a second order linear elliptic equation with a scalar control function. Note that for time-dependent problems one generally has to use adaptive filters to suppress moving mesh instabilities which were described in the seminal paper by Coyle, Flaherty, and Ludwig, 1986 [5].
V. A. Garanzha () Dorodnicyn Computing Center FRC CSC RAS, Moscow, Russia e-mail: [email protected] http://www.ccas.ru/gridgen/lab L. Kudryavtseva Moscow Institute of Physics and Technology, Moscow, Russia Keldysh Institute of Applied Mathematics RAS, Moscow, Russia © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_10
157
158
V. Garanzha and L. Kudryavtseva
The generalization to multiple dimensions still remains controversial. A widely used generalization is based on the solution of the Laplacian-like equations for the mesh coordinates using a scalar control function [15, 17]. In the beginning of 1990s, S.K. Godunov formulated the following basic principles of optimal variational meshing: • a mesh should be quasi-isometric deformation by itself and converge to a certain quasi-isometric mapping upon refinement; • a quasi-isometric mapping should be a unique and stable solution of a variational problem; • the variational problem should use distortion measures based on the principal invariants of the deformation metric tensor; • the discretized variational problem should also have a unique and stable solution; Note that these principles are not reachable in theory and practice of mesh generation. By definition, the ratio of the length of any simple rectifiable curve to the length of its image under a quasi-isometric mapping is bounded from above by a certain constant K > 1 and below by 1/K. The implementation of these ideas was first presented in [10] using the conformal mapping technique in a relatively simple 2d setting. These ideas inspired a series of papers including [7, 9], where the variational principle for a construction of multidimensional quasi-isometric mappings was suggested and justified theoretically and numerically. In this paper, we suggest a new algorithm which allows for generation of a moving adaptive mesh with a fixed topology using a time-dependent control metric in the computational domain. We are focused on the methods for constructing the control metric and meshes allowing to improve the accuracy of the immersed boundary conditions (IBC) flow solver [1] for a system of moving bodies defined by the distance-like implicit function. Each cell of the ideal mesh at a given time after local transformation into uniform coordinates related to the metric should be congruent to the same cell at the initial time level. The quasi-isometric functional [7] is used to measure and control the matching between the real and the ideal mesh. We have found that, when global large deformations of the initial mesh are necessary in order to satisfy the mesh compression criteria inside thin moving layers near boundaries of domains, simple explicit mesh optimization methods fail to follow the metric precisely. Unfortunately, the preconditioned gradient search algorithm for a quasiisometric functional is quite expensive and, thus, coupling it directly with the flow solver is highly inefficient. Another problem is that, due to the non-linearity of the Euler-Lagrange equations, we cannot assume that the norm of the functional residual is reduced to zero at each time step. Thus, the time continuity of the moving mesh is not guaranteed because the iterative functional minimization with the changed metric may result in a considerable displacements even for infinitely small time steps and the space-time trajectories of the mesh cells may become extremely inclined. In order to solve this problem, we suggest a very simple
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional
159
and efficient algorithm which is based on the direct mesh interpolation. Using the ideas of the preconditioned gradient search algorithm from [8] we compute the predictor, which defines the minimization direction (displacement field) for each mesh vertex for a large time increment. Every intermediate mesh computed with the help of this displacement is guaranteed to be correct. We have found that the length of the computed displacement field is very large compared to the displacements allowed by the flow solver [1], hence the number of costly implicit minimizations can be greatly reduced. Assuming that the time dependence of the metric is defined by a smooth function, we obtain a mesh deformation/adaptation algorithm which requires onelinear solve per, say, 5–10 time steps, making it a quite efficient component of the moving mesh flow solver. We have found that the linear solver based on the so-called second order incomplete Cholesky factorization (IC2) [13, 14] is a very efficient component of the nonlinear solver, especially for the parallel version of the algorithm. Our experience with simpler algorithms, such as the Conjugate Gradient technique with the standard incomplete Cholesky factorization IC(k) as a preconditioner was quite disappointing.
2 Quasi-Isometric Functional The quasi-isometric functional was suggested in [7, 9]. Here, we use a simplified version of this functional for a controlled mesh deformation. Let ξ1 , ξ2 , . . . , ξd denote the Lagrangian coordinates associated with an elastic material and x1 , x2 , . . . , xd denote the Eulerian coordinates of a material point. The spatial mapping x(ξ, t) : Rd → Rd depending on the parameter t defines a timedependent elastic deformation. Here, the parameter t denotes the time and ξi are associated the domain with the initial mesh. Namely, ξi are frozen into cells of the initial mesh, while the Eulerian coordinates are fixed Cartesian coordinates in the computational domain. The Jacobian matrix of the mapping x(ξ, ·) is denoted by C, where cij = ∂xi /∂ξj . Let Gξ (ξ, t) and Gx (x, t) denote the metric tensors defining linear elements and lengths of curves in Lagrangian and Eulerian coordinates in the domains ξ and x , respectively. Then, x(ξ, t) is the mapping between the metric manifolds Mξ and Mx . Let us define the following polyconvex elastic potential (internal energy) which serves as the distortion measure and is written as a weighted sum of the shape and the volume distortion measures [7]: W (C) = (1 − θ )
1 T d tr(C C) det C 2/d
1 1 + det C . + θ 2 det C
(1)
160
V. Garanzha and L. Kudryavtseva
Evidently, W (U ) = 1,
U T U = I,
and
det U = 1
(2)
for a arbitrary orientation-preserving orthogonal matrix U . As suggested in [7], we set θ = 4/5. This value provides a reasonable balance between the shape and the volume distortions. We are looking for the mesh deformation x(ξ, t) being the solution of the variational problem F (x(ξ, t)) =
W Q(x, t)∇ξ x(ξ, t)H (ξ )−1 det H dξ .
(3)
ξ
In the current version of the mesh deformation algorithm, we do not consider the variation of functional (3) with respect to the time t. Matrices H (ξ ) and Q(x, t) are certain matrix factorizations of the metric tensors Gξ and Gx , respectively, defined by H T H = Gξ ,
QT Q = Gx ,
det H > 0,
det Q > 0.
We assume that the singular values of the matrices Q and H are uniformly bounded from below and above. The time-dependent mesh deformation is introduced via a time-dependent metric tensor Gx (x, t) = QT (x, t)Q(x, t). It follows from (2) that the absolute minimum of the functional (3) is equal to vol ξ =
det H dξ ξ
and is attained for Q(x, t)∇ξ x(ξ, t)H (ξ )−1 = U , where U is an orthogonal matrix. It means that, in the uniform coordinate frame y = Qx associated with the local value of the metric Gx (x, t), the mapping x(x, t) is locally isometric to the mapping x(ξ, 0) when H (ξ ) = ∇ξ x(ξ, 0). Suppose that the domain ξ can be partitioned into convex polyhedra Dk . We construct a continuous piecewise-smooth deformation xh (ξ, ·), which is regular on each polyhedron. In practice, we use linear and poly-linear finite elements in order to assemble the global deformation. We call the integral F (xh (ξ ), t) over this deformation a semi-discrete functional.
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional
161
In order to approximate the integral over a convex cell Dk , certain quadrature rules are required. As a result, the semi-discrete functional is replaced by the discrete functional: F (xh (ξ, t), t) ≈
k
vol(Uk )
Nk
βq W (Cq ) = F h (xh (ξ, t), t).
q=1
Here, Nk is the number of the quadrature nodes per cell Dk , Cq denotes the Jacobian matrix in the q-th quadrature node of Uk , and βq are the quadrature weights (see [9] for details). We use only such quadrature rules which guarantee the majorization property F (xh (ξ, t), t) ≤ F h (xh (ξ, t), t).
(4)
This property can be used to prove that all intermediate deformations xh (ξ, t) providing the finite values of the discrete functional are homeomorphisms [9]. In order to derive the discrete mesh functional, special quadrature rules are applied which guarantee the global invertibility of the deformation mapping for finite values of the discrete functional [9].
3 Preconditioned Minimization Algorithm and the Moving Mesh Interpolation Strategy It is convenient to write our discrete functional as a function F (Z, Y, t) with the spatial argument Z T = (z1T z2T . . . znTv ) where zk ∈ Rd , k = 1, . . . , nv , are the mesh vertex positions. Dependence on the time t is introduced via the time-dependent metric Gx (y, t). The vector Y corresponds to the argument y of the metric Gx . The Hessian matrix H˜ of the function F with respect to Z is built of d × d blocks ∂ 2F . H˜ ij = ∂zi ∂zjT Here, the matrix H˜ ij is placed on the intersection of i-th block row and j -th block column. We filter the Hessian matrix during the finite element assembly procedure to make it positive definite and to reduce number of nonzero elements by a factor of 2 [8]. Below, we use the same notation H˜ for the filtered Hessian matrix. The gradient of F with respect to Z is denoted by R. This vector consists of d-sized subvectors ri . It is the approximate gradient of the functional since we do not differentiate the metric Gx , hence, the dependence on Y is not taken into account. Since solving the variational problem on the time level t n+1 = t n + t n exactly is too expensive, we are using 1- or 2-step heuristic schemes.
162
V. Garanzha and L. Kudryavtseva
One step of the Newton-type method for finding a function stationary point can be written as nv
H˜ ij (Z n , Z n , t n+1 )δzj + ri (Z n , Z n , t n+1 ) = 0.
(5)
j =1
This set of equalities can be written in brief as H˜ (Z n , Z n , t n+1 )δZ + R(Z n , Z n , t n+1 ) = 0
(6)
Z˜ = Z n + τn δZ.
(7)
and
Here, the parameter τn is found as a approximate solution of the one-dimensional problem τn = arg min F (Z n + τ δZ, Z n , t n+1 ). τ
(8)
The standard golden-section search is used to find the approximate minimum. The preconditioned conjugate gradient technique is used for an approximate solution of (6) with an approximate second order Cholesky factorization [13] as a preconditioner. For a parallel version of a solver we use the additive version of an approximate second order Cholesky factorization based on domain decomposition with overlaps [14]. The resulting nonlinear scheme was found to be very stable and quite efficient. One can try to simplify the structure of the Hessian matrix by setting H˜ ij = 0 when i = j [12] or even by considering only the diagonal part of Hessian matrix as a preconditioner. We have found that if global large deformations of the initial mesh are necessary in order to satisfy the mesh compression criteria inside thin moving layers, simple explicit methods of mesh optimization fail to follow the metric precisely. Our observation is that “explicit” solvers are not efficient in the case of global deformations. Our linear solver is based on the extraction of d independent linear systems with symmetric positive definite nv × nv matrices [8] from the linear system (6), which are closely resembling finite element approximations of the scalar Poisson equations with a tensor coefficients. The simplest 1-step algorithm is formulated as Z n+1 = Z n + min(1/2, τn )δZ.
(9)
The observed paradox of the variational method is that we may assign any reasonable constant K in the range (0, 1/2) to τn and, after a short transient period, the algorithm would eventually scale the increment δZ in such a way, that the value τn |δZ| is almost invariant since, otherwise, the mesh layer would lag behind the
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional
163
prescribed position. Setting K = 1/2 was found to be a good compromise between the accuracy and the stability. In order to improve the accuracy the following twostep algorithm was tested: • compute 1 1 Z n+ 2 = Z n + τn δZ, 2
(10)
• find the new increment δ Z˜ such that H˜ (Z n+ 2 , Z n+ 2 , t n+1 )δZ + R(Z n+ 2 , Z n+ 2 , t n+1 ) = 0, 1
1
1
1
(11)
• assign ˜ Z n+1 = Z n + τn δ Z.
(12)
In order to ensure the stability of the algorithm in case when resulting Z n+1 is not an admissible solution, one should find the new τn via ˜ Z n+ 2 , t n+1 ). τn = arg min F (Z n + τ δ Z, 1
τ
(13)
and repeat the steps (10)–(12) with the new τn which by construction should be smaller than the previous one. The resulting algorithm resembles the standard 2stage Runge–Kutta scheme associated with a single time step along the space-time trajectory. More precisely, Runge–Kutta predictor stage looks like the minimization step of the Newton-type algorithm, while Runge–Kutta corrector stage may serve as an additional iterative step. Resulting scheme would not provide quadratic convergence even in the model cases. However we have found that this 2-step scheme sharply improves the accuracy of the localization of the mesh layers. Moreover, it produces smooth space-time trajectories of cells and allows to run the mesh deformation solver with much larger time steps. From the minimization strategy it follows that the function F has finite values for any vector Zα defined by Zα = αZ n + (1 − α)Z n+1 ,
0 = α = 1,
which, in turn, means that all intermediate mesh deformations are non-degenerate.
4 Mesh Stretching and Size Gradation Control System of single or multiple moving and deforming bodies which are denoted as a domain B ∈ Rd defined by implicit function ds (x, t) in such a way that the function ds is negative inside body, positive outside it, and isosurface ds (x, t) = 0 defines the
164
V. Garanzha and L. Kudryavtseva
boundary ∂B at the time t. We assume that ds (x, t) resembles the signed distance function for the instant domain boundary. In theory, one can assume the existence of the quasi-isometric mapping x(y) : Rd → Rd such that the function ds (x(y), t) is precisely the signed distance function. In practice, we assume that when the vector ∇x ds in the vicinity of the boundary is defined and its norm is bounded from below and above by certain global constants. The metric tensor G(x, t) is defined as a function of ds (x, t) such that it attains its largest value on the domain boundary and decreases inside and outside body (using different laws). The Mmesh inside the body is in general quite coarse since the immersed boundary solver solution inside the body does not have a physical meaning. In order to attain a smooth mesh size gradation, we use a logarithmic auxiliary mapping which allows to attain an almost constant mesh size growth factor. Consider the one-dimensional auxiliary mapping y(ξ ) : [0, 1] → [0, 1]. We define a uniform mesh in ξ coordinates with the mesh size h = 1/N, where N is the number of cells. Vertices yi are distributed assuming a constant growth rate yi+1 − yi = (yi − yi−1 )(1 + ε). This equality can be considered as the finite difference approximation of the equation hy¨ = εy. ˙ Interchanging dependent and independent variables we obtain −ξ¨ h = εξ˙ 2 . The solution of this ODE is defined by ξ = φ(y) =
Aε h ln 1 + (y − δ) + δA. ε h
We split the “computational domain” into three subregions: “boundary layer” 0 1. In this case, we iteratively reduce the value of A with κ = 2 until the equality φ −1(1) = 1 is satisfied. In order to compute the dimensionless control parameters of the function φ, we use the radius Rmax of the influence zone of the body, the true mesh layer thickness δR , and the average mesh size lR in the direction normal to the body. Then, 3 lR δR h h= , δ = max , . 2 Rmax Rmax A Suppose that the body is a zero isosurface of the signed distance function ds (x, t). We compute the normal compression function as follows σ1 (x, t) = γ (|ds (x, t)|/Rmax , δ, An ).
(14)
where An is the compression factor in the normal direction to the boundary. Denote by u1 = ∇ds /|∇ds | a unit vector of the normal direction. We can obtain a full orthonormal basis U = (u1 , . . . , ud ) using vectors u2 , . . . , ud defining the local tangent basis on the isosurface of ds . The metric tensor Gx (x, t) can be defined by Gx = U U T ,
= diag(σi ).
(15)
166
V. Garanzha and L. Kudryavtseva
Fig. 2 Isotropic metric: an internal layer in the computational domain and its preimage in the parametric domain
The choice of the “tangential” stretches, namely, the stretches in the directions orthogonal to the gradient of the implicit function, is not trivial and very important in order to obtain a mesh deformation without size jumps and ruptures. Here, “rupture” means appearance of long and skewed mesh cells which resembles an approximation of an elastic material rupture. The isotropic choice σi = σ1 or Gx = σ12 I seems to be the simplest one. Unfortunately, its applicability is very limited, since the preimage of the boundary layer in the initial coordinates ξ is scaled by a factor An , as shown in Fig. 2 for An = 6. An enlarged preimage may cover the whole initial domain or even get outside of the boundary meaning that most of the mesh cells will travel into the boundary layer making the resulting mesh unusable. The mesh in Fig. 2 contains 22 531 vertices and 44 610 triangles, however, the enlargement is almost mesh independent. If we specify the maximal tangential compression At , then the linear size of the preimage would increase by the factor At , while the thickness of the preimage layer will increase by the factor An , as shown in Fig. 3 for An = 6, At = 2, and the same initial mesh. We assign the maximal anisotropy ratio An /At in the boundary layer and build σi to gradually reduce the anisotropy away from the layer. In some cases, the constant factor At does not allow to resolve the boundary features, in particular if sharp or highly curved boundary fragments are present. The general argument is that when the tangential resolution is not enough, one should use smart values of the tangential stretches A∗t i , i = 2, . . . , d in different directions in the range At ≤ A∗t i ≥ An . Let us denote the metric with constant stretches in the boundary layer by G1 , and consider the metric introduced around surface features by G2 . We use the same representation (14) and (15) for G2 , the main difference being the influence radius
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional
167
Fig. 3 Anisotropic metric: an internal layer in the computational domain and its preimage in the parametric domain
max (M1 , M 2 ) M2 M1
M3
Fig. 4 Illustration of the maximum operation for two metrics
R2 , which should be smaller compared to the global influence radius Rmax for G1 . Then final metric is defined by Gx = G3 = max(G1 , G2 ). The maximum operation is based on the common circum-ellipsoid construction which is close to the one suggested in [4] (see Fig. 4). Consider two concentric elT −1 lipsoids M1 and M2 defined by the quadratic forms x T G−1 1 x = 1 and x G2 x = 1, respectively. The common circum-ellipsoid M3 defines the matrix G3 . Construction of the ellipsoid M3 is simple: find an affine map which transforms one of the ellipsoids into a sphere. In transformed coordinates, the circum-ellipsoid is trivially constructed and mapped back into the original coordinates. Since each of the
168
V. Garanzha and L. Kudryavtseva
metrics is defined by its spectral decomposition, this construction is reduced to a number of products of orthogonal and diagonal matrices.
5 MPI-Based Parallel Implementation We use the spatial mesh decomposition in order to build a parallel algorithm. Since the degrees of freedom defining the mesh deformation are the mesh vertices, we build a consistent partitioning of mesh cells and vertices: the parametric domain x i is split into connected subdomains consisting of full mesh cells. Mesh vertices belonging to boundaries between subdomains are distributed between subdomains. We use the parallel ILU2-based iterative solver [13, 14] to compute the minimization direction. The solver input data are the right hand side (partitioned into blocks) and the sparse matrix (partitioned into block rows). Each block corresponds precisely to the partitioning of the mesh vertices. Our implementation of the iterative scheme is based on the extended subdomains defining the two-cell-wide subdomain overlap. At the beginning of each minimization iteration (7), we use data exchange to create the current guess at each of the extended subdomains. Such an extension makes the cell-by-cell assembly of functional, its gradient, the Hessian matrix and its subsequent double scaling completely local operations. Additional data exchanges in order to find the optimal value of τ by an approximate solution of the onedimensional minimization problem (8) are not necessary, merely the global sums should be computed. All operations of the mesh generation algorithm are fully scalable. Hence, one can expect that the overall scalability is defined by that of the parallel linear solver. Note that the linear solver uses its own overlaps and a data exchange scheme [14].
6 Numerical Experiments We apply the mesh deformation solver for the geometric adaptation of a computational mesh in order to improve the resolution of the NOISETTE flow solver [16] for numerical modelling of turbulent flow around a quadrocopter propeller. The flow solver is based on the Immersed Boundary Conditions (IBC). We test the numerical technology in two dimensions using the two-dimensional projection of the realistic propeller geometry [2] with the main goal to extend it to the case of a real threedimensional propeller modeling. At this stage, we run simple three-dimensional tests in order to check the initial geometric adaptation, to compare the computed position of the mesh layer with the target moving position, as well as to check the efficiency and scalability of the three-dimensional algorithm. Figure 5 (left) shows the propeller geometry. Due to the natural geometrical limitations, the mesh is deformed only inside a circle which is 10% larger then the propeller itself, meaning that the mesh adaptation near the blade tip becomes a nontrivial task. The propeller
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional
169
Fig. 5 A two-dimensional propeller model and the initial adapted mesh
Fig. 6 Circles are the influence zones of the isotropic metric near sharp corners
is defined by an implicit signed distance-like function. We impose compression factor of 30 in the normal direction inside the thin layer near the blades. In order to initiate the time-dependent deformation, we start from an initial mesh adaptation to a fixed shape (Fig. 5, right). In order to resolve the corners and the highly curved boundary fragment, we introduce locally isotropic metric influence zones, shown as circles in Fig. 6. The isotropic metric is defined by the same law in (14), where the distance to the circle center is considered and Rmax is the circle radius. The coefficient An is the same as for the global metric and σ2 = σ1 . The maximum operation for metrics is applied in order to compute Gx . Figure 7 shows fragments of the initial mesh near the influence zones of the anisotropic metric. Figure 8 shows the general mesh outline after the first and second propeller rotations. Figures 9 and 10 show mesh fragments after the first and second rotations. Computation of the long term mesh deformation demonstrates a behaviour which is close to the periodic one. Figure 11 show trajectories of selected cells in the
170
V. Garanzha and L. Kudryavtseva
Fig. 7 Fragments of the initial adapted mesh near the sharp corners
Fig. 8 Mesh after the first and second rotations
Fig. 9 Mesh fragment after the first and second rotations
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional
171
Fig. 10 Mesh fragment after the first and second rotations
Fig. 11 Space-time trajectories of three selected triangles for 14 propeller rotations shown from different viewpoints
variables x1 , x2 , and t. We select several triangles, save their coordinates every 500 time steps and connect the consecutive positions creating space-time prisms. The resulting triangular beams illustrate the space-time deformation of the mesh. Figure 12 shows the deformation of mesh subdomains when propeller spans a quarter of the rotation. Note that we use a vertex-based domain decomposition, so mesh vertices lying on the boundaries of colored regions actually are assigned to the one or another subdomain. Figure 13 shows the mesh deformation and the movement of the subdomain boundaries in the propeller-related reference frame. The number of subdomains is larger than in Fig. 12. Distinct one-cell-wide layers show the triangles with vertices belonging to different subdomains.
172
V. Garanzha and L. Kudryavtseva
Fig. 12 Deformation of subdomains for a quarter of the rotation, subdomains are marked by distinct colors
Figure 14 shows the target σ1 distribution in the rotating reference frame for two different time levels. Red color denotes the maximal value. One can observe that the position of the mesh layer follows the controls quite closely. A quite interesting effect is related to the bands of mesh cells which are attracted to the blade, then travel for some time along the boundary layer in the compressed state, and, eventually, leave the propeller. Another group of cells in the middle of the domain is attracted to the blades, cross them, and go out at the other side. Figure 14 (right) is slightly inclined in the coordinates x1 , x2 , and t to make the cell trajectories more visible. In order to evaluate the scalability of the parallel implementation, we run several two and three-dimensional test cases. In 2d, we consider a “small” problem with 357,781 vertices and 713,760 triangles and a “moderate” problem with 1,429,321 vertices and 2,855,040 triangles. In 3d, we consider a deformation of a tetrahedral mesh with 9,586,347 vertices and 56,715,408 tetrahedra.
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional
173
Fig. 13 Mesh deformation and movement of subdomains in the rotating reference frame
Fig. 14 Mesh layer localization compared to σ1 distribution and cell trajectories in the rotating reference frame
The scalability experiments were ran on the parallel cluster of the Moscow Institute of Physics and Technology. It is an Intel CPU-based cluster having 24 cores per board and the Infiniband interconnect. Figure 15 illustrates the scalability of the mesh deformation algorithm. A separate graph is devoted to the linear solver. As one can expect, the overall scalability is defined by the linear solver. Note that the scalability with respect to a single core is not impressive, while results scale very well with respect to 24 cores. We were not able to explain this observation. In principle, it may be a drawback of the algorithm or a cluster software/hardware misconfiguration artefact. Figure 16a shows the speed-up for a small 2d problem where the saturation is quite pronounced for more then 120 cores, while for the 3d case in Fig. 16b the scalability is quite reasonable and the saturation is not observed until 600 cores. Note that a superacceleration is observed which can be attributed to the lower performance of the 3d code for a small number of vertices. We plan to run the 3d algorithm on larger configurations. Figure 17 illustrates subdomains for the 3d problem in the case of 144 cores. We show the trace of the subdomains on the boundary, a cross-section of the initial uniform mesh, and a cross-section of the mesh adapted to a moving sphere.
174
V. Garanzha and L. Kudryavtseva
Fig. 15 Speed-up versus number of computational cores for a moderate-sized 2d problem: (top) the speed-up with respect to a single core and (bottom) the speed-up with respect to 24 cores
Figure 18a shows the initial adapted mesh and the target σ1 distribution. Figure 18b shows the preimage of the compressed boundary layer on the initial uniform 3d mesh. In this example, in the boundary layer, σ1 = 30 and σ2,3 ≈ 3.
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional
175
Fig. 16 Speed-up versus number of computational cores: (a) The small 2d problem and (b) The 3d problem
176
V. Garanzha and L. Kudryavtseva
Fig. 17 Subdomains for the initial uniform mesh and for the instant moving deformed 3d mesh
Fig. 18 Distribution of mesh compression factor in normal direction and its preimage on the initial mesh
Fig. 19 Two positions of moving layer with imposed distribution of mesh compression factor
Figure 19 shows fragments of the mesh with two positions of the computed mesh layer in the process of the sphere movement. Figure 20 shows two positions of the mesh layer extracted from the global meshes using a threshold of 20 for the target σ1 distribution.
Moving Deforming Mesh Generation Based on the Quasi-Isometric Functional
177
Fig. 20 Two positions of the compressed layer extracted using a threshold of 20 for the normal compression factor
7 Conclusions and Discussion We describe an algorithm which allows to construct high quality time-dependent mesh deformations via the approximate minimization of a quasi-isometric functional. The presented algorithm is still slower if compared to mesh solvers based on linear elliptic equations, see, e.g., [15]. The difference, however, is no longer crucial since we use d linear solves with linear systems corresponding to FE approximations of scalar Laplace-like equations per several time steps. It is well known that algorithms based on a linear elliptic solver can attain reasonable mesh quality via a careful choice of the metric tensor/weight functions [17], so it may happen that the advantage of presented method in terms of the mesh quality does not overweight computational overhead. However, unlike linear mesh solvers, the presented algorithm does not impose any limitation on the domain shape and the mesh elements type. It can be applied in the case of multiple dimensions and for high-order elements. Due to the advanced parallel linear solver, a reasonable parallel scalability of the numerical algorithm was demonstrated. Acknowledgments Research of the second author is supported by the Russian Science Foundation, Project 20-41-09018_ANR (acronym NORMA).
References 1. Abalakin, I., Bakhvalov, P., Kozubskaya, T.: Edge-based reconstruction schemes for unstructured tetrahedral meshes. Int. J. Numer. Methods. Fluids 81(6), 331–356 (2016) 2. Brandt, J.B.: Small-scale propeller performance at low speeds. PhD Thesis. University of Illinois at Urbana-Champaign (2005)
178
V. Garanzha and L. Kudryavtseva
3. Budd, C.J., Huang, W., Russell, R.D.: Adaptivity with moving grids. Acta Numer. 18, 111–241 (2009) 4. Castro-Díaz, M.J., Hecht, F., Mohammadi, B., Pironneau, O.: Anisotropic unstructured mesh adaption for flow simulations. Int. J. Numer. Methods. Fluids 25(4), 475–491 (1997) 5. Coyle, J.M., Flaherty, J.E., Ludwig, R.: On the stability of mesh equidistribution strategies for time-dependent partial differential equations. J. Comput. Phys. 62, 26–39 (1986) 6. de Boor, C: Good approximation by splines with variable knots II. In: Spline Functions and Approximation Theory. Springer Lecture Notes Series, vol. 363. Springer, Berlin (1973) 7. Garanzha, V.A.: The barrier method for constructing quasi-isometric grids. Comput. Math. Math. Phys. 40, 1617–1637 (2000) 8. Garanzha, V.A., Kudryavtseva, L.N.: Hyperelastic springback technique for construction of prismatic mesh layers. Proc. Eng. 203, 401–413 (2017) 9. Garanzha, V.A., Kudryavtseva, L.N., Utyzhnikov, S.V.: Untangling and optimization of spatial meshes. J. Comput. Appl. Math. 269, 24–41 (2014) 10. Godunov, S.K., Gordienko, V.M., Chumakov, G.A.: Quasi-isometric parametrization of a curvilinear quadrangle and a metric of constant curvature. Siberian Adv. Math. 5(2), 1–20 (1995) 11. Huang, W., Ren, Y., Russell, R.D.: Moving mesh partial differential equations (MMPDES) based on the equidistribution principle. SIAM J. Numer. Anal. 31(3), 709–730 (1994) 12. Ivanenko, S.A.: Construction of nondegenerate grids. Comput. Math. Math. Phys. 28, 141–146 (1988) 13. Kaporin, I.E.: High quality preconditioning of a general symmetric positive definite matrix based on its UTU+UTR+RTU-decomposition. Numer. Linear. Algebra. Appl. 5(6), 483–509 (1998) 14. Kaporin, I.E., Milyukova, O.Yu.: MPI+OpenMP parallel implementation of explicitly preconditioned conjugate gradient method. Keldysh Institute preprints, 008 (Mi ipmp2369) (2018) 15. Tang, H.Z., Tang, T.: Adaptive mesh methods for one- and two-dimensional hyperbolic conservation laws. SIAM J. Numer. Anal. 41(2), 487–515 (2003) 16. Tsvetkova, V.O., Abalakin, I.V., Bobkov, V.G., Zhdanova, N.S., Kozubskaya, T.K., Kudryavtseva, L.N.: Simulation of flow near rotating propeller on adaptive unstructured meshes using immersed boundary method. Math. Models Comput. Simul. (accepted for publication, 2021) 17. Van Dam, A., Zegeling, P.A.: Balanced monitoring of flow phenomena in moving mesh methods. Commun. Comput. Phys. 7(1), 138–170 (2010)
Adaptive Grids for Non-monotone Waves and Instabilities in a Non-equilibrium PDE Model Paul A. Zegeling
Abstract In this paper, the importance of both the analysis and computation is emphasized, in relation to a bifurcation problem in a non-equilibrium Richard’s equation from hydrology. The extension of this PDE model for the water saturation S, to take into account additional dynamic memory effects gives rise to an extra third-order mixed space-time derivative term in the PDE of the form τ ∇ · [f (S)∇(St )]. In one space dimension, travelling wave analysis is able to predict the formation of steep non-monotone waves depending on the parameter τ . In two space dimensions, the parameters τ and the frequency ω of a small perturbation term, predict that the waves may become unstable, thereby initiating so-called gravity-driven fingering structures. For the numerical experiments of the time-dependent PDE model, we have used a sophisticated adaptive grid r-refinement technique based on a scaled monitor function.
1 Introduction Space-time evolution described by nonlinear PDE models involves patterns and qualitative changes induced by parameters. In this report I will emphasize the importance of both the analysis and computation in relation to a bifurcation problem in a non-equilibrium Richard’s equation from hydrology. The extension of this PDE model for the water saturation S, to take into account additional dynamic memory effects, was suggested by Hassanizadeh and Gray [7] in the nineties of the last century. This gives rise to an extra third-order mixed space-time derivative term in the PDE of the form τ ∇ · [f (S)∇(St )]. In one space dimension, travelling wave analysis is able to predict the formation of steep non-monotone waves depending on the parameter τ . It is shown that, in this framework, theory from applied analysis, accurate numerical PDE solutions and also the experimental observations from the
P. A. Zegeling () Utrecht University, Utrecht, The Netherlands e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_11
179
180
P. A. Zegeling
laboratory [5, 14] can be nicely matched. In two space dimensions, the parameters τ and the frequency ω (appearing in a small perturbation term), predict that the waves may become unstable, thereby initiating so-called gravity-driven fingering structures. This phenomenon can be analysed with a linear stability analysis and its effects are supported by the numerical experiments of the 2D time-dependent PDE model. For this purpose, we have used an efficient adaptive grid r-refinement technique based on a scaled monitor function. The numerical experiments in one and two space dimensions confirm the theoretical predictions and show the effectiveness of the adaptive grid solver.
2 The Non-equilibrium PDE Model The PDE model describing non-equilibrium effects in a two-phase porous medium is given by [4, 7–9, 21, 22]: St = ∇ · (D(S)∇S) + [f (S)]z + τ ∇ · [f (S)∇(St )], with
(x, z, t) ∈ [xL, xR ] × [zL , zR ] × (0, T ],
(1)
where τ is a non-equilibrium parameter, D(S) is a nonlinear diffusion function and f (S) is a fractional flow function, respectively.
2.1 The One-Dimensional Case Assuming a constant diffusion and a linearized non-equilibrium term, respectively, in one space dimension, PDE model (1) can be reduced to: St = D Szz + [f (S)]z + τ Szzt ,
(z, t) ∈ [zL , zR ] × (0, T ],
(2)
with initial condition S(z, 0) = S0 (z). The water saturation is represented by the variable S(z, t) ∈ [0, 1], D > 0 is a diffusion coefficient and τ ≥ 0 the non-equilibrium parameter (see also [7, 21, 22]). The function f satisfies: f (0) = 0, f (1) = 1, f (S) > 0 and is related to a fractional flow function in the porous media model [22]. In particular, two choices for the function f are considered. The first one is a convex-shaped function, representing a one phase situation (only water), i.e., f (S) =
S2 , 2
Adaptive Grids for Non-monotone Waves and Instabilities
181
and the second one is a convex-concave function, indicating two phases (both water and air are present): f (S) =
S2 . S 2 + (1 − S)2
Dirichlet conditions are imposed at the spatial boundaries: S(zL , t) = S− and S(zR , t) = S+ . The initial water saturation S0 (z), the boundaries of the spatial domain, the final time T and the values for 0 ≤ S− < S+ ≤ 1, D and τ will be specified in the description of the numerical experiments.
2.2 Travelling Waves: A Bifurcation Diagram This section discusses special types of solutions in PDE model (2): we are interested in travelling wave (TW) solutions. For simplicity of the analysis, we assume that f (S) = S 2 . The convex-concave case is treated in [21, 22] which gives rise to an even richer structure of the dynamics. The TW Ansatz, assuming a positive constant speed ν, can be written as: S(z, t) = ϕ(z + ν t) := ϕ(ζ ),
ζ ∈ (−∞, +∞),
ν > 0.
Substituting this Ansatz in PDE (2), yields the third-order ODE: ν ϕ = D ϕ + [ϕ 2 ] + ν τ ϕ ,
(3)
where the stands for taking derivatives with respect to the TW-variable ζ . Integrating (3) between −∞ and ζ and using the fact that ϕ(−∞) = S− , ϕ (−∞) = ϕ (−∞) = 0, gives the second-order ODE: 2 + ν τ ϕ , ν (ϕ − S− ) = D ϕ + ϕ 2 − S−
(4)
which can be re-written as a system of first-order ODEs: ϕ = ψ, ψ =
2 −ϕ 2 −D ψ ν(ϕ−S− )+S− . ντ
(5)
A TW for (2) in the coordinate system (x, t) is represented by a trajectory in the (ϕ, ψ)-plane connecting an unstable stationary point (at ζ = −∞) of (5) with a stable one (at ζ = +∞). There are only two stationary points in system (5):
182
P. A. Zegeling
(ϕ, ψ) = (S− , 0), and (ϕ, ψ) = (S+ , 0). The eigenvalues of the linearized system of (5) can easily be calculated:
λ1,2
−D ± = 2τ ν
"
D2 S+ − S− . + 4τ 2 ν 2 2τ ν
(6)
From (6) it follows that the point (S− , 0) is an unstable (saddle) point in all cases, since λ1 λ2 < 0. Depending on the PDE parameters D and τ , we distinguish between two cases for the second stationary point (S+ , 0). Non-monotone TWs exist for τ > τc = D2 /(S+ − S− ) since the saddle point is then connected to a spiral point (a focus). This situation is clarified in terms of the PDE solutions (Fig. 1), a bifurcation diagram (left panel in Fig. 2) and a phase plane plot (right panel in Fig. 2). For τ = 0, it is known that only monotone waves satisfy the PDE model [4]. Since we are looking also for non-monotone waves, we need the extra τ -term in PDE (2) to describe such phenomena. Note again that the convex-concave case is treated in [22], for which there may exist plateau-type waves as well. In that case three stationary points appear in the dynamical system with a much more complicated behaviour in the phase plane. These plateau-waves will be detected in
Fig. 1 The one-dimensional saturation profile for various values of the non-equilibrium parameter τ : (a) τ = 0 (monotone TW); (b) τ = 1 (mildly non-monotone TW); (c) τ = 5 (oscillating nonmonotone TW)
Adaptive Grids for Non-monotone Waves and Instabilities
183
0.8
0
(S− , 0)
——————–
−→ ψ
0.4
−0.4
(S+ , 0)
τ =5
−0.8
τ =1 τ = 0.4
0
0.2
0.4
−→ φ
0.6
1
0.8
Fig. 2 A bifurcation diagram (left) indicating the existence of monotone waves and non-monotone waves depending on the parameters D and τ . The black curve is defined by: D = τ (S+ − S− ). The right panel shows, for three different values of the parameter τ , trajectories in the phase plane (ϕ, ψ). The red and blue curves correspond to non-monotone waves (τ > τc > 0) and the black curve denotes a monotone wave (τ = 0)
the numerical experiments, where we will use an adaptive moving grid method to solve the PDE model (2).
2.3 The Adaptive Moving Grid in 1D For the numerical simulations of PDE model (2) we will apply an adaptive moving grid technique that is based on a coordinate transformation (for more details: [2, 8, 10, 11, 19, 24, 25]): z = z(ξ, ϑ),
(7)
t = t (ξ, ϑ) = ϑ. Then, PDE model (2) is transformed to the following form: υϑ −
(υ + zϑ ) D υξ = J J
υξ J
υξ f (υ) J ⎡ ⎤ ! ! τ 1 υξ 1 υξ ⎣J ⎦, + − zϑ J J J ξ J J ξ +
ξ
ϑ
ξ
(8)
184
P. A. Zegeling
with υ(ξ, ϑ) := S(z(ξ, ϑ), ϑ) and the Jacobian of transformation (7): J := zξ . The adaptive grid transformation that defines the time-dependent non-uniform grid has to satisfy the adaptive grid PDE; [(σ (J) + τs Jϑ ) M]ξ = 0,
τs ≥ 0.
Here, M := 1 + [Sz ]2 is the monitor function, reflecting the dependence of the non-uniform grid on the spatial derivative of the PDE solution. The operator σ := I + κs (κs + 1)
∂2 ∂ξ 2
is applied to obtain a smoother grid transformation in space. The first adaptivity constant κs > 0 is a spatial smoothing (or filtering) parameter. Further, the second adaptivity constant τs takes care of the smoothness in the time-direction. For κs > 0 and τs > 0, after semi-discretization, it can be shown [10] that the spatial grid satisfies the condition κs zi+1 κs + 1 ≤ ≤ κs + 1 zi κs for all gridpoints zi and all time t > 0. Note that, for κs = τs = 0 (no smoothing), we return to the basic equidistribution principle [zξ M]ξ = 0. For more details on the adaptive grid and the smoothing operators we refer to [10, 24, 25]. The transformed PDE and the adaptive grid PDE are simultaneously semi-discretized in the spatial direction following a method-of-lines approach. A central, second-order, uniform approximation for the transformed derivative terms in the ξ -direction is used. The time-integration of the resulting coupled ODE-system is done by a BDF method with variable time-steps in DASSL [16].
2.4 Numerical Results In this section, we perform some numerical experiments to show the accuracy and effectiveness of the adaptive moving grid. This will also illustrate and confirm the TW analysis in Sect. 2.2. The adaptive grid parameters are chosen as follows: κs = 2 and τs = 0.001 and the time-integration a tolerance in DASSL is set to the value 10−4 . The initial condition is a steep wave starting at the right boundary of the domain and reads: 1 S(z, 0) = S0 (z) = S− + (S+ − S− )(1 + tanh(R(z − z0 ))), 2
Adaptive Grids for Non-monotone Waves and Instabilities adaptive moving grid; 51 grid points 0.9
0.8
0.8
0.7
0.7
0.6
0.6
S(Z,T)
S(Z,T)
fixed uniform grid; 101 grid points 0.9
0.5 0.4
0.5 0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0
-0.1
-0.1 0
0.2
0.4
0.6
0.8
1
1.2
185
1.4
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Z
Z 3 2.9 2.5 2.8 2
T
T
2.7 1.5
2.6 1
2.5
0.5
2.4 2.3
0 0
0.2
0.4
0.6
0.8
1
1.2
1.4
0.25
0.3
0.35
0.4
0.45
Z
Z
Fig. 3 Upper two panels for the case τ = 0: oscillating uniform (N = 101) grid solutions (left) and non-oscillating adaptive grid solutions with N = 51 (right). The lower two plots (with a closeup in the right panel) display the time-history of the adaptive grid. In these experiments, we have chosen: τ = 3 × 10−4 , D = 2 × 10−3 . The red lines indicate the exact (asymptotic) wave speed
where zL = 0, zR = 1.4, S− = 0, S+ = 0.6, R = 50 and PDE parameters: τ = 10−4 and D = 10−3 . In Fig. 3 we show, for τ = 0, in which case we know that only monotone solutions exist, numerical solutions with N = 101 fixed uniform grid points and with N = 51 adaptive moving grid points. It is clearly observed that the uniform grid produces an unwanted non-monotone wave, whereas the adaptive grid nicely keeps the wave monotone. Also, the plot with the time history of the adaptive grid illustrates the smooth distribution and time-behaviour of the grid with a constant wave velocity. Figure 4 displays the difference between the convex and the convex-concave case: non-monotone TWs and plateau-waves. These waves are predicted by the analysis in Sect. 2.2 and [22]. From ODE (4) it can easily be derived that the asymptotic travelling-wave speed ν satisfies: ν=
f (S+ ) − f (S− ) . S+ − S−
(9)
S(Z,T)
0
0.2
0.4
0.6
0.8
1
1.2
0
0
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.2
0.2
0.4
0.4
0.6
0.6
Z
Z
0.8
0.8
1
1
1.4
1.2 1.4
1.2
T T 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0
0.5
1
1.5
2
2.5
3
0
0
0.2
0.2
0.4
0.4
0.6
0.6
Z
Z
0.8
0.8
1
1
1.2
1.2
1.4
1.4
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
0.2
0.25
0.1
2.55
2.6
2.65
2.7
2.75
2.8
2.85
2.9
2.95
0.3
0.3
0.4
0.35
Z
Z
0.5
0.4
0.6
0.45
0.7
0.5
Fig. 4 The time history of the adaptive grid (right, with a close-up around the steep parts of the waves), the solutions at four points of time (left) for two characteristic cases in the porous media model: a convex f (top) and a convex-concave f (bottom). The red straight lines indicate the exact (asymptotic) wave speeds for the two cases, as predicted by formula (9)
S(Z,T)
T T
0.9
186 P. A. Zegeling
Adaptive Grids for Non-monotone Waves and Instabilities
187
This yields, respectively, for the convex case ν = 0.3 and for the convex-concave case ν ≈ 1.1538. In Figs. 3 and 4 the red lines indicate these constant TW speeds. We observe that the adaptive moving grid follows the waves very accurately.
3 The Two-Dimensional Case Next, we consider the two-dimensional version of model (1) for the special choices: f (S) = S α ,
D(S) = βS α−β−1 ,
α > β + 1.
(10)
3.1 Non-monotone Waves and Instabilities In contrast with the 1D case, for which both the monotone and non-monotone waves are stable under small perturbations, the 2D model may give rise to instabilities (‘finger’ structures). It can be shown that for specific values of τ > 0, the nonmonotone waves may become unstable. The analysis is based on the following observations, also mentioned in [6] and [15]. First, the non-equilibrium PDE (1) is re-written as a system of two equations, one for the saturation S and one for the pressure p:
St = ∇ · (D(S)∇p) + [f (S)]z , τ St = p − P(S),
(11)
where P(S) is an equilibrium pressure. Next, the PDEs are written in a travelling wave coordinate, similar as in done in Sect. 2.2. The saturation and pressure waves are then perturbed in the following form: S = S0 (ζ ) + εeiωx +iωz +kt S1 (ζ ) + O ε2 , p = p0 (ζ ) + εeiωx +iωz +kt p1 (ζ ) + O ε2 .
(12)
These perturbed quantities are substituted in the system of two travelling wave equations, higher-order terms are being neglected, and equations for the linear stability analysis are set up. For these, it can be derived, that, for τ = 0, the growth factor k will always be negative, whereas, for τ > 0 and for certain frequencies ω, the growth factor can be positive, thereby initiating unstable waves. These can be related to so-called fingering structures, as we will see in Sect. 3.3.
188
P. A. Zegeling
3.2 The Adaptive Moving Grid in 2D The adaptive grid method in two dimensions follows similar principles, with some extra features and differences, compared to the 1D situation. More details can be found in, for example, the references [10, 18–20], and [23]. Summarizing the procedure, the 2D grid transformation reads: ⎧ ⎪ ⎪ ⎨x = z(ξ, η, ϑ),
z = z(ξ, η, ϑ), ⎪ ⎪ ⎩t = t (ξ, η, ϑ) = ϑ.
(13)
As an example, the first term of the nonlinear diffusion on the righthand side in PDE model (1) transforms to: ⎡ ! D(S)zξ zη 1 ⎣ D(S)zη2 Sξ Sη − (D(S)Sx )x = J J J ξ ξ
−
D(S)zξ zη Sξ J
+
D(S)zξ2 J
η
! ⎤
(14)
⎦,
Sη η
where J = xξ zη − xη zξ denotes the determinant of the Jacobian of transformation (13). The one-dimensional basic equidistribution principle, [Mzξ ]ξ = 0, is extended to a system of two coupled nonlinear elliptic PDEs: ⎧ / . ⎨∇ · (M∇x) = 0, ∇ := ∂ , ∂ T , ∂ξ ∂η ⎩∇ · (M∇z) = 0, where the monitor function M is now defined by M = γ (t) +
√ ∇S · ∇S,
√ ∇S · ∇S dξ dη .
with γ (t) = c
It is obvious that more sophisticated monitor functions could be used, but, for the PDE model in this paper, this relatively simple monitor function has shown to be sufficiently effective. Note that we have added a time-dependent adaptivity function γ (t) which is automatically calculated during the time-integration process. It provides additional smoothing to the grid distribution and takes care of the scaling in the space and solution directions (see [20] for more information about this choice). It can be shown that the adaptive grid transformation, following this 2D equidistribution principle with the mentioned monitor function M, remains nonsingular:
Adaptive Grids for Non-monotone Waves and Instabilities
189
Theorem 1 (For Details of the Proof: [3]) Let M > 0, M ∈ C 1 (c ) and ¯ c ) for γ ∈ (0, 1). Then there exists a unique solution M ξ , M η ∈ C γ ( ¯ c ), which is a bijection from ¯ c into itself. Moreover, the determinant (x, z) ∈ C 2 ( of the Jacobian J satisfies J = xξ zη − xη zξ > 0. Some important ingredients of their proof include the Jordan curve theorem, the Carleman-Hartman-Wintner theorem and the maximum principle for elliptic PDEs. In reference [1] a deep analysis of the invertibility of more general, so-called σ harmonic, mappings is given. The transformed PDE model is spatially discretized uniformly in the ξ and η coordinates. For the numerical time-integration of the transformed 2D non-equilibrium PDE and the adaptive grid equations, we have used an IMplicitEXplicit-approach [12, 17]. As an example, the diffusion term (14) is numerically approximated as follows: (D(S)Sx )x |ni,j 7 n+1 n+1 n+1 n+1 C1 |ni+1,j + C1 |ni,j Si+1,j − Si,j − Si−1,j C1 |ni,j + C1 |ni−1,j Si,j 1 ≈ n − Ji,j 2 2 ( ξ )2 ( ξ )2 − C2 |ni+1,j − +
n+1 n+1 Si+1,j +1 − Si+1,j −1
C2 |ni,j +1
4 ξ η n+1 Si+1,j +1
n+1 − Si−1,j +1
4 ξ η
+ C2 |ni−1,j + C2 |ni,j −1
n+1 n+1 C3 |ni,j +1 + C3 |ni,j Si,j +1 − Si,j
2
( η)2
−
n+1 n+1 Si−1,j +1 − Si−1,j −1
4 ξ η n+1 Si+1,j −1
n+1 − Si−1,j −1
4 ξ η
n+1 n+1 − Si,j C3 |ni,j + C3 |ni,j −1 Si,j −1
2
( η)2
8 , (15)
where C1 := J1 D(S)zη2 , C2 := J1 D(S)zξ zη , and C3 := J1 D(S)zξ2 , respectively. Instead of the ‘smart’ smoothing operators in space and time, as being used in 1D, here, a filter, as in [18, 23], on the monitor function is applied several times in each time step in the following way: 0 1 ˜ i,j = 1 Mi,j + 1 Mi−1,j + Mi+1,j + Mi,j −1 + Mi,j +1 M 4 8 1 10 Mi−1,j −1 + Mi+1,j −1 + Mi−1,j +1 + Mi+1,j +1 . + 16
(16)
This modification yields even smoother grid distributions and enhances the timeintegration process as well.
190
P. A. Zegeling
3.3 Numerical Results To support the main results of the analysis in Sect. 3.1, we perform some numerical experiments for the 2D model. The spatial domain is defined by the rectangle [0, 10] × [0, 60] and the initial solution is a ‘tanh’-type function as in 1D, but now situated around the value z = 55. We add a small periodic perturbation with frequency ω to test the stability of the two-dimensional waves. The numerical experiments, unless specified differently, make use of a spatial grid with 41 × 121 grid points. Figure 5 indeed confirms and illustrates the stability analysis by Egorov et al. [6] and Nieber et al. [15], also briefly described in Sect. 3.1. The left panel shows the numerically calculated growth factor k of the perturbation as a function of the initial frequency ω for several values of the non-equilibrium parameter τ , using the adaptive grid method from Sect. 3.2. The right panel is taken from [6] and depicts a very similar dependence of k(ω). 0.1 τ τ=9 =9 τ τ=7 =7 τ τ=5 =5 τ τ=3 =3 τ τ=1 =1 τ τ=0 =0
0.08
0.06
0.04
−→ k
0.02
0
0.2
6 5
Maximum growth factor, k0
−0.02
−0.04 −0.06
−0.08
0.1 4
3
0
2 1
−0.1
0
1
2
3
4
5 6 −→ ω
7
8
9
10
−0.1
0
1
2 3 Wave number, ω
4
5
Fig. 5 Left: the growth factor k, numerically determined, as a function of the wave number ω of the perturbation for various values of τ . Right: the theoretical prediction, taken from [6]. Note that the scales on both axes in the two figures are different. The ω on the left is a numerical frequency added to the initial condition, whereas the ω on the right comes from a theoretical analysis. The global behaviour is the same, but the exact values are different. A similar remark holds for the growth factor k
Adaptive Grids for Non-monotone Waves and Instabilities
191
Fig. 6 The water saturation profile and corresponding grid at different times for τ = 0 and β = 0.5 on a 41 × 121-grid
In Fig. 6 we show a stable travelling wave in two dimensions for τ = 0, α = 3 and β = 0.5: the initial perturbation disappears quickly and the adaptive moving grid follows the steep parts of the wave efficiently and accurately. Figure 7 displays close-ups of the adaptive grid for the solutions in Fig. 6. Next, in Fig. 8 a similar situation is displayed, but now for τ = 10, α = 3 and β = 0.5: the initial perturbation grows in time and the wave becomes unstable creating the shape of a ‘finger’. Again, the 2D adaptive grid is situated nicely around the steep parts of the irregularly shaped travelling wave. Figure 9 shows close-ups of the adaptive grids for the solutions in Fig. 8.
192
0
0
P. A. Zegeling
10
10
0
10
0
10
Fig. 7 Close-ups of the adaptive grid near the steep parts of the travelling wave in Fig. 6 at four different points of time for τ = 0 and β = 0.5
Figure 10 demonstrates the convergence of the adaptive grid solution to an unstable finger with steep transitions. Here, the number of grid points is increased from 21 × 41 up to 81 × 241. Note the extra smoothing of the grid distribution. This is due to the time-dependent function γ (t) in the monitor function, which becomes more visible for denser grids. Also, it must be mentioned that the non-uniform grid has an important effect of the accuracy of the fingering structure. This phenomenon has also been observed and described in reference [13]. In Fig. 11, the values τ = 10, α = 3 and β = 0.2 are chosen. The smaller value of the parameter β has clearly the effect of producing a more profound fingering structure. Figure 12 shows close-ups of the adaptive grids for these numerical solutions in Fig. 11.
Adaptive Grids for Non-monotone Waves and Instabilities
193
Fig. 8 The water saturation profile and corresponding grid at different times for τ = 10 and β = 0.5 on a 41 × 121-grid
194
P. A. Zegeling
0
10
0
10
0
10
0
10
Fig. 9 Close-ups of the adaptive grid near the steep parts of the fingering solution in Fig. 8 for τ = 10 and β = 0.5
Adaptive Grids for Non-monotone Waves and Instabilities
0
0
10
10
0
0
10
10
195
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0
10
0
10
0
1
1
0.9
0.9
0.8
0.8
0.7
0.7
0.6
0.6
0.5
0.5
0.4
0.4
0.3
0.3
0.2
0.2
0.1
0.1
0
0
10
0
10
0
Fig. 10 Adaptive grids and solutions for the case τ = 10 and β = 0.5 for an increasing number of spatial grid points: 21 × 61 (top left), 41 × 121 (top right), 61 × 181 (bottom left) and 81 × 241 (bottom right). Note the additional smoothing effect for denser grids of the function γ (t) in the monitor function. See also [13] for similar conclusions on the effects of the grid distribution on the fingering structure
196
P. A. Zegeling
Fig. 11 The water saturation profile and corresponding grid at different times for τ = 10 and β = 0.2. The instability of the solution, creating a fingering structure, is now more profound than in the previous case. This is due to the smaller value of the parameter β
Adaptive Grids for Non-monotone Waves and Instabilities
197
0
10
0
10
0
10
0
10
Fig. 12 Close-ups of the adaptive grid near the steep parts of the fingering solution in Fig. 11 for τ = 10 and β = 0.2
References 1. Alessandrini, G., Nesi, V.: Univalent σ -harmonic mappings. Arch. Rational Mech. Anal. 158, 155–171 (2001) 2. Budd, C.J., Huang W., Russell R.D.: Adaptivity with moving grids. Acta Numer. 18, 111–241 (2009) 3. Clement, Ph., Hagmeijer, R., Sweers, G.: On the invertibility of mappings arising in 2D grid generation problems. Numer. Math. 73(1), 37–52 (1996) 4. Cuesta, C., van Duijn, C.J., Hulshof, J.: Infiltration in porous media with dynamic capillary pressure: travelling waves. Eur. J. Appl. Math 11, 397 (2000) 5. DiCarlo, D.: Experimental measurements of saturation overshoot on infiltration. Water Resour. Res. 40, W04215 (2004) 6. Egorov, A.G., Dautov, R.Z., Nieber, J.L., Sheshukov, A.Y.: Stability analysis of gravity-driven infiltrating flow. Water Resour. Res. 39, 1266 (2003) 7. Hassanizadeh, S.M., Gray, W.G.: Thermodynamic basis of capillary pressure on porous media. Water Resour. Res. 29, 3389–3405 (1993) 8. Hilfer, R., Doster, F., Zegeling, P.A. Nonmonotone saturation profiles for hydrostatic equilibrium in homogeneous porous media. Vadose Zone J. 11(3), 201 (2012) 9. Hu, G., Zegeling, P.A.: Simulating finger phenomena in porous media with a moving finite element method. J. Comput. Phys. 230(8), 3249–3263 (2011) 10. Huang, W., Russell, R.D.: Analysis of moving mesh partial differential equations with spatial smoothing. SIAM J. Numer. Anal. 34, 1106–1126 (1997)
198
P. A. Zegeling
11. Huang, W., Russell, R.D.: Adaptive Moving Mesh Methods. Springer, New York (2011) 12. Hundsdorfer, W., Verwer, J.: Numerical Solution of Time-Dependent Advection-DiffusionReaction Equations. Springer, Berlin (1993) 13. Kampitsis, A.E., Adam, A., Salinas, P., Pain, C.C., Muggeridge, A.H., Jackson, M.D.: Dynamic adaptive mesh optimisation for immiscible viscous fingering. Comput. Geosci. 24, 1221–1237 (2020) 14. Nicholl, M.J., Glass, R.J.: Infiltration into an analog fracture: experimental observations of gravity-driven fingering. Vadose Zone J. 4, 1123–1151 (2005) 15. Nieber, J.L., Dautov, R.Z., Egorov, A.G., Sheshukov, A.Y.: Dynamic capillary pressure mechanism for instability in gravity-driven flows; review and extension to very dry conditions. Transp. Porous Media 58, 147–172 (2005) 16. Petzold, A.G.: A description of DASSL: a differential/algebraic system solver. In: Stepleman, R.S., et al. (eds.) IMACS Trans. Sci. Comput., pp. 65–68. North-Holland, Amsterdam (1983) 17. Ruuth, S.J.: Implicit-explicit methods for reaction-diffusion problems in pattern formation. J. Math. Biol. 34, 148–176 (1995) 18. Tang, T., Tang, H.: Adaptive mesh methods for one- and two-dimensional hyperbolic conservation laws. SIAM J. Numer. Anal. 41(2), 487–515 (2003) 19. van Dam, A., Zegeling, P.A.: A robust moving mesh finite volume method applied to 1d hyperbolic conservation laws from magnetohydrodynamics. J. Comput. Phys. 216, 526–546 (2006) 20. van Dam, A., Zegeling, P.A.: Balanced monitoring of flow phenomena in moving mesh methods. Commun. Comput. Phys. 7, 138–170 (2010) 21. van Duijn, C.J., Hassanizadeh, S.M., Pop, I.S., Zegeling, P.A.: Non-equilibrium models for two-phase flow in porous media: the occurrence of saturation overshoot. In: Proc. of the 5th Int. Conf. on Appl. of Porous Media, Cluj-Napoca (2013) 22. van Duijn, C.J., Fan, Y., Peletier, L.A., Pop, I.S.: Travelling wave solutions for a degenerate pseudo-parabolic equation modelling two-phase flow in porous media. Nonlinear Anal. Real World Appl. 14, 1361–1383 (2013) 23. Zegeling, P.A.: On resistive MHD models with adaptive moving meshes. J. Sci. Comput. 24(2), 263–284 (2005) 24. Zegeling, P.A.: Theory and application of adaptive moving grid methods. In: Adaptive Computations: Theory and Algorithms, pp. 279–332. Science Press, Beijing (2007) 25. Zegeling, P.A., Lagzi, I., Izsak, F.: Transition of Liesegang precipitation systems: simulations with an adaptive grid PDE method. Commun. Comput. Phys. 10(4), 867–881 (2011)
RBF-VerBSS Hybrid Method for Mesh Deformation Jihai Chang, Fei Yu, Jie Cao, and Zhenqun Guan
Abstract The mesh deformation method has been widely applied to numerical simulation of time-variant problems. In the present study, we proposed a hybrid mesh deformation method based on radial basis functions (RBF) method and vertex-ball-spring-smoothing (VerBSS) method. Firstly, a coarse background mesh which is consistent with the boundary of the computational mesh was generated and deformed by RBF. The internal nodal displacements were duplicated to the corresponding nodes of computational mesh. The perturbated nodes and the boundary nodes were then utilized together to calculate the deformation of the computational mesh by employing VerBSS. By such means, better convergence performance was achieved. Results of numerical examples indicate that the proposed method has higher efficiency and better robustness than conventional RBF method or background mesh method for large scale problem.
1 Introduction Mesh deformation is a widely used method to solve unsteady fluid problems with moving boundary. Mesh deformation methods preserve the topology of the mesh, and avoid rebuilding the flow field data frequently. These methods can be broadly classified into two categories: physical analogy methods and interpolation analogy methods [13]. Physical analogy methods include spring analogy and elastic solid analogy. Batina et al. [1] proposed spring method first. In this method, each edge of the mesh is replaced by a tension spring with the spring stiffness inversely proportional to the edge length. Farhat et al. [5] and Bottasso et al. [2] improved the spring method by introducing the torsional spring and ball-vertex spring, respectively. For the elastic method [15], the whole computational domain is considered as an elastic solid and
J. Chang · F. Yu · J. Cao, · Z. Guan () Dalian University of Technology, Dalian, China e-mail: [email protected]; [email protected]; [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_12
199
200
J. Chang et al.
the mesh deformation is governed by the classical laws of elastic theory. The elastic method improves the deformation capability comparing with the spring analogy but also introduces considerable computational cost. The main draw-back of physical analogy methods is that they preserve connectivity and large systems of equations, implying a higher computational cost. Lin et al. [8] proposed the VerBSS method by decomposing the linear equations into sub-spring systems. It can improve the computational efficiency and the required memory is greatly reduced. This method will be discussed in the following sections. Compared with the physical method, the interpolation analogy methods do not require connectivity information and can be applicable to arbitrary mesh types. The displacements of the internal nodes of the mesh are regarded as the interpolation problem of the boundary nodes. The interpolation methods include RBF interpolation [4] and Delaunay graph interpolation [9] mainly. The RBF can be used as an interpolation function to transfer the displacements known at the boundaries of the mesh to the interior nodes. It produces high-quality meshes with reasonable orthogonality preservation near deforming boundaries. However, for large-scale problems, RBF method is also expensive since a system of linear equations which dimension is equal to the number of the mesh boundary points. Rendall et al. [11] proposed an efficient data reduction algorithm along with interpolation. Sheng and Allen [14] investigated two greedy algorithms to reduce the number of the control points. Selim et al. [12] introduced the concept of solving the RBF system incrementally within the greedy algorithm. However, the reduction of the control points caused that the boundary geometry precision declines and interpolation error is brought in. Delaunay graph interpolation is a very efficient method. The coarse Delaunay graph is used as an intermediate map. Each interior node is assigned to the Delaunay element which belongs to, and its interpolation based on surface or volume ratios is utilized to map from the original position to its new position. Nevertheless, intersections occur occasionally for complex geometry with large relative movements. The moving submesh algorithm (MSA) was proposed by Lefrancois et al. [7] who uses better quality background mesh to control the deformation. More auxiliary nodes are added to improve the quality of the background mesh by Zhou et al. [17]. Although these methods improve the deformation quality of the background mesh, it is still difficult to avoid the problem of collapsed elements. Simple physical methods or interpolation methods have their own advantages and disadvantages, so some hybrid mesh deformation methods can achieve better deformation combine the advantages of different methods [16]. Liu et al. [10] proposed a hybrid method combining MSA with RBF, which makes a deformed mesh more uniform, but the domain of each submesh is discontinuous and some elements may collapse. In recent years, the multigrid method has been widely concerned [3, 6]. This method can reduce the iteration times effectively. Inspired by the multigrid method, this paper proposes a hybrid deformation method combining the VerBSS method and RBF. Firstly, the coarse mesh is deformed by RBF. The deformed nodal
RBF-VerBSS Hybrid Method for Mesh Deformation
201
displacements of the coarse mesh are duplicated to the approximate nodes of the computational mesh. Then the VerBSS method is used to smooth the computational mesh, so as to accelerate the convergence. On the one hand, this method uses the idea of the multigrid method to improve the efficiency of VerBSS method; on the other hand, it improves the robustness of the background mesh method. The rest of the paper is organized as follows: Sect. 2 briefly recalls the methodology of the RBF-based mesh deformation and the VerBSS method. And the robustness of background mesh is also introduced. The hybrid RBF-VerBSS method is presented in Sect. 3. Numerical examples are presented in Sect. 4 to demonstrate the efficacy of the proposed methods. At last, the concluding remarks are drawn in Sect. 5.
2 Related Work 2.1 RBF Interpolation Method The RBF method interpolates the displacement of the surface mesh to all the nodes of the flow mesh. The displacement of any of these interior nodes could be calculated by: s(r) =
Nb
ωi φ(r − ri ),
(1)
i=1
where ri is the coordinate of the ith boundary node, Nb is the number of the boundary nodes, ωi is the weight coefficient of the ith boundary node. φ is the RBF as function of the Euclidean distance r, We choose the Wendland’s C 2 function, which is suitable for the mesh deformation interpolation: φ (η) =
(1 − η)4 (4η + 1), when η ≤ 1, 0,
when η > 1,
(2)
where η = r − ri /R, and R is the support radius. The displacements of the boundary nodes are predefined as known values: s(rb ) = rb ,
(3)
where rb is the coordinate of the j -th boundary node and rb is the prescribed displacement of it. The function coefficients could be calculated as follows: ω = −1 b,b rb ,
(4)
202
J. Chang et al.
where b,b is an Nb × Nb matrix which carries the RBF evaluations: 2 2 b,b (i, j ) = φ 2rbi − rbj 2 .
(5)
2.2 VerBSS Method The edges of the mesh are considered as spring with stiffness inversely proportional to its length. The force on vertex i exerted by vertex j can be written as Edge
fij
= kij (uj − ui ) · nij nij ,
(6)
where kij is the stiffness of edge eij , nij is the unit vector from i to j . The displacement of vertices i and j are denoted by ui and uj , respectively. To prevent elements inversion, additional perpendicular linear springs are added in the ballvertex method. Perpendicular spring Sip is constructed with the stiffness inversely proportional to its length. Similarly to the previous spring equilibrium equations, the resulting force of spring Sip can be expressed as fball-vertex = kip (up − ui ) · nip nip , ip
(7)
where kip is the stiffness of the new spring, nip is the unit vector from i to p. The displacement of vertex i and p are denoted respectively by ui and up . Its edge springs and the ball-vertex spring can form a new spring system as: n
j =1
Edge
fij
+
m
fball-vertex = 0. ip
(8)
p=1
Following the vertex-ball spring system, a sub-system for a vertex i is formed by edge springs together with the ball-vertex springs as shown in Fig. 1. The global system of equations Ku = b is reduced to a series of d × d sub-systems, where d is the spatial dimension. The right-hand vector bi is written as: bi =
n
j =1
kij uj · nij nij +
m
kip up · nip nip = Bi ui ,
(9)
p=1
where ui is the nodal displacement vector of the ball, n and m are the number of nodes and elements of the ball. Bi is a matrix of constant coefficients. Introduction of a relaxation factor ξ can further speed up convergence as follow: unew = ξ unew + (1 − ξ )uold i i i ,
(10)
RBF-VerBSS Hybrid Method for Mesh Deformation
203
Fig. 1 A sub-system of the VerBSS algorithm
Numerical example show that ξ can be set between 1.5 and 1.7 (over-relaxation). The termination criterion is: d·N
ui − uprev /(d · N) < εq , i
(11)
i=1 prev
where ui is the result from the previous iteration step, N is the number of interior nodes. For a given tolerance εq ∈ R+ , when the mean value of the difference between two adjacent iteration results falls below a prescribed value εq , the mesh smoothing will terminate. The procedure of the VerBSS is given as follows [8]: Step 1: Step 2:
Step 3: Step 4: Step 5:
Import the initial mesh and store the topological data of all nodes; Construct the vertex-ball spring system of interior node i so as to form stiffness matrix K and coefficient matrix B, and decompose matrix K into L and D using LDLT solver, and store the matrix LD and B for subsequent steps; Set displacements of boundary nodes to the specified values; Solve the equations by LDLT matrix decomposition and update the displacements; Repeat Step 4 until the result of displacements meets the computational accuracy requirements.
2.3 Robustness of the Delaunay Graph and the MSA Method The fundamental principle of Delaunay graph interpolation method is to divide and interpolate. A Delaunay graph is generated by using all or parts of the boundary nodes as the background mesh for the original mesh. Every node in the whole
204
J. Chang et al.
Fig. 2 The barycentric coordinates of node P
Fig. 3 Deformation of the background mesh. Left original triangle. Right: collapsed triangle
computational mesh can be split into the Delaunay triangles (2D) or tetrahedrons (3D). The new position can be achieved by the surface or volume ratios. For 2D case, the node P is inside the triangle 'ABC as shown in Fig. 2, and its barycentric coordinates e1 , e2 , e3 with respect to A, B, C are calculated by: ei =
Si . S
(12)
However, for large deformation, especially for deformation with large rotation, the mesh quality could degrade suddenly since the lack of controlling mechanisms. The quality of deformed mesh depend on the quality of Delaunay mesh. The MSA method can be considered as an extension of the Delaunay graph interpolation method. The main difference between the two methods is that in the MSA the background mesh is not a Delaunay graph anymore and have more interior nodes. In the MSA, the submesh can only control its interior nodes. If the three nodes of a triangle are in different submesh as shown in Fig. 3, then the background mesh
RBF-VerBSS Hybrid Method for Mesh Deformation
205
elements do not collapsed after deformation, but the computational mesh elements collapsed.
3 RBF-VerBSS Hybrid Mesh Deformation Method In this paper, in order to overcome the weakness of background mesh and keep the benefits of RBF interpolation and VerBSS, a hybrid method of RBF and VerBSS mesh deformation is proposed. Firstly, a coarsen background mesh whose boundary is consistent with the computational mesh is given as shown as Fig. 4a. The nodes of the computational mesh are partitioned according to their coordinates. The triangle element in which the node of the coarse background mesh is located, can be found quickly by the partition blocks. The whole computational domain is considered as an elastic solid for the VerBSS method. Therefore, the displacements of node C nearest to node P could supposed to be equal to the node P approximately as shown as Fig. 4b. uc = up
(13)
Then, the background mesh is deformed by RBF interpolation and the specific process is the steps in Sect. 2.1. The displacements of deformed nodes of the background mesh are duplicated to their corresponding computational nodes. Finally, according to the VerBSS method in Sect. 2.2, all nodes of the computational mesh are smoothed. This method includes the following steps: Step 1: Step 2:
Generate the background mesh; Locate the background mesh nodes on the computational mesh element and find the nearest element;
Fig. 4 RBF-VerBSS hybrid method. (a) Locating the nodes. (b) Enlarged view of a part of mesh
206
Step 3: Step 4:
Step 5:
J. Chang et al.
Deform the background mesh by RBF and update the coordinates of the approximate node of the computational mesh; Take the pre-deformation displacements of the approximate nodes and the boundary nodes as boundary conditions to solve the computational mesh by VerBSS; Update the coordinates of computational mesh nodes and repeat Step 3 to Step 4 until the end of computation.
4 Results and Discussions 4.1 NACA 0012 Airfoil Rotation The NACA 0012 airfoil rotated in 2D flow field. The computational mesh and the background mesh are shown in Fig. 5. The computational mesh has 66,527 nodes and 131,786 elements. The background mesh has 1659 nodes and 3175 elements. The performances is measured on a single core Intel i7 3.4 GHz processor. As can be seen from the figures, the RBF-VerBSS method have more shapeshifting. The maximum number of deformation steps of the two methods are 62 and 92, respectively. Figure 6 illustrates the minimum angle of the mesh changed with time steps in the deformation process of the two methods when the mesh deformed to the 60th step, the quality of the mesh using the VerBSS and the RBF-VerBSS is shown in Table 1. The RBF-VerBSS method can keep a better quality than the VerBSS method.
Fig. 5 Airfoil rotation: computational and background meshes. (a) Computational mesh. (b) Background mesh
RBF-VerBSS Hybrid Method for Mesh Deformation
207
Fig. 6 Airfoil rotation: the minimum interior angle by VerBSS and RBF-VerBSS Table 1 Airfoil rotation: comparison of mesh quality for the rotation of 1.2 rad
Quality 0.00–0.02 0.02–0.10 0.10–0.40 0.40–0.70 0.70–1.00
VerBSS 13 27 235 646 130,865
RBF-VerBSS 0 1 547 12,578 118,660
The wing rotates clockwise with a rotation step of 0.02 rad by using the VerBSS and the RBF-VerBSS methods. The number of iterations of the VerBSS and RBFVerBSS methods is 558 and 121, respectively. The meshes are shown in Fig. 7 when the airfoil rotates to the 62nd step. CPU time for a deformation step for the two methods is shown in Table 2. As expected, preprocessing of the background mesh optimizes the condition number of the VerBSS method’s matrix and clearly reduces the corresponding computational time for the deformation (Table 2).
4.2 3D Moving Aircraft For a fluid mesh with a large number of elements, Fig. 8 illustrates two crosssectional views of an aircraft in a 3D fluid mesh. One is the computational mesh and the other is the background mesh. The number of the nodes is 594,980 and the
208
J. Chang et al.
Fig. 7 Airfoil rotation: deformed meshes after the 62nd step. (a) VerBSS. (b) RBF-VerBSS Table 2 Airfoil rotation: CPU time (s) comparison for a single mesh update step Method VerBSS RBF-VerBSS
Pre-processing of the background mesh 0.04
Construction of the VerBSS matrix 0.34 0.33
Solve 5.32 1.26
Total 5.66 1.63
number of the elements is 3,416,966 in the computational mesh. The number of the nodes is 25,885 and the number of the elements is 143,919 in the background mesh. The fluid mesh is deformed by RerBSS, RBF-VerBSS, and RBFs-MSA, respectively. CPU time for a deformation step for the three methods is shown in Table 3. The number of iterations of the VerBSS method is 379, while the number of iterations of the RBF-VerBSS method is 76. The preprocessing time of RBFVerBSS is 913 s while that of RBFs-MSA is 9543 s, and the computational cost is too expensive. As shown in Fig. 9, the maximum number of deformation steps of the three methods are 43, 84, and 73, respectively. Figure 10 illustrates the minimum angle of the mesh changed with time steps in the deformation process of the three methods. When the mesh deformed to the 43th step, the quality is shown in Table 4. The RBF-VerBSS method can keep a better quality than the VerBSS method. Although the quality of the RBFs-MSA method is better than that of the other two, it would suddenly encounter the collapse of an element.
RBF-VerBSS Hybrid Method for Mesh Deformation
209
Fig. 8 3D aircraft: cross-sectional views of the computational and background meshes. (a) Computational mesh. (b) Background mesh
Table 3 3D aircraft: CPU time(s) comparison between different methods in one step Method VerBSS RBF-VerBSS RBFs-MSA
Pre-processing of the background mesh 10.29 10.19
Construction of the VerBSS matrix 56.64 53.41
Solve 166.94 32.13 1.94
Total 223.58 95.99 12.28
210 Fig. 9 3D aircraft: deformed meshes using different methods. (a) VerBSS (43 steps). (b) RBF-VerBSS (84 steps). (c) RBFs-MSA (73 steps)
J. Chang et al.
RBF-VerBSS Hybrid Method for Mesh Deformation
211
Fig. 10 3D aircraft: the minimum interior angle for different methods
Table 4 3D aircraft: quality comparison between different methods after deformation to the 43th step
Quality 0.000–0.001 0.001–0.050 0.050–0.100 0.100–0.400 0.400–0.700 0.700–1.000
VerBSS 6 135 248 17,330 319,510 3,079,737
RBFs-MSA 0 7 40 1926 364,133 3,040,860
RBF-VerBSS 0 1 39 39,937 682,063 2,694,926
5 Conclusions The proposed method is based on a background mesh, which is a significant improvement to the original VerBSS method. The pre-deformation of the background mesh improves the initial motion condition of the computational mesh and accelerates the convergence speed. Compared with the RBFs-MSA method, this method retains the connectivity of the mesh. Therefore, it is more robust than the MSA method using ratio of surface or volume to interpolate. The background mesh was calculated by the RBF method because of its less number of elements. In a word, the method in this paper is not limited to interpolation or physical methods, but to exploit the advantages of various methods as much as possible. The various
212
J. Chang et al.
methods can be combined to achieve a better balance between the efficiency and the robustness as much as possible.
References 1. Batina, J.T.: Unsteady Euler airfoil solutions using unstructured dynamic meshes. AIAA J. 28(8), 1381–1388 (1990) 2. Bottasso, C.L., Detomi, D., Serra, R.: The ball-vertex method: a new simple spring analogy method for unstructured dynamic meshes. Comput. Methods Appl. Mech. Eng. 194(39–41), 4244–4264 (2005) 3. Chen, J., Bao, H., Wang, T., Desbrun, M., Huang, J.: Numerical coarsening using discontinuous shape functions. ACM Trans. Graph. 37(4CD), 1–12 (2018) 4. De Boer, A., Van der Schoot, M., Bijl, H.: Mesh deformation based on radial basis function interpolation. Comput. Struct. 85(11–14), 784–795 (2007) 5. Farhat, C., Degand, C., Koobus, B., Lesoinne, M.: Torsional springs for two-dimensional dynamic unstructured fluid meshes. Comput. Methods Appl. Mech. Eng. 163(1–4), 231–245 (1998) 6. Krishnan, D., Fattal, R., Szeliski, R.: Efficient preconditioning of Laplacian matrices for computer graphics. ACM Trans. Graph. 32(4), 142:1–142:15 (2013) 7. Lefrançois, E.: A simple mesh deformation technique for fluid–structure interaction based on a submesh approach. Int. J. Numer. Methods Eng. 75(9), 1085–1101 (2008) 8. Lin, T., Guan, Z., Chang, J., Lo, S.: Vertex-ball spring smoothing: an efficient method for unstructured dynamic hybrid meshes. Comput. Struct. 136, 24–33 (2014) 9. Liu, X., Qin, N., Xia, H.: Fast dynamic grid deformation based on Delaunay graph mapping. J. Comput. Phys. 211(2), 405–423 (2006) 10. Liu, Y., Guo, Z., Liu, J.: RBFs-MSA hybrid method for mesh deformation. Chinese J. Aeronaut. 25(4), 500–507 (2012) 11. Rendall, T.C., Allen, C.B.: Efficient mesh motion using radial basis functions with data reduction algorithms. J. Comput. Phys. 228(17), 6231–6249 (2009) 12. Selim, M.M., Koomullil, R.: Incremental matrix inversion approach for radial basis function mesh deformation. In: Proceedings of the Fifteenth Annual Early Career Technical Conference, The University of Alabama at Birmingham (2015) 13. Selim, M., Koomullil, R., et al.: Mesh deformation approaches–a survey. J. Phys. Math. 7(2), 181 (2016) 14. Sheng, C., Allen, C.B.: Efficient mesh deformation using radial basis functions on unstructured meshes. AIAA J. 51(3), 707–720 (2013) 15. Stein, K., Tezduyar, T., Benney, R.: Mesh moving techniques for fluid-structure interactions with large displacements. J. Appl. Mech. 70(1), 58–63 (2003) 16. Wang, Y., Qin, N., Zhao, N.: Delaunay graph and radial basis function for fast quality mesh deformation. J. Comput. Phys. 294, 149–172 (2015) 17. Zhou, X., Li, S., Chen, B.: Spring-interpolation approach for generating unstructured dynamic meshes. Acta Aeronaut. Astronaut. Sin. 31(7), 1389–1395 (2010)
A Uniform Convergence Analysis for a Bakhvalov-Type Mesh with an Explicitly Defined Transition Point Thái Anh Nhan
Abstract For singularly perturbed convection-diffusion problems, the truncation error and barrier-function technique for proving parameter-uniform convergence is well-known for finite-difference methods on Shishkin-type meshes (Roos and Linß in Computing, 63 (1999), 27–45). In this paper, we show that it is also possible to generalize this technique to a modification of the Bakhvalov mesh, such that the transition point between the fine and crude parts of the mesh only depends on the perturbation parameter and is defined explicitly. We provide a complete analysis for 1D problems for the simplicity of the present paper, but the analysis can be easily extended to 2D problems. With numerical results for 2D problems we show that the finite-difference discretization on the Bakhvalov-type mesh performs better than the Bakhvalov-Shishkin mesh.
1 Introduction We consider numerical methods for solving the linear singularly perturbed convection-diffusion problem, Lu := − εu − b(x)u + c(x)u = f (x),
x ∈ (0, 1),
u(0) = u(1) = 0,
(1)
where ε is a small positive perturbation parameter, 0 < ε ( 1. We assume that the functions b, c, and f are sufficiently smooth, and that b and c satisfy b(x) ≥ β > 0,
c(x) ≥ 0
for x ∈ I := [0, 1].
Then, the boundary value problem (1) has a unique solution, u ∈ C 2 (I ), which, generally speaking, exhibits an exponential layer at x = 0. T. A. Nhan () Department of Mathematics and Science, Holy Names University, Oakland, CA, USA e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_13
213
214
T. A. Nhan
It is well known that in order to achieve ε-uniform convergence with the standard upwind discretization of the problem (1), one should use layer-adapted meshes. Fifty years ago, in 1969, Bakhvalov [4] was the first researcher to introduce the idea of layer-adapted meshes. We refer the reader to a recent comprehensive survey [19], dedicated the 50th anniversary of the original Bakhvalov mesh, in which Roos reviews the important concepts and the development of layer-adapted meshes over last five decades. The monographs [7, 21] are recommended to those who want to explore these meshes and the field of numerical methods for singularly perturbed problems in general. There are several modifications of the original Bakhvalov mesh, see [5, 7, 19, 20, 25] for instance. When these Bakhvalov-type meshes are used with the upwind finite-difference scheme for the problem (1), one can prove an optimal convergence result, u − W N ≤ CN −1 ,
(2)
where W N is the upwinding approximation obtained using a mesh with N subintervals, C is a generic positive constant independent of both ε and N, and · denotes the discrete maximum norm. On the other hand, using a simpler piecewise uniform Shishkin mesh [23], we can prove u − W N ≤ CN −1 ln N.
(3)
Among special techniques to prove ε-uniform convergence results like (3) for finite-difference methods on the Shishkin mesh, the barrier-function technique is the most frequently used one. In 1997, Stynes and Roos [24] used this method to prove an almost-second-order convergence for a hybrid central-midpoint scheme. Two years later, the concept of Shishkin-type meshes was introduced in [20] and the barrier-function analysis was extended to these meshes. However, the extension of this technique to Bakhvalov-type meshes has been elusive until recently. This made Linß state the following in his 2003 survey [6] of layer-adapted meshes: We are not aware of any results for Bakhvalov-type meshes that make use of this truncation error and barrier function technique.
At that time, it was also known that the estimate (2) for Bakhvalov-type meshes could be proved by another method, the hybrid-stability approach [1, 2, 8], which made this theoretical gap even more puzzling (another way to prove the same result is to use the relatively new preconditioning method [12, 13, 17, 26]). However, we have recently found in the research literature the first uniform convergence proof by Liseikin, appeared in [9, Section 7.2], that makes use of the barrier function for the semilinear problems of type (1) in the context of layer-resolving grids for which the result can be deduced to the Bakhvalov mesh. A general theory of grid generation and its analysis can be found in the monograph [10]; whereas a comprehensive characteristic comparison between
Analysis for a Bakhvalov-Type mesh
215
various well-known and novel layer-resolving grids is discussed by Liseikin and Karasulji´c in [11]. The original Bakhvalov mesh and its modifications by Vulanovi´c [25] are generated by C 1 [0, 1]-functions which redistribute uniformly spaced points so that a mesh dense in the boundary layer is created. Due to the smooth mesh-generating function, the mesh gradually transitions from a fine part in the layer to the coarse part outside the layer. The corresponding transition point is defined implicitly, although in the case of the simplest Vulanovi´c’s mesh-generating function, the transition point can be found by solving a quadratic equation. As opposed to this, the Bakhvalovtype meshes of [5, 7, 20] have a pre-defined transition point, which is similar, or even identical, to the transition point of the Shishkin mesh. The mesh-step size of such meshes changes abruptly around the transition point, but depending on how the fine part of the mesh is defined, the optimal ε-uniform accuracy (2) of the upwind scheme may be preserved. The purpose of this paper is to show that the truncation error and barrier-function technique used for Shishkin-type meshes from [20] can be generalized to the Bakhvalov-type meshes with an explicitly defined transition point. We demonstrate this by considering the mesh from [5], which was also used in [3, 18]. Because of some characteristics, this mesh is closer to the original Bakhvalov mesh than the Bakvalov-Shishkin mesh of [7, 20]. It is worth noting that the proof technique and the barrier function we use here defer from that of Liseikin (cf. [9, Section 7.2]). The key ingredient of our approach is the novel analysis, recently presented in [15, 16], which is specially designed for the Bakhvalov meshes with smooth mesh-generating functions. Furthermore, the most significant advantage of our new barrier-function approach is that its analysis can be extended to 2D problems: −ε u − b1 (x, y)ux − b2 (x, y)uy + c(x, y)u = f (x, y) on = (0, 1)2 , u=0
on = ∂. (4)
More importantly, to our best knowledge, this is the only technique which can be used to analyze a finite-difference scheme on a Bakhvalov-type mesh for a higherdimensional problems like (4) (see [16]). For the simplicity and the purpose of this proceeding, we present only a detailed analysis for 1D problems because this can be easily extended to 2D by following the approach proposed recently in [16]. We then report numerical performance for a 2D test problem for which the computed errors by the upwind discretization on the Bakhvalov-type mesh is convergent uniformly for all values of ε. In the next section, we list some preliminary facts about the solution u of the problem (1) and introduce the upwind scheme for discretizing the problem. The discretization mesh is described in Sect. 3. Then, in Sect. 4, we highlight the distinguishable improvements of our new approach by comparing our assumptions to those used in the existing barrier-function proof by Roos and Linß [20] for Shishkin-type meshes. In Sect. 5, we provide the truncation error analysis and
216
T. A. Nhan
the barrier-function choice to obtain the main result (2) for 1D problems. Finally, numerical results for a 2D test problem are presented in Sect. 6 together with a brief concluding remark in the last section.
2 Preliminaries The following decomposition of u, [7, Theorem 3.48], is often used in the error analysis of numerical methods for (1): u(x) = s(x) + y(x), |s (k) (x)| ≤ C 1 + ε2−k , x ∈ I,
|y (k) (x)| ≤ Cε−k e−βx/ε ,
(5)
k = 0, 1, 2, 3.
Moreover, the layer component, y, satisfies a homogeneous differential equation, Ly(x) = 0,
x ∈ (0, 1).
(6)
Let I N denote an arbitrary mesh with mesh points xi , i = 0, 1, . . . , N, such that 0 = x0 < x1 < . . . < xN = 1. Let hi = xi − xi−1 , i = 1, 2, . . . , N, be the mesh-step sizes and let h¯ i = (hi + hi+1 )/2, i =1, 2, . . . , N − 1. Mesh functions on I N are denoted by W N = WiN , U N = UiN , etc. If g is a function defined on I , we write gi instead of g(xi ) and g N for the corresponding mesh function. The upwind finite-difference scheme is used to discretize the problem (1) on I N , U0N = 0, LN UiN := −εD UiN − bi D + UiN + ci UiN = fi ,
i = 1, 2, . . . , N − 1,
UNN = 0, where D WiN =
1 + N D Wi − D − WiN , h¯ i
and D + WiN =
N − WN Wi+1 i
hi+1
,
D − WiN =
N WiN − Wi−1
hi
.
(7)
Analysis for a Bakhvalov-Type mesh
217
It is easy to see that the operator LN satisfies the discrete maximum principle. Therefore, the discrete problem (7) has a unique solution U N . Let τi [g] = LN gi − (Lg)i , i = 1, 2, . . . , N − 1, for any C 2 (I )-function g. In particular, τi [u] is the truncation error of the finitedifference operator LN and τi [u] = LN ui − LN WiN = LN u − W N . i
By Taylor’s expansion we get that 2 2 2 2 |τi [u]| ≤ Chi+1 ε2u 2i + 2u 2i ,
(8)
where gi := maxxi−1 ≤x≤xi+1 |g(x)| for any g ∈ C(I ). Recall from the introduction that C is a positive generic constant independent of ε and N. Some specific constants of this kind will be subscripted below.
3 A Bakhvalov-Type Mesh with an Explicitly Defined Transition Point The specific Bakhvalov-type mesh we are interested in is defined by xi =
aεφ(ti ),
i = 0, 1, . . . , J,
σ + 2(1 − σ )(ti − 1/2), i = J + 1, J + 2, . . . , N,
(9)
with a positive constant a, φ(t) = φB (t) := − ln [1 − 2(1 − ε)t], ti = i/N, J = N/2, and σ = σB := aε ln(1/ε) = xJ ,
(10)
cf. [3, 5, 18]. This mesh shares the following characteristics with the original Bakhvalov mesh: a logarithmic function to generate the points in the layer, and a transition point (defined in (10)) of the order O(−ε ln ε). Furthermore, the last mesh step, hJ , in the layer region grows logarithmically as ε → 0, and not like O(ε), which is the case with the Bakhvalov-Shishkin mesh (or other Shishkin-type meshes in [7, 20]). The Bakhvalov-Shishkin mesh is like in (9), where φ(t) = φBS (t) := − ln [1 − 2(1 − 1/N)t] σS being the standard Shishkin transition point.
and σ = σS := aε ln N = xJ ,
218
T. A. Nhan
The mesh sizes in the layer region of the mesh (9)–(10) are estimated in the following lemma. This is what makes this Bakhvalov-type mesh different from Shishkin-type meshes. Lemma 1 The mesh widths in the layer regions of the Bakhvalov-type mesh defined by (9) and (10) satisfy hi−1 ≤ hi ≤ CN −1 ,
i = 2, 3, . . . , J,
(11)
and in particular hi ≤ aε,
i = 1, 2, . . . , J − 1.
(12)
Furthermore, aβ aβ e−βxJ −1 /ε = ε + 2(1 − ε)N −1 ≤ ε + 2N −1
(13)
e−βxJ /ε = (ε)aβ .
(14)
and
2(1 − ε) , thus, 1 − 2(1 − ε)t Therefore, hi−1 ≤ hi ,
Proof By the definition of φB (t), we have φB (t) = φB (t) is monotonically increasing for t ∈ [0, 1/2]. i = 2, 3, . . . , J − 1, and hJ = aε
tJ
φ (s) ds ≤
tJ −1
2(1 − ε) aε aε aε 2 φ (tJ ) = × × = 2aN −1 , ≤ N N 1 − 2(1 − ε)tJ N ε
which gives (11). For the estimate in (12), we have hi = aε
ti
ti−1
φ (s) ds ≤
aε N
max φ (t) =
t ∈[ti−1 ,ti ]
2(1 − ε) aε × N 1 − 2(1 − ε)ti
2 aε aε × ≤ × N = aε. ≤ N 1/(1 − ε) − 2tJ −1 /(1 − ε) N It is an easy calculation to get the inequalities (13) and (14).
Analysis for a Bakhvalov-Type mesh
219
4 The Barrier-Function Analysis of Roos and Linß for Shishkin-Type Meshes Here, we only list the assumptions used in [20] to prove ε-uniform convergence on Shishkin-type meshes. The proof is based on the barrier-function technique. In [20], Shishkin-type meshes are defined as generated in the layer by a function φ which satisfies the following conditions: φ > 0, max φ ≤ CN
(15)
and
1/2 0
φ (s)
12
ds ≤ CN.
(16)
0
The transition point of Shishkin-type meshes is σS . An additional assumption is that ε ≤ CN −1 ,
(17)
which, together with (15), is crucial for obtaining hi ≤ aε[φ(ti ) − φ(ti−1 )] ≤ aεN −1 max φ ≤ Cε ≤ CN −1 ,
i = 1, 2, . . . , J.
The property hi ≤ Cε,
i = 1, 2, . . . , J,
(18)
is also important for Shishkin-type meshes and is used in later stages of the error analysis in [20]. Strictly speaking, the Shishkin-type meshes do not provide ε-uniform convergence because (17) is assumed. More precisely, in the case of the BakhvalovShishkin mesh, for instance, one can only prove that u − uN ≤ C ε + N −1 ,
(19)
cf. [7]. As opposed to this, all mesh steps in the layer region of the Bakhvalov-type mesh defined in Sect. 3 are of order O(N −1 ), without the assumption (17), as shown in (11). Therefore, the mesh with a Bakhvalov-type transition point is a theoretically favored choice. However, the Bakhvalov-type mesh in Sect. 3 does not fulfill (16) and (18). This is because 1/2 0 12 2 1−ε φB (s) ds = − 4 + ε = O(ε−1 ), and hJ = aε ln 1 + 2 . ε εN 0
220
T. A. Nhan
As a result, a new barrier function approach is needed for the Bakhvalov-type mesh. We present this in the next sections.
5 The Error Analysis We first estimate the truncation error τi [u] for i = 1, 2, . . . , N − 1. This is done in Lemma 2. Then, the barrier function is introduced in Lemma 3 and the discrete maximum principle is applied on the entire interval [0, 1]. Let y¯iN
i βhj −1 := . 1+ 2ε j =1
It holds that y¯iN ≥
i
e−βhj /(2ε) = e−βxi /(2ε),
i = 1, 2, . . . , N.
j =1
Lemma 2 Let aβ ≥ 2. The truncation error of the upwind discretization of the problem (1) on the Bakhvalov-type mesh defined in (9) and (10) satisfies the following. • For i ≥ J , |τi [u]| ≤ CN −1 .
(20)
|τi [u]| ≤ C N −1 + ε−1 y¯iN N −1 .
(21)
• For i ≤ J − 2,
• For i = J − 1, ⎧ ⎨C N −1 + ε−1 y¯ N N −1 , i when hi+1 ≤ ε, |τi [u]| ≤ −1 N −1 −1 ⎩C N + hi+1 y¯i N , when hi+1 > ε.
(22)
Proof We only provide the proof for the singular component y of u, since |τi [s]| is easy to estimate. To prove (20) for i ≥ J + 1, we apply (8) to y. Then we have 2 2 2 2 |τi [y]| ≤ Chi+1 ε2y 2i + 2y 2i ≤ CN −1 ε−2 e−βxJ /ε ≤ CN −1 , where we have used (14) and aβ ≥ 2 in the last inequality.
Analysis for a Bakhvalov-Type mesh
221
To prove (20) for i = J , we consider two cases, ε ≤ N −1 and ε > N −1 . For i = J and ε ≤ N −1 , we use the truncation error estimate in the form of τi [y] = LN y, which is valid because of (6). Thus, we have |τi [y]| ≤ Pi + Qi + Ri , where Pi = εD yi ,
Qi = bi D yi ,
and Ri = ci |yi |.
We can bound PJ from above as follows. Since h¯ J ≥ hJ +1 /2 ≥ CN −1 , we get h¯ −1 J ≤ CN and, invoking (13), aβ −βxJ −1 /ε −1 PJ ≤ C h¯ −1 e ≤ CN ε + 2N ≤ CN −1 . J
(23)
Analogous arguments apply to QJ and RJ , implying that |τJ [y]| ≤ CN −1 . For i = J and ε > N −1 , we get that hJ ≤ Cε because of (11). Therefore, we continue as follows: 2 2 2 2 |τJ [y]| ≤ ChJ +1 ε2y 2J + 2y 2J ≤ CN −1 ε−2 e−βxJ −1 /ε ≤ CN −1 ε−2 e−βxJ /ε ≤ CN −1 , where (14) is used in the last step. We can combine the estimates in (21) and the first case of (22) as follows. For i ≤ J − 1, we have hi ≤ aε because of (12) and hJ ≤ Cε by the first case of (22). Hence, 2 2 2 2 |τi [y]| ≤ Chi+1 ε2y 2i + 2y 2i ≤ N −1 εφ (ti+1 ) ε−2 e−βxi−1 /ε . / ≤ Cε−1 N −1 φ (ti+1 )e−βxi+1 /2ε e−βxi /2ε ≤ Cε−1 N −1 [1 − 2(1 − ε)ti+1 ]aβ−1 e−βxi /2ε ≤ Cε−1 N −1 e−βxi /2ε ≤ Cε−1 N −1 y¯iN . Lastly, when i = J − 1 and hJ > ε, this means that max{ε, hJ } = hJ . Then, ε ≤ CN −1 , again because of (11), and we can modify the approach in (23) and use (13) to get −βxJ −2 /ε −βxJ −1 /(2ε) −βxJ −1 /(2ε) PJ −1 ≤ C h¯ −1 ≤ Ch−1 e J −1 e J e aβ/2 N −1 N −1 ≤ Ch−1 ≤ Ch−1 J y¯J −1 ε + 2N J y¯J −1 N .
222
T. A. Nhan
The same argument applied to RJ −1 and QJ −1 gives N −1 |τJ −1 [y]| ≤ Ch−1 J y¯J −1 N ,
which completes the proof. We next form the barrier function γi (see also in [14, 15]), (1)
γi = γi
(2)
+ γi ,
i = 0, 1, . . . , N,
with γi(1) = C1 N −1 (1 − xi )
and γi(2) = C2 y¯iN N −1 .
Lemma 3 There exist sufficiently large constants C1 and C2 such that LN γi ≥ κi ≥ |τi [u]|,
i = 1, 2, . . . , N − 1,
(24)
where κi = C1 N −1 + C2 [max{ε, hi+1 }]−1 y¯iN N −1 . Proof It is an easy calculation (see, e.g., [14]) to verify the first inequality in (24), LN γi ≥ κi . Then, from Lemma 2, it is clear that |τi [u]| ≤ CN −1 ≤ C1 N −1 ≤ κi ≤ LN γi ,
i = J, J + 1, . . . , N − 1.
For i ≤ J − 2, we have from (12) that hi+1 ≤ Cε and |τi [u]| ≤ C N −1 + ε−1 y¯iN N −1 ≤ C1 N −1 + C2 ε−1 y¯iN N −1 ≤ κi ≤ LN γi . (25) It remains to consider i = J − 1. If hi+1 ≤ ε, we have the same situation as above and the estimate (25) is achieved for i = J − 1. On the other hand, when hi+1 > ε, it is clear from (22) that N −1 |τJ −1 [u]| ≤ C N −1 + h−1 . J y¯ i N
Analysis for a Bakhvalov-Type mesh
223
Therefore, N −1 N −1 |τJ −1 [u]| ≤ C N −1 + h−1 ≤ C1 N −1 +C2 h−1 y ¯ N ≤ κJ −1 ≤ LN γJ −1 , J J −1 J y¯J −1 N
which completes the proof.
Combining Lemmas 2 and 3 together with the discrete maximum principle, we arrive at the main result. Theorem 1 Let u be the solution of the continuous problem (1) and let U N be the solution of the discrete problem (7) on the Bakhvalov-type mesh (9)–(10). Then the following error estimate is satisfied: |ui − UiN | ≤ CN −1 ,
i = 0, 1, . . . , N.
6 Numerical Results for 2D Problems For the two-dimensional problem (4), we employ the natural extension of the method (7): an upwind finite-difference scheme on a tensor-product grid of the onedimensional Bakhvalov-type meshes defined in Sect. 3. Although we do not provide an analysis for the two-dimensional problem (4), it is an easy extension from the above 1D analysis to its 2D analogue in light of the newly tailored barrier-function technique for the original Bakhvalov mesh given in [16]. Therefore, we only present, in this section, the numerical results obtained by the upwind discretization on the Bakhvalov-type mesh to the following test problem taken from [16, Example 1], −ε u − (x + 2)ux − (y 3 + 3)uy + u = f (x, y) on = (0, 1)2 , u=0
on = ∂,
(26)
where f (x, y) is chosen so that u(x, y) = cos
πx 1 − e−2x/ε (1 − y)3 1 − e−3y/ε 2
is the exact solution. The discretization errors, EN , and the rate of convergence, ρ ≈ (ln EN − ln E2N )/ ln 2, are shown in Table 1. We compare this result to the one generated on the Bakhvalov-Shishkin mesh—shown in Table 2. As we can clearly observe, the uniform convergence can be seen in Table 1 for all values of ε. This agrees with the theoretical justification. By contrast, in Table 2 the rate of convergence deteriorates when N increases for ε = 0.1 and ε = 0.01 because of (19).
224
T. A. Nhan
Table 1 Problem (26): errors (top row) and convergence rates (below row) for the upwind discretization on the modification of the Bakhvalov mesh with a = 2 ε 10−1 10−2 10−3 10−4 10−5 10−6
N = 26 2.079e−02 0.97 2.834e−02 1.00 2.981e−02 0.96 3.038e−02 0.96 3.049e−02 0.96 3.068e−02 0.96
N = 27 1.063e−02 0.98 1.419e−02 1.00 1.534e−02 0.98 1.567e−02 0.98 1.571e−02 0.98 1.572e−02 0.98
N = 28 5.377e−03 0.99 7.092e−03 1.00 7.787e−03 0.99 7.949e−03 0.99 7.971e−03 0.99 7.974e−03 0.99
N = 29 2.704e−03 1.00 3.543e−03 1.00 3.922e−03 0.99 4.003e−03 0.99 4.014e−03 1.00 4.015e−03 1.00
N = 210 1.356e−03 1.00 1.771e−03 1.00 1.968e−03 1.00 2.008e−03 1.00 2.014e−03 1.00 2.014e−03 1.00
N = 211 6.787e−04 – 8.851e−04 – 9.857e−04 – 1.006e−03 – 1.009e−03 – 1.009e−03 –
Table 2 Problem (26): errors (top row) and convergence rates (below row) for the upwind discretization on the Bakhvalov mesh with a Shishkin-type transition point with a = 2 ε 10−1 10−2 10−3 10−4 10−5 10−6
N = 26 1.984e−02 0.10 2.797e−02 0.97 2.957e−02 0.94 3.001e−02 0.94 3.005 02 0.94 3.005e−02 0.94
N = 27 1.856e−02 0.10 1.427e−02 0.99 1.537e−02 0.98 1.563e−02 0.98 1.565e−02 0.97 1.566e−02 0.97
N = 28 1.729e−02 0.14 7.175e−03 1.01 7.803e−03 0.99 7.949e−03 0.99 7.964e−03 0.99 7.966e−03 0.99
N = 29 1.572e−02 0.18 3.553e−03 0.88 3.926e−03 1.00 4.005e−03 1.00 4.013e−03 0.99 4.014e−03 0.99
N = 210 1.385e−02 0.23 1.930e−03 0.74 1.968e−03 1.00 2.009e−03 1.00 2.014e−03 1.00 2.014e−03 1.00
N = 211 1.178e−02 – 1.154e−03 – 9.856e−04 – 1.006e−03 – 1.009e−03 – 1.009e−03 –
7 Conclusion We presented an alternative barrier-function approach for uniform convergence analysis of the finite-difference discretization on a Bakhvalov-type mesh. In particular, the transfer of our analysis to 2D problems answered an open question recently posed in [22, Question 6]. Numerical experiments show that, from the theoretical and computational view, a Bakhvalov-type transition point is the favoured choice because the computed errors by the upwind scheme on this mesh are convergent, uniformly for all values of ε as seen in Sect. 6.
Analysis for a Bakhvalov-Type mesh
225
Acknowledgments This research was supported by the Faculty Development Program, Holy Names University. The author would like to thank an anonymous referee for his suggestions that brought my attention to the barrier-function uniform convergence proof of Liseikin.
References 1. Andreev, V.B., Kopteva, N.V.: On the convergence, uniform with respect to a small parameter, of monotone three-point finite difference approximations. Differ. Equ. 34(7), 921–929 (1998) 2. Andreev, V.B., Savin, I.A.: The uniform convergence with respect to a small parameter of A. A. Samarskii’s monotone scheme and its modification. Comput. Math. Phys. 35, 581–591 (1995) 3. Apel, Th., Lube, G.: Anisotropic mesh refinement for a singularly perturbed reaction diffusion model problem. Appl. Numer. Math. 26, 415–433 (1998) 4. Bakhvalov, N.S.: The optimization of methods of solving boundary value problems with a boundary layer. USSR Comput. Math. Math. Phys. 9, 139–166 (1969) 5. Boglaev, I.P.: The numerical solution of a nonlinear boundary value problem with a small parameter effecting the highest derivative (in Russian). Zh. Vychisl. Mat. Mat. Fiz. 24, 1649– 1656 (1984) 6. Linß, T.: Layer-adapted meshes for convection-diffusion problems. Comput. Methods Appl. Mech. Eng. 192(9–10), 1061–1105 (2003) 7. Linß, T.: Layer-Adapted Meshes for Reaction-Convection-Diffusion Problems. Lecture Notes in Mathematics, vol. 1985. Springer, Berlin (2010) 8. Linß, T., Roos, H.-G., Vulanovi´c, R.: Uniform pointwise convergence on Shishkin-type meshes for quasilinear convection-diffusion problems. SIAM J. Numer. Anal. 38, 897–912 (2001) 9. Liseikin, V.D.: Layer Resolving Grids and Transformations for Singular Perturbation Problems, p. 284. VSP, Utrecht (2001) 10. Liseikin, V.D.: Grid Generation Methods, 3rd edn, p. 530. Springer, Berlin (2017) 11. Liseikin, V.D., Karasulji´c, S.: Numerical analysis of grid-clustering rules for problems with power of the first type boundary layers. Comput. Technol. 25(1), 49–65 (2020) 12. Nhan, T.A., Vulanovi´c, R.: Uniform convergence on a Bakhvalov-type mesh using preconditioning approach. Technical report (2015). arXiv: 1504.04283 math.NA 13. Nhan, T.A., Vulanovi´c, R.: Preconditioning and uniform convergence for convection-diffusion problems discretized on Shishkin-type meshes. Adv. Numer. Anal. 2016, Article ID 2161279 (2016) 14. Nhan, T.A., Vulanovi´c, R.: A note on a generalized Shishkin-type mesh. Novi Sad J. Math. 48(2), 141–150 (2018). https://doi.org/10.30755/NSJOM.07880 15. Nhan, T.A., Vulanovi´c, R.: Analysis of the truncation error and barrier-function technique for a Bakhvalov-type mesh. Electron. Trans. Numer. Anal. 51, 315–330 (2019) 16. Nhan, T.A., Vulanovi´c, R.: The Bakhvalov mesh: a complete finite-difference analysis of two-dimensional singularly perturbed convection-diffusion problems. Numer. Algor. (2020). https://doi.org/10.1007/s11075-020-00964-z 17. Nhan, T.A., Stynes, M., Vulanovi´c, R.: Optimal uniform-convergence results for convectiondiffusion problems in one dimension using preconditioning. J. Comput. Appl. Math. 338, 227– 238 (2018). https://doi.org/10.1016/j.cam.2018.02.012 18. Roos, H.-G.: Error estimates for linear finite elements on Bakhvalov-type meshes. Appl. Math. 51, 63–72 (2006) 19. Roos, H.-G.: Layer-adapted meshes: Milestones in 50 years of history, Sept 2019. arXiv: 1909.08273v1 math.NA 20. Roos, H.-G., Linß, T.: Sufficient conditions for uniform convergence on layer-adapted grids. Computing 63, 27–45 (1999)
226
T. A. Nhan
21. Roos, H.-G., Stynes, M., Tobiska, L.: Numerical Methods for Singularly Perturbed Differential Equations. Springer Series in Computational Mathematics, vol. 24, 2nd edn. Springer, Berlin (2008) 22. Roos, H.-G., Stynes, M.: Some open questions in the numerical analysis of singularly perturbed differential equations. Comput. Methods Appl. Math. 15, 531–550 (2015) 23. Shishkin, G.I.: Grid approximation of singularly perturbed elliptic and parabolic equations (in Russian). Second Doctoral Thesis, Keldysh Institute, Moscow (1990) 24. Stynes, M., Roos, H.-G.: The midpoint upwind scheme. Appl. Numer. Math. 23, 361–374 (1997) 25. Vulanovi´c, R.: On a numerical solution of a type of singularly perturbed boundary value problem by using a special discretization mesh. Univ. u Novom Sadu Zb. Rad. Prir. Mat. Fak. Ser. Mat. 13, 187–201 (1983) 26. Vulanovi´c, R., Nhan, T.A.: Uniform convergence via preconditioning. Int. J. Numer. Anal. Model. Ser. B 5, 347–356 (2014)
On a Comprehensive Grid for Solving Problems Having Exponential or Power-of-First-Type Layers V. D. Liseikin, S. Karasuljic, A. V. Mukhortov, and V. I. Paasonen
Abstract This paper describes an explicit approach for generating layer-resolving grids in problems having exponential or power-of-first-type layers. The grids are generated on the basis of qualitative estimates of solution derivatives in the layers of one-dimensional singularly perturbed problems. The paper presents results of numerical experiments, using appropriate grids and high-order schemes, for twopoint boundary-value problems and two-dimensional Navier–Stokes equations.
1 Introduction The paper aims at developing high-order ε-uniform adaptive algorithms suitable for solving a singularly perturbed problem of the type − [ε + d(x)]α u + a(x, u)u + f (x, u) = 0 u(0) = A0 ,
α > 0, d(x) ≥ 0 , 0 < x < 1 ,
u(1) = A1 , (1)
and Navier–Stokes equations modelling a viscous gas flow over a flat plate. Problem (1) for d(x) = 0 is analyzed analytically in [1–3], where it is shown that its solutions for the specific functions a(x, u) and f (x, u) may have exponential boundary and power-of-type-2 interior layers; while in [4] it is demonstrated that its solutions for the more arbitrary functions d(x), a(x, u), and f (x, u) may also have other layers, in particular, power-of-type-1, logarithmic, and mixed boundary and interior layers.
V. D. Liseikin () · V. I. Paasonen Institute of Computational Technologies SB RAS, Novosibirsk, Russia S. Karasuljic Faculty of Sciences and Mathematics, University of Tuzla, Tuzla, Bosnia and Herzegovina A. V. Mukhortov Novosibirsk State University, Novosibirsk, Russia © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_14
227
228
V. D. Liseikin et al.
The algorithms advocated in this paper for solving (1) are based on layerdamping coordinate transformations x(ξ, ε) : [0, 1] → [0, 1] in compliance with a basic principle: they are to eliminate singularities of high order of solutions u(x, ε); i.e., the high-order derivatives of any concrete solution with respect to the new coordinate ξ are to have the following bounds: j d dξ j u[x(ξ, ε), ε] ≤ M ,
j ≤n,
0≤ξ ≤1,
(2)
where the constant M is independent of the parameter ε, and the number n is dependent on the order of the approximation of the problem: the higher the order, the larger the number n will be. The layer-damping coordinate transformations x(ξ, ε) : [0, 1] → [0, 1], which eliminate singularities, by formula xi = x(i/N, ε) generate the layer-resolving grids xi , i = 0, . . . , N, x0 = 0, xN = 1, whose nodes cluster in the layers. This principle for n ≤ 3 is implemented in [4] for solving problem (1) with the functions d(x), a(x, u), and f (x, u) by using a simple upwind scheme of first order. It is proven in this publication that the ε-uniform first order convergence of numerical solutions to some problems having diverse types of layers is achieved using an upwind scheme of first order and corresponding diverse layer-resolving grids. However, for guaranteeing higher-order ε-uniform convergence of solutions by high-order algorithms, the transformations developed for the upwind scheme are not suitable; first, they do not provide grid clustering on the entire layers for the higher derivatives of solutions presented in errors of discretizations by schemes of higher order, as these layers are wider than the layers for lower derivatives of solutions; and, second, in contrast to the upwind scheme, many schemes of high order are not subject to the principle of inverse monotonicity, which allows one to establish a connection between the solution and truncation errors, and so to prove high-order ε-uniform convergence. Moreover, convergence for non-monotone problems, in particular quasi-linear problems, can, in general, be demonstrated by numerical experiments only, although it is quite likely that, for these cases, coordinate transformations for generating grids providing high-order ε-uniform convergence can be found among those satisfying (2) for large n. Estimates (2) may guarantee high-order ε-uniform convergence in the logical domain ξ , as the truncation errors will be ε-uniformly bounded when n ≥ p + 2, where p is the order of the scheme. It is proposed that by using the layerresolving grids obtained by the transformations satisfying (2), ε-uniform high-order convergence will be demonstrated for schemes of high-order in the physical interval x. Moreover, the numerical solution can be interpolated ε-uniformly with highorder accuracy on the entire interval [0, 1]. One such transformation, complying with (2) for an arbitrarily specified n, is presented in the paper for exponential and power-of-first-type layers by updating some mapping demonstrated in [4] for the upwind scheme. The layer-damping coordinate mapping described in the paper for both exponential and power-of-first-type layers produces other forms of layer-resolving grids—grids above and beyond those already well known and broadly accepted,
On a Comprehensive Grid for Solving Problems Having Exponential or Power-. . .
229
namely, those developed by Bakhvalov [1] and Shishkin [5]. The grids developed by Bakhvalov and Shishkin have been efficiently applied to diverse singularly perturbed problems, but to problems having only exponential-type layers, typically represented by functions exp −bx/εk . These grids are not suitable for tackling important problems, the solutions of which have wider layers: power, logarithmic, and mixed-type boundary and interior layers (see [6]), and also require knowledge of the constant b affecting the width of the exponential layer. Such knowledge is not always available, for example, for the boundary layers in viscous-gas flows or the interior layers in solutions to the quasi–linear problems discussed in the current paper. In addition, the very popularity of the grids contrived by Bakhvalov and Shishkin seems to hinder researchers from considering other problems with nonexponential layers, which are not handled by these grids. As a result, this very important area of problems with non-exponential layers remains at present nearly an unexplored area to the SPP community (here and below, SPP stands for “singular– perturbation problems”). This paper demonstrates an attempt to break out of this narrow circle. It is hoped that the updated layer-resolving grid described in this paper should strengthen and encourage researchers of the SPP community to solve broader and more important classes of problems having not only exponential, but other boundary and interior layers. Section 2 formulates a coordinate transformation and theoretically substantiates that it eliminates both exponential and power-of-first-type singularities. Section 3 presents numerical experiments with the grid generated on linear problems approximated by high-order schemes. It also presents numerical experiments on non-linear problems approximated by a first-order scheme. The section further discusses application of the grid to two-dimensional Navier–Stokes equations modelling a viscous-gas flow over a flat plate.
2 Transformation for Eliminating High-Order Singularities This section describes a basic coordinate transformation eliminating exponential and power-of-first-type singularities of arbitrary order in the vicinity of a boundary layer near the point x0 = 0. It can be applied to specify layer-damping transformations and corresponding layer-resolving grids on the entire interval [0, 1] with randomly located exponential or power-of-first-type layers, by creating local mappings via procedures of scaling, shifting, inverting the basic transformation, and then matching them with themselves and polynomials. When using high-order approximations of equations, such transformations may be suitable for generating layer-resolving grids which provide both high-order ε-uniform convergence and high-order ε-uniform interpolations. Let us first consider an exponential boundary layer function u(x, ε) whose j th derivative is estimated by an exponential function and M, i.e., . / (j ) u (x, ε) ≤ M ε−kj exp −bx/εk + 1 , b > 0 , 1 ≤ j ≤ n , 0 ≤ x ≤ 1 . (3)
230
V. D. Liseikin et al.
This singularity can be eliminated by a coordinate transformation x(ξ, ε, a, k) ∈ C l [0, 1], n ≥ l ≥ 0 in the following form: ⎧ ⎪ cεk (1 − dξ )−1/a − 1 , 0 ≤ ξ ≤ ξ0 , ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ k(1−β/a) k ⎪ −ε c ε ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ εk ⎪ ⎪ + (ξ0 )(ξ − ξ0 ) ⎪ ⎪ ⎨ (1 − dξ )1/a x(ξ, ε, a, k) = 1 εk ⎪ + (ξ0 )(ξ − ξ0 )2 + . . . ξ0 ≤ ξ ≤ 1 , ⎪ ⎪ 2 (1 − dξ )1/a ⎪ ⎪ ⎪ (l) ⎪ ⎪ 1 εk ⎪ ⎪ (ξ0 )(ξ − ξ0 )l + ⎪ ⎪ ⎪ l! (1 − dξ )1/a ⎪ ⎪ ⎪ ⎪ ⎪ l+1 ⎪ + c , − ξ (ξ ) 0 0 ⎩ (4) where d = 1 − εkβ /ξ0 ; 0 < m2 ≤ β ≤ a/(1 + na); a is an arbitrary positive constant; 1 > ξ0 ≥ m3 > 0, (for example ξ0 = 1/2); and c > 0 is such that the necessary boundary condition x(1, ε, a, k) = 1 is satisfied. This transformation is a generalization of the mapping proposed in [7] and [8]. A specific transformation of this kind for a = 1 was introduced by Vulanovic in [9]. Theorem 1 The transformation (4) eliminates singularity (3) up to order n, i.e., estimate (2) is valid. This theorem was proved in [10] (Sect. 6.3.2). In the same manner it was proved in [10] that, in order to eliminate the exponential singularity (3) of the function u(x, ε) up to order n in a new coordinate ξ , we can rely on the basic local logarithmic contraction function x1 (ξ, ε, a, k) on the corresponding interval [0, ξ0 ]: x1 (ξ, ε, a, k) = − εk ln(1 − dξ ) /a ,
0 ≤ ξ ≤ ξ0 ,
d = 1 − εk/n /ξ0 , (5)
but with the restriction b/n2 ≥ a > 0, by prolongating it smoothly on the interval [0, 1]. The transformation of this type was introduced by Bakhvalov [1]. The transformation (4) is more convenient for eliminating exponential singularities than the transformation based on (5), since the constant a in (4) is not dependent on b in (3), so that, with an arbitrary fixed constant a > 0, this transformation alone
On a Comprehensive Grid for Solving Problems Having Exponential or Power-. . .
231
is valid for all constants b ∈ (0, ∞) in (3) for eliminating singularities of u(x, ε) up to order n. Another popular piecewise uniform transformation x(ξ, ε, b) =
2σ ξ ,
0 ≤ ξ ≤ 1/2 ,
σ + 2(1 − σ )ξ , 1/2 ≤ ξ ≤ 1 ,
(6)
where σ = min{0.5, (n/b)ε ln N}, proposed by Shishkin [5] for generating grids for solving problems with exponential layers, also being dependent on fixed constant b in (3), will not be suitable for all b ∈ (0, ∞) in (3). The power transformation (4) with a proper choice of constant a > 0 is also suitable for eliminating power singularities of type 1 near x0 = 0, i.e., when solution derivatives are estimated by the following function: b+j (j ) kb k +1 , u (x, ε) ≤ M ε / ε + x
1≤j ≤n,
0≤x≤1.
(7)
Here, the boundary layer interval, where all the derivatives up to n of u(x, ε) are not uniformly bounded over ε, is [0, x2n ], x2n = m2 εkb/(b+n) x1n = (kn/b)εk ln ε−1 for sufficiently small ε, so that the transformations (5) and (6) are not suitable for generating layer-resolving grids when such singularities have incomparably wider layers than any exponential layer. Theorem 2 The transformation (4), with the restrictions 0 < a ≤ b/n2 and β = a/(1 + na), eliminates singularity (7) up to order n. The proof of this theorem can easily be restored from [10] (Sect. 6.3.2), namely, by adding in that proof the following restriction: β = a/(1 + an), without which the theorem is not valid.
3 Numerical Experiments This section presents results of numerical experiments with problems having exponential or power-of-type-1 boundary and interior layers.
3.1 Numerical Experiments with High-Order Schemes This subsection compares results of calculations for problem (1) with d(x) = x through the compact schemes of high-order approximations O(hp ), (p = 1; 2; 3), formulations of which were described in [11] for d(x) = 0. The compact schemes for the case d(x) = x are easily obtained from those formulations by substituting ε + x for ε. Problems of this type with α = 1 were discussed in the monograph [12]
232
V. D. Liseikin et al.
for modeling a flow of liquid in the vicinity of a circular orifice of a small radius r = ε; those with α = 2, for simulating the motions of charges viewed as classical particles in [13]. Solutions to this problem may have layers of exponential, power, and logarithmic types [4]. Numerical solutions of problem (1) with d(x) = 0, using high-order approximations and layer-resolving grids, were discussed in [11]. The exact solution was unknown for the test problems being solved. In the figures given below, the exact solution means the numerical solution obtained on a very fine grid (N = 1600); in all the tables, the estimates of the error δ and order p have subscripts 1, 2, and 3, corresponding to the orders of accuracy of the schemes used to obtain the results. We calculate and the next as δk and pk in this subsection u2N − uN , pk = log δ 2N /δ N , k = 1, 2, 3. in [11], i.e., δk = maxN 2 i=0 2i i k k For generating layer-resolving grids for both exponential and power-of-type-1 layers near the boundary point x0 = 0, we use a comprehensive transformation of the class C l [0, 1] in the form (4), assuming ξ0 = 1/2, l = 2, n = p + 1, where p is the order of the scheme. Exponential Boundary Layer Letting in (1) d(x) = x, α ≥ 2, a(x, u) = a(x), b = −a(0) > 0, we have from [4] . / (j ) u (x, ε) ≤ M 1 + ε−j α exp −mbx/εα , (8) j ≤n+1, 0 1, we have from [4] for b > 1 / . (i) (9) u (x, ε) ≤ M 1 + εb−1 (ε + x)1−b−i , i ≤ n + 1 , 0 ≤ x ≤ 1 , i.e., the solution has a single power boundary layer of type 1 and scale 1 near x = 0. Thus, an explicit transformation for generating a layer-resolving grid can be defined by the mapping x(ξ, ε, a, k) from (4) for k = 1 and a = (b − 1)/n2 . Example 2 As an example, we shall assume α = 1, a(x) = −4, F (x, u) = u − 8 sin(4πx), u(0) = 0, and u(1) = 0.5, in which case a = 3/n2 . The results are presented in Table 2 and Fig. 2.
3.2 Experiments with Autonomous Equations This subsection presents results of numerical experiments with an idealized problem simulating some shock-wave structures of a steady heat-conducting gas flow [4] (pages 9–10). To calculate the numerical solutions, we use approximations of the autonomous singularly perturbed boundary value problems by the standard iterative upwind finite difference scheme [10, pp. 257] and the scheme of the second order of accuracy [11] on the appropriate modifications [10, pp. 247, pp. 263] of the adaptive layer-resolving grid (4). The characteristics δk and pk , k = 1, 2, are calculated in
N/ε 40 80 160 320 640 1280
δ1 10−2 3.5 × 10−2 1.8 × 10−2 9.4 × 10−3 4.8 × 10−3 2.4 × 10−3 1.2 × 10−3
δ2 10−2 4.5 × 10−2 7.9 × 10−3 1.9 × 10−3 4.9 × 10−4 1.2 × 10−4 3.0 × 10−5
δ3 10−2 5.7 × 10−2 2.4 × 10−3 1.5 × 10−4 9.7 × 10−6 6.1 × 10−7 3.8 × 10−8
Table 2 Data for power layer of type 1 for various ε δ1 10−4 4.8 × 10−2 2.6 × 10−2 1.4 × 10−2 7.5 × 10−3 3.8 × 10−3 1.9 × 10−3
δ2 10−4 7.3 × 10−2 1.2 × 10−2 2.9 × 10−3 7.1 × 10−4 1.8 × 10−4 4.5 × 10−5
δ3 10−4 2.4 × 10−1 6.4 × 10−3 3.6 × 10−4 2.4 × 10−5 1.5 × 10−6 9.6 × 10−8
δ1 10−6 6.1 × 10−2 3.8 × 10−2 2.1 × 10−2 1.2 × 10−2 6.1 × 10−3 3.1 × 10−3
δ2 10−6 8.3 × 10−2 1.4 × 10−2 3.2 × 10−3 7.9 × 10−4 2.0 × 10−4 4.9 × 10−5
δ3 10−6 1.3 9.1 × 10−3 4.7 × 10−4 3.0 × 10−5 1.9 × 10−6 1.2 × 10−7
234 V. D. Liseikin et al.
On a Comprehensive Grid for Solving Problems Having Exponential or Power-. . .
235
Fig. 2 Power boundary layer of type 1. Numerical solutions for N = 40 (left) and N = 80 (right)
the same way as in the previous subsection. The subscript k corresponds to the orders of accuracy of the schemes used to obtain the results. Interior Power Layer Letting ' u in (1) d(x) = 0, f (x, u) = 0, α = 1, a(x, u) = a(u) ∈ C[A0 , A1 ], b(u) = A0 a(μ) dμ, b(A0) = b(A1), b(u) > b(A0), for A0 < u < A1 and, besides this, b (A0 ) = b (A1 ) = 0, b (A0 ) = 0, b (A1 ) = 0, in accordance with [4] for j n − 1, the estimate holds . / (j ) u (x, ε) M 1 + ε/(ε + x − x0 )1+j ,
0x1,
where u(x, ε) is the solution to (1). The center x0 of the layer is calculated as 7 !8 √ d 1 d 0 1 , x0 = √ c1 − ε ln ε−1 3/2 + 3/2 c0 + c1 c0 c1 with ci = a (Ai )/2, di = a (Ai )/6, i = 0, 1. Thus, the solution has a single interior power layer of first type. Example 3 As an example, we assume a(u) = 2(u + 1)(u − 2)(2u − 1), A0 = −1, A1 = 2, We have b(u) = (u − 2)2 (u + 1)2 . It holds b(A0 ) = b(A1 ), b(u) = (u − 2)2 (u + 1)2 > b(A0 ) = 0 for A0 < u < A1 , b (u) = a(u), b (A0 ) = b (A1 ) = 0, and b (u) = 2(6u2 − 6u − 3), b (A0 ) = 18 = 0, b (a1 ) = 18 = 0, and c0 = a (A0 )/2 = 9, c√ 1 = a (A1 )/2 = 9, d0 = a (A0 )/6 = −6, d1 = a (A1 )/6 = 6, and x0 = 2/2. The constant a appearing in (4) is subject to 0 < m < a 1/n2 . The values of characteristics δk and pk , k = 1, 2, are displayed in Table 3; the numerical solutions and their parts are given in Fig. 3. Interior Mixed Layer Letting in (1): d(x) = 0, f (x, u) = 0, α = 1, a(u) be such that a(A0 ) = 0, a (p)(A1 ) = 0, 0 p < r, a (r)(A1 ) = 0, and the function b(u)
236
V. D. Liseikin et al.
Table 3 Data for power layer of type 1 for various ε δ1 ε = 10−3 1.95 × 10−2 1.00 × 10−2 5.06 × 10−3 2.65 × 10−3
p1
δ2 ε = 10−3 0.96 1.03 × 10−3 0.98 2.65 × 10−4 0.98 6.72 × 10−5 – 1.70 × 10−5
p2
δ1 ε = 10−4 1.97 2.16 × 10−2 1.98 1.10 × 10−2 1.98 5.60 × 10−3 – 2.81 × 10−3
p1
N 160 320 640 1280
δ2 ε = 10−4 0.96 1.09 × 10−3 0.98 2.75 × 10−4 0.99 6.97 × 10−5 – 1.79 × 10−5
N 160 320 640 1280
ε = 10−5 2.28 × 10−2 1.11 × 10−2 5.94 × 10−3 2.98 × 10−3
ε = 10−5 0.96 1.20 × 10−3 0.98 3.01 × 10−4 0.99 7.70 × 10−5 – 1.94 × 10−5
ε = 10−6 2.00 2.36 × 10−2 1.97 1.21 × 10−2 1.98 6.14 × 10−3 – 3.09 × 10−3
ε = 10−6 0.96 1.28 × 10−2 0.98 3.19 × 10−4 0.99 7.99 × 10−5 – 2.00 × 10−5
p2 1.98 1.98 1.96 – 5.33 2.00 2.00 –
Fig. 3 Interior power layer of kind 1. Numerical solutions (left), fragments (right)
satisfies the conditions b(A0 ) = b(A1) and b(u) > b(A0), if A0 < u < A1 , then, in accordance with [4], the following estimates hold 1 + ε−j exp[a0 (x − x0 )/ε] , (j ) u (x, ε) M 1 + ε1/r (ε + x − x0 )−j −1/r ,
j n,
0 x x0 ,
j n,
x0 x 1 , (10)
where a0 = a(A0 ), x0 = ε(r +1)/(a0r) ln ε−1 . Hence, the solution to the problem (1) has a mixed interior layer of scale 1 and the central point x0 of the layer tends to 0, when ε → 0, Example 4 As an example, we consider a(u) = 3u2 − 6u + 2, A0 = 0, A1 = 1. We have b(0) = b(1) = 0, b(u) > b(0), 0 < u < 1, and a(0) = 2 = 0, a (u) = −6 + 6u,a (1) = 0, a (1) = 6 = 0, and r = 2, x0 = ε(r + 1) ln ε−1 /(a(0)r) = 3ε ln ε−1 /4. The constant a appearing in (4) has an arbitrary value a m > 0; the selected value is a = 1/4. The values of δk and pk , k = 1, 2, are displayed in Table 4; the graphics are given in Fig. 4.
On a Comprehensive Grid for Solving Problems Having Exponential or Power-. . .
237
Table 4 Data for mixed interior layer for various ε δ1 ε = 10−3 1.20 × 10−2 6.58 × 10−3 3.36 × 10−3 1.70 × 10−3
p1
δ2 ε = 10−3 0.87 5.28 × 10−3 0.97 1.34 × 10−3 0.98 3.41 × 10−4 – 8.60 × 10−5
p2
δ1 ε = 10−4 1.97 2.09 × 10−2 1.98 1.11 × 10−2 1.99 5.71 × 10−3 – 2.90 × 10−3
p1
N 160 320 640 1280
δ2 ε = 10−4 0.91 4.24 × 10−3 0.96 1.04 × 10−3 0.97 2.63 × 10−4 – 6.58 × 10−5
N 160 320 640 1280
ε = 10−5 3.05 × 10−2 1.65 × 10−2 8.52 × 10−3 4.32 × 10−3
ε = 10−5 0.89 9.76 × 10−3 0.95 2.38 × 10−3 0.98 6.04 × 10−4 – 1.52 × 10−4
ε = 10−6 2.03 4.13 × 10−2 1.98 2.36 × 10−2 1.99 1.24 × 10−2 – 6.34 × 10−3
ε = 10−6 0.81 8.98 × 10−2 0.93 5.17 × 10−3 0.97 1.29 × 10−3 – 3.25 × 10−5
p2 2.02 1.99 2.00 – 4.11 1.99 2.00 –
Fig. 4 Interior mixed layer. Numerical solutions (left), fragments (right)
3.3 Numerical Experiments with a Two-Dimensional Problem of a Viscous-Gas Flow over a Flat Plate This subsection presents results of numerical experiments with a viscous heatconducting gas flow over a flat plate at a zero angle of attack, modelled by two-dimensional Navier–Stokes equations: ∂G M∞ ∂F v ∂Gv ∂Q ∂F + + = + . ∂t ∂x ∂y Re∞ ∂x ∂y
(11)
Here, Q is a vector of conservative variables, F, G vectors of inviscid flows, F v , Gv vectors of viscous flows, and Re, M Reynolds and Mach numbers calculated from the parameters of the incoming flow. The system of equations (11) is closed by the ideal gas law: p = ρT /γ . On the surface of the plate are imposed next boundary and initial conditions: adhesion condition (u| = 0) and adiabatic temperature = 0 . The domain for calculations is a rectangle, the bottom side condition ∂T ∂n of which coincides with the axis y = 0.
238
V. D. Liseikin et al.
The solution to the problem has a boundary layer, the type of which is not known. However, some information can be obtained from problem (1) for d(x) = 0, a(x, u) = a(x), a(0) = 0 analyzed analytically in [4], where it was shown that its solutions have exponential boundary layers when a (0) = 0, or power-of-type-1 boundary layers when a (0) > 0. The equation in (11) with respect to a component u of the velocity vector (u, v) can be considered as (1) for d(x) = 0, a(x, u) = a(x), a(0) = 0, if ε = M/Re, x in (11) is replaced by y, x in (11) is a parameter, and ρv = a(). Thus, the solution to (11) may have an exponential or power-of-type-1 boundary layer. Numerical solutions of (11) are based on the code in Fortran described in [14]. The equations are integrated in time by using the second-order Runge–Kutta scheme. The calculations are carried out until a steady solution is achieved. The step of integration over time is chosen from the Courant–Friedrichs–Lewy condition [14]. The grid nodes in the x direction are uniform, while in the y direction they are defined through the transformation (4) with l = 2, k = 1/2, ξ0 = 0.8, a = 2. For estimating the accuracy of numerical solutions, the Nt+1 t t characteristic δt = maxN − uN i=1 |u3i i | , t = 1, 2, was used. To estimate the order of accuracy of the numerical solution, the characteristic p1 = log3 (δt /δt +1 ) for two consecutive Nt was applied. For estimating the jump of the numerical solution at nearby nodes and the jump order, the corresponding characteristics Nt Nt t t dut = maxN i=1 |ui+1 − ui | , t = 1, 2, 3, and p2 = log3 (dut /dut +1 ), t = 1, 2 were applied. Hypersonic gas flow was investigated for Mach number M = 6. Calculations of problem (11) were conducted for various values of Re = 100,000, 1,000,000. For each of these values, sequences of grids with tripled numbers of grid nodes in the y coordinate are used: Nyt = 3t N0 , t = 0, 1, 2, N0 = 51. The number of grid nodes along the x coordinate is 192. The values of characteristics δt , p1 , dut , p2t are shown in Table 5, the velocity profiles of the numerical solution in Fig. 5. Table 5 Data for power layer of type 1 and scale 1/2, one layer near x = 0, for various Re Nt 51 153 459
δt p1 dut M = 7, Re = 100,000 – – 0.213 0.017 – 0.074 0.003 1.58 0.025
p2t – 0.962 0.988
δt p1 dut M = 6, Re = 1,000,000 – – 0.283 0.064 – 0.099 0.005 2.32 0.034
p2t – 0.956 0.973
On a Comprehensive Grid for Solving Problems Having Exponential or Power-. . . 7
7
6
6
5
5
4
4
3
3 2
2 1
N_y = 51 Re = 100 000 M=6
0 –1 –0.05
239
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
1
N_y = 51 Re = 1000 000 M=6
0 –1 –0.05
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
Fig. 5 Longitudinal velocity profiles and values at the grid points in the cross section x = 0.5
4 Conclusions The paper substantiates theoretically that the coordinate transformation formulated eliminates both exponential and power-of-first-type singularities. The numerical calculations performed in this paper show that, from the computational view, the presented grid explicitly produced by the coordinate transformation, is efficient for solving linear or quasilinear problems with such types of layers using first order and high-order algorithms. The values of the characteristics introduced are within expected bounds and stabilize very quickly when the number of grid nodes increases. Acknowledgment The reported study was funded by RFBR, project No. 20-01-00231.
References 1. Bakhvalov, N.S.: On optimization of the methods of the numerical solution of boundary value problems with boundary layers. USSR Comput. Math. and Math. Phys. 9(4), 842–859 (1969) 2. Berger, A.E., Han, H., Kellog, R.B.: A priori estimates of a numerical method for a turning point problem. Math. Comput. 42 166, 465–492 (1984) 3. Farrell, P.A.: A uniformly convergent difference scheme for turning point problems. In: Miller, J.J.H. (ed.), Boundary and Interior Layers, Computational and Asymptotic Methods, pp. 270– 274. Boole Press, Dublin (1980) 4. Liseikin, V.D.: Layer Resolving Grids and Transformations for Singular Perturbation Problems. VSP, Utrecht (2001) 5. Shishkin, G.I.: A difference scheme for a singularly perturbed equation of parabolic type with a discontinuous initial condition. Soviet. Math. Dokl. 37, 792–796 (1988) (in Russian) 6. Liseikin, V. D., Karasuljic, S.: Numerical analysis of grid-clustering rules for problems with power of the first type boundary layers. Comput. Technol. 25(1), 49–65 (2020) 7. Liseikin, V.D., Yanenko N.N.: On a uniform algorithm for solving of equations of second order with a small parameter affecting the higher derivatives. Chisl. Metody. Mech. Sploshn. Sredy 12(2), 45–56 (1981) (in Russian) 8. Liseikin, V.D.: On the numerical solution of an equation with a power boundary layer on a nonuniform grid. Chisl. Metody Mech. Sploshn. Sredy 15(2), 90–97 (1984) (in Russian)
240
V. D. Liseikin et al.
9. Vulanovic, R.: Mesh construction for numerical solution of a type of singular perturbation problems. Numer. Meth. Approx. Theory, Conference Paper, Lis, September 26–28, 137–142 (1984) 10. Liseikin, V.D.: Grid Generation for Problems with Boundary and Interior Layers. NSU, Novosibirsk (2018) 11. Liseikin, V.D., Paasonen, V.I.: Compact difference schemes and layer-resolving grids for numerical modeling of problems with boundary and interior Layers. Numer. Anal. Appl. 12(1), 1–17 (2019) 12. Polubarinova–Kochina, P. Ya: Theory of Ground Water Movement. Princeton University Press, Princeton, NJ (1962) (translated from Russian) 13. Zamaraev, K.I., Khairutdinov, R.F., Zhdanov, V.P.: Electron Tunneling in Chemistry. Chemical Reactions at Large Distances. Elsevier, Amsterdam (1989) (translated from Russian) 14. Kudryavtsev, A. N., Mironov, S. G., Poplavskaya, T.V., Tsyryul’nikov I.S.: Experimental investigation and direct numerical simulation of the development of disturbances in a viscous shock layer on a flat plate. J. Appl. Mech. Tech. Phys. 47, 617–627 (2006) (translated from Russian)
Preserved Structure Constants for Red Refinements of Product Elements Sergey Korotov and Jon Eivind Vatne
Abstract In this paper we discuss some strategy for red refinements of product elements and show that there are certain structure characteristics (d-sines of angles formed by certain edges in the initial partition) which remain constant during refinement processes. Such a property immediately implies the validity of the so-called maximum angle condition, which is a strongly desired property in interpolation theory and finite element analysis. Our construction also gives a clear refinement scheme preserving shape regularity.
1 Introduction and Basic Definitions Red refinement is one of the most popular meshing techniques used in various branches of numerical mathematics. However, it is usually applied to simplicial partitions only, see, e.g., [1, 14, 15, 17, 18], and various aspects of regularity of the generated meshes are then analysed. In practice, depending on the shape of the domain over which we construct the meshes, one may prefer to construct some initial mesh consisting of so-called product elements, and only after that refine it into simplices. The simplest illustration in this direction would be the case of cylindric-type domains first naturally split into right prisms and then (conformally) into tetrahedra, see, e.g., [13]. In this work, we consider a more general case of product elements of any dimensions and red refinement techniques used independently for each factor of the product. Some regularity properties of resulting simplicial meshes are discussed.
S. Korotov Department of Computer Science, Electrical Engineering and Mathematical Sciences, Western Norway University of Applied Sciences, Bergen, Norway e-mail: [email protected] J. E. Vatne () Department of Economics, BI Norwegian Business School, Bergen, Norway e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_15
241
242
S. Korotov and J. E. Vatne
Products of simplices, and their triangulations, have been studied in many contexts, in particular for two factors. See, e.g., [2, 4, 6, 7, 9]. In 1978, F. Eriksson proposed the following concept of the d-dimensional sine of angles in Rd . In terms of the simplex S, for any of its vertices Ai , i = 0, . . . , d, the d-dimensional sine of the angle of S at Ai , denoted by Aˆ i , is defined as follows (see (3) in [5, p. 72]): sind (Aˆ i |A0 A1 . . . Ad ) =
d d−1 (vol S)d−1 , (d − 1)! dj=0,j =i vol Fj
(1)
where vol denotes the measure of (simplex or its facets) of relevant dimension. We will apply sind to a set of d vectors, which then will mean that we choose Ai at the common point of origin of the vectors and the remaining vertices A0 , . . . , Ai−1 , Ai+1 , . . . , Ad as the corresponding endpoints. Write vol(a set of vectors) for the hypervolume of the generalized parallelotope spanned by the vectors. We then have the convenient formula sind (vi , . . . , vd ) = d
vol(v1 , . . . , vd )d−1
i=1 vol(v1 , . . . , vi−1 , vi+1 , . . . , vd )
.
See also [12]. Definition 1 ([10]) A family F = {Th }h→0 of partitions of some polytope into simplices is said to satisfy the maximum angle condition if there exists C0 > 0 such that for any Th ∈ F and any S = conv{A0 , . . . , Ad } ∈ Th we can always find d edges of S, which when considered as vectors, constitute a (higher-dimensional) angle whose d-sine is bounded from below by the constant C0 . Here, we let h denote the maximal diameter of the simplices in a partition. Simplicial partitions satisfying the maximum angle condition are highly desired in numerical analysis for various interpolation and finite element convergence proofs, see, e.g., [10, 17]. There is another (equivalent) definition of the maximum angle condition in [12]. However, we prefer the one from Definition 1 in this paper, since it is more suitable for our geometric considerations in what follows. The maximum angle condition is weaker than the shape regularity property (also known as the minimum angle condition in two dimensions) described, e.g., in [3]. Even though our constructions are suited to the maximum angle property, the shape regularity property can also be preserved if desired, as explained below in Theorem 3(b) and Remark 2. The refinement scheme presented in Theorem 3(c) will in general violate the shape regularity property.
Preserved Structure Constants for Red Refinements of Product Elements
243
2 Red Refinement Strategy and Its Properties Recall a standard triangulation of the hypercube (see, e.g., Freudenthal [8]). Theorem 1 Consider the unit hypercube in Rd with 2d vertices (0, 0, . . . , 0) to (1, 1, . . . , 1) (all possible combinations of 0 and 1). For any path from (0, 0, . . . , 0) to (1, 1, . . . , 1) consisting of the standard unit vectors ei , i = 1, . . . , d, in some order, there is a corresponding d-simplex (known as a path simplex) given as the convex hull of the vertices of the hypercube along the path. a) By varying the path over all possible orderings of the vectors ei , this gives a triangulation of the hypercube consisting of d! simplices, each sharing the common edge from (0, 0, . . . , 0) to (1, 1, . . . , 1). b) We can subdivide the unit cube into 2d smaller cubes, with coordinates given by 0, 1/2 or 1, and apply the same construction to each of them. The resulting triangulation from Theorem 1 (b) refines the original triangulation, thus defining a red refinement scheme for the hypercube by iteration. By making consistent choices of diagonals, we automatically get conformity when we start refining a single simplex as above. By embedding a simplex into the hypercube we can produce a conforming red refinement scheme by intersecting with the subdivision of the hypercube as presented in Theorem 1, see Fig. 1.
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
⊂ ◦
◦
◦
◦
◦
◦
⊂
Fig. 1 By embedding a simplex in a hypercube, we construct a red refinement of the simplex by restriction of the red refinement of the hypercube
244
S. Korotov and J. E. Vatne
More formally, given any d-dimensional simplex S, we can choose a path (or an ordering of the vertices) A0 A1 . . . Ad . There is then a unique affine transformation T that maps A0 to (0, 0, . . . , 0), and Ai to (1, 1, . . . , 1, 0, 0, . . . , 0) (1 in the first i positions), i = 1, . . . , d. Then T (S) is one of the simplices in the triangulation of the hypercube described in the theorem, corresponding to the path e1 , e2 , . . . , ed , which we will use as a reference simplex. To describe the set by inequalities, it is the set 1 ≥ x1 ≥ x2 ≥ · · · ≥ xd ≥ 0. Since we will usually only consider these inequalities in the unit hypercube, we will suppress 1 and 0 at the ends of the string of inequalities. Using the refinement from Theorems 1 (b), and then translating back with T −1 , gives a red refinement of S. Theorem 2 Consider a simplex S and its red refinement as defined above. Then a) each sub-simplex resulting from the red refinement step has a path consisting of the vectors { 12 fi } in some order, where {fi } are the vectors along the chosen path in S, b) repeated red refinements using the paths parallel to the chosen path in S will produce only finitely many similarity types of simplices (up to scaling and rigid transformations), c) each sub-simplex produced by a repeated red refinement has a path such that sind applied to the vectors along the path is equal to sind (f1 , . . . , fd ). Proof Part (a) immediately follows from Theorem 1 and standard properties of affine transformations. Part (b) follows since each simplex produced is congruent to a simplex whose vertices are connected by a path consisting of { 12 fi } in some order. Part (c) follows since sind remains unchanged if one of the vectors is multiplied by a non-zero constant, and also after permutation of the inputs (see [5, 12]). Remark 1 The statements (a) and (b) in the above theorem are well known (see, e.g., [1]), and are included only for completeness. Statement (c) of Theorem 2 has been considered for tetrahedra in [15].
3 Main Results In what follows we will need a result about the higher-dimensional sines when the arguments are orthogonal to each other. Lemma 1 Suppose that {v1 , . . . , vd1 } and {u1 , . . . , ud2 } are two sets of vectors that are orthogonal to each other. Then sind1 +d2 (v1 , . . . , vd1 , u1 , . . . , ud2 ) = sind1 (v1 , . . . , vd1 ) sind2 (u1 , . . . , ud2 ). In case d1 and/or d2 is equal to one, we use the natural convention sin1 (u1 ) = 1 (sine of a single nonzero vector is one).
Preserved Structure Constants for Red Refinements of Product Elements
245
Proof We assume that each of the n = d1 + d2 vectors is a unit vector. Then sinn (v1 , . . . , vd1 , u1 , . . . , ud2 ) = d
vol(v1 , . . . , vd1 , u1 , . . . , ud2 )n−1 1
i=1 vol(v1 , . . . , vi−1 , vi+1 , . . . , vd1 , u1 , . . . , ud2 )
1
× d 2
.
i=1 (v1 , . . . , vd1 , u1 , . . . , ui−1 , ui+1 , . . . , ud2 )
By orthogonality of the two sets of vectors, each hypervolume factors as a product of two lower-dimensional hypervolumes and we get: sinn (v1 , . . . , vd1 , u1 , . . . , ud2 ) = d
vol(v1 , . . . , vd1 , u1 , . . . , ud2 )n−1 1
i=1 vol(v1 , . . . , vi−1 , vi+1 , . . . , vd1 , u1 , . . . , ud2 )
1
× d 2
i=1 (v1 , . . . , vd1 , u1 , . . . , ui−1 , ui+1 , . . . , ud2 )
= d
vol(v1 , . . . , vd1 )n−1 vol(u1 , . . . , ud2 )n−1 1
i=1 vol(v1 , . . . , vi−1 , vi+1 , . . . , vd1 ) vol(u1 , . . . , ud2 )
× d 2
d1
vol(v1 , . . . , vd1 )d2
1
i=1 (u1 , . . . , ui−1 , ui+1 , . . . , ud2 )
= d
vol(v1 , . . . , vd1 )d1 −1 1
i=1 vol(v1 , . . . , vi−1 , vi+1 , . . . , vd1 )
d2
vol(u1 , . . . , ud2 )d2 −1
i=1 (u1 , . . . , ui−1 , ui+1 , . . . , ud2 )
= sind1 (v1 , . . . , vd1 ) sind2 (u1 , . . . , ud2 ). Let S1 , . . . , Sk be simplices of dimensions d1 , . . . , dk , respectively and n = ki=1 di . Now we can independently choose a path (or equivalently a vertex ordering) in each Si , and embed it in the unit di -cube by an affine transformation Ti as discussed before Theorem 2. By this choice, Ti (Si ) is the reference di -simplex. The product polytope = Si of the simplices is embedded into Rn by the product map T of the maps Ti : T: =
k i=1
Si →
k i=1
Ti (Si ) ⊂
k i=1
Rd i = Rn .
246
S. Korotov and J. E. Vatne
Theorem 3 Consider the product of simplices = Then:
Si as defined above.
a) The product can be triangulated by simplices, each of which contains a path with the property that sinn of the path vectors is the product of the sindi of the chosen paths of the factors. b) There is a red refinement scheme so that all simplices occuring by repeated refinement has a path with sinn equal to the sinn in part (a), and that only contains a finite number of similarity types of product elements. c) There are also red refinement schemes where the factors are refined at different rates, so that each simplex occuring by repeated refinement has a path with sinn equal to the sinn in part (a). In this case, the family may contain an infinite number of similarity types of product elements. Proof We apply the affine transformation T defined above, solve the problem in the unit n-cube, and transform using T −1 to get back to the original polytope . Look at the coordinates of T ( ). For each factor, Ti (Si ) =
(i) (i) (i) (i) (i) x1 , . . . , xdi | x1 ≥ x2 ≥ · · · ≥ xdi ∩ [0, 1]di ⊂ Rdi .
The product T ( ) = Ti (Si ) can then be described as a product of these sets with the given coordinates. More precisely, if we use (1)
(1)
(2)
(2)
(k)
(k)
x1 , . . . , xd1 , x1 , . . . , xd2 , . . . , x1 , . . . , xdk
as coordinates for Rn , we can use the k sets of the same inequalities to describe T ( ). We then consider the triangulation of the hypercube in Rn from Theorem 1. A triangulation of T ( ) then uses only those simplices in the triangulation of the hypercube that always satisfy these inequalities. The index set of these simplices can be given by shuffles, i.e., permutations of {1, 2, . . . , n} that preserve the order of {1, . . . , d1 }, {d1 + 1, . . . , d1 + d2 }, . . . , {d1 + · · · + dk + 1, d1 + d2 + · · · + dk } separately. The results in parts (a) and (b) now follow immediately as in Theorem 2, using only that if a given set of n vectors splits as a union of sets of cardinality d1 , d2 , . . . , dk such that all the subsets are orthogonal to each other, the corresponding sinn is the product of the corresponding sindi (by Lemma 1 and an obvious induction). For part (c), introduce the notation fj(i) for the preimage under T of the standard are the vectors along the basis vectors ej(i) on Rn , so that, e.g., f1(1) , f2(1) , . . . , fd(1) 1 chosen path of S1 . We can now perform the refinement on a single factor, keeping the remaining factors unchanged. Without loss of generality, we can assume that we only refine the first factor S1 . Then any simplex in the refined triangulation has a path with vectors 12 f1(1) , 12 f2(1) , . . . , 12 fd(1) in some order, and keeping the 1 (k)
vectors fj
for all j and for k ≥ 2. Since sinn is unchanged when arguments are
Preserved Structure Constants for Red Refinements of Product Elements Fig. 2 The prism is split into three tetrahedra, each with a path containing the same three edge vectors in some order. This path is marked in bold for the middle tetrahedron
247 21
01 11
20
00
10
scaled, this does not change its value. We can then refine another factor, and keep doing this in any order, with any number of repetitions of factors. This process can in general produce infinitely many shapes of the product elements and of their simplicial subdivisions. Example 1 We illustrate the main theorem by the simplest nontrivial example, namely a triangular prism, i.e., a cartesian product of a triangle and an interval. It can be split into three tetrahedra in various ways. Let the chosen path in the triangle be R00 , R10 , R20 (see Fig. 2). Each of the three tetrahedra in the figure contains a path with one edge for each of the two edges in the chosen path and a third vertical edge. When we apply sin3 to these three edges, we get the same value as sin2 of the two edges in the triangle, which is the same as the ordinary sine of the angle at R10 . This value of sin3 will be preserved by the red refinement scheme described in part (c) of Theorem 3, i.e., when subdividing the height and the triangular base at independent rates. Remark 2 The maximum angle condition from Definition 1 will be satisfied for all refinements of a product of simplices produced by Theorem 3. Since we have used the formulation with sinn this is obvious. As the restricted process in part (b) of the theorem only produces a finite number of similarity types, that process will even preserve the standard regularity property, see [3]. In the general process in part (c), the factors can be subdivided at different rates, and therefore the regularity condition can be violated. We refer to [11] for more information about the case of prisms in this context. Remark 3 We are currently working on extending the ideas from [13] to guarantee overall conformity of a mesh of product elements, not only for a single product element as considered in the present paper. Since this is more interesting in practice, we aim at numerical experiments in that setting rather than in the present case.
248
S. Korotov and J. E. Vatne
References 1. Bey, J.: Simplicial grid refinement: on Freudenthal’s algorithm and the optimal number of congruence classes. Numer. Math. 85, 1–29 (2000) 2. Billera, L.J., Cushman, R., Sanders, J.A.: The Stanley decomposition of the harmonic oscillator. Nederl. Akad. Wetensch. Indag. Math. 50(4), 375–393 (1988) 3. Ciarlet, P.G.: The Finite Element Method for Elliptic Problems. North-Holland, Amsterdam (1978) 4. Eilenberg, S., Steenrod, S.: Foundations of Algebraic Topology. Princeton University Press, Princeton, NJ (1952) 5. Eriksson, F.: The law of sines for tetrahedra and n-simplices. Geom. Dedicata 7, 71–80 (1978) 6. Fomenko, A., Fuchs, D.: Homotopical Topology, 2nd edn. Graduate Texts in Mathematics, vol.‘273. Springer, Cham (2016) 7. Freudenthal, H.: Eine Simplizialzerlegung des Cartesischen Produktes zweier Simplexe. Fund. Math. 29, 138–144 (1937) 8. Freudenthal, H.: Simplizialzerlegungen von beschränkter Flachheit. Ann. Math. 43, 580–582 (1942) 9. Galashin, P., Nenashev, Postnikov, A.: Trianguloids and triangulations of root polytopes. Preprint. Available as https://arxiv.org/abs/1803.06239 10. Hannukainen, A., Korotov, S., Kˇrížek, M.: Generalizations of the Synge-type condition in the finite element method. Appl. Math. 62, 1–13 (2017) 11. Khademi, A., Korotov, S., Vatne, J.E.: On interpolation error on degenerating prismatic elements. Appl. Math 63, 237–257 (2018) 12. Khademi, A., Korotov, S., Vatne, J.E.: On the generalization of the Synge-Kˇrížek maximum angle condition for d-simplices. J. Comput. Appl. Math. 358, 29–33 (2019) 13. Korotov, S., Kˇrížek, M.: On conforming tetrahedralizations of prismatic partitions. In: Pinelas, S., et al. (eds.) Differential and Difference Equations with Applications. Springer Proceedings in Mathematics & Statistics, vol. 47, pp. 63–68. Springer Science+Business Media, New York (2013) 14. Korotov, S., Kˇrížek, M.: Red refinements of simplices into congruent subsimplices. Comput. Math. Appl. 67, 2199–2204 (2014) 15. Korotov, S., Vatne, J.E.: On regularity of tetrahedral meshes produced by some redtype refinements. In: Pinelas, S., et al. (eds.) Differential and Difference Equations with Applications. ICDDEA 2019. Springer Proceedings in Mathematics & Statistics, vol. 333. Springer, Cham. https://doi.org/10.1007/978-3-030-56323-3_49 16. Kˇrížek, M.: An equilibrium finite element method in three-dimensional elasticity. Apl. Mat. 27, 46–75 (1982) 17. Kˇrížek, M.: On the maximum angle condition for linear tetrahedral elements. SIAM J. Numer. Anal. 29, 513–520 (1992) 18. Zhang, S.: Successive subdivisions of tetrahedra and multigrid methods on tetrahedral meshes. Houston J. Math. 21, 541–556 (1995)
Part III
Meshing and CAD
Global Parametrization Based on Ginzburg-Landau Functional Victor Blanchi, Étienne Corman, Nicolas Ray, and Dmitry Sokolov
Abstract Quad meshing is a fundamental preprocessing task for many applications (subdivision surfaces, boundary layer simulation). State-of-the-art quad mesh generators proceed in three steps: first a guiding cross field is computed, then a parametrization representing the quads is generated, and finally a mesh is extracted from the parameterization. In this paper we show that in the case of a periodic global parameterization two first steps answer to the same equation and inherently face the same challenges. This new insight allows us to use recent cross field generation algorithms based on Ginzburg-Landau equations to accurately solve the parametrization step. We provide practical evidence that this formulation enables us to overcome common shortcomings in parametrization computation (inaccuracy away from the boundary, singular dipole placement).
1 Introduction and Related Work Meshing is so central in geometric modeling because it provides a way to represent functions on the objects studied (texture coordinates, temperature, pressure, speed, etc.). There are numerous ways to represent functions, but if we suppose that the functions are piecewise smooth, the most versatile way is to discretize the domain of interest. Ways to discretize a domain range from point clouds to block-structured meshes; while the first are really easy to produce, the latter are extremely challenging due to the inherent structure that is very difficult to discover automatically.
V. Blanchi École Normale Supérieure, Paris, France e-mail: [email protected] É. Corman · N. Ray · D. Sokolov () Université de Lorraine, CNRS, Inria, LORIA, Nancy, France e-mail: [email protected]; [email protected]; [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_16
251
252
V. Blanchi et al.
In this paper we are interested in the problem of quad mesh generation; although over the past years mesh generation have seen great advances and is now used in production, many challenges remained to be solved for a more practical and efficient use. Common approaches to quad meshing like paving [3] or Q-morph [9] rely on advancing-front algorithms starting from a constraint, e.g., the boundary, and expanding it to fill the interior. When these advancing fronts meet, they have to be merged; merging two fronts of quads is a challenging task in itself prone to create many local singular vertices. Moreover, due to the propagation process, the mesh topology is fixed near the boundary in the early stage of the algorithm and it is often very difficult to go back on these early choices even if they create terrible quad configuration in the interior of the mesh. All these approaches are based on local decisions that do not consider the global structure of quad/hex meshes, and this is the key reason why quad/hex meshing is so hard. The atomic operation in a triangle/tetrahedral mesh is a simple addition of points; whereas in a quad/hexahedral mesh, it would be the addition quad strips/layers of hexahedra. While front propagation methods are usually fast and robust (for the 2D case), their output is often not as structured as we would like it to be. Kälberer et al. [5] proposed another type of approach, giving extremely nice looking meshes; unfortunately, it is not guaranteed to be able to mesh all possible domains. The main motivation comes from the observation that good quality quad meshes look like a deformed grid almost everywhere. The idea is to define a deformation of the object such that if the final quad mesh (the result) undergoes this deformation, it matches a unit, axis aligned grid. The direct application of this idea computes this deformation, applies its inverse to the unit grid, and obtains a quad mesh. In practice, it is better to introduce more degrees of freedom by considering a global parameterization instead of a deformation. In this case, parameterizations have some discontinuities that make it possible to represent a much larger family of quad meshes: the deformed grid can be cut and glued to itself in a non-trivial way. All global parameterization approaches are decomposed into three steps (refer to Fig. 1): 1. Frame field generation: this step defines the orientation of the grid at each point of the domain. 2. Field integration: this step computes the position and the size of the grid cells aligned with the input orientation field. 3. Final mesh extraction: at this step we map the grid onto the original object, thus creating the final quad/hex mesh. In this paper we focus on the second step, namely the parameterization. Since our approach (periodic global parameterization [12]) is strongly tied to the frame field generation problem, let us review it first.
Global Parametrization Based on Ginzburg-Landau Functional
253
Frame Field Generation A frame is a set of 4 unit vectors {zk }3k=0 ⊂ C which is invariant by a π/2 rotation. Note that due to its symmetry, a frame can be represented by a single unit vector z such that {zk }3k=0 =
√ 4 z 1, eiπ/2 , −1, e−iπ/2 .
Following this definition, we represent frame fields by complex valued fields. We note as )(z) and *(z) the real and imaginary parts, respectively. Frame field generation is a simple problem to state: we are looking for the smoothest unit field under boundary constraints. Here, smoothest is equivalent to minimizing the Dirichlet energy while the boundary conditions prescribe one of the 4 frame vectors to be aligned with the normal. More formally, we are looking to minimize the following energy: |∇z|2
arg min |z|=1
subject to boundary constraints.
(1)
The main challenge is dealing with the unit norm constraint; the very first methods that introduced frame field design for orienting strokes in nonphotorealistic rendering [4], represented frame fields by an angle Arg z per vertex, so the unit norm was naturally respected. The optimization was performed by a non-linear solver (BFGS). There is a catch though: Dirichlet energy of a unit frame field is not a reliable measure of quality. While its evaluation on a mesh is finite, in the continuous case the integral diverges, leading to numerically challenging computations. Due to this problem this kind of approaches struggled from bad singularity placement. Later methods [10, 12, 13] choose to optimize for vector fields directly without the unit norm constraint; the field is normalized in post-processing. This kind of approaches improved greatly the quality of results (and the running times, since only a linear system needs to be solved), but still the geometry of the fields suffered from the unit norm constraint being relaxed. The energy at singular points is well-defined but away from the boundary constraint the frame field is close to zero, making the computation unreliable. Later on, Knöppel et al. [6] proposed to constrain overall norm of the field to be unit (as opposed to the real per-point unit constraint) by solving an eigenvector problem. Fixing the norm of the entire solution instead of the norm of each vector allows to find optimal frame field on closed surfaces, but in presence of boundary constraint the fields are still suboptimal. The latest advances in frame fields [1] proposed to use the Ginzburg-Landau functional to enforce the unity constraint while keeping a well-defined energy. The idea is to redefine the problem (1) as follows: arg min
arbitrary |z|
|∇z|2 + Pε (z)
subject to boundary constraints.
(2)
254
V. Blanchi et al.
Here P (z) is a penalty term that enforces the field to have a point-wise unit norm. Beaufort et al. [1] propose to choose Pε (z) = 4ε12 (|z|2 − 1)2 ; this problem is welldefined, and can be solved by Newton iterations. As ε tends to zero, the field converges to a unit-norm field, while minimizing the field variation. Viertel et al. [17] suggested another optimization scheme for (2) based on heat diffusion. Both methods yield similar results in term frame field quality. It is to be noted that, while these approaches improve the geometry of frame fields in some cases, the problem is still non convex, and does not provide guarantees of optimality. Parametrization The parameterization step consists in integrating the frame field, while imposing integer constraints at the boundary and singular points. More precisely, one needs to find two scalar functions [5] whose gradients are as close as possible to the input frame field under the integer constraints. When succeeding, these approaches provide impressive results. There are, however, many limitations. The frame field may not be integrable in the sense that is does not locally correspond to the gradient of a scalar function. This problem can be mitigated by asking the frame field to be curl-free [12, 15, 16]. However this does not prevent a major problem: some frame fields are not consistent with any quadrangulation. Top left image of Fig. 1 provides an example: the radial frame field (without any singularities!) cannot be integrated directly; the only way to compute a parameterization is to insert a dipole (index 1/4 and −1/4) in the scalar fields. Getting a bijective parametrization for quad-meshing is an open problem. The most advanced methods follow the path of [8] by computing a motorcycle graph which is a partition of the surface into quads with possible T-junctions. This intermediate state, in between the full quad mesh and the triangle mesh, allows the authors to formulate the targeted grid aligned parametrization into a mixedinteger problem whose variables are subdivisions or collapses of the T-mesh. Even though this is currently the most robust method available, each step has
Fig. 1 Quad meshing via global parameterization. Left: a cross field prescribing the orientation of the elements. Middle: a parameterization prescribing the size and the position of the elements to place. Note that it is not a quad mesh, it is a unit grid texture image mapped to the triangle mesh. In this case it is a periodic global parameterization, the red triangle shows a singularity of the parameterization. Right: a quad mesh extracted from the parameterization. The singularity of the parameterization corresponds to a dipole (a pair of vertices of valence 3 and 5, shown in red)
Global Parametrization Based on Ginzburg-Landau Functional
255
its practical shortcoming. For instance, extracting motorcycle graphs from a frame field is a notoriously challenging task as it requires to trace non-intersecting streamlines [8, 11]. The intermediate T-mesh has many T-junctions which must be resolved either by collapsing the edge into a quad or by placing a dipole of singularities. In either case it requires to robustly solve a mixed-integer problem which is often NP-complete. In this landscape algorithms in the wake of Periodic Global Parametrization (PGP) [12, 16] stand aside. The main idea is to consider quad mesh edges as zeros of two oscillators integrating orthogonal branches of the frame. Thus, all integer constraints are built in the algorithm by design and extracting a mesh does not require to compute streamlines. The optimization problem involved in PGP is nearly identical to the one for computing frame field: a modified Dirichlet energy with Dirichlet boundary conditions. Thus, similar challenges regarding unit norm constraints and singularity placement arise. The original paper [12] solves the optimization problem by relaxing the unit norm constraint, leading to a nearly zero solution away from the boundary. Based on the frame field generation experience, we propose an optimization strategy based on the Ginzburg-Landau functional [2]. It correctly specifies the oscillators away from constraints, creates more regular quads and improves the quality of the mesh near singularities. N.B. For the sake of clarity, we focus on integrating singularity-free frame fields. PGP can deal with singular fields through a quad-covering of the surface [12], but we found it unnecessary to show the potential of the Ginzburg-Landau functional in the context of field integration.
2 Periodic Global Parametrization In this paper we mesh a planar domain ⊂ R2 . In order to simplify the presentation, our input frame fields are without singularities: it allows us to extract two continuous orthogonal vector fields from the input frame field; we integrate these vector fields independently one from another. In this section the vector field to be integrated is denoted as V and ∂v denotes the subset where V is orthogonal to the boundary.
2.1 PGP Basics In the standard quad meshing pipeline the edges of the resulting mesh are orthogonal to one of the frame field directions. The goal of the integration step is to compute a global parametrization whose integer level sets respect this constraint. The most
256
V. Blanchi et al.
basic scheme [5], which laid ground for many quad meshing methods, is to optimize for parameters (u, v) such that their gradients are equal to one of the directions of the frame. At the same time integer constraints are imposed in order to conform the boundary of the domain with the boundary of the quad mesh. Another possibility is to look for a periodic function. Indeed, the periodic function z(p) = e2iπθ(p) has clearly identified integer level sets which can be easily aligned with the boundary. A level set of z is orthogonal to the vector field V whenever V is equal to the direction of oscillation ∇θ . Thus taking the gradient of z, the periodic function must satisfy [7, 12]: ∇z = 2iπV z. By specifying the norm of V , we determine the speed of oscillation and thus the size of the quads. As the mesh must conform to the boundary of the domain, we have to enforce the Dirichlet boundary constraint z = 1. Moreover z has pointwise unit norm over the domain. So integrating the vector field V with a global periodic function amounts for solving the following optimization problem: min z∈C
1 2
|∇z − 2iπV z|2
s.t.: z = 1 on ∂v ,
(3)
|z| = 1 on ∂. The optimization problem in (3) is non-convex due to the unit norm constraint. The authors of original paper [12] simply removed this constraint altogether to recover a quadratic optimization similar to a Laplacian smoothing operation. Note that if not for the boundary constraints, the solution of (3) would be equal to zero everywhere. So a common issue with this approach is that far away from the constraint the norm of z is numerically close to zero making the integration unreliable (see Fig. 2 top row). The Ginzburg-Landau functional is a sound way of accurately solving (3).
2.2 Ginzburg-Landau to the Rescue As mentioned earlier, (3) is a non-convex optimization problem because of the unit norm constraint. Recent work on frame field generation used the Ginzburg-Landau functional to deal with such a constraint. In practice this strategy allows for a better placement of singularities [1]. Note that our problem (3) is very similar to the frame
Global Parametrization Based on Ginzburg-Landau Functional
257
Fig. 2 Quad meshing via Periodic Global Parametrization. Left and middle: periodic function z respectively integrating the radial and the tangent direction field. Right: quad mesh extracted from the parameterization. Top row: the integration with PGP causes a drastic norm reduction in the integration of the radial field and the tangent field integration simply outputs an everywhere vanishing field. Bottom row: in comparison, our Ginzburg-Landau based optimization yield a unit norm vector field on both directions and a valid quad mesh is extracted
field generation problem (2); following this idea we propose to use a GinzburgLandau functional for periodic global parametrization: zε = arg min E(z) + Pε (z) = z∈C
1 2
|∇z − 2iπV z|2 +
1 4ε2
2 |z|2 − 1
(4)
s.t.: z = 1 on ∂ . v
Theoretical results [14] demonstrated that as ε goes to zero, the complex function z tends to be a unit complex number everywhere except at isolated singular points. Asymptotically the singular points have integer indexes and are placed in a way that minimizes the overall field curvature. In the rest of the paper we show how to discretize our problem with standard finite elements and solve the optimization problem with a Newton method for decreasing value of ε.
258
V. Blanchi et al.
2.3 Newton Method In order to solve the optimization problem of (4), we use a modified Newton method. More precisely, a local extremum of the energy is reached whenever zε is a stationary point of the energy i.e. ∇E(zε ) + ∇Pε (zε ) = 0. Thus, after explicitly differentiating E and Pε , the oscillator zε must satisfy the non-linear PDE:
∇E(zε ) + ∇Pε (zε ) = 0
on ,
zε = 1
on ∂v ,
(5)
where the gradients are explicitly given by:
∇E(zε ) = − z + 4π 2 |V |2 z + iπ (∇z, V + div (V z)) ∇Pε (z) = ε12 z |z|2 − 1
(6)
For each value of ε, we approximate the solution of (5) with Newton iterations. To realize this scheme, we need an expression of the Hessian matrix as a function of point z. The closed-form expression of the Hessian is easier to read as a matrix , applied to the vector )(z) *(z) containing the real and imaginary part of the complex: ⎧ 2 2 ⎪ ⎪ ⎨HE (z)h = − h + 4π |V | h + iπ (∇h, V + div (V h))! ! )(h) 3)(z)2 + *(z)2 − 1 2*(z))(z) 1 ⎪ ⎪ ⎩HPε (z)h = ε2 *(h) 2*(z))(z) 3*(z)2 + )(z)2 − 1
.
(7)
Newton iterations are well-defined only when the Hessian is positive definite. The first term E(z) of the energy in (4) is convex thus its Hessian is positive. The second term Pε constraining the unit norm is non-convex and its Hessian is negative near 0. In this case it is a common practice to approximate the Hessian with a positive definite matrix by removing all negative terms from the Hessian (7): 1 H˜ Pε (z)h = 2 ε
3)(z)2 2*(z))(z) )(h) 2*(z))(z) 3*(z)2 *(h)
(8)
Therefore, for a fixed ε we compute the sequence of oscillator zεn satisfying: ⎧ ⎨ H zn + H˜ zn hn+1 = −∇E zn − ∇P zn E ε Pε ε ε ε ε ε ⎩zn+1 = zn + hn+1 ε
ε
ε
until convergence to a stationary point.
,
(9)
Global Parametrization Based on Ginzburg-Landau Functional
259
2.4 Discretization We discretize (9) with standard first order finite elements. The oscillator z is a complex per vertex and the vector field V is encoded as a two dimensional vector per vertex. Both are linearly interpolated on each triangle with “hat” functions ϕ (Fig. 3). On the triangle (ij k) the interpolation, denoted with superscript ij k , reads: zij k = zi ϕi + zj ϕj + zk ϕk . The Hessian (8) are square complex matrices of size the number of vertices. They are assembled by accumulated the 6 × 6 elementary matrices computed on an element ij k , given by: ⎧ ij k ⎪ HE ⎪ ⎪ ⎪ ⎪ ⎨
=
'
−∇ϕn , ∇ϕm + 4π 2 |V ij k |2 ϕn ϕm ij k + div V ij k ϕ +iπ n, V n ϕm , ⎛ ∇ϕ ⎞ ' ' ij k )2 ϕ ϕ ij k ))(zij k )ϕ ϕ )(z 2 *(z 3 m n m n ijk ⎠, = ε12 ⎝ ' ijk ' 2 ij k ij k ij k 2 ijk *(z ))(z )ϕm ϕn 3 ijk *(z ) ϕm ϕn
⎪ ⎪ ij k ⎪ ⎪ H ⎪ ⎩ Pε
ijk
for m, n = 1, 2, 3. Similarly, (5) is turned into a vector of complex of the size number of vertex. The elementary vector of size 3 on an element ij k are given by: ⎧ ij k ⎪ ⎪∇E ⎨ ⎪ ⎪ ⎩∇P ij k ε
=
'
−∇zij k , ∇ϕm + 4π 2 |V ij k |2 zij k ϕm +iπ ∇zijk , V ij k + div V ij k zij k ϕm , . 2 ' = ε12 ijk zij k zij k − 1 ϕm , ijk
with m = 1, 2, 3.
1 ϕi
1
k
k j
i
ϕj
1
ϕk k j
j i
Fig. 3 The three local FEM basis functions on the element ij k
i
260
V. Blanchi et al.
3 Results This article focuses on the parametrization step of the quad meshing pipeline, thus the results shown in Fig. 4 show a unit grid texture image applied to the domain, we do not extract actual quad meshes. For the sake of clarity, we presented an algorithm for integrating non-singular frame fields over a flat 2D domain. While it is perfectly possible to compute a periodic global parameterization of a 3D triangulated surface with Ginzburg-Landau functional, as well as to incorporate the frame field singularities in the computation, the notations become cumbersome and we prefer to avoid it. For Fig. 1, the vector fields are obtained by solving (2) as specified in [1]. For the other examples (Figs. 4 and 5), the vector fields are computed as two independent orthogonal unit vector fields U and V . First, we partition the boundary in two complementary sets based on the normal orientation. If the normal is close to the x-axis, the point belongs to ∂u , but if it is closer to the y-axis, it belongs the set ∂v . Second, we find the smoothest non-singular unit vector field U normal to the boundary on ∂u and tangent to the boundary on ∂v by smoothly interpolating the angle of the vector. The vector field V is obtained by 90° rotation of U . The vector fields U, V are then integrated separately by doing the Newton iterations of (9) for decreasing values of ε. The boundary conditions naturally arise from the construction of the vector fields, i.e., U = 1 on ∂u and V = 1 on ∂v . The frame field on Fig. 1 exhibits a limit cycle making it non-integrable. Thus standard integration algorithms often fail to output a valid quad mesh. Our method is able to correctly place a singularity (middle image) which can be turn it a quad mesh (right image). Frame fields used for our results are singularity-free, yet our algorithm is able compute smooth parametrizations with a minimal amount of
Fig. 4 Examples of parametrization obtained with our resolution of periodic global parametrization with Ginzburg-Landau functional. Note that the algorithm tries to limit the number of singularities and optimally places unavoidable dipoles
Global Parametrization Based on Ginzburg-Landau Functional
261
Fig. 5 Comparison between one step of periodic global parametrization (left) and our periodic global parametrization with Ginzburg-Landau functional (right). Note that our algorithm removes unnecessary singularities and produces more regular quads
parameterization singularities as shown in Fig. 4. In Fig. 5, we compare our results with a naive implementation of PGP, simply solving (3) as a quadratic problem by removing the unit norm constraint. It is easy to see that the parameterization obtained with the Ginzburg-Landau functional is more regular and presents less singularities. Moreover, in the some dramatic cases, omitting the unit norm constraint makes PGP unable to output valid parametrization (see Fig. 2)
262
V. Blanchi et al.
4 Conclusion The main goal of this article is to underline the similar nature between frame field generation and periodic global parameterizations. Both problems can be solved by (almost) the same set of equations using the Ginzburg-Landau functional. This article brings a solid theoretical basis that allows to solve accurately the periodic global parameterization problem, making the problem well-posed and leading to an automatic and optimal singularity placement in the parametrization.
References 1. Beaufort, P.A., Lambrechts, J., Henrotte, F., Geuzaine, C., Remacle, J.F.: Computing cross fields a pde approach based on the ginzburg-landau theory. Procedia Eng. 203, 219–231 (2017) 2. Bethuel, F., Brezis, H., Hélein, F., et al.: Ginzburg-landau Vortices, vol. 13. Springer, New York (1994) 3. Blacker, T.D., Stephenson, M.B.: Paving: A new approach to automated quadrilateral mesh generation. Int. J. Numer. Methods Eng. 32(4), 811–847 (1991). https://onlinelibrary.wiley. com/doi/abs/10.1002/nme.1620320410 4. Hertzmann, A., Zorin, D.: Illustrating smooth surfaces. In: Proceedings of SIGGRAPH 2000, pp. 517–526 (2000) 5. Kälberer, F., Nieser, M., Polthier, K.: Quadcover-surface parameterization using branched coverings. In: Computer Graphics Forum, vol. 26.3, pp. 375–384. Wiley Online Library (2007) 6. Knöppel, F., Crane, K., Pinkall, U., Schröder, P.: Globally optimal direction fields. ACM Trans. Graph. 32(4) (2013) 7. Knöppel, F., Crane, K., Pinkall, U., Schröder, P.: Stripe patterns on surfaces. ACM Trans. Graph. 34(4), 1–11 (2015) 8. Myles, A., Pietroni, N., Zorin, D.: Robust field-aligned global parametrization. ACM Trans. Graph. 33(4), 1–14 (2014) 9. Owen, S.J., Staten, M.L., Canann, S.A., Saigal, S.: Q-morph: an indirect approach to advancing front quad meshing. Int. J. Numer. Methods Eng. 44(9), 1317–1340 (1999). http://onlinelibrary.wiley.com/doi/abs/10.1002/%28SICI%291097-0207 %2819990330%2944%3A9%3C1317%3A%3AAID-NME532%3E3.0.CO%3B2-N 10. Palacios, J., Zhang, E.: Rotational symmetry field design on surfaces. ACM Trans. Graph. 26(3) (2007). http://doi.acm.org/10.1145/1276377.1276446 11. Ray, N., Sokolov, D.: Robust polylines tracing for n-symmetry direction field on triangulated surfaces. ACM Trans. Graph. 33(3), 1–11 (2014) 12. Ray, N., Li, W.C., Lévy, B., Sheffer, A., Alliez, P.: Periodic global parameterization. ACM Trans. Graph. 25(4), 1460–1485 (2006) 13. Ray, N., Vallet, B., Alonso, L., Levy, B.: Geometry-aware direction field processing. ACM Trans. Graph. 29(1), 1:1–1:11 (2009). http://doi.acm.org/10.1145/1640443.1640444 14. Rivière, T., Given, M.c., Harpes, P.: Asymptotic analysis for the ginzburg-landau equations (1997) 15. Sageman-Furnas, A.O., Chern, A., Ben-Chen, M., Vaxman, A.: Chebyshev nets from commuting polyvector fields. ACM Trans. Graph. (TOG) 38(6), 1–16 (2019) 16. Sokolov, D., Ray, N., Untereiner, L., Lévy, B.: Hexahedral-dominant meshing. ACM Trans. Graph. 35(5) (2016). https://doi.org/10.1145/2930662 17. Viertel, R., Osting, B.: An approach to quad meshing based on harmonic cross-valued maps and the ginzburg–landau theory. SIAM J. Sci. Comput. 41(1), A452–A479 (2019)
Parametrization of Plane Irregular Regions: A Semi-automatic Approach I Pablo Barrera and Iván Méndez
Abstract In some problems, the solutions of partial differential equations use parametrizations of plane regions. However, it is difficult to get suitable parametrizations of irregular regions. In this paper we introduce a method for finding a parametrization of a polygonal region . Our method decomposes into a finite collection of admissible subregions. We use compatible parametrizations of these subregions to construct the parametrization of as a block structured mesh.
1 Introduction The parametrizations of irregular regions have many applications in Computer Aided Design, Engineering Modeling, and Shape Recognition [15]. The Finite Element Analysis and the Isogeometric Analysis use parametrizations of plane regions to solve partial differential equations [10]. Our UNAMALLA workgroup has generated bilinear and biquadratic B-splines parametrizations of simply connected regions using structured mesh generation [1, 2]. Nevertheless, some cells are elongated or skewed on highly irregular regions. This limitation can be overcome by splitting the region into subregions suitable for parametrization. The problem we address is to decompose polygonal regions into admissible subregions and generate compatible parametrizations of these subregions. We want a method to solve this problem. Researchers in Computer Aided Design have developed some methods for constructing compatible parametrizations of 2D regions. In that regard, Xu G. et al. [18, 19] have constructed high quality parametrizations by solving constrained optimization problems. Even so the overall process is computationally expensive for irregular regions.
P. Barrera · I. Méndez () Faculty of Sciences, National Autonomous University of Mexico, Mexico City, Mexico e-mail: [email protected]; [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_17
263
264
P. Barrera and I. Méndez
On the other hand, admissible subregions and their compatible parametrizations can be efficiently constructed by automatic methods of block structured mesh generation. Zint et al. [21] use triangulations for region decomposition, so the block connectivity depends on the triangulation. Bommes et al. [6] use the singularities of a cross-field to construct a family of parametrizations between coarse quad layouts of surfaces. Nevertheless, as the number of singularities increases, the number of layouts also increases. Recently, Xiao et al. [17] use the singular points of a cross-field to generate high quality structured meshes with smooth lines between the subregions. However, they provide examples in which the geometry is not irregular. On the other hand, Zhang et al. [20] decompose a polygonal region into a main block with multiple subregions organized in a hierarchy structure. Mesh generation is automatically carried out block by block from the main root block to the highest level. This method is not easy to extend to multiply-connected regions. In this paper we propose a method to find both admissible subregions and their compatible parametrizations. Our method consists of two stages: region decomposition and parametrization construction. Motivated by Liu et al.[13], we propose in Sect. 2 an interactive region decomposition method to obtain admissible subregions. In Sect. 3 the parametrization construction is carried out from the boundary to the interior of the subregions. First, the subregion boundaries are approximated by compatible B-splines curves in Sect. 3.1. Then, these curves are extended into the whole region by structured mesh generation in Sect. 3.2. Finally, we summarize the main steps of our method and show some examples to illustrate its robustness in Sect. 4.
2 Region Decomposition Region decomposition is a fundamental step in our method. Let be a a counterclockwise oriented polygonal region. We decompose into non-overlapping admissible polygons. A polygonal region is admissible if it has a parametrization such that its cells are rectangle-like quadrilaterals. The key point of our region decomposition is the concavity. Lien [12] decomposes recursively a polygon into approximate convex polygons. He introduces concavity criteria to decompose polygons. Later, Liu et al. [13] proposed the Dualspace Decomposition (DUDE) to split polygons using their convex complements.
2.1 Concavity Measures and Admissible Regions We use some concepts introduced in Lien [12] and Liu et al. [13] to measure the concavity of . Let H () be the convex hull of . The convex complement of is H () \ . The bridges of are line segments contained in the convex complement of which join two points in ∂. Each bridge β has a pocket ρ, that
Parametrization of Plane Irregular Regions: A Semi-automatic Approach I
265
Fig. 1 Convex complement of the region Gulf and some of its bridges and pockets. The red point has the largest concavity in the corresponding pocket
is, the polygonal curve of ∂ with the smallest length which joins the ending points of β (Fig. 1). We measure the concavity of pocket points and bridges. Let β be a bridge of with pocket ρ. The concavity of a point x of ρ is the distance from x to β. This distance is the straight line distance to β or the arc length of the polygonal curve in ρ which joins x with the nearest ending point of β. The concavity of a bridge is the largest concavity of its pockets points. We measure the concavity of the bridges using the straight line distance to the bridges. The largest concavity of the bridges of is denoted by c1 (). The region is scaled inside a circle of radius one centered at the centroid of so that c1 () be scale independent. In addition to the concavity measures in [12, 13], we introduce the concavity measure c2 () :=
Area(H ()) − Area() . Area(H ())
This is the relative size of region with respect to its convex hull.
(1)
266
P. Barrera and I. Méndez
Regions with small concavity measures are suitable for parametrization, so we want subregions of that satisfy the following concavity criteria: • 1° concavity criterion: The concavity of the bridges of is small. c1 () ≤ τ1 ,
τ1 ∈ (0, 1).
(2)
• 2° concavity criterion: The area difference between the region and its convex hull is small. c2 () ≤ τ2 ,
τ2 ∈ (0, 1).
(3)
Regions which satisfy both concavity criteria are admissible regions. So convex regions are admissible. On the other hand, non-convex regions which do not satisfy the previous criteria are decomposed into admissible subregions. We want an admissible decomposition of , that is, a collection {k }nk=1 of polygonal subregions of such that 1. = ∪nk=1 k . 2. i ∩ j = ∅ -⇒ i ∩ j ⊂ ∂i ∩ ∂j ∀i, j . 3. Each k satisfies both concavity criteria (2)–(3).
2.2 Decomposition Method Our decomposition method is interactive. It uses some ideas of DUDE [13]. The region is recursively split into two subregions 1 and 2 by a cut when does not satisfy the concavity criteria (2)–(3) (Fig. 2). A cut of is a line segment in the interior of which joins two points of ∂. We make a cut in each step of our method. However, not just any cut separates into admissible subregions. We propose an interactive cut choice method based on concavity measures. It consist of the following steps: 1. Compute the convex hull H () 2. Find the pockets of with ending points in the boundary of H (). Select the pockets such that their union with the corresponding bridges have large area. 3. In each pocket compute the concavity of their points using either the straight line distance or the arc length. Select a point x 1 with large concavity in a pocket ρ1 as an ending point of the cut. 4. Select a point x 2 with large concavity in a pocket different from ρ1 such that the segment x 1 x 2 is a cut, else choose x 2 as an intersection point of ∂ with the line P perpendicular to the bridge of ρ1 which passes at x 1 . Otherwise choose x 2 ∈ ∂ \ ρ1 with the smallest straight line distance to x 1 such that the segment x 1 x 2 does not cross previous cuts of (Fig. 3). The segment x 1 x 2 is the chosen cut of .
Parametrization of Plane Irregular Regions: A Semi-automatic Approach I
267
Fig. 2 The decomposition process of the region Gulf. The cuts are colored in each step and the subregions are labeled by 1–2 tuples to indicate a binary tree structure
(a)
(b)
Fig. 3 Choices for a cut x1 x2 in our region decomposition method. (a) Pocket points x 1 and x 2 with large concavity in different pockets. (b) A pocket point x 1 with large concavity and the intersection x 2 of ∂ and the line P
268
P. Barrera and I. Méndez
Our region decomposition method is shown in Algorithm 1. We interactively choose suitable cuts in each step. These cuts does not necessarily connect two pockets. On the other hand, the DUDE method joins points with large concavity measure and automatically selects the cuts using a triangulation. Algorithm 1 Region decomposition method procedure DECOMPOSITION () if satisfies both concavity criteria (2)–(3) then return else x 1 x 2 ← Cut Choice Method() split into 1 and 2 using the cut x 1 x 2 Decomposition(1 ) Decomposition(2 ) end if end procedure
3 Parametrization Construction Our next task is to find compatible parametrizations of admissible subregions. Any two parametrizations of different subregions are compatible if they have the same points on the intersection. First, we generate compatible parametrizations of the boundaries. Then, we extend these parametrizations into the interior of the subregions.
3.1 Compatible Parametrizations of the Boundaries Let {k }nk=1 be an admissible decomposition of . We want to parametrize ∂k on the boundary of R = [0, 1] × [0, 1]. To that end, we split ∂k into four consecutive polygonal curves k,bottom, k,right, k,top and k,left delimited by four points of ∂k . The polygonal curves k,bottom and k,top are opposite boundaries of k . The same applies for k,right and k,left. Since the subregions k are admissible, we can manually choose four points of ∂k such that their interior angles are less than 180° and the opposite boundaries have approximately the same length. Zhang et al. [20] propose another choice for the four points. We identify the decomposition cuts of in the four boundary curves of each suregion, then we split each one of polygonal curves k,bottom, k,right, k,top and k,left into consecutive polygonal sections which are either cuts of or maximal polygonal curves contained in ∂. We enumerate these polygonal sections starting with k,bottom, then the sections in k,right and k,top, and finally those in k,left for k = 1, . . . , n. These sections form a polygonal decomposition {Qp }sp=1 of ∪nk=1 ∂k (Fig. 4).
Parametrization of Plane Irregular Regions: A Semi-automatic Approach I
269
Fig. 4 The region is split into 1 , 2 and 3 . We split ∂1 ∪ ∂2 ∪ ∂3 into 17 polygonal sections Qp . The sections Q2 , Q7 , Q11 and Q17 are cuts of while the other sections are contained in ∂. The boundary curve 2,right is split into three sections while 3,left is split into two sections
Fig. 5 The sections of the boundaries in Fig. 4 are reparametrized as polygonal curves p and the four boundary curves of each subregion are reparametrized as k,b , k,r , k,t and k,l
Each polygonal section Qp is reparametrized with respect to arc-length as a polygonal curve p with equidistant points. We join the sections p to obtain reparametrizations of k,bottom, k,right, k,top and k,left denoted by k,b , k,r , k,t and k,l , respectively (Fig. 5). Afterwards, we generate four uniform linear B-spline curves: ψk,bottom : [0, 1] → k,b , ψk,right : [0, 1] → k,r , ψk,top : [0, 1] → k,t , ψk,left : [0, 1] → k,l .
270
P. Barrera and I. Méndez
The control points of these B-spline curves are given by their polygonal curves. We combine these curves to get parametrizations ψk : ∂R → ∂k . We want to extend ψk to the interior of k as explained by the UNAMALLA workgroup [1]. To that end, ψk,bottom and ψk,top must have the same number of points and the same condition on ψk,right and ψk,left , that is, number of points of k,b = number of points of k,t ,
(4)
number of points of k,r = number of points of k,l .
(5)
Let mp be the number of points of p . In order to formulate Eqs. (4) and (5) in terms of mp we identify the sets of indexes of the polygonal sections p in each subregion by introducing some notation. Let sk,b , sk,r , sk,t and sk,l be the number of polygonal sections p in k,b , k,r , k,t and k,l , respectively. Denote by sk the number of polygonal sections p in k,b ∪ k,r ∪ k,t ∪ k,l . Let ⎧ ⎪ ⎨0, σk = k−1 ⎪ s , ⎩
if k = 1; if k > 1;
k = 1, . . . , n.
=1
We define the set of indexes Jk,b = σk + 1, . . . , sk,b , where the sum means that σk is added to each element of the other set. Similarly, we define Jk,r = σk + sk,b + 1, . . . , sk,b + sk,r , Jk,t = σk + sk,b + sk,r + 1, . . . , sk,b + sk,r + sk,t , Jk,l = σk + sk,b + sk,r + sk,t + 1, . . . , sk . Then, Eqs. (4)–(5) are formulated as
mj − sk,b = mj − sk,t , j ∈Jk,b
j ∈Jk,r
(6)
j ∈Jk,t
mj − sk,r =
mj − sk,l .
(7)
j ∈Jk,l
We want compatible parametrizations of the boundaries. So they must have the same points in the intersections. By construction, the intersections of the subregions are cuts of . Since we have n subregions, there are n − 1 cuts. Let {ci }n−1 i=1 be the set of the decomposition cuts of . For each cut ci we have exactly two polygonal sections of ∪nk=1 ∂k which coincide with ci .
Parametrization of Plane Irregular Regions: A Semi-automatic Approach I
271
Let us remember that s is the number of polygonal sections p in ∪nk=1 ∂k . Let γi , δi ∈ {1, . . . , s} be the indexes of two sections which coincide with ci . Then ψ1 , . . . , ψn are compatible if mγi = mδi ,
i = 1, . . . , n − 1.
(8)
Let q = 3n − 1. We put together Eqs. (6)–(8) as the system of linear equations Am = b,
(9)
where A ∈ Zq×s with entries given by
a2k−1,j
a2k,j
a2n+i,j
⎧ ⎨ 1, if j ∈ Jk,b ; = −1, if j ∈ Jk,t ; ⎩ 0, otherwise; ⎧ ⎨ 1, if j ∈ Jk,r ; = −1, if j ∈ Jk,l ; ⎩ 0, otherwise ⎧ ⎨ 1, if j = γi ; = −1, if j = δi ; ⎩ 0, otherwise
k = 1, . . . , n, j = 1, . . . , s. k = 1, . . . , n, j = 1, . . . , s. i = 1, . . . , n − 1, j = 1, . . . , s,
b is a vector in Zq with entries given by b2j −1 = sj,b − sj,t ,
j = 1, . . . , n;
b2j = sj,r − sj,l ,
j = 1, . . . , n;
bj = 0,
j = 2n + 1, . . . , 3n − 1,
and 0 1T m = m1 · · · ms . The system of linear equations (9) is underdetermined since the matrix A has 3n − 1 rows and for each subregion there are at least four boundary curves, i.e., there are at least 4n variables. The vector m can be chosen as the solution of a linear integer programming problem: (10) min 1T m : m ∈ Zs , Am = b , where 1 is the vector of s ones. However, some entries of the optimal solution of the problem (10) could be negative or zero.
272
P. Barrera and I. Méndez
Let p be the length of the polygonal section p . We choose compatible number of points so that their sum is minimized and the boundary point distribution depends on p . Let min be the length of the smallest p . Given K ∈ N, we measure the proportion of p in comparison to min by 9 : p Lp = K . (11) min Since the number of boundary points in p is mp , we distribute at least Lp points in p by adding the constraint mp > Lp to the problem (10). So we solve the following integer linear programming problem: min 1T m : m ∈ Zs , Am = b, mp ≥ Lp p = 1, . . . , s .
(12)
By construction, b is an integer vector and A is a totally unimodular matrix, that its, all its square submatrices have determinant 0, 1 or −1. Therefore, the integer programming problem (12) is feasible by the Hoffmann-Kruskal theorem [14]. We get compatible mesh sizes by solving the problem (12). Other authors use a tree structure of the region decomposition [20]. The parametrizations ψk,bottom, ψk,right , ψk,top and ψk,left with these mesh sizes are compatible.
3.2 Parametrizations of the Subregions Now, we extend the parametrization ψk into the interior of k . Let Mk be the number of points of k,b , and let Nk be the number of points of k,r We generate convex structured quadrilateral meshes (k) Gk = Pi,j ∈ k : i = 1, . . . , Mk , j = 1, . . . , Nk such that (k) points of k,b = Pi,1 : i = 1, . . . , MK , (k) points of k,r = PMk ,j : j = 1, . . . , NK , (k) points of k,t = Pi,N : i = 1, . . . , M , K k (k) points of k,l = P1,j : j = 1, . . . , NK . The meshes Gk are automatically generated using the discrete variational approach of our UNAMALLA workgroup [3, 4, 16]. Garanzha [8] and Ivanenko [11] generate quadrilateral meshes with boundary adaptability.
Parametrization of Plane Irregular Regions: A Semi-automatic Approach I
273
By construction, the boundary points of Gk are the control points of the linear Bspline curves ψk,bottom, ψk,right, ψk,top and ψk,left . Since the polygonal curves k,b , k,r , k,t and k,l satisfy Eqs. (4) and (5), the meshes G1 , . . . , Gn are compatible and their union is a block structured mesh G on . We use Gk to extend the boundary parametrization into the interior of k 2 following the approach of the UNAMALLA workgroup [1]. Let Bi,M be the ik th linear B-spline with knot sequence given by a uniform partition of [0, 1] with 2 Mk elements for i = 1, . . . , Mk , and let Bj,N be the j -th linear B-spline with knot k sequence given by a uniform partition of [0, 1] with Nk elements for j = 1, . . . , Nk . We use the parametrizations ϕk : R → k given by the bilinear tensor product Bspline ϕk (ξ, η) =
Nk Mk
i=1 j =1
(k) 2 2 Pi,j Bi,Mk (ξ )Bj,N (η), k
ξ, η ∈ [0, 1].
(13)
Let us make a few observations of these parametrizations: • The control points of ϕk are the points of Gk . • The map ϕk is 1-1 since all the cells of Gk are convex [1]. • By construction, ϕk |∂k ≡ ψk .
(14)
Moreover, since ψ1 , . . . , ψn are compatible, then ϕ1 , . . . , ϕn are compatible. Therefore, we have decomposed the region into a set of admissible regions 1 , . . . , n , and we have constructed a family of compatible and admissible parametrizations ϕ1 , . . . , ϕn for these subregions given by (13).
4 Summary and Examples We summarize the key points of our methodology: 1. Get an admissible decomposition {k }nk=1 of by Algorithm 1. 2. In each k choose four points as explained in Sect. 3.1. 3. Identify the cuts of in each ∂k and split ∪nk=1 ∂k into polygonal sections. Reparametrize these sections and join them to obtain reparametrizations k,b , k,r , k,t and k,l of the four boundary curves. 4. Solve the integer linear programming problem (12) to get compatible number of points for k,b , k,r , k,t and k,l . 5. Generate convex structured quadrilateral meshes Gk on k such that their boundary points are the points of k,b , k,r , k,t and k,l . 6. Construct parametrizations ϕk using the bilinear tensor product B-spline (13).
274
P. Barrera and I. Méndez
We generate parametrizations of four irregular polygonal regions using our method. First, the region decomposition is interactively carried out using our subroutines in JULIA [5] with concavity criteria tolerances τ1 = 0.1 and τ2 = 0.45. We do not use the DUDE code. Then, a Julia interface of the COIN-OR Branch and Cut solver [7] is used to solve the integer programming problem (12). We choose K = 2 for the lower bound Lp given by (11). Finally, automatic mesh generation is carried out by our UNAMALLA software [16] using a convex combination of the weighted discrete functionals Hω and Area-Orthogonality so that mesh cells are accumulated in the boundary of the subregions [4, 9]. The region decomposition of the four polygonal regions and their corresponding block structured meshes are shown in Figs. 6, 7, 8, and 9. Table 1 shows the number of points, subregions and polygonal sections p of each region.
Fig. 6 Admissible decomposition of Titicaca and its block structured mesh
Parametrization of Plane Irregular Regions: A Semi-automatic Approach I
14
10
13
17
12
275
16
15 7 6
2
11
Fig. 7 Admissible decomposition of the region Gulf and its block structured mesh
276
P. Barrera and I. Méndez
Fig. 8 Admissible decomposition of the region Jalisco and its block structured mesh
Parametrization of Plane Irregular Regions: A Semi-automatic Approach I
Fig. 9 Admissible decomposition of the region Spider [13] and its block structured mesh
277
278
P. Barrera and I. Méndez
Table 1 Number of points, subregions and polygonal sections in our example regions Region Gulf Gulf of Mexico Titicaca Lake Titicaca in Peru Jalisco State of Jalisco in Mexico Spider [13]
Number of points
Number of subregions
Number of polygonal sections p
199
17
88
365
32
161
120
28
139
1388
33
150
5 Conclusions and Future Work We have proposed a methodology to find a decomposition of an irregular polygonal region into admissible subregions and a family of compatible bilinear B-spline parametrizations of these subregions. Irregular regions are interactively decomposed into admissible subregions using concavity measures. Then, the subregion boundaries are parametrized by compatible linear B-spline curves. Afterwards, these parametrizations are extended into the interior of the subregions as compatible bilinear B-splines by automatic structured mesh generation. We plan to measure the quality of our meshes using the quality measures reported by UNAMALLA [9]. Our parametrizations are compatible, but they are not necessarily smooth between the subregions. We address this issue later. We want to extend our method to multiply-connected plane regions. Our results would be submitted in the part II of this paper. We thank the anonymous referees that help us to make significant changes to improve our paper.
References 1. Abello, I.A., Hernández, V., Barrera, P., González, G.F.: Parametrización B-spline de regiones planas con frontera irregular. Ci. Mat. 31:2, 95–107. Cuba (2017) 2. Abello, I.A., Hernández, V., Barrera, P., González, G. F.: Injectivity of B-spline biquadratic maps. Comput. Methods Appl. Mech. Eng. 341, 586–608. Elsevier (2018) 3. Barrera, P., González, G.F., Domínguez, F.J.: Robust discrete grid generation on plane irregular regions. USSR Comput. Math. Math. Phys. 43(6), 884–892 (2003) 4. Barrera, P., Cortés, J.J., González, G.F., Domínguez, F.J., Tinoco, J.G.: Smoothness and convex area functionals revisited. SIAM J. Sci. Comput. 32(4), 1913–1928 (2010) 5. Bezanson, J., Edelman, A., Karpinski, S., Shah V.B.: Julia: a fresh approach to numerical computing. SIAM Rev. 59(1), 65–98 (2017) 6. Bommes, D., Campen, M., Ebke, H.C., Alliez, P., Kobbelt, L.: Integer-grid maps for reliable quad meshing. ACM Trans. Graph. 32(4) (2013). https://doi.org/10.1145/2461912.2462014 7. Forrest, J., Ralph, T., Vigerske, S.: coin-or/Cbc: Version 2.9.9. https://projects.coin-or.org/ Cbc. Cited 19 July 2018
Parametrization of Plane Irregular Regions: A Semi-automatic Approach I
279
8. Garanzha, V.A.: Barrier method for quasi-isometric grid generation. Comput. Math. Math. Phys. 40(11), 1617–1637 (2000) 9. González G. F.: Generación Numérica de Mallas Estructuradas de Calidad y Adaptativas en Regiones Planas Irregulares. PhD. Thesis. Universidad Nacional Autónoma de México. México (2018) 10. Gravesen, J., Evgrafov, A., Nguyen, M., Nørtoft, P.: Planar parametrization in isogeometric analysis. In: Floater, M., et al. (eds) Mathematical Methods for Curves and Surfaces. MMCS 2012. Lecture Notes in Computer Science, vol. 8177. Springer, New York (2014). https://doi. org/10.1007/978-3-642-54382-1_11 11. Ivanenko, S.A.: Control of cells shapes in the course of grid generation. Comput. Math. Math. Phys. 40(11), 1596–1616 (2000) 12. Lien, J.: Approximate Convex Decomposition and its Applications. PhD. Thesis. Texas A&M University, USA (2006) 13. Liu, G., Xi, Z., Lien, J.: Dual-Space Decomposition of 2D Complex Shapes. In: IEEE Conference on Computer Vision and Pattern Recognition, pp. 4154–4161 (2014) 14. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York (1998) 15. Sheffer. A., Praun, E., Rose, K.: Mesh Parameterization Methods and Their Applications. Found. Trends Comput. Graphics Vision 2(2), 105–171 (2006) 16. UNAMalla Workgroup: UNAMalla: Version 5.0. http://www.mathmoo.unam.mx/unamalla. Cited 23 May 2013 17. Xiao, Z., He, S., Xu, G., Chen, J., Wu, Q.: A boundary element-based automatic domain partitioning approach for semi-structured quad mesh generation. Engrg. Anal. Boundary Elem. 11, 133–144. Elsevier (2020) 18. Xu, G., Mourrain, B., Duvigneau, R., Galligo, A.: Parametrization of computational domain in isogeometric analysis: methods and comparison. Comput. Methods Appl. Mech. Eng. 200, 23–24, 2021–2031. Elsevier (2011). https://doi.org/10.1016/j.cma.2011.03.005 19. Xu, G., Li, M., Mourrain, B., Rabczuk, T., Xu, J., Bordas, S.P.A.: Constructing IGA-suitable planar parametrization from complex CAD boundary by domain partition and global/local optimization. Comput. Methods Appl. Mech. Eng. 328, 175–200 (2018) 20. Zhang, Y., Jia, Y.: 2D automatic body-fitted structured mesh generation using advancing extraction method. J. Comput. Phys. 353, 316–335. Elsevier (2018). https://doi.org/10.1016/ j.jcp.2017.10.018 21. Zint, D., Grosso, R., Aizinger, V., Köstler, H.: Generation of block structured grids on complex domains for high performance simulation. In: Garanzha, V.A., et al. (eds.) Numerical Geometry, Grid Generation and Scientific Computing. Lecture Notes in Computational Science and Engineering, vol. 131, pp. 87–99. Springer, New York (2019). https://doi.org/10.1007/9783-030-23436-2_6
A Hybrid Approach to Fast Indirect Quadrilateral Mesh Generation Daniel Zint and Roberto Grosso
Abstract Indirect quadrilateral mesh generation methods are commonly used particularly for numerical simulations due to their adaptiveness to different element sizes across the domain. The well-known Blossom-Quad high algorithm generates quality meshes but has a worst case complexity of O N 2 + N log N . A method which merges triangles using topological operations is less complex, indeed we show that it has a complexity of O(N log N ), but resulting meshes might have low quality especially near boundaries. We propose a combination of these two methods. Boundary regions are processed by Blossom-Quad and the interior by triangle merging. Post-processing solves quality issues caused by triangle merging. The results are comparable to pure Blossom-Quad but this approach is much faster. Therefore, it is favorable especially on large meshes where the runtime of BlossomQuad might become troublesome. The efficiency of this hybrid approach is shown on ocean meshes with up to several million triangles.
1 Introduction Quadrilaterals are often favored over triangles in numerical simulations for various reasons. Besides requiring less memory, quadrilateral (quad) meshes are known to have several positive side effects on simulations [2]. A well-known quad meshing algorithm is Blossom-Quad [28]. It belongs to the group of indirect quad meshing methods, i.e., it requires a triangle mesh as input. Triangles are merged by solving the best matching problem of graph theory with Edmonds’ Blossom algorithm [14– 16]. Remaining triangles only exist on boundaries and appear pairwise. They can be eliminated by duplicating vertices, swapping, or collapsing edges. A major drawback of Blossom-Quad is its worst case complexity of O N 2 + N log N , where N is the number of triangles [19]. Even though modern implementations like
D. Zint () · R. Grosso Visual Computing, Friedrich-Alexander Universität Erlangen-Nürnberg, Erlangen, Germany e-mail: [email protected]; [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_18
281
282
D. Zint and R. Grosso
the one of Kolmogorov [24] terminate early in many cases, runtime is unpredictable. It might happen that a mesh with several million triangles is processed within less than a minute while another mesh with only a fraction of elements takes several minutes or longer. Another indirect way of generating quad meshes is merging as many triangles as possible in a greedy fashion and moving remaining triangles across the mesh to eventually merge them. This approach is very simple and appears in different forms in literature [6, 33]. We show that triangle merging is of complexity O(N log N ). Post-processing solves quality issues on the interior. On boundaries, especially those with complex shapes, achieving good quality with post-processing is difficult. We present a hybrid approach which uses Blossom-Quad in boundary regions and triangle merging on the interior, Fig. 1. Blossom-Quad ensures high quality on boundaries whereas merging the majority of triangles in a more efficient way improves runtime. This approach outperforms Blossom-Quad on all our test meshes while yielding similar quality. A positive side effect of our method is that we adjust our post-processing such that the number of quads is half the number of triangles. This control over complexity is useful for high performance simulations. For example, block-structured grids with a precise number of blocks can be generated this way. In Sect. 2 we give a brief introduction to quad mesh generation. In Sect. 3 we explain our implementation of triangle merging and show how we combine it with Blossom-Quad. The post-processing, consisting of smoothing and topological improvements, is explained in Sect. 4. A comparison of Blossom-Quad, triangle merging, and the hybrid approach are given in Sect. 5. Finally, conclusions are drawn in Sect. 6. A C++/CUDA implementation of our method is provided at https:// github.com/DanielZint/RatRace .
(a)
(b)
(c)
(d)
(e)
Fig. 1 Hybrid quad mesh generation which performs Blossom-Quad near boundaries and triangle merging on the interior, followed by smoothing and topological optimization. (a) Triangle mesh. (b) Blossom-Quad near boundaries. (c) Greedy triangle merging. (d) Merge remaining triangles. (e) Post-processing
A Hybrid Approach to Fast Indirect Quadrilateral Mesh Generation
283
2 Related Work Several papers compare the vast range of quad meshing methods. Bommes et al. discuss in [7] methods focusing on applications in computer graphics. Armstrong et al. in [2] and Campen in [8] discuss multi-block structured quad mesh generation. A survey about unstructured mesh generation is given in [25]. Usually, quad meshing algorithms are divided into two categories, direct and indirect methods, depending on weather they construct quads from a triangle mesh or directly. Advancing front algorithms, mostly considered as indirect methods, work well on boundaries but might result in poorly shaped elements in the center of a domain [4, 26, 34]. Other methods use domain decompositions given by the medial axis [32], a quadtree [3, 30], the Morse-Smale complex [13], or cross fields [5, 22]. They generate mostly structured meshes with overall good quality. The challenging task here is generating a reasonable domain decomposition which can become tedious for meshes with complex boundaries and strongly varying element sizes. Given a triangle mesh, the easiest way to obtain a quad mesh is applying one Catmull-Clark subdivision step [10]. However, besides increasing the number of elements by a factor of three, the resulting quad mesh also contains many irregular vertices. Rank et al. first generate a hybrid mesh by merging neighboring triangles and perform one subdivision step afterwards [27]. By applying topological changes Docampo-Sánchez and Haimes generate quad meshes with good quality directly from a subdivided triangle mesh [12]. However, they have no control over the element size. Tarini et al. remove triangles of a hybrid mesh by moving them through the mesh and merging them [33]. The resulting mesh is improved by postprocessing but especially on boundaries quality might not be sufficient. Remacle et al. formulate triangle merging as the best matching problem of graph theory and solve it with the Blossom-Quad algorithm [28]. Several methods were developed to improve the triangle mesh before applying Blossom-Quad [17, 20, 29]. Often it is used to generate hybrid meshes which are then subdivided using Catmull-Clark. This is for example the default behavior in Gmsh [21]. The method generates overall good quality but has performance issues because of its complexity of O N 2 + N log N .
3 Hybrid Quad Mesh Generation Our hybrid approach processes boundary regions with Blossom-Quad. Those are determined by a segmentation step presented in Sect. 3.1. Triangles on the interior are greedily merged by a method which is based on the one of Rank et al. [27], Sect. 3.2. In Sect. 3.3 we explain our implementation of triangle merging which uses the dual graph for finding paths between two triangles. Throughout this work we explicitly distinguish between nodes and vertices. Nodes belong to the dual graph, vertices are part of the mesh.
284
D. Zint and R. Grosso
3.1 Segmentation of Boundary Regions Each boundary vertex gets an index assigned which is unique for the boundary. Next, all neighboring vertices and also their neighboring vertices inherit the same index. A triangle is considered as part of the boundary region if all of its vertices have the same boundary index. Thus, two layers of triangles belong to each boundary, Fig. 2a. Sharp corners should be avoided in the segmentation. Therefore, vertices with more than half of their neighbors having a boundary index are also added to the boundary region. Several boundaries that are close to each other might have intersecting regions. We solve this by merging those boundary regions into a single one, Fig. 2b. Furthermore, a boundary region might cut off some interior triangles from the rest, Fig. 2c. There must exist only one interior region. Otherwise, triangle merging might have to iterate through boundary regions and cause unsolvable quality problems. Only the largest of interior regions is not considered as island. We check for such islands of interior triangles and add them to the surrounding boundary region, Fig. 2d. As a last step we have to ensure that all boundary regions consist of an even number of triangles. If this condition is not satisfied, we just add a random adjacent triangle from the interior. Blossom-Quad is applied independently to each boundary region. Remaining triangles are not processed as described by Remacle et al. in [28]. Instead, triangle merging and post-processing will take care of those.
(a)
(b)
(c)
(d)
Fig. 2 Segmentation of boundary regions. (a) Several boundaries with unique indices. (b) Touching boundaries are merged and interior vertices in between are added. (c) Islands of interior vertices enclosed by a boundary. (d) Islands are added to the boundary
A Hybrid Approach to Fast Indirect Quadrilateral Mesh Generation Table 1 Number of remaining triangles for the method of Rank et al. and our extended version
Mesh Chile Chile_low Okushiri Ike
# triangles 6,517,764 3,396,752 3,098,880 2,678,402
285 # remaining triangles Rank et al. Ours 852,488 142,466 445,780 78,916 142,228 13,510 229,788 17,296
3.2 Greedy Triangle Merging A simple and fast way of generating a hybrid mesh from triangles is the method of Rank et al. [27]. For each edge of the triangle mesh, we compute the quality of the quad that would be generated by deleting this edge. Edges are deleted greedily starting with the best quality. With this method a rather high number of triangles remains. In our tests, approximately 10% could not be merged. We reduce the number of remaining triangles by extending the method of Rank et al. We also start with the best edge, i.e., the edge that generates the best quadrilateral, and remove it but instead of removing the second best edge, we continue triangle merging in the neighborhood of the best edge. All edges that would generate a quad incident to the one we just created are stored in a queue, starting with the best edge. Edges with low quality are omitted. We then merge the edges from this queue, recursively adding edges in the neighborhood like in the previous step. If the queue is empty, we add the best remaining edge to the queue and continue until no more merging is possible. This extended version of the method of Rank et al. has much less remaining triangles while also creating quads with good quality. In our tests we had less than 3% of triangles remaining for large meshes. A detailed comparison is given in Table 1.
3.3 Merging of Remaining Triangles Triangle merging is performed on the dual graph and is based on concepts introduced by Tarini et al. [33]. The path between two triangles is determined with breadth first search (BFS). Two triangles can be merged if there exists a connecting path purely consisting of quads. Thus, we can always find a quad topology for any manifold mesh with an even number of triangles as long as the mesh does not contain multiple independent patches. Having a triangle node ni on the dual graph we use BFS to find the nearest triangle node nj . Backtracking the path from nj to ni we modify the dual graph such that nj “moves” towards ni . This graph modification is done in two steps, merge and split. Our data structure must be capable of dealing with multiple edges, which appear when two quads share two edges. We use a modification of the halfedge data
286
D. Zint and R. Grosso
Fig. 3 All possible triangle/quad merges. Blue edges represent the merging path. (a) Single edge. (b) Multiple edge
structure [23]. Instead of a face, halfedges store their neighboring vertex. Thus, we can always reconstruct the hybrid mesh from the dual graph. Each element of the mesh is represented by a node. When merging two nodes that are connected by a multiple edge we need to store the vertex that is enclosed by the multiple edge. Therefore, each node contains a vector of vertices.
3.3.1 Merging Nodes Merging two nodes is an edge collapse where multiple edges have to be considered. By merging a triangle with a quad we get a pentagon, Fig. 3a, but by merging along a multiple edge we get a triangle with an unreferenced vertex, Fig. 3b. Multiple edges appear when two graph edges connect the same two nodes, i.e., there exists a vertex with two incident edges in the mesh. The unreferenced vertex is stored in the remaining node.
3.3.2 Splitting Nodes In the previous step we have merged a triangle with a quad. This produces either a node with five outgoing halfedges, Fig. 4a, or a node with three outgoing halfedges and one vertex stored, Fig. 4b. There is only a limited set of possible splits if the outcome should be again a triangle and a quad. There are at most four possible split cases when we consider the moving-direction (which might be also a multiple edge). We choose the case which produces the best quad according to a quality measure, e.g., the shape metric [31]. Note that this decision won’t stop the mesh from getting tangled. It merely helps to keep mesh quality somewhat reasonable. Tangling will be handled by post-processing. After moving a triangle towards another, the last step is just combining the two triangles to one quad, i.e., merging two nodes in the dual graph. After merging all triangles the result is a valid quad topology. However, the chances for having a tangled result are high. There might also exist valence two vertices in the mesh which is usually not acceptable. Later we show how to recover mesh quality with post-processing.
A Hybrid Approach to Fast Indirect Quadrilateral Mesh Generation
287
Fig. 4 All possible node splits when the triangle is moved towards the blue edge. (a) Single edge. (b) Multiple edge
Fig. 5 Merging on a triangle strip with the maximum amount of operations possible
3.3.3 Complexity of Triangle Merging The BFS algorithm on triangle meshes has a worst case complexity of O(N), where N is the number of triangles. If BFS has to be applied to all triangles the worst case complexity is O(N 2 ). We show that the complexity is actually lower. Assume a pure triangle mesh on which triangle merging is performed in the most inefficient way, i.e., with as many operations as possible. In the first step, triangles will be merged with their direct neighbors. In the worst case, every third triangle would be left over. We illustrate this for a triangle strip in Fig. 5. Thus, in the first step we need to perform N/3 operations, one search operation for every third triangle. When considering more complex examples than a triangle strip, the number of operations might be actually higher but search is still local and therefore of O(1) for each triangle. In the second step, BFS needs 3 search operations (distance on the initial triangle mesh) to find the next triangle. Again, this is only done for every third triangle, N/32 · 3. In general, BFS requires 3i−1 operations on 3i triangles in the i-th step, N/31 · 3i−1 = N/3. The number of remaining triangles is reduced by a factor of 3 in every iteration, leading to the following number of operations: i ≤N 3
i=1
1 N= 3
i≤log3 N i=1
1 1 N ≤ N log3 N. 3 3
(1)
288
D. Zint and R. Grosso
This estimation only considers the complexity of BFS but all other steps like moving the triangle are only local operations with O(1) and therefore not relevant. Thus, the complexity of triangle merging is O(N log N ).
4 Post-Processing Post-processing consists of smoothing and a set of topological operations. For smoothing we use a combination of Laplacian and optimization-based smoothing. With the topological operations the number of irregular vertices is reduced. An interior vertex is considered as irregular if it has more or less than four incident edges, i.e., its valence is unequal four. Topology is only changed locally to preserve element size. Topological Improvements We use three topological operations: edge swap, diagonal collapse, and vertex split. Edge swapping is a key feature for topology optimization not just on triangle but also on quad meshes [9, 12, 33, 34]. There exist three ways to orient an edge between two quads, Fig. 6a. Thus, there are two possible configurations for an edge swap. An edge is swapped whenever this reduces the number of irregular vertices. Vertex split is the inverse operation of diagonal collapse, Fig. 6b. A vertex split reduces the valence of the vertex and increases the valence of two of its neighbors. Again, both operations are applied if they reduce the number of irregular vertices.
Fig. 6 Topological operations on quad meshes. (a) Edge swap. (b) Diagonal collapse and vertex split
A Hybrid Approach to Fast Indirect Quadrilateral Mesh Generation
289
The first step of post-processing is eliminating valence two vertices with diagonal collapses. Also valence two vertices on boundaries are eliminated if they have low shape quality (3). For this we set a threshold for the quality to 0.1. Next, we perform edge swaps, diagonal collapses, and vertex splits. Diagonal collapses are only performed if the resulting elements do not become too long. In practice, if the diagonal of the collapsing quad is longer than 1.5 times the size of the initial edge length in this position, the quad is not collapsed. This condition is evaluated by using a size function. Vertex splits are only performed if elements do not become too short. We only perform vertex splits if the edge that is shortened due to the split is at maximum 0.9 times the size of the initial edge length in this position. Additionally, vertex splits are only performed if the number of elements is smaller or equal than the expected number of elements, i.e., half the number of initial triangles. In our experience there are usually more vertex splits possible than diagonal collapses. Therefore, we do not consider the number of elements in the diagonal collapse. If the number of quads is smaller than expected it can be easily increased by performing vertex splits. This way we can precisely control the number of elements. Smoothing For smoothing we use the method discrete mesh optimization (DMO) [35, 36]. DMO evaluates a quality metric on a uniform candidate grid and chooses the optimal position solving an argmaxmin-problem. DMO does not require derivatives and therefore the metric can be chosen arbitrarily. We measure element quality with the shape metric of Stimpson et al. [31],
c = min ci i∈[1,4]
ci = 2
αi Li 2 + Li−1 2
(2) (3)
αi = (Li × Li−1 ) · n
(4)
Li = Pi+1 − Pi ,
(5)
where ci is the inverse condition of a vertex vi within this quad, Pi is the position, and n = (0, 0, 1), . For optimization and especially untangling we need to modify the metric as it has a negative minimum at −1. A common approach for untangling is using the signed area [18]. We combine shape quality and signed area, ci =
αi 2 L 2 +L i
αi ,
2 i−1
, if αi > 0, otherwise.
(6)
290
D. Zint and R. Grosso
For vertex repositioning we must not consider the quality of the opposite quad vertex, c (vi ) = min(ci , ci+1 , ci−1 ).
(7)
A similar approach which builds upon the Winslow method was presented by Charakhch’yan and Ivanenko in [11]. The optimization is here formulated as a global minimization problem and the objective function contains the inverse shape quality metric. Considering only minimal element quality often generates jagged lines within a mesh. We avoid this by only requiring a shape quality of at least 0.5. If the quality is higher, we use standard Laplace smoothing.
5 Results We compare the hybrid approach to Blossom-Quad and pure triangle merging on several meshes designed for ocean simulation. The meshes chile, chile_low, and okushiri were generated by Sven Harig at the Alfred Wegener Institute for tsunami simulations using TsunAWI [1]. All meshes except for diam10/diam11 have varying element sizes. Besides okushiri and diam10/diam11, they have multiple and complex boundaries. None of the meshes were pre-conditioned for quad meshing. In Fig. 7 we show the result of the hybrid approach on mesh chile_low. Quantitative results are presented in Table 2. Runtimes exclude post-processing as this is applied to all methods equally. Quality is measured in terms of element shape as defined in [31]. Irregular vertices are only counted on the interior and displayed relatively to all interior vertices. For Blossom-Quad there is no direct link between runtime and mesh size. The complexity of O N 2 + N log N is merely an upper bound and often not reached. We use Blossom V, an implementation of Kolmogorov [24] which is up to an order of magnitude faster than prior implementations of Edmonds’ Algorithm. For pure triangle merging and the hybrid approach runtime scales linearly with mesh size. The only exceptions are okushiri and diam10/diam11 which have simple boundaries and are mostly structured on the interior. In that case, triangle merging is very efficient. The hybrid approach outperforms Blossom-Quad on all test meshes that have more than 20,000 triangles. On smaller meshes the segmentation has a major effect on performance. Pure triangle merging performs best independently of the mesh size. Mesh quality of Blossom-Quad and the hybrid approach is comparable. Both have the same minimal quality which is reasonable considering that low quality elements appear on boundaries. If better minimal quality is required, the threshold
A Hybrid Approach to Fast Indirect Quadrilateral Mesh Generation
291
Fig. 7 The mesh chile_low in the initial form with triangles and as quad mesh generated with the hybrid approach. The initial mesh contains 3,396,752 triangles
for valence two vertex removal on boundaries can be increased. The average quality is a little bit better for Blossom-Quad almost everywhere. Furthermore, Blossom-Quad produces the lowest amount of irregular vertices but the difference to the hybrid approach is only up to 2%. Triangle merging reaches good quality in many cases when post-processing is applied but on some complex boundaries postprocessing cannot solve all quality related issues, i.e. degenerated quads remain. Therefore, meshes generated purely with triangle merging might not be appropriated for numerical simulations. The meshes diam10/diam11 are artificial tests and show the major difference between Blossom-Quad and triangle merging. The meshes consist of two equilateral triangles which were 10/11 times uniformly subdivided. Blossom-Quad reaches optimal quality by generating a fully structured grid whereas triangle merging and the hybrid approach generate irregularities. The optimality of Blossom-Quad comes with the price of a very slow performance. For diam11 Blossom-Quad took approximately 30 min, the hybrid approach only 36 s. The reason for the bad performance of Blossom-Quad is that all triangles have the same quality and therefore finding the global optimum is challenging.
Mesh Chile Chile_low Okushiri Ike Gom East East_low Diam11 Diam10
# triangles 6,517,764 3,396,752 3,098,880 2,678,402 57,076 18,578 2000 8,388,608 2,097,152
Runtime [s] BQ TM 102 74 203 21 155 11 70 10 0.2 0.2 < 0.1 < 0.1 < 0.1 < 0.1 1766 29 210 7 HA 78 27 13 22 0.2 < 0.1 < 0.1 36 8
Min. quality BQ TM 0.11 0.10 0.14 0.10 0.62 0.53 0.10 < 0.01 0.11 0.11 0.42 0.17 0.20 0.21 0.87 < 0.01 0.87 0.43 HA 0.11 0.14 0.54 0.10 0.11 0.42 0.20 0.63 0.63
Avg. quality BQ TM 0.89 0.87 0.89 0.87 0.92 0.89 0.90 0.89 0.88 0.85 0.86 0.84 0.69 0.67 0.87 0.88 0.87 0.89 HA 0.87 0.87 0.89 0.89 0.86 0.85 0.68 0.88 0.89
Irreg. vert. [%] BQ TM 16.6 18.2 16.9 18.8 3.9 2.4 9.7 11.7 10.5 14.1 19.1 21.4 30.3 31.7 0 5.2 0 1.2
Table 2 Quality and performance of hybrid approach (HA) in comparison to Blossom-Quad (BQ) and pure triangle merging (TM) HA 18.2 18.7 2.5 11.7 12.7 21.4 30.8 7.0 1.4
292 D. Zint and R. Grosso
A Hybrid Approach to Fast Indirect Quadrilateral Mesh Generation
293
6 Conclusion We presented a hybrid method combining Blossom-Quad and triangle merging. Boundary regions are processed by Blossom-Quad and the interior by triangle merging. This hybrid approach is almost as fast as triangle merging and much faster than Blossom-Quad due to its low complexity of O(N log N). In terms of quality, the hybrid approach is comparable to Blossom-Quad and better than triangle merging making it a fast alternative especially on large meshes with millions of triangles.
References 1. Androsov, A., Behrens, J., Danilov, S.: Tsunami modelling with unstructured grids. interaction between tides and tsunami waves. In: Krause, E., Shokin, Y., Resch, M., Kröner, D., Shokina, N. (eds.) Computational Science and High Performance Computing IV, pp. 191–206. Springer, Berlin (2011) 2. Armstrong, C.G., Fogg, H.J., Tierney, C.M., Robinson, T.T.: Common themes in multi-block structured quad/hex mesh generation. Procedia Eng. 124, 70 – 82 (2015). 24th International Meshing Roundtable 3. Baehmann, P.L., Wittchen, S.L., Shephard, M.S., Grice, K.R., Yerry, M.A.: Robust, geometrically based, automatic two-dimensional mesh generation. Int. J. Numer. Methods Eng. 24(6), 1043–1078 (1987) 4. Blacker, T.D., Stephenson, M.B.: Paving: a new approach to automated quadrilateral mesh generation. Int. J. Numer. Methods Eng. 32(4), 811–847 (1991) 5. Bommes, D., Zimmer, H., Kobbelt, L.: Mixed-integer quadrangulation. ACM Trans. Graph. 28(3) (2009) 6. Bommes, D., Lempfer, T., Kobbelt, L.: Global structure optimization of quadrilateral meshes. In: Computer Graphics Forum, vol. 30.2, pp. 375–384. Wiley Online Library, Hoboken (2011) 7. Bommes, D., Lévy, B., Pietroni, N., Puppo, E., Silva, C., Tarini, M., Zorin, D.: Quad-mesh generation and processing: A survey. Comput. Graph. Forum 32(6), 51–76 (2013) 8. Campen, M.: Partitioning surfaces into quadrilateral patches: A survey. Comput. Graph. Forum 36(8), 567–588 (2017) 9. Canann, S.A., Muthukrishnan, S.N., Phillips, R.K.: Topological improvement procedures for quadrilateral finite element meshes. Eng. Comput. 14(2), 168–177 (1998) 10. Catmull, E., Clark, J.: Recursively generated b-spline surfaces on arbitrary topological meshes. Comput. Aided Des. 10(6), 350–355 (1978) 11. Charakhch’yan, A., Ivanenko, S.: A variational form of the Winslow grid generator. J. Comput. Phys. 136(2), 385–398 (1997) 12. Docampo-Sanchez, J., Haimes, R.: A regularization approach for automatic quad mesh generation. In: 28th International Meshing Roundtable. Zenodo (2020) 13. Dong, S., Bremer, P.T., Garland, M., Pascucci, V., Hart, J.C.: Spectral surface quadrangulation. In: ACM SIGGRAPH 2006 Papers, SIGGRAPH ’06, p. 1057–1066. Association for Computing Machinery, New York (2006) 14. Edmonds, J.: Maximum matching and a polyhedron with 0, 1-vertices. J. Res. Natl. Bur. Stand. B 69(125–130), 55–56 (1965) 15. Edmonds, J.: Paths, trees, and flowers. Can. J. Math. 17, 449–467 (1965) 16. Edmonds, J., Johnson, E.L., Lockhart, S.C.: Blossom I: A computer code for the matching problem. In: IBM TJ Watson Research Center, Yorktown Heights, New York (1969)
294
D. Zint and R. Grosso
17. Ekelschot, D., Ceze, M., Garai, A., Murman, S.M.: Robust metric aligned quad-dominant meshing using Lp centroidal voronoi tessellation. In: 2018 AIAA Aerospace Sciences Meeting, p. 1501 (2018) 18. Freitag, L.A., Plassmann, P.: Local optimization-based simplicial mesh untangling and improvement. Int. J. Numer. Methods Eng. 49(1–2), 109–125 (2000) 19. Gabow, H.N.: Data structures for weighted matching and nearest common ancestors with linking. In: Proceedings of the First Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 434–443 (1990) 20. Georgiadis, C., Beaufort, P., Lambrechts, J., Remacle, J.: High quality mesh generation using cross and asterisk fields: application on coastal domains. CoRR abs/1706.02236 (2017) 21. Geuzaine, C., Remacle, J.F.: Gmsh: A 3-D finite element mesh generator with built-in pre- and post-processing facilities. Int. J. Numer. Methods Eng. 79(11), 1309–1331 (2009) 22. Kälberer, F., Nieser, M., Polthier, K.: Quadcover - surface parameterization using branched coverings. Comput. Graph. Forum 26(3), 375–384 (2007) 23. Kettner, L.: Using generic programming for designing a data structure for polyhedral surfaces. Comput. Geom. 13(1), 65 – 90 (1999) 24. Kolmogorov, V.: Blossom V: a new implementation of a minimum cost perfect matching algorithm. Math. Program. Comput. 1(1), 43–67 (2009) 25. Owen, S.J.: A survey of unstructured mesh generation technology. In: Freitag, L.A. (ed.) Proceedings of the 7th International Meshing Roundtable, pp. 239–267 (1998) 26. Owen, S.J., Staten, M.L., Canann, S.A., Saigal, S.: Q-morph: an indirect approach to advancing front quad meshing. Int. J. Numer. Methods Eng. 44(9), 1317–1340 (1999) 27. Rank, E., Schweingruber, M., Sommer, M.: Adaptive mesh generation and transformation of triangular to quadrilateral meshes. Commun. Numer. Methods Eng. 9(2), 121–129 (1993) 28. Remacle, J.F., Lambrechts, J., Seny, B., Marchandise, E., Johnen, A., Geuzainet, C.: Blossomquad: A non-uniform quadrilateral mesh generator using a minimum-cost perfect-matching algorithm. Int. J. Numer. Methods Eng. 89(9), 1102–1119 (2012) 29. Remacle, J.F., Henrotte, F., Baudouin, T.C., Geuzaine, C., Béchet, E., Mouton, T., Marchandise, E.: A frontal delaunay quad mesh generator using the L ∞ norm. Int. J. Numer. Methods Eng. 94(5), 494–512 (2013) 30. Rushdi, A.A., Mitchell, S.A., Mahmoud, A.H., Bajaj, C.C., Ebeida, M.S.: All-quad meshing without cleanup. Comput. Aided Des. 85, 83 – 98 (2017). 24th International Meshing Roundtable Special Issue: Advances in Mesh Generation 31. Stimpson, C., Ernst, C., Knupp, P., Pébay, P., Thompson, D.: The verdict library reference manual. Sandia Nat. Laborat. Techn. Rep. 9(6), 32–57 (2007) 32. Tam, T., Armstrong, C.: 2d finite element mesh generation by medial axis subdivision. Adv. Eng. Softw. Workstat. 13(5), 313 – 324 (1991) 33. Tarini, M., Pietroni, N., Cignoni, P., Panozzo, D., Puppo, E.: Practical quad mesh simplification. Comput. Graph. Forum 29(2), 407–418 (2010) 34. Zhu, J.Z., Zienkiewicz, O.C., Hinton, E., Wu, J.: A new approach to the development of automatic quadrilateral mesh generation. Int. J. Numer. Methods Eng. 32(4), 849–866 (1991) 35. Zint, D., Grosso, R.: Discrete mesh optimization on GPU. In: Roca, X., Loseille, A. (eds.) 27th International Meshing Roundtable, pp. 445–460. Springer International Publishing, Cham (2019) 36. Zint, D., Grosso, R., Lunz, F.: Discrete mesh optimization on surface and volume meshes. In: 28th International Meshing Roundtable. Zenodo (2020)
Hexahedral Mesh Generation Using Voxel Field Recovery Alexander Sergeevich Karavaev and Sergey Petrovich Kopysov
Abstract We consider a modification of the previously developed voxel-based mesh algorithm to generate models given by a triangular surface mesh format (STL). Proposed hexahedral mesh generator belongs to the family of grid methods, and its capable to use as source data both volume and surface types of model geometry representation. To define the initial position of mesh nodes, a «signed distance field» volume data file, obtained from the STL geometry, is used. A special projection technique was developed to adapt constructed orthogonal mesh on the models boundary. It provides an approximation of sharp edges and corners and performs before running any other operations with the mesh. Finally, to improve the mesh quality, additional procedures were implemented, including boundary layers insertion, bad quality cells splitting, and optimization-based smoothing technique.
1 Introduction The first step in the process of element mesh generation belongs to the description of the initial model geometry. Surface representation is a set of faces describing a model’s boundary. This description has become the main technique applied in engineering calculations and it is widely used by the existing CAD software. However, for some applications, such as medicine and biomodeling, the only possible way is to use voxel data obtained by a CT, MRI, or MicroCT scanner [11]. Preserving geometric corners and edges is not so critical in the case of biological tissues modeling. Usually, mesh algorithms for such problems are high performance and robust. They are based on combining pairs of Cartesian voxels grid into hexahedra followed by boundary nodes position adaptation. At the same time, generation of hexahedral meshes of a given quality with an accurate description of an arbitrary model geometry is not a completely solved
A. S. Karavaev () · S. P. Kopysov Department of Computational Mechanics, Udmurt State University, Izhevsk, Russia e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_19
295
296
A. S. Karavaev and S. P. Kopysov
task [1, 8]. In comparison with tetrahedral meshes, there is no well-developed theory and robust general-purpose software to solve the problem under discussion. Specially for this, a sufficient number of algorithms have been developed with their advantages and disadvantages. For example, block decomposition approaches break the model into pieces that are easier to mesh. They provide good quality cells but are semi-automatic, and therefore time-consuming to construct complex geometries. It should be mentioned that a lot of strategies have been developed to automate the block decomposition process, such as medial surface transformation, midpoint subdivision, and singularity-restricted frame fields [1]. The advancing fronts methods (sweeping, paving, plastering, etc.) generate a hex-mesh from the boundary of the surface mesh inward [9]. Such techniques have issues with robustness, especially when two different fronts are merged during processing. The same problems of reliability have the methods based on spatial twist continuum concept which is a dual representation of an all hex-mesh that defines the global connectivity constraints [6]. In recent years, many investigations have been devoted to the indirect approaches. They convert a given tetrahedral mesh to the hexahedral one by using a different type of combining techniques [3, 8]. Unfortunately, in many cases, the result meshes are hex-dominant while containing a small number of irregular polyhedra. The grid-based or octree family of methods are robust but tends to generate poor quality elements at the boundary of the volume and to create hanging nodes arising from size transitions [1, 10]. Also, these methods incline to produce a large number of hexahedra and are highly dependent upon the orientation of the interior orthogonal grid of hex elements. The recent attempts to quality hexahedral meshing are either robust but lack the ability to align to the surface curvature and sharp features [4, 7], or produce high quality meshes but are extremely fragile. In this article, we propose an algorithm that provides good compromise between robustness and quality meshing. We consider a modification of previously developed voxel mesh generator which was originally intended to work with volume (tomograthic) data representation [5]. Figure 1 shows the result of the algorithm for construction a multicomponent head model. Here, the boundary is reconstructed with the «Dual Contouring» algorithm [5, 11]. This approach is widely used to render tomographic images with a surface quadrangular mesh. It allows to restore the sharp features of the model contour to a certain degree. Unfortunately, in the case of STL geometry, the accuracy of the «Dual Contouring» algorithm is not sufficient. Therefore, additional options have to be considered to build hexahedral meshes of models given in STL format. Our approach belongs to the family of grid methods. It utilizes initial surface representations and «signed distance fields» voxel data format obtained from STL file.
Hexahedral Mesh Generation Using Voxel Field Recovery
297
Fig. 1 Human head model with three materials. Hexahedral mesh constructed from tomograthic data by the authors’ algorithm [5]
2 Initial Data Representation As mentioned before, the proposed method can generate meshes from both surface and volumetric types of model representation. In literature, volumetric (voxel) data V is defined as scalar values of an implicit function F on a Cartesian coordinate grid V = F (i, j, k), where i, j, k are indexes in the form of x, y, z coordinates of Cartesian grid. The isosurface (surface of equal values) corresponding to the value α represents points of a constant value within a volume IF (α) = { (x, y, z) | F (x, y, z) = α }. Volumetric data may be viewed by extracting isosurfaces from the volume and rendering them as polygonal meshes or by rendering the volume directly as a block of data. For now, the algorithm takes a standard DICOM volumetric data file obtained from tomography scans to construct meshes of biological tissues. In the case of STL-models, the «signed distance fields» (SDF) data structure is used. Each voxel in a SDF file contains a positive or a negative shortest distance to the model surface according to its relative position. Therefore, a border of the model is set by the isosurface of value α = 0. Let the model be bounded by a surface triangular mesh T . Then, for an arbitrary voxel ν, the function F could be written as F (ν) = ST (ν) × min d(t, ν), t ∈T
ST (ν) =
+1, if ν ⊆ , −1, if ν ⊂ ,
where d(t, ν) denotes the minimal distance between a triangle t ∈ T and a voxel ν ∈ V.
298
A. S. Karavaev and S. P. Kopysov
The initial SDF voxel array is constructed from a given STL geometry by a straightforward («brute force») conversion technique. For every voxel ν ∈ V it calculates the distance to all triangles of T and takes the minimal one. Because of this, the execution time is a little bit high and it is efficient to use parallel computations. On the other hand, this method calculates the accurate Euclidean distance field without errors and has a simple implementation. The obtained volume data file implicitly contains all information about an orthogonal hexahedral grid covering the model. Thus, a result of the mesh generation directly depends on the accuracy of voxels values in V.
3 Hexahedral Mesh Generation According to Schneider [10], the mesh of the model should fulfill the following requirements: each point of the model is covered by the mesh point; each edge of the model is covered by a sequence of mesh edges. To overcome this problem, we construct the set of «characteristic» edges and nodes. The set is considered to be a «frame» of the model which preserves all its sharp features. The resulting hexahedral mesh T has to cover the elements of with a continuous chain of its edges and nodes. To construct we follow Schneider’s idea and don’t take into account edges of triangular mesh T whose adjacent faces enclose a dihedral angle of about 180°. In Fig. 2a and b we can see the STL geometry of a half part of the metal sleeve and its set with 10 «characteristic» nodes and 15 «characteristic» edges. The second step of mesh generation is the construction of the orthogonal structured grid with size h (Fig. 2c). The grid size h is chosen in advance, and it defines an interval (span) between voxels that will be taken to form mesh nodes. This size determines the number of cells in the resulting mesh and thus a final accuracy of the model description. The minimal value of h is 1, and it means that all voxels of V taking into account during mesh generation. For every 8 neighboring voxels with γ = 4 or more positive values a new cell is constructed. Let dimz × dimy × dimx be the dimension of SDF voxel array V and (x,y,z) (x,y,z) sgnF is a signum function of voxel value with indexes (x, y, z), sgnF = (x,y,z) , then the above process can be written as following: sgn F ν “Algorithm 1”. In addition to number γ = 4 of positive voxels, we also require that they have to belong to one quadrangle of a hexahedron. Such choice provides a situation when every face of a cell has at least 2 points inside the model. From tests, we established that such value γ = 4 is optimal because of a less number of additional hexahedra (in comparison with the case γ < 4, see Fig. 3a and b) and uniform size of boundary and inner cells (that is not provided in the case of γ > 4, see Fig. 3c and d). It should be mentioned that the number of positive voxels is not strict and can be lower than 4. Also, there is an option to add any other conditions, such as acceptable
Hexahedral Mesh Generation Using Voxel Field Recovery
299
(a)
(b)
(c)
(d)
Fig. 2 Hexahedral mesh construction. (a) STL-geometry. (b) Model’s «frame». (c) Structured hex-grid (with background STL surface). (d) Grid projected to the model’s «frame»
Algorithm 1 Orthogonal structured grid generation 1: for z = 1; z < dimz / h; z + + do 2: for y = 1; y < dimy / h; y + + do 3: for x = 1; x < dimx / h; x + + do (x,y,z) (x+h,y,z) (x+h,y+h,z) (x,y+h,z) (x,y,z+h) + sgnF + sgnF + sgnF + sgnF + 4: if sgnF (x+h,y,z+h)
5: 6: 7: 8: 9:
(x+h,y+h,z+h)
(x,y+h,z+h)
+ sgnF + sgnF γ then end if Create hexagon c from the voxels ν (x+i,y+j,z+k) i,j,k=0,h end for end for end for sgnF
distance of voxels to the surface. For example, the cell c is not constructed if ∃ν ∈ ν (x+i,y+j,z+k) , i, j, k = 0, h such that F ν < ε0 < 0, where ε0 is some threshold value defined by the user. The third step is the projection of the orthogonal grid onto the set to provide an approximation of «characteristic» edges and nodes of the model. This procedure is slightly different from the isomorphism technique proposed by Schneiders [10]. In our case, the adaptation is performed before running any smoothing or topological operations with the mesh, and it can be divided into 3 main steps:
300
A. S. Karavaev and S. P. Kopysov
Fig. 3 The choice of the number γ of positive voxels in a cell during structured grid generation: (a, b) additional hexahedra (in frame) in the case of γ < 4 in comparison with γ = 4; (c, d) lack of uniform cell size (large ones in frame) in the case of γ > 4 in comparison with γ = 4
(1) At first on each «characteristic» node η an appropriate grid node x is projected. Usually, x is taken as the nearest one to η, but sometimes other rules can be adopted. For example, if two or more nodes have the closest distance to η, the node which is connected to all of them should be chosen. (2) The next step is the covering «characteristic» edges of the model. At first, all boundary nodes with distance to the «characteristic» edges less than some threshold ε1 ≈ 0.1 × h are projected onto them. (3) The remaining uncovered sections of is handling with sequential nodes projection procedure. It starts from every node x which is already projected onto . The next candidate x is selected from boundary neighbors of x according to proposed priority criteria which work in the following way: – The neighboring nodes, which have two or more boundary inverted quads after projection, are not considered. – The nodes with 3 adjacent boundary quads are more preferable than others. – Among the nodes with the previous two conditions are fulfilled, the one with the shortest distance to the «characteristic» edge should be taken. Figure 2d demonstrates the result of the described operation. It should be mentioned that every selected node x ∈ T is projected to the nearest edge e ∈ E , and this position typically doesn’t coincide with vertices of the triangular mesh T . After the set has been constructed, the remaining boundary nodes are projected to the surface of the model. Here we use two different techniques: the well-known
Hexahedral Mesh Generation Using Voxel Field Recovery
301
ray-tracing method and a special iterative movement through the volume of SDF data field described in [11]. The first procedure is more accurate, but the latter one has better performance in the case of STL geometries with a high number of triangles. Such STL meshes are often required to describe models with curvilinear surfaces. Each iterative movement consists of 2 steps: – Check an approximation of node x to the iso-surface IF (α). If the value F (x) is close enough to α, e.g. |F (x) − α| ≈ 10−4 × h, then it can be assumed that x locates on the surface and further iterations are not needed. – Define new coordinates of node by moving it in a small distance x+ = x + δn, where n is the normal of vertex x and δ the size of iteration step. In the case of SDF data format, the boundary of the model is set with zero isosurface of value α = 0. According to our tests, in most cases, the implementation of these procedures allows to fully describe the model so that each «characteristic» node is assigned to one corresponding mesh node, and each «characteristic» edge is completely covered by mesh edges. As one can see from Fig. 4a, the projection of remaining nodes to the surface allows to fully described initial STL model with sufficient accuracy.
Fig. 4 Removing inverted boundary hexahedra and quads (in frames) with: (a, b) volume layer insertion and splitting procedures; (c, d) surface layer insertion along a «characteristic» edge
302
A. S. Karavaev and S. P. Kopysov
4 Mesh Quality Improvement To improve the mesh quality, a Laplacian smoothing procedure is applied. Unfortunately, this operation is not enough to get rid of invalid mesh elements along the model boundary. This is because of hexahedra may have two or three faces to be projected on the same plane, and surface quads may have two edges to be projected on the same sharp line. To resolve these issues, three standard procedures for grid type meshes are used. First, a volume layer of hexahedra is inserted around the constructed mesh so that new boundary elements have only one face to be projected on the real geometry (Fig. 4a and b). The shape of boundary quads with angle 180° (two are marked with rectangular frames in Fig. 4a) are significantly improved after the volume layer of hexahedra has been inserted (Fig. 4b). It should be mentioned, that sometimes for better mesh quality it is useful to skip the insertion of volume layer along surfaces which are orthogonal to the Cartesian axes. For instance, for the final mesh displayed in Fig. 4d, bottom, front, and back boundary surfaces stay unchanged, and only for the top curvilinear surface an additional layer of cells was added. Likewise, a second layer of hexahedra is inserted along the set of «characteristic» edges, if the solid angle alongside them is sufficiently smaller than 180°. Also, another restriction exists, the operation is not allowed if the number of «characteristic» edges adjacent to a «characteristic» point does not equal 2 or 3. An application of this optimization step is demonstrated in Fig. 4c and d. All hexahedra with flat angles (two are marked in frames) have been removed. The remaining degenerate elements are removed by a splitting procedure (one is marked with circular frame in Fig. 4c) proposed in [10]. All hexahedra with an inverted face are split into four new ones by specific template (Fig. 4d), thus, the degenerate boundary quad along «characteristic» edge has vanished. To maintain the conformity of the mesh, the neighbor elements are also split up (Fig. 4d). Finally, to improve the mesh quality, a smoothing procedure is applied. We use different types of Laplacian smoothing weighted by the edges length, quads areas, and volume of hexahedra. It should be mentioned that often a simple Laplacian technique is not enough to get properly shaped cells. One of the options is to use the optimization-based smoothing method proposed in [2]. In our algorithm, we apply a modification of this method for the case of hexahedral cells. This approach is an iterative one and could improve the value of any hexahedra quality measure q which varies in the interval [−1; 1]. The algorithm works with three quality criteria for hexahedra cells, among which are scaled Jacobian, inverse aspect ratio, and skew metric. Also, we propose a normalized measure for a warping angle ! of a quadrilateral face q! = (π − !)/π. Since the optimization-based technique is time-consuming, it is often applied to the nodes with poor quality cells. In other cases, various types of Laplacian smoothing are used [2].
Hexahedral Mesh Generation Using Voxel Field Recovery
303
5 Test Examples In this section, the results of the algorithm on three types of STL geometry and one volumetric data representation are shown. All demonstrated hexahedral meshes do not contain inverted cells. The measure of the minimum scaled Jacobian has a value of QJ 0.2, which is acceptable for finite element algorithms. This quality metric was chosen as an objective function for the optimization-based smoothing technique. Meshes quality characteristics can be viewed in Table 1. Figure 5a demonstrates a cut view of the metal sleeve model with a cylindrical inclusion, the result hexahedral mesh contains N = 15,930 nodes and C = 13,842 cells. A relatively large value of maximal aspect ratio Qa = 33.8 emerges in the boundary layer cells around inclusion. Maximal skew metric of cells in the star model is Qs = 0.84. Though, all boundaries of the model are flat, the maximal warp angle of the inner quads of the mesh equals !w = 61.1°. This is because the only scaled Jacobian value was optimized, and other metrics were not taken into account. Due to the small number of «characterictic» features (only edges and no nodes), the mesh of the spring model has better values of scaled jacobian QJ = 0.4 and aspect ratio Qa = 4.2. The most optimal skew value Qs = 0.63 was obtained for a cube model containing 13 elliptic inclusions. The human head model (Fig. 1) was generated from a DICOM volume data file. Hounsfield scale values (or the values of extracted isosurfaces) for each material were the following: soft tissue α = −720, brain α = 1, skull α = 172. In addition to scaled Jacobian, a warping angle of quadrangles was also improved. Quality measures of the resulting mesh can also be seen in Table 1.
Table 1 Meshes characteristics Characteristic Dim h N C !w QJ Qa Qs
Sleeve 70 × 129 × 129 4 15,930 13,842 73.6° 0.22 33.8 0.84
Star 129 × 129 × 28 4 3894 2860 61.1° 0.29 20.7 0.84
Spring 86 × 151 × 86 1 239,757 195,904 54.3° 0.4 4.2 0.8
Cube 653 1 288,152 276,003 57.1° 0.4 4.9 0.63
Head 10293 2 1,363,369 1,308,341 37° 0.2 15.9 0.85
304
A. S. Karavaev and S. P. Kopysov
(a)
(b)
(c)
(d)
Fig. 5 Unstructured hexahedral mesh examples. (a) Sleeve with inclusion. (b) Star. (c) Spring. (d) Cube with inclusions
6 Conclusions This paper presented a further modification of early developed volume hexahedral mesh generator as applied to the models described by STL geometry. The main developments of new functionality are the following: – Obtaining from the original STL geometry a set of «characteristic» edges and nodes, which positions should be saved in the resulting hexahedral mesh T . The set is considered to be a «frame» of the model, which preserves all its sharp angles and faces. – Construction and mapping the part of boundary nodes of T onto the set to provide an approximation of boundary contour. The procedure is based on a sequential node projection at every element of . Here is the most suitable nodes are selected according to proposed priority criteria, which evaluate adjacent hexahedra number, quality measures of cells and faces, and the distance to the elements of . – Removing degenerated cells of T emerging along «characteristic» edges. The operation includes insertion of an additional surface layer of hexahedra along the edges and splitting inverted cells into four new ones according to the template described in [10].
Hexahedral Mesh Generation Using Voxel Field Recovery
305
Implementation of the new procedures allows to generate a uniform mesh accurately describing the original geometry of an arbitrary STL-model. Generation of multicomponent models for the case of voxel data is carried out by a sequential mesh construction for each isosurface value in descending order. In the case of a surface representation, the application of such an approach seems difficult, since the SDF file obtained from the STL-geometry contains only one isosurface value α = 0. Thus, the SDF file stores information about only one material of the model. Using one file in the SDF format allows to solve a specific case when the model contains areas with inclusions located entirely inside, or on one level with the orthogonal plane (Fig. 5a and d). To implement the general case it is necessary to use a set of SDF files, generated for every specific material. Then all orthogonal meshes, obtained from each SDF file, should be assembled in one. At the moment, an integration of the described technique to the algorithm just like an implementation of adaptive hexahedral mesh generation are questions of further research.
References 1. Awad, M., Rushdi, A., Misarah, A., Mitchell, S., Mahmoud, A., Chandrajit, B., Ebeida, M.: All-hex meshing of multiple-region domains without cleanup. Procedia Eng. 163, 251–261 (2016). https://doi.org/10.1016/j.proeng.2016.11.055 2. Cannan, S., Tristano, J., Staten, M.: An approach to combined Laplacian and optimizationbased Smoothing for triangular, quadrilateral, and quad-dominant meshes. In: 7th International Meshing Roundtable. Dearborn. Michigan, pp. 479–494 (1998) 3. Gao, X., Jakob, W., Tarini, M., Panozzo, D. Robust hex-dominant mesh generation using fieldguided polyhedral agglomeration. ACM Trans. Graph. 36(4), 114 (2017) 4. Gao, X., Shen, H., Panozzo, D.: Feature preserving octree-based hexahedral meshing. Comput. Graph. Forum 38, 135–149 (2019). https://doi.org/10.1111/cgf.13795 5. Karavaev, A., Kopysov, S.: The method of unstructured hexahedral mesh generation from volumetric data. Comput. Res. Model. 5, 11–24 (2013). https://doi.org/10.20537/2076-76332013-5-1-11-24 6. Ledoux, F., Weill, J.C.: An extension of the reliable Whisker Weaving algorithm. In: Proceedings of the 16th International Meshing Roundtable. Springer, Berlin (2008) 7. Marechal, L.: Advances in octree-based all-hexahedral mesh generation: Handling sharp features. In: Proceedings of the 18th International Meshing Roundtable. Springer, Berlin (2009) 8. Pellerin, J., Johnen, A., Remacle, J.-F.: Identifying combinations of tetrahedra into hexahedra: a vertex based strategy. Procedia Eng. 203, 2–13 (2017). https://doi.org/10.1016/j.proeng.2017. 09.779 9. Ruiz-Girones, E., Roca, X., Sarrate, J.: The receding front method applied to hexahedral mesh generation of exterior domains. Eng. Comput. 28, 391—408 (2012). https://doi.org/10.1007/ s00366-011-0233-y 10. Schneiders, R.: Automatic generation of hexahedral finite element meshes. Comput. Aided Geom. Des. 12, 693–707 (1995). https://doi.org/10.1016/0167-8396(95)00013-V 11. Zhang, Y., Bajaj, C.: Adaptive and quality quadrilateral/hexahedral meshing from volumetric data. Comput. Methods Appl. Mech. Engrg. 195(9), 942–960 (2006). https://doi.org/10.1016/ j.cma.2005.02.016
Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method with a Fast Collision Detecting Algorithm Jie Cao, Fei Yu, Zhonghai Gao, S. H. Lo, and Zhenqun Guan
Abstract Boundary layer meshes as an important part of hybrid mesh are often constructed via advancing layer method for CFD fluid simulations. One major difficulty in implementing a robust boundary layer meshing tool is to handle mesh collisions. In this work, the authors propose to enhance the Jump-and-Walk method by constructing a medial surface mesh in a constrained Delaunay triangulation to detect the safe marching space of front points. Medial surface can build a separation wall between adjacent boundary surfaces to prevent the intersection of boundary layer elements, and the computation of the distance between front points and the medial surface can be accelerated by walking through tetrahedra in sequence without additional data structures. A range of tests were performed for several complex configurations to demonstrate the capability of the method.
1 Introduction Considering the ease of use and calculation accuracy, the hybrid grid that takes full advantage of semi-structured prismatic grid and unstructured tetrahedral grid and considers the boundary layer effect is considered to be the best grid form for CFD calculations [1–3]. Since unstructured grid meshing techniques are very mature now [4–6], so the focus is commonly on the prismatic mesh generation. Advancing layer method is one of most popular algorithms for boundary layer meshing. Early attempts of this method were proposed by Lohner [7] and Pirzadeh [8]. There is a problem that self or global-intersecting meshes may appear especially at narrow
J. Cao () · F. Yu · Z. Gao · Z. Guan Dalian University of Technology, Dalian, China e-mail: [email protected]; [email protected]; [email protected]; [email protected] S. H. Lo The University of Hong Kong, Hong Kong SAR, China e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_20
307
308
J. Cao et al.
valley corners or adjacent surfaces. How to robustly and efficiently detect the grid collisions is one of main issues in related studies. Collision detection is a point location problem in nature. A data structure is usually needed to accelerate the search for objects, such as point, edge, cell, and so on. A k-d tree can be employed with a computational time between O(n log n) and O n2 for preprocessing the tree and O(log n) for each query. In addition, a closest point search algorithm based on uniform cubes can achieve a time efficiency of O(1) with small amount of memory for evenly distributed point set. One of the most common algorithms to locate the position of target point in a triangulation is Walk-through method [9–12]. A Delaunay triangulation can be constructed in O n5/4 expected time in 3D and the computational complexity of the algorithm is generally O(n1/4 ) per point inherently bound by the connectivity of the triangular mesh [11]. In general, collision detection algorithms can be divided into two categories according to the means used: (1) Intersection test; (2) Space detection. If an intersection test is used, benefiting from the determined locations of elements, it is possible to locate all intersecting or overlapping prisms precisely [7, 13, 14]. However, an additional data structure, like a k-d tree, Octree, alternating digital tree (ADT) [15] and so on, is needed to reduce the time complexity of locating operations. Grid intersections also can be removed by computing the marching space of front points [8, 9, 16, 17]. If a constrained Delaunay triangulation (CDT) is taken as the background grid, additional data structure is not necessary as we can call an existing tetrahedral mesh generator. One way is to fill the domain with a CDT and advance layers while always keeping the volume of elements positive [17]. This method is simple and robust but generally needs a large number of iterations to adjust the CDT, which may result in a low-efficiency problem. Jump-and-Walk method as a variant of Walk-through method was first proposed by Mücke et al. [11] and was used to compute the maximal advance distances of points on the boundary to reduce the total number of layers in narrow areas by Wang and Mare [9]. The time of only handling the boundary points is much less than other methods. However, the robustness of Wang and Mare’s method is poor for complex configurations. Medial surface as a skeleton abstraction of solid object provides a representation that simply captures the geometric proximity of boundary elements, which is described by the locus of the center of the maximal sphere as it rolls along the boundary. A continuous expression by geometric surfaces or a triangular mesh is usually necessary in many applications, such as path planning, size control [18, 19], structured mesh generation [20, 21] and so on. Medial surface also can be a natural wall to separate the opposite frontiers of boundary layer meshes at narrow regions and avoid the global and local grid collisions. In this work, we improve the robustness of the Jump-and-Walk method by constructing a medial surface mesh in the background grid to generate valid and high-quality boundary layer meshes. We aim to make the boundary layer meshing procedure easy to build and quick to execute with a simple data structure.
Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method
309
2 Overview The goal of this paper is to develop a fast collision detection algorithm to avoid the intersections of boundary layer meshes. The core of the enhanced Jump-and-Walk method (EJW) is a Ray Tracing accelerator based on a Walk-through algorithm. A CDT of boundary points is constructed first as the background mesh with a general tetrahedral mesh generator. We then test all front points on the boundary surface and make a rough adjustment to their total marching distances by walking through tetrahedra along the marching directions. After that, the marching pathes still have a risk in crossing each others. We introduce a medial surface mesh into the background mesh to build a wall between adjacent front points When front points are advanced layer by layer, all self-intersecting prisms are cleaned compulsively by computing the element Jacbian. In addition, we will test all risky points at each layer based on the new background mesh to remove the remaining local and global-intersecting prisms. Isotropic meshes are filled in the remaining region by Tetgen finally after boundary layer meshes are generated. A brief of our algorithm is provided in Algorithm 1. Algorithm 1 An overview of hybrid grid generation Require: Closed boundary surface mesh. Ensure: Hybrid mesh consisting of boundary layer meshes and isotropic tetrahedral meshes. 1: Initialize marching frontiers; compute and smooth marching directions and distances. 2: Construct a CDT background mesh and adjust the total marching distances of front points by EJW. 3: Introduce a medial surface mesh in the CDT as the new background mesh of EJW. 4: while i < n and Nf rontiers > 0 do 5: Initialize the i th -layer marching frontiers; compute and smooth the marching directions and distances. 6: Front point will stop marhcing if it satisfies one of the following conditions: • Any adjacent prism generated produces a negative Jacbian. • A multilevel difference in the number of neighboring layers will form. • Current total marhcing distance will exceed its allowed value or current march is tested to be risky by EJW. 7: Advance and update the frontiers. 8: i = i + 1. 9: end while 10: Fill isotropic meshes in the remaining region bounded by boundary layer meshes.
310
J. Cao et al.
3 Computation and Smoothing of Marching Directions and Distances The orthogonality of prism is an important property for the accuracy of fluid calculation. The initial marching direction of front point is determined by the normals of facets connected to the point. An angle-weighted average of these normals is usually taken to produce a reasonable surface normal at the patch as shown in Fig. 1a. However, it may result in an invalid visibility condition for the surface of discontinuous slopes, such as wing-fuselage junctions, sharp edges, troughs and peaks. This situation can be avoided with a visibility polygonal cone constructed by extending the facets around the front point. As a simplification of the region, a maximal inscribed circular cone with a half-cone angle βvisi can be constructed as shown in Fig. 1b [1], and its central axis can produce a valid normal vector most orthogonal to the sharp patch. Consider that most of the boundary surface is smooth, it is inefficient to compute visibility cones for all front points. To balance the reliability and efficiency of the algorithm, an alternative strategy relative to the maximal angle θmax between adjacent facet normals is proposed: • If θmax < 30°, the weighted average of surface normals is adopted; • If θmax ≥ 30°, the visibility cone is computed. The initial marching distance of front point could be a function value of characteristic angle of the patch that produces a relatively large marching distance in concave regions and a small value in convex regions to increase grid orthogonality
ni
ni
bvisi nk+1
p qk
ak
nk
p
pk+1
(a)
pk
(b)
Fig. 1 Computation of the normal at a point p: (a) the angle-weighted average of surface normals and (b) the axis vector of visibility cone
Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method
311
as the layers grow. Wang and Mare [9] defined the ith-layer marching distance with the customized layer thickness dil as di = (1 ± |cos(βvisi)|)dil .
(1)
The reason to select the cos function is that its value is between -1 and 1 and insensitive to a small variation of the βvisi. After the initial marching directions and distances are computed, an inverse-distance weighted Laplacian smooth is used to prevent grid overlap especially for closely spaced points.
4 Validity Check for Elements Several tests about the validity of prisms are carried out before the frontiers are advanced: (1) Element quality. The orthogonality of side edges and the aspect ratio of two triangles are two important quality indexes for prism. A scaled-aspect-ratio quality measure [16] is adopted in our algorithm. When the quality factor " ≤ 0, prism is a collapsed element which is not allowed to generate. (2) Topological connection. If the marching status of a point is turned off, all frontiers around it stop marching and pyramid transitional elements are generated between prisms and tetrahedra. The front point on the border of the marching and non-marching frontiers will become a cliff point in the next layer. The marching status of cliff points is always closed, then the number difference of adjacent layers will stay below 2 and the transitional elements can achieve a good quality. (3) Collision detection. In this work, EJW is proposed to make a quick adjustment to the total marching distances of all front points on the boundary and then estimate part of front points at each layer whether they have enough space to march to the next layer.
5 Construction of the Background Grid with Medial Surface Mesh (MSM) A CDT of boundary points is constructed and then is split to produce a decomposed CDT (DCDT) as shown in Fig. 2. To quickly locate the medial surface when walking through the tetrahedra, a MSM is approximately represented by a triangular mesh extracted from the DCDT. The details are depicted in Algorithm 2. As shown in Fig. 3, there are seven kinds of tetrahedra totally according to the number of boundary edges contained. This algorithm can build a tight wall mesh in a linear complexity by a two-step marking. The topology of MSM is closely
312
J. Cao et al.
Fig. 2 Left: a tetrahedron is decomposed into 17 small tetrahedrons. Right: The face containing 0, 1, or 2 boundary edges is decomposed by inserting extra points
Algorithm 2 Construction of MSM Require: A CDT Ensure: A MSM located in the DCDT 1: for each tetrahedron ∈ CDT do 2: Split it into 17 small tetrahedra by inserting points on the edges or inside the faces. • 6 points are inserted at the midpoints of edges. • 4 points are placed inside facets. For the facet containing 1 boundary edge, a point is inserted at the midpoint of the edge joining the midpoints of two non-boundary edges; otherwise, the point is inserted at the barycenter of the facet. 3:
Mark small facets inside the tetrahedron. • Mark all small facets consisting of three new points. • If the tetrahedron contains boundary edges, unmark the small facets connecting to the midpoint of boundary edge; if the number of boundary edges = 2, unmark the small facets opposite to the endpoint of boundary edge.
4: end for 5: Collect all marked facets as the MSM.
related to the tetrahedralization, which is similar to the dual graph of the CDT, i.e., Voronoi diagram. A further filtering for the MSM is not allowed to avoid small holes produced. Although the MSM is noisy near curved surfaces, as shown in Fig. 4, the intersection test will not be performed as the advance of front points is safe after the smoothing of marching vectors. The facets of MSM are alternately parallel to the boundary surfaces on their two sides with a size half of the boundary elements. If the angle between the normal vectors of boundary surfaces is near 180°, the MSM tends to be a planar surface with a minimal approximate error.
Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method
313
Fig. 3 Tetrahedrons containing 0–6 boundary edges with facets marked inside
Fig. 4 A MSM is built in a DCDT
6 The Enhanced Jump-and-Walk Method (EJW) By walking through the tetrahedra of CDT in sequence along the marching direction of a front point on the boundary, each iteration of Jump-and-Walk method (JWM) will reach a new tetrahedron. This process is repeated until the tetrahedron containing target point is found or the walk hits a boundary surface. Most grid intersections could be resolved by compressing the thickness of boundary layer meshes with the maximal walking distance computed by JWM. The algorithm is shown in Algorithm 3. To improve its robustness, EJW is proposed with two parts. EJW-A is the same as JWM while EJW-B is an extra collision test based on JWM for the front points still with a certain risk of intersecting with other grid after the adjustment of EJW-A.
314
J. Cao et al.
Algorithm 3 JWM Require: A DT with the topology data structure of O(1) query complexity; Starting point p; Target point q which is far from p along the marching direction Ensure: The maximal marching distance dmax of p 1: Initialize a random tetrahedron σ0 ∈ DT with p as one of vertexes. 2: σ ← σ0 . 0 nmax is the maximum number of iterations limited 3: while n < nmax do 4: Determine a face τ of σ along the walking direction: • no τ is selected, then q is inside σ , dmax = q − p. return dmax . • τ is selected and lies on boundary, then q is outside the DT, dmax = pinter − p. 0 pinter is the intersection point between the walking ray and the τ return dmax . • τ is selected and σneigh can be obtained. 5: Jump over the τ and walk along the σneigh . 6: σ ← σneigh . 7: n = n + 1. 8: end while
6.1 Risky Cliff Points Collision detection of the meshes relying on JWM is not always reliable. Figure 5 shows two typical examples that the test may fail. At the corner, the space is gradually increasing. The prisms generated upon the frontiers propelled from inflection points will be twisted first when the walking rays overlap each other. These frontiers then stop marching, from which steplike boundary layer meshes will be generated as shown in Fig. 6 because the numbers of neighboring layers cannot differ by more than one in our algorithm. As the layers increases, grid may intersects locally. At the exit of narrow channel, when the space increases sharply, global intersections may appear in a similar form even though the JWM has compressed the total thickness of layers in the channel properly. Each layer of
Fig. 5 Two typical examples that collision detection may fail just relying on Jump-and-Walk method. Left: at a corner. Right: at the exit of a narrow channel
Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method
315
Fig. 6 Under one of the four conditions, mesh collisions may happen at cliff points. Condition 1: small corner angle. Condition 2: large minimum number of layers. Condition 3: large total number of layers. Condition 4: big growth rate of layer thickness or small surface mesh size
the steplike meshes will produces some cliff points on the edges. The cliff point is a point on which an incomplete front patch is centered. As the number of layers increases, grid intersections first appear at the cliff points, which is related to corner angle, minimal number of layers where frontiers stop marching at first, growth rate of layer thickness or surface mesh size, total number of layers, and so on. Although sufficient iterations on smoothing marching vectors can alleviate or even avoid this problem, the time cost is expensive and it is not always effective.
6.2 Algorithm MSM can approximately split the solid space into several subdomains bounded by a continuous convex boundary surface and part of the MSM. The walking rays from a subdomain are hard to intersect with those from the neighboring subdomains as long as they does not cross the MSM. EJW-B performs a space detection in a DCDT with the MSM as the walking boundary. However, if the frontiers tested by EJW-B are not filtered, the number of layers produced is less near curved surfaces as the frontiers will hit the MSM quickly due to its noisy representation in sliver elements. One way to balance robustness and quality is to take an extra test just for cliff points, which as the starting points for Ray Tracing are far away from curved surfaces after the smoothing of marhcing vectors. In the preprocessing, front point p is a 0th-layer point and q is the target point far away from p. The maximal number of marching layers of p can be estimated by EJW-A with a safe factor rgap , which takes 0.3 to ensure clear distance between boundary layer meshes as shown in Fig. 7a. At the ith layer, p0 is the 0th-layer point and q is the target point (di + dave ) far away from p, where di is the marching distance and dave is the average surface mesh size at p0 as a safe threshold. If the corresponding (i + 1)th-layer point of p is a cliff point, EJW-B is carried out to check whether the cliff point is a risky point with a two-walk scheme. The first walk
316
J. Cao et al.
Fig. 7 Schematic of the enhanced Jump-and-Walk method: (a) EJW-A and (b) EJW-B
Fig. 8 DCDT and boundary layer meshes generated based on it
from p0 to p is to determine the tetrahedron where p is located and the second one from p to q is to evaluate whether the advance of p is safe as shown in Fig. 7b. p can march to the next layer only if i is less than the maximal number of marching layers and the ray pq does not intersect with the MSM. If p stops marching, the (i + 1)th-layer points of its neighbors will become cliff points. Therefore, its neighbors will also be tested until all points pass this test. If p0 is a feature point, then p will not be checked because the MSM will extends to the feature edge. As shown in Fig. 8, a reasonable number of boundary layers are generated near the curved boundary.
Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method
317
6.3 Time Complexity Let n be the number of front points on boundary, EJW-A will handle n points while EJW-B just handle εn points. ε is smaller than 1 as only the top-layer front points in narrow area may be tested by EJW-B like the ones marked in the dotted box of Fig. 8. Totally the collision detection operation will be called (1 + ε)n times. As JWM requires the expected time close to O n1/4 per point, the time complexity of our algorithm is O n5/4 .
7 Generation of Isotropic Meshes With the closed inflated boundary as input, isotropic tetrahedral meshes can be generated in the remaining flow field. There are many efficient, stable and opensource tetrahedral mesh generators, such as Gmsh, NetGen, Tetgen, etc. In this work, the generation of CDT and isotropic tetrahedral meshes is completed via TetGen program.
8 Work Examples and Industrial Applications In this section, we present three representative cases to discuss the performance of our algorithm. 3D-cavity is a model constructed by simplifying and extruding the 2D-cavity below the combustion chamber of a gas turbine engine without any curved feature for a basic performance test; Impingement cooling channel (ICC) is a common internal flow model containing periodic surfaces and smooth corners while F6 is a complex external flow aircraft. All cases were run in a single core of an Intel Core i7-8850H CPU with 16 GB of RAM.
8.1 Hybrid Mesh Table 1 shows the statistics of surface mesh inputted and hybrid mesh generated by our algorithm for the models. In this work, the input is required to be a closed trianglar mesh and the boundary layer meshes generated consist of prisms, but quadral and hexahedral elements also can be supported simply by a splitting of quads before the input and a merging of prisms after the output. For the ease of examination, the surface meshes in narrow areas were marked red while the rest were green. As shown in Fig. 9 (left), the locus of MSM is consistent with actual medial surface on the whole and geometric features of 3Dcavity have been identified. From the cut-up view of hybrid mesh and the local
318
J. Cao et al.
Table 1 Data statistics of hybrid mesh Model Cav ICC F6
Algorithm Ours Pointwise Ours Pointwise Ours Pointwise
# nodes 381 k 381 k 152 k 152 k 150 k 150 k
# tri. 762 k 762 k 304 k 304 k 299 k 299 k
# layers 26 26 26 26 35 35
# tet. 3.4 M 9.4 M 3.7 M 2.8 M 2.4 M 1.9 M
# pyramids 62 k 76 k 37 k 42 k 53 k 49 k
# prisms 13.0 M 13.8 M 6.0 M 6.3 M 8.9 M 9.3 M
Fig. 9 MSM and hybrid mesh of 3D-cavity
Fig. 10 MSM and hybrid mesh of ICC
enlarged pictures in Fig. 9 (right), both global and local grid intersections at narrow channels and corners are effectively avoided with our algorithm. In the same way, Fig. 10 shows the MSM and hybrid mesh of ICC. Although part of the MSM is chaotic around periodic surfaces and curved corners, reasonable boundary layer
Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method
319
meshes have been generated with enough layers. It indicates the drawback of MSM can be overcome. Moreover, the MSM is continuous and almost leak-free, which improves the robustness of our algorithm. Figure 11 (left) gives a cut-up view of the DCDT outside F6. The locus of MSM is visible from the enlarged pictures with the branches in the big tetrahedra of CDT. Figure 11 (right) shows the front cutup views of hybrid mesh outside F6. The thickness of boundary layers increases gradually from the corners to the outside and a clear spacing between prismatic meshes is always maintained. To demonstrate the quality of the boundary layer meshes generated by the proposed method, a comparison was made with a popular commercial software Pointwise, which contains a T-Rex technique that anisotropic tetrahedral elements are generated first around the model, and then boundary layer meshes are formed by combining three tetrahedral elements into a prism [22]. The determination of selfintersection in the front surface mesh during continuous local mesh modification is based on an intersection test accelerated by an axis-aligned binary space partitioned tree. With the same surface mesh of the models as the input, the hybrid mesh generated by Pointwise are shown in Table 1, and the quality distributions of prismatic elements are plotted in Fig. 12 with the scaled aspect ratio, where the ratio in the range of 0.9–1.0 has been cut by 70 for the ease of examination. As our algorithm avoids grid collisions based on space detection by maintaining a safe
Fig. 11 MSM and hybrid mesh of F6 Cav model Our Algorithm Pointwise
30
30
+70
20 15
10
25 20
+70
15 10
5
5
0
0 0.0 0.1 0.2 0.3 0.4 0.05 0.25 0.450.5 0.6 0.650.7 0.8 0.850.9 1.0 Scaled Aspect Ratio
ICC model Our Algorithm Pointwise
Percentage of Total
25
Percentage of Total
Percentage of Total
30
25
20
F6 model Our Algorithm Pointwise
+70
15 10 5 0
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.05 0.25 0.45 0.65 0.850.9 1.0 Scaled Aspect Ratio
Fig. 12 Quality distributions of the prismatic elements
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.05 0.25 0.45 0.650.7 0.8 0.850.9 1.0 Scaled Aspect Ratio
320
J. Cao et al.
space between adjacent meshes, the total number of prisms is less than Pointwise. However, a more desirable distribution can be observed in the result produced by our algorithm.
8.2 Comparison of JWM and EJW Table 2 shows the time of background grid generation and Ray Tracing (RT) and the results of intersection tests by JWM and EJW. JWM or EJW-A performs the RT in a CDT while EJW-B is based on a DCDT. The constructions of the CDT and DCDT consumed about the same amount of time according to the statistics. The RT in EJW-B took less than 10 s to detect the collisions of boundary layers meshes in the millions while that in EJW-A took about 5 times as long. For each of front points tested we count the number of tetrahedra visited in a RT and take the mean Mn . Figure 13 plots the ratio Mn /n1/4 with a front point set of size m tested by EJW-A and EJW-B in a triangulation of n points for the 3D-cavity model. Both of the ratio values are less than 1.5 close to the result produced by Mücke et al. [11]. As EJW-A tested all front points on the boundary, totally about 1.2 layers of front points were handled by the proposed method. When the value of n reaches 381 k, JWM fails the intersection test for the 3Dcavity model. The grid also intersects for the ICC and F6 if JWM is adopted. Figure 14 shows the intersected or almost intersected meshes generated by JWM, while these problems are effectively alleviated by EJW at the same positions. It indicates that our algorithm can produce a valid result under different conditions. Moreover, the construction of DCDT and the ray tracing operations can run in parallel without large modification to the program.
Table 2 Time statistics of JWM and EJW Model # nodes Cav 24 k 47 k 91 k 175 k 381 k 562 k ICC 152 k F6 150 k
# tri. 47 k 94 k 183 k 351 k 762 k 1125 k 304 k 299 k
# layers 26 26 26 26 26 26 26 35
JWM CDT(s) 0.977 1.736 3.444 6.463 14.959 26.838 11.203 13.467
RT(s) 0.612 1.424 3.872 9.180 29.904 55.051 22.970 58.959
T/F T T T T F F F F
EJW CDT(s) 0.952 1.762 3.402 6.56 16.498 26.909 10.935 13.574
RTA(s) 0.593 1.417 3.767 9.538 30.214 55.855 21.911 58.208
DCDT(s) 1.212 2.263 4.528 8.283 19.219 30.099 12.949 13.344
RTB(s) 0.153 0.479 0.753 1.545 5.936 9.092 2.93 6.953
T/F T T T T T T T T
Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method 2
434099
1.5
EJW-B
1.5 1/4
287423
1/4
130768
/
/
2
EJW-A
1
57865
1
70564 36417
0.5
8617
0.5
m = n = 18612
200000
400000
600000
14701 23988
46097
m = 4823
0
0
0
321
0
2000000
4000000
6000000
Fig. 13 The ratio Mn /n1/4 by EJW-A and EJW-B for Cav. Mn is the mean of the number of tetrahedra visited for a front point set of size m tested in a triangulation of n points
Fig. 14 Comparison of boundary layer meshes: (a) JWM and (b) EJW
9 Conclusions and Discussions In this work, the JWM has been developed, which relies only on CDT without other extra data structures. By introducing a wall of medial surface into the background grid, the intersections of boundary layer meshes around complex geometrical features can be much alleviated. Several complex geometries with a lot of special features were tackled to test the effectiveness of the proposed method.
322
J. Cao et al.
This paper also has proposed a novel method to quickly extract a medial surface from the CDT. As the construction of medial surface is a significant topic, further researches can be conducted to improve the approximate accuracy.
References 1. Kallinderis, Y., Ward, S.: Prismatic grid generation for three-dimensional complex geometries. AIAA J. 31, 1850–1856 (1993) 2. Kallinderis, Y., Khawaja, A., McMorris, H.: Hybrid prismatic/tetrahedral grid generation for viscous flows around complex geometries. AIAA J. 34, 291–298 (1996) 3. Zheng, Y., Xiao, Z., Chen, J., et al.: Novel methodology for viscous-layer meshing by the boundary element method. AIAA J. 56, 209–221 (2018) 4. Si, H.: TetGen, a Delaunay-based quality tetrahedral mesh generator. ACM Trans. Math. Softw. 41, 11 (2015) 5. Lo, S.H.: 3D Delaunay triangulation of non-uniform point distributions. Finite Elem. Anal. Des. 90, 113–130 (2014) 6. Yu, F., Zeng, Y., Guan, Z.Q., et al.: A robust Delaunay-AFT based parallel method for the generation of large-scale fully constrained meshes. Comput. Struct. 228, 106170 (2020) 7. Loehner, R.: Matching semi-structured and unstructured grids for Navier-Stokes calculations. In: AIAA 93-3348-CP, pp. 555–564 (1993) 8. Pirzadeh, S.: Unstructured viscous grid generation by the advancing-layers method. AIAA J. 32, 1735–1737 (1994) 9. Wang, F., Mare, L.D.: Hybrid meshing using constrained Delaunay triangulation for viscous flow simulations. Int. J. Numer. Methods Eng. 108, 1667–1685 (2016) 10. Borouchaki, H., Lo, S.H.: Fast Delaunay triangulation in three dimensions. Comput. Methods Appl. Mech. Eng. 128, 153–167 (1995) 11. Mücke, E.P., Saias, I., Zhu, B.: Fast randomized point location without preprocessing in twoand three-dimensional Delaunay triangulations, Comput. Geom. 12, 63–83 (1999) 12. Shan, J.L., Li, Y.M., Guo, Y.Q., et al.: A robust backward search method based on walkthrough for point location on a 3D surface mesh. Int. J. Numer. Methods Eng. 73, 1061–1076 (2008) 13. Tomac, M., Eller, D.: Towards automated hybrid-prismatic mesh generation. Procedia Eng. 82, 377–389 (2014) 14. Wang, Z., Quintanal, J., Corral, R.: Accelerating advancing layer viscous mesh generation for 3D complex configurations. Procedia Eng. 112, 35–46 (2019) 15. Bonet, J., Peraire, J.: An alternating digital tree (ADT) algorithm for 3D geometric searching and intersection problems. Int. J. Numer. Methods Eng. 31, 1–17 (1991) 16. Dyedov, V., Einstein, D.R., Jiao, X., et al.: Variational generation of prismatic boundary-Layer meshes for biomedical computing. Int. J. Numer. Methods Eng. 79, 907–945 (2009) 17. Alauzet, F., Marcum, D.: A closed advancing-layer method with changing topology mesh movement for viscous mesh generation. In: Proceedings of the 22th International Meshing Roundtable. Springer, Cham (2014) 18. Hubbard, P.M.: Approximating polyhedra with spheres for time-critical collision detection. ACM Trans. Graph. 15, 179–210 (1996) 19. Quadros, W.R., Shimada, K., Owen, S.J.: Skeleton-based computational method for the generation of a 3D finite element mesh sizing function. Eng. Comput. 20, 249–264 (2004) 20. Fogg, H.J., Armstrong, C.G., Robinson, T.T.: New techniques for enhanced medial axis based decompositions in 2-D. Procedia Eng. 82, 162–174 (2014)
Generation of Boundary Layer Meshes by the Enhanced Jump-and-Walk Method
323
21. Price, M.A., Armstrong, C.G., Sabin, M.A.: Hexahedral mesh generation by medial surface subdivision: Part I. Solids with convex edges. Int. J. Numer. Methods Eng. 38, 3335–3359 (1995) 22. Steinbrenner, J.P., Abelanet, J.P.: Anisotropic tetrahedral meshing based on surface deformation techniques. In: 45th AIAA Aerospace Sciences Meeting and Exhibit, pp. 554. AIAA, Reno (2007)
Part IV
Numerical Geometry and Applications
An Improved Algorithm for Scattered Data Interpolation Using Quartic Triangular Bézier Surfaces Krassimira Vlachkova
Abstract We revisit the problem of interpolation of scattered data in R3 and propose a solution based on Nielson’s minimum norm network and triangular Bézier patches. We aimed at solving the problem using the least number of polynomial patches of the smallest possible degree. We propose an alternative to the previously known algorithms, see Clough and Tocher (Finite element stiffness matrices for analysis of plate bending. In: Proceedings of the 1st Conference on Matrix Methods in Structural Mechanics, vol. 66–80, pp. 515–545. Wright-Patterson A. F. B., Ohio, 1965) and Shirman and Séquin (Comput Aided Geom Des 4:279–295, 1987; 8:217– 221, 1991). Although conceptually similar, our algorithm differs from the previous in all its steps. As a result the complexity of the resulting surface is reduced and its smoothness is improved. We present results of our numerical experiments.
1 Introduction Scattered data interpolation is an important problem in Computer Aided Geometric Design and finds applications in various areas including automotive, aircraft and ship design, architecture, archeology, computer graphics, biomedical informatics, scientific visualization, and others. In general the problem can be formulated as follows: Given a set of points di = (xi , yi , zi ) ∈ R3 , i = 1, . . . , N, find a bivariate function F (x, y) defined in a certain domain D containing points vi = (xi , yi ), such that F possesses continuous partial derivatives up to a given order and F (xi , yi ) = zi .
K. Vlachkova () Faculty of Mathematics and Informatics, Sofia University “St. Kliment Ohridski”, Sofia, Bulgaria e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_21
327
328
K. Vlachkova
Various methods for solving this problem were proposed and applied, see [10, 11, 13, 14]. Further information and treatment more recently have been presented in [1–3, 7]. A standard approach to solve the problem consists of two steps:
Step 1. Construct a triangulation T = T (v1 , . . . , vN ); Step 2. For every triangle in T construct a surface (patch) which interpolates the data at the three vertices of T . The interpolation surface constructed in Step 2 is usually polynomial or piecewise polynomial. Typically, the patches are computed with a priori prescribed normal vectors at the data points. G1 or G2 -smoothness of the resulting surface is achieved either by increasing the degree of the patches, or by the so called splitting in which for each triangle in T a macro-patch consisting of a fixed number of Bézier sub-patches is constructed. Splitting was originally proposed by Clough and Tocher [6] and further developed by Percell [16] and Farin [8] for solving different problems. Known splitting algorithms apply splitting to all macro-patches defined in D. We point out that splitting decreases the smoothness of a polynomial macropatch to G1 . Shirman and Séquin [18, 20] construct a G1 -smooth surface consisting of quartic triangular Bézier surfaces. Their method assumes that the normal vectors at points di , i = 1, . . . , N, are given as part of the input. Shirman and Séquin construct a smooth cubic curve network defined on the edges of T , first, and then degree elevate it to quartic. This increases the degrees of freedom and allows them to connect smoothly the adjacent Bézier patches. Next, they apply splitting where for each triangle in T a macro-patch consisting of three quartic Bézier sub-patches is constructed. To compute the inner Bézier control points closest to the boundary of the macro-patch, Shirman and Séquin use a method proposed by Chiyokura and Kimura [4, 5]. The interpolation surfaces constructed by Shirman and Séquin’s algorithm often suffer from unwanted bulges, tilts, and shears as pointed out by the authors in [19] and more recently by Hettinga and Kosinka in [12]. Nielson [15] proposes a method which computes a smooth interpolation curve network defined on the edges of T so as to have common tangent planes at the data points and to satisfy an extremal property. This curve network is called minimum norm network (MNN) and is cubic. Nielson extends the MNN to a smooth interpolation surface using a blending method based on convex combination schemes. The interpolant obtained is a rational function on every triangle in T . In this paper we aim at constructing an interpolation surface that is piecewise polynomial and consists of the least number of patches of the smallest possible degree. Such interpolants are computationally tractable and desired in practice. We propose an algorithm that constructs interpolants consisting of quartic triangular Bézier patches and improves on Shirman and Séquin’s method in various ways. More precisely, our contributions are as follows. (i) We use the MNN and then degree elevate it to quartic. An important advantage of this approach is that the MNN is obtained through a global optimization of the curve networks defined on the edges of T which improves the shape of the
An Improved Algorithm for Scattered Data Interpolation
329
patches. Another advantage is that the normal vectors at the data points are obtained through the computation of the MNN. (ii) Our algorithm does not necessarily apply splitting in all triangles of T . We identify a subset of triangles Ts ⊂ T where splitting needs to be applied. Finding the minimum size set Ts is computationally hard, and instead, we adopt an efficient incremental heuristic, where at each step the best candidate triangle is added to Ts . Decreasing the size of Ts reduces the complexity of the resulting surfaces and improves their quality. (iii) We compute the control points of the Bézier patches so that the oscillations of the resulting interpolation surface near edges and vertices are minimized and distortions and twists are avoided. (iv) Shirman and Séquin impose an additional condition that the three quartic curves defined on the common edges of the three sub-patches must be degree elevated cubic curves. This condition is not necessary to obtain G1 -continuity across the common edges of the sub-patches. We use different condition for the inner points of the sub-patches and believe that such a choice would facilitate the construction of convex macro-patches. The remainder of this paper is organized as follows. In Sect. 2 we present some preliminary results. Our algorithms are presented in Sect. 3. In the final Sect. 4 examples of some of our numerical experiments are presented and compared with surfaces generated by Shirman and Séquin’s method.
2 Preliminaries 2.1 Nielson’s MNN Let N ≥ 3 be an integer and di := (xi , yi , zi ), i = 1, . . . , N, be different points in R3 . We call this set of points data. The data are scattered1 if the projections vi := (xi , yi ) onto the plane Oxy are different and non-collinear. Hereafter we assume that a triangulation T of the points vi , i = 1, . . . , N, is given and fixed. Furthermore, for the sake of simplicity, we assume that the domain D formed by the union of the triangles in T is simply connected. The set of the edges in T is denoted by E. If there is an edge between vi and vj in E, it will be referred to by eij or simply by e if no ambiguity arises. A curve network is a collection of realvalued univariate functions {fe }e∈E defined on the edges in E. With any real-valued
1 Note that this definition of scattered data slightly misuses the commonly accepted meaning of the term. It allows data with some structure among points vi . We have opted to do this in order to cover all cases where our presentation and results are valid.
330
K. Vlachkova
bivariate function F defined on D we naturally associate the curve network defined as the restriction of F on the edges in E, i.e., for e = eij ∈ E, t t t t xj , 1 − yj , 1− xi + yi + e e e e 2 2 xi − xj + yi − yj . where 0 ≤ t ≤ e and e =
fe (t) := F
(1)
Furthermore, according to the context F will denote either a real-valued bivariate function or a curve network defined by (1). We introduce the following class of smooth interpolants defined on D F := F (x, y) ∈ C 1 (D) | F (xi , yi ) = zi , i = 1, . . . , N, fe ∈ AC, fe ∈ L2 , e ∈ E ,
where C 1 (D) is the class of bivariate functions defined in D which possess continuous first order partial derivatives, AC is the class of univariate absolutely continuous functions defined in [0, e], and L2 is the class of univariate functions defined in [0, e] whose second power is Lebesgue integrable. The restrictions on E of the functions in Fp form the corresponding class of so-called smooth interpolation curve networks C(E) := F|E = {fe }e∈E | F (x, y) ∈ F . The smoothness of the interpolation curve network F ∈ C(E) geometrically means that at each point di there is a tangent plane to F , where a plane is tangent to the curve network at the point di if it contains the tangent vectors at di of the curves incident to di . For F ∈ C(E) we denote the curve network of second derivatives of F by F := {fe }e∈E . The L2 -norm of F is defined by
2 2 2 2 2F 2 2 := 2F 2 = L (T )
e∈E 0
e
!1/2
f (t)2 dt e
.
Nielson [15] considered and solved the following extremal problem (P)
2 2 Find F ∗ ∈ C(E) such that 2F ∗ 2 =
2 2 inf 2F 2.
F ∈C(E)
The unique solution (MNN) to (P) is a cubic curve network and is obtained by solving a linear system of equations.
An Improved Algorithm for Scattered Data Interpolation
331
2.2 The G1 -Continuity Conditions Let C1 and C2 be cubic triangular Bézier patches whose common boundary is the cubic curve q(t). Let q(t) = 3i=0 qi Bi3 (t), where qi , i = 0, . . . , 3, be the control points of q(t), and Bim (t) be the Bernstein polynomials of degree m, m ∈ N, defined for 0 ≤ t ≤ 1 by Bim (t)
m! , for i = 0, . . . , m, m = i!(m−i)! i 0, otherwise.
m i := t (1 − t)m−i , i
Let us degree elevate C1 and C2 to quartic Bézier patches and denote the control points of the degree elevated q(t) by qˆ i , i = 0, . . . , 4, where qˆ 0 ≡ q0 and qˆ 4 ≡ q3 . Then q(t) = 4i=0 qˆ i Bi4 (t) where qˆ i = 4i qi−1 + 1 − 4i qi , i = 0, . . . , 4. Let pi and ri , i = 0, . . . , 3, be the nearest to q(t) control points of C1 and C2 , respectively, see Fig. 1 (left). Farin [9, pp. 368–371] proposed the following sufficient conditions for G1 -continuity between C1 and C2 . i i bi,4 + 1 − bi,0 = 0, 4 4
i = 0, . . . , 4,
t2 p1
p0
q ˆ0
q ˆ1 r0
q ˆ2
q ˆ21
p3
p2
q ˆ4
q ˆ3 r3
(2)
q ˆ31 t3
q ˆ11
q0 q ˆ51
q ˆ41
t1
t5
t4 Fig. 1 Left: the G1 -continuity conditions: the four shaded quadrilaterals are planar. Right: the vertex enclosure problem for an odd degree vertex always has a solution
332
K. Vlachkova
where bi,0 = α0 pi + (1 − α0 )ri − β0 qˆ i + (1 − β0 )qˆ i+1 , bi,4 = α1 pi−1 + (1 − α1 )ri−1 − β1 qˆ i−1 + (1 − β1 )qˆ i , and 0 < αi < 1, i = 1, 2. From (2) for i = 0 and i = 4 we obtain b0,0 = 0 ⇒ α0 p0 + (1 − α0 )r0 = β0 qˆ 0 + (1 − β0 )qˆ 1 ,
(3)
b4,4 = 0 ⇒ α1 p3 + (1 − α1 )r3 = β1 qˆ 3 + (1 − β1 )qˆ 4 .
(4)
The geometric meaning of (2) is that the four shaded quadrilaterals in Fig. 1 (left) are planar. Moreover, αi , βi , i = 1, 2, are uniquely determined by the intersection point of the diagonals of the first and the last quadrilaterals, respectively.
2.3 The Vertex Enclosure Problem Let v be an inner vertex in T , i.e., v ≡ vi for some i, 1 ≤ i ≤ N, and q0 be the corresponding point di . Let n be the degree of v, i.e., the number of the edges incident to v. Let τk , k = 1, . . . , n, be the triangles in T with common vertex v listed in counterclockwise order around v, where τ1 is arbitrarily chosen. For k = 1, . . . , n, let Tk be the quartic Bézier patch defined in τk , and 4 ˆ ki Bi4 (t) be the degree elevated cubic curves of the MNN with q k (t) = i=0 q starting point q0 defined on the edges of τk . We denote by αik , βik , i = 0, 1, the corresponding coefficients for q k (t) defined by (3) and (4). Let tk be the nearest to q0 inner control point of Tk , k = 1, . . . , n, see Fig. 1 (right) for n = 5. By applying (3) to Tk , k = 1, . . . , n, we obtain the following linear system for the unknowns tk , ⎛ 1 − α02 α02 ⎜ 0 1 − α3 0 ⎜ ⎜ .. .. ⎜ . . ⎜ ⎝ 0 0 α01 0
0 α03 .. .
··· ··· .. .
0 0 .. .
0 0 .. .
⎞⎛
t1 t2 .. .
⎞
⎛
s1 s2 .. .
⎞
⎟⎜ ⎟ ⎜ ⎟ ⎟⎜ ⎟ ⎜ ⎟ ⎟⎜ ⎟ ⎜ ⎟ ⎟⎜ ⎟=⎜ ⎟, ⎟⎜ ⎟ ⎜ ⎟ n n ⎝ ⎝ ⎠ ⎠ tn−1 sn−1 ⎠ 0 · · · 1 − α0 α0 0 · · · 0 1 − α01 tn sn
(5)
where the points sk depend on αik , βik , qˆ ki , k = 1, . . . , n; i = 1, 2. The existence of a solution to system (5) is known as the vertex enclosure problem. Peters [17] proved that the rank of (5) in n for odd n, and n − 1 for even n. Therefore, if n is odd then system (5) always has a unique solution. If n is
An Improved Algorithm for Scattered Data Interpolation
333
even then by Gauss elimination we obtain that (5) has a solution if and only if sn 1 − α02 . . . 1 − α0n − sn−1 α01 . . . α0n−1 +
n−2
(−1)k sk α01 . . . α0k 1 − α0k+2 . . . 1 − α0n = 0.
k=1
(6)
3 Outline of Our Algorithms In this section we propose algorithms to construct G1 -continuous surface consisting of Bézier patches in the presence of even degree vertices. In [17] it is shown that although splitting does not eliminate even degree vertices, the vertex enclosure problem can be solved successfully since splitting adds more degrees of freedom. However, it is not necessary to split all triangles in T . In case the vertex is of even degree and (6) doesn’t hold, it suffices to split just one triangle incident to the vertex. Our goal is to reduce the number of the splitted triangles since splitting decrease the smoothness of the macro-patch to G1 .
3.1 Determining the Set Ts First, using degree elevation we represent all cubic curves comprising the MNN as quartic Bézier curves. Next, we identify an optimized set Ts of triangles where splitting needs to be applied. For the remaining triangles, those in T \ Ts , we simply construct the standard quartic Bézier patch. Let V1 be the set of all inner vertices in T . First, for each edge e incident to V1 for which the corresponding coefficients α0 (e) and α1 (e) defined by (3) and (4) are different, we insert the triangles incident to e in Ts and mark the endpoint vertices of e. Next, we identify a set V2 ⊂ V1 consisting of vertices that: (i) are not marked; (ii) have even degree; (iii) Equation (6) does not hold. Let T2 be the set of triangles incident to vertices in V2 . We assign weights w, w = 1, 2, or 3, to triangles in T2 equal to the number of vertices in T2 incident to the corresponding triangle. We organize T2 in a priority queue with respect to the weights. While T2 is nonempty we insert a triangle with maximum weight in Ts , remove its vertices from V2 , and update the weights and the queue.
334
K. Vlachkova
Algorithm 1 below takes the MNN as an input and construct a G1 -continuous interpolating surface F (x, y) defined on D which consists of triangular quartic Bézier patches. Algorithm 1 Step 1. Step 2. Step 3. Step 4. Step 5.
Compute the control points of the curves in the MNN Degree elevate all curves to quartic curves. Compute an optimized set Ts as described above. For each τ ∈ T \ Ts compute 3 inner control points and construct a macro-patch. For each τ ∈ Ts compute 19 inner control points and construct three sub-patches using Algorithm 2 for splitting as described in Sect. 3.2.
3.1.1 Solving the Vertex Enclosure Problem Let v be an inner vertex of T of degree n and q0 be the corresponding data point. First, we compute the control points t1 , . . . , tn which are the nearest to q0 , see Fig. 2. If no triangle with vertex v belongs to Ts then we compute t1 , . . . , tn by solving the corresponding system (5), see Fig. 1 (right). Let there be a triangle in Ts with vertex v. In Fig. 2 an inner vertex v of degree 7 incident to four triangles in Ts is shown. Let τ1 , . . . , τr be the triangles with vertex v listed in counterclockwise order around v, where τ1 is arbitrarily chosen. Let tk be the nearest to q0 point for τk , k = 1, . . . , r. We divide τ1 , . . . , τr into groups of consecutive triangles such that the first and the last triangles in each group are sub-patches, and the intermediate triangles are macro-patches, see Fig. 2 where the groups are four: τ1 , τ2 , τ3 , τ4 ; τ5 , τ6 ; τ7 , τ8 , τ9 ; τ10 , τ11 . The groups are uniquely defined and their number is equal to the number of the triangles in Ts incident to v. Let τ1 , . . . , τm be any of the groups. We compute t1 , . . . , tm by solving the corresponding system (5). Since τ1 and τm do not have a common edge then the last equation of (5) is excluded. Then we can represent t1 , . . . , tm as linear functions of tm using (5). We aim at minimizing the unwanted oscillations between patches Q1 , . . . , Qm using tm as a Fig. 2 An inner vertex v of degree 7 with four incident triangles in Ts . The points ti are the nearest control points to the corresponding data point q0 , i = 1, . . . , 11
τ1
t2
τ2
t9
t3 τ3
τ4
τ11 τ10
t1 t11 t 10
v t4 t5 τ5
τ6
t6
t8 t7 τ7
τ9 τ8
An Improved Algorithm for Scattered Data Interpolation
335
shape parameter. We compute its first two coordinates as shown in Sect. 3.2. Let zi denote the third coordinate m−1 of ti , i = 1,2 . . . , m. We compute zm by minimizing the function g(zm ) = i=1 (zi+1 − zi ) . The minimum is found readily since g (zm ) = 0 is a linear equation. In the case where v is a boundary vertex we compute the corresponding points t1 , . . . , tr analogously to the case of an inner vertex. In this case τ1 is uniquely determined and it is possible that either the first group of triangles starts, or the last group ends with a macro-patch instead of a sub-patch. We note that if a triangle doesn’t belong to Ts then by solving the vertex enclosure problem for its three vertices we completely determine the corresponding macropatch since we obtain its three inner control points.
3.2 Computing the Control Points of the Sub-patches Let τ be a triangle in Ts and T be the corresponding macro-patch defined in τ . We compute the control points of the three Bézier sub-patches consecutively in four layers as shown in Fig. 3(left). The first layer consists of inner control points that are the nearest to the boundary of τ . The last fourth layer contains a single point z. This point z is the splitting point and will be computed as a center of the triangle with vertices in the previous third layer. We use the following notation.
vertices of the sub-patches;
inner control points of the three inner boundary curves of the sub-patches;
• inner control points on the boundary of the macro-patch; ◦ inner control points of the sub-patches.
Next we explain in detail our choice of the control points in the first level. There are three points of type and six points of type ◦ in this layer, see Fig. 3(left). First, we compute points of type as centers of the three small triangles with vertices ˆ30 q ˆ31 q ˆ32 q
z5 x2 z6 ˆ12 q ˆ10 q
ˆ11 q
ˆ13 q z1
ˆ33 q z
x3
z4 x1 z3
ˆ23 q z2
ˆ22 q
ˆ21 q
ˆ20 q
Fig. 3 (left) Construction of a G1 -continuous Bézier macro-patch by splitting to three subpatches. (right) The control points in the first layer are computed to avoid unwanted twisting, tilting, and oscillations between the adjacent patches
336
K. Vlachkova
•• on the boundary of the macro-patch. Then we compute the points zi , i = 1, 2, of type ◦ as follows. Let the corresponding edge of τ be inner for T and q˜ i1 , z˜ i , i = 1, 2, be the corresponding control points of the neighbouring patch, see Fig. 3(right). We compute consecutively the following points. zi := qˆ 11 + qi − m1 ,
z˜ i := q˜ 11 + qi − m1 ,
zi := qˆ 21 + qi − m2 , i i zi + zi , ai := 1 − 3 3
z˜ i := q˜ 21 + qi − m2 , i i z˜ i + z˜ i , a˜ i := 1 − 3 3
i = 1, 2,
where qi , i = 1, 2, are control points of the cubic curve defined on the common edge of τ and its neighbouring triangle, and mi , i = 1, 2, are the intersection points of the diagonals of the quadrilaterals qˆ 10 qˆ 11 •q˜ 11 and •qˆ 21 qˆ 20 q˜ 21 , respectively, as shown in Fig. 3(right). Let zi := (ξi , ηi , ζi ) and z˜ i := (ξ˜i , η˜i , ζ˜i ). We choose ξi , ηi and ξ˜i , η˜ i to be equal to the corresponding coordinates of ai and a˜ i , respectively, i = 1, 2. In this way the projections of zi , i = 1, 2, onto Oxy lie inside τ . Hence, we avoid unwanted twisting and tilting of the patch. We compute the third coordinates ζi , ζ˜i so that ζi = ζ˜i and zi , z˜ i , qi are collinear, i = 1, 2. In this way we avoid unwanted oscillations between the adjacent patches. In the case where the corresponding edge of τ is boundary for T , i.e., there is no neighbouring patch of T , we compute zi , i = 1, 2 as follows. ri
:=
qˆ 11
− qˆ 10
+ qi ,
ri
:=
qˆ 21
− qˆ 20
+ qi ,
i i ri + ri , zi := 1 − 3 3
i = 1, 2.
The rest of the points zi , i = 3, . . . , 6, are computed analogously. Algorithm 2 below takes a triangle τ in Ts and the degree-elevated quartic boundary control points of the corresponding patch and computes 19 control points of the three G1 -continuous quartic Bézier sub-patches.
4 Examples To demonstrate the results of our work we present here two examples and compare the surfaces generated by our algorithms and Shirman and Séquin’s algorithm. For the latter we also use the MNN as input. Example 1 We consider√data obtained from a√regular triangular√pyramid. We have N = 4, v1 = (−1/2, − 3/6), v2 = (1/2, − 3/6), v3 = (0, 3/3), v4 = (0, 0), and zi = 0, i = 1, 2, 3, z4 = −1. The corresponding MNN is shown in Fig. 4 (left). In this case Ts is empty and no triangle has been splitted. The corresponding
An Improved Algorithm for Scattered Data Interpolation
337
Algorithm 2 Step 1. Compute the control points in the first layer: 1.1 Points of type are centers of the three small triangles with vertices ••. 1.2 Then points of type ◦ are computed as described in Sect. 3.2. Step 2. Compute the control points in the second layer: 2.1 Points of type are centers of the three small triangles with vertices ◦◦ in the first layer. 2.2 Then points of type ◦ are mid-points of the segments with vertices of type in the second layer. Step 3. Compute the control points in the third layer: the three points of type are centers of the small triangles with vertices ◦◦ in the second layer. Step 4. Compute the splitting point of type as a center of the triangle with vertices in the third layer.
Fig. 4 Left: the MNN for Example 1. Right: the MNN for Example 2
0.6 0.4 0 .2
x
y
–0.2 0.2
0
–0.2
z
.4
–0
0
0.4
0.4
0.2
0
–0.2
–0.4
–0
z
.4
–0
–0.2
y
–0.4
.2
0
0
–0
0.2
0.6 0.4 0.2
x
Fig. 5 Comparison of the two surfaces for the data in Example 1. Left: the surface generated using Shirman and Séquin’s algorithm. Right: the surface generated using our Algorithms 1 and 2
Shirman and Séquin’s surface is shown in Fig. 5 (left). The surface generated by our Algorithms 1 and 2 is shown in Fig. 5 (right). Example 2 We have N = 25 and data sampled from the function F (x, y) = 5 × exp (x − 0.5)2 + (y − 0.5)2 .
338
K. Vlachkova
7
7 6
6
0.5
0 1
x
0.8
2 1
0 0
1
0.8
x
0.6
0.4
0.2
z
0.6
0.5
0.4
2 1
0
z
5 4 3
0.2
3
5 4
Fig. 6 Comparison of the two surfaces for the data in Example 2. Left: the surface generated using Shirman and Séquin’s algorithm. Right: the surface generated using our Algorithms 1 and 2. The set Ts is marked in black and consists of 6 triangles
The triangulation is the Delaunay triangulation, it consists of 41 triangles and is shown in Fig. 6 (left). The corresponding MNN is shown in Fig. 4 (right). The set Ts consists of 6 triangles, see Fig. 6 (right). The corresponding Shirman and Séquin’s surface is shown in Fig. 6 (left). The surface generated by our Algorithms 1 and 2 is shown in Fig. 6 (right). Acknowledgments This research was supported by Sofia University Science Fund Grant No. 80-10-171/2020, and by European Regional Development Fund and the Operational Program “Science and Education for Smart Growth” under Contract № BG05M2OP001-1.001-0004 (2018–2023). The author acknowledges Krum Radev’s work and support in implementation and testing of the algorithms.
References 1. Amidror, I.: Scattered data interpolation methods for electronic imaging systems: a survey. J. Electron. Imaging 11, 157–176 (2002). https://doi.org/10.1117/1.1455013 2. Anjyo, K., Lewis, J., Pighin, F.: Scattered Data Interpolation for Computer Graphics, SIGGRAPH 2014 Course Notes. http://olm.co.jp/rd/research_event/scattered-data-interpolationfor-computer-graphics (2014). Accessed 22 Aug 2020 3. Cazals, F., Giesen, J.: Delaunay triangulation based surface reconstruction. In: Boissonat, J.D., Teillaud, M. (eds.) Effective Computational Geometry for Curves and Surfaces, pp. 231– 276. Springer, Berlin (2006). https://doi.org/10.1007/978-3-540-33259-6_6 4. Chiyokura, H.: Localized surface interpolation method for irregular meshes. In: Kunii, T. (ed.) Advanced Computer Graphics, Proceedings of Computer Graphics Tokyo’86, vol. 66–80, pp. 3–19. Springer, Tokyo (1986). https://doi.org/10.1007/978-4-431-68036-9_1
An Improved Algorithm for Scattered Data Interpolation
339
5. Chiyokura, H., Kimura, F.: Design of solids with free-form surfaces. In: Tanner, P.P. (ed.) SIGGRAPH ’83 Proceedings of the 10th Annual Conference on Computer Graphics and Interactive Techniques, vol. 17, pp. 289–298. ACM, New York (1983). https://doi.org/10. 1145/964967.801160 6. Clough, R., Tocher, J.: Finite element stiffness matrices for analysis of plate bending. In: Proceedings of the 1st Conference on Matrix Methods in Structural Mechanics, vol. 66–80, pp. 515–545. Wright-Patterson A. F. B., Ohio (1965) URL http://contrails.iit.edu/reports/ 8574 7. Dell’Accio, F., Tommaso, F.D.: Scattered data interpolation by Shepard’s like methods: classical results and recent advances. Dolomites Res. Notes Approx. 9, 32 – 44 (2016). https:// doi.org/10.14658/pupj-drna-2016-Special_Issue-5 8. Farin, G.: A modified Clough-Tocher interpolant. Comput. Aided Geom. Des. 2(1–3), 19–27 (1985). https://doi.org/10.1016/0167-8396(85)90003-2 9. Farin, G.: Curves and Surfaces for CAGD: A Practical Guide, 5th edn. Morgan-Kaufmann, San Francisco (2002). https://doi.org/10.1017/CBO9780511546860 10. Foley, T., Hagen, H.: Advances in scattered data interpolation. Surv. Math. Ind. 4, 71–84 (1994) 11. Franke, R., Nielson, G.: Scattered data interpolation and applications: a tutorial and survey. In: Hagen, H., Roller, D. (eds.) Geometric Modeling, pp. 131–160. Springer, Berlin (1991). https://doi.org/10.1007/978-3-642-76404-2_6 12. Hettinga, G., Kosinka, J.: Multisided generalisations of Gregory patches. Comput. Aided Geom. Des. 62, 166–180 (2018). https://doi.org/10.1016/j.cagd.2018.03.005 13. Lodha, S., Franke, K.: Scattered data techniques for surfaces. In: Proceedings of Dagstuhl Conference on Scientific Visualization, pp. 182–222. IEEE Computer Society Press, Washington (1997). https://ieeexplore.ieee.org/document/1423115 14. Mann, S., Loop, C., Lounsbery, M., Meyers, D., Painter, J., DeRose, T., Sloan, K.: A survey of parametric scattered data fitting using triangular interpolants. In: Hagen, H. (ed.) Curve and Surface Design, pp. 145–172. SIAM, Philadelphia (1992). https://doi.org/10.1137/1. 9781611971651.ch8 15. Nielson, G.: A method for interpolating scattered data based upon a minimum norm network. Math. Comput. 40, 253–271 (1983). https://doi.org/10.2307/2007373 16. Percell, P.: On cubic and quartic Clough-Tocher finite elements. SIAM J. Numer. Anal. 13(1), 100–103 (1976). https://doi.org/10.1137/0713011 17. Peters, J.: Smooth interpolation of a mesh of curves. Constr. Approx. 7(1), 221–246 (1991). https://doi.org/10.1007/BF01888155 18. Shirman, L., Séquin, C.: Local surface interpolation with Bézier patches. Comput. Aided Geom. Des. 4(4), 279–295 (1987). https://doi.org/10.1016/0167-8396(87)90003-3 19. Shirman, L., Séquin, C.: Local surface interpolation with shape parameters between adjoining gregory patches. Comput. Aided Geom. Des. 7(5), 375–388 (1990). https://doi.org/10.1016/ 0167-8396(90)90001-8 20. Shirman, L., Séquin, C.: Local surface interpolation with Bézier patches: errata and improvements. Comput. Aided Geom. Des. 8(3), 217–221 (1991). https://doi.org/10.1016/ 0167-8396(91)90005-V
On Integral-Based (Transfinite) Laplace Coordinates Alexander G. Belyaev and Pierre-Alain Fayolle
Abstract In this theoretical work, we analyze general constructions for integralbased (transfinite, continuous) barycentric coordinates and consider a simple variational principle to arrive at a continuous version of the Laplace barycentric coordinates. We demonstrate how our approach leads to a general description of the integral-based barycentric coordinates and establish links with Dirichlet energy minimization problems for conical surfaces. Both the 2D and 3D cases are studied. An application to a surface generation problem is briefly considered.
1 Introduction The present active research on generalized barycentric coordinates was initiated by works of Wachspress [26], Warren [27], and Floater [10] and is currently fuelled by numerous applications of generalized barycentric interpolation schemes in computational mechanics, computer graphics, and geometric modelling. See, for example, [5, 11, 16, 29] and references therein. This paper focuses on the analysis of integral-based Laplace coordinates, a continuous version of a highly popular generalized barycentric interpolation scheme known under the names of Laplace coordinates [3], non-Sibsonian coordinates [1], cotangent weights [22], discrete harmonic coordinates [15], and Voronoi coordinates [18] (see also earlier works [7, 9, 20, 25]). The high popularity of the Laplace coordinates arises from the fact that they approximate the Laplace operator (hence the name) on polygonal meshes [21, 22].
A. G. Belyaev () Institute of Sensors, Signals and Systems, School of Engineering & Physical Sciences, Heriot-Watt University, Edinburgh, UK e-mail: [email protected] P.-A. Fayolle Computer Graphics Laboratory, University of Aizu, Aizu-Wakamatsu, Japan e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_22
341
342
A. G. Belyaev and P.-A. Fayolle
Integral-based (transfinite, continuous) barycentric coordinates were originally proposed by Warren et al. [28]. Although at present integral-based barycentric interpolation constitutes an active area of research [2, 4, 6, 8, 12, 13, 17, 19, 23], very little is known about integral-based versions of the Laplace coordinates. In this paper, we consider a simple variational principle for integral-based Laplace barycentric coordinates and show how it leads to a general description of integralbased barycentric coordinates. One of our main results can be formulated as follows. Let be a strictly convex bounded domain in RN with N = 2 or N = 3. Consider a function u(y) defined for each y ∈ ∂. Given x ∈ , let us assume that u(x) is known. We fix x and consider a conical surface Ux (z) generated by straight segments connecting the inner point (x, u(x)) with the boundary points (y, u(y)), y ∈ ∂. See the left image of Fig. 1 for a visual explanation of how the conical surface (z, Ux (z)) ∈ RN+1 , z ∈ , is constructed. Let the value u(x) be defined by minimizing Dirichlet’s energy |∇Ux |2 dz → min .
(1)
Then the above Dirichlet energy minimization interpolation performed for each x ∈ is obtained by integral-based Laplace interpolation u(x) = Sx
u(y)w(x, eθ ) dθ |x − y|
;
w(x, eθ ) dθ |x − y|
(2)
where f = |x − y|N−1 ,
(3)
Sx
with the weighting function given by w(x, θ ) = S f + (N − 1)f,
Fig. Point x ∈ parameterizes family of conical surfaces 1 Left: N+1 , z ∈ ⊂ RN , each of which spans (y, u(y)), y ∈ ∂, and has its (z, Ux (z)) ∈ R apex at (x, u(x)). Right: Notations used to define integral-based barycentric coordinates
On Integral-Based (Transfinite) Laplace Coordinates
343
and defined up to a multiplicative constant. Here Sx is the unit sphere centered at x, integration is taken with respect to spherical coordinates θ (point θ ∈ Sx corresponds to the unit vector eθ and is obtained as the radial projection of y ∈ ∂ onto Sx ), and S is the sphere Laplacian. The fact that (N − 1) is the smallest non-zero eigenvalue of − S implies the linear precision of (2) and (3) (see the last paragraph of Sect. 2 for an explanation).
2 Introduction to Integral-Based Barycentric Coordinates Let be a bounded convex domain in RN and x be a point inside . Assume that we know the values of function u(·) on ∂. Integral-based barycentric interpolation T interpolates u(·) inside T : u|∂ → u(x) while preserving the linear functions. Consider the unit sphere Sx centered at x. We assume that Sx is parameterized by its outer unit normal eθ , where θ stands for spherical coordinates. See the right image of Fig. 1 for a visual explanation of some notations used. A general form of interpolation T is given by u(x) = Sx
u(y)w(x, eθ ) dθ |x − y|
; Sx
w(x, eθ ) dθ , |x − y|
x ∈ ,
y ∈ ∂,
(4)
where w(x, eθ ) is a weighting function satisfying orthogonality conditions 0=
for each x ∈ .
eθ w(x, eθ ) dθ
(5)
Sx
Note that (5) is necessary and sufficient for linear precision. Indeed setting u(x) ≡ x yields u(y) ≡ y = x + ρ eθ ,
ρ = |x − y|,
which, after a substitution into (4), gives (5). If w(x, eθ ) ≡ 1, we arrive at the integral-based mean value interpolation scheme (or transfinite mean value coordinates) u(x) = Sx
u(y) dθ |x − y|
; Sx
dθ , |x − y|
(6)
344
A. G. Belyaev and P.-A. Fayolle
which was originally proposed in [10] for 2D polygons and then in [14, 17] for simplicial polyhedra and the continuous case. 2D Case In the 2D case, eθ = (cos θ, sin θ ) and (5) simplifies to a system of two equations 2π
2π w(x, θ ) cos θ dθ = 0 =
0
w(x, θ ) sin θ dθ
(7)
0
for each x ∈ . Let us expand w(x, θ ) into the Fourier series w(x, θ ) =
cn (x)ej nθ ,
j=
√ −1.
Note that (7) is equivalent to c−1 = 0 = c1 and, therefore, w(x, θ ) can be represented as hθθ (x, θ ) + h(x, θ ) = w(x, θ )
(8)
for some function h(x, θ ) periodic in θ . Indeed, expanding h(x, θ ) into the Fourier series
h(x, θ ) = hn (x)ej nθ and substituting the expansion into (8) leads to −n2 hn (x) + hn (x) = cn (x),
hn (x) = cn (x)/(1 − n2 ),
where n = ±1,
and defines h(x, θ ) uniquely if, in addition, we set h−1 (x) = 0 = h1 (x). We can interpret (8) geometrically. For each point x ∈ , let us consider a closed curve x whose support function is given by h(x, θ ) defined by (8). The radius of curvature of x is given by the left-hand side of (8) and orthogonality conditions (7) can be written as 2π 0
dθ ≡ n k
n dl = 0,
(9)
x
where n = eθ = (cos θ, sin θ ) is the outer unit normal of x , k is the curvature of x , and l stands for the arc-length parametrization of x . For example, if for each x the curve x is a unit circle centered at x, then w(x, θ ) ≡ 1, and we arrive at the 2D version of the transfinite mean value coordinates (6).
On Integral-Based (Transfinite) Laplace Coordinates
345
N-Dimensional Case The N components of the unit normal eθ are the eigenfunctions corresponding to the minimum non-zero eigenvalue λmin = N − 1 of the sphere Laplacian − S . Thus if the weighting function w(x, θ ) in (4) is given by w(x, θ ) = S h + (N − 1)h
(10)
for some function h(x, θ ), then the orthogonality conditions (5) are satisfied. Indeed, simple integration by parts on the unit sphere Sx yields
eθ w(x, eθ ) dθ = Sx
eθ [ S h + (N − 1)h] dθ Sx
=
[ S eθ + (N − 1)eθ ]h(x, θ ) dθ = 0. Sx
3 2D Integral-Based Barycentric Coordinates as a Limit Case of Their Discrete Counterparts Let us recall a general construction for generalized barycentric coordinates introduced in [15]. Let A(x, y, z) denote the signed area of the triangle formed by points x, y, and z. Given a convex polygon with vertices v1 , v2 , . . . , vn , and a point x inside the polygon, consider signed triangle areas Ai (x) = A(x, vi , vi+1 ) and Bi (x) = A(x, vi−1 , vi+1 ). Then, as shown in [15], the weights wi =
ci+1 Ai−1 − ci Bi + ci−1 Ai , Ai−1 Ai
(11)
where ci (x) are real functions, define a system of generalized barycentric coordinates. Moreover, any system of generalized barycentric coordinates can be represented by (11) for some functions ci (x), i = 1, 2, . . . , n. Following [15], we can rewrite (11) as wi =
2 ρi
hi−1 − hi cos θi−1 hi+1 − hi cos θi + , sin θi sin θi−1
(12)
where hi (x) = ci (x)/ρi (x), ρi (x) = |x − vi |, and θi is the angle between the rays [x vi ) and [x vi+1 ).
346
A. G. Belyaev and P.-A. Fayolle
Assume now that functions hi (x), i = 1, 2, . . . , n, are sufficiently smooth, the number of vertices of the polygon tends to infinity, and all θi uniformly tend to zero: θi ≈ dθ → 0. Passing to the limit we arrive at a smooth function h(x, θ ) satisfying hi+1 − hi + hi θi2 /2 hi+1 − hi cos θi θi ≈ ≈ h(x, θ )θ + h(x, θ ) , sin θi θi 2 θ=i+1 θk hi−1 − hi cos θi−1 ≈ sin θi−1
2 /2 hi−1 − hi + hi θi−1
θi−1
k=1
≈ −h(x, θ )θ + h(x, θ )
θi−1 2
θ=
i
.
k=1 θk
Adding together the right-hand sides yields
h(x, θ + dθ)θ − h(x, θ )θ + h(x, θ ) dθ
θ= ik=1 θk
dθ + higher order terms.
Therefore (12) is approximately equal to 1 20 h(x, θ )θθ + h(x, θ ) dθ ρi θ= ik=1 θk and we arrive at (8). We can now formulate our result as a proposition which generalizes the result of [16, Section 3.2.2]. Proposition 1 In the 2D case, integral-based barycentric coordinates (4) and (8) are obtained as the limit case of the Floater-Hormann-Kós construction (11). In view of the work of Kosinka and Barton [19] where the quadratic rate convergence of generalized barycentric coordinates to their continuous counterparts, barycentric kernels, was proved and numerically verified, the importance of (1) consists of revealing a link between the functions ci (x) in (11) and the support function h(x) defined by (8).
4 2D Integral-Based Coordinates and Dirichlet Energy Minimization Integral-Based Laplace Coordinates in 2D By 2D integral-based Laplace coordinates we denote the continuous version of the discrete harmonic coordinates. As shown in [15], setting ci = ρi2 in (11) yields the discrete harmonic coordinates. Thus, in view of Proposition 1, the integral-based Laplace coordinates are described by + ρ. w(x, θ ) = ρθθ
(13)
On Integral-Based (Transfinite) Laplace Coordinates
347
If the weight w(x, θ ) in (4) is positive, the interpolation property of (4) follows from [12, Theorem 1]. However (13) is not necessary positive and the interpolation property of (4) and (13) requires a special attention. Let us start from the simplest case: assume that is a unit circle centered at the origin of coordinates and x has coordinates (−a, 0), where 0 < a < 1. Simple analytic calculations shows that the kernel k(x, θ ) = ρθθ + ρ /ρ (14) has two equal maxima achieved at θ1 and θ2 which approach π/2 and 3π/2, respectively, as a0 → 1. See1 the left image of (2) for an illustration. The maxima are equal to 32/ 27(1 − a 2 ) and become sharper and sharper, as x approaches the boundary, when a → 1, as demonstrated by the middle and right images of Fig. 2. The boundary points y1 and y2 corresponding to θ1 and θ2 , respectively, become closer and closer to each other, as a → 1, and, in the limit, merge with x on the boundary. Thus, similar to the classical Shepard’s interpolation [24], ; u(x) = k(x, θ )u(y) dθ k(x, θ ) dθ (15) Sx
Sx
does the boundary interpolation. The general case of strictly convex can be easily reduced to the above case of a circle, if for a given point y ∈ ∂ we consider the osculating (best-fitted) circle touching ∂ at y. It turns out that (13) can be also derived by mimicking the Dirichlet’s energy minimization property of the harmonic functions [2, 23]. Given u(y) defined for each y ∈ ∂, let us choose x ∈ and assume that u(x) is known. Consider a conical surface patch generated by straight segments connecting the inner point (x, u(x)) with the boundary points (y, u(y)). In polar coordinates (r, θ ) centered at x, ∂ is described by r = ρ(θ ), ρ = |x − y|, and the conical surface associated with point x is given by Ux (z) =
(ρ − r)u(x) + ru(y) , ρ
(16)
Fig. 2 Left: An illustration of notations used to establish interpolation properties of (14) and (15) for a circle. Middle and right: the graphs of kernel k(x, θ) defined by (14) for x = (−0.9, 0) and x = (−0.99, 0), respectively
348
A. G. Belyaev and P.-A. Fayolle
where r = |x − z| and y ∈ ∂ denotes the intersection point between ∂ and the ray from x through z. See Fig. 1 for a rough sketch of the conical surface (z, Ux (z)), z ∈ and notations used. Now the value u(x) is defined such that the Dirichlet’s energy of the constructed conical surface attains its minimal value |∇Ux |2 dz → min .
Proposition 2 In the 2D case, the minimum of the Dirichlet energy for a conical surface consisting of straight segments connecting the inner point (x, u(x)), x ∈ , with the boundary points (y, u(y)), y ∈ ∂, is attained on the 2D integral-based barycentric interpolation (4) and (13). A brief derivation of this result is given in [2]. For the sake of completeness, we present here a detail proof of the proposition. Proof For a function f (r, θ ), its gradient (and its magnitude) in polar coordinates is given by ∇f (r, θ ) =
∂f 1 ∂f er + eθ , ∂r r ∂θ
2 ∂f 1 ∂f 2 |∇f |2 = + 2 . ∂r r ∂θ
Therefore ∂Ux u(y) − u(x) = ∂r ρ
∂Ux 1 1 = r (u(y) − u(x)) + u (y) . ∂θ ρ θ ρ θ
and
We arrive at the following minimization problem |∇Ux |2 dz
min ←
2π =
dθ 0
1 = 2
ρ r dr
u(x) − u(y) ρ
0
2π
2 1 1 + (u(y) − u(x)) + u (y) ρ θ ρ θ
ρθ 2 dθ [u(x) − u(y)] + uθ (y) + (u(x) − u(y)) , ρ 2
0
2
On Integral-Based (Transfinite) Laplace Coordinates
349
where the last integral is a quadratic function w.r.t. u(x). Thus for the optimal value of u(x) we have
2π
u(x) 1 +
ρθ ρ
2
2 2π ρ ρθ dθ = u(y) − uθ (y) + u(y) θ dθ ρ ρ
0
0
and, therefore, u(x) is given by ; 2π 2π 0 0 1 0 12 12 u(x) = u(y) − uθ (y) ρθ /ρ + u(y) ρθ /ρ dθ 1 + ρθ /ρ dθ . 0
0
(17) Integration by parts yields 2π −
uθ (y)
0 1 ρθ /ρ dθ =
0
2π u(y)
0
1 ρθ /ρ θ
2π dθ =
0
2π
0
12 ρθ /ρ dθ
0
2π =
0
. 2 / u(y) ρθθ /ρ − ρθ /ρ dθ ,
2π 0 1 ρθθ /ρ − ρθ /ρ θ dθ = ρθθ /ρ dθ
0
0
and thus (17) becomes 2π u(x) =
u(y) 0
+ ρ ρθθ dθ ρ
; 2π
+ ρ ρθθ dθ . ρ
(18)
0
One can see now that (18) corresponds to (4) with (13).
General Construction in 2D In this section, we show that, similar to the integral-based Laplace coordinates, the general construction of 2D integral-based barycentric coordinates (4) and (8) can also be obtained as the solution to a Dirichlet energy minimization problem. Again, we consider a point x inside a convex domain and assume that ∂ is given by r = ρ(θ ) in polar coordinates centered at x. Thus can be described by {(r cos θ, r sin θ )} with 0 ≤ r < ρ(θ ). Let us now consider another domain G defined by 0 ≤ r < g(x, θ ), where g(x, θ ) is some function. Then ∂G is given by r = g(x, θ ). Assume that we know u(x) and use linear interpolation between u(x) and u(y), where y ∈ ∂. Then the values of u(·) on ∂G are given by v=
u(y)g(x, θ ) + u(x)(ρ − g(x, θ )) . ρ
(19)
350
A. G. Belyaev and P.-A. Fayolle
Now let us apply the integral-based Laplace interpolation to the domain G. We have 2π
+ g gθθ v dθ = u(x) g
0
2π
+ g gθθ dθ g
0
and substituting v(·) defined by (19) yields 2π
+ g gθθ u(y) dθ + u(x) ρ
0
2π 2π +g gθθ + g g gθθ dθ = u(x) dθ , 1− ρ g g 0
0
which immediately leads to the following general representation of 2D integralbased coordinates 2π u(x) = 0
+ g gθθ u(y) dθ ρ
; 2π
+ g gθθ dθ ρ
(20)
0
and yields the general 2D integral-based barycentric interpolation (4) and (8).
5 Potential Application to Surface Generation In this section we briefly discuss a potential application of the variational approach of Sect. 4 to surface generation. Consider a simple closed curve in R3 . The task we consider here consists of constructing a smooth surface patch S spanning contour . For example, S can be constructed as a minimal surface patch bounded by . Our approach can be considered as a simplified version of the surface area minimization. For each point x, we consider a conical surface patch generated by straight segments connecting x with the points of . Let A(x) denote the area of the conical surface patch with apex at x. Then we move x by the anti-gradient flow −∇x A(x). Numerical experiments show that the flow has a single stationary point, see the left image of Fig. 3. Now let us apply the flow to the points of contour . The trajectories which converge to the stationary point defined by form a surface patch bounded by , see the middle image of Fig. 3. As seen in the right image of Fig. 3, the shape of the surface patch is similar to the minimal surface spanning . For practical computations, we approximate by a polygon, connect a given point x with the vertices of , and calculate A(x) as the side area of a triangular pyramid with non-flat base and apex x. Our straightforward implementation of the anti-gradient flow −∇x A(x) by the forward Euler method is not computationally efficient and additional work is needed to make our approach a practical one.
On Integral-Based (Transfinite) Laplace Coordinates
351
Fig. 3 Surface generation with integral-based Laplace coordinates. Left: several trajectories of proposed anti-gradient flow −∇x A(x) converge to a single stationary point. Middle: A surface patch is generated by the trajectories of −∇x A(x) emitted from the boundary vertices. Right: the minimal surface spanned the boundary curve is added; its shape is similar to that of the surface generated by the trajectories
6 3D Integral-Based Coordinates and Dirichlet Energy Minimization Integral-Based Laplace Coordinates in 3D We define the 3D integral-based Laplace coordinates as the barycentric interpolation (4) which, for each x ∈ , minimizes the Dirichlet energy |∇Ux |2 dz → min
of the conical surface (16) associated with x. Proposition 3 In the 3D case, the minimum of the Dirichlet energy for a conical surface consisting of straight segments connecting the inner point (x, u(x)), x ∈ , with the boundary points (y, u(y)), y ∈ ∂, is attained on the integral-based barycentric interpolation (4) with the weighting function given by w(x, eθ ) = S (ρ 2 /2) + 2(ρ 2 /2),
(21)
where S is the sphere Laplacian and ρ(θ ) represents ∂ in the spherical coordinates centered at x (that is, for each y ∈ ∂, ρ = |x − y| and eθ = (y−x)/ρ).
352
A. G. Belyaev and P.-A. Fayolle
Proof Note that (5) is satisfied. The components of the sphere normal eθ are the eigenvectors of the sphere Laplacian − S corresponding to the minimum positive eigenvalue λ = 2. Integration by parts yields
eθ w(x, eθ ) dθ = Sx
. / eθ S (ρ 2 /2) + 2(ρ 2 /2) dθ
Sx
=
[ S eθ + 2eθ ](ρ 2 /2) dθ = 0, Sx
where θ stand for spherical coordinates. Given a point x ∈ , we consider standard spherical coordinates centered at x: radial distance r, polar angle θ , and azimuthal angle ϕ. Thus θ = (ϕ, θ ) and dθ = sin θ dϕ dθ. Given a function f (r, θ, ϕ), its gradient and the magnitude of the gradient in spherical coordinates are given by ∂f 1 ∂f 1 ∂f er + eθ + eϕ , ∂r r ∂θ r sin θ ∂ϕ 2 2 ∂f ∂f 1 ∂f 2 1 . |∇f |2 = + 2 + 2 ∂r r ∂θ r 2 sin θ ∂ϕ
∇f (r, θ, ϕ) =
Similar to the planar case we have Ux (z) =
(ρ − r)u(x) + ru(y) ρ
and, therefore, u(y) − u(x) ∂Ux = , ∂r ρ ∂Ux 1 1 = r (u(y) − u(x)) + u (y) , ∂θ ρ θ ρ θ 7 8 1 ∂Ux 1 = r (u(y) − u(x)) + u (y) . ∂ϕ ρ ϕ ρ ϕ
On Integral-Based (Transfinite) Laplace Coordinates
353
Similar to the 2D case, we will define u(x) such that the Dirichlet’s energy of the constructed conical surface Ux (z) attains its minimal value. We consider the following minimization problem
π 2π ρ |∇Ux |2 dz =
min ←
r 2 sin θ dr dϕ dθ 0
0
⎧ ⎨ u(x) − u(y) 2 ⎩
ρ
0
82 ⎫ 7 2 ⎬ 1 1 1 1 1 + (u(y) − u(x)) + uθ (y) + + uϕ (y) (u(y) − u(x)) 2 ⎭ ρ θ ρ ρ ϕ ρ sin θ 1 = 3
π 2π 0
# ρ(θ, ϕ) sin θ dϕ dθ [u(x) − u(y)]2
0
8 ⎫ 7 2⎬ 2 ρ ρ 1 ϕ + uθ (y) + (u(x) − u(y)) θ + . uϕ (y) + (u(x) − u(y)) ρ ρ ⎭ sin2 θ
Thus, for the optimal value of u(x) we have ⎧ ⎨
π 2π
u(x) 1 + ⎩ 0
ρθ ρ
2 +
!2 ⎫ ⎬
ρϕ ρ sin θ
⎭
ρ sin θ dθ dϕ
0
π 2π # ρϕ ρ u(y) − uθ (y) θ − uϕ (y) = ρ ρ sin2 θ 0
0
ρ +u(y) θ ρ
2 + u(y)
!2 ⎫ ⎬
ρϕ ρ sin θ
⎭
ρ sin θ dθ dϕ .
Let us consider ⎧ π 2π ⎨ ⎩ 0
1+
ρθ ρ
2 +
!2 ⎫ ⎬
ρϕ ρ sin θ
⎭
ρ sin θ dθ dϕ
(22)
0
/ρ − ρ . Thus the third term in (22) and set f = ρ 2 /2. We have (ρϕ ) 2 /ρ = fϕϕ ϕϕ can be rewritten as
π 2π
ρϕ ρ sin θ
0
0
!2
π 2π ρ sin θ dθ dϕ = 0
0
1
fϕϕ
sin2 θ ρ
sin θ dθ dϕ ,
354
A. G. Belyaev and P.-A. Fayolle
since 2π
ρϕϕ dϕ = 0.
0
Obviously for the first term in (22) we have π 2π
π 2π ρ sin θ dθ dϕ =
0
0
0
2f sin θ dθ dϕ . ρ
0
/ρ − ρ and integration by parts w.r.t. θ for Finally we use (ρθ ) 2 /ρ = fθθ θθ rearranging the second term in (22)
π 2π 0
ρθ ρ
2
π 2π ρ sin θ dθ dϕ =
0
0
0
π 2π = 0
fθθ cos θ + ρθ ρ sin θ
sin θ dθ dϕ
0
π 2π = 0
fθθ − ρθθ sin θ dθ dϕ ρ
f cos θ fθθ + θ ρ ρ sin θ
sin θ dθ dϕ .
0
Thus, using the fact that the sphere Laplacian is given by S f =
fϕϕ
sin2 θ
+
fϕϕ cos θ 1 + + fθ , sin θ fθ θ ≡ fθθ sin θ sin θ sin2 θ
(22) can be rewritten as π 2π 0
S f + 2f sin θ dθ dϕ , ρ
0
where f = ρ 2 /2 and sin θ dθ dϕ is the area element of the unit sphere.
On Integral-Based (Transfinite) Laplace Coordinates
355
In a similar way we have π 2π
π 2π u(y)ρ sin θ dθ dϕ =
0
π 2π
0
0
ρ uθ (y) θ ρ
0
π 2π 0
ρ sin2 θ
u(y)
ρ sin θ dθ dϕ = −
u(y)
2 ρ sin θ dθ dϕ =
u(y)
0
ρ sin θ
0
π 2π
!2
ρϕ
u(y) 0
ρ sin θ dθ dϕ =
u(y) 0
sin θ
θ
sin θ dθ dϕ ,
ρϕϕ
sin2 θ
sin θ dθ dϕ ,
fθθ − ρθθ sin θ dθ dϕ , ρ
0
π 2π
0
ρθ sin θ
0
ρ sin θ dθ dϕ = −
0
π 2π 0
ρθ ρ
π 2π
ρϕ
π 2π
u(y)
0
0
uϕ (y)
2f sin θ dθ dϕ , ρ
π 2π
0
0
0
u(y)
0
1
fϕϕ
sin2 θ
ρ
! − ρϕϕ sin θ dθ dϕ .
Combining these terms together yields π 2π u(x) = 0
u(y)w(x, θ, ϕ) sin θ dθ dϕ ρ
; π 2π
0
0
w(x, θ, ϕ) sin θ dθ dϕ , ρ
0
with w(x, θ, ϕ) = S f + 2f,
where f = ρ 2 /2.
General Construction in 3D Similar to the 2D case, let us introduce the domain G defined by the radial function g(x, θ, ϕ) and apply the integral-based Laplace interpolation to G, where the values of u(·) on ∂G are found by linear interpolation v=
u(y)g + u(x)(ρ − g) . ρ
Then we have Sx
S (g 2 /2) + 2(g 2 /2) v dθ = u(x) g
Sx
S (g 2 /2) + 2(g 2 /2) dθ , g
356
A. G. Belyaev and P.-A. Fayolle
where dθ = sin θ dθ dϕ is the area element of Sx , the unit sphere centered at x. Similar to the 2D case, this leads to
S (g 2 /2) + 2(g 2 /2) u(y) dθ + u(x) ρ
Sx
g S (g 2 /2) + 2(g 2 /2) dθ 1− ρ g Sx
= u(x)
S (g 2 /2) + 2(g 2 /2) dθ g
Sx
and we arrive at u(x) =
S (g 2 /2) + 2(g 2 /2) u(y) dθ ρ
Sx
;
S (g 2 /2) + 2(g 2 /2) dθ . ρ
Sx
Thus we have arrived at the general 3D integral-based barycentric interpolation (4) and (8) with h(x, θ, ϕ) = g 2 /2.
7 Conclusion We have used a simple variational principle (the minimization of the Dirichlet energy of a conical surface) to obtain an integral-based version of the Laplace barycentric coordinates and extended the approach to arrive at a general description of integral-based barycentric coordinates in 2D and 3D. We have also considered an application of our approach to a surface generation problem. Acknowledgments We would like to thank the anonymous reviewers of this paper for their valuable and constructive comments.
References 1. Belikov, V.V., V.D. Ivanov, V.D., Kontorovich, V.K., Korytnik, S.A., Semenov, A.Y.: The non-Sibsonian interpolation: a new method of interpolation of the values of a function on an arbitrary set of points. Comput. Math. Math. Phys. 37(1), 9–15 (1997) 2. Belyaev, A.: On transfinite barycentric coordinates. In: Proceedings of the Fourth Eurographics Symposium on Geometry Processing (SGP 2006), pp. 89–99 (2006) 3. Bobach, T., Bertram, M., Umlauf, G.: Issues and implementation of C 1 and C 2 natural neighbor interpolation. In: International Symposium on Visual Computing, pp. 186–195 (2006) 4. Bruvoll, S., Floater, M.S.: Transfinite mean value interpolation in general dimension. J. Comp. Appl. Math. 233, 1631–1639 (2010)
On Integral-Based (Transfinite) Laplace Coordinates
357
5. Budninskiy, M., Liu, B., Tong, Y., Desbrun, M.: Power coordinates: A geometric construction of barycentric coordinates on convex polytopes. ACM Trans. Graph. 35(6), 241:1–11 (2016) 6. Chen, R., Gotsman, C.: Complex transfinite barycentric mappings with similarity kernels. Comput. Graph. Forum 35(5), 41–53 (2016). SGP 2016 Special Issue 7. Christ, N.H., Friedberg, R., Lee, T.D.: Weights of links and plaquettes in a random lattice. Nucl. Phys. B 210(3), 337–346 (1982) 8. Dyken, C., Floater, M.S.: Transfinite mean value interpolation. Comput. Aided Geom. Des. 26, 117–134 (2009) 9. Eck, M., DeRose, T., Duchamp, T., Hoppe, H., Lounsbery, M., Stuetzle, W.: Multiresolution analysis of arbitrary meshes. In: SIGGRAPH ’95: Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques, vol. 95, pp. 173–182 (1995) 10. Floater, M.S.: Mean value coordinates. Comput. Aided Geom. Des. 20(1), 19–27 (2003) 11. Floater, M.S.: Generalized barycentric coordinates and applications. Acta Numer. 24, 161–214 (2015) 12. Floater, M.S., Kosinka, J.: Barycentric interpolation and mappings on smooth convex domains. In: Proceedings of the 14th ACM Symposium on Solid and Physical Modeling, pp. 111–116 (2010) 13. Floater, M.S., Patrizi, F.: Transfinite mean value interpolation over polygons (2019). arXiv:1906.08358 14. Floater, M.S., Kós, G., Reimers, M.: Mean value coordinates in 3D. Comput. Aided Geom. Des. 22(7), 623–631 (2005) 15. Floater, M.S., Hormann, K., Kós, G.: A general construction of barycentric coordinates over convex polygons. Adv. Comput. Math. 24(1–4), 311–331 (2006) 16. Hormann, K., Sukumar, N. (eds.): Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics. CRC Press, Boca Raton (2017) 17. Ju, T., Schaefer, S., Warren, J.: Mean value coordinates for closed triangular meshes. ACM Trans. Graph. 24(3), 561–566 (2005). Proceedings of SIGGRAPH 2005 18. Ju, T., Liepa, P., Warren, J.: A general geometric construction of coordinates in a convex simplicial polytope. Comput. Aided Geom. Des. 24(3), 161–178 (2007) 19. Kosinka, J., Barton, M.: Convergence of barycentric coordinates to barycentric kernels. Comput. Aided Geom. Des. 43, 200–210 (2016) 20. MacNeal, R.H.: An asymmetrical finite difference network. Q. Appl. Math. 11(3), 295–310 (1953) 21. Meyer, M., Lee, H., Barr, A., Desbrun, M.: Generalized barycentric coordinates on irregular polygons. J. Graph. Tools 7(1), 13–22 (2002) 22. Pinkall, U., Polthier, K.: Computing discrete minimal surfaces and their conjugates. Exp. Math. 2(1), 15–36 (1993) 23. Schaefer, S., Ju, T., Warren, J.: A unified, integral construction for coordinates over closed curves. Comput. Aided Geom. Des. 24(8-9), 481–493 (2007) 24. Shepard, D.: A two-dimensional interpolation function for irregularly-spaced data. In: Proceedings of the 1968 23rd ACM National Conference, pp. 517–524. ACM Press, New York (1968) 25. Sugihara, K.: Surface interpolation based on new local coordinates. Comput. Aided Des. 31(1), 51–58 (1999) 26. Wachspress, E.L.: A Rational Finite Element Basis. Academic, New York (1975) 27. Warren, J.: Barycentric coordinates for convex polytopes. Adv. Comput. Math. 6(2), 97–108 (1996) 28. Warren, J., Schaefer, S., Hirani, A., Desbrun, M.: Barycentric coordinates for convex sets. Adv. Comput. Math. 27(3), 319–338 (2007) 29. Yan, Z., Schaefer, S.: A family of barycentric coordinates for co-dimension 1 manifolds with simplicial facets. Comput. Graph. Forum 38(5), 75–83 (2019). SGP 2019 Special Issue
Part V
Numerical Methods
Fully-Implicit Collocated Finite-Volume Method for the Unsteady Incompressible Navier–Stokes Problem Kirill M. Terekhov
Abstract This article introduces a collocated finite-volume method for the incompressible Navier–Stokes equations. Based on the linearity assumption of the velocity and pressure unknowns, the coupled one-sided flux expression is derived. Analysis and correction of the eigenvalues in the matrix coefficients of the vector flux expression result in the inf-sup stable method. A single continuous flux expression follows from the continuity of the one-sided flux approximations. As a result, the conservation for the momentum and the divergence is discretely exact. The method handles general polyhedral meshes but requires an artificial pressure boundary condition for the pressure gradient reconstruction.
1 Introduction Previous work [12] introduced a fully-implicit collocated finite-volume method with the piecewise-constant approximation of the pressure field. The primary motivation for the fully-implicit approach is the coupling of a stiff cascade of reactions into a single system with the flow in the blood coagulation model [1, 18]. Current method investigates the improvement of the collocated finite-volume scheme from [12]. We consider piecewise-linear continuous approximation for the pressure field and full symmetric stress tensor in diffusion term. The typical problem of the collocated methods is the inf-sup instability issue [6]. A usual solution to the problem is to use a staggered velocity arrangement [5, 7, 8]. However, with the staggered scheme, it is hard to retain the conservation properties [9]. Another solution is to use the Rhie-Chow interpolation method [10] with the collocated arrangement of unknowns. It is standard in industrial applications.
K. M. Terekhov () Marchuk Institute of Numerical Mathematics of the Russian Academy of Sciences, Moscow, Russia Moscow Institute of Physics and Technology, Moscow, Russia © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_23
361
362
K. M. Terekhov
This work uses the hypothesis that inf-sup stability is satisfied if all the matrix coefficients in the vector flux expression have positive eigenvalues. Previously we applied this hypothesis to the saddle-point mixed Darcy problem [15], the Navier– Stokes problem [12] and the multi-domain coupling of Darcy and poroelasticity equations [13]. We seek the solution to the system of Navier–Stokes equations: ⎧ ∂ρu ⎪ T ⎪ + div ρuu − τ (u) + pI = f, ⎪ ⎨ ∂t in , div = 0, (u) ⎪ ⎪ ⎪ ⎩ B.C. on ∂.
(1)
The system (1) is closed with the appropriate boundary conditions, discussed in Sect. 5. In (1), u = [u, v, w]T is the velocity vector, p is the pressure, u, v, w, p ∈ H 1 (), with appropriate amendment to the space at the boundary. ρ = const is the fluid density, constant due to incompressibility, τ (u) is the deviatoric stress tensor: τ (u) = 2μD(u),
D(u) =
/ 1. T ∇u + u∇ T , 2
(2)
here μ = const is the dynamic fluid viscosity. In the present work, we assume that the components of the velocity vector and the pressure are piecewise-linear. In the finite volume method we make use of Gauss’ formula for the divergence operator on each cell V ∈ V(), which results in: V
. /
∇ · ρuuT − τ (u) + pI dV ≈ |σ | ρuuT − τ (u) + p σ ∈F (V )
∇ · u dV ≈ V
xσ
nσ ,
|σ | [u · nσ ]|xσ .
σ ∈F (V )
(3) Here nσ is an average unit normal of face σ directed outwards of cell V . For briefness we further denote it by n. Integrals of the other terms are evaluated as follows: ∂ρu ∂ρu 3un+1 − 4un + un−1 dV = |V | |V |, ≈ρ f dV = |V | f|xV . ∂t xV t V ∂t V (4) Further, whenever the upper index for the velocity is omitted, it is implied u ≡ un+1 .
Finite-Volume Method for the Navier–Stokes Problem
363
2 The Interface Flux Approximation Equations in (3) introduce the momentum t and continuity q fluxes: t = ρuu · n − τ (u)n + pn,
q = u · n,
(5)
here t is composed of the advection part tA = ρuu·n, the traction part tT = −τ (u)n and the pressure part tP = pn. The fluxes t and q are continuous on any surface, i.e., any mesh interface σ . Note, that due to the continuity equation, the velocity u is continuous throughout the domain. Let u1 be the velocity vector collocated at x1 , the barycenter of the cell V1 . Then, according to Taylor decomposition, the second-order approximations of the advection part tA of the momentum flux at the interface barycenter xσ is the following: ρuu · n ∇u|x1 (xσ − x1 ) ∂u x1 ρ u1 nT + u1 · nI (2uσ − u1 ) . ≈ 2
tA |xσ ≈ ρ uu · n|x1 +
(6)
The approximation of the traction part tT is formulated as follows: tT |xσ ≈ − τ (u)|x1 n ≈ −μ I ⊗ nT + nT ⊗ I u ⊗ ∇|x1 ≈ μr1−1 I + nnT (u1 − uσ ) − μ I ⊗ nT + nT ⊗ I − r1−1 I + nnT ⊗ (xσ − x1 )T u1 ⊗ ∇,
(7)
where r1 = n · (xσ − x1 ) and ⊗ denotes the Kronecker product. The pressure part of the momentum flux tP and the continuity flux q form a saddle-point system: u pσ n tP n uσ = S(n) σ , = = T uσ · n q x n pσ pσ
(8)
σ
here the indefinite 4 × 4 matrix S(n) has two eigenvalues ±1. The approximation to the combination of fluxes is: uσ tP u1 T u1 − (A − S(n)) + A ⊗ (xσ − x1 ) ⊗ ∇, (9) ≈A q x p1 pσ p1 σ
364
K. M. Terekhov
where 4 × 4 matrix A > 0 is used to stabilize the method. Let us introduce matrix A along with the other matrix coefficients: 7 8 a I + nnT cn , A(u, v, n) = b cnT 7 8 μr −1 I + nnT , T (u, v, n) = A(u, v, n) +
W (n) =
7 8 μ I ⊗ nT + nT ⊗ I 7
Q(u, n) =
ρ T 2 (un
+ u · nI)
,
8 ,
(10) where r = n · v and the parameters a, b and c depending on u, v, n are to be defined later in Sect. 3. Defining T1 = T (u1 , xσ − x1 , n), Q1 = Q(u1 , n), S1 = S(n) and W1 = W (n) we get the coupled flux expression: uσ t u1 − ≈ (T − Q ) − S − 2Q (T ) 1 1 1 1 1 p1 pσ q x σ u 1 T + T1 ⊗ (xσ − x1 ) − W1 ⊗ ∇. p1
(11)
3 Analysis of Eigenvalues of Matrix Coefficients According to the hypothesis, the method is inf-sup stable, if all the matrix coefficients in the vector flux expression (11) have positive eigenvalues. The goal is to make eigenvalues positive by tuning parameters a, b and c with the minimal a and b. Let ν = ρnT u/2. The eigenvalues of the matrix coefficient T (u, v, n) − S(n) − 2Q(u, n) at the interface vector unknown are λ1,2 = a + μr −1 − 2ν + b/2 ± λ3,4 = a + μr −1 − 2ν.
2 a + μr −1 − 2ν − b/2 + (c − 1)2 ,
(12)
The eigenvalues of the matrix coefficient T (u, v, n) − Q(u, n) at the cell vector unknown are 2 λ1,2 = a + μr −1 − ν + b/2 ± a + μr −1 − ν − b/2 + c2 , (13) λ3,4 = a + μr −1 − ν.
Finite-Volume Method for the Navier–Stokes Problem
365
Requiring non-negativity of eigenvalues, we get a set of inequalities: a + μr −1 − 2ν ≥ 0, a + μr −1 − ν ≥ 0, 2b a + μr −1 − 2ν ≥ (c − 1)2 , 2b a + μr −1 − ν ≥ c2 .
(14)
The first two inequalities in (14) are satisfied with: a = max 2ν − μr −1 , 0 + θ > 0,
(15)
here the parameter θ ≥ 0 is to be defined later. Let q = a + μr −1 − 2ν ≥ 0, note that q + ν ≥ 0. The second two inequalities in (14) are satisfied with the condition on b: 1 1 2 2 b ≥ max (1 − c) , c . (16) 2q 2(q + ν) Expressions under max corresponds to a pair of parabolas, oriented upwards with q > 0 and q + ν > 0. The minimum for b is realized at the intersection of the parabolas. The two parabolas have roots at c = 1 and c = 0, respectively. The minimum is reached at the intersection within c ∈ [0, 1]. To minimize b we solve: νc2 − 2(q + ν)c + (q + ν) = 0
(17)
and select solutions corresponding to c ∈ [0, 1] and corresponding value of b:
c=
⎧ √ 2 ⎪ ⎪ ⎨1 + t − t + t , ν > 0,
1/2, ν = 0, ⎪ ⎪ ⎩1 + t + √t + t 2 , ν < 0,
⎧ √ ⎪ t 1/2 + t − t + t 2 , ⎪ ⎨
1 b= 1/8, q⎪ ⎪ ⎩t 1/2 + t + √t + t 2 ,
ν > 0, ν = 0, ν < 0, (18)
where t = q/ν and bq ∈ [0, 1/2]. Present work uses θ = ρ uT I − nnT u + ε2 with small ε = 10−7 . This choice helps prevent singular value of b due to zero q.
4 The Flux Continuity on Internal Face Let us define pi , ∇pi , ui , ∇ui , pressure, velocity and the gradient of velocity at cell Vi barycenter xi . Let internal interface σ ∈ F () share two cells V1 and V2 , i.e., σ = V1 ∩ V2 , V1 , V2 ∈ V(h ). We assume the normal n is oriented outside of V1 into V2 .
366
K. M. Terekhov
Let T2 = T (u2 , xσ − x2 , −n), Q2 = Q(u2 , −n) S2 = S(−n), W2 = W (−n) and Θ2 = Θ(xσ − x2 , −n), then the approximation of the flux from cell V2 reads as: t u uσ ≈ (T2 − S2 − 2Q2 ) − (T2 − Q2 ) 2 pσ p2 q x σ (19) u 2 ⊗ ∇. − T2 ⊗ (xσ − x2 )T − W2 p2 The reasoning for the eigenvalues and choice of parameters from Sect. 3 holds for matrix coefficients in (19) with the reversed normal direction. Enforcing the equality of flux approximations (11) and (19) we obtain the interface vector unknown:
uσ = (T1 + T2 − S1 − S2 − 2Q1 − 2Q2 )−1 pσ ⎛ ⎞ u u1 1 T ⎜ (T1 − Q1 ) p + T1 ⊗ (xσ − x1 ) − W1 p ⊗ ∇ ⎟ ⎜ ⎟ 1 1 ⎟. ×⎜ ⎜ ⎟ u ⎝ ⎠ u2 2 T + T2 ⊗ (xσ − x2 ) − W2 ⊗∇ +(T2 − Q2 ) p2 p2 (20)
The continuous flux approximation is obtained by substituting (20) into either (11) or (19): t ≈ (T2 − S2 − 2Q2 ) (T1 + T2 − S1 − S2 − 2Q1 − 2Q2 )−1 q x σ u u 1 × (T1 − Q1 ) 1 + T1 ⊗ (xσ − x1 )T − W1 ⊗∇ p1 p1 − (T1 − S1 − 2Q2 ) (T1 + T2 − S1 − S2 − 2Q1 − 2Q2 )−1 u2 u2 T × (T2 − Q2 ) + (T2 ⊗ (xσ − x2 ) − W2 ) ⊗∇ . p2 p2 (21)
Finite-Volume Method for the Navier–Stokes Problem
367
5 Boundary Conditions The boundary conditions are prescribed by ⎧ ⎪ ⎨
¯ + β¯ (τ (u) − pI) n x = r¯ , nT αu σ T ¯ ⎪ ¯¯ + β¯ (τ (u) − pI) n = r¯ , ⎩ I − nn αu
(22)
xσ
The boundary conditions (22) are used to derive interface unknown vector. For this purpose the boundary conditions are augmented with the condition on pressure: (αp + βμn · ∇p)|xσ = r
(23)
In (23), r = αpb +βμξ , with the prescribed boundary pressure pb . For simplicity we use the pressure boundary condition ξ = n · ∇pn , proposed in [4]. Here pn is the pressure at previous time step. Coefficient choices for Dirichlet D , no-slip NS , slip condition S , traction-free TF , prescribed pressure P and Maxwell-Navier MN types of boundary conditions are presented in Table 1. We combine (22) and (23) into a single block system to get uσ = (D + NTb )−1 pσ u u 1 ⊗∇ , × R + NTb 1 + N Tb ⊗ (xσ − x1 )T − Wb p1 p1
Table 1 Coefficients for common types of boundary conditions α¯ α¯¯ β¯ β¯¯ α β r¯ r¯¯ r
D 1 1 0 0 0 1 n · ub ub − nn · ub n · ∇pn
NS 1 1 0 0 0 1 0 0 n · ∇pn
S 1 0 0 1 0 1 0 0 n · ∇pn
TF 0 0 1 1 0 1 0 0 n · ∇pn
P 0 0 1 1 1 0 −pb 0 pb
MN 1 λ 0 1 0 1 0 0 n · ∇pn
(24)
368
K. M. Terekhov
where 8 7 ¯¯ + β¯ − β¯¯ nnT ¯¯ + α¯ − α¯¯ nnT βn ¯ βI n¯r + r¯¯ αI , R= D= , , N= r α β (25)
Tb = T¯ (xσ − x1 , n) and Wb = W¯ (n), where T¯ (v, n) =
−1 μr I + nnT
,
μr −1
W¯ (n) =
μ I ⊗ nT + nT ⊗ I
μnT
. (26)
Expression in (24) is used in (11) to evaluate the boundary flux. The matrix coefficient (D + NTb ) is invertible for μ > 0. A small ε > 0 can be added to μ in Tb to overcome the singularity without loss of the approximation property.
6 Gradient Reconstruction To compute the fluxes numerically it remains to calculate the gradient at each cell Vi . Let us consider cell V1 with the set of interfaces σ ∈ F (V1 ). For the internal σ ∈ \ ∂, σ = V1 ∩ V2 we impose the following condition on the gradient: I ⊗ (x2 − x1 )T
u1 u u ⊗∇ = 2 − 1 , p1 p2 p1
(27)
and on the boundary interface σ ∈ ∂, σ = ∂ ∩ V1 we obtain from (24) the condition for the gradient: u u 1 T D ⊗ (xσ − x1 ) + NWb ⊗∇ =R−D 1 p1 p1
(28)
Assembling the conditions (27) and (28) over all interfaces of V1 forms the linear system with matrix A ∈ )4|F (σ )|×12 and right-hand side B ∈ )4|F (σ )|×1 . The nonsquare system is solved with the least-squares method by −1 u1 ⊗ ∇ = AT A AT B. p1
(29)
Finite-Volume Method for the Navier–Stokes Problem
369
7 Problem Solution On each iteration k of the Newton’s method the right-hand side vector Rk of size 4|V()| × 1 and corresponding matrix J k of size 4|V()| × 4|V()| are assembled. The present work uses automatic differentiation for the sparse matrix assembly, as a result only the residual assembly is of concern. The assembly proceeds as follows: 1. Precompute the velocity and pressure gradients [ui pi ]T ⊗ ∇ together with the derivatives on each cell Vi ∈ V() by assembling and solving the system (29). 2. Assemble the residual of cell Vi ∈ V() for the divergence terms as: RkVi =
σ ∈F (Vi )
|σ |
t , q x
(30)
σ
where the flux is evaluated according to (21) and (11)–(24) on internal and boundary σ , respectively. 3. For each cell Vi ∈ V(), subtract the right hand side and add the time evolution term to the residual RkVi according to (4). The velocity and pressure at the next Newton’s iteration k + 1 are obtained from the system: Jk
k uk+1 u − k = Rk , pk+1 p
(31)
and the next linear iteration continues with uk+1 and pk+1 until either relative τrel or absolute τabs tolerance is satisfied. The linear system is solved iteratively using BiConjugate Stabilized Gradient method with multi-level inverse-based secondorder Crout-ILU preconditioner [14, 18]. The complete implementation is based on the INMOST toolkit for distributed mathematical modelling [16–18] which provides mesh handling, linear system assembly via automatic differentiation, linear system solution and visualization.
8 Numerical Tests We consider the analytical solution of the unsteady Navier–Stokes equations suggested by Ethier and Steinman [3], where one may find the details on the reference solution. We introduce the lagrange multiplier and impose the constraint on pressure integral following [12] for unique pressure solution. The problem is solved in the unit cube ∈ [0, 1]3 in time interval t ∈ [0, 1] for fluid with ρ = 1 and f = 0 and Dirichlet boundary conditions, ∂ = D . The
370
K. M. Terekhov
Fig. 1 Grids 1 in the unit cube. Cubic (left), tetrahedral (middle), polyhedral (right) at level = 1 Table 2 Error norms for the Ethier-Steinman problem level uh − uL2 Cubic μ = 10−1 1 2.446 × 10−2 2 4.264 × 10−3 3 9.680 × 10−4 4 4.181 × 10−4 rate 1.211 μ = 10−5 1 3.650 × 10−2 2 1.031 × 10−2 3 4.336 × 10−3 4 1.302 × 10−3 rate 1.736
ph − pL2
uh − uL2 Tetrahedral
ph − pL2
uh − uL2 Polyhedral
ph − pL2
1.234 × 10−1 1.383 × 10−2 3.880 × 10−3 1.528 × 10−3 1.344
1.761 × 10−2 4.518 × 10−3 1.136 × 10−3 3.645 × 10−4 1.971
5.516 × 10−2 1.764 × 10−2 7.124 × 10−3 3.171 × 10−3 1.168
3.676 × 10−2 1.227 × 10−2 3.967 × 10−3 1.113 × 10−3 1.916
2.471 × 10−1 6.055 × 10−2 1.465 × 10−2 3.704 × 10−3 2.033
2.460 × 10−1 3.391 × 10−2 6.361 × 10−3 1.724 × 10−3 1.883
3.329 × 10−2 7.393 × 10−3 2.185 × 10−3 5.940 × 10−4 1.879
9.499 × 10−2 1.799 × 10−2 3.739 × 10−3 9.752 × 10−4 1.924
5.663 × 10−2 2.228 × 10−2 8.256 × 10−3 2.643 × 10−3 1.717
4.746 × 10−1 1.147 × 10−1 2.555 × 10−2 6.320 × 10−3 2.106
boundary condition velocity ub is defined from the reference solution at centers of faces. Initial velocity u0 at t 0 = 0 and previous velocity u−1 at t −1 = − t are defined from the reference solution at barycenters of cells. The problem is solved on three grid types depicted on Fig. 1. Four refinement levels for each mesh are considered. The time step is taken according to t = 1/2(level−1) . The maximal CFL number on hexahedral mesh is ∼12. The computed errors for velocity and pressure with different viscosity μ are displayed in Table 2. The convergence rate in the tables is reported by the formula rate = log(E4 /E3 )/ log (|V(4 )|/|V(3 )|)1/3 , where Elevel is the L2 -norm of the error and |V(level )| is the number of cells at given mesh refinement level. The number of cells for each grid type is reported in Table 3. Nonlinear problem on each time step requires up to three iterations to converge to the nonlinear tolerances τabs = 10−5 and τrel = 10−9 . The observed reduction of the convergence rate at high viscosity can be attributed to the artificial boundary condition. Next, we consider an unsteady flow around the cylinder with circular crosssection at Reynolds number 100. The setup is similar to the one from [11], with
Finite-Volume Method for the Navier–Stokes Problem Table 3 Number of cells for the grid refinement level in the Eshier-Steinman problem
371 Level 1 2 3 4
Cubic 64 512 4096 32,768
Tetrahedral 384 3072 24,576 196,608
Dual 125 729 4913 35,937
Fig. 2 The polyhedral grid for the experiment of the fluid flow around circular cylinder
Fig. 3 Streamlines near the cylinder: side (left) and top (right) views
maximal inflow velocity U = 2.25. The density is ρ = 1 and dynamic viscosity is μ = 1/1000. This experiment aims to reproduce a Karman vortex street on the mesh with a low spatial resolution. The mesh is demonstrated in Fig. 2. It is composed of 115,491 polyhedra and is aggressively coarsened away from the zone of the cylinder. The characteristic size h = |V |1/3 of cells is in the range h ∈ [0.0015, 0.08], time step size is t = 0.005 and CFL ∼ 4.5. As seen from Figs. 3 and 5 of the flow at 4 s, the method can reproduce the instability and the complex flow pattern in the fine region. However, the finescale effects diffuse away rapidly in the coarse region of the mesh. One may compare the result with the method from [12] that uses piecewise-constant pressure approximation in Fig. 4. In comparison, the new method is less dissipative and does not require a free parameter dependent on the global flow characteristics. In Table 4, the comparison to the results with the finite-volume method from [12] and the reference values of the drag and lift coefficients from [11] are provided. The drag and lift coefficients are computed by the volumetric integrals over the domain , following [2]. The results show that the proposed method with piecewise-linear
372
K. M. Terekhov
Fig. 4 Pressure field colored in the range p ∈ [−0.3 : 1.7] (top) and z-component of the vorticity (∇ × u)z ∈ [−25 : 25] (bottom) in the middle cutaway of the mesh. Obtained with the method in the present article
Fig. 5 Pressure field colored in the range p ∈ [−0.3 : 1.7] (top) and z-component of the vorticity (∇ × u)z ∈ [−25 : 25] (bottom) in the middle cutaway of the mesh. Obtained with the method from [12] with piecewise-constant pressure approximation Table 4 Estimated lift and drag coefficients and the Strouhal number for the flow around the cylinder with circular cross-section Method Piecewise-linear pressure Piecewise-constant pressure [12] Schäfer and Turek [11]
max(CD ) 3.303 3.172 3.29–3.31
− max(CL ) 0.011 0.0219 0.008–0.011
St 0.29 0.305 0.29–0.35
pressure approximation fits within the interval of reference values on the given grid, whereas the method from [12] with piecewise-constant pressure approximation is outside of the range (Fig. 5).
Finite-Volume Method for the Navier–Stokes Problem
373
9 Conclusion This work proposed a new collocated finite-volume method that features a simple flux-based construction. The method does not suffer from the inf-sup stability issue. In future work, we shall consider a comparison of different approaches to artificial pressure boundary condition and study the applicability of the method to non-Newtonian fluids. Acknowledgement This work was supported by the Russian Science Foundation through the grant 19-71-10094.
References 1. Bouchnita, A., Terekhov, K., Nony, P., Vassilevski, Y., Volpert, V.: A mathematical model to quantify the effects of platelet count, shear rate, and injury size on the initiation of blood coagulation under venous flow conditions. PLOS One 15(7), e0235392 (2020) 2. Braack, M., Richter, T.: Solutions of 3d Navier–Stokes benchmark problems with adaptive finite elements. Comput. Fluids 35(4), 372–392 (2006) 3. Ethier, C., Steinman, D.: Exact fully 3D Navier–Stokes solutions for benchmarking. Int. J. Numer. Methods Fluids 19(5), 369–375 (1994) 4. Gresho, P., Sani, R.: On pressure boundary conditions for the incompressible Navier–Stokes equations. Int. J. Numer. Methods Fluids 7(10), 1111–1145 (1987) 5. Harlow, F., Welch, J.: Numerical calculation of time-dependent viscous incompressible flow of fluid with free surface. Phys. Fluids 8(12), 2182–2189 (1965) 6. Ladyzhenskaya, O.: The Mathematical Theory of Viscous Incompressible Flow, vol. 12. Gordon & Breach, New York (1969) 7. Lebedev, V.: Difference analogues of orthogonal decompositions, basic differential operators and some boundary problems of mathematical physics. I. USSR Comput. Math. Math. Phys. 4(3), 69–92 (1964) 8. Olshanskii, M., Terekhov, K., Vassilevski, Y.: An octree-based solver for the incompressible Navier–Stokes equations with enhanced stability and low dissipation. Comput. Fluids 84, 231–246 (2013) 9. Perot, B.: Conservation properties of unstructured staggered mesh schemes. J. Comput. Phys. 159(1), 58–89 (2000) 10. Rhie, C., Chow, W.: Numerical study of the turbulent flow past an airfoil with trailing edge separation. AIAA J. 21(11), 1525–1532 (1983) 11. Schäfer, M., Turek, S., Durst, F., Krause, E., Rannacher, R.: Benchmark computations of laminar flow around a cylinder. In: Hirschel E.H. (eds.) Flow Simulation with HighPerformance Computers II. Notes on Numerical Fluid Mechanics, vol. 48, pp. 547–566. Vieweg+Teubner Verlag, Berlin (1996) 12. Terekhov, K.: Collocated finite-volume method for the incompressible Navier-Stokes problem. J. Numer. Math. 1(ahead-of-print) (2020) 13. Terekhov, K.: Multi-physics flux coupling for hydraulic fracturing modelling within INMOST platform. Russ. J. Numer. Anal. Math. Model. 35(4), 223–237 (2020) 14. Terekhov, K.: Parallel multilevel linear solver within INMOST platform. In: Voevodin V., Sobolev S. (eds.) Supercomputing. RuSCDays 2020. Communications in Computer and Information Science. Springer, Cham (2020)
374
K. M. Terekhov
15. Terekhov, K., Vassilevski, Y.: Finite volume method for coupled subsurface flow problems, I: Darcy problem. J. Comput. Phys. 395, 298–306 (2019) 16. Terekhov, K., Vassilevski, Y.: INMOST parallel platform for mathematical modeling and applications. In: Voevodin V., Sobolev S. (eds.) Supercomputing. RuSCDays 2018. Communications in Computer and Information Science, vol. 965, pp. 230–241. Springer, Cham (2019) 17. Terekhov, K., Vassilevski, Y.: Mesh modification and adaptation within INMOST programming platform. In: Garanzha V., Kamenski L., Si H. (eds.) Numerical Geometry, Grid Generation and Scientific Computing. Lecture Notes in Computational Science and Engineering, vol. 131, pp. 243–255. Springer, Cham (2019) 18. Vassilevski, Y., Terekhov, K., Nikitin, K., Kapyrin, I.: Parallel Finite Volume Computation on General Meshes. Springer International Publishing, New York (2020). https://books.google. ru/books?id=hYvtDwAAQBAJ
Efficient Steady Flow Computations with Exponential Multigrid Methods Shu-Jie Li
Abstract An exponential multigrid framework is developed and assessed with a modal high-order discontinuous Galerkin method in space. The algorithm based on a global coupling, exponential time integration scheme provides strong damping effects to accelerate the convergence towards the steady-state, while high-frequency, high-order spatial error modes are smoothed out with a s-stage preconditioned Runge-Kutta method. Numerical studies show that the exponential time integration substantially improves the damping and propagative efficiency of Runge-Kutta time-stepping for use with the p-multigrid method, yielding rapid and p-independent convergences to steady flows in both two and three dimensions.
1 Introduction An important requirement for computational fluid dynamics is the capability to predict steady flows such as the case of flow past a body, so that key performance parameters, e.g., the lift and drag coefficients can be estimated. While the classical second-order methods are still being used extensively, high-order spatial discretizations attract more attention. For steady-state computations, most of the spatial discretizations have rested on the use of limited, traditional time discretizations combining with various acceleration methods. Recently, as an alternative to traditional time-marching methods, an exponential time integration scheme, the predictor-corrector exponential time-integrator scheme (PCEXP) [1–5] has been developed and successfully applied to the time stepping of fluid dynamics equations, exhibiting some advantages in terms of accuracy and efficiency for solving the fluid dynamics equations in both time-dependent and time-independent regimes. In this paper, the exponential time integration is exploited in a multigrid framework which consists of an exponential time marching method and a s-stage
S.-J. Li () Beijing Computational Science Research Center, Beijing, China e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_24
375
376
S.-J. Li
preconditioned Runge-Kutta method as an effective way to increase the feasibility of arbitrarily p-order DG for the high-order simulations of steady-state flows. The remainder of this paper is organized as follows. Section 2 presents the multigrid algorithm which combines two stand-alone methods in a V-cycle p-multigrid framework. Section 3 introduces the spatial discretization with a modal high-order DG method. Section 4 discusses how to evaluate the time steps in the p-multigrid framework. Section 5 presents the numerical results including two inviscid flow problems: (a) flow past a circular cylinder; (b) flow flow over a sphere. The numerical results obtained with the exponential p-multigrid method (eMG) are compared directly with a fully implicit method solved with the Incomplete LU preconditioned GMRES (ILU-GMRES) linear solver. Finally, Sect. 6 concludes this work. The Appendix provides the details of Jacobian matrices for the DG space discretization and time-step evaluations.
2 Exponential Multigrid Frame In this section, a high-order (p) multigrid frame is detailed which is expected to have comparable performance to implicit methods for steady flow computations. The algorithm combines two stand-alone methods: the exponential time integration method and a s-stage preconditioned Runge-Kutta method. The two methods are introduced separately first and are finally integrated into a whole V-cycle multigrid frame.
2.1 Exponential Time Integration We start with the following semi-discrete system of ordinary differential equations which may be obtained from a spatial discretization: du = R(u), dt
(1)
where u = u(t) ∈ RK denotes the vector of the solution variables and R(u) ∈ RK the right-hand-side term which may be the spatially discretized residual terms of the discontinuous Galerkin method used in this work. The dimension K is the degrees of freedom which can be very large for 3-D problems. Without loss of generality, we consider u(t) in the interval of one time step, i.e., t ∈ [tn , tn+1 ]. Applying the term splitting method [6] to (1) leads to a different exact expression du = Jn u + N(u), dt
(2)
Efficient Steady Flow Computations with Exponential Multigrid Methods
377
where the subscript n indicates the value evaluated at t = tn , Jn denotes the Jacobian matrix Jn = ∂R(u) ∂u |t =tn = ∂R(un ) ∂u and N(u) = R(u) − Jn u denotes the remainder, which in general is nonlinear. Equation (2) admits the following formal solution: t un+1 = exp( tJn )un +
exp (( t − τ )Jn )N(u(tn + τ )) dτ ,
(3)
0
where t = tn+1 − tn and exp(−tJn ) =
∞
(−tJn )m . m!
(4)
m=0
If using (3), the stiff linear term and the nonlinear integral term could be computed separately. The linear term could be computed analytically for some specialized equations but the nonlinear term is usually approximated numerically. In this paper, we use its equivalent form (5) instead, in which the linear and nonlinear terms are collected into a single term so that it can be efficiently approximated at one time. Recently, a two-stage exponential scheme PCEXP [5] is shown to be effective for computing various flow regimes. However, using only the first stage of PCEXP, namely, the EXP1 scheme [1, 3] is shown to be more efficient for steady flows, although it is incapable of solving unsteady flows. Considering the constant approximation of the nonlinear term leads to the EXP1 scheme, namely un+1 = exp( tJn )un + t1 ( tJn )Nn = un + t1 ( tJn )Rn ,
(5)
where 1 ( tJ) :=
1 J−1 0 exp( tJ) − I , t
(6)
and I denotes the K × K identity matrix. The physical nature of such type of exponential schemes relies on the global coupling feature via the global Jacobian matrix J, so that flow transportation information can be broadcasted to the whole computational domain without a CFL restriction. That is why the exponential schemes behave like a fully implicit method but only depends on the current solution, i.e., in an explicit way as (5). Therefore, the EXP1 scheme is curiously exploited in the p-multigrid framework for steady flow computations.
378
S.-J. Li
2.2 Realization of EXP1 with the Krylov Method The implementation of exponential time integration schemes requires evaluations of matrix-vector products, and in particular, the product of the exponential functions of the Jacobian and a vector, e.g., 1 ( tJn )N in (5). They can be approximated efficiently using the Krylov method [7, 8]. Consider a m-dimensional Krylov subspace (7) Km (J, N) = span N, JN, J2 N, . . . , Jm−1 N . The orthogonal basis matrix Vm := (v1 , v2 , . . . , vm ) ∈ RK×m satisfies the so-called Arnoldi decomposition [8]: ?m , JVm = Vm+1 H
(8)
where Vm+1 := (v1 , v2 , . . . , vm , vm+1 ) = (Vm , vm+1 ) ∈ RK×(m+1) . The matrix ?m is the (m + 1) × m upper-Hessenberg matrix. Then (8) becomes H JVm = Vm Hm + hm+1,m vm+1 eTm .
(9)
Because VTm Vm = I, therefore Hm = VTm JVm ,
(10)
Hm is thus the projection of the linear transformation of J onto the subspace Km with the basis Vm . Since Vm VTm = I, (10) leads to the following approximation: J ≈ Vm VTm JVm VTm = Vm Hm VTm ,
(11)
and exp(J) can be approximated by exp Vm Hm VTm as below exp(J)N ≈ exp Vm Hm VTm N = Vm exp(Hm )VTm N.
(12)
The first column vector of Vm is v1 = N/N2 and VTm N = N2 e1 , thus (12) becomes exp(J)N ≈ N2 Vm exp(Hm )e1 . Consequently, 1 can be approximated by t 1 1 ( tJ)N = exp(( t − τ )J)N dτ t 0 t 1 N2 Vm exp(( t − τ )Hm )e1 d(τ ) . ≈ t 0
(13)
(14)
Efficient Steady Flow Computations with Exponential Multigrid Methods
379
In general, the dimension of the Krylov subspace, m, is chosen to be much smaller than the dimension of J, K, thus, Hm ∈ Rm×m can be inverted easily, so 1 can be easily computed as the following 1 ( tJ)N ≈ =
1 N2 Vm t
t
exp(( t − τ )Hm )e1 dτ
0
0 1 1 N2 Vm H−1 m exp( tHm ) − I e1 , t
(15)
where the matrix-exponential exp( tHm ) can be computed efficiently by the Chebyshev rational approximation (cf., e.g., [8, 9]) due to the small size of Hm .
2.3 Preconditioned Runge-Kutta Method Consider a s-stage preconditioned Runge-Kutta (PRK) method of the following form u(0) = un
u(k) = un + βk P−1 (un )R u(k−1) ,
k = 1, 2, . . . , s,
(16)
un+1 = u(s) where βk = 1/(s − k + 1). P is taken as the diagonal part of the global residual Jacobian J = ∂R ∂u , representing the element-wise wave propagation information. s = 4 is used for all the test cases of this work. The physical nature of this type of RK method can be interpreted in two different views which are helpful for us to see how does PRK make sense. First, we consider the first-order spatial discretization of finite volume or discontinuous Galerkin method to the i-th element surrounded by adjoined cells j (1 ≤ j ≤ N) with the inter-cell surface area Sij , and the spatial residual using a upwinding flux can be written as
10 1 ui 1 = Ri = F(ui ) + F(uj ) nij Sij + |Anij | ui − uj Sij . t 2 2 N
Vi
(17)
j =1
So P can be derived as
1 ∂Ri |An | Sij . ≈ ∂ui 2 ij N
Pi =
j =1
(18)
380
S.-J. Li
A matrix t can be defined as Vi 1 n j =1 2 |Aij | Sij
t = Vi P−1 = N
.
(19)
One can uncover the relationship between the matrix t and the traditional definition of time step by considering a cell-constant scalar spectral radius approximation n λmax ij to |Aij | , i.e., t = N
2Vi
max j =1 λij Sij
1D
−→
xi λmax i
(20)
Therefore, P−1 is equivalent to a matrix time step and it is consistent to the usual definition of time step in the scalar case. As demonstrated in [10], this matrix is a kind of preconditioner which can provide effective clustering of convective eigenvalues and substantial improvements to the convergence of RK time-stepping. In this work, different from [10], an exact way of evaluating matrix time steps with exact Jacobian is proposed in [3] so that all the stiffness effects from spatial discretizations and boundary conditions can be exactly taken into account. Note that such a matrix time stepping has no temporal order of accuracy, since the traditional scalar, physical time step dose not show up at all. Therefore, the PRK scheme has no temporal order of accuracy. The formula of PRK scheme can be considered as a simplified fully implicit scheme or implicit-explicit Runge Kutta methods, but has it own physical significance. To increase robustness, we recommend to increase diagonal domination to P, namely, P = ∂R ∂u + I/δτ , where δτ is a pseudo time step which is computed by (32).
2.4 The V-Cycle p-Multigrid Framework The use of p-multigrid smoother with explicit RK or preconditioned RK methods is observed inefficient at eliminating low-frequency error modes at lower orders of accuracy. To provide a better smoother with stronger damping effects, the EXP1 scheme that exhibits fast convergence rates for Euler and Navier-Stokes equations is considered. Unlike the explicit RK smoother that only produces weak damping effects in a local, point-wise manner, the exponential scheme is a global method that allows large time steps with strong damping effects to all the frequency modes across the computational domain, as shown in the previous works [3]. In the exponential p-multigrid method (eMG), the EXP1 scheme is utilized on the accuracy level p = 0 and the PRK method is used for accuracy levels p > 0, contributing both memory deduction and efficiency enhancement. The smoothing employs a V-cycle p-multigrid process, where a two-level algorithm is recursively used. To illustrate the algorithm, let us consider a nonlinear problem A(up ) = pp ,
Efficient Steady Flow Computations with Exponential Multigrid Methods
381
where up is the solution vector, A(up ) is the nonlinear operator and p denotes the accuracy level of DG. Let vp be an approximation to the solution vector up and define the residual r(vp ) by r(vp ) = fp − Ap (vp ). In the eMG framework, the solution on the p − 1 level is used to correct the solution of p level in the following steps: 1. Conduct a time stepping with the PRK scheme on the highest accuracy level pmax . 2. Restrict the solution and the residual of p to the p − 1 level (1 ≤ p ≤ pmax ) p−1
v0
p−1 p
= Rp
v ,
p−1 p
rp−1 = Rp
r (vp ),
(21)
p−1
where Rp is the restriction operator from the level p to the level p − 1. 3. Compute the forcing term for the p − 1 level p−1
sp−1 = Ap−1 (v0
) − rp−1 .
(22)
4. Smooth the solution with the PRK scheme on the p − 1 level but switch to use the EXP1 scheme on the lowest accuracy level p = 0, p−1 p
Ap−1 (vp−1 ) = Rp
f + sp−1 .
(23)
5. Evaluate the error of level p − 1 p−1
ep−1 = vp−1 − v0
.
(24)
6. Prolongate the p − 1 error and correct the approximation of level p p
vp = vp + Pp−1 ep−1 ,
(25)
p
where Pp−1 is the prolongation operator.
3 Spatial Discretization In this paper, the eMG method is applied to solve three-dimensional Euler equations discretized by a modal discontinuous Galerkin method. Consider the Euler equations in three-dimensional space ∂U + ∇ · F = 0, ∂t
(26)
382
S.-J. Li
where U stands for the vector of conservative variables, F denotes the convective flux ⎛
⎞ " U = ⎝ "v ⎠ , "E
⎛
⎞ "v T F = ⎝"vv T + pI⎠ , " H vT
(27)
where v = (u, v, w)T is the absolute velocity, ", p, and e denote the flow density, pressure, and the specific internal energy; E = e + 12 v2 and H = E + p/" denote the total energy and total enthalpy, respectively; I denotes the 3 × 3 unit matrix; and the pressure p is given by the equation of state for a perfect gas p = "(γ − 1)e,
(28)
where γ = 7/5 is the ratio of specific heats for perfect gas.
3.1 Modal Discontinuous Galerkin Method Considering a computational domain divided into a set of non-overlapping elements of arbitrary shape, the modal discontinuous Galerkin method [3] seeks an approximation Uh in each element E ∈ with finite-dimensional space of polynomial P p of order p in the discontinuous finite element space Vh := ψi ∈ L2 () : ψi |E ∈ P p (), ∀E ∈ .
(29)
The numerical solution of Uh can be approximated in the finite element space Vh Uh (x, t) =
n
uj (t)ψj (x).
(30)
j =1
In the weak formulation, the Euler equations (26) in an element E becomes: ψi ψj dx E
duj =− dt
F · nˆ dσ + ψi ? ∂E
F · ∇ψi dx := Ri ,
(31)
E
where nˆ is the out-normal unit vector of the surface element σ with respect to the element E, ? F is the Riemann solver [11], which will be approximated by Roe scheme [12], and the Einstein summation convention is used. For an orthonormal basis {ψi }, the term on the left-hand side of (31) becomes diagonal, so the system is in the standard ODE form of (1), thus avoiding solving a a linear system as required for a non-orthogonal basis. More importantly, using an orthogonal basis would yield more accurate solutions, especially for high-order methods, e.g., p = 6.
Efficient Steady Flow Computations with Exponential Multigrid Methods
383
4 Time-Stepping Strategy In this section, the time-stepping strategy of the eMG framework is discussed as a time-marching solver to compute the steady solutions of the Euler equations. There are two different time steps needed to be determined. One for the PRK time stepping δτ and the other for EXP1 smoothing which is empirically chosen as large as (pmax + 1)δτ . As such, only δτ should be determined. δτ is determined by δτ =
CFL h3D , (2p + 1)(v + c)
h3D := 2d
|E| , |∂E|
(32)
where CFL is the global Courant-Friedrichs-Lewy (CFL) number, p the accuracy level, v the velocity vector at the cell center, c the speed of sound, d the spatial dimension, |E| and |∂E| are the volume and the surface area of the boundary of E, respectively; and h3D represents a characteristic size of a cell in 3D defined by the ratio of its volume and surface area. All the methods mentioned in this paper have been implemented in the HA3D flow solver developed by the author, which is for solving three-dimensional problems as its name indicates. So to support 2-D computations, a 2-D mesh is extruded to a 3-D (quasi-2D) mesh by one layer of cells and we use h2D instead of h3D to eliminate the effect of the z dimension on obtaining the truly 2-D time step. Given the cell size z in the z direction, h2D is determined by 2 3 1 . = − h2D h3D z
(33)
To enhance the computational efficiency for the steady problems, the CFL number of both schemes are dynamically determined by the following formula $ # (n − 1) CFLn = min CFLmax , max R("n )−1 , , 1 + 2 (2p + 1) 1/2 1 R("n )2 := R("n )2 dx , ||
(34a) (34b)
where R("n ) denotes the residual of density, CFLmax is the user-defined maximal CFL number, n is the number of iterations, and p is the spatial order of accuracy. Such a variable CFL evolution strategy allows a robust code startup and good overall computational efficiency in practices. In all the test cases considered, the upperbound CFL number of (34a) is taken as follows: CFLmax = 103 for the implicit BE method; CFLmax = 102 for the eMG method.
384
S.-J. Li
5 Numerical Results In this section, we focus on the investigations of performance and convergence of the eMG framework. The feasibility is of eMG is demonstrated and compared to a fast fully implicit ILU preconditioned GMRES method. Two external flow cases are considered: flows past a circular cylinder in quasi-2D and a sphere in 3D. Since both eMG and GMRES are based on the Krylov subspace, the same Krylov space parameters are used. The Krylov subspace dimension m is 30 and the tolerance of Krylov subspace approximation error is 10−5 , see Saad’s classic works [8, 13] for more details about the error estimations. The fastest first-order backward Euler (BE) discretization solved with the ILU preconditioned GMRES linear solver is used as the performance reference solution.
5.1 Flow Over a Circular Cylinder in Quasi-2D In this case, the results obtained for flow over a circular cylinder at Mach number Ma = 0.3 is presented. The cylinder has a radius of 1 and is surrounded in a circular computational domain of radius 15, as shown in Fig. 1. The quasi-2D mesh with 128×32 = 4096 quadratic curved hexahedral elements is generated by extruding the 2D mesh by one layer of grids. The final 3D mesh is used by the HA3D arbitrarily high-order discontinuous Galerkin flow solver[1–5]. The total degree of freedoms is up to 81,920 with DG at p = 3.
Fig. 1 Flow over a circular cylinder in quasi-2D: 128 × 32 = 4096 quadratic curved elements
Efficient Steady Flow Computations with Exponential Multigrid Methods
385
In Fig. 2, the L2 norm of density residual R("n ) is plotted versus the iteration by using the eMG scheme, indicating convergence rates independent of spatial order of accuracy p, or say p-independent. The results obtained with a fast, implicit ILU preconditioned GMRES is computed in Fig. 3, which shows the convergence 0
eMG, p1 eMG, p2 eMG, p3
lg||R(ρn)||2
-2
-4
-6
-8
-10 0
50
100
150
200
250
300
350
400
Iterations Fig. 2 Flow over a circular cylinder in quasi-2D: p-independent convergences with the eMG method 0
IMP, p1 IMP, p2
lg||R(ρn)||2
-2
IMP, p3
-4
-6
-8
-10 0
50
100
150
200
Iterations Fig. 3 Flow over a circular cylinder in quasi-2D: Convergence histories of the implicit method with varying spatial accuracy
386
S.-J. Li 0
eMG, p1 eMG, p2 eMG, p3
lg||R(ρn)||2
-2
IMP, p1 IMP, p2
-4
IMP, p3 -6
-8
-10 0
2
4
6
8
10
12
14
16
18
CPU time Fig. 4 Flow over a circular cylinder in quasi-2D: Performance comparison between the eMG method and the implicit method at different spatial accuracy
histories of the implicit method with varying spatial accuracy. The results show rapid quadratic Newton convergences which are dependent on the spatial order of accuracy p. To see how promising is the eMG performance comparing with the fully implicit method, the two results are compared in Fig. 4, where the CPU time is normalized by that of the eMG scheme. As we can see, the implicit method (IMP) is faster for p = 1, 2 cases but is slower than the eMG scheme for the p = 3 case. So for high-order computations, the eMG method is at least comparable to the implicit method in terms of overall performance.
5.2 Flow Over a Sphere in 3D The computational efficiency of the eMG scheme is investigated for the threedimensional flow past a sphere with the Mach number Ma = 0.3. The radius of the sphere is 1 and the far-field spherical radius is 5. The sphere surface is set as a slip wall boundary condition, and the outer boundary uses a far-field characteristic boundary condition with Riemann invariants. The mesh respects the flow symmetries of the horizontal and vertical planes, on which a symmetry boundary condition is imposed. The generated curved mesh consists of 9778 tetrahedrons and 4248 prisms, 14,026 cells in total. A close-up view of the mesh about the sphere and the velocity contour computed with the eMG scheme at p = 3 is illustrated in Fig. 5.
Efficient Steady Flow Computations with Exponential Multigrid Methods
387
Fig. 5 Flow contour computed for the flow past a sphere at Ma = 0.3 with eMG and DG p = 3
Figure 6 shows the convergence histories of the eMG method for spatial order of accuracy p = 1, 2, 3. Again, p-independent convergences do appear. In Fig. 7, convergence histories of the implicit method (IMP) are shown with iteration counts. Figure 8 compares both methods measured in CPU time. As one can see that although IMP is fast in terms of iteration counts, the computational cost per iteration is relatively high and the resulting CPU time is penalized. When using high-order spatial schemes along with an implicit method, the high-order global Jacobian matrix consumes a large amount of memory. The most significant part of memory usage (M) of the two methods eMG and IMP are compared as follows 5 (p + 1)(p + 2)(p + 3) + 150 , 3 2 5 = 6NE (p + 1)(p + 2)(p + 3) . 6
Memg = NE Mimp
(35)
For problems sized up to NE = 105 elements at p = 3, fourth-order spatial accuracy, a fully implicit method requires 45 GB memory only for storing the
388
S.-J. Li 0
eMG, p1 eMG, p2
lg||R(ρn)||2
-2
eMG, p3
-4
-6
-8
-10 0
160
320
480
640
800
Iterations Fig. 6 Flow over a sphere in 3D: p-independent convergences with the eMG method 0
IMP, p1 IMP, p2 IMP, p3
lg||R(ρn)||2
-2
-4
-6
-8
-10 0
40
80
120
160
Iterations Fig. 7 Flow over a sphere in 3D: convergence histories of the implicit method with varying spatial accuracy
Jacobian matrix, while eMG only requires 0.03 GB memory for storing the solution vectors plus the first-order Jacobian matrix for the same sized problem. Therefore, the eMG method is far more memory friendly compared with a fully implicit method, providing a more practical while efficient strategy for solving steady problems with high-order methods.
Efficient Steady Flow Computations with Exponential Multigrid Methods 2
eMG, p1 eMG, p2 eMG, p3
0
lg||R(ρn)||2
389
-2
IMP, p1 IMP, p2
-4
IMP, p3
-6
-8
-10 0
15
30
45
60
CPU time Fig. 8 Flow over a sphere in 3D: performance comparison between the eMG method and the implicit method at different spatial accuracy
6 Conclusions The first-order exponential time integration scheme, EXP1 has been exploited to increase the feasibility of arbitrarily p-order DG for high-order simulations of steady-state flows. The algorithms and the physical natures of the methods are presented. The performance and memory usage are investigated and compared with a fast backward-Euler ILU preconditioned GMRES fully implicit method for 2-D and 3-D steady flow problems. The results show expected p-independent convergence rates for p = 1, 2, 3 order of accuracy and the eMG method is up to 20 times faster than the p = 3 ILU-GMRES for the 3-D case. Comparing to the fully implicit method, the eMG framework uses less memory but achieves comparable computational efficiency. Although the eMG method shows promising results, the PRK scheme inside has a time step restriction and thus affects the overall efficiency. Further studies are needed to pursue a better high-frequency smoother and a more efficient exponential scheme as well. Acknowledgments This work is funded by the National Natural Science Foundation of China (NSFC) under the Grant U1930402. The computational resources are provided by Beijing Computational Science Research Center (CSRC).
390
S.-J. Li
References 1. Li, S.-J., Wang, Z.J., Ju, L., Luo, L.-S.: Explicit large time stepping with a second-order exponential time integrator scheme for unsteady and steady flows. In: 55th AIAA Aerospace Sciences Meeting, AIAA-2017-0753 (2017) 2. Li, S.-J., Wang, Z.J., Ju, L., Luo, L.-S.: Fast time integration of Navier-Stokes equations with an exponential-integrator scheme. In: 2018 AIAA Aerospace Sciences Meeting, AIAA-20180369 (2018) 3. Li, S.-J., Luo, L.-S., Wang, Z.J., Ju, L.: An exponential time-integrator scheme for steady and unsteady inviscid flows. J. Comput. Phys. 365, 206–225 (2018) 4. Li, S.-J.: Mesh curving and refinement based on cubic Bézier surface for High-order discontinuous Galerkin methods. Comput. Math. Math. Phys. 59(12), 2080–2092 (2019) 5. Li, S.-J., Ju, L., Si, H.: Adaptive exponential time integration of the Navier-Stokes equations. In: AIAA-2020-2033 (2020) 6. Caliari, M., Ostermann, A.: Implementation of exponential Rosenbrock-type integrators, Appl. Numer. Math. 59(3), 568–582 (2009) 7. Tokman, M., Loffeld, J.: Efficient design of exponential-Krylov integrators for large scale computing. Procedia Comput. Sci. 1(1), 229–237 (2010) 8. Saad, Y.: Analysis of some Krylov subspace approximations to the matrix exponential operator. SIAM J. Numer. Anal. 29(1), 209–228 (1992) 9. Moler, C.: Nineteen dubious ways to compute the exponential of a matrix, twenty-five years later. SIAM J. Numer. Anal. 45(1), 3–49 (2003) 10. Pierce, N., Giles, M.: Preconditioning compressible flow calculations on stretched meshes. In: 34th Aerospace Sciences Meeting and Exhibit, AIAA-1996-889 (1996) 11. Toro, E.: Riemann Solvers and Numerical Methods for Fluid Dynamics. Springer, Berlin (1999) 12. Roe, P.: Approximate Riemann solvers, parameter vectors, and difference schemes. J. Comput. Phys. 43(2), 357–372 (1981) 13. Saad,Y., GMRES: A generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM J. Sci. Stat. Comput. 7(3), 856–869 (1986)
Exponential Time Integrators for Unsteady Advection–Diffusion Problems on Refined Meshes Mikhail A. Botchev
Abstract Time integration of advection dominated advection–diffusion problems on refined meshes can be a challenging task, since local refinement can lead to a severe time step restriction, whereas standard implicit time stepping is usually hardly suitable for treating advection terms. We show that exponential time integrators can be an efficient, yet conceptually simple, option in this case. Our comparison includes three exponential integrators and one conventional scheme, the two-stage Rosenbrock method ROS2 which has been a popular alternative to splitting methods for solving advection–diffusion problems.
1 Introduction Time integration of unsteady advection–diffusion problems discretized in space on locally refined meshes can be a challenging problem. This is especially the case for advection dominated problems. On the one hand, requirements of accuracy, monotonicity and total variation diminishing (TVD) usually rule out the use of implicit time integration for advection terms [23, Chapter III.1.3] (for a notable exception see [31]). On the other hand, locally refined meshes can impose a severe CFL stability restriction on the time step, thus making explicit schemes very inefficient. Within the method of lines framework, i.e., when discretization in space is followed by time integration, different approaches exist to cope with this problem. A straightforward and widely used approach is operator splitting [23, Chapter IV],[43, Chapter 3], when advection is usually treated explicitly in time and diffusion implicitly. Though being conceptually simple and easy to apply in practice, splitting
M. A. Botchev () Keldysh Institute of Applied Mathematics, Russian Academy of Sciences, Moscow, Russia Marchuk Institute of Numerical Mathematics, Russian Academy of Sciences, Moscow, Russia e-mail: [email protected] © Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3_25
391
392
M. A. Botchev
methods unavoidably lead to splitting errors, see, e.g., [10, 27]. Moreover, a proper use of boundary conditions within the splitting is sometimes not trivial and may lead to error order reduction [15, 38]. To reduce splitting errors many various approaches have been proposed, with none being fully successful. Here we mention source splitting techniques [42] and Rosenbrock schemes [23, Chapter IV.5]. Other possible approaches to integrate advection–diffusion problems efficiently include implicit-explicit (IMEX) methods [23, Chapter IV.4] and multirate schemes [9, 34, 35]. In this paper we show that in some cases exponential time integration schemes can serve as an efficient yet simple way to integrate advection–diffusion problems in time on locally refined meshes. Similar to implicit schemes, exponential schemes have attractive stability properties. However, exponential schemes have also excellent accuracy properties and in some cases, especially for linear ODE (ordinary differential equation) systems, are able to produce exact solution to initialvalue problem (IVP) being solved. This is the property we exploit in this work. An example of an IVP that can be solved exactly by an exponential solver is y (t) = −Ay(t) + g,
y(0) = v,
t ∈ [0, T ],
(1)
where v, g ∈ RN are given and A ∈ RN×N represents the advection–diffusion operator discretized in space. Exponential solvers involve matrix-vector products with the matrix exponential and related, the so-called ϕ functions. More specifically, the exact solution y(t) of (1) can be written as y(t) = v + tϕ(−tA)(g − Av),
t 0,
(2)
where a matrix-vector product of the matrix function ϕ(−tA) and the vector g − Av has to be computed. Here the function ϕ is defined as [21] ⎧ z ⎨ e − 1 , for z = 0, z ∈ C, z ϕ(z) = ⎩ 1, for z = 0. In case g ≡ 0 expression (2) reduces to a familiar relation y(t) = exp(−tA)v, t 0. Note that such an “all-at-once” exact solution of systems (1) is also possible if g is a given vector function g(t) of time t, see [1]. Furthermore, to solve general nonlinear IVPs within this approach, across-time iterations of the waveform relaxation type can successfully be employed [25]. Then, at each waveform relaxation iteration, a linear IVP of the type (1) is solved by an exponential scheme. Such an approach is attractive because no time stepping is involved and solution can often be obtained for the whole time interval t ∈ [0, T ]. Exponential time integration is a rapidly developing research area [21]. Two classes of exponential schemes can be distinguished: (1) time-stepping schemes having a certain accuracy order where the matrix exponential or related matrix functions are evaluated within each time step and (2) schemes which, formally
Exponential Time Integrators for Unsteady Advection–Diffusion
393
speaking, deliver an exact solution to the IVP, where the actions of the matrix exponential or related matrix functions are employed across a certain time interval. The former class includes extrapolated second order exponential Euler method (EE2, discussed and tested below), exponential Rosenbrock schemes [22], and predictor-corrector exponential schemes [30]. Examples of the latter class are the scheme (2) applied to IVP (1), exponential waveform relaxation schemes [5] where solution to (3) is sought by replacing A with a preconditioner M ≈ A and iterating, and the exponential block Krylov (EBK) method discussed and tested below. Note that exponential schemes of the both classes can handle nonlinear problems, in particular, compressible [28, 29] and incompressible [26] Navier-Stokes equations. In this work we present comparison results for three different exponential solvers. All these methods are based on the Krylov subspace techniques discussed in [1, 6, 36]. Krylov subspace methods have been successfully used for evaluating matrix exponential and related matrix functions since the eighties, see in chronological order [11, 12, 20, 24, 32, 33, 39]. An attractive property of the Krylov subspace methods, which distinguishes them from the other methods used for large matrix function evaluations f (A)v, is their adaptivity with respect to the spectral properties of A and the particular vector v, see [40]. To work efficiently, Krylov subspace methods often need a restarting [14, 18], a mechanism allowing to keep Krylov subspace dimension restricted while preserving convergence of the unrestarted method. The structure of this paper is as follows. In Sect. 2 the problem and methods used for its solution are presented. Section 3 is devoted to numerical experiments, here the methods are compared and comparison results are discussed. Finally, some conclusions are drawn in Sect. 4.
2 Problem Formulation and Methods In this paper we assume that a linear PDE of the advection–diffusion type is solved by the method of lines and, after a suitable space discretization, the following IVP has to be solved y (t) = −Ay(t) + g(t),
y(0) = v,
t ∈ [0, T ].
(3)
Here A ∈ RN×N represents the discretized advection–diffusion operator and the given vector function g(t) accounts for time dependent sources or boundary conditions.
394
M. A. Botchev
2.1 Exponential Time Integrators Perhaps the simplest exponential integrator is exponential Euler method which, applied to problem (3), reads yn+1 = yn + tϕ(− tA)(gn − Ayn ),
(4)
where t is the time step size, yn is numerical solution at time t = tn and gn = g( tn). The method is inspired by relation (2) and for constant source term g is exact. It is not difficult to check that it is first order accurate. Using extrapolation [3, 44], i.e., by combining solutions obtained with different time steps, higher order methods can be obtained. Globally extrapolated second order exponential Euler method (EE2) is considered in [1], (1) carry out T / t steps of (4) with t, set result to y t (T ), (2) carry out 2T / t steps of (4) with t/2, set result to y t /2(T ),
(5)
(3) obtain solution by extrapolation: yEE2(T ) := 2y t /2(T ) − y t (T ), where its combination with EXPOKIT [36], used to evaluate the ϕ matrix vector products, is argued to be a competitive integrator. The phiv function of EXPOKIT is able to efficiently compute actions of the ϕ matrix functions by a restarted Arnoldi process, where the restarting is done by time stepping based on an error estimation. In experiments presented below we show that EE2/EXPOKIT can be significantly improved by introducing residual-based error control [4, 8, 13] and replacing the restarting procedure by the residual-time (RT) restarting presented in [6, 7]. EE2 is an exponential integrator which evaluates matrix functions within a time stepping procedure: at each time step ϕ is computed by a Krylov subspace method. It is often more efficient [2, 5], if possible, to organize work in such a way that numerical linear algebra work for matrix function evaluations is done across time stepping, for a certain time interval. For instance, as shown in [1], if for a certain time range g(t) allows an approximation g(t) ≈ Up(t),
U ∈ RN×m ,
p : R → Rm ,
m ( N,
(6)
then (3) can be solved for this time range by a single projection on a block Krylov subspace. The matrix U and function p in (6) can be easily constructed by truncated singular value decomposition (SVD) of the vectors g(ti ), at a small additional cost [1]. This procedure simultaneously provides an error estimation in (6), so that a proper value for m can be chosen.
Exponential Time Integrators for Unsteady Advection–Diffusion
395
To be more specific, consider problem (1), where for simplicity and without loss of generality assume v = 0. A usual Krylov subspace solution of (1) constructs a matrix Vk ∈ RN×k , whose orthonormal columns span the Krylov subspace [40] span(g, Ag, . . . , Ak−1 g), and, searching for an approximate solution yk (t) = Vk u(t) ≈ y(t), reduces (1) to its Galerkin projection VkT Vk u (t) = −VkT AVk u(t) + VkT g
⇔
u (t) = −Hk u(t) + βe1 ,
(7)
where Hk = VkT AVk , e1 = (1, 0, . . . , 0)T ∈ Rk is the first canonical basis vector and β = g. We have VkT g = VkT Vk (βe1 ) = βe1 because, by construction, the first column of Vk is g/g. The small projected IVP (7) can be solved by relation (2), evaluating ϕ(−tHk ) with well developed matrix function techniques for small matrices (see, e.g., [19]). Now consider, still assuming v = 0, problem (3) where g(t) allows (6). Projecting (3) on a block Krylov subspace [40] span(U, AU, . . . , Ak−1 U ) = colspanVk ,
Vk ∈ RN×km ,
we can reduce (3) to its projected form u (t) = −Hk u(t) + E1 p(t),
(8)
where we now have Hk ∈ Rkm×km and E1 ∈ Rkm×m is a matrix whose columns are the first m columns of the km × km identity matrix. These observations lead to the exponential block Krylov (EBK) method described in [1]. The EBK solver exploits a stopping criterion and restarting which are based on the exponential residual concept [4, 8, 13]. In particular, EBK iterations stop as soon as for the computed approximate solution yk (t) holds rk (t) tol,
rk (t) ≡ −Ayk (t) + g(t) − yk (t),
t ∈ [0, T ].
The EBK method can be summarized as follows (see [1] for details): (1) form the approximation (6), (2) carry out k = 1, . . . , kmax block Krylov steps, obtaining Vk , Hk ,
(9)
(3) solve projected IVP (8), compute solution yk (T ) = Vk u(T ). Comparing the EE2 and EBK schemes, we note that an attractive feature of EE2 is its relative simplicity. On the other hand, a strong point for EBK is its potential efficiency, as a single block Krylov subspace has to be constructed for the whole time interval t ∈ [0, T ].
396
M. A. Botchev
2.2 ROS2 Method: Beyond Splitting Rosenbrock schemes [23, Chapter IV.5] have been a popular alternative to splitting methods, as they allow to reduce splitting errors and avoid other negative effects related to splitting, such as order reduction. Let f (t, y) = −Ay(t) + g(t) be the ODE right hand side in (3). The two-stage Rosenbrock method ROS2 reads 3 1 yn+1 = yn + tk1 + tk2 , 2 2 @ 1 = f (tn , yn ), (I − γ t A)k
(10)
@ 2 = f (tn+1 , yn + tk1 ) − 2k1 . (I − γ t A)k @ ∈ RN×N and, to have good The method is second order consistent for any A @ ≈ A. Typically, A @ corresponds to the stability properties, one usually takes A terms in A which have to be integrated implicitly in time. For instance in [41], for @ is taken such that advection-diffusion-reaction problems, A @ = (I − γ tAdiff )(I − γ tAreact ), I − γ t A where Adiff contains diffusion terms and Areact is the reaction Jacobian. In this work @ to be either A or the diffusion part of A. Following suggestion in [23, we take A Chapter IV.5, Remark 5.2] we set γ = 1.
3 Numerical Experiments Numerical experiments described here are carried in Matlab on a Linux PC with 6 Intel Core i5-8400 2.80 GHz CPUs with 16 GB RAM.
3.1 Test 1: Time Dependent Source and Boundary Conditions In this test we solve (3) where A is a finite-element discretization of the twodimensional advection–diffusion operator: L[u] = −ν∇ 2 u + v · ∇u,
u = u(x, y),
(x, y) ∈ [−1, 1] × [−1, 1],
(11)
where ν is the viscosity parameter and the velocity field is v = [v1 (x, y), v2 (x, y)], v1 (x, y) = y(1 − x 2 ),
v2 (x, y) = x(y 2 − 1).
Exponential Time Integrators for Unsteady Advection–Diffusion
397
For this test, the function g(t) in (3) takes the form g(t) ≡ yex (t) + Ayex (t),
where yex (t) is exact solution function chosen as yex (t) = α(t) A−1 gbc + T ϕ(−T A)gpeak ,
(12)
α(t) = 1 − e−t /300 + e−t /100.
Here gbc ∈ RN is a vector containing Dirichlet boundary values prescribed below 2 2 and the vector gpeak ∈ RN consists of the values of function e−10x −50y on the mesh. The boundary conditions imposing by gbc are u(−1, y) = u(1, y) = u(x, −1) = 5,
u(x, 1) = 5 + 5e−50x . 2
Note that A−1 gbc is the steady state solution of (3) for g(t) ≡ gbc and T ϕ(−T A)gpeak is the solution of (3) with g(t) ≡ gpeak at time t = T . The final time is T = 1000 in this test. In Fig. 1 the exact solution yex (T ) is plotted. In this test the IFISS finite element discretization [16, 37] by bilinear quadrilateral (Q1 ) finite elements with the streamline upwind Petrov–Galerkin (SUPG) stabilization is employed. We set viscosity to ν = 1/6400 and use nonuniform Cartesian stretched 256 × 256 and 512 × 512 grids with default refinement parameters, which get finer near the domain boundaries, see Table 1.
1
y
0.5
0
-0.5
-1 -1
-0.5
0
x
0.5
1
Fig. 1 Solution function (12) on the mesh 256 × 256 at final time T = 1000 as surface (left) and contour (right) plots
398
M. A. Botchev
Table 1 Parameters of the IFISS stretched meshes Mesh
min hx = min hy
max hx = max hy
Ratio max hx,y / min hx,y
max.elem. Peclet for ν = 1/6400
256 × 256 512 × 512
5.9804 × 10−4 2.0102 × 10−4
0.0312 0.0176
52.17 87.5535
1.9989 × 102 1.1248 × 102
When constructing an advection-diffusion matrix, the IFISS package provides the value the maximum finite element grid Peclet number, evaluated per element as # $ hy hx 1 min , v2 , 2ν cos α sin α
α = arctan
v2 , v1
where hx,y and v1,2 are respectively the element sizes and the velocity components. The maximum element Peclet numbers reported for these meshes are given in Table 1. Due to the SUPG stabilization, the resulting matrices for both meshes are weakly nonsymmetric: the ratio A − AT 1 /A + AT 1 amounts approximately to 0.022 (mesh 256 × 256) and 0.012 (mesh 512 × 512). In addition to the requested accuracy tolerance, two input parameters have to provided to EBK: the number of the truncated SVD terms m and the number of time snapshots ns to construct approximation (6). From the problem description, we see that yex (t) is a linear combination of two linearly independent vectors for any t. Hence, g(t) is a linear combination of no more than four vectors and we should take m 4. The actual situation is displayed by the singular values available from the thin SVD of the time samples: the largest truncated singular value σm+1 is an upper bound for the truncation error g(t) − Up(t)2 , see, e.g., [17]. In this case it turns out that taking m = 2 is sufficient. A proper snapshot number ns can be estimated from given α(t) or by checking, for constructed U and p(t), the actual error g(t) − Up(t) a posteriori, see (Table 2). Based on this, we set ns = 120 in all EBK runs in this test. This selection procedure for ns is computationally very cheap and can be done once, before all the test runs. As the problem is two-dimensional, linear systems with A can be solved efficiently by sparse direct methods. Therefore to solve the linear systems in ROS2, we use the Matlab standard sparse LU factorization (provided by UMFPACK) computing it once and using at each time step. Table 2 Error of approximation (6), 256 × 256 mesh. The EBK errors are obtained for tol = 10−6 'T 0 g(s) − Up(s) ds 'T max g(s) − Up(s) ns EBK error (13) s∈[0,T ] 0 g(s) ds 30 60 120
2.37 × 10−3 1.27 × 10−4 7.40 × 10−6
1.82 × 10−5 9.83 × 10−7 5.73 × 10−8
2.24 × 10−5 1.23 × 10−6 7.90 × 10−8
Exponential Time Integrators for Unsteady Advection–Diffusion
399
The error reported below for the test runs is measured as error =
y(T ) − yex (T )2 . yex (T )2
(13)
The results of the test runs are presented in Tables 3 and 4. As we see, EBK turns out to be more efficient than the other solvers. Within the EE2 integrator, the change of the Krylov subspace solver from EXPOKIT’s phiv to the RT-restarted algorithm leads to a significant increase in efficiency. Note that this gain is not due to the restarting but due a more reliable residual-based error control. Restarting is usually not done because, due to a sufficiently small t, just a couple Krylov steps are carried out in EE2 each time step. In both EE2/EXPOKIT and EE2/RT we should be careful with setting a proper tolerance value, which is used at each time step for stopping the Krylov subspace method evaluating the ϕ matrix function. Taking a large tolerance value may lead to an accuracy loss. For increasingly small tolerance values the same accuracy will be observed (as it is determined by the time step size) at a higher cost: more matrix-vector multiplications per time step will be needed for the ϕ matrix function evaluations. From Tables 3 and 4 we also see that the ROS2 solver becomes less efficient than EE2/RT on the finer mesh as the costs for solving linear systems become more pronounced. Table 3 Test 1. Results for the 256 × 256 mesh Method EBK, tol = 10−4 EBK, tol = 10−6 EE2/RT, t = 20, tol = 10−4 EE2/RT, t = 10, tol = 10−4 EE2/RT, t = 5, tol = 10−4 EE2/EXPOKIT, t = 20, tol = 10−4 EE2/EXPOKIT, t = 10, tol = 10−4 EE2/EXPOKIT, t = 5, tol = 10−4 @ = A, t = 20 ROS2, A @ = A, t = 10 ROS2, A @ = A, t = 5 ROS2, A @ = Adiff , t = 2 ROS2, A @ = Adiff , t = 1 ROS2, A @ = Adiff , t = 0.5 ROS2, A a b
CPU time, s 0.36 0.40 1.84 3.52 6.93 17.99 24.53 37.74 1.95 3.59 6.85 19.55 34.72 68.33
Fevalsa 20 24 500 900 1800 9408 12,608 19,200 100 200 400 1000 2000 4000
Number of function evaluations or matvec (matrix-vector) products Number of linear system solutions
l.s.s.b — — — — — — — — 100 200 400 1000 2000 4000
Error 8.01 × 10−8 7.90 × 10−8 1.51 × 10−3 3.79 × 10−4 9.50 × 10−5 1.51 × 10−3 3.79 × 10−4 9.50 × 10−5 3.03 × 10−3 7.60 × 10−4 1.91 × 10−4 8.49 × 10−4 7.59 × 10−6 1.90 × 10−6
400
M. A. Botchev
Table 4 Test 1. Results for the 512 × 512 mesh Method EBK, tol = 10−4 EBK, tol = 10−6 EE2/RT, t = 20, tol = 10−4 EE2/RT, t = 10, tol = 10−4 EE2/RT, t = 5, tol = 10−4 @ = A, t = 20 ROS2, A @ = A, t = 10 ROS2, A @ = A, t = 5 ROS2, A @ = Adiff , t = 2 ROS2, A @ = Adiff , t = 1 ROS2, A @ = Adiff , t = 0.5 ROS2, A a b
CPU time, s 1.26 1.31 9.10 17.97 35.90 11.82 22.68 36.91 86.55 167.95 331.38
Fevalsa 4 8 450 900 1800 100 200 400 1000 2000 4000
l.s.s.b — — — — — 100 200 400 1000 2000 4000
Error 3.08 × 10−8 2.33 × 10−8 8.91 × 10−4 2.40 × 10−4 8.07 × 10−5 1.90 × 10−3 5.46 × 10−4 1.85 × 10−4 5.73 × 10−3 4.44 × 10−6 1.11 × 10−6
Number of function evaluations or matvec (matrix-vector) products Number of linear system solutions
3.2 Test 2: Time Dependent Boundary Conditions In the previous test we see that the EBK solver apparently profits from the specific source function, exhibiting a very quick convergence. Although this is not an unusual situation, we now consider another test problem which appears more difficult for EBK. We take the same matrix A as in the first test and the following initial value vector v and source function g(t): g(t) = α(t)gbc ,
v = −T ϕ(−T A)gpeak ,
where α(t) and gbc are the same as in (12). This test problem does not have a known analytical solution and we compute a reference solution yref (t) by running EE2/RT with a tiny time step size. The errors of computed numerical solutions y(t) reported below are error =
y(T ) − yref (T )2 yref (T )2
Note that yref (t) is influenced by the same space error as y(t), hence, the error shows solely the time error. From the problem definition we see that the number of SVD terms m can be at most 2. Therefore, in this test EBK is run with the block size m = 2 and ns = 80 time snapshots (the value is determined in the same way as in Test 1). For this test we include in comparisons the two solvers which come out as best in the first test, EBK and EE2/RT. The results presented in Table 5 show that EBK does require more steps for this test but is still significantly more efficient than EE2/RT.
Exponential Time Integrators for Unsteady Advection–Diffusion
401
Table 5 Test 2. Results for the 256 × 256 mesh Method EBK, tol = 10−4 , ns = 80 EBK, tol = 10−6 , ns = 80 EE2/RT, t = 10, tol = 10−6 EE2/RT, t = 5, tol = 10−6 a b
CPU time, s 0.77 1.32 6.53 11.54
Fevalsa 36 50 1306 2406
l.s.s.b — — — —
Error 1.83 × 10−5 1.91 × 10−7 8.91 × 10−5 5.58 × 10−5
Number of function evaluations or matvec (matrix-vector) products Number of linear system solutions
4 Conclusions We show that exponential time integrators can be an attractive option for integrating advection–diffusion problems in time, as they possess good accuracy as well as stability properties. In presented tests, they outperform state-of-the-art implicitexplicit ROS2 solvers. Exponential solvers which are able to exploit their matrix function evaluation machinery for a whole time interval (such as EBK in this paper) appear to be preferable to exponential integrators where matrix functions have to be evaluated at each time step. Acknowledgement This work is supported by the Russian Science Foundation under grant No. 19-11-00338.
References 1. Botchev, M.A.: A block Krylov subspace time-exact solution method for linear ordinary differential equation systems. Numer. Linear Algebra Appl. 20(4), 557–574 (2013) https:// doi.org/10.1002/nla.1865 2. Botchev, M.A.: Krylov subspace exponential time domain solution of Maxwell’s equations in photonic crystal modeling. J. Comput. Appl. Math. 293, 24–30 (2016) https://doi.org/10. 1016/j.cam.2015.04.022 3. Botchev, M.A., Verwer, J.G.: Numerical integration of damped Maxwell equations. SIAM J. Sci. Comput. 31(2), 1322–1346 (2009) https://doi.org/10.1137/08072108X 4. Botchev, M.A., Grimm, V., Hochbruck, M.: Residual, restarting and Richardson iteration for the matrix exponential. SIAM J. Sci. Comput. 35(3), A1376–A1397 (2013) https://doi.org/ 10.1137/110820191 5. Botchev, M.A., Oseledets, I.V., Tyrtyshnikov, E.E.: Iterative across-time solution of linear differential equations: Krylov subspace versus waveform relaxation. Comput. Math. Appl. 67(12), 2088–2098 (2014) https://doi.org/10.1016/j.camwa.2014.03.002 6. Botchev, M.A., Knizhnerman, L.A.: ART: Adaptive residual-time restarting for Krylov subspace matrix exponential evaluations. J. Comput. Appl. Math. 364, 112311 (2020) https:// doi.org/10.1016/j.cam.2019.06.027 7. Botchev, M.A., Knizhnerman, L.A., Tyrtyshnikov, E.E.: A residual concept for Krylov subspace evaluation of the ϕ matrix function (2020). Preprint arXiv:2010.08494. https:// arxiv.org/abs/2010.08494
402
M. A. Botchev
8. Celledoni, E., Moret, I.: A Krylov projection method for systems of ODEs. Appl. Numer. Math. 24(2–3), 365–378 (1997) https://doi.org/10.1016/S0168-9274(97)00033-0 9. Constantinescu, E.M., Sandu, A.: Multirate timestepping methods for hyperbolic conservation laws. J. Sci. Comput. 33(3), 239–278 (2007) 10. Csomós, P., Faragó, I., Havasi, Á.: Weighted sequential splittings and their analysis. Comput. Math. with Appl. 50(7), 1017–1031 (2005) 11. Druskin, V.L., Knizhnerman, L.A.: Two polynomial methods of calculating functions of symmetric matrices. U.S.S.R. Comput. Maths. Math. Phys. 29(6), 112–121 (1989) 12. Druskin, V.L., Knizhnerman, L.A.: Krylov subspace approximations of eigenpairs and matrix functions in exact and computer arithmetic. Numer. Lin. Alg. Appl. 2, 205–217 (1995) 13. Druskin, V.L., Greenbaum, A., Knizhnerman, L.A.: Using nonorthogonal Lanczos vectors in the computation of matrix functions. SIAM J. Sci. Comput. 19(1), 38–54 (1998) https://doi. org/10.1137/S1064827596303661 14. Eiermann, M., Ernst, O.G.: A restarted Krylov subspace method for the evaluation of matrix functions. SIAM J. Numer. Anal. 44, 2481–2504 (2006) 15. Einkemmer, L., Ostermann, A.: Overcoming order reduction in diffusion-reaction splitting. Part 1: Dirichlet boundary conditions. SIAM J. Sci. Comput. 37(3), A1577–A1592 (2015) https://doi.org/10.1137/140994204 16. Elman, H.C., Ramage, A., Silvester, D.J.: IFISS: A computational laboratory for investigating incompressible flow problems. SIAM Rev. 56(2), 261–273 (2014) 17. Golub, G.H., Van Loan, C.F.: Matrix Computations, 3rd edn. The Johns Hopkins University Press, Baltimore and London (1996) 18. Güttel, S., Frommer, A., Schweitzer., M.: Efficient and stable Arnoldi restarts for matrix functions based on quadrature. SIAM J. Matrix Anal. Appl 35(2), 661–683 (2014) 19. Higham, N.J.: Functions of Matrices: Theory and Computation. Society for Industrial and Applied Mathematics, Philadelphia (2008) 20. Hochbruck, M., Lubich, C.: On Krylov subspace approximations to the matrix exponential operator. SIAM J. Numer. Anal. 34(5), 1911–1925 (1997) 21. Hochbruck, M., Ostermann, A.: Exponential integrators. Acta Numer. 19, 209–286 (2010) https://doi.org/10.1017/S0962492910000048 22. Hochbruck, M., Ostermann, A., Schweitzer, J.: Exponential Rosenbrock-type methods. SIAM J. Numer. Anal. 47(1), 786–803 (2008/2009). https://doi.org/10.1137/080717717 23. Hundsdorfer, W., Verwer, J.G.: Numerical Solution of Time-Dependent Advection-DiffusionReaction Equations. Springer, Berlin (2003) 24. Knizhnerman, L.A.: Calculation of functions of unsymmetric matrices using Arnoldi’s method. U.S.S.R. Comput. Maths. Math. Phys. 31(1), 1–9 (1991) 25. Kooij, G.L., Botchev, M.A., Geurts, B.J.: A block Krylov subspace implementation of the time-parallel Paraexp method and its extension for nonlinear partial differential equations. J. Comput. Appl. Math. 316(Supplement C), 229–246 (2017) https://doi.org/10.1016/j.cam. 2016.09.036 26. Kooij, G., Botchev, M.A., Geurts, B.J.: An exponential time integrator for the incompressible Navier–Stokes equation. SIAM J. Sci. Comput. 40(3), B684–B705 (2018) https://doi.org/10. 1137/17M1121950 27. Lanser, D., Verwer, J.G.: Analysis of operator splitting for advection–diffusion–reaction problems from air pollution modelling. J. Comput. Appl. Math. 111(1–2), 201–216 (1999) 28. Li, S.J.: Efficient p-multigrid method based on an exponential time discretization for compressible steady flows (2018). arXiv preprint 1807.01151. https://arxiv.org/abs/1807. 01151 29. Li, S.J.: Time advancement of the Navier-Stokes equations: p-adaptive exponential methods. J. Flow Control Measurement Vis. 8(2), 63–76 (2020) https://doi.org/10.4236/jfcmv.2020. 82004 30. Li, S.J., Luo, L.S., Wang, Z.J., Ju, L.: An exponential time-integrator scheme for steady and unsteady inviscid flows. J. Comput. Phys. 365, 206–225 (2018) https://doi.org/10.1016/j.jcp. 2018.03.020
Exponential Time Integrators for Unsteady Advection–Diffusion
403
31. Lie, K.A., Mykkeltvedt, T.S., Møyner, O.: A fully implicit WENO scheme on stratigraphic and unstructured polyhedral grids. Comput. Geosci. 24(2), 405–423 (2020) 32. Park, T.J., Light, J.C.: Unitary quantum time evolution by iterative Lanczos reduction. J. Chem. Phys. 85, 5870–5876 (1986) 33. Saad, Y.: Analysis of some Krylov subspace approximations to the matrix exponential operator. SIAM J. Numer. Anal. 29(1), 209–228 (1992) 34. Savcenco, V., Hundsdorfer, W., Verwer, J.G.: A multirate time stepping strategy for stiff ordinary differential equations. BIT Numer. Math. 47(1), 137–155 (2007) 35. Schlegel, M., Knoth, O., Arnold, M., Wolke, R.: Multirate Runge–Kutta schemes for advection equations. J. Comput. Appl. Math. 226(2), 345–357 (2009). https://doi.org/10.1016/j.cam. 2008.08.009 36. Sidje, R.B.: EXPOKIT. A software package for computing matrix exponentials. ACM Trans. Math. Softw. 24(1), 130–156 (1998) www.maths.uq.edu.au/expokit/ 37. Silvester, D.J., Elman, H.C., Ramage, A.: Incompressible flow & iterative solver software (2019). http://www.manchester.ac.uk/ifiss/ 38. Sommeijer, B.P., van der Houwen, P.J., Verwer, J.G.: On the treatment of time-dependent boundary conditions in splitting methods for parabolic differential equations. J. Numer. Methods Engrg. 17(3), 335–346 (1981). https://doi.org/10.1002/nme.1620170304 39. van der Vorst, H.A.: An iterative solution method for solving f (A)x = b, using Krylov subspace information obtained for the symmetric positive definite matrix A. J. Comput. Appl. Math. 18, 249–263 (1987) 40. van der Vorst, H.A.: Iterative Krylov Methods for Large Linear Systems. Cambridge University Press, Cambridge (2003) 41. Verwer, J.G., Spee, E.J., Blom, J.G., Hundsdorfer, W.: A second order Rosenbrock method applied to photochemical dispersion problems. SIAM J. Sci. Comput. 20, 456–480 (1999) 42. Verwer, J.G., Hundsdorfer, W., Blom, J.G.: Numerical time integration for air pollution models. Surv. Math. Ind. 10, 107–174 (2002) https://ir.cwi.nl/pub/4620 43. Zlatev, Z.: Computer Treatment of Large Air Pollution Models. Kluwer Academic Publishers, New York (1995) 44. Zlatev, Z., Dimov, I., Faragó, I., Havasi, Á.: Richardson Extrapolation: Practical Aspects and Applications. De Gruyter, Berlin (2018)
Author Index
A Alauzet, F., 127, 141 Aman, A., 113 Anosova, O., 37
B Barrera, P., 263 Belyaev, A.G., 341 Blanchi, V., 251 Botchev, M.A., 391 Bright, M., 37
C Cao, J., 199, 307 Chang, J., 199 Chen, W., 61 Clerici, F., 141 Corman, É., 251
D Dolbilin, N., 3
G Güdükbay, U., 113 Gao, Z., 307 Garanzha, V., 81, 157 Grosso, R., 281 Gu, X., 61 Guan, Z., 199, 307 Guo, Y., 61 K Karasuljic, S., 227 Karavaev, A.S., 295 Kopysov, S.P., 295 Korotov, S., 241 Kudryavtseva, L., 81, 157 Kurlin, V., 37 L Lei, N., 61 Li, S.-J., 375 Liseikin, V.D., 227 Lo, S.H., 307 Luo, Z., 61
E Erkoç, Z., 113
M Méndez, I., 263 Manturov, V.O., 13 Mukhortov, A.V., 227
F Fayolle, P.-A., 341 Fedoseev, D.A., 13
N Nhan, T.A., 213 Nikonov, I.M., 13
© Springer Nature Switzerland AG 2021 V. A. Garanzha et al. (eds.), Numerical Geometry, Grid Generation and Scientific Computing, Lecture Notes in Computational Science and Engineering 143, https://doi.org/10.1007/978-3-030-76798-3
405
406 P Paasonen, V.I., 227 R Ray, N., 251 S Si, H., 95 Sokolov, D., 251 T Tenkes, L.-M., 127 Terekhov, K.M., 361
Author Index V Vatne, J.E., 241 Vlachkova, K., 327
Y Yu, F., 199, 307
Z Zegeling, P.A., 179 Zhao, T., 61 Zint, D., 281
Editorial Policy 1. Volumes in the following three categories will be published in LNCSE: i) Research monographs ii) Tutorials iii) Conference proceedings Those considering a book which might be suitable for the series are strongly advised to contact the publisher or the series editors at an early stage. 2. Categories i) and ii). Tutorials are lecture notes typically arising via summer schools or similar events, which are used to teach graduate students. These categories will be emphasized by Lecture Notes in Computational Science and Engineering. Submissions by interdisciplinary teams of authors are encouraged. The goal is to report new developments – quickly, informally, and in a way that will make them accessible to non-specialists. In the evaluation of submissions timeliness of the work is an important criterion. Texts should be well-rounded, well-written and reasonably self-contained. In most cases the work will contain results of others as well as those of the author(s). In each case the author(s) should provide sufficient motivation, examples, and applications. In this respect, Ph.D. theses will usually be deemed unsuitable for the Lecture Notes series. Proposals for volumes in these categories should be submitted either to one of the series editors or to Springer-Verlag, Heidelberg, and will be refereed. A provisional judgement on the acceptability of a project can be based on partial information about the work: a detailed outline describing the contents of each chapter, the estimated length, a bibliography, and one or two sample chapters – or a first draft. A final decision whether to accept will rest on an evaluation of the completed work which should include – at least 100 pages of text; – a table of contents; – an informative introduction perhaps with some historical remarks which should be accessible to readers unfamiliar with the topic treated; – a subject index. 3. Category iii). Conference proceedings will be considered for publication provided that they are both of exceptional interest and devoted to a single topic. One (or more) expert participants will act as the scientific editor(s) of the volume. They select the papers which are suitable for inclusion and have them individually refereed as for a journal. Papers not closely related to the central topic are to be excluded. Organizers should contact the Editor for CSE at Springer at the planning stage, see Addresses below. In exceptional cases some other multi-author-volumes may be considered in this category. 4. Only works in English will be considered. For evaluation purposes, manuscripts may be submitted in print or electronic form, in the latter case, preferably as pdf- or zipped ps-files. Authors are requested to use the LaTeX style files available from Springer at http:// www.springer.com/gp/authors-editors/book-authors-editors/manuscript-preparation/5636 (Click on LaTeX Template → monographs or contributed books). For categories ii) and iii) we strongly recommend that all contributions in a volume be written in the same LaTeX version, preferably LaTeX2e. Electronic material can be included if appropriate. Please contact the publisher. Careful preparation of the manuscripts will help keep production time short besides ensuring satisfactory appearance of the finished book in print and online.
5. The following terms and conditions hold. Categories i), ii) and iii): Authors receive 50 free copies of their book. No royalty is paid. Volume editors receive a total of 50 free copies of their volume to be shared with authors, but no royalties. Authors and volume editors are entitled to a discount of 40 % on the price of Springer books purchased for their personal use, if ordering directly from Springer. 6. Springer secures the copyright for each volume. Addresses:
Timothy J. Barth NASA Ames Research Center NAS Division Moffett Field, CA 94035, USA [email protected] Michael Griebel Institut für Numerische Simulation der Universität Bonn Wegelerstr. 6 53115 Bonn, Germany [email protected] David E. Keyes Mathematical and Computer Sciences and Engineering King Abdullah University of Science and Technology P.O. Box 55455 Jeddah 21534, Saudi Arabia [email protected] and Department of Applied Physics and Applied Mathematics Columbia University 500 W. 120 th Street New York, NY 10027, USA [email protected]
Risto M. Nieminen Department of Applied Physics Aalto University School of Science and Technology 00076 Aalto, Finland [email protected] Dirk Roose Department of Computer Science Katholieke Universiteit Leuven Celestijnenlaan 200A 3001 Leuven-Heverlee, Belgium [email protected] Tamar Schlick Department of Chemistry and Courant Institute of Mathematical Sciences New York University 251 Mercer Street New York, NY 10012, USA [email protected] Editor for Computational Science and Engineering at Springer: Martin Peters Springer-Verlag Mathematics Editorial IV Tiergartenstrasse 17 69121 Heidelberg, Germany [email protected]
Lecture Notes in Computational Science and Engineering 1. D. Funaro, Spectral Elements for Transport-Dominated Equations. 2. H.P. Langtangen, Computational Partial Differential Equations. Numerical Methods and Diffpack Programming. 3. W. Hackbusch, G. Wittum (eds.), Multigrid Methods V. 4. P. Deuflhard, J. Hermans, B. Leimkuhler, A.E. Mark, S. Reich, R.D. Skeel (eds.), Computational Molecular Dynamics: Challenges, Methods, Ideas. 5. D. Kröner, M. Ohlberger, C. Rohde (eds.), An Introduction to Recent Developments in Theory and Numerics for Conservation Laws. 6. S. Turek, Efficient Solvers for Incompressible Flow Problems. An Algorithmic and Computational Approach. 7. R. von Schwerin, Multi Body System SIMulation. Numerical Methods, Algorithms, and Software. 8. H.-J. Bungartz, F. Durst, C. Zenger (eds.), High Performance Scientific and Engineering Computing. 9. T.J. Barth, H. Deconinck (eds.), High-Order Methods for Computational Physics. 10. H.P. Langtangen, A.M. Bruaset, E. Quak (eds.), Advances in Software Tools for Scientific Computing. 11. B. Cockburn, G.E. Karniadakis, C.-W. Shu (eds.), Discontinuous Galerkin Methods. Theory, Computation and Applications. 12. U. van Rienen, Numerical Methods in Computational Electrodynamics. Practical Applications.
Linear Systems in
13. B. Engquist, L. Johnsson, M. Hammill, F. Short (eds.), Simulation and Visualization on the Grid. 14. E. Dick, K. Riemslagh, J. Vierendeels (eds.), Multigrid Methods VI. 15. A. Frommer, T. Lippert, B. Medeke, K. Schilling (eds.), Numerical Challenges in Lattice Quantum Chromodynamics. 16. J. Lang, Adaptive Multilevel Solution of Nonlinear Parabolic PDE Systems. Theory, Algorithm, and Applications. 17. B.I. Wohlmuth, Discretization Methods and Iterative Solvers Based on Domain Decomposition. 18. U. van Rienen, M. Günther, D. Hecht (eds.), Scientific Computing in Electrical Engineering. 19. I. Babuška, P.G. Ciarlet, T. Miyoshi (eds.), Mathematical Modeling and Numerical Simulation in Continuum Mechanics. 20. T.J. Barth, T. Chan, R. Haimes (eds.), Multiscale and Multiresolution Methods. Theory and Applications. 21. M. Breuer, F. Durst, C. Zenger (eds.), High Performance Scientific and Engineering Computing. 22. K. Urban, Wavelets in Numerical Simulation. Problem Adapted Construction and Applications. 23. L.F. Pavarino, A. Toselli (eds.), Recent Developments in Domain Decomposition Methods.
24. T. Schlick, H.H. Gan (eds.), Computational Methods for Macromolecules: Challenges and Applications. 25. T.J. Barth, H. Deconinck (eds.), Error Estimation and Adaptive Discretization Methods in Computational Fluid Dynamics. 26. M. Griebel, M.A. Schweitzer (eds.), Meshfree Methods for Partial Differential Equations. 27. S. Müller, Adaptive Multiscale Schemes for Conservation Laws. 28. C. Carstensen, S. Funken, W. Hackbusch, R.H.W. Hoppe, P. Monk (eds.), Computational Electromagnetics. 29. M.A. Schweitzer, A Parallel Multilevel Partition of Unity Method for Elliptic Partial Differential Equations. 30. T. Biegler, O. Ghattas, M. Heinkenschloss, B. van Bloemen Waanders (eds.), Large-Scale PDEConstrained Optimization. 31. M. Ainsworth, P. Davies, D. Duncan, P. Martin, B. Rynne (eds.), Topics in Computational Wave Propagation. Direct and Inverse Problems. 32. H. Emmerich, B. Nestler, M. Schreckenberg (eds.), Interface and Transport Dynamics. Computational Modelling. 33. H.P. Langtangen, A. Tveito (eds.), Advanced Topics in Computational Partial Differential Equations. Numerical Methods and Diffpack Programming. 34. V. John, Large Eddy Simulation of Turbulent Incompressible Flows. Analytical and Numerical Results for a Class of LES Models. 35. E. Bänsch (ed.), Challenges in Scientific Computing - CISC 2002. 36. B.N. Khoromskij, G. Wittum, Numerical Solution of Elliptic Differential Equations by Reduction to the Interface. 37. A. Iske, Multiresolution Methods in Scattered Data Modelling. 38. S.-I. Niculescu, K. Gu (eds.), Advances in Time-Delay Systems. 39. S. Attinger, P. Koumoutsakos (eds.), Multiscale Modelling and Simulation. 40. R. Kornhuber, R. Hoppe, J. Périaux, O. Pironneau, O. Wildlund, J. Xu (eds.), Domain Decomposition Methods in Science and Engineering. 41. T. Plewa, T. Linde, V.G. Weirs (eds.), Adaptive Mesh Refinement – Theory and Applications. 42. A. Schmidt, K.G. Siebert, Design of Adaptive Finite Element Software. The Finite Element Toolbox ALBERTA. 43. M. Griebel, M.A. Schweitzer (eds.), Meshfree Methods for Partial Differential Equations II. 44. B. Engquist, P. Lötstedt, O. Runborg (eds.), Multiscale Methods in Science and Engineering. 45. P. Benner, V. Mehrmann, D.C. Sorensen (eds.), Dimension Reduction of Large-Scale Systems. 46. D. Kressner, Numerical Methods for General and Structured Eigenvalue Problems. 47. A. Boriçi, A. Frommer, B. Joó, A. Kennedy, B. Pendleton (eds.), QCD and Numerical Analysis III. 48. F. Graziani (ed.), Computational Methods in Transport. 49. B. Leimkuhler, C. Chipot, R. Elber, A. Laaksonen, A. Mark, T. Schlick, C. Schütte, R. Skeel (eds.), New Algorithms for Macromolecular Simulation.
50. M. Bücker, G. Corliss, P. Hovland, U. Naumann, B. Norris (eds.), Automatic Differentiation: Applications, Theory, and Implementations. 51. A.M. Bruaset, A. Tveito (eds.), Numerical Solution of Partial Differential Equations on Parallel Computers. 52. K.H. Hoffmann, A. Meyer (eds.), Parallel Algorithms and Cluster Computing. 53. H.-J. Bungartz, M. Schäfer (eds.), Fluid-Structure Interaction. 54. J. Behrens, Adaptive Atmospheric Modeling. 55. O. Widlund, D. Keyes (eds.), Domain Decomposition Methods in Science and Engineering XVI. 56. S. Kassinos, C. Langer, G. Iaccarino, P. Moin (eds.), Complex Effects in Large Eddy Simulations. 57. M. Griebel, M.A Schweitzer (eds.), Meshfree Methods for Partial Differential Equations III. 58. A.N. Gorban, B. Kégl, D.C. Wunsch, A. Zinovyev (eds.), Principal Manifolds for Data Visualization and Dimension Reduction. 59. H. Ammari (ed.), Modeling and Computations in Electromagnetics: A Volume Dedicated to JeanClaude Nédélec. 60. U. Langer, M. Discacciati, D. Keyes, O. Widlund, W. Zulehner (eds.), Domain Decomposition Methods in Science and Engineering XVII. 61. T. Mathew, Domain Decomposition Methods for the Numerical Solution of Partial Differential Equations. 62. F. Graziani (ed.), Computational Methods in Transport: Verification and Validation. 63. M. Bebendorf, Hierarchical Matrices. A Means to Efficiently Solve Elliptic Boundary Value Problems. 64. C.H. Bischof, H.M. Bücker, P. Hovland, U. Naumann, J. Utke (eds.), Advances in Automatic Differentiation. 65. M. Griebel, M.A. Schweitzer (eds.), Meshfree Methods for Partial Differential Equations IV. 66. B. Engquist, P. Lötstedt, O. Runborg (eds.), Multiscale Modeling and Simulation in Science. 67. I.H. Tuncer, Ü. Gülcat, D.R. Emerson, K. Matsuno (eds.), Parallel Computational Fluid Dynamics 2007. 68. S. Yip, T. Diaz de la Rubia (eds.), Scientific Modeling and Simulations. 69. A. Hegarty, N. Kopteva, E. O’Riordan, M. Stynes (eds.), BAIL 2008 – Boundary and Interior Layers. 70. M. Bercovier, M.J. Gander, R. Kornhuber, O. Widlund (eds.), Domain Decomposition Methods in Science and Engineering XVIII. 71. B. Koren, C. Vuik (eds.), Advanced Computational Methods in Science and Engineering. 72. M. Peters (ed.), Computational Fluid Dynamics for Sport Simulation. 73. H.-J. Bungartz, M. Mehl, M. Schäfer (eds.), Fluid Structure Interaction II - Modelling, Simulation, Optimization. 74. D. Tromeur-Dervout, G. Brenner, D.R. Emerson, J. Erhel (eds.), Parallel Computational Fluid Dynamics 2008. 75. A.N. Gorban, D. Roose (eds.), Coping with Complexity: Model Reduction and Data Analysis.
76. J.S. Hesthaven, E.M. Rønquist (eds.), Spectral and High Order Methods for Partial Differential Equations. 77. M. Holtz, Sparse Grid Quadrature in High Dimensions with Applications in Finance and Insurance. 78. Y. Huang, R. Kornhuber, O.Widlund, J. Xu (eds.), Domain Decomposition Methods in Science and Engineering XIX. 79. M. Griebel, M.A. Schweitzer (eds.), Meshfree Methods for Partial Differential Equations V. 80. P.H. Lauritzen, C. Jablonowski, M.A. Taylor, R.D. Nair (eds.), Numerical Techniques for Global Atmospheric Models. 81. C. Clavero, J.L. Gracia, F.J. Lisbona (eds.), BAIL 2010 – Boundary and Interior Layers, Computational and Asymptotic Methods. 82. B. Engquist, O. Runborg, Y.R. Tsai (eds.), Numerical Analysis and Multiscale Computations. 83. I.G. Graham, T.Y. Hou, O. Lakkis, R. Scheichl (eds.), Numerical Analysis of Multiscale Problems. 84. A. Logg, K.-A. Mardal, G. Wells (eds.), Automated Solution of Differential Equations by the Finite Element Method. 85. J. Blowey, M. Jensen (eds.), Frontiers in Numerical Analysis - Durham 2010. 86. O. Kolditz, U.-J. Gorke, H. Shao, W. Wang (eds.), Thermo-Hydro-Mechanical-Chemical Processes in Fractured Porous Media - Benchmarks and Examples. 87. S. Forth, P. Hovland, E. Phipps, J. Utke, A. Walther (eds.), Recent Advances in Algorithmic Differentiation. 88. J. Garcke, M. Griebel (eds.), Sparse Grids and Applications. 89. M. Griebel, M.A. Schweitzer (eds.), Meshfree Methods for Partial Differential Equations VI. 90. C. Pechstein, Finite and Boundary Element Tearing and Interconnecting Solvers for Multiscale Problems. 91. R. Bank, M. Holst, O. Widlund, J. Xu (eds.), Domain Decomposition Methods in Science and Engineering XX. 92. H. Bijl, D. Lucor, S. Mishra, C. Schwab (eds.), Uncertainty Quantification in Computational Fluid Dynamics. 93. M. Bader, H.-J. Bungartz, T. Weinzierl (eds.), Advanced Computing. 94. M. Ehrhardt, T. Koprucki (eds.), Advanced Mathematical Models and Numerical Techniques for Multi-Band Effective Mass Approximations. 95. M. Azaïez, H. El Fekih, J.S. Hesthaven (eds.), Spectral and High Order Methods for Partial Differential Equations ICOSAHOM 2012. 96. F. Graziani, M.P. Desjarlais, R. Redmer, S.B. Trickey (eds.), Frontiers and Challenges in Warm Dense Matter. 97. J. Garcke, D. Pflüger (eds.), Sparse Grids and Applications – Munich 2012. 98. J. Erhel, M. Gander, L. Halpern, G. Pichot, T. Sassi, O. Widlund (eds.), Domain Decomposition Methods in Science and Engineering XXI. 99. R. Abgrall, H. Beaugendre, P.M. Congedo, C. Dobrzynski, V. Perrier, M. Ricchiuto (eds.), High Order Nonlinear Numerical Methods for Evolutionary PDEs - HONOM 2013. 100. M. Griebel, M.A. Schweitzer (eds.), Meshfree Methods for Partial Differential Equations VII.
101. R. Hoppe (ed.), Optimization with PDE Constraints - OPTPDE 2014. 102. S. Dahlke, W. Dahmen, M. Griebel, W. Hackbusch, K. Ritter, R. Schneider, C. Schwab, H. Yserentant (eds.), Extraction of Quantifiable Information from Complex Systems. 103. A. Abdulle, S. Deparis, D. Kressner, F. Nobile, M. Picasso (eds.), Numerical Mathematics and Advanced Applications - ENUMATH 2013. 104. T. Dickopf, M.J. Gander, L. Halpern, R. Krause, L.F. Pavarino (eds.), Domain Decomposition Methods in Science and Engineering XXII. 105. M. Mehl, M. Bischoff, M. Schäfer (eds.), Recent Trends in Computational Engineering - CE2014. Optimization, Uncertainty, Parallel Algorithms, Coupled and Complex Problems. 106. R.M. Kirby, M. Berzins, J.S. Hesthaven (eds.), Spectral and High Order Methods for Partial Differential Equations - ICOSAHOM’14. 107. B. Jüttler, B. Simeon (eds.), Isogeometric Analysis and Applications 2014. 108. P. Knobloch (ed.), Boundary and Interior Layers, Computational and Asymptotic Methods – BAIL 2014. 109. J. Garcke, D. Pflüger (eds.), Sparse Grids and Applications – Stuttgart 2014. 110. H. P. Langtangen, Finite Difference Computing with Exponential Decay Models. 111. A. Tveito, G.T. Lines, Computing Characterizations of Drugs for Ion Channels and Receptors Using Markov Models. 112. B. Karazösen, M. Manguo˘glu, M. Tezer-Sezgin, S. Göktepe, Ö. U˘gur (eds.), Numerical Mathematics and Advanced Applications - ENUMATH 2015. 113. H.-J. Bungartz, P. Neumann, W.E. Nagel (eds.), Software for Exascale Computing - SPPEXA 20132015. 114. G.R. Barrenechea, F. Brezzi, A. Cangiani, E.H. Georgoulis (eds.), Building Bridges: Connections and Challenges in Modern Approaches to Numerical Partial Differential Equations. 115. M. Griebel, M.A. Schweitzer (eds.), Meshfree Methods for Partial Differential Equations VIII. 116. C.-O. Lee, X.-C. Cai, D.E. Keyes, H.H. Kim, A. Klawonn, E.-J. Park, O.B. Widlund (eds.), Domain Decomposition Methods in Science and Engineering XXIII. 117. T. Sakurai, S.-L. Zhang, T. Imamura, Y. Yamamoto, Y. Kuramashi, T. Hoshi (eds.), Eigenvalue Problems: Algorithms, Software and Applications in Petascale Computing. EPASA 2015, Tsukuba, Japan, September 2015. 118. T. Richter (ed.), Fluid-structure Interactions. Models, Analysis and Finite Elements. 119. M.L. Bittencourt, N.A. Dumont, J.S. Hesthaven (eds.), Spectral and High Order Methods for Partial Differential Equations ICOSAHOM 2016. Selected Papers from the ICOSAHOM Conference, June 27-July 1, 2016, Rio de Janeiro, Brazil. 120. Z. Huang, M. Stynes, Z. Zhang (eds.), Boundary and Interior Layers, Computational and Asymptotic Methods BAIL 2016. 121. S.P.A. Bordas, E.N. Burman, M.G. Larson, M.A. Olshanskii (eds.), Geometrically Unfitted Finite Element Methods and Applications. Proceedings of the UCL Workshop 2016.
122. A. Gerisch, R. Penta, J. Lang (eds.), Multiscale Models in Mechano and Tumor Biology. Modeling, Homogenization, and Applications. 123. J. Garcke, D. Pflüger, C.G. Webster, G. Zhang (eds.), Sparse Grids and Applications - Miami 2016. 124. M. Sch¨afer, M. Behr, M. Mehl, B. Wohlmuth (eds.), Recent Advances in Computational Engineering. Proceedings of the 4th International Conference on Computational Engineering (ICCE 2017) in Darmstadt. 125. P.E. Bjørstad, S.C. Brenner, L. Halpern, R. Kornhuber, H.H. Kim, T. Rahman, O.B. Widlund (eds.), Domain Decomposition Methods in Science and Engineering XXIV. 24th International Conference on Domain Decomposition Methods, Svalbard, Norway, February 6–10, 2017. 126. F.A. Radu, K. Kumar, I. Berre, J.M. Nordbotten, I.S. Pop (eds.), Numerical Mathematics and Advanced Applications – ENUMATH 2017. 127. X. Roca, A. Loseille (eds.), 27th International Meshing Roundtable. 128. Th. Apel, U. Langer, A. Meyer, O. Steinbach (eds.), Advanced Finite Element Methods with Applications. Selected Papers from the 30th Chemnitz Finite Element Symposium 2017. 129. M. Griebel, M.A. Schweitzer (eds.), Meshfree Methods for Partial Differencial Equations IX. 130. S. Weißer, BEM-based Finite Element Approaches on Polytopal Meshes. 131. V.A. Garanzha, L. Kamenski, H. Si (eds.), Numerical Geometry, Grid Generation and Scientific Computing. Proceedings of the 9th International Conference, NUMGRID2018/Voronoi 150, Celebrating the 150th Anniversary of G. F. Voronoi, Moscow, Russia, December 2018. 132. H. van Brummelen, A. Corsini, S. Perotto, G. Rozza (eds.), Numerical Methods for Flows. 133. H. van Brummelen, C. Vuik, M. Möller, C. Verhoosel, B. Simeon, B. Jüttler (eds.), Isogeometric Analysis and Applications 2018. 134. S.J. Sherwin, D. Moxey, J. Peiro, P.E. Vincent, C. Schwab (eds.), Spectral and High Order Methods for Partial Differential Equations ICOSAHOM 2018. 135. G.R. Barrenechea, J. Mackenzie (eds.), Boundary and Interior Layers, Computational and Asymptotic Methods BAIL 2018. 136. H.-J. Bungartz, S. Reiz, B. Uekermann, P. Neumann, W.E. Nagel (eds.), Software for Exascale Computing - SPPEXA 2016–2019. 137. M. D’Elia, M. Gunzburger, G. Rozza (eds.), Quantification of Uncertainty: Improving Efficiency and Technology. 138. R. Haynes, S. MacLachlan, X.-C. Cai, L. Halpern, H.H. Kim, A. Klawonn, O. Widlund (eds.), Domain Decomposition Methods in Science and Engineering XXV. 139. F.J. Vermolen, C. Vuik (eds.), Numerical Mathematics and Advanced Applications ENUMATH 2019. 140. O. Sander, DUNE – The Distributed and Unified Numerics Environment. 141. I.B. Badriev, V. Banderov, S.A. Lapin (eds.), Mesh Methods for Boundary-Value Problems and Applications. 142. —–
143. V.A. Garanzha, L. Kamenski, H. Si (eds.), Numerical Geometry, Grid Generation and Scientific Computing. Proceedings of the 10th International Conference, NUMGRID 2020 / Delaunay 130, Celebrating the 130th Anniversary of Boris Delaunay, Moscow, Russia, November 2020 For further information on these books please have a look at our mathematics catalogue at the following URL: www.springer.com/series/3527
Monographs in Computational Science and Engineering 1. J. Sundnes, G.T. Lines, X. Cai, B.F. Nielsen, K.-A. Mardal, A. Tveito, Computing the Electrical Activity in the Heart. For further information on this book, please have a look at our mathematics catalogue at the following URL: www.springer.com/series/7417
Texts in Computational Science and Engineering 1. H. P. Langtangen, Computational Partial Differential Equations. Numerical Methods and Diffpack Programming. 2nd Edition 2. A. Quarteroni, F. Saleri, P. Gervasio, Scientific Computing with MATLAB and Octave. 4th Edition 3. H. P. Langtangen, Python Scripting for Computational Science. 3rd Edition 4. H. Gardner, G. Manduchi, Design Patterns for e-Science. 5. M. Griebel, S. Knapek, G. Zumbusch, Numerical Simulation in Molecular Dynamics. 6. H. P. Langtangen, A Primer on Scientific Programming with Python. 5th Edition 7. A. Tveito, H. P. Langtangen, B. F. Nielsen, X. Cai, Elements of Scientific Computing. 8. B. Gustafsson, Fundamentals of Scientific Computing. 9. M. Bader, Space-Filling Curves. 10. M. Larson, F. Bengzon, The Finite Element Method: Theory, Implementation and Applications. 11. W. Gander, M. Gander, F. Kwok, Scientific Computing: An Introduction using Maple and MATLAB. 12. P. Deuflhard, S. Röblitz, A Guide to Numerical Modelling in Systems Biology. 13. M. H. Holmes, Introduction to Scientific Computing and Data Analysis. 14. S. Linge, H. P. Langtangen, Programming for Computations - A Gentle Introduction to Numerical Simulations with MATLAB/Octave. 15. S. Linge, H. P. Langtangen, Programming for Computations - A Gentle Introduction to Numerical Simulations with Python. 16. H.P. Langtangen, S. Linge, Finite Difference Computing with PDEs - A Modern Software Approach. 17. B. Gustafsson, Scientific Computing from a Historical Perspective. 18. J. A. Trangenstein, Scientific Computing. Volume I - Linear and Nonlinear Equations.
19. J. A. Trangenstein, Scientific Computing. Volume II - Eigenvalues and Optimization. 20. J. A. Trangenstein, Scientific Computing. Volume III - Approximation and Integration. For further information on these books please have a look at our mathematics catalogue at the following URL: www.springer.com/series/5151