| Line 1,155: | Line 1,155: | ||
| colspan="2" | '''Figure 4.4:''' (a) Well-centered triangular mesh of hexagon. (b) Dual mesh. | | colspan="2" | '''Figure 4.4:''' (a) Well-centered triangular mesh of hexagon. (b) Dual mesh. | ||
|} | |} | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Observe the deformation of the blue-colored dual cell <math display="inline">[v_6]^*</math> in Figure [[#4.2 Dual mesh of a general triangulation|4.5]](a) as the vertex <math display="inline">v_0</math> is moved to make the triangle <math display="inline">[v_0,v_6,v_5]</math> non-well-centered in Figure [[#4.2 Dual mesh of a general triangulation|4.5]](b) and the vertex <math display="inline">v_4</math> is moved to make the triangle <math display="inline">[v_4,v_5,v_6]</math> non-well-centered in Figure [[#4.2 Dual mesh of a general triangulation|4.5]](c). | Observe the deformation of the blue-colored dual cell <math display="inline">[v_6]^*</math> in Figure [[#4.2 Dual mesh of a general triangulation|4.5]](a) as the vertex <math display="inline">v_0</math> is moved to make the triangle <math display="inline">[v_0,v_6,v_5]</math> non-well-centered in Figure [[#4.2 Dual mesh of a general triangulation|4.5]](b) and the vertex <math display="inline">v_4</math> is moved to make the triangle <math display="inline">[v_4,v_5,v_6]</math> non-well-centered in Figure [[#4.2 Dual mesh of a general triangulation|4.5]](c). | ||
We revisit the theory of Discrete Exterior Calculus (DEC) in 2D for general triangulations, relying only on Vector Calculus and Matrix Algebra. We present DEC numerical solutions of the Poisson equation and compare them against those found using the Finite Element Method with linear elements (FEML).
The purpose of this paper is to introduce the theory of Discrete Exterior Calculus (DEC) to the widest possible audience and, therefore, we will rely mainly on Vector Calculus and Matrix Algebra. Discrete Exterior Calculus is a relatively new method for solving partial differential equations [8] based on the idea of discretizing the mathematical theory of Exterior Differential Calculus, a theory that goes back to E. Cartan [3] and is fundamental in the areas of Differential Geometry and Differential Topology. Although Exterior Differential Calculus is an abstract mathematical theory, it has been introduced in various fields such as in digital geometry processing [4], numerical schemes for partial differential equations [8,1], etc.
In his PhD thesis [8], Hirani laid down the fundamental concepts of Discrete Exterior Calculus (DEC), using discrete combinatorial and geometric operations on simplicial complexes (in any dimension), proposing discrete equivalents for differential forms, vector fields, differential and geometric operators, etc. Perhaps the first numerical application of DEC to PDE was given in [9] in order to solve Darcy flow and Poisson's equation. In [7], the authors develop a modification of DEC and show that in simple cases (e.g. flat geometry and regular meshes), the equations resulting from DEC are equivalent to classical numerical schemes such as finite difference or finite volume discretizations. In [11], the authors used DEC to solve the Navier-Stokes equations and, in [5] DEC was used with a discrete lattice model to simulate elasticity, plasticity and failure of isotropic materials.
In this expository paper, we review the various operators of Exterior Differential Calculus in 2D in terms of ordinary vector calculus, and introduce only the geometrical ideas that are essential to the formulation. Among those ideas is that of duality between the differentiation operator (on vector fields) and the boundary operator (on the domain) contained in Green's theorem. This duality is one of the key ideas of the method, which justifies taking the discretized derivative matrix as the transpose of the boundary operator matrix on the given mesh. Another important ingredient is the Hodge star operator, which is hidden in the notation of Vector Calculus. In order to show the necessity of the Hodge star operator, we carry out some simple calculations. In particular, we will introduce the notion of wedge product of vectors which, roughly speaking, helps us assign algebraic objects to parallelograms and carry out algebraic manipulations with them. We present DEC in the simplest terms possible using easy examples. We also review the formulation of DEC for arbitrary meshes, which was first considered in [10]. Performance of the method is tested on the Poisson equation and compared with the Finite Element Method with linear elements (FEML).
The paper is organized as follows. In Section 2, we introduce the wedge product of vectors and the geometric Hodge star operator, and rewrite Green's theorem appropriately in order to display the duality between the differentiation and the boundary operators. In Section 3, we present the operators of DEC (mesh, dual mesh, discrete derivation, discrete Hodge star operator), showing simple examples throughout. In Section 4, we present the formulation of DEC on arbitrary triangulations. In Section 5, we present the numerical solution of a Poisson equation with DEC and FEML, in order to compare their performance. In Section 6, we present our conclusions.
In this section we introduce two geometric operators (the wedge product and the Hodge star) and explain how to use them together with the gradient operator in order to obtain the Laplacian.
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 a,b}
be vectors 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}
. We can assign to these vector the parallelogram they span, and to such a parallelogram its area. The latter is equal to the determinant of the transformation matrix sending 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_1,e_2}
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 a,b}
respectively. In Exterior Calculus, such a parallelogram is regarded as an algebraic object 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\wedge b}
, a bivector, and the set of bivectors is equipped with a vector space structure to form the one-dimensional vector space
|
Thus, we have the following spaces
|
of scalars, vectors and bivectors, respectively. For instance, the square formed 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 e_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 e_2}
is represented by the symbol
|
which is read as "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_1}
wedge 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_2}
" (see Figure 2.1)
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}
, this represents an “element” of unit area.
Note that if we list the vectors in the opposite order, we have a different orientation and, therefore, the algebraic objects must satisfy 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_2\wedge e_1=-e_1\wedge e_2}
(see Figure 2.2)
More generally, given two 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 a,b\in \mathbb{R}^2} , their wedge product 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\wedge b}
looks as follows (see Figure 2.3)
Figure 2.3: The wedge product of 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/":): 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/":): b
.
The properties of the wedge product are
(see Figure 2.4)
since it is a parallelogram with area zero (see Figure 2.5)
Figure 2.5: Parallelogram with very small area, depicting what happens when 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/":): b
tends 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/":): a
.
|
|
For example, let
|
Then
|
i.e. the determinant
|
times the canonical bivector/square 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_1\wedge e_2} .
Now consider the following situation: given 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 e_1} , find another 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}
such that the parallelogram that they form has 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 1}
. It is readily seen that, 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 v=e_2, -e_2,e_1+e_2}
are all solutions. Requiring orthogonality and standard orientation, we see 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 e_2}
is the unique solution. This process is summarized in the Hodge star operator, which basically says that the complementary vector 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 e_1}
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 e_2}
, and the one 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 e_2}
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 -e_1}
,
|
In general, the equation that defines the Hodge star operator for any given 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\in \mathbb{R}^2}
is the following
|
for every 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} . In particular, if we take 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=w} ,
|
which means 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 v}
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 \star v}
form a square of 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 |v|^2}
. Thus, the Hodge star operator on a 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\in \mathbb{R}^2}
can be thought of as finding the vector that makes 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}
a positively oriented square of 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 \vert v\vert ^2}
.
It is somewhat less intuitive to work out the Hodge star of a bivector. First of all, we have to treat bivectors as vectors of a different space, namely the space of bivectors 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 \textstyle \wedge ^2\mathbb{R}^2} . Secondly, the length of a bivector 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\wedge w}
is its area
|
Thus, the defining equation of the Hodge star applied 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\wedge w)}
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 \star (v\wedge w)}
reads as follows
|
which means
|
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\wedge w={Area}(v\wedge w) e_1\wedge e_2}
is already a bivector, 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 (v\wedge w)}
must be a scalar, i.e.
|
When 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=e_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 w=e_2}
we have
|
Finally, the Hodge star of a number 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 \lambda }
is a bivector, i.e.
|
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 f:\mathbb{R}^2\rightarrow \mathbb{R}}
and consider the gradient
|
Apply the Hodge star operator to it
|
Now take the gradient of each coefficient function together with wedge product
|
By taking the Hodge star of this last expression we get the ordinary Laplacian 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}
|
Remarks.
(i) This rather convoluted looking way of computing the Laplacian of a function is based on Exterior Differential Calculus, a theory that generalizes the operators of vector calculus (gradient, curl and divergence) to arbitrary dimensions, and is the basis for the differential topological theory of deRham cohomology.
(ii) We would like to emphasize the necessity of using 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}
in order to make the combination of differentiation and wedge product produce the correct answer.
Green's theorem states that for a 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 (L,M)}
defined on a region 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\subset \mathbb{R}^2}
,
|
In this section, we will explain how this identity encodes a duality between the operator of differentiation and that of taking the boundary of the domain of integration.
Note that 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 F=(L,M)}
is a vector field, we can write it as
|
Then, we can apply the gradient operator together with wedge product in the following fashion
|
Note that we have defined a new 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 \nabla ^\wedge }
which combines differentiation and wedge product. Applying the Hodge star operator we obtain
|
i.e. the integrand of the left hand side of the identity of integrals in Green's theorem. Thus, as a first step, Green's theorem can be rewritten as follows:
|
Let us recall the following fact from Linear Algebra. Given a linear transformation 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}
of Euclidean 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 \mathbb{R}^n}
, the transpose 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^T}
satisfies
|
for any two 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 v,w\in \mathbb{R}^n} , 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 \left\langle\cdot , \cdot \right\rangle}
denotes the standard inner/dot product. In fact, such an identity characterizes the transpose 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^T}
.
Now, let us do the following notational trick: substitute the integration symbols in Green's theorem 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 \ll \cdot ,\cdot \gg }
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 C=\partial D}
is the boundary of the region. Using this notational change, Green's theorem reads as follows
|
Roughly speaking, this means that the differential 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 \nabla ^\wedge }
is the transpose of the boundary 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 \partial }
by means of the product 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 \ll \cdot ,\cdot \gg }
.
Remark. The previous observation is fundamental in the development of DEC, since the boundary operator is well understood and easy to calculate on meshes.
Now we will discretize the differentiation 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 \nabla ^\wedge }
presented above. We will start by describing the discrete version of the boundary operator on simplices/triangles. Afterwards, we will treat the differentiation operator as the transpose of the boundary operator.
We are interested in using certain geometric subsets of a given triangular mesh of a 2D region. Such subsets include vertices/nodes, edges/sides and faces/triangles. We will describe each one of them by means of the ordered list of vertices whose convex closure constitutes the subset of interest. For instance, consider the triangular mesh of the planar hexagonal region in Figure 3.1,
where the shaded triangle will be denoted 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 [v_0,v_1,v_6]}
, and its edge joining the 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_0}
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_1}
will be denoted 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 [v_0,v_1]}
. For the sake of notational consistency, we will denote the vertices also enclosed in brackets, e.g. 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_0]} .
There is a well known boundary 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 \partial }
for oriented triangles, edges and points:
Figure 3.2: Boundary of a 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/":): \partial [v_0] = 0
.
Figure 3.3: Boundary of an 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/":): \partial [v_0,v_1] = [v_1] - [v_0]
.
Figure 3.4: Boundary of a face: 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/":): \partial [v_0,v_1,v_2] = [v_1,v_2] - [v_0,v_2]+[v_0,v_1]
.
Example. Let us consider again the mesh of the planar hexagonal (with oriented triangles) in Figure 3.5
We will denote a triangle by the list of its vertices listed in order according to the orientation of the tringle. Thus, we have the following ordered lists:
|
|
|
A key idea in DEC is to consider each face as an element of a basis of a vector space. Namely, column coordinate vectors are associated to faces as follows:
|
Similarly, coordinate vectors are associated to the edges
|
Finally, we do the same with the vertices
|
Now, if we take the boundary of each face, we have
|
which, under the previous assignments of coordinate vectors, corresponds to the linear transformation given by the following matrix which will multiply the column coordinate vectors on the left
|
where the subindices 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 \partial _{2,1}}
indicate that we are taking the boundary of 2-dimensional elements and obtaining 1-dimensional ones. Similarly, taking the boundaries of all the edges gives
|
which, under the previous assignments of coordinate vectors, corresponds to the linear transformation given by the following matrix
|
Remark. Note how these matrices encode different levels of connectivity with orientations, such as who are the edges of which oriented triangle, or which are the end points of a given oriented edge.
Due to the duality between 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 \partial }
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 \nabla ^\wedge }
, we can define the discretiztion 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 \nabla ^\wedge }
by
|
For instance, we see that the 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 \nabla ^\wedge _{0,1}}
reads as follows
|
In order to discretize the Hodge star operator, we must first introduce the notion of the dual mesh of a triangular mesh.
Consider the triangular mesh 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}
in Figure 3.6(a). The construction of the dual mesh 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 carried out as follows:
are the circumcenters of the faces/triangles of the original mesh (the blue dots in Figures 3.6(b) and 3.6(c)). For instance, the dual of the face 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_0,v_1,v_6]} will be denoted 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 [v_0,v_1,v_6]^*}
.
are the straight line segments joining the circumcenters of two adjacent triangles (those which share an edge). Note that the resulting line segments are orthogonal to one of the original edges (the blue straight line segments in in Figures 3.6(b) and 3.6(c)). For instance, the dual 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_0,v_6]} will be denoted 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 [v_0,v_6]^*}
.
are the areas enclosed by the new polygons determined by the new edges. For instance, the dual of 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_6]}
is the inner blue hexagon in in Figures 3.6(b) and 3.6(c) and will be denoted 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 [v_6]^*}
.
Figure 3.6:Dual mesh construction: (a) triangular mesh 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
superimposed on the mesh 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
The orientation of the dual edges is given by the following recipe. If we have two adjacent triangles oriented as in Figure 3.7(a), the dual edge crossing the edge of adjacency is oriented as in Figure 3.7(b)
Consider the dual mesh in Figure 3.8 with the given labels and orientations
The boundary operator is applied in a similar fashion as it was applied to triangles. In this case we have
|
If we assign coordinate vectors to the dual faces and the dual edges as before
|
and
|
we have the associated matrix
|
Notice that
|
which arises from the duality between the two meshes [6]. In general, the discrete differential to be applied is
|
The discretization of the Hodge star 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 }
uses the geometrical ideas described in Section 2.2 and the dual mesh. More precisely, the 2D Hodge star operator rotates a 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 90^\circ } counterclockwise. For the sake of clarity, let us focus on 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_0,v_6]}
, its mesh dual 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_0,v_6]^*}
and its Hodge star image 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 [v_0,v_6]}
. They are represented in Figure 3.9.
Since
|
we see that the relationship between the dual 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_0,v_6]^*}
and the geometric 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 [v_0,v_6]}
is the following
|
As can be seen, when applying the geometric Hodge star to the edges of the mesh, we do not end up in the dual mesh but in multiples of the elements of the dual mesh. Thus, 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 [v_0,v_6]}
must be scaled to match 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_0,v_6]^*}
. If we do this to all the Hodge star images, we get the discrete Hodge star matrix
|
where the subindices 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 M_{1,1}}
indicate that we are sending 1-dimensional elements of the original mesh to 1-dimensional elements of the dual mesh.
Somewhat less intuitive is the meaning of the geometric Hodge star operator on nodes of the original mesh. As we saw in Subsection 2.2,
|
which geometrically means that the Hodge star 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 [v_6]}
must be a polygon with area equal to 1 (classically, it is a parallelogram, but can also be a hexahedron of area 1 as in this example).
However, in the dual mesh we have the polygon 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_6]^*}
so that we need to resize 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 [v_6]}
as follows
|
If we do that for all the vertices, we obtain the discrete Hodge star matrix
|
The inverse matrix will deal with the case when we take the Hodge star of the 2D polygons in the dual mesh to obtain points (with weight 1) in the original mesh.
In summary, the various matrices 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 M}
representing the discrete Hodge star operator send elements of the original mesh to elements of the dual mesh.
Consider the 2D Poisson's equation
|
As we have seen, this can be rewritten as
|
Suppose that we wish to solve the equation using the mesh 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} . Let us denote 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 [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]}
the column vector discretizations of the functions 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 q}
at the nodes. According to DEC, the first derivation 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)}
is achieved left-multiplying 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]}
by 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 \nabla ^\wedge _{0,1}}
of Subsection 3.1.
The resulting column vector is a collection of (unknown) directional derivative values 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}
assigned to the ordered set of edges. At
this point we need to transfer such a set of values to the ordered set of dual edges of the dual mesh with the appropriate geometrical scaling, which is achieved multiplying on the left by 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 M_{1,1}}
of Subsection 3.4. Now, the discrete version of the second derivation 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^\wedge}
is given by left multiplication with 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 \nabla^\wedge_{1,2}}
of Subsection 3.3, which gives a column vector of (unknown) values assigned to the ordered set of 2-dimensional cells of the dual mesh. Finally, the task of mapping such values (with the appropriate scaling) to the ordered set of vertices of the original mesh is achieved by left multiplication with 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 M_{2,0}}
of Subsection 3.4. Thus, the Poisson equation is discretized as the matrix equation
|
Later on, it will be convenient to work with the equivalent system
|
Note that the DEC-discretization 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 \nabla(f)}
is not a (discretized) flow vector. It is a collection of values
of 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} , one such value for each oriented edge.
Since the boundary operator is really concerned with the connectivity of the mesh and does not change under deformation of the mesh, the change in the setup of DEC for a deformed mesh must be contained in the discrete Hodge star matrices. Since such matrices are computed in terms of lengths and areas of oriented elements of the mesh, we will now examine how those ingredients transform under deformation, a problem that was first considered in [10].
In order to explain how to implement DEC for general triangulations, let us consider first a mesh consisting of a single well-centered triangle, as well as its dual mesh (see Figure 4.1).
The dual cells are given as follows:
|
Now consider the cell 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_3,p_3,c,p_2]}
subdivided as in Figure 4.2.
If we deform continuously 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]}
to become an obtuse triangle as in Figure 4.3,
we see in Figures 4.1(a) and 4.1(b) that the area of the blue subtriangle 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,c,p_3]}
decreases to 0 and in Figure 4.1(c) that it is completely outside of the triangle and, therefore, must be assigned a negative sign. The same can be said about the 1-dimensional cell 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]}
, which originally is completely contained in 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]} , its size reduces to zero as the triangle is deformed (Figures 4.1(a) and 4.1(b)), and eventually it is completely outside 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]}
(Figure 4.1(c)) and a negative sign must be assigned to it. On the other hand, part of the red subtriangle 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,c,p_2]} still intersects the interior 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]} and, therefore, no assignment of sign is needed. Similarly for 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 terms of numerical simulations, an implementation in terms of determinants contains intrinscally the aforementioned change of signs.
Now consider the well-centered mesh and its dual in Figure 4.4.
| Figure 4.4: (a) Well-centered triangular mesh of hexagon. (b) Dual mesh. | |
Observe the deformation of the blue-colored dual cell 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_6]^*}
in Figure 4.5(a) as 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_0} is moved to make 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_0,v_6,v_5]} non-well-centered in Figure 4.5(b) and 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_4} is moved to make 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_4,v_5,v_6]} non-well-centered in Figure 4.5(c).
We have colored in red the part of the dual cell 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_6]^*}
in Figure 4.2(c) that must have the opposite orientation of the blue-colored part. Similar considerations apply to the edges.
In 2D, there is an intuitively clear way of comparing Discrete Exterior Calculus with the Finite Element Method (FEM) and the Finite Volume Method (FVM), both with linear interpolation functions, by considering the circumcenters of the triangles.
Let us solve the Poisson equation in a circle of radius one under the following conditions (see Figure 5.1):
.
The exact solution is
|
Figure 5.1: Disk of radius one with difussion constant 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=1 , subject to a heat source 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=-1
.
The meshes used in this example are shown in Figure 5.2 and vary from very coarse to very fine.
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.25} ) are exemplified in Table 5.1 where a comparison with the Finite Element Method with linear interpolation functions (FEML) is also shown. The FEML methodology that we used in the comparison can be consulted [13,12,2]. For the sake of completeness in our comparison, here we compute the flux vectors in the same way as in FEML.
| ||
| Table 5.1: Maximum temperature and Flux magnitude values in the numerical simulation. | ||
The temperature distribution and Flux magnitude fields for the finest mesh are shown in Figure 5.3.
Figures 5.4(a), 5.4(b) and 5.4(c) show the graphs of the temperature and flux magnitude values along a diameter of the circle for the different meshes of Figures 5.4(b), 5.4(c) and 5.4(d) respectively.
| (a) | ||
| (b) | ||
| (c) | ||
| Figure 5.4: Temperature and Flux magnitude graphs along a diameter of the circle for different meshes: (a) Graphs for the Mesh in Figure 5.4(b); (b) Graphs for the Mesh in Figure 5.4(c); (c) Graphs for the Mesh in Figure 5.4(d); | ||
As can be seen from Table 5.1 and Figure 5.1, DEC behaves very well on coarse meshes. Note that the maximum temperature values calculated with DEC matches the exact theoretical value even on coarse meshes. As expected, the results of DEC and FEML are similar for fine meshes. We would also like to point out the the computational costs of DEC and FEML are very similar.
In this example, we consider a region in the plane whose boundary consists of segments of a straight line, a circle, a parabola, a cubic and an ellipse (see Figure 5.5).
| Figure 5.5: Region with linear, quadratic and cubic boundary segments, together with boundary conditions. | |
The meshes used in this example are shown in Figure 5.6 and vary from coarse to very fine.
| (a) | (b) | (c) |
| Figure 5.6: Three of the meshes used in the first example. | ||
We set
along the inner elliptical boundary;
along the external boundary.
The numerical results for the maximum temperature and flux magnitude values are exemplified in Table 5.2.
| ||
| Table 5.2: Numerical simulation results. | ||
The temperature and flux-magnitude distribution fields are shown in Figure 5.7.
| (a) | (b) | |
| Figure 5.7: Temperature and Flux magnitude distribution fields. | ||
Figure 5.8 shows the graphs of the temperature and the flux magnitude along a horizontal line crossing the elliptical boundary for the first two meshes.
| (a) | ||
| (b) | ||
| Figure 5.8: Temperature and Flux magnitude graphs along a horizontal line crossing the elliptical boundary for the first two meshes. | ||
As can be seen from Table 5.2 and Figure 5.8, the performance of DEC is very similar to that of FEML in this example. As expected, when the mesh is refined, the two methods converge to the same values.
DEC is a relatively recent discretization scheme for PDE 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:
Acknowledgements. The second named author was partially supported by a grant of CONACYT, 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] D. Arnold, R. Falk, and R. Winther: “Finite element exterior calculus: From Hodge theory to numerical stability”, Bulletin of the American Mathematical Society 47 (2010), no. 2, 281?354.
[2] S. Botello, M.A. Moreles, E. Oñate: “Modulo de Aplicaciones del Método de los Elementos Finitos para resolver la ecuación de Poisson: MEFIPOISS.” Aula CIMNE-CIMAT, Septiembre 2010, ISBN 978-84-96736-95-5.
[3] E. Cartan: ``Sur certaines expressions différentielles et le probleme de Pfaff". Annales Scientifiques de l'École Normale Supérieure. Série 3. Paris: Gauthier-Villars. 16: 239?332 (1899)
[4] K. Crane, F. de Goes, M. Desbrun, P. Schröder: “Digital geometry processing with discrete exterior calculus.” ACM SIGGRAPH 2013 Courses. ACM, 2013.
[5] I. Dassios, A. P. Jivkov, A. Abu-Muharib, P. James: “A mathematical model for plasticity and damage: A discrete calculus formulation.” Journal of Computational and Applied Mathematics 312 (2017): 27-38.
[6] M. Desbrun, E. Kanso, Y. Tong: “Discrete differential forms for computational modeling.” In SIGGRAPH 06: ACM SIGGRAPH 2006 Courses, pages 39–54, New York, NY, USA, 2006. ACM.
[7] M. Griebel, C. Rieger, A. Schier: “Upwind Schemes for Scalar Advection-Dominated Problems in the Discrete Exterior Calculus.” Transport Processes at Fluidic Interfaces. Birkhäuser, Cham, 2017. 145-175.
[8] A. N. Hirani: “Discrete exterior calculus”. Diss. California Institute of Technology, 2003.
[9] A. N. Hirani, K. B. Nakshatrala, J. H. Chaudhry: “Numerical method for Darcy flow derived using Discrete Exterior Calculus.” International Journal for Computational Methods in Engineering Science and Mechanics 16.3 (2015): 151-169.
[10] A. N. Hirani, K. Kalyanaraman, E. B. VanderZee: “Delaunay Hodge star”, Comput. Aided Des. 45 (2013) 540-544]
[11] M. S. Mohamed, A. N. Hirani, R. Samtaney: “Discrete exterior calculus discretization of incompressible Navier-Stokes equations over surface simplicial meshes.” Journal of Computational Physics 312 (2016): 175-191.
[12] E. Oñate: “4 - 2D Solids. Linear Triangular and Rectangular Elements,” in Structural Analysis with the Finite Element Method. Linear Statics, Volume 1: Basis and Solids, CIMNE-Springer, Barcelona, 2009. Pages 117-157, ISBN 978-1-4020-8733-2
[13] O. C. Zienkiewicz, R. L. Taylor and J. Z. Zhu: “3 - Generalization of the finite element concepts. Galerkin-weighted residual and variational approaches,” In The Finite Element Method Set (Sixth Edition), Butterworth-Heinemann, Oxford, 2005, Pages 54-102, ISBN 9780750664318,
Published on 08/02/19
Accepted on 04/10/18
Submitted on 06/06/18
Volume 35, Issue 1, 2019
DOI: 10.23967/j.rimni.2018.11.003
Licence: CC BY-NC-SA license
Are you one of the authors of this document?