## Abstract

We present a local formulation for 2D Discrete Exterior Calculus (DEC) similar to that of the Finite Element Method (FEM), which allows a natural treatment of material heterogeneity (assigning material properties element by element). It also allows us to deduce, in a principled manner, anisotropic fluxes and the DEC discretization of the pullback of 1-forms by the anisotropy tensor, i.e. we deduce the discrete action of the anisotropy tensor on primal 1-forms. Due to the local formulation, the computational cost of DEC is similar to that of the Finite Element Method with Linear interpolating functions (FEML). The numerical DEC solutions to the anisotropic Poisson equation show numerical convergence, are very close to those of FEML on fine meshes and are slightly better than those of FEML on coarse meshes.

## 1. Introduction

The theory of Discrete Exterior Calculus (DEC) is a relatively recent discretization  of the classical theory of Exterior Differential Calculus developed by E. Cartan , which is a fundamental tool in Differential Geometry and Topology. The aim of DEC is to solve partial differential equations preserving their geometrical and physical features as much as possible. There are only a few papers about implementions of DEC to solve certain PDEs, such as the Darcy flow and Poisson's equation , the Navier-Stokes equations , the simulation of elasticity, plasticity and failure of isotropic materials , some comparisons with the finite differences and finite volume methods on regular flat meshes , as well as applications in digital geometry processing .

In this paper, we describe a local formulation of DEC which is reminiscent of that of the Finite Element Method (FEM). Indeed, once the local systems of equations have been established, they can be assembled into a global linear system. This local formulation is also efficient and helpful in understanding various features of DEC that can otherwise remain unclear if one is dealing dealing with an entire mesh. Besides, we believe the local description to DEC will be accesible to a wide readership. We will, therefore, take a local approach when recalling all the objects required by 2D DEC . Our main results are the following:

• We present a local formulation of DEC analogous to that of FEM, which allows a natural treatment of heterogeneous material properties assigned to subdomains (element by element) and eliminates the need of dealing with it through ad hoc modifications of the global discrete Hodge star operator.
• Guided by the local formulation, we deduce a natural way to approximate the flux/gradient-vector of a discretized function, as well as the anisotropic flux vector. We carry out a comparison of the formulas defining the flux in both DEC and Finite Element Method with linear interpolation functions (FEML).
• In order to understand how to discretize the anisotropic Poisson equation, we develop the discretization of the pull-back operator of 1-forms under an arbitrary linear trasformation or tensor. The pull-back operator is one of the basic ingredients in Exterior Differential Calculus in the smooth setting and is essential in all of its applications in Topology [bott-Tu]. We discretize the pullback operator on primal 1-forms induced by an arbitrary tensor using Whitney interpolation (the Whitney map). The Whitney interpolation forms were introduced by Hassler Whitney in 1957  and Bossavit  explained their relevance in “mixed methods” of finite elements. To our knowledge, this is the first time that the discrete version of this operator is presented in the DEC literature. This has allowed us to discretize, in a principled manner, the anisotropic heat equation.
• We carry out an analytic comparison of the DEC and FEML local formulations of the anisotropic Poisson equation.
• We present three numerical examples of the approximate solutions to the stationary anisotropic Poisson equation on different domains using DEC and FEML. The numerical DEC-solutions exhibit numerical convergence (see the error measurement tables) and a competitive performance, as well as a computational cost similar to that of FEML. In fact, the numerical solutions with both methods on fine meshes are identical, and DEC shows a slightly better performance than FEML on coarse meshes.

The paper is organized as follows. In Section 2, we describe the local versions of the discrete derivative operator, the dual mesh, the discrete Hodge star operator and the meaning of a continuous 1-form on the plane. In Section 3, we deduce the discretization of the pullback operator on primal 1-forms. In Section 4, we deduce the natural way of computing flux vectors in DEC (which turns out to be equivalent to the FEML result), as well as the anisotropic flux vectors. In Section 5, we present the local DEC formulation of the 2D anisotropic Poisson equation and compare it with the local system of FEML, proving that the diffusion terms are identical in both schemes, while the source terms are differentl due to a different area-weight assignment for the nodes. In Section 6, we re-examine the geometry of some of the local DEC quantities. In Section 7, we present and compare numerical examples of DEC and FEML approximate solutions to the 2D anisotropic Poisson equation on different domains with meshes of various resolutions. In Section 8, we summarize the contributions of this paper.

## 2. Preliminaries on DEC from a local viewpoint

In this section, we will recall the basic operators of Dicrete Exterior Calculus restricting ourselves to a mesh made up of one simplex/triangle. The local results we derive in the paper can be assembled, just as in the Finite elemnt Method, due to the additivity of both differentiation and integration.

Let us consider a primal mesh made up of a single (positively oriented) triangle with vertices ${\textstyle v_{1},v_{2},v_{3}}$ (Figure 1).

Such a mesh has

• one oriented 2-dimensional face
 $[v_{1},v_{2},v_{3}];$
• three oriented 1-dimensional edges
 $[v_{1},v_{2}],\quad [v_{1},v_{3}],\quad [v_{2},v_{3}];$
• and three 0-dimensional vertices
 $[v_{1}],\quad [v_{2}],\quad [v_{3}].$

### 2.1 Boundary operator

There is a well known boundary operator

 $\partial _{2,1}[v_{1},v_{2},v_{3}]=[v_{2},v_{3}]-[v_{1},v_{3}]+[v_{1},v_{2}],$
(1)

which describes the boundary of the triangle as an alternated sum of its ordered oriented edges ${\textstyle [v_{1},v_{2}]}$, ${\textstyle [v_{1},v_{3}]}$ and ${\textstyle [v_{2},v_{3}]}$.

Similarly, one can compute the boundary of each edge

 $\partial _{1,0}[v_{1},v_{2}]=[v_{2}]-[v_{1}],$ $\partial _{1,0}[v_{1},v_{3}]=[v_{3}]-[v_{1}],$ (2) $\partial _{1,0}[v_{2},v_{3}]=[v_{3}]-[v_{2}].$

If we consider

• the symbol ${\textstyle [v_{1},v_{2},v_{3}]}$ as a basis vector of a 1-dimensional vector space,
• the symbols ${\textstyle [v_{1},v_{2}]}$, ${\textstyle [v_{1},v_{3}]}$, ${\textstyle [v_{2},v_{3}]}$ as an ordered basis of a 3-dimensional vector space,
• the symbols ${\textstyle [v_{1}]}$, ${\textstyle [v_{2}]}$, ${\textstyle [v_{3}]}$ as an ordered basis of a 3-dimensional vector space,

then the map (1), which sends the oriented triangle to a sum of its oriented edges, is represented by the matrix

 $[\partial _{2,1}]=\left({\begin{array}{r}1\\-1\\1\end{array}}\right),$

while the map (2), which sends the oriented edges to sums of their oriented vertices, is represented by the matrix

 $[\partial _{1,0}]=\left({\begin{array}{rrr}-1&-1&0\\1&0&-1\\0&1&1\end{array}}\right).$

### 2.2 Discrete derivative

It has been argued that the DEC discretization of the differential of a function is given by the transpose of the matrix of the boundary operator on edges [6,8]. More precisely, suppose we have a function discretized by its values at the vertices

 $f\sim \left({\begin{array}{l}f_{1}\\f_{2}\\f_{3}\end{array}}\right).$

Its discrete derivative, according to DEC, is

 $\left({\begin{array}{rrr}-1&-1&0\\1&0&-1\\0&1&1\end{array}}\right)^{T}\left({\begin{array}{l}f_{1}\\f_{2}\\f_{3}\end{array}}\right)=\left({\begin{array}{rrr}-1&1&0\\-1&0&1\\0&-1&1\end{array}}\right)\left({\begin{array}{l}f_{1}\\f_{2}\\f_{3}\end{array}}\right)$ $=\left({\begin{array}{l}f_{2}-f_{1}\\f_{3}-f_{1}\\f_{3}-f_{2}\end{array}}\right).$

Indeed, such differences are rough approximations of the directional derivatives of ${\textstyle f}$ along the oriented edges. For instance, ${\textstyle f_{2}-f_{1}}$ is a rough approximation of the directional derivative of ${\textstyle f}$ at ${\textstyle v_{1}}$ in the direction of the vector ${\textstyle v_{2}-v_{1}}$, i.e.

 $f_{2}-f_{1}\approx df_{v_{1}}(v_{2}-v_{1}).$

It is precisely in this sense that, according to DEC,

• the value ${\textstyle f_{2}-f_{1}}$ is assigned to the edge ${\textstyle [v_{1},v_{2}]}$,
• the value ${\textstyle f_{3}-f_{1}}$ is assigned to the edge ${\textstyle [v_{1},v_{3}]}$,
• and the value ${\textstyle f_{3}-f_{2}}$ is assigned to the edge ${\textstyle [v_{2},v_{3}]}$.

Let

 $D_{0}:=\left({\begin{array}{rrr}-1&1&0\\-1&0&1\\0&-1&1\end{array}}\right).$

### 2.3 Dual mesh

The dual mesh of the primal mesh consisting of a single triangle is constructured as follows:

• To the 2-dimensional triangular face ${\textstyle [v_{1},v_{2},v_{3}]}$ will correspond the 0-dimensional point given by the circumcenter ${\textstyle c}$ of the triangle (Figure 2).
• To the 1-dimensional edge ${\textstyle [v_{1},v_{2}]}$ will correspond the 1-dimensional straight line segment ${\textstyle [p_{1},c]}$ joining the midpoint ${\textstyle p_{1}}$ of the edge ${\textstyle [v_{1},v_{2}]}$ to the circumcenter ${\textstyle c}$ (Figure 3). Similarly for the other edges.
• To the 0-dimensional vertex/node ${\textstyle [v_{1}]}$ will correspond the oriented ${\textstyle 2}$-dimensional quadrilateral ${\textstyle [v_{1},p_{1},c,p_{3}]}$ (Figure 4).

### 2.4 Discrete Hodge star

For the Poisson equation in 2D, we need two matrices: one relating original edges to dual edges, and another relating vertices to dual cells.

• The discrete Hodge star map ${\textstyle M_{1}}$ applied to the discrete differential of a discretized function ${\textstyle f\sim (f_{1},f_{2},f_{3})}$ is given as follows:
• the value ${\textstyle f_{2}-f_{1}}$ assigned to the edge ${\textstyle [v_{1},v_{2}]}$ is changed to the new value
 ${{length}[p_{1},c] \over {length}[v_{1},v_{2}]}(f_{2}-f_{1})$

assigned to the segment ${\textstyle [p_{1},c]}$;

• the value ${\textstyle f_{3}-f_{1}}$ assigned to the edge ${\textstyle [v_{1},v_{3}]}$ is changed to the new value
 ${{length}[p_{3},c] \over {length}[v_{1},v_{3}]}(f_{3}-f_{1})$

assigned to the edge ${\textstyle [p_{3},c]}$.

• the value ${\textstyle f_{3}-f_{2}}$ assigned to the edge ${\textstyle [v_{2},v_{3}]}$ is changed to the new value
 ${{length}[p_{2},c] \over {length}[v_{2},v_{3}]}(f_{3}-f_{2})$

assigned to the segment ${\textstyle [p_{2},c]}$;

In other words,

 $M_{1}=\left({\begin{array}{ccc}\displaystyle {{length}[p_{1},c] \over {length}[v_{1},v_{2}]}&0&0\\0&\displaystyle {{length}[p_{3},c] \over {length}[v_{1},v_{3}]}&0\\0&0&\displaystyle {{length}[p_{2},c] \over {length}[v_{2},v_{3}]}\end{array}}\right).$
• Similarly, the discrete Hodge star map ${\textstyle M_{0}}$ on values on vertices is given as follows:
• the value ${\textstyle f_{1}}$ assigned to the vertex ${\textstyle [v_{1}]}$ is changed to the new value
 ${Area}[v_{1},p_{1},c,p_{3}]f_{1}$

assigned to the quadrilateral ${\textstyle [v_{1},p_{1},c,p_{3}]}$;

• the value ${\textstyle f_{2}}$ assigned to the vertex ${\textstyle [v_{2}]}$ is changed to the new value
 ${Area}[v_{2},p_{2},c,p_{1}]f_{2}$

assigned to the quadrilateral ${\textstyle [v_{2},p_{2},c,p_{1}]}$;

• the value ${\textstyle f_{3}}$ assigned to the vertex ${\textstyle [v_{3}]}$ is changed to the new value
 ${Area}[v_{3},p_{3},c,p_{2}]f_{2}$

assigned to the quadrilateral ${\textstyle [v_{3},p_{3},c,p_{2}]}$.

In other words,

 $M_{0}=\left({\begin{array}{ccc}{Area}[v_{1},p_{1},c,p_{3}]&0&0\\0&{Area}[v_{2},p_{2},c,p_{1}]&0\\0&0&{Area}[v_{3},p_{3},c,p_{2}]\end{array}}\right).$

### 2.5 Continuous 1-forms

A differential 1-form ${\textstyle \alpha }$ on ${\textstyle \mathbb {R} ^{2}}$ can be thought of as a function whose arguments are a point in ${\textstyle \mathbb {R} ^{2}}$ and a vector in ${\textstyle \mathbb {R} ^{2}}$, i.e.

 $\alpha :\mathbb {R} ^{2}\times \mathbb {R} ^{2}\longrightarrow \mathbb {R} ,$

and which is linear on the vector argument.

The dot product of ${\textstyle \mathbb {R} ^{2}}$ allows us to see continuous 1-forms in a more familiar form as vector fields in the following way: If ${\textstyle X}$ is a vector field on ${\textstyle \mathbb {R} ^{2}}$, at each point ${\textstyle p\in \mathbb {R} ^{2}}$ we can consider the 1-form

 $(p,Y)\mapsto \alpha (p,Y):=X(p)\cdot Y,$

where ${\textstyle Y\in \mathbb {R} ^{2}}$. On the other hand, from a continuos 1-form we can build a vector field as follows

 $X(p):=\alpha (p,e_{1})e_{1}+\alpha (p,e_{2})e_{2}=(\alpha (p,e_{1}),\alpha (p,e_{2})),$

where

 $e_{1}=\left({\begin{array}{c}1\\0\end{array}}\right)\quad {\mbox{and}}\quad e_{2}=\left({\begin{array}{c}0\\1\end{array}}\right).$

#### 2.5.1 Pullback of a conitnuous 1-form

Given a tensor ${\textstyle S}$ (a linear transformation) and the vector field ${\textstyle X}$ associated to a 1-form ${\textstyle \alpha }$ as above, consider the vector field ${\textstyle S(X)}$. For any vector ${\textstyle Y}$, the value of the corresponding continuous 1-form is given by the product

 $S(X(p))\cdot Y=X(p)\cdot S^{T}Y$ $=\alpha (p,S^{T}Y)$ $=(S^{T})^{*}\alpha (p,Y),$

which is the value of the 1-form called the pullback of $\alpha$ by the tensor $S^{T}$.

#### 2.5.2 Discretization of continuous 1-forms

In order to produce a primal 1-form from such a continuous 1-form we need to inegrate it along the edges of the mesh (the de Rham map). In our local description, this produces a collection of 3 numbers associated to the 3 oriented edges of the triangle, i.e. for the oriented edge joining ${\textstyle v_{i}}$ to ${\textstyle v_{j}}$ we have

 $\alpha _{ij}:=\int _{0}^{1}\alpha (v_{i}+t(v_{j}-v_{i}),v_{j}-v_{i})dt.$

This is equivalent to calculating the line integral (circulation) of the corresponding vector field ${\textstyle X}$ along the path ${\textstyle \gamma _{ij}:=v_{i}+t(v_{j}-v_{i})}$, ${\textstyle 0\leq t\leq 1}$, parametrizing the edge ${\textstyle [v_{i},v_{j}]}$

 $\alpha _{ij}:=\int _{\gamma _{ij}}X.$

## 3. Pullback operator on primal 1-forms

In Section 2, we dealt with the primal discretization of a continuous 1-form. Now we wish to understand the pullback of a primal 1-form. In order to do this, we will interpolate a primal 1-form using the Whitney interpolation forms to produce a continuous 1-form (Whitney map) to which we can apply the pullback operator by a tensor (linear transformation), and then intergrate along the edges (de Rham map).

The Whitney interpolation forms were introduced by Whitney in 1957 , and Bossavit  explained their relevance to “mixed methods” of finite elements. For the sake of simplicity, we will only define the Whitney 0 and 1-forms.

First consider the Finite Element linear basis functions (or Whitney interpolation functions)

 $N_{1}={1 \over 2A}[(y_{2}-y_{3})x+(x_{3}-x_{2})y+x_{2}y_{3}-x_{3}y_{2}],$ $N_{2}={1 \over 2A}[(y_{3}-y_{1})x+(x_{1}-x_{3})y+x_{3}y_{1}-x_{1}y_{3}],$ (3) $N_{3}={1 \over 2A}[(y_{1}-y_{2})x+(x_{2}-x_{1})y+x_{1}y_{2}-x_{2}y_{1}],$

and their differentials

 $dN_{1}={1 \over 2A}[(y_{2}-y_{3})dx+(x_{3}-x_{2})dy],$ $dN_{2}={1 \over 2A}[(y_{3}-y_{1})dx+(x_{1}-x_{3})dy],$ (4) $dN_{3}={1 \over 2A}[(y_{1}-y_{2})dx+(x_{2}-x_{1})dy].$

The Whitney interpolation 1-forms are

 $\phi _{12}=N_{1}dN_{2}-N_{2}dN_{1},$ $\phi _{13}=N_{1}dN_{3}-N_{3}dN_{1},$ (5) $\phi _{23}=N_{2}dN_{3}-N_{3}dN_{2}.$

These differential 1-forms are such that, along the edge ${\textstyle [v_{k},v_{l}]}$

 $\int _{v_{k}}^{v_{l}}\phi _{ij}=\delta _{ik}\delta _{jl}-\delta _{il}\delta _{jk},$

i.e. ${\textstyle 0}$ or ${\textstyle \pm 1}$.

Now, suppose we have a primal 1-form given on our triangle by the collection of numbers

 $\beta _{12},\quad \beta _{13},\quad \beta _{23}.$

We form a continuous 1-form as follows

 $\beta :=\beta _{12}\phi _{12}+\beta _{13}\phi _{13}+\beta _{23}\phi _{23}$

which is such that, for ${\textstyle 1\leq i

 $\int _{v_{i}}^{v_{j}}\beta =\beta _{ij}.$

Now we will calculate

 $\int _{v_{i}}^{v_{j}}S^{*}\beta$

for an arbitrary linear transformation

 $S:=\left({\begin{array}{cc}a&b\\c&d\end{array}}\right)$

Let

 $w_{1}=v_{2}-v_{1},$ $w_{2}=v_{3}-v_{1},$ $w_{3}=v_{3}-v_{2},$

and

 $\eta _{1}=(y_{2}-y_{3})dx+(x_{3}-x_{2})dy\quad =\quad 2A\,\,dN_{1}\quad =\quad \left|{\begin{array}{cc}x_{3}-x_{2}&y_{3}-y_{2}\\dx&dy\end{array}}\right|,$ $\eta _{2}=(y_{3}-y_{1})dx+(x_{1}-x_{3})dy\quad =\quad 2A\,\,dN_{2}\quad =\quad \left|{\begin{array}{cc}x_{1}-x_{3}&y_{1}-y_{3}\\dx&dy\end{array}}\right|,$ $\eta _{3}=(y_{1}-y_{2})dx+(x_{2}-x_{1})dy\quad =\quad 2A\,\,dN_{3}\quad =\quad \left|{\begin{array}{cc}x_{2}-x_{1}&y_{2}-y_{1}\\dx&dy\end{array}}\right|.$

As it turns out,

 $(S^{*}\beta )_{12}=\int _{v_{1}}^{v_{2}}S^{*}\beta$ $={1 \over 4A}\left[(\eta _{2}(S(w_{1}))-\eta _{1}(S(w_{1})))\beta _{12}+\eta _{3}(S(w_{1}))\beta _{13}+\eta _{3}(S(w_{1}))\beta _{23}\right],$ $(S^{*}\beta )_{13}=\int _{v_{1}}^{v_{3}}S^{*}\beta$ $={1 \over 4A}\left[\eta _{2}(S(w_{2}))\beta _{12}+(\eta _{3}(S(w_{2}))-\eta _{1}(S(w_{2})))\beta _{13}-\eta _{2}(S(w_{2}))\beta _{23}\right],$ $(S^{*}\beta )_{23}=\int _{v_{2}}^{v_{3}}S^{*}\beta$ $={1 \over 4A}\left[-\eta _{1}(S(w_{3}))\beta _{12}-\eta _{1}(S(w_{3}))\beta _{13}(\eta _{3}(S(w_{3}))-\eta _{2}(S(w_{3})))\beta _{23}\right],$

where

 $\eta _{1}(S(w_{1}))=\left|{\begin{array}{cc}x_{3}-x_{2}&y_{3}-y_{2}\\a(x_{2}-x_{1})+b(y_{2}-y_{1})&c(x_{2}-x_{1})+d(y_{2}-y_{1})\end{array}}\right|,$ $\eta _{1}(S(w_{2}))=\left|{\begin{array}{cc}x_{3}-x_{2}&y_{3}-y_{2}\\a(x_{3}-x_{1})+b(y_{3}-y_{1})&c(x_{3}-x_{1})+d(y_{3}-y_{1})\end{array}}\right|,$ $\eta _{1}(S(w_{3}))=\left|{\begin{array}{cc}x_{3}-x_{2}&y_{3}-y_{2}\\a(x_{3}-x_{2})+b(y_{3}-y_{2})&c(x_{3}-x_{2})+d(y_{3}-y_{2})\end{array}}\right|,$ $\eta _{2}(S(w_{1}))=\left|{\begin{array}{cc}x_{1}-x_{3}&y_{1}-y_{3}\\a(x_{2}-x_{1})+b(y_{2}-y_{1})&c(x_{2}-x_{1})+d(y_{2}-y_{1})\end{array}}\right|,$ $\eta _{2}(S(w_{2}))=\left|{\begin{array}{cc}x_{1}-x_{3}&y_{1}-y_{3}\\a(x_{3}-x_{1})+b(y_{3}-y_{1})&c(x_{3}-x_{1})+d(y_{3}-y_{1})\end{array}}\right|,$ $\eta _{2}(S(w_{3}))=\left|{\begin{array}{cc}x_{1}-x_{3}&y_{1}-y_{3}\\a(x_{3}-x_{2})+b(y_{3}-y_{2})&c(x_{3}-x_{2})+d(y_{3}-y_{2})\end{array}}\right|,$ $\eta _{3}(S(w_{1}))=\left|{\begin{array}{cc}x_{2}-x_{1}&y_{2}-y_{1}\\a(x_{2}-x_{1})+b(y_{2}-y_{1})&c(x_{2}-x_{1})+d(y_{2}-y_{1})\end{array}}\right|,$ $\eta _{3}(S(w_{2}))=\left|{\begin{array}{cc}x_{2}-x_{1}&y_{2}-y_{1}\\a(x_{3}-x_{1})+b(y_{3}-y_{1})&c(x_{3}-x_{1})+d(y_{3}-y_{1})\end{array}}\right|,$ $\eta _{3}(S(w_{3}))=\left|{\begin{array}{cc}x_{2}-x_{1}&y_{2}-y_{1}\\a(x_{3}-x_{2})+b(y_{3}-y_{2})&c(x_{3}-x_{2})+d(y_{3}-y_{2})\end{array}}\right|.$

Anyhow, these quantities are areas of the parallelograms formed by one fixed edge of the original triangle and one edge transformed by ${\textstyle S}$.

Thus, we have that the induced transformation on primal 1-forms is

 $S^{*}\beta ={1 \over 4A}\left({\begin{array}{ccc}\eta _{2}(S(w_{1}))-\eta _{1}(S(w_{1}))&\eta _{3}(S(w_{1}))&\eta _{3}(S(w_{1}))\\\eta _{2}(S(w_{2}))&\eta _{3}(S(w_{2}))-\eta _{1}(S(w_{2}))&-\eta _{2}(S(w_{2}))\\-\eta _{1}(S(w_{3}))&-\eta _{1}(S(w_{3}))&\eta _{3}(S(w_{3}))-\eta _{2}(S(w_{3}))\end{array}}\right)\left({\begin{array}{c}\beta _{12}\\\beta _{13}\\\beta _{23}\end{array}}\right)$
(6)

When the material is isotropic, i.e. ${\textstyle S}$ is a constant multiple of the ${\textstyle 2\times 2}$ identity matrix, we get a constant multiple of the ${\textstyle 3\times 3}$ identity matrix above as discrete pull-back operator.

## 4. Flux and anisotropy

In this section, we deduce the DEC formulae for the local flux, the local anisotropic flux and the local anisotropy operator for primal 1-forms.

### 4.1 The flux in local DEC

We wish to find a natural construction for the discrete flux (discrete gradient vector) of a discrete function. Recall from Vector Calculus that the directional derivative of a differentiable function ${\textstyle f:\mathbb {R} ^{2}\longrightarrow \mathbb {R} }$ at a point ${\textstyle p\in \mathbb {R} ^{2}}$ in the direction of ${\textstyle w\in \mathbb {R} ^{2}}$ is defined by

 $df_{p}(w):=\lim _{t\rightarrow 0}{f(p+tw)-f(p) \over t}=\nabla f(p)\cdot w.$

Thus, we have three Vector Calculus identities

 $df_{v_{1}}(v_{2}-v_{1})=\nabla f(v_{1})\cdot (v_{2}-v_{1}),$ $df_{v_{2}}(v_{3}-v_{2})=\nabla f(v_{2})\cdot (v_{3}-v_{2}),$ $df_{v_{3}}(v_{1}-v_{3})=\nabla f(v_{3})\cdot (v_{1}-v_{3}).$

As in Subsection 2.2, the rough approximations to directional derivatives of a function ${\textstyle f}$ in the directions of the (oriented) edges are given as follows

 $df_{v_{1}}(v_{2}-v_{1})\approx f_{2}-f_{1},$ $df_{v_{2}}(v_{3}-v_{2})\approx f_{3}-f_{2},$ $df_{v_{3}}(v_{1}-v_{3})\approx f_{1}-f_{3}.$

Thus, if we want to find a discrete gradient vector ${\textstyle W_{1}}$ of ${\textstyle f}$ at the point ${\textstyle v_{1}}$, we need to solve the equations

 $W_{1}\cdot (v_{2}-v_{1})=f_{2}-f_{1}$ (7) $W_{1}\cdot (v_{3}-v_{1})=f_{3}-f_{1}.$ (8)

If

 $v_{1}=(x_{1},y_{1}),$ $v_{2}=(x_{2},y_{2}),$ $v_{3}=(x_{3},y_{3}),$

then

 $W_{1}=\left({f_{1}y_{2}-f_{1}y_{3}-f_{2}y_{1}+f_{2}y_{3}+f_{3}y_{1}-f_{3}y_{2} \over x_{1}y_{2}-x_{1}y_{3}-x_{2}y_{1}+x_{2}y_{3}+x_{3}y_{1}-x_{3}y_{2}},-{f_{1}x_{2}-f_{1}x_{3}-f_{2}x_{1}+f_{2}x_{3}+f_{3}x_{1}-f_{3}x_{2} \over x_{1}y_{2}-x_{1}y_{3}-x_{2}y_{1}+x_{2}y_{3}+x_{3}y_{1}-x_{3}y_{2}}\right)^{T}$

Now, if we were to find a discrete gradient vector ${\textstyle W_{2}}$ of ${\textstyle f}$ at the point ${\textstyle v_{2}}$, we need to solve the equations

 $W_{2}\cdot (v_{1}-v_{2})=f_{1}-f_{2}$ (9) $W_{2}\cdot (v_{3}-v_{2})=f_{3}-f_{2}.$

The vectors ${\textstyle W_{2}}$ solving these equations is actually equal to ${\textstyle W_{1}}$. Indeed, consider

 $f_{3}-f_{1}=W_{1}\cdot (v_{3}-v_{1})$ $=W_{1}\cdot (v_{3}-v_{2}+v_{2}-v_{1})$ $=W_{1}\cdot (v_{3}-v_{2})+W_{1}\cdot (v_{2}-v_{1})$ $=W_{1}\cdot (v_{3}-v_{2})+f_{2}-f_{1},$

so that

 $W_{1}\cdot (v_{3}-v_{2})=f_{3}-f_{2}.$
(10)

Thus, adding up (7) and (9) we get

 $(W_{1}-W_{2})\cdot (v_{2}-v_{1})=0.$
(11)

Subtracting (8) from (10) we get

 $(W_{1}-W_{2})\cdot (v_{3}-v_{2})=0.$
(12)

Since ${\textstyle v_{2}-v_{1}}$ and ${\textstyle v_{3}-v_{2}}$ are linearly independent and the two inner products in (11) and (12) vanish,

 $W_{1}-W_{2}=0.$

Analogously, the corresponding gradient vector ${\textstyle W_{3}}$ of ${\textstyle f}$ at the vertex ${\textstyle v_{3}}$ is equal to ${\textstyle W_{1}}$. This means that the three approximate gradient vectors at the three vertices coincide, i.e. we have a unique discrete flux vector ${\textstyle W=W_{1}=W_{2}=W_{3}}$ on the given element. Note that the discrete flux ${\textstyle W}$ satisfies

 $W\cdot (v_{2}-v_{1})=f_{2}-f_{1},$ $W\cdot (v_{3}-v_{1})=f_{3}-f_{1},$ $W\cdot (v_{3}-v_{2})=f_{3}-f_{2}.$

This means that the primal 1-form discretizing ${\textstyle df}$ can be obtained by performing the dot products of the discrete flux vector ${\textstyle W}$ with the vectors given by the triangle's oriented edges.

#### 4.1.1 Comparison of DEC and FEML local fluxes

The local flux (gradient) of ${\textstyle f}$ in FEML is given by

 $\left({\begin{array}{ccc}\displaystyle {\partial N_{1} \over \partial x}&\displaystyle \displaystyle {\partial N_{2} \over \partial x}&\displaystyle {\partial N_{3} \over \partial x}\\\displaystyle {\partial N_{1} \over \partial y}&\displaystyle {\partial N_{2} \over \partial y}&\displaystyle {\partial N_{3} \over \partial y}\end{array}}\right)\left({\begin{array}{c}f_{1}\\f_{2}\\f_{3}\end{array}}\right),$

where ${\textstyle N_{1},N_{2}}$ and ${\textstyle N_{3}}$ are the basis functions given in (3). Explicitly

 $\left({\begin{array}{ccc}\displaystyle {\partial N_{1} \over \partial x}&\displaystyle {\partial N_{2} \over \partial x}&\displaystyle {\partial N_{3} \over \partial x}\\\displaystyle {\partial N_{1} \over \partial y}&\displaystyle {\partial N_{2} \over \partial y}&\displaystyle {\partial N_{3} \over \partial y}\end{array}}\right)={1 \over 2A}\left({\begin{array}{ccc}y_{2}-y_{3}&y_{3}-y_{1}&y_{1}-y_{2}\\x_{3}-x_{2}&x_{1}-x_{3}&x_{2}-x_{1}\end{array}}\right)$

where

 $A={1 \over 2}[(x_{2}y_{3}-x_{3}y_{2})-(x_{1}y_{3}-x_{3}y_{1})+(x_{1}y_{2}-x_{2}y_{1})]$

is the area of the triangle, so that the FEML flux is given by

 $\left({[(y_{2}-y_{3})f_{1}+(y_{3}-y_{1})f_{2}+(y_{1}-y_{2})f_{3}] \over 2A},{[(x_{3}-x_{2})f_{1}+(x_{1}-x_{3})f_{2}+(x_{2}-x_{1})f_{3}] \over 2A}\right)^{T},$

and we can see that it coincides with the DEC flux.

### 4.2 The anisotropic flux vector in local DEC

We will now discuss how to discretize anisotropy in 2D DEC. Let ${\textstyle K}$ denote the symmetric anisotropy tensor

 $K=\left({\begin{array}{cc}k_{11}&k_{12}\\k_{12}&k_{22}\end{array}}\right)$

and recall the anisotropic Poisson equation

 $-\nabla \cdot (K\,\nabla f)=q.$

First recall that, in Exterior Differential Calculus, for any ${\textstyle w\in \mathbb {R} ^{2}}$,

 $(K\nabla f(p))\cdot w=\nabla f(p)\cdot (K^{T}w)=\nabla f(p)\cdot (Kw)$ $=df_{p}(Kw)=(df_{p}\circ K)(w)=:(K^{*}df_{p})(w),$

where ${\textstyle K^{*}df_{p}}$ is the pullback of ${\textstyle df_{p}}$ by ${\textstyle K}$.

Since we already have a discrete candidate ${\textstyle W}$ for ${\textstyle \nabla f}$ on the given element, the product of the matrix ${\textstyle K}$ and ${\textstyle W}$ gives us a candidate ${\textstyle W':=KW}$ for the anisptropic flux vector on such an element

 $W':=KW=\left({\begin{array}{cc}k_{11}&k_{12}\\k_{12}&k_{22}\end{array}}\right)\left({\begin{array}{c}{[(y_{2}-y_{3})f_{1}+(y_{3}-y_{1})f_{2}+(y_{1}-y_{2})f_{3}] \over 2A}\\{[(x_{3}-x_{2})f_{1}+(x_{1}-x_{3})f_{2}+(x_{2}-x_{1})f_{3}] \over 2A}\end{array}}\right)$ $=\left({\begin{array}{c}{k_{11}[f_{1}(y_{2}-y_{3})+f_{2}(y_{3}-y_{1})+f_{3}(y_{1}-y_{2})]+k_{12}[f_{1}(x_{3}-x_{2})+f_{2}(x_{1}-x_{3})+f_{3}(x_{2}-x_{1})] \over x_{1}y_{2}-x_{1}y_{3}-x_{2}y_{1}+x_{2}y_{3}+x_{3}y_{1}-x_{3}y_{2}}\\{k_{12}[f_{1}(y_{2}-y_{3})+f_{2}(y_{3}-y_{1})+f_{3}(y_{1}-y_{2})]+k_{22}[f_{1}(x_{3}-x_{2})+f_{2}(x_{1}-x_{3})+f_{3}(x_{2}-x_{1})] \over x_{1}y_{2}-x_{1}y_{3}-x_{2}y_{1}+x_{2}y_{3}+x_{3}y_{1}-x_{3}y_{2}}\end{array}}\right).$

In order to produce a primal 1-form from ${\textstyle W'}$, all we have to do is assume that ${\textstyle K}$ is constant on the given triangle and take dot products with the edges of the triangle, i.e.

 $\left({\begin{array}{c}W'\cdot w_{1}\\W'\cdot w_{2}\\W'\cdot w_{3}\end{array}}\right).$

Nevertheless, in order to better understand the structure of the local system (as in FEML), it is desirable to have a factorization of the result as a matrix product

 $\left({\begin{array}{c}W'\cdot w_{1}\\W'\cdot w_{2}\\W'\cdot w_{3}\end{array}}\right)=K^{DEC}D_{0}\left({\begin{array}{l}f_{1}\\f_{2}\\f_{3}\end{array}}\right)$

where the matrix ${\textstyle K^{DEC}}$ is a real ${\textstyle 3\times 3}$ matrix depending on the geometry of the triangle and the matrix ${\textstyle K}$, and such that it is a multiple of the identity matrix when the domain is isotropic. In order to do this, we will use the discretization of the pullback opertator of Exterior Differential Calculus for arbitrary 1-forms from Section 3. Thus, using (6), ${\textstyle K^{DEC}}$ is the following ${\textstyle 3\times 3}$ matrix where we have set ${\textstyle S=K}$, i.e.

 $K^{DEC}={1 \over 4A}\left({\begin{array}{ccc}\eta _{21}^{K}-\eta _{11}^{K}&\eta _{31}^{K}&\eta _{31}^{K}\\\eta _{22}^{K}&\eta _{32}^{K}-\eta _{12}^{K}&-\eta _{22}^{K}\\-\eta _{13}^{K}&-\eta _{13}^{K}&\eta _{33}^{K}-\eta _{23}^{K}\end{array}}\right)$

where

 $\eta _{kl}^{K}=\eta _{k}(K(w_{l})).$

#### 4.2.1 Geometric interpretation of the entries of $K^{DEC}$4.2.1 Geometric interpretation of the entries of K D E C {\displaystyle K^{DEC}}

Consider the Figure 5, where ${\textstyle J}$ denotes the ${\textstyle 90^{\circ }}$ anti-clockwise rotation

 $J=\left({\begin{array}{cc}0&-1\\1&0\end{array}}\right).$ Figure 5. Geometric interpretation of the entries of the anisotropy tensor discretization

We have

 $\eta _{21}^{K}=-{J(w_{2})\cdot K(w_{1}) \over 2A}=-{1 \over 2A}|J(w_{2})||K(w_{1})|\cos(\beta )$ $=-{1 \over 2A}|w_{2}||K(w_{1})|\cos(\alpha {+\pi }/2)={1 \over 2A}|w_{2}||K(w_{1})|\sin(\alpha )={A' \over A},$

where ${\textstyle A'}$ is the area of the red triangle. Thus, the numbers ${\textstyle \eta _{kl}^{K}}$ are quotients of areas of transformed triangles divided by the area of the original triangle.

## 5. Anisotropic Poisson equation in 2D

In this section, we describe the local DEC discretization of the 2D anisotropic Poisson equation and compare it to that of FEML.

### 5.1 Local DEC discretization of the 2D anisotropic Poisson equation

The anisotropic Poisson equation reads as follows

 $-\nabla \cdot (K\,\nabla f)=q,$

where ${\textstyle f}$ and ${\textstyle q}$ are two functions on a certain domain in ${\textstyle \mathbb {R} ^{2}}$ and ${\textstyle K}$ is the anisotropy tensor. In terms of the exterior derivative ${\textstyle d}$ and the Hodge star operator ${\textstyle \star }$ it reads as follows

 $-\star d\star (K^{*}df)=q$

where ${\textstyle K^{*}df:=df\circ K}$ and ${\textstyle K=K^{T}}$. Following the discretization of the discretized divergence operator , the corresponding local DEC discretization of the anisotropic Poisson equation is

 $-M_{0}^{-1}\,\left(-D_{0}^{T}\right)\,M_{1}\,K^{DEC}\,D_{0}\,[f]=[q],$

or equivalently

 $D_{0}^{T}\,M_{1}\,K^{DEC}\,D_{0}\,[f]=M_{0}\,[q].$
(13)

In order to simplify the notation, consider the lengths and areas defined in the Figure 6.

Now, the discretized equation (13) looks as follows:

 ${1 \over 4A}\left({\begin{array}{ccc}1&-1&0\\-1&0&-1\\0&1&1\end{array}}\right)\left({\begin{array}{ccc}{l_{1} \over L_{1}}&0&0\\0&{l_{3} \over L_{3}}&0\\0&0&{l_{2} \over L_{2}}\end{array}}\right)\left({\begin{array}{ccc}\eta _{21}^{K}-\eta _{11}^{K}&\eta _{31}^{K}&\eta _{31}^{K}\\\eta _{22}^{K}&\eta _{32}^{K}-\eta _{12}^{K}&-\eta _{22}^{K}\\-\eta _{13}^{K}&-\eta _{13}^{K}&\eta _{33}^{K}-\eta _{23}^{K}\end{array}}\right)\left({\begin{array}{rrr}-1&1&0\\-1&0&1\\0&-1&1\end{array}}\right)\left({\begin{array}{c}f_{1}\\f_{2}\\f_{3}\end{array}}\right)=\left({\begin{array}{c}A_{1}q_{1}\\A_{2}q_{2}\\A_{3}q_{3}\end{array}}\right).$

The diffusive term matrix is actually symmetric (see Subsection 5.3.1).

### 5.2 Local FEML-Discretized 2D anisotropic Poisson equation

The diffusive elemental matrix in FEM (frequently called “stiffness matrix”) on an element ${\textstyle e}$ is given by

 $K_{e}=\int B^{t}DBdA,$

where ${\textstyle D=K}$ is the matrix representing the anisotropic diffusion tensor, and the matrix ${\textstyle B}$ is given explicitly by

 $B=\left({\begin{array}{ccc}\displaystyle {\partial N_{1} \over \partial x}&\displaystyle {\partial N_{2} \over \partial x}&\displaystyle {\partial N_{3} \over \partial x}\\\displaystyle {\partial N_{1} \over \partial y}&\displaystyle {\partial N_{2} \over \partial y}&\displaystyle {\partial N_{3} \over \partial y}\end{array}}\right)={1 \over 2A}\left({\begin{array}{ccc}y_{2}-y_{3}&y_{3}-y_{1}&y_{1}-y_{2}\\x_{3}-x_{2}&x_{1}-x_{3}&x_{2}-x_{1}\end{array}}\right).$

Since the matrix ${\textstyle B}$ is constant on an element of the mesh, the integral is easy to compute. Thus, the difussive matrix ${\textstyle K_{e}}$ for a linear triangular element (FEML) is given by

 $K_{e}=\int B^{T}DBdA=B^{T}DBA_{e}$ $={1 \over 4A_{e}}\left({\begin{array}{ccc}y_{2}-y_{3}&x_{3}-x_{2}\\y_{3}-y_{1}&x_{1}-x_{3}\\y_{1}-y_{2}&x_{2}-x_{1}\end{array}}\right)\left({\begin{array}{cc}k_{11}&k_{12}\\k_{12}&k_{22}\end{array}}\right)\left({\begin{array}{ccc}y_{2}-y_{3}&y_{3}-y_{1}&y_{1}-y_{2}\\x_{3}-x_{2}&x_{1}-x_{3}&x_{2}-x_{1}\end{array}}\right)$

Now, let us consider the first diagonal entry of the local FEML anisotropic Poisson diffusive matrix ${\textstyle K_{e}}$,

 $(K_{e})_{11}={1 \over 4A}(k_{11}(y_{2}-y_{3})^{2}+(k_{12}+k_{12})(y_{2}-y_{3})(x_{3}-x_{2})+k_{22}(x_{3}-x_{2})^{2})$ $={1 \over 4A}({\begin{array}{cc}-(y_{3}-y_{2}),&x_{3}-x_{2}\end{array}})\left({\begin{array}{cc}k_{11}&k_{12}\\k_{12}&k_{22}\end{array}}\right)\left({\begin{array}{c}-(y_{3}-y_{2})\\x_{3}-x_{2}\end{array}}\right)$ $={1 \over 4A}({\begin{array}{cc}x_{3}-x_{2},&y_{3}-y_{2}\end{array}})\left({\begin{array}{cc}0&1\\-1&0\end{array}}\right)\left({\begin{array}{cc}k_{11}&k_{12}\\k_{12}&k_{22}\end{array}}\right)\left({\begin{array}{cc}0&-1\\1&0\end{array}}\right)\left({\begin{array}{c}x_{3}-x_{2}\\y_{3}-y_{2}\end{array}}\right)$ $={1 \over 4A}(J(v_{3}-v_{2}))^{T}KJ(v_{3}-v_{2})={1 \over 4A}J(v_{3}-v_{2})\cdot K(J(v_{3}-v_{2})),$

where ${\textstyle J}$ is the ${\textstyle 90^{\circ }}$ anticlockwise rotation,

 $J=\left({\begin{array}{cc}0&-1\\1&0\end{array}}\right).$

In this notation, the diffusive term in local FEML is given as follows

 ${1 \over 4A}\left({\begin{array}{ccc}J(v_{3}-v_{2})\cdot K(J(v_{3}-v_{2}))&J(v_{3}-v_{2})\cdot K(J(v_{1}-v_{3}))&J(v_{3}-v_{2})\cdot K(J(v_{2}-v_{1}))\\J(v_{1}-v_{3})\cdot K(J(v_{3}-v_{2}))&J(v_{1}-v_{3})\cdot K(J(v_{1}-v_{3}))&J(v_{1}-v_{3})\cdot K(J(v_{2}-v_{1}))\\J(v_{2}-v_{1})\cdot K(J(v_{3}-v_{2}))&J(v_{2}-v_{1})\cdot K(J(v_{1}-v_{3}))&J(v_{2}-v_{1})\cdot K(J(v_{2}-v_{1}))\end{array}}\right).$

### 5.3 Comparison between local DEC and FEML discretizations

For the sake of brevity, we are only going to compare the entries of the first row and first column of each formulation. Consider the various lengths, areas and angles labeled in Figures 6 and 7.

We have the following identities:

 $\pi =2(\alpha _{1}+\alpha _{2}+\alpha _{3}),$ ${2l_{i} \over L_{i}}=\tan(\alpha _{i}),$ ${l_{i} \over R}=\sin(\alpha _{i}),$ ${L_{i} \over 2R}=\cos(\alpha _{i}),$ $A_{1}={L_{1}l_{1} \over 4}+{L_{3}l_{3} \over 4},$ $A_{2}={L_{1}l_{1} \over 4}+{L_{2}l_{2} \over 4},$ $A_{3}={L_{2}l_{2} \over 4}+{L_{3}l_{3} \over 4}.$

#### 5.3.1 The diffusive term

For instance, we claim that

 ${J(v_{3}-v_{2})\cdot K(J(v_{3}-v_{2})) \over 4A}={1 \over 4A}\left({l_{1}(\eta _{3,1}^{K}+\eta _{2,1}^{K}-\eta _{1,1}^{K}) \over L_{1}}+{l_{3}(\eta _{3,2}^{K}+\eta _{2,2}^{K}-\eta _{1,2}^{K}) \over L_{3}}\right)$

Indeed,

 $\eta _{3,1}^{K}+\eta _{2,1}^{K}-\eta _{1,1}^{K}=\left|{\begin{array}{cc}x_{2}-x_{1}&y_{2}-y_{1}\\dx(K(w_{1}))&dy(K(w_{1}))\end{array}}\right|+\left|{\begin{array}{cc}x_{1}-x_{3}&y_{1}-y_{3}\\dx(K(w_{1}))&dy(K(w_{1}))\end{array}}\right|-\left|{\begin{array}{cc}x_{3}-x_{2}&y_{3}-y_{2}\\dx(K(w_{1}))&dy(K(w_{1}))\end{array}}\right|$ $=-2\left|{\begin{array}{cc}x_{3}-x_{2}&y_{3}-y_{2}\\dx(K(w_{1}))&dy(K(w_{1}))\end{array}}\right|=-2J(v_{3}-v_{2})\cdot K(v_{2}-v_{1})$ $\eta _{3,2}^{K}+\eta _{2,2}^{K}-\eta _{1,2}^{K}=\left|{\begin{array}{cc}x_{2}-x_{1}&y_{2}-y_{1}\\dx(K(w_{2}))&dy(K(w_{2}))\end{array}}\right|+\left|{\begin{array}{cc}x_{1}-x_{3}&y_{1}-y_{3}\\dx(K(w_{2}))&dy(K(w_{2}))\end{array}}\right|-\left|{\begin{array}{cc}x_{3}-x_{2}&y_{3}-y_{2}\\dx(K(w_{2}))&dy(K(w_{2}))\end{array}}\right|$ $=-2\left|{\begin{array}{cc}x_{3}-x_{2}&y_{3}-y_{2}\\dx(K(w_{2}))&dy(K(w_{2}))\end{array}}\right|=-2J(v_{3}-v_{2})\cdot K(v_{3}-v_{1})$

Thus,

 ${\begin{array}{l}&\displaystyle {1 \over 4A}\left(\displaystyle {l_{1}(\eta _{3,1}^{K}+\eta _{2,1}^{K}-\eta _{1,1}^{K}) \over L_{1}}+\displaystyle {l_{3}(\eta _{3,2}^{K}+\eta _{2,2}^{K}-\eta _{1,2}^{K}) \over L_{3}}\right)=\\&\qquad =-\displaystyle {1 \over 2A}\left(\displaystyle {l_{1} \over L_{1}}J(v_{3}-v_{2})\cdot K(v_{2}-v_{1})+\displaystyle {l_{1} \over L_{1}}J(v_{3}-v_{2})\cdot K(v_{3}-v_{1})\right)\\&\qquad =\displaystyle {J(v_{3}-v_{2})\cdot K(v_{1}-v_{3}) \over 2A}{\tan(\alpha _{3}) \over 2}-\displaystyle {J(v_{3}-v_{2})\cdot K(v_{2}-v_{1}) \over 2A}\displaystyle {\tan(\alpha _{1}) \over 2}\\&\qquad =\displaystyle {1 \over 4A}J(v_{3}-v_{2})\cdot K((v_{1}-v_{3})\tan(\alpha _{3})-(v_{2}-v_{1})\tan(\alpha _{1})).\end{array}}$

All we have to do now is show that

 $(v_{1}-v_{3})\tan(\alpha _{3})-(v_{2}-v_{1})\tan(\alpha _{1})=J(v_{3}-v_{2}).$

Note that, since ${\textstyle J(v_{3}-v_{2})}$ is orthogonal to ${\textstyle v_{3}-v_{2}}$, ${\textstyle J(v_{3}-v_{2})}$ must be parallel to ${\textstyle c-{v_{2}+v_{3} \over 2}}$. Thus,

 $J(v_{3}-v_{2})={L_{2} \over l_{2}}\left(c-{v_{2}+v_{3} \over 2}\right).$
(14)

Now we are going to express ${\textstyle c}$ in terms of ${\textstyle v_{1},v_{2},v_{3}}$. Let us consider

 $c-v_{1}=a(v_{2}-v_{1})+b(v_{3}-v_{1})$

where ${\textstyle a,b}$ are coefficients to be determined. Taking inner products with ${\textstyle (v_{2}-v_{1})}$ and ${\textstyle (v_{3}-v_{1})}$ we get the two equations

 $R\cos(\alpha _{1})=aL_{1}+bL_{3}\cos(\alpha _{1}+\alpha _{3}),$ $R\cos(\alpha _{3})=aL_{1}\cos(\alpha _{1}+\alpha _{3})+bL_{3}.$

Solving for ${\textstyle a}$ and ${\textstyle b}$

 $a={\sin(\alpha _{3}) \over 2\cos(\alpha _{1})\sin(\alpha _{1}+\alpha _{3})},$ $b={\sin(\alpha _{1}) \over 2\cos(\alpha _{3})\sin(\alpha _{1}+\alpha _{3})}.$

Substituting all the relevant quantities in (14) we have, for instance, that the coefficient of ${\textstyle (v_{2}-v_{1})}$ is

 $2{\cos(\alpha _{2}) \over \sin(\alpha _{2})}\left({\sin(\alpha _{3}) \over 2\cos(\alpha _{1})\sin(\alpha _{1}+\alpha _{3})}-{1 \over 2}\right)={\cos(\alpha _{2}) \over \sin(\alpha _{2})}\left({\sin(\alpha _{3})-\cos(\alpha _{1})\sin(\alpha _{1}+\alpha _{3}) \over \cos(\alpha _{1})\sin(\alpha _{1}+\alpha _{3})}\right)$ $={\cos(\alpha _{2}) \over \sin(\alpha _{2})}\left({\sin(\alpha _{3})-\cos(\alpha _{1})(\sin(\alpha _{1})\cos(\alpha _{3})+\sin(\alpha _{3})\cos(\alpha _{1})) \over \cos(\alpha _{1})\sin(\pi /2-\alpha _{2})}\right)$ $={\sin(\alpha _{1}) \over \sin(\alpha _{2})}\left({\sin(\alpha _{3})\sin(\alpha _{1})-\cos(\alpha _{1})\cos(\alpha _{3}) \over \cos(\alpha _{1})}\right)$ $=\tan(\alpha _{1}){-\cos(\alpha _{1}+\alpha _{3}) \over \sin(\alpha _{2})}=\tan(\alpha _{1}){-\cos(\pi /2-\alpha _{2}) \over \sin(\alpha _{2})}$ $=\tan(\alpha _{1}){-\sin(\alpha _{2}) \over \sin(\alpha _{2})}=-\tan(\alpha _{1}),$

and similarly for the coefficient of ${\textstyle (v_{1}-v_{3})}$. The calculations for the remaining entries are similar.

Thus, the local DEC and FEML diffusive terms of the 2D anisotropic Poisson equation coincide.

#### 5.3.2 The source term

As already observed in , the right hand sides of the local DEC and FEML systems are different

 $\left({\begin{array}{c}A_{1}q_{1}\\A_{2}q_{2}\\A_{3}q_{3}\end{array}}\right)\not ={A \over 3}\left({\begin{array}{l}q_{1}\\q_{2}\\q_{3}\end{array}}\right).$

While FEML uses a barycentric subdivision to calculate the areas associated to each node/vertex, DEC uses a circumcentric subdivision. Eventually, this leads the DEC discretization to a better approximation of the solution (on coarse meshes).

## 6. Some remarks about DEC quantities

### 6.1 The discrete Hodge star quantities revisited

The numbers appearing in the local DEC matrices can be expressed both in terms of determinants and in terms of trigonometric functions. More precisely,

 $A_{1}={1 \over 4}\left[\det \left({\begin{array}{ccc}x_{1}&y_{1}&1\\x_{c}&y_{c}&1\\x_{2}&y_{2}&1\end{array}}\right)+\det \left({\begin{array}{ccc}x_{3}&y_{3}&1\\x_{c}&y_{c}&1\\x_{1}&y_{1}&1\end{array}}\right)\right]\quad =\quad {R^{2} \over 4}(\sin(2\alpha _{1})+\sin(2\alpha _{3})),$ $A_{2}={1 \over 4}\left[\det \left({\begin{array}{ccc}x_{1}&y_{1}&1\\x_{c}&y_{c}&1\\x_{2}&y_{2}&1\end{array}}\right)+\det \left({\begin{array}{ccc}x_{2}&y_{2}&1\\x_{c}&y_{c}&1\\x_{3}&y_{3}&1\end{array}}\right)\right]\quad =\quad {R^{2} \over 4}(\sin(2\alpha _{1})+\sin(2\alpha _{2})),$ $A_{3}={1 \over 4}\left[\det \left({\begin{array}{ccc}x_{2}&y_{2}&1\\x_{c}&y_{c}&1\\x_{3}&y_{3}&1\end{array}}\right)+\det \left({\begin{array}{ccc}x_{3}&y_{3}&1\\x_{c}&y_{c}&1\\x_{1}&y_{1}&1\end{array}}\right)\right]\quad =\quad {R^{2} \over 4}(\sin(2\alpha _{2})+\sin(2\alpha _{3})),$ ${l_{1} \over L_{1}}={1 \over L_{1}^{2}}\det \left({\begin{array}{ccc}x_{1}&y_{1}&1\\x_{c}&y_{c}&1\\x_{2}&y_{2}&1\end{array}}\right)\quad =\quad {\tan(\alpha _{1}) \over 2},$ ${l_{2} \over L_{2}}={1 \over L_{2}^{2}}\det \left({\begin{array}{ccc}x_{2}&y_{2}&1\\x_{c}&y_{c}&1\\x_{3}&y_{3}&1\end{array}}\right)\quad =\quad {\tan(\alpha _{2}) \over 2},$ ${l_{3} \over L_{3}}={1 \over L_{3}^{2}}\det \left({\begin{array}{ccc}x_{3}&y_{3}&1\\x_{c}&y_{c}&1\\x_{1}&y_{1}&1\end{array}}\right)\quad =\quad {\tan(\alpha _{3}) \over 2}.$

These expressions are valid regardless of the location of the circumcenter and can, indeed, take negative values. The angles that are measured in the scheme can be negative as in the obtuse triangle of Figure 8.

and some quantities can even be zero. For instance, if

 $\alpha _{2}={\pi \over 2}-2\alpha _{1},$

then

 $A_{1}=0.$

### 6.2 Area weights assigned to vertices

In order to understand how local DEC assigns area weights to vertices differently from FEML, let us consider the obtuse triangle shown in Figure 8. Let ${\textstyle p_{1},p_{2},p_{3}}$ be the middle points of the segments ${\textstyle [v_{1},v_{2}],[v_{1},v_{3}],[v_{2},v_{3}]}$ respectively. As shown in Figure 9, the triangle ${\textstyle [v_{1},p_{3},c]}$ lies completely outside of the triangle ${\textstyle [v_{1},v_{2},v_{3}]}$. Geometrically, this implies that its area must be assigned a negative sign, which is confirmed by the determinant formulas of Subsection 6.1. On the other hand, the triangle ${\textstyle [v_{1},p_{1},c]}$ will have positive area. Thus, their sum gives us the area ${\textstyle A_{1}}$ in Figure 9.

The area ${\textstyle A_{3}}$ is computed similarly, where the triangle ${\textstyle [p_{3},v_{3},c]}$ is assigned negative area (Figure 10).

Note that for ${\textstyle A_{2}}$, the two triangles ${\textstyle [p_{1},v_{2},c]}$ and ${\textstyle [v_{2},p_{2},c]}$ both have positive areas (Figure 11).

## 7. Numerical examples

In this section, we present three numerical examples in order to illustrate the performance of DEC resulting from the local formulation and its implementation. In all cases, we solve the anisotropic Poisson equation. The FEML methodology that we have used in the comparison can be consulted [2,11,13].

### 7.1 First example: Heterogeneity

This example is intended to highlight how Local DEC deals effectively with heterogeneous materials. Consider the region in the plane given in Figure 12. Figure 12. Square and inner circle with different conditions
• The difussion constant for the region labelled mat1 is ${\textstyle k=12}$ and its source term is ${\textstyle q=20}$.
• The difussion constant for the region labelled mat2 is ${\textstyle k=6}$ and its source term is ${\textstyle q=5}$.

The meshes used in this example are shown in Figure 13 and vary from coarse to very fine.

The numerical results for the maximum temperature value are exemplified in Table 1.

Table 1. Numerical simulation results of the first example
 Mesh nodes elements Max. Temp. Value Max. Flux Magnitude DEC FEML DEC FEML Figure 13(a) 49 80 5.51836 5.53345 13.837 13.453 Figure 13(b) 98 162 5.65826 5.66648 14.137 14.024 Figure 13(c) 258 466 5.70585 5.71709 14.858 14.770 Figure 13(d) 1,010 1,914 5.72103 5.72280 15.008 15.006 Figure 13(e) 3,813 7,424 5.72725 5.72725 15.229 15.228 Figure 13(f) 13,911 27,420 5.72821 5.72826 15.342 15.337 50,950 101,098 5.72841 5.72842 15.395 15.396 135,519 269,700 5.72845 5.72845 15.420 15.417 298,299 594,596 5.72848 5.72848 15.430 15.429 600,594 1,198,330 5.72848 5.72848 15.433 15.433 1,175,238 2,346,474 5.72849 5.72849 15.43724 15.43724

The temperature and flux-magnitude distribution fields are shown in Figure 14.  (a) Contour fill of temperatures (b) Contour fill of flux vectors on Elems Figure 14. Temperature and flux-magnitude distribution fields of the first example

Figure 15 shows the graphs of the temperature and the flux-magnitude along a horizontal line crossing the inner circle for the first two meshes.

Table 2 shows some global error metrics for different meshes. Figure 16 shows the error evolution in ${\textstyle L^{2}}$ norm for this example.

Table 2. tableDEC $L^{2}$ errors in the first example
 Mesh Nodes ${\sum (u-u_{i})^{2} \over nodes}$ $L^{2}$ norm 1 49 1.0537e-02 1.4438e-01 2 98 4.2447e-03 4.8558e-02 3 258 6.9781e-04 3.0390e-03 4 1,010 8.8386e-05 1.4877e-04 5 3,813 1.0736e-05 7.7369e-06 6 13,911 1.4422e-06 4.9791e-07 7 50,950 1.7582e-07 2.9608e-08 8 135,518 3.2621e-08 2.9233e-09 9 298,299 7.3566e-09 3.3610e-10 10 603,440 1.8577e-09 4.9496e-11

### 7.2 Second example: Anisotropy

Let us solve the Poisson equation in a circle of radius one centered at the origin ${\textstyle (0,0)}$ under the following conditions (see Figure 17):

• heat anisotropic diffusion constants ${\textstyle K_{x}=1.5,K_{y}=1.0}$;
• material angle ${\textstyle 30^{\circ }}$;
• source term ${\textstyle q=1}$;
• Dirichlet boundary condition ${\textstyle u=10}$.

The meshes used in this example are shown in Figure 18 and vary from very coarse to very fine.

The numerical results for the maximum temperature value (${\textstyle u(0,0)=10.2}$) are exemplified in Table 3 where a comparison with the Finite Element Method with linear interpolation functions (FEML) is also shown.

Table 3. Temperature value at the point (0,0) and Flux magnitude value at the point (-1, 0) of the numerical simulations for the second example
 Mesh Nodes Elements Temp. Value at $(0,0)$ Flux Magnitude at $(-1,0)$ DEC FEML DEC FEML Figure 18(a) 17 20 10.20014 10.19002 0.42133 0.43865 Figure 18(b) 41 56 10.20007 10.19678 0.48544 0.49387 Figure 18(c) 201 344 10.20012 10.20158 0.52470 0.52428 Figure 18(d) 713 1304 10.20000 10.19969 0.54143 0.54224 Figure 18(e) 2455 4660 10.20000 10.19990 0.54971 0.55138 Figure 18(f) 8180 15862 10.20000 10.20002 0.55326 0.55409 20016 39198 10.20000 10.19999 0.55470 0.55520 42306 83362 10.20000 10.20000 0.55540 0.55572

The temperature distribution and Flux magnitude fields for the finest mesh are shown in Figure 19.  (a) Contour Fill of Temperatures (b) Contour Fill of Flux vectors on Elems Figure 19. Temperature distribution and Flux magnitude fields for the finest mesh of the second example.

Figures 20(a), (b) and (c) show the graphs of the temperature and flux magnitude values along a diameter of the circle for the different meshes of Figures 18(a), (b) and (c), respectively.  (a) (b)  (c) (d)  (e) (f) Figure 20. Temperature and Flux magnitude graphs of the second example along a diameter of the circle for different meshes: mesh in Figure Figure 18(a), a-Temperature, b-Flux; mesh in Figure 18(b), c-Temperature, d-Flux; mesh in Figure 18(c), e-Temperature, f-Flux

Table 4 shows some global error metrics for different meshes. Figure 21 shows the error evolution in ${\textstyle L^{2}}$ norm for this example.

Table 4. DEC errors in the second example
 Mesh Nodes ${\sum (u-u_{i})^{2} \over nodes}$ $L^{2}$ norm 1 17 1.5818e-04 2.3555e-06 2 51 2.5395e-05 1.5639e-07 3 201 3.3643e-06 1.0517e-08 4 713 5.1563e-07 8.3543e-10 5 2,455 8.9235e-08 7.6073e-11 6 8,180 3.1731e-08 2.9858e-11 7 20,016 2.0217e-08 2.6580e-11 8 42,306 1.4421e-08 2.7062e-11 9 82,722 9.8533e-09 2.6164e-11 10 156,274 7.1352e-09 2.5954e-11 11 420,013 4.4277e-09 2.6151e-11 12 935,016 2.9635e-09 2.6003e-11 Figure 21. DEC $L^{2}$ error evolution in the second example

### 7.3 Third example: Heterogeneity and anisotropy

Let us solve the Poisson equation in a circle of radius on the following domain (Figure 22) with various material properties. The geometry of the domain is defined by segments of ellipses passing through the given points which have centers at the origin ${\textstyle (0,0)}$. Figure 22. Egg-like domain with different materials

 Point $x$ $y$ Point $x$ $y$ a -5 0 A 0 -4 b -4 0 B 0 -3 c -3 0 C 0 -2 d -1 0 D 0 -1 e 1 0 E 0 1 f 6 0 F 0 2 g 7 0 G 0 3 h 8 0 H 0 4

• The Dirichlet boundary condition is ${\textstyle u=10}$ and material properties (anisotropic heat diffusion constants, material angles and source terms) are given according to Figure 23 and the table below.

 $K_{x}$ $K_{y}$ Angle $q$ Domain mat1 5 25 30 15 Domain mat2 25 5 0 5 Domain mat3 50 12 45 5 Domain mat4 10 35 0 5

The meshes used in this example are shown in Figure 24.

The numerical results for the maximum temperature value (${\textstyle u(0,0)=10.2}$) are exemplified in Table 5 where a comparison with the Finite Element Method with linear interpolation functions (FEML) is also shown.

Table 5. Temperature distribution and Flux magnitude fields for the finest mesh of the third example
 Mesh Nodes Elements Max. Temp. Value Max. Flux Magnitude DEC FEML DEC FEML Figure 24(a) 342 616 2.79221 2.79854 18.41066 18.40573 Figure 24(b) 1,259 2,384 2.83929 2.84727 18.93838 18.91532 Figure 24(c) 4,467 8,668 2.85608 2.85717 19.13297 19.13193 Figure 24(d) 14,250 28,506 2.85994 2.86056 19.20982 19.20909 20,493 40,316 2.86120 2.86177 19.23120 19.23457 60,380 119,418 2.86219 2.86231 19.26655 19.26628 142,702 283,162 2.86249 2.86256 19.28045 19.28028 291,363 579,360 2.86263 2.86267 19.28727 19.28755 495,607 986,724 2.86275 2.86269 19.29057 19.29081 1,064,447 2,122,160 2.86272 2.86273 19.29385 19.29389 2,106,077 4,202,536 2.86274 2.86274 19.29618 19.29615 4,031,557 8,049,644 2.86275 2.86275 19.29763 19.29765

The temperature distribution and Flux magnitude fields for the finest mesh are shown in Figure 25.  (a) Contour fill of temperatures (b) Contour till of flux vectors on elems Figure 25. Temperature distribution and Flux magnitude fields for the finest mesh of the third example

Figure 26 shows the graphs of the temperature and flux magnitude values along a diameter of the circle for different meshes of Figure 24.

Table 6 shows some global error metrics for different meshes. Figure 27 shows the error evolution in ${\textstyle L^{2}}$ norm for this example.

Table 6. DEC errors in the third example
 Mesh Nodes ${\sum (u-u_{i})^{2} \over nodes}$ $L^{2}$ norm 1 342 9.3638e-04 2.7786e-02 2 1,259 1.5173e-04 3.2731e-03 3 4,467 2.2110e-05 2.2937e-04 4 14,250 3.7233e-06 1.9151e-05 5 20,492 2.2311e-06 9.5930e-06 6 60,380 4.3769e-07 8.7330e-07 7 142,702 1.1664e-07 1.3926e-07 8 291,369 3.9764e-08 3.3314e-08 9 497,378 1.6680e-08 1.0275e-08 10 1,067,171 3.9594e-09 1.2190e-09 11 2,106,248 9.6949e-10 1.4415e-10 Figure 27. DEC ${\textstyle L^{2}}$ evolution in the third example.

Remark. As can be seen from the previous examples, DEC behaves well on coarse meshes. As expected, the results of DEC and FEML are identical for fine meshes. We would also like to point out the the computational costs of DEC and FEML are very similar since the local matrices are very similar in profile, or even identical in some cases.

## 8. Conclusions

DEC is a relatively recent discretization scheme for PDE's which takes into account the geometric and analytic features of the operators and the domains involved. The main contributions of this paper are the following:

1. We have made explicit the local formulation of DEC, i.e. on each triangle of the mesh. As is customary, the local pieces can be assembled, which facilitates the implementation of DEC by the interested reader. Furthermore, the profiles of the assembled DEC matrices are equal to those of assembled FEML matrices.
2. Guided by the local formulation, we have deduced a natural way to approximate the flux/gradient vector of a discretized function, which coincides with that of FEML. Such approximate flux vector automatically gives the discretized version of the anisotropic flux.
3. We have discretized the pullback operator on continuous 1-forms using Whitney interpolation forms and have found the discrete anisotropy operator for primal 1-forms.
4. We have deduced the local DEC formulation of the 2D anisotropic Poisson equation, and have proved that the DEC and FEML diffusion terms are identical, while the source terms are not – due to the different area-weight allocation for the nodes.
5. Local DEC allows a simple treatment of heterogeneous material properties assigned to subdomains (element by element), which eliminates the need of dealing with it through ad hoc modifications of the global discrete Hodge star operator matrix.

On the other hand we would like to point the following features:

• The area weights assigned to the nodes of the mesh when solving the 2D anisotropic Poisson equation can even be negative (when a triangle has an inner angle greater that ${\textstyle 120^{\circ }}$), in stark contrast to the FEML formulation.
• The computational cost of DEC is similar to that of FEML. While the numerical results of DEC and FEML on fine meshes are virtually identical, the DEC solutions are better than those of FEML on coarse meshes. Furthermore, DEC solutions display numerical convergence, as shown by the error measurements.

Our future work will include the DEC discretization of convective terms, and DEC on 2-dimensional simplicial surfaces in 3D. Preliminary results on both problems are promising and competitive with FEML.

## Acknowledgements

The second named author was partially supported by a CONACyT grant, and would like to thank the International Centre for Numerical Methods in Engineering (CIMNE) and the University of Swansea for their hospitality. We gratefully acknowledge the support of NVIDIA Corporation with the donation of the Titan X Pascal GPU used for this research.

### Document information Published on 19/06/20
Accepted on 24/05/20
Submitted on 22/04/20

Volume 36, Issue 2, 2020
DOI: 10.23967/j.rimni.2020.05.003

### Document Score 0

Views 95
Recommendations 0 