0% found this document useful (0 votes)
94 views39 pages

Monotonicty Diamond and DDFV Type Finite Volume Schemes For 2D Elliptic Problems

This document summarizes a research paper that proposes two new monotonic finite-volume schemes for solving 2D elliptic partial differential equations (PDEs) with discontinuous diffusion coefficients: a monotonic diamond scheme and a monotonic discrete duality finite volume (DDFV) scheme. The schemes are made monotonic by adapting a technique from previous literature that does not require secondary unknowns to be positive. Numerical experiments demonstrate the schemes are second-order accurate and monotonic on benchmark problems, including one modeling a Fokker-Planck diffusion equation.

Uploaded by

med
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
94 views39 pages

Monotonicty Diamond and DDFV Type Finite Volume Schemes For 2D Elliptic Problems

This document summarizes a research paper that proposes two new monotonic finite-volume schemes for solving 2D elliptic partial differential equations (PDEs) with discontinuous diffusion coefficients: a monotonic diamond scheme and a monotonic discrete duality finite volume (DDFV) scheme. The schemes are made monotonic by adapting a technique from previous literature that does not require secondary unknowns to be positive. Numerical experiments demonstrate the schemes are second-order accurate and monotonic on benchmark problems, including one modeling a Fokker-Planck diffusion equation.

Uploaded by

med
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

Monotonic diamond and DDFV type finite-volume

schemes for 2D elliptic problems


Xavier Blanc, Francois Hermeline, Emmanuel Labourasse Null, Julie Patela

To cite this version:


Xavier Blanc, Francois Hermeline, Emmanuel Labourasse Null, Julie Patela. Monotonic diamond
and DDFV type finite-volume schemes for 2D elliptic problems. Communications in Computational
Physics, 2023, 34 (2), pp.456-502. �10.4208/cicp.OA-2023-0081�. �cea-04137599�

HAL Id: cea-04137599


https://cea.hal.science/cea-04137599
Submitted on 22 Jun 2023

HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est


archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents
entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non,
lished or not. The documents may come from émanant des établissements d’enseignement et de
teaching and research institutions in France or recherche français ou étrangers, des laboratoires
abroad, or from public or private research centers. publics ou privés.
Monotonic diamond and DDFV type finite-volume schemes for 2D
elliptic problems
Xavier Blanc1 , Francois Hermeline2,3 , Emmanuel Labourasse2,3 , and Julie Patela1,2
1
Université Paris Cité, Sorbonne Université, CNRS, Laboratoire Jacques-Louis Lions, F-75013 Paris, France.
2
CEA, DAM, DIF, F-91297 Arpajon, France.
3
Université Paris-Saclay, CEA DAM DIF, Laboratoire en Informatique Haute Performance pour le Calcul et
la Simulation, 91297 Arpajon, France.

June 22, 2023

Abstract
The DDFV (Discrete Duality Finite Volume) method is a finite volume scheme mainly dedicated to
diffusion problems, with some outstanding properties. This scheme has been found to be one of the most
accurate finite volume methods for diffusion problems. In the present paper, we propose a new monotonic
extension of DDFV, which can handle discontinuous tensorial diffusion coefficient. Moreover, we compare
its performance to a diamond type method with an original interpolation method relying on polynomial
reconstructions. Monotonicity is achieved by adapting the method from [44, 19, 49, 18] to our schemes.
Such a technique does not require the positiveness of the secondary unknowns. We show that the two
new methods are second-order accurate and are indeed monotonic on some challenging benchmarks as a
Fokker-Planck problem.

Contents
1 Introduction 2

2 Definitions and notations 3

3 Finite volume formulation on the primal mesh 5

4 Dealing with vertex unknows 8


4.1 Diamond type scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 DDFV scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 A method to make the schemes monotonic 12


5.1 Matrix form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2 Picard iteration method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

6 Properties 15
6.1 Monotonicity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.2 Well-posedness of the Picard iteration method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
6.3 About the convergence of the fixed-point for the monotonic DDFV scheme . . . . . . . . . . . . 17

7 Numerical experiments 18
7.1 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.1.1 Checking the preservation of linear solutions . . . . . . . . . . . . . . . . . . . . . . . . 19
7.1.2 Anisotropic diffusion coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.1.3 Discontinuous diffusion coefficient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.2 Monotonicity test problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1
7.2.1 Tensor-valued coefficient κ and square domain with a square hole . . . . . . . . . . . . . 20
7.2.2 Fokker-Planck type diffusion equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

8 Concluding remarks 26

A Proof of convergence for the DDFV scheme 28


A.1 Consistency of the fluxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
A.2 Discrete Poincaré inequality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
A.3 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
A.4 Coercivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
A.5 Stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

1 Introduction
Consider the model stationary diffusion problem

−∇ · (κ∇ū) + λū = f
 in Ω,
ū = g on ΓD , (1)

κ∇ū · n = g on ΓN ,

where Ω is a bounded open domain of R2 with ∂Ω = ΓD ∪ ΓN (ΓD ∩ ΓN = ∅) and n ∈ R2 the outgoing unit
1
normal vector. The data are such that f, λ ∈ L2 (Ω), with λ ≥ 0 (if λ = 0, then |ΓD | > 0), g ∈ H /2 (ΓD ) and
g ∈ L2 (ΓN ). The tensor-valued diffusion coefficient κ is supposed to be bounded and to satisfy the uniform
ellipticity condition

∀x ∈ Ω, ∀y ∈ R2 , αmin kyk2 ≤ yt κ(x)y ≤ αmax kyk2 ,


where αmin , αmax are positive coefficients. Under the above conditions, and if either λ > 0 or ΓD is of positive
length, it is well known that system (1) has a unique solution in H 1 (Ω). Such a solution satisfies a positiveness
principle, i.e. if f ≥ 0 and g ≥ 0, then ū ≥ 0 (see [15] for example).

Standard methods may be applied to the discretization of such diffusion equations with possibly discontinuous
κ on arbitrary meshes. This proves to be an efficient strategy, as far as accuracy (or convergence) is concerned.
However, it is well known that positiveness of the discrete solution does not hold. This lack of positiveness (also
called monotonicity) can lead to serious difficulties, since ū can account for a temperature or a concentration.
A first attempt to solve the issue of monotonicity would be to truncate the discrete solution to zero. This
is not satisfactory because conservation is lost in such a process, and conservation is an important property
of the scheme. Some algorithms based on the repair technique introduced in [34] are employed to fix the
conservation issue [8, 33, 43, 45]. However, these algorithms are only globally (and not locally) conservative,
and the consistency is unclear. Some monotonic methods have been designed in the finite-element framework
(see [9, 10, 24, 25, 41] among others), but they rely on restrictive conditions on the mesh, that we cannot afford.
For fifteen years many original finite volume methods have been proposed to address the issue of monotonicity,
while preserving conservation. Most of these schemes are nonlinear or have a larger stencil than standard
methods. The finite volume framework is well suited to achieve monotonicity because it allows for an easy
manipulation of the fluxes. The first works we know of are those of Le Potier [28] and Bertolazzi and Manzini [3].
In such methods, one uses a manipulation of the fluxes that leads to introduce a dependence on the discrete
solution in the coefficients of the fluxes, making the scheme nonlinear, although (1) is linear. To this end, one
usually introduces secondary unknowns (for instance vertex-located or face-located unknowns) in addition to
the primary (cell-located) unknowns. Among others, important contributions to this field are [5, 18, 30, 39, 48],
which propose efficient numerical schemes preserving the positiveness of the primary unknowns. In [38] the
requirement of positive secondary unknowns is relaxed. The works [31, 50] explain how to build monotonic
schemes without relying on secondary unknowns. In [29, 32, 37], maximum principle preserving schemes are
proposed. Cancès and Guichard obtained moreover an entropy diminishing property in [7], introducing the
nonlinearity directly at the continuous level via a change of variables. Some concepts and proofs about the
existence of solutions for these types of scheme can be found in [11, 13, 36]. See also [42, 46] for recent advances
in this field.

2
The DDFV (Discrete Duality Finite Volume [21], [12]) scheme relies on secondary (nodal) unknowns. However,
in contrast with most above-mentioned methods, one considers an additional diffusion problem on a so-called
dual mesh to calculate them. This scheme has been found to be one of the most accurate finite volume methods
for diffusion problems [20], at the price of doubling the number of degrees of freedom compared for instance
to the linear or bilinear finite element method or to cell centered methods such as MPFA (Multi Point Flux
Approximation [1]) or SUSHI (Scheme Using Stabilization and Hybrid Interfaces [17]). However, none of latter
methods are monotonic.
A monotonic extension of DDFV has been proposed in [6], but was not compatible with Neumann boundary
conditions, and only first-order convergent for discontinuous tensor coefficients κ. In the present paper, we
propose a new monotonic extension of DDFV that remedies these flaws. Moreover, we compare its perfor-
mance to a diamond type method with an original interpolation method relying on polynomial reconstructions.
Monotonicity is achieved by adapting the method of [44, 19, 49, 18] to our schemes. Such a technique does not
require the positiveness of the secondary unknowns.
The main steps of the proposed methods may be briefly summarized as follows.

1. Integration of the equation over each cell of the user’s mesh that we will call primal.
2. Transformation of this surface integral into a sum of fluxes using the divergence theorem.
3. Approximation of the fluxes using the midpoint quadrature rule on each face of the cell.
4. Taylor expansion of the solution ū in the neighborhood of the midpoint of each face along two independent
privileged directions in order to obtain an approximation of ∇ū involving the values of ū and its derivatives
at certain suitably chosen points, in this case the center and vertices of the cell.
5. Thanks to this Taylor expansion, estimation of (κ∇ū) · n = (∇ū) · (κt n).
6. Calculation of the values of ū at vertices either by a polynomial interpolation formula in the neighborhood
of the midpoint of each primal cell face or by integration of the equation over each cell of the dual mesh.
7. Calculation of the values of derivatives of ū at centers and vertices of the neighboring cells by differentiating
this polynomial interpolation.
8. Transformation of the scheme into a monotonic nonlinear two point flux approximation (or four point
flux approximation if a DDFV type method is used).
9. Resolution of the nonlinear system by the Picard iteration method.

The integration over the primal mesh is common to the two monotonic schemes proposed here and is described
in Sec. 3. The treatment of the vertex unknowns depends on the scheme and is addressed in Sec. 4. Monotonicity
of both schemes is based on the same strategy, which is described in Sec. 5. It leads to a two point flux the
coefficients of which depend on the unknown. The Picard iteration method to handle the nonlinearity is also
described. The properties of the new DDFV schemes are listed in Sec. 6. Finally, both schemes are assessed
in term of accuracy, monotonicity and computational efficiency, and compared with the non monotonic DDFV
scheme in Sec. 7. It is shown that the interpolation-based scheme is more efficient for a given L2 accuracy, but
that the DDFV-based scheme achieves second-order accuracy in H 1 norm for the tests we ran. This outstanding
feature has been already observed in [20, 23]. Our final test problem is a solution of a simplified Fokker-Planck
equation. We show that our scheme is able to compute a correct monotonic solution while achieving the energy
conservation.
In all that follows vectors and matrices will be noted with bold letters while x = (x, y) and I will stand for the
position and 2 × 2 identity matrix, respectively.

2 Definitions and notations


In this section we gather most of the notations that will be used later. Consider an arbitrary primal mesh made
of (possibly distorted, non-conformal, non convex...) polygonal cells that are denoted Pi (1 ≤ i ≤ n). The
center of a cell Pi is denoted by xi (in general xi is the mass center of Pi but other interior points for which
Pi is starred could be chosen) and its faces are F` = xr xs . The center of the face F` is x` , the unit vector
orthogonal to the face F` (directed from cell Pi to cell Pj ) is nsr and Nsr = kxs − xr knsr .

3
Nsr
θj`
θi`

. . j
Nj`
s . . r
Ni` `

.
Figure 1: Two primal cells Pi , Pj (black lines) such that Pi ∩ Pj = F` = xr xs , two dual cells Dr , Ds (blue lines) such
that Dr ∩ Ds = G` = xi x` ∪ x` xj and one intermediary cell I` = Ii` ∪ I`j = xi xr x` xs ∪ xj xs x` xr (red lines).

In order to define DDFV type schemes we also need to define a dual mesh (often named barycentric or Donald
dual mesh) obtained from the primal mesh by joining the center of each cell with the center of its neighbors
and the middle of its boundary faces. The dual cells are denoted by Dr (1 ≤ r ≤ m), their faces are Gi` = xi x` ,
G`j = x` xj and we set G` = Gi` ∪ G`j . The unit vector orthogonal to the face Gi` (resp. G`j ) and directed
from dual cell Dr to dual cell Ds is ni` (resp. n`j ) and Ni` = kx` − xi kni` (resp. N`j = kxj − x` kn`j ). Let θi`
(resp. θ`j ) be the (trigonometrically oriented) angle between vectors1 N⊥ ⊥
`i (resp. Nj` ) and Nsr .
If F` 6⊂ ∂Ω (resp. F` ⊂ ∂Ω) we denote by I` the quadrilateral xi xr xj xs (resp. the degenerate quadrilateral
xi xr x` xs ). Note that all these cells, which we will call diamond or intermediary, also constitute a mesh
of Ω. Each interior diamond cell I` can be divided into two degenerate quadrilaterals Ii` = xi xr x` xs and
I`j = xj xs x` xr that will be called diamond sub-cells.
Most of these notations are illustrated by Fig. 1. Finally, given a geometrical quantity X (face or cell), we will
denote by |X| its measure (length or area).
Define

h = max(|F` |, |Gi` |, |G`j |),


`

we will assume that the primal and dual meshes satisfy the following assumptions.

1. (H1) There exists a constant θ0 independent of h such that, for all `,

π
|θ0 | < , cos(θ0 ) < cos(θi` ), cos(θ0 ) < cos(θ`j ).
2
1 Given v = (vx , vy ) a vector in R2 we will use the common notation v⊥ = (−vy , vx ).

4
2. (H2) Given Ni (resp. Nr ) the number of faces of the primal (resp. dual) cell Pi (resp. Dr ), there exists
a constant Nmax independent of h such that

max(max Ni , max Nr ) < Nmax .


i r

3. (H3) There exists a constant ξ independent of h such that, for all `,

|I` | ≤ ξ min(|Pi |, |Pj |, |Dr |, |Ds |).

Given v = (vi ) a vector in Rn we will denote respectively its Euclidian, L2 and L∞ norms by

n
!1/2 n
!1/2
X X
kvk = vi2 , kvk2 = |Pi |vi2 , kvk∞ = max |vi |,
1≤i≤n
i=1 i=1

and we use the following notations


v≥0 if ∀i, vi ≥ 0,
v>0 if ∀i, vi > 0.
Given xk any point and φ any function we will often note φk = φ(xk ).

3 Finite volume formulation on the primal mesh


We will assume that κ is continuous inside each cell but can be discontinuous along some primal faces F` .
To simplify the presentation it will be assumed for now on that κ is scalar-valued, that is, κ = κI with
αmin ≤ κ ≤ αmax . For a tensor-valued coefficient κ ∈ R2,2 it is enough to replace κn by κt n in the following
calculations.

The first step to design a finite volume scheme consists in integrating equation (1) on cell Pi
Z Z Z
− ∇ · (κ∇ū) + λū = f.
Pi Pi Pi

We can make use of the divergence formula to obtain


XZ Z Z
− κ∇ū · n + λū = f, (2)
`∈i F` Pi Pi
X
where the compact notation stands for the sum on all faces F` of the primal cell Pi . We need to approximate
`∈i
the flux
Z
F̄` = κ∇ū · nsr .
F`

Suppose that κi` (resp. κ`j ) is a first-order approximation of κ in the diamond sub-cell Ii` (resp. I`j ), for
example

κi` = κ(xi ), κ`j = κ(xj ),


or, if κ is continuous

κi` = κ`j = κ(x` ).


Denote by (∇ū)i` and (∇ū)`j expressions of ∇ū in Pi and Pj . We have
XZ Z Z
f + O h3 .

− κi` (∇ū)i` · nsr + λū =
`∈i F` Pi Pi

5
A Taylor expansion in the neighborhood of x` gives

ū(x) = ū(x` ) + ∇ū(x` ) · (x − x` ) + O kx − x` k2 .




Replacing x respectively by xi , xj , xr , xs , we obtain

ū(xi ) = ū(x` ) + ∇ū(x` ) · N⊥ 2



i` + O h ,

ū(xj ) = ū(x` ) + ∇ū(x` ) · N⊥ 2



j` + O h ,

ū(xr ) = ū(x` ) + ∇ū(x` ) · N⊥ 2



`r + O h ,

ū(xs ) = ū(x` ) + ∇ū(x` ) · N⊥ 2



`s + O h .
Subtracting the last two equations we have

∇ū(x` ) · N⊥ 2

sr = ū(xs ) − ū(xr ) + O h .
Therefore we obtain

∇ū(x` ) · N⊥ 2

`i = ū(x` ) − ū(xi ) + O h

 ,

⊥ 2

∇ū(x` ) · Nj` = ū(xj ) − ū(x` ) + O h , (3)

∇ū(x` ) · N⊥ 2
 
sr = ū(xs ) − ū(xr ) + O h .
Let us first consider an interior primal face F` . We can decompose the unit vector nsr in the basis (n⊥ ⊥
`i , nsr )
⊥ ⊥
or (nj` , nsr ) :

nsr = αi` n⊥ ⊥ ⊥ ⊥
`i + βi` nsr = α`j nj` + β`j nsr ,

with
1 nsr · n`i 1 nsr · nj`
αi` = , βi` = , α`j = , β`j = ,
nsr · n⊥
`i n⊥
sr · n`i nsr · n⊥
j` n⊥
sr · nj`

that is, in view of Fig. 1

1 sin(θi` ) 1 sin(θ`j )
αi` = , βi` = , α`j = , β`j = . (4)
cos(θi` ) cos(θi` ) cos(θ`j ) cos(θ`j )
According to assumption H1 these values are well defined. Note that αi` > 0, α`j > 0 as soon as the centers xi
and xj of the primal cells Pi and Pj are separated by the line corresponding to their face F` = Pi ∩ Pj . It may
happen that xi and xj are not separated by the face F` . This is the case for a non-convex cell Pi if its mass
center xi is not inside Pi (see the left-hand side of Fig. 2). In such a case we replace xi by the midpoint of an
inner diagonal of Pi or by any interior point for which Pi is star-shaped (right-hand side of Fig. 2). Doing so,
the inequalities αi` > 0, α`j > 0, which are mandatory to enforce the positiveness of the scheme (see Section 5),
are always satisfied.
The gradients in the direction nsr in the cells Pi and Pj then write

∇ū(x` )i · nsr = αi` ∇ū(x` )i · n⊥ ⊥


`i + βi` ∇ū(x` )i · nsr ,

∇ū(x` )j · nsr = α`j ∇ū(x` )j · n⊥ ⊥


j` + β`j ∇ū(x` )j · nsr ,

that is to say, using Taylor expansions (3)



 ∇ū(x` )i · nsr = αi` ū(x` ) − ū(xi ) + βi` ū(xs ) − ū(xr ) + O(h),

|Gi` | |F` |



(5)

 ū(xj ) − ū(x` ) ū(xs ) − ū(xr )
 ∇ū(x` )j · nsr = α`j + β`j + O(h).


|G`j | |F` |

6
s s
. .
` `
r r
. . i j .. . j .
i

. .
Figure 2: A non convex cell Pi and a convex cell Pj such that xi and xj are not separated by the line defined by face
F` = x r x s .

Note that these approximations can also be obtained by using the Green-Gauss formula applied to ∇ū in
diamond sub-cells Ii` and I`j

 Z
1 1 1

 ∇ū(x` )i = ∇ū(x` ) + O(h) = ((ū(x` ) − ū(xi ))Nsr + (ū(xs ) − ū(xr ))Ni` ) + O(h),
|I | 2 |Ii` |

i`

 Ii`
Z (6)

 1 1 1
 ∇ū(x` )j = |I | ∇ū(x` ) + O(h) = ((ū(xj ) − ū(x` ))Nsr + (ū(xs ) − ū(xr ))N`j ) + O(h).


`j I`j 2 |I`j |

The fluxes can be indifferently estimated using one or the other of formulas (5), (6).

Let us now recall that the properties of (1) imply that the normal component of the flux is continuous across
the primal face F` . We therefore impose

κi` ∇ū(x` )i · nsr = κ`j ∇ū(x` )j · nsr .


This gives

κi` αi` |G`j |ū(xi ) + κ`j α`j |Gi` |ū(xj ) |Gi` ||G`j |(κ`j β`j − κi` βi` )
ū(x` ) = + (ū(xs ) − ū(xr )) + O(h2 ). (7)
κi` αi` |G`j | + κ`j α`j |Gi` | |F` |(κi` αi` |G`j | + κ`j α`j |Gi` |)

Inserting this value into one of the two equations of (5) results in

κi` ∇ū(x` )i · nsr = κ`j ∇ū(x` )j · nsr


κi` κ`j αi` α`j  κi` κ`j (αi` β`j |G`j | + α`j βi` |Gi` |) 
= ū(xj ) − ū(xi ) + ū(xs ) − ū(xr ) + O(h).
κi` αi` |G`j | + κ`j α`j |Gi` | |F` |(κi` αi` |G`j | + κ`j α`j |Gi` |)
In view of this relation the numerical flux F` through the primal face F` is then given by

F` (u) = γ` (uj − ui ) + δ` (us − ur ), (8)


with

κi` κ`j αi` α`j |F` | κi` κ`j (αi` β`j |G`j | + α`j βi` |Gi` |)
γ` = , δ` = . (9)
κi` αi` |G`j | + κ`j α`j |Gi` | κi` αi` |G`j | + κ`j α`j |Gi` |
Since αi` > 0, α`j > 0, κi` > 0, κ`j > 0 we clearly have γ` > 0.

7
Consider now a boundary face F` . If F` ⊂ ΓD we have ū` = g(x` ). From (5) we then obtain

g(x` ) − ū(xi ) ū(xs ) − ū(xr )


∇ū(x` )i · nsr = αi` + βi` + O(h),
|Gi` | |F` |
so that the Dirichlet boundary flux is defined by

F` (u) = γ` (g(x` ) − ui ) + δ` (us − ur ), (10)


with

|F` |
γ` = κi` αi` , δ` = κi` βi` .
|Gi` |
If F` ⊂ ΓN , we have
Z Z
F̄` = κ∇ū · nsr = g,
F` F`

so that the exact flux F̄` and the approximated one F` are

F̄` = |F` |g(x` ) + O(h2 ), F` (u) = |F` |g(x` ).

4 Dealing with vertex unknows


In order to evaluate the numerical fluxes F` (u), Equations (8) and (10) require the knowledge of the values of
u at the vertices xr of the primal mesh. To compute these values, we propose to use two different methods.
For the first one, described in Section 4.1, vertex values are calculated by interpolation while for the second
one, described in Section 4.2, they are calculated as the solution to the same diffusion problem (1) discretized
on the dual mesh.

4.1 Diamond type scheme


The first way to calculate the vertex values ur is to use a polynomial approximation calculated using the
cell-centered values ui .
For a polynomial of degree 1, we have 3 coefficients to calculate, so at least 6 (3×dimension) neighboring cells
of the cell are required for stability reason: see [14, 26]2 . When it is possible, the stencil will be centered on the
cell, but the closer the cell is to the boundary of the domain or to the discontinuity of κ, the more the stencil
will be shifted in order not to cross the discontinuity.

• • xi • • • xi

• • • • •

• • •

Figure 3: Construction of the stencil for the cell Pi with a discontinuity (in red).
2 An example of the use of polynomials of degree 2 is also provided in the numerical experiments section.

8
To be more precise, the construction of the stencil of a cell Pi is illustrated on Fig. 3. We denote this stencil by
Si = {P0 , ..., Pk }. For the sake of simplicity, we have assumed that the cells involved in the stencil have been
renumbered. First the cell Pi itself (in blue) is added to the stencil and then we add the cells that share, at
least, a vertex with the cell Pi (in yellow). If the number of cells we have already selected is not sufficient (in
our case, 6 cells for a polynomial of order 1), we add the cells that have, at least, a vertex linked to the cells
that we have just been added to the stencil (in green) and so on until we have enough cells. In all the above
process, we impose that the stencil does not cross any discontinuity of κ (see Fig. 3).

Let u0 , ..., uk denote the k + 1 values used for the calculation (k ≥ 5). The polynomial is of the form

Pi (x) = a00 (u0 , ..., uk ) + a10 (u0 , ..., uk )(x − xi ) + a01 (u0 , ..., uk )(y − yi ),
and its coefficients a00 , a10 , a01 are chosen such that

Pi (x0 ) = u0 , ..., Pi (xk ) = uk .


This leads to the following system
    
1 x0 − xi y0 − yi a00 u0
 .. .. .. ..  .
a10  = 
 
 . . .  . 
1 xk − xi yk − yi a01 uk
| {z } | {z } | {z }
=:a
=:M =:b

Since matrix M has more rows than columns we have to use the least square method so that vector a is com-
puted as a solution to the linear system: Mt Ma = Mt b.

In this process note that we do not enforce the continuity of u at the vertices. Indeed, a priori, Pi (xr ) 6= Pj (xr )
for i 6= j.

We thus obtain expressions of the gradients in the direction nsr in the cells Pi and Pj similar to (5)

 ∇ū(x` )i · nsr = αi` ū(x` ) − ū(xi ) + βi` Pi (xs ) − Pi (xr ) + O(h),

|Gi` | |F` |



(11)

 ū(xj ) − ū(x` ) Pj (xs ) − Pj (xr )
 ∇ū(x` )j · nsr = α`j + β`j + O(h).


|G`j | |F` |
Assuming the continuity of the flux F` through the primal face F`

∇ū(x` )i · nsr = ∇ū(x` )j · nsr ,


provides

κi` αi` |G`j |ū(xi ) + κ`j α`j |Gi` |ū(xj )


ū(x` ) =
κi` αi` |G`j | + κ`j α`j |Gi` |
|Gi` ||G`j |(κ`j β`j (Pj (xs ) − Pj (xr )) − κi` βi` (Pi (xs ) − Pi (xr ))
+ + O(h2 ).
|F` |(κi` αi` |G`j | + κ`j α`j |Gi` |)

In view of one of the two equations of (11), having inserting this value into it, the numerical flux F` through
the primal face F` results in

F` (u) = γ` (uj − ui ) + δi` (Pi (xs ) − Pi (xr )) + δ`j (Pj (xs ) − Pj (xr )),

with

κi` κ`j αi` α`j |F` |


γ` = ,
κi` αi` |G`j | + κ`j α`j |Gi` |

9
κi` κ`j α`j βi` |Gi` | κi` κ`j αi` β`j |G`j |
δi` = , δ`j = ,
|G`j |κi` αi` + |Gi` |κ`j α`j |G`j |κi` αi` + |Gi` |κ`j α`j )
so that the diamond scheme writes
 X

 − (γ` (uj − ui ) + δi` (Pi (xs ) − Pi (xr )) + δ`j (Pj (xs ) − Pj (xr )))

`∈i,`∈∂Ω
/







 X
 −
 (γ` (u` − ui ) + δi` (Pi (xs ) − Pi (xr ))) + |Pi |λi ui = |Pi |fi ,
`∈i,`∈∂Ω (12)




u` = g(x` ) x ` ∈ ΓD ,








γ` (u` − ui ) + δi` (Pi (xs ) − Pi (xr )) = |F` |g(x` ) x ` ∈ ΓN .

4.2 DDFV scheme


The second way to calculate the vertex values ur is to consider them as additional unknowns that are solutions
to problem (1) integrated on each cell of the dual mesh, thus following [21]. We have
Z Z Z
− ∇ · (κ∇ū) + λū = f,
Dr Dr Dr

that is, thanks to the divergence theorem


XZ Z Z Z
− κ∇ū · n − κ∇ū · n + λū = f,
`∈r G` Dr ∩∂Ω Dr Dr
X
where the compact notation stands for the sum on all the faces G` = Gi` ∪ G`j (if x` ∈
/ ∂Ω) or G` = Gi`
`∈r
(if x` ∈ ∂Ω) of the dual cell Dr . We obtain

XZ X Z Z Z Z
f + O h3 .

− κi` ∇ū(x` )i · ni` − κj` ∇ū(x` )j · n`j − κ∇ū · n + λū =
`∈r Gi` `∈r,`∈∂Ω
/ G`j Dr ∩∂Ω Dr Dr

We decompose the unit vector ni` (resp. n`j ) in the basis (n⊥ ⊥ ⊥ ⊥
sr , ni` ) (resp. (nsr , n`j ))

ni` = αi` n⊥ ⊥
sr − βi` ni` , n`j = α`j n⊥ ⊥
sr − β`j n`j ,

where the values


1 nsr · ni` 1 nsr · n`j
αi` = , βi` = − , α`j = , β`j = − ,
n⊥
sr · ni` nsr · n⊥
i` n⊥
sr · n`j nsr · n⊥
`j

coincide with those of (4): see Fig. 1. We obtain

∇ū(x` )i · ni` = αi` ∇ū(x` )i · n⊥ ⊥


sr − βi` ∇ū(x` )i · ni` ,

∇ū(x` )j · n`j = α`j ∇ū(x` )j · n⊥ ⊥


sr − β`j ∇ū(x` )j · n`j ,

that is to say, using Taylor expansions (3)

ū(xs ) − ū(xr ) ū(x` ) − ū(xi )


∇ū(x` )i · ni` = αi` + βi` + O(h),
|F` | |Gi` |
ū(xs ) − ū(xr ) ū(xj ) − ū(x` )
∇ū(x` )j · n`j = α`j + β`j + O(h).
|F` | |G`j |

10
Note that these approximations derive directly from the Green-Gauss formula applied to ∇ū in diamond sub-
cells Ii` and I`j already given by (6).

Suppose that x` ∈
/ ∂Ω. In view of the previous equations and of (7), the numerical flux G` through the common
boundary G` = Gi` ∪ G`j of the dual cells Dr and Ds is given by

G` (u) = Γ` (uj − ui ) + ∆` (us − ur ),


with

κi` κ`j (αi` β`j + α`j βi` )




 Γ` = ,



 κi` αi` |G`j | + κ`j α`j |Gi` |



2 2
− κi` βi` + κ`j αi` α`j + κ`j βi` β`j )κi` |G`j |

 (κi` αi`
∆` = (13)

 |F` | (κi` αi` |G`j | + κ`j α`j |Gi` |)



2 2



 (κ`j α`j − κ`j β`j + κi` αi` α`j + κi` βi` β`j )κ`j |Gi` |

 + .
|F` | (κi` αi` |G`j | + κ`j α`j |Gi` |)
If x` ∈ ∂Ω, the common boundary of the dual cells Dr and Ds is G` = Gi` and the numerical flux G` through
G` is given by

G` (u) = Γ` (u` − ui ) + ∆` (us − ur ),


with
κi` βi` κi` αi`
Γ` = , ∆` = . (14)
|Gi` | |F` |
If xr ∈ ΓN , the boundary dual flux is
Z Z
κ∇ū.n̄ = g,
Dr ∩∂Ω Dr ∩∂Ω

the right hand side of which is approximated by (see Fig. 4)


1
|Dr ∩ ∂Ω|g(xr ) = (|F` | + |Fk |)g(xr ).
2
Recalling that δ` , γ` are defined by (9) while Γ` , ∆` are defined by (13) or (14), the DDFV scheme thus writes

 X X X

 − γ` (uj − ui ) − γ` (u` − ui ) − δ` (us − ur ) + |Pi |λi ui = |Pi |fi

`∈i,` ∈∂Ω
/ `∈i,`∈∂Ω `∈i







 X X X



 − Γ ` (uj − ui ) − Γ ` (u` − ui ) − ∆` (us − ur )

 `∈r,` ∈∂Ω
/ `∈r,`∈∂Ω `∈r




+|Dr |λr ur = |Dr |fr + |Dr ∩ ∂Ω|g(xr ) xr ∈
/ ΓD , (15)




x ` ∈ ΓD ,

 u` = g(x` )






x r ∈ ΓD ,

 ur = g(xr )






γ` (u` − ui ) + δ` (us − ur ) = |F` |g(x` ) x ` ∈ ΓN .

Note that ∆` > 0: the proof is given in [22] in the general case where κ is a positive definite matrix.

11
Nsr

s
. . i `

p. m
. r

j k

. q

Nrq
Figure 4: Two primal cells Pi , Pj (black lines), one interior dual cell Dp (blue lines) and one boundary dual cell
Dr = xr x` xi xm xj xk (blue lines) such that Dr ∩ ∂Ω = xk xr ∪ xr x` .

5 A method to make the schemes monotonic


In this section we propose to find a method for the previous methods to be made monotonic. A method
borrowed from [44, 19, 49, 18] and developed in the framework of 2D diffusion on arbitrary meshes can be used.
For any value r we will use the common notation r = r+ − r− with
1 1
(|r| + r) ≥ 0, r− = (|r| − r) ≥ 0.
r+ =
2 2
The numerical primal and dual fluxes F` and G` read as

F` (u) = γ` (uj − ui ) + r` (u), G` (u) = ∆` (us − ur ) + R` (u),


where

r` (u) = δ` (us − ur ), R` (u) = Γ` (uj − ui ).


Suppose that, for all i and r, ui > 0 and ur > 0, we can set

r+ (u) r− (u) R+ (u) R`− (u)


       
F` (u) = γ` + ` uj − γ` + ` ui , G` (u) = ∆` + ` us − ∆` + ur .
uj ui us ur

As γ` > 0, ∆` > 0 we end up with two points primal and dual flux approximations with positive coefficients.
The diamond scheme (12) then rewrites

12
r`+ (u) r`− (u)

X     
− γ` + uj − γ` + ui




 uj ui


 `∈i,`∈∂Ω
/



r+ (u) r− (u)


 X     
 − γ` + ` u` − γ` + ` ui + |Pi |λi ui = |Pi |fi ,


u` ui
`∈i,`∈∂Ω







 u` = g(x` ) x` ∈ ΓD ,



r`+ (u) r`− (u)

    

 γ` + u` − γ` + ui = |F` |g(x` ) x` ∈ ΓN ,


u` ui
while the DDFV scheme (15) rewrites

r`+ (u) r`− (u)



X     
 − γ` + uj − γ` + ui




 `∈i,`∈∂Ω uj ui
/





r`− (u)

X  r`+ (u)

    
− − ui + |Pi |λi ui = |Pi |fi ,


 γ ` + u` γ ` +

 u` ui
`∈i,`∈∂Ω






R`+ (u) R`− (u)


 X     
 − us − ∆` + ur + |Dr |λr ur

 ∆` +
 us ur
`∈r (16)






 = |Dr |fr + |Dr ∩ ∂Ω|g(xr ), xr ∈
/ ΓD ,







 u` = g(x` ) x ` ∈ ΓD ,







 ur = g(xr ) x r ∈ ΓD ,



r`+ (u) r`− (u)

     

γ` + u` − γ` + ui = |F` |g(x` ) x ` ∈ ΓN .


u` ui

The matrices associated with these systems are not symmetric and depend respectively on ui , u` (` ∈ ∂Ω) and
ur . More details about this are given in the following section.

5.1 Matrix form


Denoting
uprimal = (ui )1≤i≤n , udual = (ur )1≤r≤m , u = (uprimal , udual ),
(17)
bprimal = (bi )1≤i≤n , bdual = (br )1≤r≤m , b = (bprimal , bdual ),
and
 primal X X
r` (udual )+ + γ` g(x` ) +


 bi = |Pi |fi + |F` |g(x` ),



 `∈i,`∈ΓD `∈i,`∈ΓN

(18)

 bdual
r = |Dr |fr + |Dr ∩ ∂Ω|g(x` ) xr ∈
/ ΓD ,




 dual
br = |Dr |fr + ζg(x` ) x r ∈ ΓD ,
where ζ is a large value dedicated to taking into account of the Dirichlet boundary conditions by penalization
(for example ζ = 1012 ), system (16) then rewrites under the more compact form

Aprimal (uprimal , udual ) uprimal bprimal


    
0
A(u)u = = = b, (19)
0 Adual (uprimal , udual ) udual bdual

13
with

r` (udual )−

primal
X  
primal dual
Aii (u ,u )= γ` + + |Pi |λi ,




 ui


 `∈i,`6 ∈ Γ N



r` (udual )+

  
primal primal dual

A (u , u ) = − γ + xi 6= xj ,

`

ij
uj








X  R` (uprimal )−

 
dual primal dual
Arr (u ,u )= ∆` + + |Dr |λr xr ∈
/ ΓD , (20)
ur
`∈r,`6∈ΓN






R` (uprimal )−


 X  
dual primal dual
 Arr (u ,u )= ∆` + + |Dr |λr + ζ xr ∈ ΓD ,



 ur


 `∈r,`6 ∈ ΓN



R` (uprimal )+

  

 Adual (uprimal
, u dual
) = − ∆ + xr 6= xs , x` ∈
/ ΓN .

`

rs
us
Thus the monotonicity enforcing procedure leads to two decoupled sparse matrices of size m × m and n × n
depending on u. This is a significant difference with the usual DDFV scheme for which all degrees of freedom
are coupled, leading to a single (m + n) × (m + n) matrix independent of u.
In the case of the monotonic diamond method, we obtain the system

Adiamond (uprimal )uprimal = bdiamond , (21)


with

X  r` (uprimal )−

diamond primal
+ |Pi |λi ,


 A ii (u ) = γ ` +

 ui
`∈i,`6∈ΓN


(22)
X  r` (uprimal )+

 
diamond primal
A (u )=− γ` + xi 6= xj ,


 ij

 uj
`∈i∩j

and
X X
bdiamond r` (uprimal )+ + γ` g(x` ) +

i = |Pi |fi + |F` |g(x` ). (23)
`∈i,`∈ΓD `∈i,`∈ΓN

Remark 5.1. Assuming that f ≥ 0 and g ≥ 0, all the components of the right hand side b are non-negative.
Assuming moreover that f and g are not zero, then at least one component of b is positive.

5.2 Picard iteration method


Both systems (19) and (21) are of the form A(u)u = b. In order to solve them, we use a Picard iteration
method. We start with an initial guess u0 > 0, compute the matrix A(u0 ) and solve A(u0 )u1 = b. Repeating
this process, we build a sequence (uν ) that, if it converges to a positive vector, tends to a solution of the
scheme. We stop the algorithm when the difference uν+1 − uν between two successive iterates is small enough.
To summarize, the following algorithm is used

ν=0
A(u0 )u1 = b
do while kuν k2 < kuν+1 − uν k2
A(uν )uν+1 = b
ν =ν+1
enddo

14
For the monotonic DDFV scheme (16), for example, the linear system A(uν )uν+1 = b writes

! !
r`− (uν )

r`+ (uν )
X  
ν+1 ν+1
− uj − γ` +

 γ` + ui
uνj uνi



`∈i,`∈∂Ω
/







X  r`+ (uν ) r`− (uν )

    
ν+1 ν+1
+ |Pi |λi uν+1


 − γ` + u` − γ` + ui i = |Pi |fi ,
uν` uνi


`∈i,`∈∂Ω







X  R`+ (uν ) R`− (uν )

    
ν+1 ν+1
− − + |Dr |λr uν+1


 ∆ ` + u s ∆ ` + ur r
 uν s uν r
`∈r (24)



= |Dr |fr + |Dr ∩ ∂Ω|g(xr ) xr ∈
/ ΓD ,







uν+1

= g(x` ) x ` ∈ ΓD ,



 `




uν+1 = g(xr ) x r ∈ ΓD ,



 r



r`− (uν )

r+ (uν )

    
ν+1
 γ` + ` ν u` − γ` + uν+1 = |F` |g(x` ) x ` ∈ ΓN .


i
u` uνi
Unfortunately, we are unable to prove that the above algorithm converges. Nevertheless, we prove in Section 6.2
below that the scheme is well defined at each iteration of the algorithm, as soon as the initial guess u0 is positive.
Furthermore we prove in section 6.3 that the solution of the usual DDFV scheme (15) is close (in some sense)
to the solution of the monotonic DDFV scheme (16).

6 Properties
6.1 Monotonicity
Consider the definition of an M-matrix (see for instance [35])
Definition 6.1. An n × n matrix A that can be expressed in the forme A = sI − B, where B = (bij )1≤i,j≤n
with bij ≥ 0, 1 ≤ i, j ≤ n, and s ≥ ρ(B), the maximum of the moduli of the eigenvalues of B, is called an
M-matrix.
We use the following lemma
Lemma 6.2. A matrix A = (Aij )1≤i,j≤n is an M-matrix if it satisfies the following inequalities
n
X
∀i 6= j, Aij ≤ 0, and ∀i, Aij ≥ 0.
j=1

Moreover, if the last inequality is strict, we say that A is a strict M-matrix.


Proposition 6.3. Assume that u > 0. Then the matrices Aprimal and Adual defined by (20) and the matrix
Adiamond defined by (22) are such that (Aprimal )t , (Adual )t and (Adiamond )t are strict M-matrices.
Proof. The matrix Aprimal satisfies
n
X
∀i 6= j, Aprimal
ij ≤0 and ∀j, Aprimal
ij > 0.
i=1
Indeed we have, for all j
 
n n
r` (udual )− r` (udual )+ 
X X X   X  
Aprimal
ij =  γ` + − γ` + + λj |Pj |.
i=1 i=1
ui uj
`∈i,`∈Γ
/ N `∈i∩j

15
Thanks to conservativity, only the boundary terms and the mass term remain, for all j
n n
r` (udual )−
X X X  
Aprimal
ij = γ` + + λj |Pj | > 0.
i=1 i=1 `∈(i∩ΓD )
ui

The above argument has been carried out on Aprimal but the proof applies mutatis mutandis for Adual or
Adiamond .
Remark 6.4. According to (19), it is sufficient to prove that Aprimal and Adual are both strict M-matrices to
prove that A is a strict M-matrix.
Theorem 6.5. Assume that f > 0 and g > 0. Let A and b be defined by (18)-(20) or (22)-(23). Then
A−1 b = u ≥ 0.
Proof. As At is a strict M-matrix A is invertible and its inverse has only non-negative entries (see for example
[40], Corollary 3.20). In view of Remark 5.1, the right hand side is non-negative, hence u = A−1 b ≥ 0.

6.2 Well-posedness of the Picard iteration method


Proposition 6.6. Assume that f ≥ 0, g ≥ 0, and either kf kL2 (Ω) > 0 or kgkL2 (∂Ω) > 0. Assume moreover
that u0 > 0. Then for all ν, uν > 0.
To prove this property, we need to introduce the concept of irreducible matrix. We quote here [40, Defini-
tion 1.15].
Definition 6.7. An n × n matrix A is reducible if there exits an n × n permutation matrix P such that
 
A11 A12
PAPt = ,
0 A22
where A11 , A12 , A22 are respectively r × r, r × (n − r) and (n − r) × (n − r) sub-matrices with 1 ≤ r < n. If
no such permutation matrix exists, then A is irreducible.
The matrices Aprimal , Adual defined by (20) and the matrix Adiamond defined by (22) are irreducible thanks
to the following Lemma (see [40, Theorem 1.17]).
Lemma 6.8. To any n × n matrix A we associate the graph of nodes 1, 2, ..., n and of directed edges connecting
xi to xj if Aij 6= 0. Then A is irreducible if and only if for any pair i 6= j there exists a chain of edges that
allows to go from xi to xj ,

Ai,k1 6= 0 → Ak1,k2 6= 0 → · · · → Akm,j 6= 0.


With these definitions we can make use of the following theorem (see [40], Corollary 3.20).
Theorem 6.9. If A is an irreducible strict M-matrix, then it is invertible and, for all i, j (1 ≤ i, j ≤ n),
(A−1 )ij > 0.
We are now in position to prove Proposition 6.6.
Proof of Proposition 6.6. We argue by induction on the index ν. We assume that uν > 0. Hence (Aprimal (uν ))t
is a strict M -matrix (see Proposition 6.3). It is easy to check that (Aprimal (uν ))t is also irreducible. Thus, apply-
ing Theorem 6.9, all the entries of (Aprimal (uν ))−t are positive. Consequently, all the entries of (Aprimal (uν ))−1
are positive. Using Remark 5.1, we know that all components of b are non-negative. Moreover, because of the
assumption that either kf kL2 (Ω) > 0 or kgkL2 (∂Ω) > 0, at least one component of b is positive. We thus have,
for all i (1 ≤ i ≤ n)
n
X
uν+1
i = (Aprimal (uν ))−1
ij bj > 0,
j=1

since all terms of this sum are non-negative, with one at least that does not vanish.
The above proof has been carried out on Aprimal but the same argument applies for Adual or Adiamond .
Proposition 6.6 shows that the condition uν > 0 remains satisfied during the Picard iteration method, which
allows to define Aprimal (uν ) for all ν ≥ 0.

16
6.3 About the convergence of the fixed-point for the monotonic DDFV scheme
Recall that

• ū = ((ūi )1≤i≤n , (ūr )1≤r≤m ) is the exact solution of (1),


• u = ((ui )1≤i≤n , (ur )1≤r≤m ) is the DDFV solution defined by (15),
• uν = ((uνi )1≤i≤n , (uνr )1≤r≤m )) is the ν-th iterate associated with the monotonic DDFV scheme, that is,
the solution to (24).

We will make use of the following theorem, the proof of which is postponed to Appendix A.
Theorem 6.10. Under assumptions H1, H2, H3 the DDFV scheme defined by (15) is first-order accurate in
the discrete L2 norm, that is, there exists a constant C1 independent of h such that
!1/2
X X
2 2
kū − uk2 = |Pi |(ū(xi ) − ui ) + |Dr |(ū(xr ) − ur ) ≤ C1 h.
i r

We will need the following lemma to prove Theorem 6.12.


Lemma 6.11. Assume that there exists ν > 0 and  > 0 such that

uiν+1 − uνi uν+1 − uνr


 
r
max max , max ≤ . (25)
i uνi r uνr
Then the monotonic DDFV scheme (24) writes
 X
γ` uν+1 − uν+1 + δ` uν+1 − uν+1 + |Pi |λi uν+1 = |Pi |fi + ρνi ,
 


 − j i s r i

 `∈i

X (26)
Γ` uν+1 − uν+1 + ∆` uν+1 − uν+1 + |Dr |λr uν+1 = |Dr |fr + ρνr ,
  



 − j i s r r
`∈r

with

|ρνi | ≤ C, |ρνr | ≤ C, (27)


where C is a constant independant of h and .
Proof. Recall that, for all i, r, ν, uνi > 0 and uνr > 0. Suppose, for example, that

r` (uν ) = δ` (uνs − uνr ) ≥ 0, R` (uν ) = Γ` (uνj − uνi ) ≥ 0,


then r`− (uν ) = R`− (uν ) = 0 and the scheme (24) rewrites
 !
 X
ν+1 ν+1
uν+1
j
ν ν
+ |Pi |λi uν+1

− γ` uj − ui + δ` (us − ur ) ν = |Pi |fi ,


 i

 u j
 `∈i
(28)
X ν+1

ν us


ν ν+1 ν+1
+ |Dr |λr uν+1
 

 − Γ (u
` j − ui ) + ∆ ` us − ur r = |Dr |fr .
uνs


`∈r

From assumption (25) we deduce that, for all i, r, there exists i (|i | ≤ ) and r (|r | ≤ ) such that

uν+1
i = uνi + i uνi , uν+1
r = uνr + r uνr .
Inserting these values into (28) gives (26) with
X X
ρνi = δ` (r uνr − s uνs − j uνr + j uνs ) , ρνr = Γ` i uνi − j uνj − s uνi + s uνj .


`∈i `∈r

As a consequence,

17
     
|ρνi | ≤ 4Nmax max |δ` | max uνr , |ρνr | ≤ 4Nmax max |Γ` | max uνi ,
` r ` i

where we recall that Nmax is the maximum number of faces of primal and dual cells. This concludes the
proof.
Theorem 6.12. Assume that H1, H2, H3 hold, and that the assumptions of Lemma 6.11 are satisfied. Then,
there exists a constant C4 , independent of h and , such that

kū − uν+1 k2 ≤ C1 h + C4 ,
with C1 the constant defined by Theorem 6.10.
Proof. System (15) writes

Au = f
with

f = ((|Pi |fi )1≤i≤n , (|Dr |fr )1≤r≤m ) ,


while system (26) writes

Auν+1 = f + f
with

f = ((ρνi )1≤i≤n , (ρνr )1≤r≤m ) .


By difference and thanks to the stability Lemma A.5, there exists a constant C2 such that

ku − uν+1 k2 ≤ C2 kf k2 .
Thanks to Lemma 6.11 there exists a constant C3 such that

kf k2 ≤ C3 .
Then choosing C4 = C2 C3 and applying the triangle inequality and Theorem 6.10 we obtain

kū − uν+1 k2 ≤ kū − uk2 + ku − uν+1 k2 ≤ C1 h + C4 ,


which concludes the proof.
Note that Theorem 6.12 is not a convergence theorem. Indeed if we make both h and  tend to zero, the positive
solution uν+1 tends to the DDFV numerical solution u which is only possible if u itself is non negative. Roughly
speaking one can say that the (positive) numerical solution uν+1 obtained at the end of the iterative process is
close to the (non necessarily positive) DDFV numerical solution u that itself is close to the exact solution ū.
Note also that condition (25) is constraining: in practice we rather use the condition kuν+1 − uν k∞ ≤ kuν k∞
or kuν+1 − uν k2 ≤ kuν k2 as a stopping criterion.

7 Numerical experiments
Given Ω =]0, 1[2 , κ a diffusion coefficient and g a function defined on ∂Ω, consider Problem (1) with λ = 0 and
ΓN = ∅
(
−∇ · (κ∇ū) = f in Ω,
(29)
ū = g on ∂Ω.
In addition to Cartesian meshes we will use the two following types of meshes (see Fig. 5):

18
1. deformed meshes, the deformation of which from the Cartesian mesh is given by

(x, y) → (x + 0.1 sin(2πx) sin(2πy), y + 0.1 sin(2πx) sin(2πy)),


2. randomly deformed meshes, the deformation of which from the unit Cartesian mesh with cells of size ∆x
is given by

(x, y) → 0.1(x, y) + 0.9(x + 0.45a∆x, y + 0.45b∆x),


where a, b are random numbers distributed according to the uniform law on [−1, 1].

(a) A deformed mesh (b) A random mesh

Figure 5: Examples of deformed meshes.

The L2 and H 1 -errors used in the following tests are respectively given by

ku − ūk2 k∇h u − ∇ūk2


and ,
kūk2 k∇ūk2
where
!1/2
X 2
k∇ūk2 = |I` | k∇ū(x` )k ,
`
!1/2
2
X 1 1
k∇h u − ∇ūk2 = |I` | ((uj − ui )Nsr + (us − ur )Nij ) − ∇ū(x` ) .
2 |I` |
`
For DDFV type schemes we plot on figures 8, 9, 11, 12, the primal numerical values while on tables 2, 3, 4, the
maxima and minima are computed over both primal and dual values.

7.1 Accuracy
Three simple benchmarks are proposed to assess the accuracy of our monotonic schemes in comparison with
the usual (non monotonic) DDFV scheme. For these three tests, we choose  = 10−12 as the stopping criterion
of the fixed point algorithm.

7.1.1 Checking the preservation of linear solutions


Given κ(x) = 1 f (x) = 0 and g(x) = −x − y + 2, the positive linear function ū(x) = −x − y + 2 is solution to
(29). We perform a study of this problem on the deformed mesh (see Fig. 5a) with 32 × 32 cells for each of the
three schemes. The L2 -error between the exact solution ū and the approximated one u are reported in Table
1. The error is zero, to machine precision, when ū is a polynomial of degree 1.

19
Scheme L2 -error H 1 -error

DDFV 2.58e − 15 4.46e − 14


Monotonic DDFV 9.42e − 15 6.30e − 13
Monotonic diamond (degree 1) 1.05e − 14 1.02e − 13

Table 1: Comparison between the different schemes for the positive linear solution to problem of Section 7.1.1.

7.1.2 Anisotropic diffusion coefficient


Given
 
1 0
κ(x) = , f (x) = 3π 2 sin(πx) sin(πy), g(x) = 0,
0 2
the function ū(x) = sin(πx) sin(πy) is solution to (29). We perform a convergence study for this problem with a
sequence of successively refined deformed meshes like the one of Fig. 5a. Results are summarized in Fig. 6 which
shows that all schemes are second-order accurate in the L2 norm. Of course, similar results may be obtained for
a scalar-valued diffusion coefficient κ. We see that the error in H 1 -norm is second-order convergent for DDFV
methods (which is a nice feature already observed [20, 23]). The diamond scheme is only first-order accurate
in the H 1 norm. However, we show that we are able to achieve the second-order accuracy for the H 1 norm for
this scheme. To do that, we reconstruct the gradient with polynomials of degree two instead of one.

7.1.3 Discontinuous diffusion coefficient


Recall that we have assumed that possible discontinuities of the diffusion coefficient κ occur only along the
primal cell faces. Given
 1
 1
 if x≤
2
κ(x) = , f (x) = 2π 2 cos(πx) cos(πy) + 20, g(x) = 0,

 2 1
if x>
2
the function
 1
 cos(πx) cos(πy) − 10x2 + 12
 if x≤ ,
2
ū(x) =
 1 cos(πx) cos(πy) − 5x2 + 43

if x> ,
1
2 4 2
is solution to (29). We perform a convergence study for this problem with a sequence of successively refined
deformed meshes as shown in Fig. 5a.
Fig. 7 shows that, in the present case of a discontinuous κ, the results are similar to those of the continuous
case, that is to say, the scheme is second-order accurate. However, both schemes are only first-order accurate
in H 1 norm in this case.

7.2 Monotonicity test problems


We propose two benchmarks to compare the usual DDFV scheme, which can give nonpositive solutions, with
our monotonic diamond and DDFV schemes which always give nonnegative solutions.

7.2.1 Tensor-valued coefficient κ and square domain with a square hole


2
Consider the square domain with a square hole Ω =]0, 1[2 \ 94 , 59 , f (x) = 0 in Ω and g(x) = 0 (resp. g(x) = 2)


on the external (resp. internal) boundary. We have chosen


   
cos θ sin θ 1 0 cos θ − sin θ π
κ= , θ= .
− sin θ cos θ 0 104 sin θ cos θ 6

20
100 DDFV
DDFV
10−1 MONOTONIC DDFV MONOTONIC DDFV
MONOTONIC DIAMOND (degree 1)
MONOTONIC DIAMOND (degree 1)
MONOTONIC DIAMOND (degree 2)
2nd ORDER
2nd ORDER
10−1 1st ORDER

10−2

H1 − ERROR
L2 − ERROR

10−2

10−3

10−3

10−4

10−4

4 8 16 32 64 4 8 16 32 64 128
NUMBER OF CELLS PER DIRECTION NUMBER OF CELLS PER DIRECTION

Figure 6: L2 (on the left) and H 1 (on the right) errors for problem of Section 7.1.2.

DDFV MONOTONIC DDFV


MONOTONIC DDFV MONOTONIC DIAMOND (degree 1)
10−2
MONOTONIC DIAMOND (degree 1) 1st ORDER
2nd ORDER

10−1

10−3
H1 − ERROR
L2 − ERROR

10−4 10−2

10−5

4 8 16 32 64 128 4 8 16 32 64 128
NUMBER OF CELLS PER DIRECTION NUMBER OF CELLS PER DIRECTION

Figure 7: L2 (on the left) and H 1 (on the right) errors for problem of Section 7.1.3.

We compare the results obtained with the monotonic diamond and DDFV schemes on a Cartesian mesh with 36
cells per direction. We use a quite low number of degrees of freedom for this test to exhibit the non-monotonicity
of the DDFV scheme (which tends to cancel in refining the mesh, see also section 7.2.2). The stopping criterion
of the fixed point algorithm is  = 10−12 . Figure 8 shows the mesh, the DDFV solution and its negative and
positive parts. Fig. 9 displays the monotonic DDFV and diamond solutions while Table 2 gives the minimum
and the maximum of each solution.
While the solution obtained with the usual DDFV scheme has a negative minimum we can see that the solutions
obtained with the monotonic methods are always positive, as expected.

Scheme Minimum of the solution Maximum of the solution

DDFV −4.59 × 10−1 2.05


Monotonic DDFV 1.65 × 10−17 2.01
Monotonic diamond (degree 1) 2.46 × 10−32 1.95

Table 2: Minimum and maximum of the numerical solution to the problem of section 7.2.1 for the Cartesian mesh with
36 cells by direction.

21
Figure 8: Mesh (top, left), DDFV solution to problem of section 7.2.1 (top, right) and its negative (bottom, left) and
positive (bottom, right) parts.

Figure 9: Monotonic DDFV (on the left) and diamond (degree 1, on the right) solutions to problem of section 7.2.1.

7.2.2 Fokker-Planck type diffusion equation


This benchmark is a simplified version of the one from [27]. Given Ω =] − 50, 50[2 , T = 250, v = (vx , vy )
the velocity variable and V = (−20, 20) the averaged velocity, we are looking for the distribution function

22
ū = ū(v, t), solution to the simplified Fokker-Planck equation
∂ ū


 − ∇v (κ∇v ū) = 0 in Ω × [0, T ],
 ∂t



κ∇v ū · n = 0 on ∂Ω × [0, T ], (30)





ū(0) = ū0

in Ω,
where the diffusion coefficient κ = κ(v) and the initial condition ū0 are given by
1 1
κ(v) = I − v ⊗ v, ū0 (v) = exp(−kv − Vk2 ).
kvk2 π
Note that the full Fokker-Planck equation would read as
∂ ū
+ ∇v · (vū) − ∇v (κ∇v ū) = 0.
∂t
It is well known that the n-order moments of ū (0 ≤ n ≤ 2) are preserved over the time
Z  Z  Z 
d d d 2
ū = 0, vū = 0, kvk ū = 0.
dt Ω dt Ω dt Ω

The backward Euler scheme is used for time discretization.


To limit the calculation time, the stopping criterion of the fixed point algorithm is  = 10−5 . Fig. 11 (resp. 12)
displays the DDFV (resp. monotonic DDFV and diamond) numerical solutions obtained with the Cartesian,
deformed and random meshes of 2002 cells. Table 3 gives the minima and maxima of the DDFV solution for a
sequence of refined Cartesian meshes and Table 4 gives the minima and the maxima of the numerical solution
obtained with the DDFV, monotonic DDFV and diamond schemes. We observe that the minima of the DDFV
solution are negative but converge to zero as h tends to zero while the minima of the solutions to monotonic
schemes always remain non negative, as expected. Compared to both the non monotonic and monotonic DDFV
schemes the monotonic diamond scheme is more diffusive. This could be explained by the use of a larger stencil
required for polynomial reconstruction.
The conservation of the zero-order moment of ū at the discrete level is a property of ours schemes. It is more
challenging to obtain a conservation of a discrete equivalent of the second-order moment.
Thanks to the identity
1
v= ∇v (kvk2 ),
2
one can introduce an approximation v` of v in the diamond cell I` by using the Green-Gauss formula
 1 1
(kvj k2 − kvi k2 )Nsr + (kvs k2 − kvr k2 )Nij

v = `∈
/ ∂Ω,
 `

4 |I` |


(31)
 1 1
(kv` k2 − kvi k2 )Nsr + (kvs k2 − kvr k2 )Ni`
 
 v` =
 ` ∈ ∂Ω.
4 |I` |
We then prove the following proposition.

23
Proposition 7.1. Consider the DDFV solution to (30), that is,


un+1 − uni 1 X 1
i
(un+1 − un+1 )Nsr κ` Nsr + (un+1 − un+1

|P | −


 i j i s r )Nij κ` Nsr

 ∆t 2 |I` |
`∈i,`∈∂Ω
/







 1 X 1
(un+1 − un+1 )Nsr κ` Nsr + (un+1 − un+1
 

 − ` i s r )Ni` κ` Nsr = 0,
2 |I` |



 `∈i,`∈∂Ω





un+1 − unr 1 X 1

|Dr | r (un+1 − un+1 )Nsr κ` Nij + (un+1 − un+1

− j i s r )Nij κ` Nij (32)
 ∆t 2 |I` |
`∈r,`∈∂Ω
/







 1 X 1
(un+1 − un+1 )Nsr κ` Ni` + (un+1 − un+1
 

 − ` i s r )Ni` κ` Ni` = 0,
2 |I` |



 `∈r,`∈∂Ω





 1 1 (un+1 − un+1 )Nsr κ` Nij + (un+1 − un+1 )Nij κ` Nij = 0

 
x` ∈ ∂Ω,

` i s r
2 |I` |

with the following approximations of κ in a diamond cell I` such that v` ∈


/ ∂Ω
1
κ` = I − v` ⊗ v` ,
kv` k2
with v` calculated by (31).

Let E n be the following discrete equivalent of the second-order moment


!
n 1 X X
E = |Pi |kvi k2 uni + |Dr |kvr k2 unr .
2 i r

Then, for all n ≥ 0, E n = E 0 .

Proof. We multiply the first (resp. second) equation of (32) by kvi k2 (resp. kvr k2 ) and sum over primal (resp.
dual) cells Pi (resp. Dr ). Adding these two sums we get
!
1 X 2 n+1
X
2 n+1
X
2 n
X
2 n
|Pi |kvi k ui + |Dr |kvr k ur − |Pi |kvi k ui − |Dr |kvr k ur
∆t i r i r

1X 1
(kvi k2 − kvj k2 )Nsr + (kvr k2 − kvs k2 )Nij κ` (un+1 − un+1 )Nsr + (un+1 − un+1
 
− j i s r )Nij = 0.
2 |I` |
`

Then, noting that κ` v` = 0, we obtain thanks to (31)


X X X X
|Pi |kvi k2 un+1
i + |Dr |kvr k2 un+1
r = |Pi |kvi k2 uni + |Dr |kvr k2 unr ,
i r i r
n+1 n
that is, E =E .

The numerical results displayed in Fig. 10 show that the second order moment is conserved over time for the
non-monotonic DDFV scheme, as it has been proved. However, it is not exactly conserved with monotonic
DDFV scheme because we do not exactly solve the DDFV system. However, the conservation error is far lower
than for the positive diamond scheme.

24
Number of cells Cartesian mesh Deformed mesh Random mesh

100 × 100 −1.89 × 10−3 −2.38 × 10−3 −3.15 × 10−3


200 × 200 −2.48 × 10−4 −1.25 × 10−3 −2.41 × 10−3
Minima 400 × 400 −6.32 × 10−13 −2.14 × 10−4 −9.92 × 10−4
800 × 800 −1.66 × 10−13 −7.95 × 10−7 −7.63 × 10−4
1600 × 1600 −8.53 × 10−14 −1.97 × 10−7 −4.58 × 10−4
100 × 100 1.19 × 10−2 1.16 × 10−2 1.65 × 10−2
200 × 200 1.04 × 10−2 1.04 × 10−2 1.14 × 10−2
Maxima 400 × 400 1.01 × 10−2 1.01 × 10−2 1.09 × 10−2
800 × 800 1.01 × 10−2 1.01 × 10−2 1.09 × 10−2
1600 × 1600 1.01 × 10−2 1.01 × 10−2 1.08 × 10−2

Table 3: Minima and maxima of the DDFV solution of (30) at time T = 250 on refined Cartesian meshes.

Scheme Cartesian mesh Deformed mesh Random mesh

DDFV −2.48 × 10−4 −1.25 × 10−3 −2.41 × 10−3


Minima Monotonic DDFV 5.46 × 10−30 2.53 × 10−30 4.63 × 10−40
Monotonic diamond (degree 1) 1.86 × 10−29 1.42 × 10−22 1.58 × 10−23
DDFV 1.04 × 10−2 1.04 × 10−2 1.14 × 10−2
Maxima Monotonic DDFV 1.04 × 10−2 0.97 × 10−2 1.02 × 10−2
Monotonic diamond (degree 1) 0.29 × 10−2 0.32 × 10−2 0.31 × 10−2

Table 4: Minima and maxima of the numerical solutions to (30) at time T = 250 on the three types of 200 × 200 cells
meshes.

25
807 MONOTONIC DDFV
MONOTONIC DIAMOND (degree 1)
DDFV
806

805

ENERGY
804

803

802

801

0 20 40 60 80 100 120 140 160 180 200 220 240


TIME

Figure 10: Variation of energy over time for the 3 schemes on cartesian mesh of 200 × 200 cells.

Figure 11: DDFV solution to (30) at time T = 250 on the Cartesian (top left), deformed (top right) and random
(bottom) mesh of 200 × 200 cells.

8 Concluding remarks
In this paper, we propose two new monotonic schemes for the diffusion equation, which are based on the same
cell-centered discretization. This first step is called primal scheme, and the consistency of the primal fluxes
relies on a correct evaluation of dual (node-centered) unknowns. The difference between the two schemes lies

26
Figure 12: Monotonic DDFV (on the left) and diamond (degree 1, on the right) solutions to (30) at time T = 250 on
the Cartesian (top), deformed (middle) and random (bottom) mesh of 200 × 200 cells.

in the evaluation of these dual quantities. For the first one, which is called diamond type, the dual unknowns
are evaluated, using a polynomial reconstruction involving values in neighbouring (primal) cells. For the
second one, called DDFV type, the evaluation of the dual unknown is obtained by solving a diffusion problem
discretized on the dual mesh. This second scheme is an improvement with respect to the nonlinear monotonic
DDFV method of [6]. Indeed, the new nonlinear method we have proposed here makes it possible to deal with
all types of boundary conditions (Dirichlet, Neumann) and is second-order convergent even for discontinuous
diffusion coefficients. For both methods, we adapt the same non-linear process borrowed from [44, 19, 49, 18],
we assess their monotonicity and accuracy on several test cases and compare the results with the classical (non-
monotonic) DDFV scheme. Moreover, the DDFV type monotonic scheme takes advantage of very nice features
of the DDFV scheme, such as second-order accuracy in H 1 norm, while providing non-negative solutions.
In the future, we plan to extend theses schemes to arbitrary order, using the techniques developed in the 1D
setting in [4].

27
A Proof of convergence for the DDFV scheme
For simplicity we will restrict ourselves to the case κ = 1, λ = 0, g = 0 and ΓN = ∅ in (1), that is,
(
−∇ · (∇ū) = f in Ω,
(33)
ū = g on ∂Ω.
To simplify the proof, we suppose further that the dual mesh is made of cells obtained by joining the center
of each primal cell with the center of each of its neightbors and with the middle of its boundary faces (but
it extends to the barycentric dual mesh used in this paper). In this case we observe that the dual boundary
G` = Dr ∩ Ds coincides with the segment xi xj . Denote by nij the unit vector orthogonal to G` directed from
Dr to Ds , Nij = kxi − xj knij , and by θ` the angle between vectors n⊥
ji and nsr (see Fig. 13).

Nsr
θ`

. .
j

s . . r
`
Nij
i

.
Figure 13: Two primal cells Pi , Pj (black lines) such that Pi ∩ Pj = F` = xr xs and two dual cells Dr , Ds (blue lines)
such that Dr ∩ Ds = G` = xi xj .

We define

h = max(|F` |, |G` |).


`

Applying the method used in Sections 3 and 4.2, we have

1 ū(xj ) − ū(xi ) sin(θ` ) ū(xs ) − ū(xr )


∇ū(x` ) · nsr = + + O(h),
cos(θ` ) |G` | cos(θ` ) |F` |
1 ū(xs ) − ū(xr ) sin(θ` ) ū(xj ) − ū(xi )
∇ū(x` ) · nij = + + O(h).
cos(θ` ) |F` | cos(θ` ) |G` |
This is equivalent to say that ∇ū is approximated in the diamond cell I` using the Green-Gauss formula

28
Z
1 1 1
∇ū(x` ) = ∇ū + O(h) = (Nsr (uj − ui ) + Nij (us − ur )) + O(h).
|I` | I` 2 |I` |
The discretization of (33) with the DDFV scheme then writes

 1 X 1
 − (Nsr (uj − ui ) + Nij (us − ur )) · Nsr
2 |I `|





 `∈i,` ∈∂Ω
/



1 X 1


− (Nsr (u` − ui ) + Ni` (us − ur )) · Nsr = |Pi |fi ,




 2 |I `|
`∈i,`∈∂Ω






 −1 1

 X

(Nsr (uj − ui ) + Nij (us − ur )) · Nij
2 |I` | (34)
 `∈r,` ∈∂Ω
/





 1 X 1
− (Nsr (u` − ui ) + Ni` (us − ur )) · Nij = |Dr |fr + |Dr ∩ ∂Ω|g(xr ),


2 |I` |




 `∈r,`∈∂Ω




x` ∈ ∂Ω,

 u` = g(x` )






xr ∈ ∂Ω.

ur = g(xr )
The following proofs are inspired from the arguments of [16] for admissible meshes and from [2] for general
meshes (see also [12], [47]). In the sequel we will assume that the exact solution ū satisfies ū ∈ W 2,∞ (Ω).

A.1 Consistency of the fluxes


Let us denote by
1. F̄` , Ḡ` the exact primal and dual fluxes
Z Z
F̄` = ∇ū · nsr , Ḡ` = ∇ū · nij ,
F` G`

2. F` (u), G` (u) the approximated primal and dual fluxes

1 1
F` (u) = ((uj − ui )Nsr + (us − ur )Nij ) · Nsr ,
2 |I` |
1 1
G` (u) = ((uj − ui )Nsr + (us − ur )Nij ) · Nij ,
2 |I` |
3. F` (ū), G` (ū) what we can call the semi-approximated primal and dual fluxes

1 1
F` (ū) = ((ū(xj ) − ū(xi ))Nsr + (ū(xs ) − ū(xr ))Nij ) · Nsr ,
2 |I` |
1 1
G` (ū) = ((ū(xj ) − ū(xi ))Nsr + (ū(xs ) − ū(xr ))Nij ) · Nij .
2 |I` |
Proposition A.1 (Consistency of the fluxes for the DDFV scheme). Assume that H1 is satisfied. Then we
have
C` 2C

2
 F̄` − F` (ū) ≤ cos(θ ) |F` | ((1 + | sin(θ` )|)|F` | + |G` |) ≤ cos(θ ) h ,


` 0
(35)
C` 2C
 Ḡ` − G` (ū) ≤ |G` | ((1 + | sin(θ` )|)|G` | + |F` |) ≤ h2 ,


cos(θ` ) cos(θ0 )
where C` ≤ C0 kD2 ūkL∞ , where C0 is a universal constant, and C = max C` .
`

29
Proof. Using the midpoint integration formula we have
Z Z
F̄` = ∇ū(x` ) · nsr + O(|F` |2 ), Ḡ` = ∇ū(x` ) · nij + O(|G` |2 ),
F` G`

hence

Z
1 1
F̄` − F` (ū) = ∇ū(x` ) · nsr − ((ū(xj ) − ū(xi ))Nsr + (ū(xs ) − ū(xr ))Nij ) · Nsr + O(|F` |2 ),
F` 2 |I` |
Z
1 1
Ḡ` − G` (ū) = ∇ū(x` ) · nij − ((ū(xj ) − ū(xi ))Nsr + (ū(xs ) − ū(xr ))Nij ) · Nij + O(|G` |2 ).
G` 2 |I` |
Since

1 1 |F` | ⊥ sin(θ` ) ⊥ 1 |G` | ⊥ sin(θ` ) ⊥


|I` | = cos(θ` )|F` ||G` |, Nsr = − N + N , Nij = N − N ,
2 cos(θ` ) |G` | ij cos(θ` ) sr cos(θ` ) |F` | sr cos(θ` ) ij

we obtain

1 |F` | sin(θ` )
F̄` − F` (ū) =− ∇ū(x` ) · N⊥ij + ∇ū(x` ) · N⊥ sr
cos(θ` ) |G` | cos(θ` )
1 |F` | sin(θ` )
− (ū(xj ) − ū(xi )) − (ū(xs ) − ū(xr )) + O(|F` |2 ),
cos(θ` ) |G` | cos(θ` )
1 |G` | sin(θ` )
Ḡ` − G` (ū) = ∇ū(x` ) · N⊥ sr − ∇ū(x` ) · N⊥ ij
cos(θ` ) |F` | cos(θ` )
sin(θ` ) 1 |G` |
− (ū(xj ) − ū(xi )) − (ū(xs ) − ū(xr )) + O(|G` |2 ).
cos(θ` ) cos(θ` ) |F` |
Using Taylor expansions in the neighborhood of x`

ū(xj ) = ū(xi ) − ∇ū(x` ) · N⊥ 2


ij + O(|G` | ), ū(xs ) = ū(xr ) + ∇ū(x` ) · N⊥ 2
sr + O(|F` | ),

we deduce (35).

A.2 Discrete Poincaré inequality



Lemma A.2 (Discrete Poincaré inequality). Assume that H2 and H3 are satisfied. Consider e = eprimal , edual ∈
Rn+m , where eprimal = (ei )1≤i≤n and edual = (er )1≤r≤m . Assume moreover that

∀r ∈ ∂Ω, er = 0. (36)

Then we have

!1/2 √ 2 2 !!1/2

 
X X Nmax ξ X ej − ei es − er
|Pi |e2i + |Dr |e2r ≤ 2 2 diam(Ω) |I` | + ,
i r
cos(θ0 ) |G` | |F` |
`

where we use the convention that, if ` ⊂ ∂Ω, then ei − ej = ei and the constants Nmax , ξ, θ0 are definied by
H2 and H3.
Proof. Given a point x ∈ Ω, let y(x) be the (first) point of intersection between the horizontal half line (for
example) passing through x and the boundary ∂Ω (see Fig. 14). For any primal face F` , let χ` : Ω −→ {0, 1}
be defined by
(
1 if F` ∩ [x, y(x)] 6= ∅,
χ` (x) =
0 otherwise.

30
We note that
Z
χ` ≤ diam(Ω)|F` |, (37)

where diam(Ω) = max kx − yk is the diameter of Ω.


x,y∈Ω

Fixing x ∈ Pi , we write e2i as a telescopic sum along the segment [x, y (x)], that is,

e2i = e2i − e2j + ... + e2k − e2` ,


where the difference e` = 0, hence
X
|e2i | ≤ |e2i − e2j + ... + e2k − e2` | ≤ |e2i − e2j |,
`

with the convention that, in the right hand side, if ` ⊂ ∂Ω, then ej = e` = 0.

p q

s
. j
. y(x)
x `
i k
. .
r
Figure 14: An example of a sequel of three adjacent primal cells Pi , Pj , Pk and a horizontal (dashed) half line coming
.
from the point x ∈ Pi and intersecting the interior faces Fp , Fq and the boundary face F` at point y(x).

The definition of χ` allows to write this as follow


X
e2i ≤ |e2j − e2i |χ` (x),
`

where the sum runs over all faces F` such that F` ∩ [x, y (x)]. Integrating this inequality over Pi with respect
to x, we have
Z X Z
2 2 2 2
ei = |Pi |ei ≤ |ej − ei | χ` .
Pi ` Pi

Using (37), we deduce that


Z ! Z
X X X X X
|Pi |e2i ≤ |e2j − e2i | χ` ≤ |e2j − e2i | χ` ≤ diam(Ω) |F` ||e2j − e2i |,
i i ` Pi ` Ω `

that is to say,
X X
|Pi |e2i ≤ diam(Ω) |F` ||e2j − e2i |. (38)
i `

Noting that

31
1 1/2 |ej − ei | 1/2
X X
|F` ||e2j − e2i | = (cos(θ` )|F` ||G` |) (cos(θ` )|F` ||G` |) |ej + ei |,
cos(θ` ) |G` |
` `

and using assumption H1, we obtain

1 1/2 |ej − ei | 1/2


X X
|F` ||e2j − e2i | ≤ (cos(θ` )|F` ||G` |) (cos(θ` )|F` ||G` |) (|ej | + |ei |).
cos(θ0 ) |G` |
` `

Hence, using the Cauchy-Schwarz inequality and recalling that


1
|I` | = cos (θ` ) |F` ||G` |,
2
we infer
 2 !1/2 !1/2
X 2 X ej − ei X
|F` ||e2j − e2i | ≤ |I` | |I` |(|ej | + |ei |)2 .
cos(θ0 ) |G` |
` ` `

Since

(|ei | + |ej |)2 ≤ 2(|ei |2 + |ej |2 ),


this gives
√  2 !1/2 !1/2
X 2 2 X ej − ei X
|F` ||e2j − e2i | ≤ |I` | 2
|I` |(|ej | + |ei | ) 2
. (39)
cos(θ0 ) |G` |
` ` `

Taking into account assumptions H2 and H3 we have


X X X
|I` |(e2i + e2j ) ≤ ξ (|Pi |e2i + |Pj |e2j ) ≤ Nmax ξ |Pi |e2i .
` ` i

Inserting this estimate into (39), we deduce that


√ 2 !1/2 !1/2
√ Nmax ξ

X X ej − ei X
|F` ||e2j − e2i | ≤2 2 |I` | |Pi |e2i .
cos(θ0 ) |G` | i
` `

Using Equation (38) gives


!1/2 √ 2 !1/2


X Nmax ξ X ej − ei
|Pi |e2i ≤ 2 2 diam(Ω) |I` | . (40)
i
cos(θ0 ) |G` |
`

Applying the same argument to the dual mesh, we also have


!1/2 √ 2 !1/2


X Nmax ξ X es − er
|Dr |e2r ≤ 2 2 diam(Ω) |I` | . (41)
r
cos(θ0 ) |F` |
`

Collecting (40) and (41), we obtain


!1/2 √ 2 2 !!1/2

 
X X Nmax ξ X ej − ei es − er
|Pi |e2i + |Dr |e2r ≤ 2 2 diam(Ω) |I` | + ,
i r
cos(θ0 ) |G` | |F` |
`

which concludes the proof.

32
A.3 Convergence
Proposition A.3 (Convergence of the DDFV scheme). Let ei = ū(xi ) − ui (1 ≤ i ≤ n) and er = ū(xr ) − ur
(1 ≤ r ≤ m), where u is the solution of System (34). Assume that H1, H2, H3 are satisfied. Then we have
!1/2
X X
|Pi |e2i + |Dr |e2r ≤ C1 h,
i r

where C1 is a constant independent of h.


Proof. The fluxes F̄` , F` (u), Ḡ` , G` (u) are such that
X X Z X X Z
− F̄` = − F` (u) = f and − Ḡ` = − G` (u) = f.
`∈i `∈i Pi `∈r `∈r Dr

Therefore,
X X X X
F̄` = F` (u), Ḡ` = G` (u).
`∈i `∈i `∈r `∈r

Given ei = ū(xi ) − ui and er = ū(xr ) − ur we deduce that


 
X X  1X 1
(F` (ū) − F` (u)) = F` (ū) − F̄` = ((ej − ei )Nsr + (es − er )Nij ) · Nsr ,
2 |I` |
`∈i `∈i `∈i
 
X X  1X 1
(G` (ū) − G` (u)) = G` (ū) − Ḡ` = ((ej − ei )Nsr + (es − er )Nij ) · Nij .
2 |I` |
`∈r `∈r `∈r

Multiplying these relations respectively by ei and er and summing over the primal cells Pi and dual cells Dr ,
we obtain

 
X X X X 1 XX 1
ei (F` (ū) − F̄` ) + er (G` (ū) − Ḡ` ) = ei ((ej − ei )Nsr + (es − er )Nij ) · Nsr
i r
2 i |I` |
`∈i `∈r `∈i
 
1 XX 1
+ er ((ej − ei )Nsr + (es − er )Nij ) · Nij .
2 r |I` |
`∈r

Exchanging the sums, this reads as

X   
F` (ū) − F̄` (ej − ei ) + G` (ū) − Ḡ` (es − er )
`
1X 1
(ej − ei )2 Nsr · Nsr + (es − er )2 Nij · Nij + 2(ej − ei )(es − er )Nsr · Nij

=
2 |I` |
`
 2  2 !
X 1 ej − ei es − er ej − ei es − er
=2 |I` | + + 2 sin(θ` ) . (42)
cos(θ` )2 |G` | |F` | |G` | |F` |
`

This expression is nonnegative owing to the following inequality, which holds for all X, Y ∈ Rn

1  1 + | sin(θ` )|
X2 + Y 2 ≤ X 2 + Y 2 + 2 sin(θ` )XY = X 2 + Y 2 + 2 sin(θ` )XY .

2
(43)
1 − | sin(θ` )| cos(θ` )
Estimate (43) and equality (42) imply
 2  2 !
X ej − ei es − er
|I` | +
|G` | |F` |
`

33
 2  ! 2
X 1 + | sin(θ` )| ej − ei es − er
ej − ei es − er
≤ |I` | + + 2 sin(θ` )
cos(θ` )2 |G` | |G` | |F` |
|F` |
`
 2  2 !
X 1 ej − ei es − er ej − ei es − er
≤2 |I` | + + 2 sin(θ` )
cos(θ` )2 |G` | |F` | |G` | |F` |
`
X   
= F` (ū) − F̄` (ej − ei ) + G` (ū) − Ḡ` (es − er ) .
`

Using the Cauchy-Schwarz inequality we obtain


X 
(F` (ū) − F̄` )(ej − ei ) + (G` (ū) − Ḡ` )(es − er )
`
1 1
X  |I` | /2  |I` | /2

|G` | |F` |
= F ` (ū) − F̄ ` (e j − e i ) + G ` (ū) − Ḡ` (es − er )
`
|I` |1/2 |G` | |I` |1/2 |F` |
!1/2 2 2 !!1/2
X |G` |2 2 |F` |2 2 X 
ej − ei

es − er
≤ F` (ū) − F̄` + G` (ū) − Ḡ` |I` | + ,
|I` | |I` | |G` | |F` |
` `

hence

2 2 !!1/2 X |G` |2
!1/2
|F` |2
 
X ej − ei es − er 2 2
|I` | + ≤ F` (ū) − F̄` + G` (ū) − Ḡ` . (44)
|G` | |F` | |I` | |I` |
` `

Applying the consistency of fluxes (35) we have

X |G` |2 |F` |2
2 2
F` (ū) − F̄` G` (ū) − Ḡ`
+
|I` | |I` |
`
X C2  2 2

`
≤4 ((1 + | sin(θ ` )|)|F` | + |G ` |) + ((1 + | sin(θ ` )|)|G` | + |F ` |)
cos(θ` )4
`
C2
≤8 |Ω|(2 + σ)2 h2 , (45)
cos(θ0 )4

with

C = max C` , σ = max | sin(θ` )|.


` `

Inserting (45) into (44), we deduce


2 2 !!1/2

 
X ej − ei es − er C 1
|I` | + ≤ 8 2
|Ω| 2 (2 + σ)h. (46)
|G` | |F` | cos(θ0 )
`

Applying Lemma A.2 to the left-hand side of Equation (46), we conclude that
!1/2
X X
|Pi |e2i + |Dr |e2r ≤ C1 h,
i r

with

1 C p
C1 = 8 diam(Ω)|Ω| /2 3
(2 + σ) Nmax ξ,
cos(θ0 )
hence the method is (at least) first-order convergent.

34
A.4 Coercivity
Lemma A.4 (Coercivity). Let A be the matrix associated with the DDFV discretization (34) of equation (33).
There exists a constant C2 independent of h such that

∀u ∈ Rn , kuk22 ≤ C2 ut Au.
Proof. Owing to the identity
1
|I` | = cos(θ` )|F` ||G` |,
2
we have
 
t 1 X 1 2 1 X 1 2
u Au = kNsr (uj − ui ) + Nij (us − ur )k + kNsr (u` − ui ) + Ni` (us − ur )k
2 |I` | 2 |I` |
`∈∂Ω
/ `∈∂Ω
 2  2 !
X 1 uj − ui us − ur uj − ui us − ur
=2 |I` | + + 2 sin(θ` )
cos(θ` )2 |G` | |F` | |G` | |F` |
`∈∂Ω
/
!
  2   2
X 1 u` − ui us − ur u` − ui us − ur
+2 |I` | + + 2 sin(θ` ) .
cos(θ` )2 |G` | |F` | |G` | |F` |
`∈∂Ω
As we have assumed that u = g = 0 on ∂Ω we can use the Lemma A.2 to u = ((ui )1≤i≤n , (ur )1≤r≤m ) instead
of e = ((ei )1≤i≤n , (er )1≤r≤m ). Therefore there exists a constant C2 independent of h such that
!1/2  2  2 !!1/2
X X X uj − ui us − ur
|Pi |u2i + |Dr |u2r ≤ C2 |I` | + .
i r
|G` | |F` |
`
Using inequality (43), we have
2   2 !
uj − ui
X us − ur
|I` | +
|G` | |F` |
`
 2  2 !
X 1 uj − ui us − ur uj − ui us − ur
≤2 |I` | + + 2 sin(θ` ) ,
cos(θ` )2 |G` | |F` | |G` | |F` |
`
which allows to conclude the proof.

A.5 Stability
Lemma A.5 (Stability). Let u be the solution to (34). We have

kuk2 ≤ C2 kf k2 ,
where C2 does not depend on u, f and h.
Proof. We have
X X
ut Au = |Pi |fi ui + |Dr |fr ur ,
i r
hence, owing to the Cauchy-Schwarz inequality
!1/2 !1/2
X X X X
t
u Au ≤ |Pi |fi2 + |Dr |fr2 |Pi |u2i + |Dr |u2r = kf k2 kuk2 .
i r i r
Now, thanks to lemma A.4, we obtain

kuk22 ≤ C2 ut Au ≤ C2 kf k2 kuk2 ,
which allows to conclude.

35
References
[1] I. Aavatsmark, G.T. Eigestad, R.A. Klausen, M.F. Wheeler, and I. Yotov. Convergence of a symmetric
MPFA method on quadrilateral grids. Comput. Geosci., 11(4):333–345, 2007.
[2] B. Andreianov, F. Boyer, and F. Hubert. Discrete duality finite volume schemes for Leray-Lions type
elliptic problems on general 2D meshes. Numer. Methods Partial Differ. Eq., 23:pp 145–195, 2007.

[3] E. Bertolazzi and G. Manzini. A second-order maximum principle preserving finite volume method for
steady convection-diffusion problems. SIAM J. Numer. Anal., 43(5):2172–2199, 2005.
[4] X. Blanc, F. Hermeline, E. Labourasse, and J. Patela. High-order monotone finite-volume schemes for 1D
elliptic problems. HAL ID: cea-03421015, 2022.
[5] X. Blanc and E. Labourasse. A positive scheme for diffusion problems on deformed meshes. Z. Angew.
Math. Mech., 96(6):660–680, 2016.
[6] J.-S. Camier and F. Hermeline. A monotone nonlinear finite volume method for approximating diffusion
operators on general meshes. Int. J. Numer. Meth. Engng, 107:496–519, 2016.
[7] C. Cancès and C. Guichard. Numerical analysis of a robust free energy diminishing finite volume scheme
for parabolic equations with gradient structure. Found. Comput. Math., 17:1525–1584, 2017.
[8] F. Cao, Y. Yao, Y. Yu, and G. Yuan. A conservative enforcing positivity-preserving algorithm for diffusion
scheme on general meshes. Int. J. Numer. Anal. Model., 13(5):739–752, 2016.
[9] P. Ciarlet. Discrete maximum principle for finite-difference operators. Aeq. Math., 4:338–352, 1970.

[10] P. Ciarlet and P.-A. Raviart. Numerical analysis of a robust free energy diminishing finite volume scheme
for parabolic equations with gradient structure. Found. Comput. Math., 2:17–31, 1973.
[11] B. Després. Non linear schemes for the heat equation in 1D. ESAIM: M2AN, 48(1):107–134, 2014.
[12] K. Domelevo and P. Omnes. A finite volume method for the laplace equation on almost arbitrary two-
dimensional grids. ESAIM: M2AN, 39(6):1203–1249, 2005.

[13] J. Droniou and C. Le Potier. Construction and convergence study of schemes preserving the elliptic local
maximum principle. SIAM J. Numer. Anal., 49(2):459–490, 2011.
[14] M. Dumbser, W. Boscheri, M. Semplice, and G. Russo. Central weighted eno schemes for hyperbolic
conservation laws on fixed and moving unstructured meshes. SIAM J. Sci. Comput., 39(6):A2564–A2591,
2017.
[15] L. Evans. Application of nonlinear semigroup theory to certain partial differential equations. In Michael G.
Crandall, editor, Nonlinear Evolution Equations, pages 163–188. Academic Press, 1978.
[16] R. Eymard, T. Gallouët, and R. Herbin. Finite volume methods. In Ph. G. Ciarlet and J.-L. Lions, editors,
Handbook of numerical analysis, volume VII. North-Holland, Amsterdam, 2000.

[17] R. Eymard, T. Gallouët, and R. Herbin. Discretization of heterogeneous and anisotropic diffusion problems
on general nonconforming meshes SUSHI: A scheme using stabilization and hybrid interfaces. IMA J.
Numer. Anal., 30(4):1009–1043, 2010.
[18] Y. Gao, G. Yuan, S. Wang, and X. Hang. A finite volume element scheme with a monotonicity correction
for anisotropic diffusion problems on general quadrilateral meshes. J. Comput. Phys., 407:109143, 2020.
[19] Z. Gao and J. Wu. A second-order positivity-preserving finite volume scheme for diffusion equations on
general meshes. SIAM Journal on Scientific Computing, 37(1):A420–A438, 2015.
[20] R. Herbin and F. Hubert. Benchmark on discretization schemes for anisotropic diffusion problems on
general grids. In R. Eymard and J.-M. Herard, editors, Finite volume for complex applications, problems
and perspectives V. Wiley, 2008.

36
[21] F. Hermeline. A finite volume method for the approximation of diffusion operators on distorted meshes.
J. Comput. Phys., 160(2):481–499, 2000.
[22] F. Hermeline. Approximation of diffusion operators with discontinuous tensor coefficients on distorted
meshes. Comput. Methods Appl. Mech. Eng., 192(16-18):1939–1959, 2003.

[23] F. Hermeline. Nouvelles méthodes de volumes finis pour approcher des équations aux dérivées partielles
sur des maillages quelconques. Habilitation à diriger des recherches, CEA/DAM Ile de France, 2008.
[24] J. Karátson, S. Korotov, and M. Křı́žek. On discrete maximum principles for nonlinear elliptic problems.
Math. Comput. Simul., 76(1):99–108, 2007.
[25] S. Korotov, M. Křı́žek, and P. Neittaanmäki. Weakened acute type condition for tetrahedral triangulations
and the discrete maximum principle. Math. Comp., 70(233):107–119, 2000.
[26] M. Käser and A. Iske. Ader schemes on adaptive triangular meshes for scalar conservation laws. J. Comput.
Phys., 205(2):486–508, 2005.
[27] O. Larroche. An efficient explicit numerical scheme for diffusion-type equations with a highly inhomoge-
neous and highly anisotropic diffusion tensor. J. Comput. Phys., 223:436–450, 2007.
[28] C. Le Potier. Schéma volumes finis monotone pour des opérateurs de diffusion fortement anisotropes sur
des maillages de triangles non structurés. C. R. Math., 341(12):787–792, 2005.
[29] C. Le Potier. Correction non linéaire et principe du maximum pour la discrétisation d’opérateurs de
diffusion avec des schémas volumes finis centrés sur les mailles. C. R. Math., 348(11-12):691–695, 2010.

[30] K. Lipnikov, M. Shashkov, D. Svyatskiy, and Yu. Vassilevski. Monotone finite volume schemes for diffusion
equations on unstructured triangular and shape-regular polygonal meshes. J. Comput. Phys., 227(1):492–
512, 2007.
[31] K. Lipnikov, D. Svyatskiy, and Y. Vassilevski. Interpolation-free monotone finite volume method for
diffusion equations on polygonal meshes. J. Comput. Phys., 228(3):703–716, 2009.
[32] K. Lipnikov, D. Svyatskiy, and Y. Vassilevski. Minimal stencil finite volume scheme with the discrete
maximum principle. Russian J. Numer. Anal. Math. Modelling, 27(4):369–385, 2012.
[33] R. Liska and M. Shashkov. Enforcing the discrete maximum principle for linear finite element solutions of
second-order elliptic problems. Commun. Comput. Phys., 3(4):852–877, 2008.

[34] R. Loubère, M. Staley, and B. Wendroff. The repair paradigm: New algorithms and applications to
compressible flow. J. Comput. Phys., 211(2):385–404, 2006.
[35] R.J. Plemmons. m-matrix characterizations.i – nonsingular m-matrices. Linear Algebra and its Applica-
tions, (2):175 – 188.

[36] M. Schneider, L. Agélas, G. Enchéry, and B. Flemisch. Convergence of nonlinear finite volume schemes
for heterogeneous anisotropic diffusion on general meshes. J. Comput. Phys., 351:80–107, 2017.
[37] Z. Sheng and G. Yuan. The finite volume scheme preserving extremum principle for diffusion equations
on polygonal meshes. J. Comput. Phys., 230(7):2588–2604, 2011.

[38] Z. Sheng and G. Yuan. A new nonlinear finite volume scheme preserving positivity for diffusion equations.
J. Comput. Phys., 315:182–193, 2016.
[39] Z. Sheng, J. Yue, and G. Yuan. Monotone finite volume schemes of nonequilibrium radiation diffusion
equations on distorted meshes. SIAM J. Sci. Comput., 31(4):2915–2934, 2009.
[40] R. S. Varga. Matrix iterative analysis, volume 1. Prentice Hall, 1962.

[41] T. Vejchodskỳ and P. Šolı́n. Discrete maximum principle for higher-order finite elements in 1D. Math.
Comp., 76(260):1833–1846, 2007.

37
[42] J. Wang, Z. Sheng, and G. Yuan. A finite volume scheme preserving maximum principle with cell-centered
and vertex unknowns for diffusion equations on distorted meshes. Appl. Math. Comput., 398(1):1–21, 2021.
[43] S. Wang, G. Yuan, Y. Li, and Z. Sheng. Discrete maximum principle based on repair technique for diamond
type scheme of diffusion problems. Int. J. Numer. Methods Fluids, 70(9):1188–1205, 2012.

[44] J. Wu and Z. Gao. Interpolation-based second-order monotone finite volume schemes for anisotropic
diffusion equations on general grids. Journal of Computational Physics, 275:569–588, 2014.
[45] Y. Yao and G. Yuan. Enforcing positivity with conservation for nine-point scheme of nonlinear diffusion
equations. Comput. Methods Appl. Mech. Eng., 223:161–172, 2012.
[46] Y. Yu, X. Chen, and G. Yuan. A finite volume scheme preserving maximum principle for the system of
radiation diffusion equation with three temperatures. SIAM J. Sci. Comput., 41(1):93–113, 2019.
[47] G. Yuan and Z. Sheng. Analysis of accuracy of a finite volume scheme for diffusion equations on distorted
meshes. J. Comput. Phys., 224:1170, 2007.
[48] G. Yuan and Z. Sheng. Monotone finite volume schemes for diffusion equations on polygonal meshes. J.
Comput. Phys., 227(12):6288–6312, 2008.
[49] X. Zhang, S. Su, and J. Wu. A vertex-centered and positivity-preserving scheme for anisotropic diffusion
problems on arbitrary polygonal grids. Journal of Computational Physics, 344:419–436, 2017.
[50] F. Zhao, Z. Sheng, and G. Yuan. A monotone combination scheme of diffusion equations on polygonal
meshes. Z. Angew. Math. Mech., 100(5):1–25, 2020.

38

You might also like