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.
The theory of Discrete Exterior Calculus (DEC) is a relatively recent discretization [8] of the classical theory of Exterior Differential Calculus developed by E. Cartan [3], 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 [9], the Navier-Stokes equations [10], the simulation of elasticity, plasticity and failure of isotropic materials [5], some comparisons with the finite differences and finite volume methods on regular flat meshes [7], as well as applications in digital geometry processing [4].
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 [6]. Our main results are the following:
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.
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 Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_1,v_2,v_3}
(Figure 1).
Such a mesh has
|
|
|
There is a well known boundary operator
|
(1) |
which describes the boundary of the triangle as an alternated sum of its ordered oriented edges Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,v_2]} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,v_3]}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_2,v_3]}
.
Similarly, one can compute the boundary of each edge
|
If we consider
as a basis vector of a 1-dimensional vector space,
, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,v_3]} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_2,v_3]}
as an ordered basis of a 3-dimensional vector space,
, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_2]} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\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
|
while the map (2), which sends the oriented edges to sums of their oriented vertices, is represented by the matrix
|
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
|
Its discrete derivative, according to DEC, is
|
Indeed, such differences are rough approximations of the directional derivatives of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f}
along the oriented edges. For instance, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f_2-f_1}
is a rough approximation of the directional derivative of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f}
at Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_1}
in the direction of the vector Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_2-v_1}
, i.e.,
|
It is precisely in this sense that, according to DEC,
is assigned to the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,v_2]}
,
is assigned to the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,v_3]}
,
is assigned to the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_2,v_3]}
.
Let
|
The dual mesh of the primal mesh consisting of a single triangle is constructured as follows:
will correspond the 0-dimensional point given by the circumcenter Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c}
of the triangle (Figure 2).
will correspond the 1-dimensional straight line segment Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [p_1,c]}
joining the midpoint Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle p_1}
of the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,v_2]}
to the circumcenter Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c}
(Figure 3). Similarly for the other edges.
will correspond the oriented Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 2}
-dimensional quadrilateral Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,p_1,c,p_3]}
(Figure 4).
For the Poisson equation in 2D, we need two matrices: one relating original edges to dual edges, and another relating vertices to dual cells.
applied to the discrete differential of a discretized function Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f\sim (f_1,f_2,f_3)}
is given as follows:
assigned to the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,v_2]}
is changed to the new value
|
assigned to the segment Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [p_1,c]}
assigned to the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,v_3]}
is changed to the new value
|
assigned to the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [p_3,c]} .
assigned to the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_2,v_3]}
is changed to the new value
|
assigned to the segment Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [p_2,c]}
In other words,
|
on values on vertices is given as follows:
assigned to the vertex Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1]}
is changed to the new value
|
assigned to the quadrilateral Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,p_1,c,p_3]}
assigned to the vertex Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_2]}
is changed to the new value
|
assigned to the quadrilateral Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_2,p_2,c,p_1]}
assigned to the vertex Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_3]}
is changed to the new value
|
assigned to the quadrilateral Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_3,p_3,c,p_2]} .
In other words,
|
A differential 1-form Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \alpha }
on Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbb{R}^2}
can be thought of as a function whose arguments are a point in Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbb{R} ^2}
and a vector in Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbb{R} ^2}
, i.e.
|
and which is linear on the vector argument.
The dot product of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbb{R}^2}
allows us to see continuous 1-forms in a more familiar form as vector fields in the following way: If Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle X}
is a vector field on Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbb{R}^2}
, at each point Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle p\in \mathbb{R}^2}
we can consider the 1-form
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle Y\in \mathbb{R}^2} . On the other hand, from a continuos 1-form we can build a vector field as follows
|
where
|
Given a tensor Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle S}
(a linear transformation) and the vector field Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle X}
associated to a 1-form Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \alpha }
as above, consider the vector field Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle S(X)}
. For any vector Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle Y} , the value of the corresponding continuous 1-form is given by the product
|
which is the value of the 1-form called the pullback of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): \alpha
by the tensor Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): S^T
.
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 Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_i}
to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_j}
we have
|
This is equivalent to calculating the line integral (circulation) of the corresponding vector field Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle X}
along the path Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \gamma _{ij}:=v_i+t(v_j-v_i)}
, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 0\leq t\leq 1} , parametrizing the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_i,v_j]}
|
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 [12], and Bossavit [1] 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)
|
and their differentials
|
The Whitney interpolation 1-forms are
|
These differential 1-forms are such that, along the edge Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_k,v_l]}
|
i.e. Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 0}
or Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \pm 1}
.
Now, suppose we have a primal 1-form given on our triangle by the collection of numbers
|
We form a continuous 1-form as follows
|
which is such that, for Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 1\leq i <j \leq 3}
|
Now we will calculate
|
for an arbitrary linear transformation
|
Let
|
and
|
As it turns out,
|
where
|
Anyhow, these quantities are areas of the parallelograms formed by one fixed edge of the original triangle and one edge transformed by Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle S} .
Thus, we have that the induced transformation on primal 1-forms is
|
(6) |
When the material is isotropic, i.e. Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle S}
is a constant multiple of the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 2\times 2}
identity matrix, we get a constant multiple of the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 3\times 3}
identity matrix above as discrete pull-back operator.
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.
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 Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f:\mathbb{R}^2\longrightarrow \mathbb{R}}
at a point Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle p\in \mathbb{R}^2}
in the direction of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle w\in \mathbb{R}^2}
is defined by
|
Thus, we have three Vector Calculus identities
|
As in Subsection 2.2, the rough approximations to directional derivatives of a function Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f}
in the directions of the (oriented) edges are given as follows
|
Thus, if we want to find a discrete gradient vector Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W_1}
of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f}
at the point Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_1}
, we need to solve the equations
|
If
|
then
|
Now, if we were to find a discrete gradient vector Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W_2}
of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f}
at the point Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_2}
, we need to solve the equations
|
The vectors Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W_2}
solving these equations is actually equal to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W_1}
. Indeed, consider
|
so that
|
(10) |
Thus, adding up (7) and (9) we get
|
(11) |
Subtracting (8) from (10) we get
|
(12) |
Since Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_2-v_1}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_3-v_2}
are linearly independent and the two inner products in (11) and (12) vanish,
|
Analogously, the corresponding gradient vector Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W_3}
of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f}
at the vertex Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_3}
is equal to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\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 Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W=W_1=W_2=W_3}
on the given element. Note that the discrete flux Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W}
satisfies
|
This means that the primal 1-form discretizing Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle df}
can be obtained by performing the dot products of the discrete flux vector Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W}
with the vectors given by the triangle's oriented edges.
The local flux (gradient) of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f}
in FEML is given by
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle N_1,N_2}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle N_3}
are the basis functions given in (3). Explicitly
|
where
|
is the area of the triangle, so that the FEML flux is given by
|
and we can see that it coincides with the DEC flux.
We will now discuss how to discretize anisotropy in 2D DEC. Let Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K}
denote the symmetric anisotropy tensor
|
and recall the anisotropic Poisson equation
|
First recall that, in Exterior Differential Calculus, for any Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle w\in \mathbb{R}^2} ,
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K^*df_p}
is the pullback of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle df_p}
by Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K}
.
Since we already have a discrete candidate Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W}
for Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \nabla f}
on the given element, the product of the matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W}
gives us a candidate Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W':=K W}
for the anisptropic flux vector on such an element
|
In order to produce a primal 1-form from Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle W'} , all we have to do is assume that Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K}
is constant on the given triangle and take dot products with the edges of the triangle, i.e.
|
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
|
where the matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K^{DEC}}
is a real Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 3\times 3}
matrix depending on the geometry of the triangle and the matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\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), Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K^{DEC}}
is the following Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 3\times 3}
matrix where we have set Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle S=K}
, i.e.
|
where
|
Consider the Figure 5, where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle J}
denotes the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 90^\circ }
anti-clockwise rotation
|
We have
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle A'}
is the area of the red triangle. Thus, the numbers Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \eta ^K_{kl}}
are quotients of areas of transformed triangles divided by the area of the original triangle.
In this section, we describe the local DEC discretization of the 2D anisotropic Poisson equation and compare it to that of FEML.
The anisotropic Poisson equation reads as follows
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle f}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle q}
are two functions on a certain domain in Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbb{R}^2}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K}
is the anisotropy tensor. In terms of the exterior derivative Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle d}
and the Hodge star operator Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \star }
it reads as follows
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K^*df:=df\circ K}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K=K^T}
. Following the discretization of the discretized divergence operator [6], the corresponding local DEC discretization of the anisotropic Poisson equation is
|
or equivalently
|
(13) |
In order to simplify the notation, consider the lengths and areas defined in Figure 6.
| Figure 6. Triangle |
Now, the discretized equation (13) looks as follows:
|
The diffusive term matrix is actually symmetric (see Subsection 5.3.1).
The diffusive elemental matrix in FEM (frequently called “stiffness matrix”) on an element Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e}
is given by
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle D=K}
is the matrix representing the anisotropic diffusion tensor, and the matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle B}
is given explicitly by
|
Since the matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle B}
is constant on an element of the mesh, the integral is easy to compute. Thus, the difussive matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K_e}
for a linear triangular element (FEML) is given by
|
Now, let us consider the first diagonal entry of the local FEML anisotropic Poisson diffusive matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle K_e} ,
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle J}
is the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 90^\circ }
anticlockwise rotation,
|
In this notation, the diffusive term in local FEML is given as follows
|
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.
| Figure 7. Circumscribed triangle. |
We have the following identities:
|
For instance, we claim that
|
Indeed,
|
Thus,
|
All we have to do now is show that
|
Note that, since Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle J(v_3-v_2)}
is orthogonal to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_3-v_2}
, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle J(v_3-v_2)}
must be parallel to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c - {v_2+v_3\over 2}}
. Thus,
|
(14) |
Now we are going to express Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c}
in terms of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle v_1,v_2,v_3}
. Let us consider
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle a,b}
are coefficients to be determined. Taking inner products with Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle (v_2-v_1)}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle (v_3-v_1)}
we get the two equations
|
Solving for Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle a}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle b}
|
Substituting all the relevant quantities in (14) we have, for instance, that the coefficient of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle (v_2-v_1)}
is
|
and similarly for the coefficient of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\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.
As already observed in [6], the right hand sides of the local DEC and FEML systems are different
|
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).
The numbers appearing in the local DEC matrices can be expressed both in terms of determinants and in terms of trigonometric functions. More precisely,
|
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.
| Figure 8. Negative (exterior) angles measured in an obtuse triangle | |
and some quantities can even be zero. For instance, if
|
then
|
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 Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle p_1,p_2,p_3}
be the middle points of the segments Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,v_2],[v_1,v_3],[v_2,v_3]}
respectively. As shown in Figure 9, the triangle Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,p_3,c]}
lies completely outside of the triangle Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\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 Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_1,p_1,c]}
will have positive area. Thus, their sum gives us the area Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle A_1}
in Figure 9.
The area Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle A_3}
is computed similarly, where the triangle Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [p_3,v_3,c]}
is assigned negative area (Figure 10).
Note that for Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle A_2} , the two triangles Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [p_1,v_2,c]}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [v_2,p_2,c]}
both have positive areas (Figure 11).
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].
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 |
and its source term is Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle q=20}
.
and its source term is Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle q=5}
.
The meshes used in this example are shown in Figure 13 and vary from coarse to very fine.
| (a) | (b) | (c) |
| (d) | (e) | (f) |
| Figure 13. Six of the meshes used in the first example | ||
The numerical results for the maximum temperature value are exemplified in Table 1.
| 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.
| |
|
| (a) | (b) |
| (c) | (d) |
| (e) | (f) |
| Figure 15. Temperature and Flux magnitude graphs of the first example along a cross-section of the domain for different meshes | |
Table 2 shows some global error metrics for different meshes. Figure 16 shows the error evolution in Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle L^2}
norm for this example.
| Mesh | Nodes | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): \sum (u-u_i)^2 \over nodes | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): 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 |
Let us solve the Poisson equation in a circle of radius one centered at the origin Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle (0,0)}
under the following conditions (Figure 17):
.
| Figure 17. Disk of radius one |
The meshes used in this example are shown in Figure 18 and vary from very coarse to very fine.
| (a) | (b) | (c) |
| (d) | (e) | (f) |
| Figure 18. First six meshes used for unit disk | ||
The numerical results for the maximum temperature value (Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\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.
| Mesh | Nodes | Elements | Temp. Value at Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): (0,0) | Flux Magnitude at Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): (-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 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 Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle L^2}
norm for this example.
| Mesh | Nodes | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): \sum (u-u_i)^2 \over nodes | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): 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 |
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 Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle (0,0)} .
| Figure 22. Egg-like domain with different materials |
| Point | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): x | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): y | Point | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): x | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): 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 |
and material properties (anisotropic heat diffusion constants, material angles and source terms) are given according to Figure 23 and the table below.
| Figure 23. Dirichlet condition |
| Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): K_x | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): K_y | Angle | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): 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.
| (a) | (b) | |
| (c) | (d) | |
| Figure 24. Meshes for layered egg-like figure | ||
The numerical results for the maximum temperature value (Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\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.
| 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.
| (a) | (b) |
| (c) | (d) |
| (e) | (f) |
| Figure 26. Temperature and Flux magnitude graphs of the third example along a cross-section of the domain
for different meshes: Mesh in Figure 24(a), a-Temperature, b-Flux; Mesh in Figure 24(b), c-Temperature, d-Flux; Mesh in Figure 24(c), e-Temperature, f-Flux | |
Table 6 shows some global error metrics for different meshes. Figure 27 shows the error evolution in Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle L^2}
norm for this example.
| Mesh | Nodes | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): \sum (u-u_i)^2 \over nodes | Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): 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 |
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.
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:
On the other hand we would like to point the following features:
), in stark contrast to the FEML formulation.
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.
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.
[1] Bossavit A. Mixed finite elements and the complex of Whitney forms. In J. Whiteman (ed.), The Mathematics of Finite Elements and Applications VI, pp. 137–144, Academic Press, 1988.
[2] Botello S., Moreles M.Z., Oñate E. Módulo de aplicaciones del método de los elementos finitos para resolver la ecuación de Poisson: MEFIPOISS. Aula CIMNE-CIMAT, Septiembre 2010.
[3] Cartan E. Sur certaines expressions différentielles et le problème de Pfaff. Annales Scientifiques de l'École Normale Supérieure, Série 3, Paris, Gauthier-Villars, Tome 16, pp. 239-332, 1899.
[4] Crane K., et al. Digital geometry processing with discrete exterior calculus. ACM SIGGRAPH 2013 Courses, pp. 1-126, July 2013.
[5] Dassios I., et al. A mathematical model for plasticity and damage: A discrete calculus formulation. Journal of Computational and Applied Mathematics, 312:27-38, 2017.
[6] Esqueda H., Herrera R., Botello S., Moreles M.A. A geometric description of discrete exterior calculus for general triangulations. Rev. Int. Métodos Numér. Cálc. Diseño Ing., 35(1), 2, 2019. https://www.scipedia.com/public/Herrera_et_al_2018b
[7] Griebel, M., Rieger C., Schier A. Upwind schemes for scalar advection-dominated problems in the Discrete Exterior Calculus. In Bothe D., Reusken A. (eds), Transport Processes at Fluidic Interfaces, Birkhäuser, Cham, 145-175, 2017.
[8] Hirani A.N. Discrete exterior calculus. Thesis, California Institute of Technology, 2003.
[9] Hirani A.N., Nakshatrala K.B., Chaudhry J.H. Numerical method for Darcy flow derived using discrete exterior calculus. International Journal for Computational Methods in Engineering Science and Mechanics, 16(3):151-169, 2015.
[10] Mohamed M.S., Hirani A.N., Samtaney R. Discrete exterior calculus discretization of incompressible Navier-Stokes equations over surface simplicial meshes. Journal of Computational Physics, 312: 175-191, 2016.
[11] Oñate E. 2D solids. Linear triangular and rectangular elements. In Structural Analysis with the Finite Element Method. Linear Statics, Volume 1: Basis and Solids, Chapter 4, pp. 117-157, CIMNE-Springer, Barcelona, 2009.
[12] Whitney H. Geometric integration theory. Princeton University Press, 1957.
[13] Zienkiewicz O.C., Taylor R.L., Zhu J.Z. Generalization of the finite element concepts. Galerkin-weighted residual and variational approaches. In The Finite Element Method Set (Sixth Edition), Butterworth-Heinemann, Oxford, Chapter 3, pp. 54-102, 2005.
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
Licence: CC BY-NC-SA license