Appendix A
Table of Notations

Here mathematical expressions and corresponding FreeFem++ commands are noted.

A.1 Generalities

δij
Kronecker delta (0 if i j, 1 if i = j for integers i,j)
for all
there exist
i.e.
that is
PDE
partial differential equation (with boundary conditions)
the empty set
the set of integers (a ∈ int a); “int” means long integer inside FreeFem++
ℝ
the set of real numbers (a ∈ ℝ real a) ;double inside FreeFem++
the set of complex numbers (a ∈ complex a); complex¡double¿
ℝd
d-dimensional Euclidean space

A.2 Sets, Mappings, Matrices, Vectors

Let E,F,G be three sets and A subset of E.

{x ∈ E|P}
the subset of E consisting of the elements possessing the property P
E F
the set of elements belonging to E or F
E F
the set of elements belonging to E and F
E \A
the set {x ∈ E|x A}
E + F
E F with E F =
E ×F
the cartesian product of E and F
En
the n-th power of E (E2 = E ×E, En = E ×En-1)
f : E F
the mapping form E into F, i.e., E x↦→f(x) ∈ F
IE or I
the identity mapping in E,i.e., I(x) = x x ∈ E
f g
for f : F G and g : E F, E x↦→(f g)(x) = f(g(x)) ∈ G (see Section 4.6)
f|A
the restriction of f : E F to the subset A of E
{ak}
column vector with components ak
(ak)
row vector with components ak
(ak)T
denotes the transpose of a matrix (a k), and is {ak}
{aij}
matrix with components aij, and (aij)T = (a ji)

A.3 Numbers

For two real numbers a,b

[a,b] is the interval {x ∈ ℝ|a x b}
]a,b] is the interval {x ∈ ℝ|a < x b}
[a,b[ is the interval {x ∈ ℝ|a x < b}
]a,b[ is the interval {x ∈ ℝ|a < x < b}

A.4 Differential Calculus

∂f∕∂x
the partial derivative of f : ℝd ℝ with respect to x ( dx(f))
f
the gradient of f : Ω ℝ,i.e., f = (∂f∕∂x,∂f∕∂y)
divf or .f
the divergence of f : Ω ℝd, i.e., divf = ∂f 1∕∂x + ∂f2∕∂y
Δf
the Laplacian of f : Ω ℝ, i.e., Δf = 2f∕∂x2 + 2f∕∂y2

A.5 Meshes

Ω
usually denotes a domain on which PDE is defined
Γ
denotes the boundary of Ω,i.e., Γ = Ω (keyword border, see Section 5.1.2)
Th
the triangulation of Ω, i.e., the set of triangles Tk, where h stands for mesh size (keyword mesh, buildmesh, see Section 5)
nt
the number of triangles in Th (get by Th.nt, see “mesh.edp”)
Ωh
denotes the approximated domain Ωh = k=1ntT k of Ω. If Ω is polygonal domain, then it will be Ω = Ωh
Γh
the boundary of Ωh
nv
the number of vertices in Th (get by Th.nv)
[qiqj
] the segment connecting qi and qj
qk1,qk2,qk3
the vertices of a triangle T k with anti-clock direction (get the coordinate of qkj by (Th[k-1][j-1].x, Th[k-1][j-1].y))
IΩ
the set {i ∈ |qi Γ h}

A.6 Finite Element Spaces

L2(Ω)
the set {                            }
       |||∫          2
 w(x,y)||   |w(x,y)|dx dy < ∞
          Ω
              (∫              )1∕2
norm :∥w∥0,Ω =     |w (x,y)|2dxdy
                Ω    ∫

scalar product:(v,w ) =  vw
                       Ω
H1(Ω)
the set {          |∫                               }
       2   |||   (       2         2)
 w  ∈ L (Ω )|  Ω |∂w ∕∂x| + |∂w∕∂y | dxdy < ∞
              (               )1∕2
n orm :∥w∥1,Ω =  ∥w ∥20,Ω + ∥∇u ∥20.Ω
Hm(Ω)
the set {           ||∫                                                   }
       2    ||   --∂|α|w---    2                     2
  w ∈ L (Ω) || Ω ∂xα1∂yα2 ∈ L (Ω ) ∀α = (α 1,α 2) ∈ ℕ ,|α| = α 1 + α2
                        ∑  ∫
scalar product:(v,w)1,Ω =        D αvD αw
                       |α|≤m  Ω
H01(Ω)
the set {                      }
 w ∈ H 1(Ω )|u = 0  on Γ
L2(Ω)2
denotes L2(Ω) ×L2(Ω), and also H1(Ω)2 = H1(Ω) ×H1(Ω)
Vh
denotes the finite element space created by “ fespace Vh(Th,*)” in FreeFem++ (see Section 6 for “*”)
Πhf
the projection of the function f into Vh (“ func f=x^2⋆y^3; Vh v = f;” means v = Πh f)
{v}
for FE-function v in Vh means the column vector (v1,⋅⋅⋅,vM)T if v = v 1ϕ1 + ⋅⋅⋅+ vMϕM, which is shown by “ fespace Vh(Th,P2); Vh v; cout << v[] << endl;