<<

1386 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013 The Helmholtz-Hodge Decomposition—A Survey

Harsh Bhatia, Student Member, IEEE,GregoryNorgard, Valerio Pascucci, Member, IEEE,andPeer-TimoBremer,Member, IEEE

Abstract—The Helmholtz-Hodge Decomposition (HHD) describes the decomposition of a flow field into its -free and - free components. Many researchers in various communities like weather modeling, oceanology, geophysics, and computer graphics are interested in understanding the properties of flow representing physical phenomena such as incompressibility and vorticity. The HHD has proven to be an important tool in the analysis of fluids, making it one of the fundamental theorems in fluid dynamics. The recent advances in the area of flow analysis have led to the application of the HHD in a number of research communities such as flow visualization, topological analysis, imaging, and robotics. However, because the initial body of work, primarily in the physics communities, research on the topic has become fragmented with different communities working largely in isolation often repeating and sometimes contradicting each others results. Additionally, different nomenclature has evolved which further obscures the fundamental connections between fields making the transfer of knowledge difficult. This survey attempts to address these problems by collecting a comprehensive list of relevant references and examining them using a common terminology. A particular focus is the discussion of boundary conditions when computing the HHD. The goal is to promote further research in the field by creating a common repository of techniques to compute the HHD as well as a large collection of example applications in a broad range of areas.

Index Terms—Vector fields, incompressibility, boundary conditions, Helmholtz-Hodge decomposition Ç

1INTRODUCTION

HE Helmholtz-Hodge Decomposition (HHD) of vector fields [92], detect singularities [83], [84], or to smooth vector fields Tis one of the fundamental theorems in fluid dynamics. It [97]. Application areas span everything from visualization describes a in terms of its divergence-free and and computer graphics, to astrophysics [40], [67], [95], rotation-free components. Such a description simplifies the geophysics [3], [4], computer vision and robotics [38], [43], analysis of vector fields since some important properties [44], [73], imaging [52], etc. In all these applications, the like incompressibility and vorticity can be studied on the HHD plays a key role in modeling, analyzing, or manip- components directly. ulating fluids. Due to the ubiquitous nature of vector fields, this 1.1 Motivation fundamental theorem of fluid motion has been applied by various research communities to a wide variety of applica- As discussed above, a variety of research communities are tions. More theoretically inclined communities like fluid actively exploring techniques to compute and apply the mechanics, physics, and mathematics have developed HHD. Nevertheless, while there exist cases of successful projection methods [19], [20] which employ the decomposi- knowledge transfer (see, for example, the vision and tion for the simulation of incompressible fluids using the robotics research in Fig. 1) most advances are made within Navier-Stokes equation (NSE). Since many simulated a given community. Furthermore, through multiple deriva- domains have boundaries, different boundary conditions tions seemingly minor details such as boundary conditions and their impact on the decomposition have received can get lost resulting in a sometimes confusing and special attention. Other communities have focused primar- contradictory publication record. ily on exploiting the different properties of the HHD to, for For example, Stam [92] follows the HHD as defined by example, create more realistic visualizations of fluids [34], Chorin and Marsden [22] and adapts it for a specific no- flow boundary setting. Under such a setting, a Neumann boundary condition can be imposed on the decomposition, . H. Bhatia and P.-T. Bremer are with the Scientific Computing and Imaging while Colin et al. [23] discuss the same Neumann boundary Institute (SCI), University of Utah, and Center of Applied Scientific Computing, Lawrence Livermore National Laboratory, Box 808, L-422, conditions without a no-flow setting, in which orthogon- Livermore, CA 94551-0808. E-mail: {hbhatia, ptbremer}@sci.utah.edu. ality, a very important and much desired property of the . G. Norgard is with Numerica, 3330 Red Mountain Dr., Fort Collins, CO decomposition is lost. Subsequently, following both Colin 80525. E-mail: [email protected]. and Stam, Petronetto et al. [81] comment that the usual . V. Pascucci is with the Scientific Computing and Imaging Institute (SCI), University of Utah, 72 S Central Campus Drive, Room 3750, Salt Lake boundary conditions in the general case are Neumann City, UT 84112. E-mail: [email protected]. boundary conditions. Thus, while every publication in- Manuscript received 17 Jan. 2012; revised 12 June 2012; accepted 14 Nov. spires new research, older results can be overlooked in a 2012; published online 29 Nov. 2012. multilayered literature. Recommended for acceptance by G. Scheuermann. One particular detail of interest are the boundary condi- For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TVCG-2012-01-0016. tions and their influence on the results of the decomposition. Digital Object Identifier no. 10.1109/TVCG.2012.316. In his diploma thesis, Wiebel [101] following Polthier and

1077-2626/13/$31.00 ß 2013 IEEE Published by the IEEE Computer Society BHATIA ET AL.: THE HELMHOLTZ-HODGE DECOMPOSITION—A SURVEY 1387

Fig. 1. A chronological chart showing the articles on HHD. The different shapes classify the articles into theoretical advances and computation techniques for different domains and discretizations. Different colors classify the articles into the communities they were published in (as tabulated in Table 1). Solid arrows and dashed lines between two articles represent a direct inheritance or extension, and a weaker connection between them, respectively.

Preuß [83], [84], and Tong et al. [97] comments that there exist attributed to the boundary conditions of the decomposition, failure cases of the 2D HHD. More specifically, he shows that which are needed to maintain orthogonality. Orthogonality is if critical points lie on or near the boundary of the domain, the a delicate issue in HHD and has been studied thoroughly in structure of the decomposed components of the field is literature. However, in the recent approaches, especially in changed significantly. We argue that such artifacts should be the visualization community, there has been little discussion 1388 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013

TABLE 1 Classification of Various Journals, Conferences and Workshops into Communities Shown in Fig. 1

on orthogonality of the decomposition, and hence, a more decomposition. It establishes the mathematical foundations thorough understanding of the interplay between orthogon- of the decomposition in a consistent notation and refers the ality and boundary conditions is needed. reader to the appropriate literature for a more detailed While there already exist some excellent review papers discussion. Section 4 introduces several relevant applica- on related topics, their scope is typically limited. For tions using the HHD surveyed from various communities. example, Aref et al. [6] and Morino [75] review the Section 5 discusses the interconnection between orthogon- Helmholtz decomposition in context of vorticity problems, ality and boundary conditions, highlighting existing dis- Joseph [57] discusses it in context of viscous fluids, Kobe crepancies in recent articles. Finally, Section 6 surveys the [60] reviews the connection between Helmholtz and Hodge most common techniques to compute the discretized for of decompositions, and Spro¨ssig [91] describes generalizations the HHD. of the Helmholtz decomposition for different domains. Nevertheless, there is a need for a more detailed study of 2THE HISTORY OF THE HHD the HHD that discusses the relevant theory from a broader perspective and in particular includes techniques to We begin with studying Fig. 1, which provides a chron- compute the discrete HHD. We believe that this compre- ological chart summarizing the publication history of the hensive survey will aid future studies and help avoid HHD, classifying some important books and articles into: diverging research branches by creating a common reposi- 1) theoretical advances and computation techniques for tory of references and techniques described in a single different domains and discretizations, and 2) different consistent terminology. research communities. This visual summary highlights the different research trends, as well as the connections between 1.2 Contributions various communities. Since its introduction in 1858, the This survey aims to explain the theory behind the HHD in a subject of HHD has been studied in various communities. notationally consistent manner, discussing the effects of Under the umbrella of projection methods, the computa- boundary conditions, and surveying the recent advances in tional fluids community has consistently used and refined computing the discrete HHD. We introduce the funda- them because their first development in the 1960s. mentals of the decomposition from a historic point of view With its development in 1990s, the graphics and and summarize the theory presented in different books and visualization community started making use of the projec- articles. We provide a thorough discussion on boundary tion methods in fluid modeling and animation. While conditions highlighting any existing discrepancies between virtually every article in fluid animation uses projection different articles. Additionally, we survey the different methods, only a few important articles dealing especially techniques proposed in various communities regarding the with computing the HHD are shown. The seminal paper by computation of the HHD. Polthier and Preuß [83] in 2000 proposes a new technique The remainder of this survey is structured as follows: for the computation of discrete HHD, which has led to a Section 3 investigates the origin and history of the renewed interest in the topic. Their ideas are introduced to BHATIA ET AL.: THE HELMHOLTZ-HODGE DECOMPOSITION—A SURVEY 1389 the computer vision and robotics community by Guo et al. it is irrotational. Similarly, the rotation can be represented [42], who further propose extensions tailored to the as the curl of a function since it is particular application. Similarly, Stam’s ideas [92], [93] incompressible. Translation, however, being both incom- have inspired Hinkle et al. [52] to use the HHD in the pressible and irrotational can be represented as either the Fourier domain for applications in imaging. Recent advan- gradient of a , or the curl of a vector tages in the visualization community by Petronetto et al. potential. Equivalently, the translation can also be repre- [81] draw their inspiration from Colin et al. [23] in sented as a separate harmonic component. We will come computational physics community. Overall, Fig. 1 sum- back to the discussion on the harmonic component. For marizes the different research thrusts and the connections now, we discuss Helmholtz’s original ideas, which repre- between them, some of which will be discussed in more sent the translation as the gradient of a scalar potential detail in this survey. (with the irrotational component). According to Helmholtz, under suitable asymptotic behavior at infinity, any vector field in IR 3 consists of two HEORY 3T parts: This section investigates the theoretical foundations of the HHD and describes its mathematical properties in general. 1. The first part is incompressible representing the We begin with discussing the origin and theory of the rotation, and can be expressed as the curl of a vector Helmholtz decomposition of vector fields. While the potential function. Helmholtz decomposition is defined for vector fields on 2. The second part is irrotational representing transla- real domains, another decomposition, called the Hodge tion and compression/expansion, and can be ex- decomposition, exists, which is defined for differentiable pressed as the gradient of a scalar potential function. forms on Riemannian manifolds. For completeness, These scalar and vector potentials can be computed we discuss the Hodge decomposition in Section 3.2. This from the divergence and the curl of the vector field. Thus, brief discussion assumes some basic knowledge of the when its divergence and the curl are known, a vector field Hodge-de Rham theory, and can be skipped by readers only can be uniquely constructed. An excellent summary of interested in understanding the fundamentals of the vector Helmholtz’s ideas is given by Lamb [63], who formulates field (Helmholtz) decomposition. Then, we present the them as follows: HHD as used in modern day research, which defines the Theorem 3.1 (Helmholtz Decomposition). The motion of a decomposition of vector fields on domains with or fluid ~ x in an infinite space (x IR 3) such that it vanishes at ð Þ 2 without boundary. infinity is determinate when we know the values of  x and ð Þ Before we begin, it is worth mentioning that different !~ x , where applications and researchers have used different names ð Þ (any of the following: Helmholtz, Hodge, Helmholtz-  x ~ x Divergence Hodge, or Hodge-Helmholtz) for the decomposition. As ð Þ¼rÁ ð Þð Þ 1 !~ x ~ x Curl : ð Þ shown in Section 3.3, the decomposition may define two or ð Þ¼r ð Þð Þ three nonzero components. However, since in the case of On the other hand, if the motion of the fluid is limited to a vector fields, this difference is only due to the domain and simply connected region IR 3 with boundary @ , it is & boundary conditions, the motivation to choose one name determinate if  x , !~ x and the value of the flow normal to over the other seems rather subjective, and conceptually, ð Þ ð Þ the boundary, n x ~ x n~ for x @ , are known. these names can be used interchangeably. Hence, we ð Þ ð¼ ð ÞÁ Þ 2 wish to warn the reader not to get confused when In later theoretical advances, an inverse problem to encountering different names. Irrespective of the name Helmholtz’s ideas was formalized, which decomposes a used, the theory behind the underlying decomposition given vector field into its divergence-free (incompressible) should be clearly understood. and curl-free (irrotational) components. This inverse pro- 3.1 The Helmholtz Decomposition Theorem blem is also called the Helmholtz Decomposition. The inverse problem states that any smooth vector field ~ :IR3 IR 3 In 1858, Prof. , in his seminal ! paper, U¨ber Integrale der hydrodynamischen Gleichungen, can be expressed as a sum of the gradient of a scalar welche den Wirbelbewegungen entsprechen [50] explained potential and the curl of a vector potential: how potential functions can be used to extract the ~ D R;~ 2 rotational and irrotational components from a flow field. ¼r þr ð Þ Following its success and popularity, an english translation where the scalar potential D and the vector potential R~ are On Integrals of the Hydrodynamical Equations, which express calculated from  and !~, respectively, as: Vortex-motion was published in The Philosophical Maga- zine by P. G. Tait [51]. 1  x0 D x ð Þ dx0 In [50, Section 1], Helmholtz explained that the motion ð Þ¼À4 x x Z j À 0j 3 of a volume element of a continuous fluid media in IR 3 ~ 1 !~ x0 ð Þ consists of: 1) expansion or contraction in three orthogonal R x ð Þ dx0: ð Þ¼4 x x0 directions, 2) rotation about an instantaneous axis, and Z j À j 3) translation. The expansion/contraction can be repre- By definition, D is curl-free D 0 and R~ is r ðrÂr ¼ Þ r sented as the gradient of a scalar potential function because divergence-free R~ 0 . ðrÁr ¼ Þ 1390 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013

k k 1 k 1 k d~ À ~ þ : In 1905, Blumenthal [12] proved the uniqueness of the ¼ È ÈH decomposition. The vanishing condition at infinity is In other words, if ! k , then ! can be decomposed as imposed to ensure that the integrals in (3) converge. Note 2 ðMÞ that the potentials D and R~ are unique up to a constant; ! d~ ~ ; hence, the decomposition is unique. Similarly, for domains ¼ þ þ k 1 k 1 k such that À , þ , . Further- with boundaries, the normal velocity n is required to ~ ~2 ðMÞ 2 ðM2 Þ 2H ðMÞ ensure uniqueness.1 more, d ,  , and are mutually L -orthogonal, and thus are Since its introduction, the Helmholtz decomposition uniquely determined. theorem has been thoroughly discussed in general. It has On the other hand, if is a compact, oriented, Riemannian manifold with boundaryM @ , then the decom- also been investigated in different domains like smooth Lr position takes the form M spaces [36], convex domains [39] and antisymmetric second-rank tensor fields [59]. Hauser [48], [49] generalized k k 1 k 1 k d~ À ~ þ ; Helmholtz’s theorem to IR 4 by proving it for second-rank ¼ t È n ÈH tensors. A recent article by Spro¨ssig [91] gives a brief where overview of the variants of the Helmholtz theorem under k 1 k 1 À À is parallel to @ specific or general conditions and domains. t ðMÞ¼f 2 ðMÞj Mg k 1 k 1 Note that under the vanishing condition at infinity, the nþ þ is normal to @ : translation (harmonic component) is zero. However, in the ðMÞ¼f 2 ðMÞj Mg case of a bounded domain, a nonzero harmonic (irrota- Here, parallel and normal are defined with respect to the metric tional and incompressible) component may be present. defined on the Riemannian manifold [1]. Such a decomposition is called the Hodge decomposition. For domains with boundary, the harmonic component is The Hodge decomposition is closely related to the zero if the flow on the boundary is zero, and for simply Helmholtz decomposition, although, the former is not a connected domains, this harmonic component can be direct generalization of the latter. A study of differential represented by either D or R~. Hence, the normal forms as a basis for was provided by Schleifer r r velocity n is required to ensure that the translation is [88], who commented that the Hodge decomposition is the represented entirely by the irrotational component leading analog of the Helmholtz decomposition in to a unique decomposition.1 vector analysis. Cantarella et al. [18] provide an insightful discussion on the topology of mutually orthogonal vector 3.2 The Hodge Decomposition Theorem spaces in three dimensions, and Schwarz [89] provides an Similar to the Helmholtz decomposition for vector fields, a extensive discussion on the generalized Hodge decomposi- decomposition called the Hodge decomposition, named tion for nonsimply connected domains. after W. V. D. Hodge, exists for differential forms. The theory of differential forms is intended to perform multi- 3.3 The Helmholtz-Hodge Decomposition (HHD) variable calculus with a more generalized viewpoint, i.e., In this section, we will discuss the HHD of vector fields. independent of the coordinates. Using the calculus defined While to the best of our knowledge, there is no known origin on the differential forms, it is possible to generalize the of the Helmholtz-Hodge Decomposition Theorem, or a formal vector analysis from real domains (IR n) to differentiable merging of the names Helmholtz and Hodge, Denaro [27] manifolds. The Hodge decomposition decomposes a differ- attributes it to Ladyzhenksaya [62]. For the remainder of this ential k-form defined on a Riemannian manifold into three paper, we restrict our attention to the simply connected mutually L2-orthogonal components. domains with boundary. We briefly discuss the theorem as described by Abraham et al. [1]. For details on Hodge de Rham theory, harmonic 3.3.1 HHD—Two Component Form fields and Hodge decomposition the reader may refer to Most of the modern day research refers to the HHD as [53], [61], [89]. In the following theorem, k is the space presented by Chorin and Marsden [22] which is: ðMÞ of smooth, weakly differentiable k-forms on the manifold Let ~ be a sufficiently smooth vector field on a bounded domain , d~ is the exterior derivative on k-forms, ~ is the , with a smooth boundary @ . Then, ~ can be uniquely M codifferential operator, and denotes the vector space of decomposed in the form H harmonic k-forms, such that ~ D ~r; ¼r þ k k d~ 0; ~ 0 : H ðMÞ¼f 2 ðMÞj ¼ ¼ g where D is a scalar potential function, the vector field ~r has zero Theorem 3.2 (Hodge Decomposition). Let be a compact, divergence and is tangential to the boundary along @ . M boundaryless, oriented, Riemannian manifold. Then, the space Chorin and Marsden [22] state the boundary condition of differential k-forms on , can be decomposed as a ~r ~n 0 for the decomposition, and prove the existence, M ðMÞ Á ¼ direct sum of the exterior derivative of a k 1 form, the orthogonality, and uniqueness of the decomposition under À codifferential of a k 1 form, and a harmonic k-form. The this condition. Denaro [27] proves the existence, ortho- þ three components are mutually L2-orthogonal, and thus are gonality, and uniqueness for an additional boundary uniquely determined condition, which states that the irrotational component is normal to the boundary (~n d~ 0). His version of the  ¼ 1. For proof of uniqueness, see Section 3.3.1. HHD states that: BHATIA ET AL.: THE HELMHOLTZ-HODGE DECOMPOSITION—A SURVEY 1391

~2 ~ ~ A vector field ~ is uniquely determined when its divergence R  on r ¼ Àr 7 ~ and curl ~ are assigned, along with the normal ~n R~ ~ on @ : ð Þ ðrÁ Þ ðrÂ Þ t  n~ ~ or tangential ~ ~n ~ component on the  ðr ޼ ð n ¼ Á Þ ð t ¼ Â Þ boundary Once again, it can be shown that the Green’s theorem [41] satisfies the compatibility condition for (7). Thus, it ~ D R~ admits a solution R~ which is unique up to a constant ¼r þr leading to the existence of a unique ~r R~ and, thus, a d~ ~r; ¼r ¼ þ unique d~ ~ ~r. ¼ À with Orthogonality. The orthogonality with respect to the L2 inner product f;g f g is established by showing that d~ ~ ÁD 4a ðhi¼ Á Þ rÁ ¼rÁ ¼ ð Þ R d~ ~r dV 0: Á ¼ ~r ~ R~ ; 4b Z r ¼r ¼r ðrÂ Þ ð Þ Corresponding to the boundary conditions (5a) and (5b), and either of the following boundary condition being satisfied: respectively, it is shown that: 1) the space of gradient vector

~n ~r 0 n~ D n 5a fields is orthogonal to the space of divergence-free vector Á ¼ , Ár ¼ ð Þ fields that are parallel to the boundary, and 2) the space of divergence-free vector fields is orthogonal to the space of ~n d~ 0 n~ R~ ~ ; 5b  ¼ ,  ðr ޼ t ð Þ gradient vector fields that are normal to the boundary. where ~n is the outward normal to the boundary. Here, d~ is In the case of boundary condition (5a) (n~ ~r 0), Á ¼ irrotational ( d~ 0), and ~r is incompressible ( ~r 0). r ¼ rÁ ¼ We present short proofs of the decomposition’s exis- d~ ~r dV D ~r dV : 8 Á ¼ r Á ð Þ tence, orthogonality, and uniqueness for both these bound- Z Z ary conditions (as given in [27]). By the chain rule, Existence. When the boundary condition 5a is specified, (4a) is solved to compute d~. The following Poisson equation is D~r D ~r D ~r rÁð Þ¼r Á þ ðrÁ Þ 9 obtained with Neumann boundary conditions: D~r D ~r as ~r 0 : ð Þ )rÁð Þ¼r Á ð rÁ ¼ Þ ÁD ~ on Substituting in (8), ¼rÁ 6 D ~n n on @ : ð Þ r Á ¼ d~ ~r dV D~r dV : 10 Á ¼ rÁð Þ ð Þ We know that a Poisson equation with Neumann Z Z boundary conditions Using the [41] on the RHS Á f on ¼ d~ ~r dV D~r ~n dA 0: 11 @ Á ¼ Á ¼ ð Þ g on @ Z Z@ @~n ¼ In the case of boundary condition (5b) (~n d~ 0),  ¼ has a solution unique up to an additive constant if and only if the following compatibility condition is satisfied [24]: d~ ~r dV d~ R~ dV Á ¼ Á ðrÂ Þ Z Z f dV g dA: R~ d~ dV : ¼ @ ¼ rÁð Â Þ Z Z Z The additive constant can be removed by requiring that Using the divergence theorem [41], and then the vector  x0 0, x0 . Note that, the divergence theorem [41] identity A~ B~ C~ A~ B~ C~ ð Þ¼ 2 Áð  ޼ð  ÞÁ ~dV ~ ~n dA R~ d~ dV R~ d~ ~n dA rÁ ¼ @ Á rÁð Â Þ ¼ ð  ÞÁ Z Z Z Z@ 12 ð Þ ensures that the compatibility condition for the Poisson (6) R~ d~ ~n dA 0: ¼ Áð Â Þ ¼ is satisfied, hence, it has a solution D, which is unique up to Z@ a constant leading to the existence of a unique d~ D and 2 ð¼ r Þ Thus, for the decomposition to be L -orthogonal, the thus a unique ~r ~ d~. ¼ À boundary conditions (5a) and (5b) are both sufficient, but Alternatively, if the boundary condition 5b is used, (4b) can not necessary. The orthogonality may be established with be solved to compute ~r. Since R~ ~2R~, where r ðr ޼Àr other types of boundary conditions as well. This will be ~2 is the vector Laplacian operator,2 (4b) can be simplified r discussed in more detail in Section 5. into a vector Poisson equation with Neumann boundary Uniqueness. As already discussed, the boundary condi- condition as follows: tions imposed on the decomposition determine the unique- ness. It is important to note that the two boundary 2. The vector laplacian of A~ is ~2A~ A~ A~ . In terms of Hodge-de Rham theory, this isr equal¼ torð therÁ Laplace-deÞÀr ðr RhamÂ Þ operator, conditions (5a) and (5b) may give different unique decom- Á~ d~~ ~d~. positions, as the harmonic component is represented ¼ þ 1392 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013 differently. Here, we show the uniqueness of the decom- The components d~ and ~r can be calculated as the gradient position corresponding to these boundary conditions. of a scalar potential (D) and the curl of a vector potential Assume that two different orthogonal decompositions of (R~), respectively, a vector field (with respect to boundary condition (5a)) exist, ~ ~ such that  D R~ h ¼r þr þ 14 d~ ~r h:~ ð Þ ~ D1 ~r1 D2 ~r2 ¼ þ þ ¼r þ ¼r þ 13 2 3 0 ~r1 ~r2 D1 D2 : ð Þ In IR (or a 2-manifold embedded in IR ), curl is a scalar , ¼ À þrð À Þ quantity in the upward normal direction. Hence, instead of Taking the inner product of (13) with r~1 r~2 gives ~ À needing a vector potential R, the incompressible component can be represented using the curl of a scalar potential R to 0 ~r ~r 2 ~r ~r D D dV : ¼ k 1 À 2k þ 1 À 2 Árð 1 À 2Þ simplify the decomposition as Z À À Á Á The second term in the integral is zero as shown below ~ D J R h~ ¼r þ r þ 15 d~ ~r h;~ ð Þ ~r ~r D D dV ¼ þ þ 1 À 2 Ár 1 À 2 Z and the Poisson equations (4) become À Á À Á ~r1 D1 ~r2 D2 ~r1 D2 ~r2 D1 dV ~ ¼ Ár þ Ár À Ár À Ár Á D  Z ¼rÁ 16 À Á ~ 0 ~r D ~r D dV by orthogon: Á R J; ð Þ ¼ À 1 Ár 2 þ 2 Ár 1 ð Þ ¼ ÀrÁ Z À Á where R is a scalar potential, and the operator J rotates a 0 D ~r ~n D ~r ~n dA by 11 ¼ À 2 1 Á þ 1 2 Á ð ð ÞÞ 2D vector counterclockwise by =2. Equations (15) and (16) Z@ 0 À by boundaryÁ condition 5a : can be derived using the properties of J. By definition, if ¼ ð ð ÞÞ ~v v1;v2 , then J~v v2;v1 . Now, Thus, the above equality is satisfied only if ~r ¼ð Þ ¼ ðÀ Þ k 1 À ~r 2 dV 0 ~r ~r , which implies D D which ~v J~v: 2k ¼ ) 1 ¼ 2 r 1 ¼r 2R r ¼ ÀrÁ violates the assumption. Thus, the decomposition given This can be derived simply as: by the boundary condition (5a) is unique. @v @v Similarly, by taking the inner product of (13) with ~v 1 2 D D , it can be shown that the decomposition given rÁ ¼ @x þ @y rð 1 À 2Þ by the boundary condition (5b) is unique. @v2 @v1 ~v v2; v1 Intuitively, if the physical system guiding the decom- r ¼ @x À @y ¼rÁð À Þ position specifies the normal component n, a unique and J v ;v ¼rÁ ðÀ ð 1 2ÞÞ orthogonal decomposition can be computed using (6). In J~v: this case, any harmonic component in the field is ¼ ÀrÁ d~ Now, consider a scalar field S. Then, J S is an incom- represented within .Analogously,ifthetangential r ~ pressible vector field, because J S S 0. component t is specified, (7) can be used to obtain a rÁ r ¼ ÀrÂr ¼ unique and orthogonal decomposition, where the harmonic Thus, instead of defining ~r R~, the incompressible ¼r component is represented within ~r. component can be defined as ~r J R, where R is a scalar ¼ r However, if the system can specify both n and ~t, the potential and avoid using the vector potential. The curl-curl harmonic component can be extracted out of both d~ and ~r, equation (4b) can be simplified as follows and represented independently, giving rise to the three ~r ~ component form of the HHD. r ¼r J ~r J~ 3.3.2 HHD—Three Component Form ÀrÁ ð Þ ¼ ÀrÁ J J R J~ As discussed in Section 3.1, the harmonic field is zero in ÀrÁ ð r Þ ¼ ÀrÁ case of an infinite space. However, for domains with 2R J~: r ¼ ÀrÁ boundary, it can be induced by a nonzero flow on the For both (14) and (15), d~ 0, ~r 0, and h~ boundary (~ 0 on @ ). If the value of ~  n~ ~ is r ¼ rÁ ¼ rÁ ¼ 6¼ ð¼ n Á þ tÞ 0 and h~ ~0. Under the application of both the known at the boundary, one can formulate the three r ¼ boundary conditions ~r n~ 0 and d~ ~n 0, the proofs component form of the decomposition as follows [97]: Á ¼  ¼ of existence, orthogonality, and uniqueness given in Theorem 3.3 (Helmholtz-Hodge Decomposition). A smooth Section 3.3.1 hold. vector field ~, defined on a bounded or an unbounded domain, can be uniquely decomposed into three components: 1) an irrotational component d~, which is normal to the boundary; 2) 4APPLICATIONS an incompressible component ~r, which is parallel to the A wide spectrum of applications in various communities boundary; and 3) a harmonic component h~. have used the HHD and this section discusses a represen- tative set. BHATIA ET AL.: THE HELMHOLTZ-HODGE DECOMPOSITION—A SURVEY 1393

4.1 Projection Methods in Solving NSE for asymmetric linear system, which can be efficiently solved Incompressible Fluids using multigrid methods. Min et al. [71], [72] introduce a The Projection methods, introduced by Chorin [19], [20], second order accurate method to compute projection on [21], are widely used by researchers to solve the NSE for nongraded adaptive grids. A more descriptive discussion incompressible fluids. Due to its applicability in the and analysis on projection methods and their applications projection methods, the HHD is one of the most important can be found in [15], [45], [62]. theorems in fluid dynamics. 4.2 Vector Fields in Animation The incompressible NSE describes the motion of fluids and are used in countless applications in science and Researchers in computer graphics and animation are engineering. The incompressible NSE is given as interested in modeling and rendering fluids such as water, smoke, fire, and so on. Unlike most other areas in which 1  most applications are primarily concerned with accuracy, @t~u ~u ~u p Á~u F~ 17a þð ÁrÞ þ  r ¼  þ ð Þ graphics applications are typically more interested in real time and visually compelling animations. Such applications ~u 0; 17b may choose to trade accuracy for speed. rÁ ¼ ð Þ As before, to ensure incompressibility in the fluid, a where ~u is the velocity field of an incompressible fluid, p projection step using the HHD is involved as a part of the represents the hydrodynamic pressure,  is the kinematic algorithm. The Eulerian formulation of the fluid simulation ~ viscosity,  is the fluid density, and F represents any allows for a straightforward application of the HHD in the external forces. Using (17), the projection methods model projection step. However, the Lagrangian formulation the fluid motion by taking small steps in time. For each time represents the fluid motion using the material derivative, step, the velocity from the previous time step is used to which induces a divergence that needs to be taken into update the velocity. account. An excellent survey on the methods for fluid simulation is given in the book by Bridson [14]. Foster and Metaxas [34] use the Successive Over Relaxation (SOR) scheme to maintain mass-conservation property. This was the first of its kind method that solved the full 3D NSE to animate fluids. Stam [92] improves it by introducing the semi-Lagrangian method for the convection term. Fedkiw et al. [32] also use a semi-Lagrangian approach for vorticity confinement to simulate smoke with visually rich small scale rolling motion. The proposed solver removes the problems of numerical dissipation in As discussed in Section 3.3.2, the space of gradient vector [92]. They use a staggered grid where the fluid samples are fields ( q) is orthogonal to space of divergence-free vector r defined on the faces of the voxels (instead of centers of the fields ( ~u 0) under appropriate boundary conditions. rÁ ¼ voxels as in [92]). Stam [93], Foster and Metaxas [35], For each time step, the projection methods compute the new Nguyen et al. [77] have been able to achieve visually velocity in two substeps. In the first substep, only the compelling and near-accurate simulations and animations momentum equation (17a) is used to compute an inter- of fluids. Losasso et al. [64] simulate water and smoke on an mediate velocity ~u (green) from the divergence-free ià octree. Maintaining the flow divergence free is the key velocity, ~ui 1 (red) and pressure, pi 1 of the previous time À À component of the entire process, which makes the applica- step. This substep ignores the incompressibility constraint tion of the HHD indispensable. A survey on the methods (17b). In the second substep, the intermediate velocity is used for physically realistic fluid animations is given in [55], projected on to the space of divergence-free vector fields while the readers interested in photo realistic fluid render- using the HHD to get the get the divergence-free velocity, ~u i ing may refer to [82]. (blue). The projection step can be written as ~u ~uà , ¼Pð Þ where the projection is the HHD 4.3 Vector Field Design and Analysis P Polthier and Preuß [83], [84] propose to identify the ~ ~r D ~r ~ : ¼ þr  ¼Pð Þ singularities in a vector field as the critical points of the The key advantage of using the HHD in this context is the potential functions of its HHD. Their global variational decoupling of pressure and velocity fields. If the computa- approach provides continuous and piecewise linear (PL) tion preserves orthogonality of the decomposition, any scalar potentials, which help identifying the features in the error in one of the terms is not reflected in the other. This individual components (d~and ~r), respectively, which might procedure is more efficient than solving a coupled system of otherwise not be visible due to overwhelming other compo- NSEs for velocity and pressure. nents. This work is limited to 2D flow fields only, because 3D An immense amount of literature is available in HHD gives a vector component and a scalar component. computational physics, which deals with different techni- Tong et al. [97] extend this technique for 3D feature ques to enforce incompressibility in projection methods. identification by defining the scalar and vector potential Bell et al. [9], [10] and Stephens et al. [96] propose solutions functions on vertices of the given triangulation, while all the of NSE with second order accuracy. Popinet [85] uses a vector fields are defined at the center of the cells. Wiebel solver using an octree data structure leading to an [101] applies this method for vortex detection by extracting 1394 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013 the ridge and valley lines of the magnitude field of the 5BOUNDARY CONDITIONS FOR THE HHD vector potential R~. Applications in computer vision and The boundary conditions are one of the most important robotics employ critical point detection in various forms. aspects of the decomposition. In particular, the consistency As motivated by Tong et al. [97], for complex flow fields, of the boundary conditions influences the orthogonality obtaining a multiscale representation which can highlight and uniqueness of the decomposition. Various researchers or obfuscate features at a user-desired scale can enhance the have experimented with the boundary conditions under visualization. It is useful to be able to observe a general general or specific settings. This section focuses on the trend in the field, and then be able to refine the resolution to impact of boundary conditions, and discusses a few of them visualize smaller details. Once the HHD of the field has found in literature. been calculated, the two potentials can be smoothed out and recombined to give a HHD-consistent smoother version of 5.1 Boundary Conditions and Orthogonality the vector field. As pointed out by Tong, the vector fields From Section 3.3.1, we know that an L2-orthogonal (and given by the smoothed potentials will maintain their hence, unique) decomposition can be obtained by applying incompressible and irrotational properties. either (two-component form) or both (three-component Wang et al. [99] followed by Fisher et al. [33] use the form) of the following boundary conditions: HHD for design of tangent vector field by placing sources and sinks at the vertices (0-forms) to define d~, and vortices . d~ ~n 0, i.e., the irrotational component is normal  ¼ at the faces (2-forms) to define ~r. Then, the tangent vector to the boundary. field ~ is defined on edges (1-forms) by combining them . ~r ~n 0,i.e.,theincompressiblecomponentis Á ¼ using the HHD. parallel to the boundary, 4.4 Computer Vision and Robotics where ~n is the outward normal to the boundary. For shorthand, these boundary conditions will be referred to as Recently, the field of computer vision and robotics has the N-P (normal-parallel) boundary conditions. started exploiting the HHD. Guo et al. [43] did the seminal However, these conditions are only sufficient but not work in this field by decomposing the motion fields defined necessary for orthogonality. Any boundary condition that on regular grids using the discrete HHD proposed by satisfies that either of the expressions (11) or (12) is zero Polthier and Preuß [83], [84]. They extend their work to ensures orthogonality. For example, suitable periodic bound- cardiac video analysis by using a sequence of images to ary conditions can be applied to enforce orthogonality. represent the motion [44]. Palit et al. [80] have used HHD For certain specific settings, the boundary conditions for hurricane eye detection and fingerprints matching, and can be simplified while maintaining orthogonality. For Gao et al. [38] to detect the singularities (core and delta example, considering no-flow  0 on @ or no-slip points) in fingerprint images. Mochizuki and Imiya [73] ð n ¼ Þ ~ 0 on @ boundary conditions imposed on the fluid, developed algorithms to detect free space and directions to ð ¼ Þ the boundary condition (5a) translates into D ~n 0 guide robot navigation, and Hatton and Choset [47] use the r Á ¼ ¼ @D, which still guarantees the orthogonality of the decom- HHD to determine an optimum choice of coordinates for @~n position. Similarly, for no-slip boundary, ~r n~ 0 main- locomotive systems.  ¼ tains orthogonality. 4.5 Others Orthogonality of vector spaces is an important property The HHD has been widely used in context of a variety of which has interested mathematicians for a long time. In other applications. In the imaging community, Hinkle et al. 1940, Weyl [100] and in 1960, Bykhovskiy and Smirnov [16] 2 [52] have proposed a robust image reconstruction method studied orthogonality of L vector spaces. Around the same to track organ motion, which applies the projection in the time, the projection methods were developed by Chorin Fourier domain. [19], [20] that exploited the orthogonality of the HHD for In the field of acoustic tomography, Johnson et al. [56] fluid modeling. Since then, they have been an integral part use the HHD to study velocity vector fields in blood vessels of fluid modeling. from acoustic time-offlight measurements. Norton [78], [79] If orthogonality is not required, the decomposition can derive a reconstruction method for the vector fields using take various forms depending upon the boundary condi- the HHD in Fourier domain. These methods only deal with tions. More general, HHD-like nonorthogonal decomposi- the incompressible component of the field. Later, Braun and tions, ~ D R~, and their existence and uniqueness ¼r þr Hauck [13] have shown how to compute the irrotational properties under different boundary conditions on D or R~ component, thus completing the decomposition of flow in have been studied, e.g., [5], [8]. 2D, and Prince [86] extends this work to 3D. However, Weinan and Liu [31] comment that the choice of Georgobiani et al. [40], [67], [95] used the HHD to boundary conditions of projection methods is controversial decompose the flow fields obtained from the simulations of and raised the question “whether orthogonality is really solar convection to separate turbulence from acoustics, important?” They consider the effect of numerical application while Scharstein [87] uses the HHD to decompose the of boundary conditions on the boundary layer structure. surface electric current in electromagnetic scattering pro- Denaro [27] followed up with a numerical validation and blems. Miller [70] also discusses the HHD in context of comparison of orthogonal and nonorthogonal decomposi- classical electromagnetism. The HHD has also been used in tions and concluded that “orthogonality of the decomposition Seismology [3], [4] for geomagnetic field modeling to should be always maintained for all the flow problems of practical approximate the solution to Maxwell’s equations. interest.” BHATIA ET AL.: THE HELMHOLTZ-HODGE DECOMPOSITION—A SURVEY 1395

5.2 Harmonic Field and the Topology of the Domain So far, we have concentrated on simply connected domains with boundary, and showed that a harmonic component is obtained by applying varying boundary conditions. Section 3.1 argues that this harmonic component can be represented as gradient of a scalar function, or the curl of a vector function. However, for more general (nonsimply connected) domains, this harmonic component h~ in the HHD can be further split by applying boundary conditions:

h~ H h~ h~ ~n 0 at @ 18a ¼r s þ 1 1 Á ¼ ð Þ À Á h~ H~ h~ h~ n~ 0 at @ : 18b ¼r v þ 2 2  ¼ ð Þ Such a decomposition is oftenÀ referred to asÁ the Hodge- Fig. 2. Example given by Wiebel [101] to show drawbacks of the HHD. Top: The original vector field (left) and potential function (right). Bottom: Morrey-Friedrichs Decomposition (HMFD). Note that the The recovered vector field (left) and potential function (right) after HHD. HMFD is a general form of the HHD, and is always valid. After recombination the rotation is inverted and an additional critical However, for simply connected domains, h~ h~ 0, and point is introduced. 1 ¼ 2 ¼ hence it reduces to HHD. For more details on general forms of HHD, the reader may refer to Schwarz [89]. the velocity field, without enforcing the incompressibility condition at the discrete level (e.g., [15], [31]). 5.3 HHD Boundary Conditions in Projection To maintain the focus of this survey, we do not delve into Methods the numerous technical details of the choice of boundary When computing projection methods for fluid modeling conditions in projection methods, because they do not using NSE, scientists are interested in experimenting with pertain to our discussion on the HHD. Irrespective of the new models of flow, in terms of spatial and/or temporal choice of boundary conditions for the projection step, discretization, and boundary conditions. There exists rich however, the orthogonality of the decomposition is always literature in the communities of fluid modeling, computa- desirable. tional physics, and numerical methods that investigates the accuracy and convergence of such models. While their 5.4 HHD Boundary Conditions in Flow Analysis and prime objective is to provide better approximations to the Visualization solution of NSE, the HHD forms a smaller, yet, an integral In topological analysis and flow visualization, orthogonality part of the entire process. The discretization methods and might be desirable for obtaining a unique decomposition. the boundary conditions of the system as a whole have a Since there are no boundary conditions superimposed by strong influence on their choice of boundary conditions in the fluid model, the treatment of the issue is less involving. the projection step. Polthier and Preuß [83], [84] as well as Tong et al. [97] For example, consider the modeling of a fluid (water, N-P smoke, and so on) bounded by air. Air, being lighter than the enforce the boundary conditions for the extraction of all modeled fluids, is assumed to have only a small effect on the the three components of the HHD. Guo et al. [42], [43] and others extending these ideas (see fluid. Since the entire atmosphere cannot be modeled, only an Fig. 1), however, do not specify any boundary conditions. interesting region of the space is modeled, and the fluid is free According to [42], [43], setting the potentials zero at only to enter or exit the domain. This kind of boundary is called the one vertex is sufficient to compute the decomposition free boundary, and is modeled by setting the pressure to zero uniquely, although, they do not make any claims about the at the boundary. Note that, p 0 leads to p being normal to ¼ r orthogonality of the decomposition. For better accuracy in the boundary, and the orthogonality is respected. results, they propose to further decompose the harmonic There exist two approaches to compute the projection: component recursively. The need for a recursive solution 1) the gradient component D can be computed, and then ðr Þ remains unclear, because with consistent boundary condi- the divergence-free component is given as ~r ~ D, as ¼ Àr tions there should exist a unique solution up to numerical done by Chorin [19], [20], [21] and van Kan [98]; and 2) the precision, which can be computed directly as in the divergence-free component can be directly solved for, as methods of Polthier and Tong. In Guo’s case, this seems done by Bell, Stephens and others [9], [10], [96]. Depending to be due to the lack of proper boundary conditions, upon the type of discretization chosen for either of these because as discussed in Section 3, the correct boundary approaches, one may make a choice for boundary condi- conditions must be specified to obtain a unique decom- tions that improve accuracy. For example, the MAC grid position. The technical details of Guo’s work will be [46] used in finite volume methods, where the pressure is discussed in Section 6.1.3. stored at the cells centers and the velocity components are Wiebel [101] also implements and uses Polthier’s algo- stored at their respective cells faces, is common, because it rithm for the 2D discrete HHD. He provides an example of offers a straightforward mechanism to enforce the incom- an incompressible vector field rotating counterclockwise pressibility discretely. However, other arrangements have with the center of the rotation lying on the boundary. Fig. 2 been shown to produce higher order accurate schemes for shows his example along with the corresponding potential 1396 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013

(parallel—normal) boundary conditions. According to the P-N boundary conditions,

. d~ n~ 0, i.e., the irrotational component is parallel to Á ¼ the boundary. . ~r n~ 0,i.e.,theincompressiblecomponentis  ¼ normal to the boundary. Petronetto draws inspiration from Colin et al. [23] who compute the divergence-free flow from a given flow using the projection. Without citing any literature, Colin uses the Neumann boundary conditions @D 0 for boundaries, @n~ ¼ Fig. 3. An example to show artifacts of N-P boundary conditions. (a) The which are neither no flow, nor no slip. As it has already original vector field V~ x; y x; y . (b) The irrotational component (d~) been discussed, @D 0 satisfies orthogonality only when recovered after HHD.ð Artifactsð Þ¼ð areÞÞ seen near the boundary because the @~n ¼ no-slip or no-flow boundary is in place, i.e.,  0. As we N-P boundary conditions enforce the flow to be normal to the boundary. n ¼ The incompressible component ~r is zero for this example, while the show in [11], the P-N boundary conditions are, in general, harmonic component h~ also shows similar artifacts due to residual. invalid, and cannot be used to compute the HHD of a general vector field. Thus, there is a discrepancy in the function of the rotational component having a maximum at understanding of the boundary conditions of HHD, which the boundary. As shown in the figure, decomposing this needs to be illuminated. field results in an entirely different vector field in which the rotation is clockwise for most of the domain. Examining the 6TECHNIQUES FOR HHD COMPUTATION corresponding potential function shows that a new mini- This section will briefly introduce the most common mum is introduced near the boundary, while the magnitude methods to compute the discrete HHD developed in various of the original maximum is reduced. Wiebel notes this as a communities. The aim is to provide the reader with a general drawback of the decomposition. overview of potential techniques and references to the This can, however, be explained in terms of the relevant papers. boundary conditions. Suppose the original vector field is The majority of techniques using the HHD do so purely irrotational, and the flow on the boundary is incidentally as part of a projection method for fluid distributed arbitrarily (not necessarily normal everywhere modeling. Here, we briefly discuss the different approaches on the boundary). One such example is the vector field of computing the projection and provide a more detailed defined by a nodal source at the origin of a square domain, discussion on techniques designed specifically to compute as shown in Fig. 3. If the HHD is computed for this vector the HHD. The primary focus will be the discretization of the field, the incompressible component will be zero. However, necessary differential operators and the different boundary in light of boundary conditions d~ ~n 0, it can be easily ? ¼ conditions but where available the numerical performance observed that at the boundary, a disagreement occurs is discussed as well. Table 2 summarizes these techniques to between the original vector field and the boundary allow an easy comparison. conditions. The manifestations of such disagreements are stronger when the critical point lies closer to the boundary. 6.1 Least Squares Finite Elements Method Thus, these artifacts are the by-product of the boundary (LS-FEM) conditions, and are admitted in the solution to obtain a Many of the recent techniques to compute the discrete HHD unique and orthogonal decomposition. employ a variational approach where certain energy In a recent paper, Petronetto et al. [81] compute the 2D functionals, created using finite element approach, are HHD with a different set of boundary conditions, which are minimized to compute the irrotational and incompressible opposite to the N-P boundary conditions. According to components. These techniques work for piecewise constant them, these boundary conditions are the usual boundary (PC) vector fields (defined on the triangles of the mesh), conditions for the decomposition. For shorthand, these resulting in PL potential functions (defined on the vertices boundary conditions will be referred to as the P-N of the mesh) after the decomposition.

TABLE 2 A Comparative Summary of Techniques for HHD Computation

For each category, the required domain and the applicable boundary conditions are given. Coherence measures the amount of divergence and curl in the obtained components, and L ortho. measures the error in orthogonality of the obtained components. ( : The numbers are taken from our 2 y implementation of [84]. The original publication does not provide a numerical analysis. Ã: Át is the time discretization step size.) BHATIA ET AL.: THE HELMHOLTZ-HODGE DECOMPOSITION—A SURVEY 1397

k k ~ ~ 1 ~  p Ji; pi i~cpi : r ð Þ¼Ài 1 r ¼ 2 i 1 X¼ X¼ The two energy functionals are given by

FD ~ D 2 ðÞ¼ Àr Z À Á D 2 2 D; ~ ~ 2 ¼ jr j À r þ j j Z Z À Á GR ~ J R 2 ðÞ¼ À r Z À Á J R 2 2 J R~ ~ 2: ¼ j r j À r þ j j Z Z À Á To achieve these minimizations, the derivatives of both the functionals should vanish at every vertex. Explicit repre- Fig. 4. Results provided by Polthier and Preuß [84]. Top left to bottom sentations of the derivatives at p are given by right: The irrotational component, d~, with scalar potential D, the incompressible component, ~r, with scalar potential R, the harmonic d k ~ ~ ~ component (h), and the original vector field (). FD Di i ; J~cpi 0 dDp ðÞ¼Ài 1 r À ¼ X¼ DE 19 k ð Þ 6.1.1 HHD for 2D Triangular Meshes Using LS-FEM d ~ GR Ri Ji ; J~cpi 0: Polthier and Preuß [84] provide definitions for the discrete dRp ðÞ¼i 1 r þ ¼ divergence and discrete rotation on a 2-manifold similar to X¼ DE weak derivatives in the finite element methods, and use Once the irrotational and incompressible components have them to propose a simple implementation of the discrete been computed, the harmonic component is found as the residual, i.e., h~ ~ D J R. HHD. The 2D HHD (15) is computed by solving the Poisson ¼ Àr À r equation (16) using a variational approach, where energy The N-P boundary conditions are used to get the unique functionals are minimized for the irrotational and incom- decomposition. Fig. 4 shows the results of HHD as pressible components. Finally, the harmonic component is presented in [84]. Note that no numerical analysis of the computed as the residual and thus is less accurate, because technique is given in [84], and Table 2 shows the analysis of the error caused due to the approximation or the boundary our implementation of this technique. conditions are reflected in the residual. 6.1.2 HHD for 3D Tetrahedral Meshes Using LS-FEM The discrete divergence and discrete rotation for a PC vector field are defined as PL scalar functions. McCormick Tong et al. [97] extend Polthier’s method [84] to 3D by [68] discusses in detail the finite-element approach using defining the discrete divergence, discrete curl, and mini- primal potential and dual vector fields. In the following, let mizing the energy functionals for PC vector fields on a SS p denote the star of the vertex p: tetrahedral mesh. Like the previous method, the potentials ð Þ D and R~ are defined per-vertex (PL), but here in 3D, the 1. Discrete Divergence ( ~): For a vertex p, the discrete R~ rÁ incompressible component needs a vector potential . After divergence can be defined as the net flow normal to defining the decomposition for 3D fields, Tong et al. define the boundary of SS p . It can be calculated as the ð Þ a multiscale model to compute the decomposition. The integrated dot product of the vector with the outward discrete operators used are: normal for every triangle in SS p . The outward ð Þ 1. Discrete Divergence ( ~): For a vertex p, the discrete normal can also be calculated by rotating the normal- rÁ ized edge vector ~c (of the triangles in SS p ), which divergence can be defined as p ð Þ does not have as one of its vertices k ~ p  ; ~ T k 1 k rÁ ð Þ¼ r pi ij ij ~ p ~  ~ J~c i 1 i pi i pi X¼ rÁ ð Þ¼ i 1 r ¼À2 i 1 ¼ ¼ where k is the number of tetrahedra in SS p , T is X X ð Þ j ij where k is the number of triangles in SS p ,  is the the volume of the tetrahedron T , and for imple- ð Þ r p i Lagrange basis function corresponding to vertex p, mentation purposes,  is the normal vector to r pi and J rotates a vector counterclockwise by =2 the face fpi opposite to p in Ti, pointing toward i, area fik degrees. with magnitude of p ð Þ . ~ kr i k¼ 2 Tk 2. Discrete Rotation ( ): For a vertex p, the discrete 2. Discrete Curl ( ~): For a vertexj jp, the discrete curl r r rotation can be defined as the net flow tangential to can be defined as the boundary of SS p . It can be calculated as the ð Þ integrated dot product of the vector with the rotated k ~ p  ~ T outward normal for every triangle in SS p . The pi i i ð Þ r ð Þ¼ i 1 ðr  Þj j rotated outward normal is same as the normalized X¼ edge vector ~c in SS p where the symbols are same as defined above. ð Þ 1398 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013

Fig. 5. Two-dimensional results provided by Tong et al. [97]. L-R: The original field, ~, irrotational (d~), and incompressible (~r) components. The divergence and rotation in critical points in ~ are shown in yellow.

Once again, the two potentials can be calculated by minimizing the quadratic functions corresponding to the two Poisson equations (6) and (7)

F D ~ D 2 ð Þ¼ Àr Z À Á G R~ ~ R~ 2: ð Þ¼ Àr Z Fig. 6. Results provided by Guo et al. [43]. The figure shows (a) cardiac À Á Explicit representations of the derived linear systems are motion field (~), (b) irrotational (d~), (c) incompressible (~r)and ~ given as (d) harmonic (h) components.

k k resulting decomposition is orthogonal, which casts some  D T  ~ T pi i i pi i i doubt on the uniqueness. i 1 r Á ðr Þj j¼ i 1 r Á j j ¼ ¼ For better accuracy in results, they propose to further k X Xk ~ ~ decompose the harmonic component recursively pi Ri Ti pi i Ti : i 1 r  r j j¼ i 1 r  j j ¼ ¼ X À Á X ~ d~1 ~r1 h~1 Similar to [84], the harmonic component is found as a ¼ þ þ d~ ~r d~ ~r h~ residual. Also, the same (N-P) boundary conditions are ¼ 1 þ 1 þ 2 þ 2 þ 2 ~ ~ ~ ~ used. Fig. 5 shows the results of HHD as presented in [97]. d1 ~r1 Àd2 ~r2 Á dn ~rn hn ¼ þ þ þ þ ÁÁÁÁÁÁÁÁÁþ þ þ ~ ~ ~ ~ d1 d2 À dn À ~r1 ~r2 ~rn hn ÁÁ 6.1.3 HHD for 2D Regular Grid Data using LS-FEM ¼ þ þÁÁÁÁ þ þ þÁÁÁÁ þ ~ ~ Àd ~r hn: Á À Á Guo et al. [43] formulate a simpler implementation of the ¼ þ þ HHD for their applications of motion fields extracted from Unfortunately, the need for a recursive algorithm remains image sequences. Since the image sequences are based on unclear because if there exists a unique solution, it should regular grids, they argue the need for a simpler implemen- be obtained after the first solve as in previous techniques tation for decomposition. [84], [97]. To use the setup proposed by Polthier and Preuß [84], the vector field data on a regular grid is converted into a PC 6.2 Smoothed Particle Hydrodynamics (SPH) vector field on a triangulation by converting the regular Smoothed Particle Hydrodynamics is a computational grid into a regular triangulation, and assigning each method used for simulating fluid flows. Although origin- triangle, the average of the vector values at its vertices. ally designed for the simulations of astrophysical problems Then, the linear systems representing (19) is derived and [65], SPH has been successfully used in the graphics solved for the potentials. Working with triangulation community for fluid simulations [94]. Since it is a meshfree derived from regular grids reduces the computational approximation for particle systems based on the Lagrangian complexity because the area of every triangle is same, description, it overcomes any mesh artifacts caused due to a hence can be computed once. Also the matrices represent- Eulerian approach. SPH reduces the complexity of the ing the linear systems only depend on the grid size and, simulation, by making the mass conservation equations and thus, typically need to be created only once. convection terms dispensable. For a detailed discussion on However, no boundary conditions are specified in their solver, which may explain some of the artifacts in their SPH, the reader may refer to [74]. The SPH approximation models a set of particles in space results (see Fig. 6). Guo’s MS thesis [42] explains in more detail that if the potential functions (D and R) are set to zero carrying individual physical attributes. These attributes or ~x on the boundary, the rank of the matrices they create functions can be estimated for a particle at point using a becomes small, and their derivation breaks. Instead, they set smoothing kernel W to approximate in a local neighbor- D 0 and R 0 and argue that this is sufficient to obtain hood within distance h as follows: 1 ¼ 1 ¼ a unique decomposition. That is, enforcing the potentials to mj f ~xi f ~xj W ~xi ~xj;h ; be zero on just a single vertex results a unique solution. ¼ j À j Ni However, they provide no discussion on whether the À Á X2 À Á À Á BHATIA ET AL.: THE HELMHOLTZ-HODGE DECOMPOSITION—A SURVEY 1399

6.2.2 Discussion on SPH HHD Boundary Conditions Both [23] and [81] present results for the P-N boundary conditions in addition to the usual N-P boundary condi- tions. The P-N boundary conditions can be enforced by ensuring that @D D ~n 0 R ~n @R. @n~ ¼r Á ¼ ¼r Á ¼ @~n Both [23] and [81] consider the usual boundary condi- tions for HHD to be the P-N boundary condition; however, no literature is cited to corroborate this statement. In [11], we present a simple analytical example to show that the P-N boundary conditions are not valid in general, and can be used only if the global divergence and the global curl of the field is zero. An earlier article on SPH projection method [26] acknowledges that the Poisson equation must satisfy a compatibility constraint to ensure unique solution.

Fig. 7. Results provided by Petronetto et al. [81]. Decomposition using In their explanation, they mention that the condition (a) N-P, and (b) P-N boundary conditions. The vector magnitudes have ~ ~ rÁ d dV @ d n~ dA 0 must be accompanied by a condi- been mapped to color to enhance the visualization. ¼ Á ¼ N R ~ tion that the sum of the discrete source terms i 1  R ð ¼ rÁ Þ must be zero. In the absence of any constraint (like P where mj is the mass, ~xj is the position, j is the density and ~ 0), these boundary conditions are invalid and rÁ ¼ fj is the quantity f for the neighboring particle j, and Ni is may make the convergence of the solver extremely difficult. the set of neighboring particles with ~x ~x h. Using R j i À jj In our implementation of 2D HHD using the LS-FEM SPH, the derivatives of a function f can be obtained by method (Section 6.1.1), we have found that the energy using the derivatives of the smoothing kernel. minimization using the P-N boundary conditions does not 6.2.1 HHD for 2D Vector Fields using SPH converge. Colin et al. [23] presented an SPH solution of HHD to 6.3 Finite Difference Methods (FDM) achieve a divergence-free vector field in an incompressible The FDM are commonly used to numerically approximate fluid simulation. The choice of approximations of the differential operators for solving differential equations. differential operators made in [23] are as follows: They have also been used in the projection methods for 1 solving Poisson equation (4) for solutions of incompressible fi mj fj fi W ~xi ~xj;h fluid simulations. r ¼ i ð À Þr À j Ni Foster and Metaxas [35] propose a finite difference X2 À Á ~ 1 ~ ~ approximation scheme for voxel-based fluid simulations. f i mj fj fi W ~xi ~xj;h rÁ ¼ i À Ár À The scalar potential D at every vertex (represented by indices j Ni À Á X2 À Á À Á i; j; k) is calculated for each time step h 1 as follows: 1 þ Áf i mj fi fj ÁW ~xi ~xj;h ðÞ¼ i fð À Þ À 2 1 j Ni h 1 ~ h h 2 Di;j;kþ 2  i;j;k 2 Di 1;j;k Di 1;j;k X À Á ¼ 8=Á À ðrÁ Þ þ Á þ þ À 2  ÁW ~xi ~xj;h j :  À i À Ár g h h h h h Di;j 1;k Di;j 1;k Di;j;k 1 Di;j;k 1 Di;j;k: þ þ þ À þ þ þ À À À Á  Using these approximations, the Poisson equations (15) are à solved with Neumann boundary conditions @D d~ n~ 0. The divergence operator is defined as follows: @~n ¼ Á ¼ Using a similar SPH approach, Petronetto et al. [81] ~ 1 present results of HHD in 2D by calculating the irrotational  i;j;k x i ;j;k x i ;j;k y i;j ;k y i;j ;k ðrÁ Þ ¼ Á ð þ Þ À ð À Þ þ ð þ Þ À ð À Þ and harmonic components as well. Their approximation of zÂi;j;k z i;j;k ; the differential operators is given below: þ ð þÞ À ð ÀÞ m where i and i represent the positionsà i 1=2 and i 1=2, j þ À þ À fi fj fi W ~xi ~xj;h respectively. Once again, no-flow boundary conditions are r ¼ j ð À Þr À j Ni ~ ~ X2 À Á used, i.e.,  ~n 0 d ~n. As discussed in Section 6.4, ~ mj ~ ~ Á ¼ ¼ Á f i fj fi W ~xi ~xj;h Hinkle et al. [52] also use a finite difference approach to rÁ Þ ¼ j À r À j Ni approximate the DFT of the divergence of the vector field. À X2 À Á À Á m f f Áf 2 jð j À iÞ x~ W ~x ~x ;h ; ðÞi ¼ 2 ijr i À j 6.3.1 Galerkin Formulation Using Finite Differences j Ni j x~ij X2 k k À Á Building upon a Galerkin formulation of projection where x~ x~ x~, and W is a quartic smoothing kernel for methods proposed by Stephens et al. [96], Bell et al. [9] ij ¼ i À j a given value of h. The decomposition can be found by propose a second-order projection method for the using the SPH approximations for Poisson equation for 2D incompressible NSE for fluids defined on 2D regular grid (16) using the SPH approximations for Laplacian defined cells. The Galerkin formulation refers to a class of above. The authors provide results for both N-P and P-N methods for approximating the discrete counterparts of boundary conditions (Fig. 7). continuous differential operators used in differential 1400 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013 equations by defining a basis of a vector space of Stam [92] introduces an unconditionally stable algorithm functions. for modeling real-time fluid motion, which is based on a The unknown velocity is defined cell centered at the combination of a semi-Lagrangian Scheme [25] and implicit interior of the cells, and at the midpoints of cell edges for solvers to solve the NSE. As compared to [35] where the boundary cells. The scalars (potential and divergence) stability of the model is dependent upon the step size of the are defined at the corners of the grid cells. Then, the integration scheme, this method is stable even for larger gradient operator ( ) is defined as follows: step sizes. He also suggests that it is more accurate than r [35]. The flow is defined at the center of the cells of a regular 1 grid, and the boundary is assumed to be fixed or periodic. D x;ij Di ;j Di ;j Di ;j Di ;j ðr Þ ¼ 2Áx þ þ À À þ þ þ À À À À For either case, no flow is allowed to cross the boundary (no 1 À Á flow), i.e., ~ ~n 0. As a result of these boundary condi- D y;ij Di ;j Di ;j Di ;j Di ;j ; Á ¼ ðr Þ ¼ 2Áy þ þ À þ À þ À þ À À À tions, the harmonic component in the HHD vanishes. À Á Furthermore, the system focuses on real time visually where i; j are the positional coordinates of the cells in the ð Þ consistent simulations rather than numerically accurate grid, and i and i represent the positions i 1=2 and þ À þ simulations. The last step of their 4-step system is the i 1=2, respectively. The divergence operator ( ) can be À rÁ projection or the HHD, and is calculated as a part of a Fast derived from the discrete form of integration by parts, (FFT) of the system. The projection step which is solves the Poisson equation (4a), with Neumann boundary condition @D 0 because ~ ~n 0. The FFT system is solved ~;D ~; D ; @~n ¼ Á ¼ ðrÁ Þs ¼ Àð r Þv using the library FISHPAK. where ; and ; are the inner products defined on the Based on [92], Stam [93] presents another algorithm to ð Þs ð Þv discrete scalar and vector spaces, respectively. This condi- compute the velocity of mass-conserving fluids using FFTs. tion also guarantees that the projection is orthogonal. These The solver works for regular grid data, however, is discrete differential operators are then used to define a basis specialized for domains with periodic boundary, i.e., the such that d-dimensional grid is assumed to be a torus. Once again, the solver sacrifices accuracy for speed and stability. i ;j J Di ;j : A slightly different approach is used by Hinkle et al. [52], þ þ ¼À r þ þ where the DFT of the divergence of a vector field ~v is Finally, the divergence-free velocity ~r can be computed as a ðrÁ Þ computed using the discrete finite-difference derivative linear combination of the basis functions, where the weights s are chosen such that DFT ~v ! W ! DFT ~v ! ; frÁ gð Þ¼ ð ÞÁ f gð Þ ~ where i ;j i ;j ; k ;l v ; k ;l : þ þ þ þ þ þ ¼ þ þ v X 1 !x A number of other variantsÁ of GalerkinÀ formulations sin hx Nx have been proposed for the NSE. However, the approxima- i 0 1 !y 1 tion for the projection steps remains largely similar with W ! sin : ð Þ¼2 B hy Ny C slight modifications to the discrete differential operators. B 1 ! C B z C For example, Bell and Marcus [10] extend the approxima- B sin C B hz Nz C tions of [9] for variable density flows. A similar Galerkin @ A Here, i p 1, and N and h are the number of samples in approach was used by Solomon and Szymczak [90], and ¼ À grid and the spacing between adjacent grid points, Ingber and Kempka [54]. ffiffiffiffiffiffiffi respectively, given component wise in x; y; z directions. 6.4 Fourier and Wavelets Domains Using this definition, the projection step to compute the Stam [92], [93] and Hinkle et al. [52] make use of the mass-conserving vector field ~r can be performed as Fourier domain to compute the divergence-free component W ! DFT ~ ! of vector fields for fluid simulation and 4D image DFT ~r ! DFT  ! ð ÞÁ f2 gð Þ W ! : f gð Þ¼ f gð ÞÀ W ! 3 ð Þ reconstruction, respectively. To compute the Discrete k ð ÞkCC Fourier Transform (DFT) of a d-dimensional vector field, Deriaz and Perrier [28], [29], [30] propose an iterative the Fourier transform of d components of the vector field algorithm to compute the HHD in wavelet domain. Due to are computed independently. If ~v is a d-dimensional vector the localized nature of wavelets in both physical and ~v vj j 0 to d, then frequency domains, such a decomposition is localized in ¼f g ¼ physical space as compared to the decomposition in Fourier DFT ~v ! DFT vj ! j 0 to d: fgð Þ¼f f gð Þg ¼ domain. They provide a basis for 2D and 3D decomposi- Computing mass conserving and gradient vector fields is tions which is generalizable to arbitrary dimension, and is simple in Fourier domain because differentiation in the extendable to nonperiodic boundaries. spatial domain is equivalent to multiplication by the 6.5 Statistical Learning Using Matrix-Valued wavenumber in the Fourier domain Kernels Mac^edo and Castro [66] propose using sparse, unstruc- DFT ~v ! k~ DFT ~v ! : fr gð Þ¼ Á f gð Þ tured, and possibly noisy samples of a vector field, to BHATIA ET AL.: THE HELMHOLTZ-HODGE DECOMPOSITION—A SURVEY 1401

Fig. 8. Results provided by Mac^edo and Castro [66]. From left to right: The original field, the learned divergence-free component, and the learned curl-free component. construct its incompressible and irrotational components using matrix-valued radial basis function (RBF) kernels. A vector field can be learned as linear combination of a kernel. Fig. 9. Results provided by Wiebel et al. [102], showing the cylinder data set (top) decomposed into (bottom) potential and localized flows. ~ N i i i V x i 1 K x; x à , where the weights à ð Þ¼ ¼ ð Þð À Þ ð À Þ are computed by optimizing a loss function [69]. The P desired properties, it has been included in this survey. Fig. 9 problem then reduces to finding the appropriate kernels. shows their results. According to Narcowich and Ward [76] and Fuselier [37], The first component, called the potential flow matches the the matrix-valued divergence-free and curl-free kernels can original field on the boundary of a subdomain, but is be obtained from the divergence-free and curl-free matrix- otherwise simple in the sense that it has vanishing valued RBFs as K x; x0 È x x0 , such that ð Þ¼ ð À Þ divergence and curl. It represents the laminar flow induced by the geometry of the domain, and its boundary values. In È x H x tr H x I df ð Þ¼ ð ÞÀ fgð Þ the context of HHD, the potential flow can be seen similar Ècf x H x ; to the harmonic flow h~ in a certain way, because both ð Þ¼À ð Þ these flows maintain the property of being both divergence where  is a scalar-valued RBF, H is the Hessian operator, 2 free and curl free. However, it is interesting to see that while such that H @  , and I is the identity matrix. It can ð Þij ¼ @xi@xj the potential flow matches the flow on the boundary of be verified that the columns of Èdf and Ècf are divergence- the domain, no such condition is imposed on the harmonic free and curl-free, respectively. component in HHD. In fact, in the aforementioned According to Mac^edo and Castro [66], it is possible to computation techniques, the harmonic component is calcu- consider a convex linear combination of the kernels Kdf and lated as the residual after calculating the incompressible Kcf to obtain a kernel for learning any kind of vector field. and irrotational components. More importantly, this allows to reconstruct the divergence- The other (residual) component, called the localized flow free and curl-free parts separately, leading to a HHD-like (or the region-specific flow), promises to capture the entire vector field decomposition. Although, they do not consider divergence and curl of the original flow, and hence, the harmonic component in their study, it appears that the provides deeper insights about the features in the original harmonic component can be computed as the residual. flow. Any analysis that make use of the these two quantities Fig. 8 shows their results, in which they use a Gaussian is not affected by the decomposition of the flow. All the x 2=22 critical points (except all saddles) show up in this scalar RBF  x eðÀk k Þ, and obtain ð Þ¼ component. This method works for an arbitrary subregion, 2 with a piecewise smooth boundary. A HHD of the localized x x0 K x; x0 G A d 1 k À k I flow should further decompose it into incompressible and df x;x0 x;x0 2 ð Þ¼ "#þð À ÞÀ !irrotational components. K x; x0 G I A ; cf ð Þ¼ x;x0 À x;x0 where Âà 7DISCUSSION As demonstrated in Fig. 1 and Section 4, the HHD is useful x x 2 1 k À 0k G eÀ 22 in a large number of applications across a broad spectrum x;x0 2 ¼  of research communities. Going forward, there is a need for T x x0 x x0 a better consistency between the various communities on A À À : x;x0 ¼   the topic. This survey attempts to bring together the  diverging branches of research in different communities One can note a similarity between the method of on this common topic of interest. It presents a comprehen- “learning” vector fields and the Galerkin formulation sive discussion on the theory and practice of the HHD and because the kernels Kdf and Kcf span some divergence- intends to provide a solid starting point for future research. free and curl-free subspaces. While the topic is too extensive and spans too many communities to be fully captured in a single article, the goal 6.6 A Non-HHD Decomposition of Flow Fields is to include a representative cross section of the relevant Wiebel et al. [102] propose another two-component vector literature across research areas. Furthermore, this paper field decomposition, which is substantially different from includes a notationally consistent discussion on the theory the HHD. However, since it is based on a similar of the HHD to provide an entry point to the area as well as a goal—decomposing the vector field into components with chronological survey to convey the historical development 1402 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013 of the area. Finally, a detailed discussion on the different [13] H. Braun and A. Hauck, “Tomographic Reconstruction of Vector boundary conditions is provided aimed at clarifying and Fields,” IEEE Trans. Signal Processing, vol. 39, no. 2, pp. 464-471, Feb. 1991. unifying some of the recent results. [14] R. Bridson, Fluid Simulation For Computer Graphics. A.K. Peters, Nevertheless, some open questions related to the HHD 2008. remain to be explored, both theoretical and practical. For [15] D.L. Brown, R. Cortez, and M.L. Minion, “Accurate Projection instance, the effect of boundary conditions on the topology Methods for the Incompressible Navier-Stokes Equations,” J. Computational Physics, vol. 168, pp. 464-499, 2001. of the resulting components needs to be studied more [16] E.B. Bykhovskiy and N.V. Smirnov, On Orthogonal Expansions of thoroughly. Theoretical results of the Hodge decomposition the Space of Vector Functions Which Are Square-Summable over a using exterior calculus have already been successfully Given Domain and the Vector Analysis Operators. Academy of borrowed and applied to analysis, visualization, and design Sciences USSR Press, 1960. [17] J. Caltagirone and J. Breil, “A Vector Projection Method for of vector fields. However, a better understanding of their Solving the Navier-Stokes Equations,” Comptes Rendus de l’Acade´- numerical performance is needed, with respect to its mie des Sciences - Series IIB - Mechanics-Physics-Astronomy, vol. 327, convergence and L2-orthogonality, especially in the gra- no. 11, pp. 1179-1184, 1999. phics and visualization community. [18] J. Cantarella, D. DeTurck, and H. Gluck, “ and the Topology of Domains in 3-Space,” Am. Math. Monthly, vol. 109, On a more applied front, one may expect to see a step up no. 5, pp. 409-442, 2002. in the dimensionality of some recent computation techni- [19] A.J. Chorin, “A Numerical Method for Solving Incompressible ques. For example, a SPH technique for 3D vector fields and Viscous Flow Problems,” J. Computational Physics, vol. 2, pp. 12-26, a LS-FEM like technique for PL vector fields may prove 1967. [20] A.J. Chorin, “Numerical Solution of the Navier-Stokes Equations,” really useful. Moreover, there is a need for further Math. Computations, vol. 22, pp. 745-762, 1968. exploration of different boundary conditions aiming for [21] A.J. Chorin, “On the Convergence of Discrete Approximations to topological consistency between the original field and the the Navier-Stokes equations,” Math. Computations, vol. 23, pp. 341- resulting components. 353, 1969. [22] A.J. Chorin and J.E. Marsden, A Mathematical Introduction to Fluid Mechanics. Springer, 1993. ACKNOWLEDGMENTS [23] F. Colin, R. Egli, and F. Lin, “Computing a Null Divergence Velocity Field Using Smoothed Particle Hydrodynamics,” The authors would like to acknowledge Joshua Levine, Bei J. Computational Physics, vol. 217, no. 2, pp. 680-692, 2006. Wang, and Guoning Chen for reviewing the earlier drafts of [24] R. Courant and D. Hilbert, Methods of Mathematical Physics. New York Univ., 1953. this survey. Special acknowledgments go to Konrad [25] R. Courant, E. Isaacson, and M. Rees, “On the Solution of Nonlinear Polthier, Tudor Ratiu, Jos Stam, and Qinghong Guo for Hyperbolic Differential Equations by Finite Differences,” Comm. their insightful feedback. This work was performed under Pure and Applied Math., vol. 5, pp. 243-255, 1952. the auspices of the US Department of Energy (DOE) by [26] S.J. Cummins and M. Rudman, “An SPH Projection Method,” Lawrence Livermore National Laboratory (LLNL) under J. Computational Physics, vol. 152, pp. 584-607, 1999. [27] F.M. Denaro, “On the Application of the Helmholtz-Hodge contract DE-AC52-07NA27344. LLNL-JRNL-522732. Decomposition in Projection Methods for Incompressible Flows with General Boundary Conditions,” Int’l J. Numerical Methods in Fluids, vol. 43, pp. 43-69, 2003. REFERENCES [28] E. Deriaz and V. Perrier, “Divergence-Free and Curl-Free [1] R. Abraham, J.E. Marsden, and T. Ratiu, Manifolds, Tensor Analysis Wavelets in 2D and 3D, Application to Turbuent Flows,” and Applications, vol. 75, Applied Math. Science, second ed. J. Turbulence, vol. 7, no. 3, pp. 1-37, 2006. Springer-Verlag, 1988. [29] E. Deriaz and V. Perrier, “Direct Numerical Simulation of [2] E. Ahusborde, M. Azaiez, and J.-P. Caltagirone, “A Primal Turbulence Using Divergence-Free Wavelets,” Multiscale Modeling Formulation for the Helmholtz Decomposition,” J. Computational and Simulation, vol. 7, no. 3, pp. 1101-1129, 2008. Physics, vol. 225, no. 1, pp. 13-19, 2007. [30] E. Deriaz and V. Perrier, “Orthogonal Helmholtz Decomposition [3] K. Aki and P.G. Richards, Quantitative Seismology. Univ. Science in Arbitrary Dimension using Divergence-Free and Curl-Free Books, 2002. Wavelets,” Applied and Computational Harmonic Analysis, vol. 26, [4] M. Akram and V. Michel, “Regularisation of the Helmholtz no. 2, pp. 249-269, 2009. Decomposition and its Application to Geomagnetic Field Model- [31] W. Weinan and J.G. Liu, “Projection Method I: Convergence and ling,” Int’l J. Geomath., vol. 1, no. 1, pp. 101-120, 2010. Numerical Boundary Layers,” SIAM J. Numerical Analysis, vol. 32, [5] C. Amrouche, C. Bernardi, M. Dauge, and V. Girault, “Vector no. 4, pp. 1017-1057, 1995. Potentials in Three-Dimensional Nonsmooth Domains,” Math. [32] R. Fedkiw, J. Stam, and H.W. Jensen, “Visual Simulation of Methods in the Applied Sciences, vol. 21, pp. 823-864, 1998. Smoke,” Proc. 28th Ann. Conf. Computer Graphics and Interactive [6] H. Aref, N. Rott, and H. Thomann, “Gro¨bli’s Solution of the Three- Techniques (SIGGRAPH ’01), pp. 15-22, 2001. Vortex Problem,” Ann. Rev. Fluid Mechanics, vol. 24, pp. 1-21, 1992. [33] M. Fisher, P. Schro¨der, M. Desburn, and H. Hoppe, “Design of [7] G. Arfken, Mathematical Methods for Physicists, second ed. Tangent Vector Fields,” ACM Trans. Graphics, vol. 26, no. 3, article Academic Press, 1970. 56, 2007. [8] G. Auchmuty, “Potential Representation of Incompressible Vector [34] N. Foster and D. Metaxas, “Realistic Animation of Liquids,” Fields,” Nonlinear Problems in Applied Mathematics, pp. 43-49, Graphical Models and Image Processing, vol. 58, no. 5, pp. 471-483, SIAM, 1995. 1996. [9] J.B. Bell, P. Colella, and H.M. Glaz, “A Second Order Projection [35] N. Foster and D. Metaxas, “Modeling the Motion of a Hot, Method for the Incompressible Navier-Stokes Equations,” Turbulent Gas,” Proc. 24th Ann. Conf. Computer Graphics and J. Computational Physics, vol. 85, pp. 257-283, 1989. Interactive Techniques (SIGGRAPH ’97), pp. 181-188, 1997. [10] J.B. Bell and D.L. Marcus, “A Second-Order Projection Method for [36] D. Fujiwara and H. Morimoto, “An Lr Theorem of the Helmholtz Variable-Density Flows,” J. Computational Physics, vol. 101, Decomposition of Vector Fields,” J. Faculty of Science, vol. 44, pp. 334-348, 1992. pp. 685-700, 1977. [11] H. Bhatia, G. Norgard, V. Pascucci, and P.-T. Bremer, “Comments [37] E.J. Fuselier, “Refined Error Estimates for Matrix-Valued Radial on the ‘Meshless Helmholtz-Hodge Decomposition’,” IEEE Trans. Basis Functions,” PhD thesis, Texas A & M Univ., 2006. Visualization and Computer Graphics, vol. 19, no. 3, pp. 527-528, [38] H. Gao, M. Mandal, G. Guo, and J. Wan, “Singular Point Detection Mar. 2013. using Discrete Hodge Helmholtz Decomposition in Fingerprint [12] O. Blumenthal, “U¨ ber Die Zerlegung Unendlicher Vektorfelder,” Images,” Proc. IEEE Int’l Conf. Acoustics Speech and Signal Mathematische Annalen, vol. 61, no. 2, 235-250, 1905. Processing (ICASSP), pp. 1094-1097, 2010. BHATIA ET AL.: THE HELMHOLTZ-HODGE DECOMPOSITION—A SURVEY 1403

[39] J. Geng and Z. Shen, “The Neumann Problem and Helmholtz [67] N.N. Mansour, A. Kosovichev, D. Georgobiani, A. Wray, and M. Decomposition in Convex Domains,” J. Functional Analysis, Miesch, “Turbulence Convection and Oscillations in the Sun,” vol. 259, pp. 2147-2164, 2010. Proc. SOHO14/GONG Workshop, “Helio- and Astero-Seismology: [40] D. Georgobiani, N. Mansour, A. Kosovichev, R. Stein, and A. Towards a Golden Future,” 2004. Nordlund, “Velocity Field Decomposition in 3D Numerical [68] S.F. McCormick, “The Finite Volume Method,” Multilevel Adaptive Simulations of Solar Turbulent Convection,” NASA Center for Methods for Partial Differential Equations, chapter 3, vol. 6. SIAM, Turbulence Research - Ann. Research Briefs, pp. 355-340, 2004. 1989. [41] D.J. Griffiths, Introduction to Electrodynamics, second ed. Addison [69] C.A. Micchelli and M. Pontil, “On Learning Vector-Valued Wesley, 1999. Functions,” Neural Computation, vol. 17, pp. 177-204, 2005. [42] Q. Guo, “Cardiac Video Analysis using the Hodge Helmholtz [70] B.P. Miller, “Interpretations from Helmholtz Theorem in Classical Field Decomposition,” master’s thesis, Dept. of Electrical and Electromagnetism,” Am. J. Physics, vol. 52, p. 948, 1984. Computer Eng., Univ. of Alberta, 2004. [71] C. Min and F. Gibou, “A Second Order Accurate Projection [43] Q. Guo, M.K. Mandal, and M.Y. Li, “Efficient Hodge-Helmholtz Method for the Incompressible Navier-Stokes Equations on Non- Decomposition of Motion Fields,” Pattern Recognition Letters, Graded Adaptive Grids,” J. Computational Physics, vol. 219, vol. 26, no. 4, pp. 493-501, 2005. pp. 912-929, 2006. [44] Q. Guo, M.K. Mandal, G. Liu, and K.M. Kavanagh, “Cardiac [72] C. Min, F. Gibou, and H.D. Ceniceros, “A Supra-Convergent Finite Video Analysis Using Hodge-Helmholtz Field Decomposition,” Difference Scheme for the Variable Coefficient Poisson Equation Computers in Biology and Medicine, vol. 36, no. 1, pp. 1-20, 2006. on Non-Graded Grids,” J. Computational Physics, vol. 218, no. 1, [45] R. Guy and A. Fogelson, “Stability of Approximate Projection pp. 123-140, 2006. Methods on Cell-Centered Grids,” J. Computational Physics, [73] Y. Mochizuki and A. Imiya, “Spatial Reasoning for Robot vol. 203, pp. 517-538, 2005. Navigation Using the Helmholtz-Hodge Decomposition of Omni- [46] F.H. Harlow and J.E. Welch, “Numerical Calculation of Time- directional Optical Flow,” Proc. 24th Int’l Conf. Image and Vision Dependent Viscous Incompressible Flow of Fluid with Free Computing (IVCNZ), pp. 1-6, 2009. Surface,” Physics of Fluids, vol. 8, no. 12, pp. 2182-2189, 1965. [74] J.J. Monaghan, “Smoothed Particle Hydrodynamics,” Ann. Rev. of [47] R. Hatton and H. Choset, “Optimizing Coordinate Choice for Astronomy and Astrophysics, vol. 30, pp. 543-574, 1992. Locomoting Systems,” Proc. IEEE Int’l conf. Robotics and Automa- [75] L. Morino, “Helmholtz Decomposition Revisited: Vorticity Gen- tion (ICRA), pp. 4493-4498, 2010. eration and Trailing Edge Condition,” Computational Mechanics, [48] W. Hauser, “On the Fundamental Equations of Electromagnet- vol. 1, pp. 65-90, 1986. ism,” Am. J. Physics, vol. 38, no. 1, pp. 80-85, 1970. [76] F.J. Narcowich and J.D. Ward, “Generalized Hermite Interpolation [49] W. Hauser, Introduction to the Principles of Electromagnetism. Via Matrix-Valued Conditionally Positive Definite Functions,” Addison-Wesley Educational Publishers Inc, 1971. Math. of Computations, vol. 63, no. 208, pp. 661-687, 1994. [50] H. Helmholtz, “U¨ ber Integrale der Hydrodynamischen Glei- [77] D.Q. Nguyen, R. Fedkiw, and H.W. Jensen, “Physically based chungen, Welche den Wirbelbewegungen Entsprechen,” J. fu¨r Modeling and Animation of Fire,” ACM Trans. Graphics, vol. 21, die reine und angewandte Mathematik, vol. 1858, no. 55, pp. 25-55, pp. 721-728, 2002. Jan. 1858. [78] S.J. Norton, “Tomographic Reconstruction of 2-D Vector Fields: [51] H. Helmholtz, “On Integrals of the Hydrodynamical Equations, Applications to Flow Imaging,” Geophysics J. Int’l, vol. 97, no. 1, which Express Vortex-Motion,” Philosophical Magazine and pp. 161-168, 1988. J. Science, vol. 33, no. 226, pp. 485-512, 1867. [79] S.J. Norton, “Unique Tomographic Reconstruction of Vector Fields [52] J. Hinkle, P.T. Fletcher, B. Wang, B. Salter, and S. Joshi, “4D MAP Using Boundary Data,” IEEE Trans. Image Processing, vol. 1, no. 3, Image Reconstruction Incorporating Organ Motion,” Proc. 21st pp. 406-412, July 1992. Int’l Conf. Information Processing in Medical Imaging, (IPMI), 2009. [80] B. Palit, A. Basu, and M. Mandal, “Applications of the Discrete [53] W. Hodge, The Theory and Applications of Harmonic Integrals. Hodge-Helmholtz Decomposition to Image and Video Proces- Cambridge Univ. Press, 1952. sing,” Proc. First Int’l Conf. Pattern Recognition and Machine [54] M.S. Ingber and S.N. Kempka, “A Galerkin Implementation of the Intelligence, S. Pal, S. Bandyopadhyay, and S. Biswas, eds., Generalized Helmholtz Decomposition for Vorticity Formula- pp. 497-502, 2005. tions,” J. Computational Physics, vol. 169, no. 1, pp. 215-237, 2001. [81] F. Petronetto, A. Paiva, M. Lage, G. Tavares, H. Lopes, and T. [55] T. Jie and Y. Xubo, “Physically-Based Fluid Animation: A Lewiner, “Meshless Helmholtz-Hodge Decomposition,” IEEE Survey,” Science in China Series F: Information Sciences, vol. 52, Trans. Visualization and Computer Graphics, vol. 16, no. 2, pp. 338- no. 1, pp. 1-17, 2007. 342, Mar./Apr. 2010. [56] S.A. Johnson, J.F. Greenleaf, M. Tanaka, and G. Flandro, Acoustical [82] M. Pharr and G. Humphreys, Physically Based Rendering: From Holography, vol. 7. Plenum Press, 1977. Theory to Implementation. Morgan Kaufmann Publishers, Inc., 2004. [57] D.D. Joseph, “Helmholtz Decomposition Coupling Rotational to [83] K. Polthier and E. Preuß, “Variational Approach to Vector Field Irrotational Flow of a Viscous Fluid,” Proc. Nat’l Academy of Decomposition,” Proc. Eurographics Workshop Scientific Visualiza- Sciences of USA, vol. 103, no. 39, pp. 14272-14277, 2006. tion, 2000. [58] J. Kim and P. Moin, “Application of a Fractional-Step Method to [84] K. Polthier and E. Preuß, “Identifying Vector Fields Singula- Incompressible Navier-Stokes Equations,” J. Computational Physics, rities Using a Discrete Hodge Decomposition,” Mathematical vol. 59, no. 2, pp. 308-323, 1985. Visualization III, H.C. Hege, K. Polthier, eds., pp. 112-134, [59] D.H. Kobe, “Helmholtz Theorem for Antisymmetric Second-Rank Springer, 2003. Tensor Fields and Electromagnetism with Magnetic Monopoles,” [85] S. Popinet, “A Tree-Based Adaptive Solver for the Incompressible Am. J. Physics, vol. 52, no. 4, pp. 354-358, 1984. Euler Equations in Complex Geometries,” J. Computational Physics, [60] D.H. Kobe, “Helmholtz’s Theorem Revisited,” Am. J. Physics, vol. 190, pp. 572-600, 2003. vol. 54, no. 6, pp. 552-554, 1986. [86] J.L. Prince, “Convolution Backprojection Formulas for 3-D Vector [61] K. Kodaira, “Harmonic Fields in Riemannian Manifolds,” Annals Tomography with Application to MRI,” IEEE Trans. Image of Math., vol. 50, pp. 587-665, 1949. Processing, vol. 5, no. 10, pp. 1462-1472, Oct. 1996. [62] O.A. Ladyzhenskaja, The Mathematical Theory of Viscous Incompres- [87] R. Scharstein, “Helmholtz Decomposition of Surface Electric sible Flow. Gordon and Breach, 1963. Current in Electromagnetic Scattering Problems,” Proc. 23rd [63] H. Lamb, Hydrodynamics, sixth ed. Cambridge Univ. Press, 1932. Southeastern Symp. System Theory, pp. 424-426, 1991. [64] F. Losasso, F. Gibou, and R. Fedkiw, “Simulating Water and [88] N. Schleifer, “Differential Forms as a Basis for Vector Analysis - Smoke with an Octree Data Structure,” ACM Trans. Graphics, with Applications to Electrodynamics,” Am. J. Physics, vol. 51, vol. 23, pp. 457-462, 2004. no. 45, p. 1983, 1983. [65] L.B. Lucy, “A Numerical Approach to the Testing of the Fission [89] G. Schwarz, Hodge Decomposition - A Method for Solving Boundary Hypothesis,” The Astronomical J., vol. 82, pp. 1013-1024, 1977. Value Problems. Springer, 1995. [66] I. Mac^edo and R. Castro, “Learning Divergence-Free and Curl- [90] J.M. Solomon and W.G. Szymczak, “Finite Difference Solutions for Free Vector Fields with Matrix-Valued Kernels,” technical report, the Incompressible Navier-Stokes Equations Using Galerkin Instituto de Matema´tica Pura e Aplicada, Rio de Janeiro, Brazil, Techniques,” Proc. Fifth IMACS Int’l Symp. Computer Methods for 2010. Partial Differential Equations, June 1984. 1404 IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 19, NO. 8, AUGUST 2013

[91] W. Spro¨ssig, “On Helmholtz Decompositions and their General- Gregory Norgard received the BS degree in izations - An Overview,” Math. Methods in the Applied Sciences, mathematics from the University of Nebraska- vol. 33, pp. 374-383, 2010. Lincoln in 2003, and the PhD degree in applied [92] J. Stam, “Stable Fluids,” Proc. ACM SIGGRAPH ’99, pp. 121-128, mathematics from the University of Colorado 1999. Boulder in 2009. He is a research scientist at the [93] J. Stam, “A Simple Fluid Solver Based on the FFT,” J. Graphics Numerica Corporation located in Fort Collins, Tools, vol. 6, pp. 43-52, 2002. Colorado. Before joining Numerica, he was a [94] J. Stam and E. Fiume, “Depicting Fire and Other Gaseous postdoctoral researcher at Lawrence Livermore Phenomena Using Diffusion Processes,” Proc. ACM SIGGRAPH National Laboratory (LLNL). His research inter- ’95, pp. 129-136, 1995. ests include data fusion, uncertainty manage- [95] R. Stein and A. Nordlund, “Realistic Solar Convection Simula- ment, computational topology, and computational fluid dynamics. tions,” Solar Physics, vol. 192, pp. 91-108, 2000. [96] A.B. Stephens, J.B. Bell, J.M. Solomon, and L.B. Hackerman, “A Valerio Pascucci received the EE laurea Finite Difference Galerkin Formulation for the Incompressible (master’s) degree from the University La Sa- Navier-Stokes Equations,” J. Computational Physics, vol. 53, pienza in Rome, Italy, in December 1993, as a pp. 152-172, 1984. member of the Geometric Computing Group, [97] Y. Tong, S. Lombeyda, A. Hirani, and M. Desbrun, “Discrete and the PhD degree in computer science from Multiscale Vector Field Decomposition,” ACM Trans. Graphics, Purdue University in May 2000. He is a faculty vol. 22, no. 3, pp. 445-452, 2003. member at the Scientific Computing and Ima- [98] J. van Kan, “A Second-Order Accurate Pressure-Correction ging (SCI) Institute at the University of Utah. Scheme for Viscous Incompressible Flow,” SIAM J. Scientific and Before joining SCI, he served as a project leader Statistical Computing, vol. 7, no. 3, pp. 870-891, 1986. at the Lawrence Livermore National Laboratory [99] K. Wang Weiwei, Y. Tong, M. Desburn, and P. Schro¨der, “Edge (LLNL), Center for Applied Scientific Computing (from May 2000) and as Subdivision Schemes and the Construction of Smooth Vector an adjunct professor at the Computer Science Department of the Fields,” ACM Trans. Graphics, vol. 25, no. 3, pp. 1041-1048, 2006. University of California, Davis (from July 2005). Prior to his tenure at [100] H. Weyl, “The Method of Orthogonal Projection in Potential CASC, he was a senior research associate at the University of Texas at Theory,” Duke Math. J., vol. 7, no. 7, pp. 411-444, 1940. Austin, Center for Computational Visualization, CS, and TICAM [101] A. Wiebel, “Feature Detection in Vector Fields Using the Departments. He is a member of the IEEE. Helmholtz-Hodge Decomposition,” Diploma thesis, Diplomar- beit, Univ. Kaiserslautern, 2004. Peer-Timo Bremer received the diploma in [102] A. Wiebel, C. Garth, and G. Scheuermann, “Computation of mathematics and computer science from the Localized Flow for Steady and Unsteady Vector Fields and its Leipniz University in Hannover, Germany, in Applications,” IEEE Trans. Visualization and Computer Graphics, 2000, and the PhD degree in computer science vol. 13, no. 4, pp. 641-651, July/Aug. 2007. from the University of California, Davis, in 2004. He is a computer scientist and project leader at Harsh Bhatia received the BTech degree in the Center for Applied Scientific Computing at information and communication technology from the Lawrence Livermore National Laboratory DA-IICT, India in 2007, and is currently a (LLNL) and an associated director for Research graduate student in computer science at the at the Center for Extreme Data Managment, Scientific Computing and Imaging (SCI) Institute Analysis, and Visualization at the University of Utah. Prior to his tenure at the University of Utah, and a scholar at the at CASC, he was a postdoctoral research associate at the University of Lawrence Livermore National Laboratory Illinois, Urbana-Champaign. He is a member of the IEEE Computer (LLNL). His research interests include topologi- Society and the IEEE. cal analysis of scalar and vector fields, uncer- tainty visualization, graphics and scientific visualization, and modeling and simulation. He is a student member of For more information on this or any other computing topic, the IEEE. . please visit our Digital Library at www.computer.org/publications/dlib.