Skip to content

Discrete Exterior Calculus

DEC is a discretized version of the theory of exterior calculus, developped by Mathieu Desbrun, Anil Hirani and their coworkers at the dawn of the XXIst century. It can be seen as an "exotic Finite Element Method" focused on differential forms.

Within DEC, the concepts at the core of exterior calculus, manifolds, differential forms, and the operators acting on them (differential, hodge, musical isomorphisms...), will find discrete analogs. Let's quickly introduce the most inportant ones.

Simplicial complexes

In this discrete paradigm, nD manifolds are approximated by n-dimensional combinatorial structures, composed of simplices, called simplicial manifolds, a specific kind of simplicial complexes.

What makes a simplicial manifold?

In order to approximate a nD manifold, a simplicial complex must fullfil two additional conditions:

  • All its simplices must be the face of at least one n-simplex. Such simplicial complexes are called pure simplicial complexes.

  • The link (1) of any 0-simplex must be homeomorphic to a (n-1)D sphere, or at least to a (n-1)D half-sphere if the considered 0-simplex lies on the border of the complex.

    1. Link: The smallest (n-1)-simplicial complex surrounding a given simplex.

Simplicial complexes meeting these two criteria are called Simplicial Manifolds.

âš  Why simplicial manifolds matter? Because they can be dualized, a requirement to perform discrete differential geometry in DEC.

  • From a topological perspective

    A k-dimensional simplex corresponds to an oriented set of k+1 nodes, These nodes do not need any geometrical embedding and can be seen as indices.Any oriented subset of k'nodes, k'≤ k, forms a k'-face of the initial simplex and is, by construction, also a simplex. A simplical complex is therefore a set of simplices closed under inclusion, meaning that: (i) If a k-simplex belongs to a simplicial complex, its k'-faces (k'≤ k) also belong to it. And (ii) when considering two simplices within the same simplicial complex, their intersection is either empty or another simplex of the considered complex.

    An "abstract" definition

    When dealing only with the topological aspects of simplices and simplicial complexes, we usually refer to them as "abstract". An abstract simplicial complex is a complex that is not embedded in any geometrical space.

    We call facets of a k-simplex its k+1 (k-1)-faces. These facets can easily be generated from the list of k+1 indices corresponding to the k-simplex by removing one index: where the hat above the index means it is removed.

    The relative orientation of a facet with respect to a simplex is simply defined as: being the position of the removed index in the k-simplex.

    Within a complex, two adjacent k-simplices share one common facet. Two relative orientations can therefore be computed for this facet, one relative to each k-simplex.

    By definition, we say that these two adjacent k-simplices share the same orientation if the relative orientations of their shared facet are opposite: This property will be crutial for the definition of the algebraic structure required to emulate exterior calculus on discret settings.

  • From a geometrical perspective

    A k-dimensional simplex corresponds to the convex hull of k+1 linearly independent vectors within a N-dimensional embedding space, N>k: A n-dimensional simplicial complex is therefore a piecewize linear geometric space where each k-dimensional element is homeomorph to a subset of the kD euclidean space. Grouping k-dimensional simplices together, we can therefore express a nD simplicial complex as a set of n+1 sets of simplices of the same degree (or dimension): where stands for the number of k-simplices within the considered nD simplicial complex.

    Dualization of a simplicial complex

    Given a n-dimensional simplicial complex embedded within a geometric space, one can compute the circumcenters of every n-simplex . Connected together, these circumcenters form k-polytopes, referred to as k-cells. By construction, to each k-simplex of the primal complex , corresponds such a (n-k)-cell.

    In the specific case of a simplicial manifold, the generated set of dual k-cells is closed under inclusion and consequently form a cellular complex, noted , dual (1).

    1. Formally, the initial simplicial manifold is referred to as the primal (simplicial) complex in contrast to the dual (cell) complex.

    âš  The ability to define a dual complex is of prime importance for discrete differential geometry purposes: It enables the definition of the Hodge star operator and the subsequent construction of dual cochains and the codifferential operator (required to define divergence and laplacian in DEC).

  • From an algebraic perspective

    We define a k-chain on a simplicial complex as a sum(1) , weighted by integers, over the k-simplices of this complex:

    1. Einstein notation used below for concision. 👇

    k-chains are crutial in DEC for they represent (oriented) sub-complexes of the simplicial complex they are defined upon. For instance, a 2-chain composed by adjacent 2-simplices weighted by corresponds to a bounded surface within the considered n-complex (n≥2).

    Within a given complex, k-chains form a module (1) , noted hereafter, and the coresponding set of k-simplices can be seen as its generating base. In this perspective, a k-chain can be represented as the column vector of its coefficients:

    1. Module: An abelian group over the ring of integers.

    where stands for the cardinality of the k-module. DEC offers a convinent algebraic representation of any kD subset of an nD simplicial complex.

    The boundary operator

    When considering the simplices within the k-module defined on a nD simplicial complex (0<k≤n), the inclusion condition ensures that all their facets belong to the adjacent k-1-module. We define the boundary operator as the application that associates to any k-simplex the (k-1)-chain formed by its facets, weighted by their relative orientations : This operator features two fundamental algebraic properties:

    • It constitutes an homomorphism between consecutive modules for it is a addition-preserving map between them:

    • It is 2-nilpotent,meaning that when applied twice, it yields 0. In other words the image of lies in the kernel of : This emerges from the opposite orientations of a facet between two adjacent k-simplices.


Cochains

  • From an algebraic perspective

    In order to approximate k-forms from the continuous theory; we define k-cochains (1), on a given nD simplicial complex, as the homomorphisms between , the module of k-chains & the additive group defined on . The thereby defined set of k-cochains forms an abelian group, noted , dual to :

    1. The terminology "chain/cochain" directly inherits from the notions of "vector/covector field"; one being a geometrical object and the other a linear application acting on it. Notation: In ambiguous contexts, we will note cochains with a "hat" (^) to distinguish them from their continuous counterparts.

    This duality between and entails that every k-cochain is solely defined by its evaluation on a basis of , i.e. the k-simplices . This evaluation corresponding to the discrete version of the natural pairing between k-forms & k-vectors, we can defined cochains as row vectors: with still being the cardinality of the considered module.

    At this point, cochains might look rather abstract, but they can actually be related to their smooth counterparts in a very tangible way.

    DeRham maps

    Given a continuous nD manifold & a simplicial complex locally embedded into it (1), we can define a pasting homeomorphism, , that maps any k-simplex of onto a kD subset of :

    1. For reasons beyond the scope of this short introduction, we won't detail this point. But the idea is that we don't need the whole complex to be embedded into the manifold but just each simplex locally. This is inheritantly due to the intrinsic nature of the DEC theory.

    Based on such pasting homeomorphisms, we can define a mapping between smooth k-forms on and k-cochains on : Such maps are called DeRham maps & constitute one funding principle of DEC for we will always assume that a k-cochain corresponds to the linear interpolation of a k-form over the k-simplices of the considered complex.

  • Analogy with FEMs

    At this point, DEC emerges as an "exotic Finite Element Method", where k-forms are approximated by their projections onto spaces of piecewise-constant k-forms, called k-cochains. The basis cochains for these spaces being defined as:

    Warning

    The fact that we are using Kronecker deltas as basic k-forms, induces a common, but sometimes confusing, simplification widespread in the field: We often state that k-cochains can be expressed as sums over k-simplices: . Doing so, we implicitly associate a k-simplex with its dedicated basis k-form . As this usage can be confusion, especially for newcomers, we will try to avoid it in the present document.

    In the smooth case, we saw that differential forms of increasing degrees, defined on the same manifold, we connected by a specific mapping called the exterior derivative. Let's now see how this concept is defined in DEC.

Discrete exterior derivative

Based on Riesz representation theorem and the natural pairing between k-forms and k-vectors, we saw that in the smooth setting, one output of the Stokes-Cartan theorem was the definition of the exterior derivative as the adjoint of the boundary operator.

The discrete Stokes-Cartan theorem

In DEC, the (discrete) exterior derivative (1), noted , is constructed in order to fullfill the following discretized version of the Stokes-Cartan Theorem:

  1. For the sake of simplicity, we will refer to the "discrete exterior derivative" as the "exterior derivative", whenever possible.

where the correspond to the facets of and the coefficients depict their relative orientation.

  • From an algebraic perspective

    The algebraic structures formed by the sequence of boundary homomorphisms combined with the sequence of chain modules is called a chain complex, . Likewise, a similar structure is formed by the sequence of discrete exterior derivatives connecting the cochain modules: The cochain complex, (1):

    1. While the chain complex is oriented toward decreasing degrees, the cochain one is oriented toward increasing degrees.

    The exterior derivative is a fundamental purely topological operator in DEC, we need now to define another fundamental operator, related this time to geometry: The Hodge operator.

The Hodge star operator

Hodge duality has been introduced in the section dedicated to the continuous theory of exterior calculus. When considering a nD simplicial complex , the cardinalities of its k- and (n-k)-subsets do not match a priori (1). That is why, in the discrete setting, we need to compute a dual nD oriented complex, , where all (n-k)-cells are isomorphic to one k-simplex in the primal simplicial complex. Cochains can be defined on this new complex, we call them dual cochains.

  1. There is no reason the number of triangles matches the number of vertices in a 2D triangular mesh for instance.

From cochains to dual cochains

The discrete Hodge star operator, noted , performs the isomorphism from primal k-cochains to dual (n-k)-cochains and vice-versa. Based on the algebraic representation of cochains, these isomorphisms (1) can easily be computed as matrices (2).

  1. As the notation suggests, we have one discrete Hodge star per topological degree of the considered complex.
  2. When the dual complex is built upon the circumcenters of the primal simplices — which is the case in the Dxtr library — these matrices are by construction diagonals.

From the expression of the matrix above, we see that the discrete Hodge operator is constructed so that the "duality requirement" given by in the continuous case is verified for any couple of k-simplex/(n-k)-cell: where and respectively stand for the (n-k)- and k-volumes(1) of the corresponding cell/simplices.

  1. The fact that by construction, the discrete Hodge star operator rely on k-volumes, makes it a geometrical operator and not a topological one, as the exterior derivative. To that end, it cannot be implemented on abstract complexes.

Warning

Within Dxtr, the discrete Hodge operator can only be computed on simplicial manifolds, for two reasons:

  • As the formulae above suggest, to define , we need to compute dual (n-k)-volumes. Given a nD simplicial complex, this can only be achieved if this all k-simplices (k<n) admit (k+1)-cofaces (1).

    1. The computation of the dual (n-k)-volumes relies on the circumcenters of the (k+1)-simplices.
  • If the considered simplicial complex is not pure, its dual wont' be closed under inclusion (1) and consequently its cochain-complex and the subsequence differential operators would be ill-defined.

    1. Meaning that some k-cells could miss (k-1)-faces.

Musical isomorphisms

Like the Hodge star operator, musical isomorphisms are by definition metric-based and therefore related to geometry of the considered space. That is why in Dxtr their definition is limited to SimplicialManifold instances.

The flat operator maps vector fields to 1-cochains.

As mentionned by Anil Hirani is his PhD Thesis (c.f. link on this page), there are up to 8 definitions of the flat operator depending on the type of input vector field, the type of returned cochain and the type of interpolation used.
In Dxtr, we only implemented two of them:

  • The "DPP-flat"(1), that converts a vector-valued dual 0-cochain into a primal 1-cochain, through a dual-to-primal interpolation.

    1. Names by Anil Hirani, All right reserved.
  • The "DPD-flat"(1), that converts a vector-valued dual 0-cochain into a dual 1-cochain, through a primal-to-dual interpolation.

    1. Names by Anil Hirani, All right reserved.

The sharp operator maps scalar-valued 1-cochains onto discrete vector fields, i.e. vector-valued dual 0-cochains.

This mapping is performed by interpolation(1) of the 1-cochains (defined on 1-simplices, since they are primal) onto the neighboring n-simplices.

  1. This idea to define the sharp operator from interpolation based on Whitney forms has been inspired by Anil Hirani's PhD manuscript; again.

Note that for now, only primal 1-cochains can be "flatten" into vector fields.

Limitations of our musical isomorphisms implementations

  • Within Dxtr, discrete vector fields are only implemented as vector-valued dual 0-cochains for such vector-fields are easily defined even on curved complexes (the vectors lies within the n-simplices). We prioritized this implementation since we plan on using the library mostly on curved structures.
  • In the discrete setting, due to the various projections performed, we do not have in general .

Wedge product

Last, but not least, let's mention, upon the fundamental DEC operators, the wedge product. In the section dedicated to the continuous theory, we saw that the wedge product is a graded operator that enables the construction of high-degree differential forms from ones of smaller degrees.

Under construction!

In the current version (V 1.0.0) of the Dxtr library, it is important to note that the implemented version of the wedge product is not complete for it can only handle primal cochains. A dual version is currently under development and should be available soon.


These basic notions been introduced, we can now take a closer look at their instanciations within the Dxtr library 👉 Dxtr in a nutshell.