B.Maury pdf 2

Handling moving bodies and interfaces with the Finite Element Method
(Mumbai lecture notes)
Bertrand Maury
July 12, 2015
Contents
1 Arbitrary Lagrangian Eulerian approach (general presentation)
2
2 Arbitrary Lagrangian Eulerian approach for Navier-Stokes equation
7
3 Arbitrary Lagrangian Eulerian approach (implementation)
8
4 Closed range operators
9
5 Constrained quadratic optimization (general presentation)
10
6 Duality method – implementation
11
7 Duality method – numerical analysis – abstract setting
12
8 Duality method – principles
16
9 Duality method (some scalar examples)
18
10 Duality method (theoretical issues)
20
11 Energy balance
21
12 Fictitious domain method (general presentation)
23
13 Fluid models
25
14 Oscillating drop
28
15 Penalty method (implementation)
28
16 Penalty method (principles)
30
17 Penalty method (some scalar examples)
31
18 Penalty method – theoretical issues
32
19 Rigid body constraint (a scalar toy problem)
34
1
20 Rigid body constraint (the real stuff )
36
21 Rigid body constraint – implementation
39
22 Sedimentating particle
40
23 Surface tension
40
24 Symmetrized gradient or not ?
40
25 Uzawa algorithm
41
26 Water waves
43
1
Arbitrary Lagrangian Eulerian approach (general presentation)
−→ 2, 3
We consider a fluid material system, that we follow in its motion. The domain occupied by the fluid at
time t is denoted by Ω(t). which is delimited by
∂Ω(t) = Γ(t),
(1.1)
where Γ(t) is the free surface. We shall disregard for now the equations to which the velocity u(x, t) is a
solution, and focus on the kinematical aspects.
Lagrangian approach
The fact that the domain Ω(t) is “moved” by the physical velocity can be expressed the following way
(Lagrangian approach): one can build mappings
L( . , t)
:
Ω(0) −→ Ω(t)
x0 7−→ xt = L(x0 , t)
where s 7−→ L(x0 , s) is the characteristic curve from x0 to xt in R2 :

 ∂ L(x , s) = u(L(x , s), s)
0
0
∂s

L(x0 , 0) = x0 .
(1.2)
(1.3)
It can be written in integral form
L(x0 , t) = x0 +
Z
t
u (L(x0 , s), s) ds.
(1.4)
0
The domain at time t can be written as
Ω(t) = {L(x0 , t) , x0 ∈ Ω(0)}.
(1.5)
(A space-time representation of this setting in 1d is proposed in Fig. 1.1).
Consider now a quantity α(x, t) defined on the moving fluid domain (it may be a temperature, a concentration, or something pertaining to the motion itself, like a velocity component). The partial derivative with
2
(L(x, t), t)
t
x
(x, 0)
Figure 1.1: Lagrangian approach (in 1d)
respect to t corresponds to the Eulerian approach: the evolution of the quantity is followed by considering
a fixed point in the underlying referential. An alternative standpoint, that is the Lagrangian one, consists
in following a particle along its path. The Lagrangian evolution is
t 7−→ α(L(x0 , t), t).
The so-called Lagrangian derivative, or total derivative, or material derivative, corresponds to the straight
time derivative of this quantity, i.e.
∂α ∂L
∂α
d
α(L(x0 , t), t) =
+
· ∇α =
+ u · ∇α.
dt
∂t
∂t
∂t
It is commonly denoted by a capital D, i.e. Dα/Dt.
The fully Lagrangian approach consists it using the domain at some time, say t = 0, as a reference
domain, on which the space variable is defined. We shall write
α0 (x, t) = α(L(x, t), t).
This space variable plays also the role of a label, i.e. x encodes the physical particle that was at x at time
0. Of course, the reference time can be different from 0.
Arbitrary Lagrangian Eulerian (ALE) standpoint
In what follows, we investigate the possibility to build mappings between the domains (similar to (1.5)),
with a field which is not the fluid velocity. The approach is based on a definition of the domain velocity
that is partially decoupled from the fluid velocity: it has to satisfy some consistency relations so that the
computational domain will follow the actual fluid domain (the behavior must remain globally Lagragian),
but it will be defined within the domain in order to minimize the domain motion (Eulerian tendency: move
the vertices as little as possible). The fact that the second step can be performed arbitrarily explains the
name of the approach: Arbitrary Lagrangian Eulerian.
The definition of the domain velocity is based on a mapping
(u, Ω) 7−→ c = C(u, Ω),
3
(1.6)
t
(c,1)
(u,1)
y
Particle pathline
ALE trajectory
c
u
x
Figure 1.2: Space time domain
where Ω is a smooth domain, u and c are regular fields defined in Ω (domains and fields are supposed at
least C 1 ).
Definition 1.1 (Consistent ALE mapping, continuous case) The ALE mapping
u 7→ c = C(u, Ω)
is said to be consistent if, for any Ω, u,
u(x) · n(x) = c(x) · n(x)
, ∀x ∈ Γ,
(1.7)
where n(x) is the normal vector to Γ = ∂Ω at x.
We consider a consistent ALE mapping C, and the associated domain velocity field c(x, t).
Proposition 1.2 The characteristics associated to the space–time field (c(x, t), 1) remain in the space–time
domain
[
S=
Ω(t) × {t}.
t∈[0,T ]
In other words, the 3D field (c(x, t), 1) can be integrated in the physical space-time domain S corresponding
to the time interval [0, T ].
Proof :Let us show how equation (1.7) ensures that this field is tangent to the “lateral” boundary of S
(boundary of S excepting Γ(0) × {0} and Γ(T ) × {T }). Let t = (tx , ty ) be the vector tangent to Γ(t) at x.
4
The normal vector to the space–time domain S at (x, t) can be expressed

 
 

tx
ux
ty
,
−tx
N =  ty  ×  uy  = 
0
1
tx uy − ty ux
(1.8)
so that, on the lateral boundary,
c
1
·N

 

cx
ty
 = cx ty − cy tx + tx uy − ty ux
=  cy  · 
−tx
1
tx uy − ty ux
= u·n−c·n
(1.10)
= 0
(1.11)
as soon as u and c verify the consistency relation (1.7).
Proposition 1.2 makes it possible to define applications between the Ω(t):
(1.9)
γ(·, t1 ; t2 ) : Ω(t1 ) −→ Ω(t2 )
x1 ∈ Ω(t1 ) 7−→ x2 = γ(x1 , t1 ; t2 )
where (γ(x1 , t1 ; t), t) is the characteristic curve from (x1 , t1 ) to (x2 , t2 ) in S:
(
d
(γ(x1 , t1 ; t), t) = [c(γ(x1 , t1 ; t), t), 1]
dt
γ(x1 , t1 ; t1 ) = (x1 , t1 )
For each τ , the ALE velocity is then defined by
uτ (x, t) = u(γ(x, τ ; t), t) (x ∈ Ω(τ ), γ(x, τ ; t) ∈ Ω(t))
(1.12)
uτ (γ(x, t; τ ), t) = u(x, t) (x ∈ Ω(t)).
(1.13)
which is equivalent to
Partial derivation with respect to t of (1.13) at t = τ gives
∂u
∂t
=
=
∂uτ
∂γ + ∇uτ ·
∂t
∂t t=τ
∂uτ
− (cτ · ∇) uτ
∂t
(1.14)
Note that identity (1.13) can be used to define the ALE version of any scalar or vector field Φ(x, t) defined
in the space time domain (for x ∈ Ω(t)).
Remark 1.3 Evolution problems in a fixed domain lead to a cylindrical space–time domain (set product of
the space domain by the time interval). When the domain moves, this space–time S is no longer cylindrical.
The approach which has been carried out can be seen as a way to straighten S locally by introducing the ALE
velocity: the partial time derivative of the new field follows the lateral boundary of S.
5
u
R
c
Figure 1.3: Fields u, R, and c.
Actual computation of the domain velocity
The proper way to define the velocity c on the boundary is highly dependent on the type of flow which is
considered. We shall restrict ourself here to a simple way which consists in prescribing the direction R of
the boundary velocity. For a given class of domains, let R(·, Ω) be a given family of vector fields: for any
Ω, R is defined on Γ = ∂Ω, and it is such that R · n > 0 on Γ. If we prescribe R to be the direction of the
boundary velocity, then the consistency relation (1.7) imposes the consistent ALE mapping
(u, Ω) 7−→ c = C(u, Ω)
(1.15)
to be defined uniquely (on the boundary) as
c=
See Fig. 2 for an example of field c.
u·n
R·n
R.
(1.16)
Definition of the domain velocity within the domain plays little role in the present approach. We chose
to solve a Laplace equation for each component of the domain velocity c, which can be expressed in vector
form
△c = 0
(1.17)
with boundary conditions given by (1.16).
6
2
Arbitrary Lagrangian Eulerian approach for Navier-Stokes equation
Lagrangian formulation. We first consider the Lagrangian formulation of Navier-Stokes equations. Follwing the approach that is described in the beginning of Section 1, we denote by u0 the Lagrangian velocity
with respect to the initial configuration, i.e.
u0 (x0 , t) = u(L(x0 , t), t).
Since the space variable is Lagrangian, the partial time derivative of u0 is the total derivative. Indeed, for
x0 fixed,
d
∂
d
d
u0 (x0 , t) =
(u(L(x0 , t), t)) = u + ( L(x0 , t) · ∇)u
dt
dt
∂t
∂t
Du
∂
.
= u(L(x0 , t), t) + (u · ∇)u =
∂t
Dt
As a consequence, the Navier-Stokes equation expressed in the Lagrangian variable at t = 0 write
ρ
∂u0
− µ∆u0 + ∇p0 = f ,
∂t
(2.1)
with ∇ · u0 = 0.
This linearization of Navier-Stokes equations is only valid instantaneously. If one aims at expressing
it at a time t different from that of the reference domain, the partial time derivative will still express the
total derivative (i.e., the term (u · ∇)u is dropped), but the terms that correspond to space derivatives will
be deeply affected, in a nonlinear way. Indeed, the eulerian coordinate at time t (according to which the
Laplacian et gradient operators are defined) and the Lagrangian one x0 are related by
x0 7−→ x = L(x0 , t).
Nevertheless, assuming smoothness in time, we have that (2.1) is valid at the first order in a neighborhood
of t = 0; it is then possible to design a numerical method of the Lagrangian type, by using the Lagrangian
coordinates that corresponds to the current configuration. The time stepping approach can be described in
the next
the following way. Denote by Ωn and un the domain and velocity at time tn . We denote by un+1
n
n
velocity, defined in the lagrangian coordinates associated with Ω . It can be computed as the solution to
ρ
− un
un+1
n
− µ∆un+1
+ ∇pn+1
= f.
n
n
δt
(2.2)
The domain Ωn+1 is now defined the as the push forward of Ωn by δtun :
Ωn+1 = {x + δtun (x) , x ∈ Ωn } .
The velocity un+1 is then defined by
un+1 (x + δtun (x)) = un+1
n (x).
Note that the latter operation, as tricky as it may look, is actually trivial in terms of computation. In the
is an array of values associated to the vertices of
discrete setting, e.g. for piecewise affine functions, un+1
n
n
n
the triangulation T of Ω . The next triangulation is obtained by performing
T n+1 = T n + δtun .
7
simply consists in doing nothing to the array of velocities1 .
The equation defining un+1 from un+1
n
The method that has been presented is quite simple to implement, and is based on solutions of linear
systems (the nonlinear term has been dropped). Yet, it is restricted to very few situations, because in
practice the underlining mesh is likely to degenerate, up to creation of reversed triangles, that will stop the
computation.
ALE formulation. ALE velocity uτ (x, t) and ALE pressure, which are defined on Ω(τ ) and related to the
Eulerian velocity by (1.12), verify the ALE Navier–Stokes equations at t = τ , for every τ ∈]0, T ]:
(
∂uτ
+ ρ ((uτ − cτ ) · ∇) uτ − µ△uτ + ∇pτ = g
ρ
(2.3)
∂t
∇ · uτ = 0
The ALE Navier-Stokes equations can be discretized in time. Whereas in the Lagragian approach, the
nonlinear term disappears, it does not in the present context, since the motion of the domain is partially
decoupled from the actual motion of fluid particles. As a consequence, a modified nonlinear term remains in
the equations, and it has to be handled in some way. The method of characteristics can be used to handle
it. The difference with the full eulerian case is that the velocity must be advected by the velocity that is
relative to the domain velocity, i.e. u − c. In the time discretized setting, the scheme consists in computing
the domain velocity cn , and then solving
ρ
un+1
− un ◦ X
n
− µ∆un+1
+ ∇pn+1
= g,
n
n
δt
in the current domain Ωn , with ∇ · un+1
= 0, and X is the foot of the characteristic, which is obtained by
n
n
n
upstream integration of u − c during δt. The next domain is then obtained as
Ωn+1 = Ωn + δtcn .
The last step consists in transferring ALE quantities to the new domain but, as explained at the end of the
previous section, this operation can be performed at zero cost.
3
Arbitrary Lagrangian Eulerian approach (implementation)
←− 1, 2.
−→ 26, 14.
Push-forward of quantities
Both Lagrangian and ALE framework are based on the push-forward of quantities by some displacement
mapping. Consider a certain quantity u (e.g. any component of the velocity). Its Lagrangian (or ALE,
depending how the motion of the domain is defined) counterpart is uτ (·, t), in such a way that uτ (x, τ + δt)
is the value of the quantity at point x′ , where x′ is the location at time τ + δt of the particle that was at x
′
at time τ . At the discrete level unn (xi ) is the quantity at vertex xi , at time tn . Now, un+1
n (xi ) is the same
1
With some softwares like Freefem++, a special attention to this step has to be paid, as detailed in Section 3. Indeed, when
a field is defined on a certain mesh, if the mesh is moved (e.g. with the command movemesh), when the initial field is called,
an interpolation between the two meshes is automatically performed. In a way, Freefem++ favors the function represented
by a discrete field before the array of values that represented. It is necessary to use auxiliary arrays to bypass this automatic
interpolation (see Section 3).
8
quantity, but it is now associated to a vertex that has moved (x′i = xi + cn (xi )). If one deals with a vector
of values indexed by the vertex indices, it is sufficient to move the vertices and keep the vector unchanged
to perform this situation.
What follows is very specific to Freefem++ . This software considers a discrete field as a function more
than an array of values. Consider e.g. a field like ux (first component of the velocity) that has been computed
as a piecewise affine function on a mesh Th, and another field pux that is defined in the space P1 associated
to the same mesh. If the mesh is moved according to
Th = movemesh(Th,[x+dt*cx,y+dt*cy]);
and if one updates pux with the instruction pix = ux, Freefem++ will interpolate the values between the
two meshes. More precisely, to compute the nodal value of pux at a vertex i of the new mesh, the position
of the vertex will be located in the previous configuration, and the corresponding value of the field will be
computed by interpolation of ux in the previous configuration. To keep the same nodal values for ux and
pux, the following trick can be used:
tmp=ux[]; pux=0; pux[]=tmp ;
where tmp has been defined previously as an auxiliary array :
real[int] tmp(ux[].n);
Prescribing the normal velocity
In the ALE context, whenever the direction R of the boundary mesh motion has been chosen, the mesh
velocity is
u·n
R.
(3.1)
c=
R·n
This formula has to be implemented pointwisely, whereas the normal vector is natively defined on edges.
The definition of pointwise normal vector is a tricky issue2 , and we shall not go deep in this direction. We
propose here a simple way to implement this formula in Freefem++ , based on the penalty approach (see
Section 16). The idea is to prescribe the velocity on the boundary by adding to the variational formulation
!
Z
u · n 1
R − c · c̃ .
ε
R·n
Γf ree
4
Closed range operators
Theorem 4.1 (Open mapping theorem)
Let V and Λ be two Banach spaces, and T ∈ L(V, Λ) an onto mapping. There exists c > 0 such that
BF (0, c) ⊂ T (BE ) .
Corollary 4.2 Let V and Λ be two Banach spaces, and T ∈ L(V, Λ) a one-to-one and onto mapping. Then
T −1 is continuous.
2
Actually, there are different ways to define such a normal, depending on which kind of property or standpoint one wants to
comply with. For example, if one is concerned with mass conservation, i.e. if one wants the discrete divergence free character
of the computed velocity field to induce a conservation of the volume at the first order in time, one will make an appropriate
choice of normal vector, that is, in 2d, the length-weighted mean of the normal vector of adjacents boundary edges.
9
Proposition 4.3 Let V and Λ be two Banach spaces, and T ∈ L(V, Λ). We have that
im T ⋆ ⊂ (ker T )◦ .
In the where case where V is a Hilbert space (and more generally when it is reflexive), it holds that
im T ⋆ = (ker T )◦ .
Proposition 4.4 Let V and Λ Be two Banach spaces, and T ∈ L(V, Λ). The following assertions are
equivalent:
(i) im T is closed.
(ii) im T ⋆ is closed.
(iii) There exists C > 0 such that
∀z ∈ im T , ∃u ∈ V , z = T u , kuk ≤ C kzk .
Proposition 4.5 Let V and Λ Be two Hilbert spaces, and T ∈ L(V, Λ). The following assertions are
equivalent:
(i) T is onto.
(ii) There exists α > 0 such that
|µ| ≤ α |T ⋆ µ|
∀µ ∈ Λ.
(iii) There exists β > 0 such that
sup
v∈V
5
|(µ, T v)|
≥ β |µ|
|v| |µ|
∀µ ∈ Λ.
Constrained quadratic optimization (general presentation)
−→ 8, 16
We consider a Hilbert space V , a linear functional ϕ ∈ V ′ , and a bilinear form a(·, ·) that we assume to
be symmetric, continuous, and coercive, i.e.
a(u, v) = a(v, u) , |a(u, v)| ≤ M |u| |v| , a(v, v) ≥ α |v|2 , with α > 0.
Since a(·, ·) is continuous and coercive over V × V , it is a fortiori in K × K. Thus it admits a unique
minimizer u, that is the solution to the variational formulation:
Find u ∈ K , a(u, v) = hϕ , vi
∀v ∈ K.
The following proposition is quite trivial, but also crucial to understand the fictitious domain approach.
Proposition 5.1 Under the previous assumptions, there exists a unique ξ ∈ V ′ , with ξ in K ◦ , such that
a(u, v) + hξ , vi = hϕ , vi
10
∀v ∈ V.
Proof : The linear functional ξ is simply uniquely defined by
hξ , vi = hϕ , vi − a(u, v)
∀v ∈ V,
so that the statement itself contains the proof.
As detailed in Section 8, the dual approach consists in expressing the unknown ξ as B ⋆ λ, where K is
defined as the kernel of B ∈ L(V, Λ). In the penalty approach (see Section 16, page 30), this ξ will be
recovered as the limit of b(uε , ·)/ε when ε goes to 0.
This bilinear form has also commonly a deep meaning in terms of modeling. Consider the case of a
Poisson problem with an inclusion (like in Section 12, page 23), that we interpret as a stationary heat
equation. The identity
Au = ϕ − ξ
can be seen as an abstract heat equation, where ϕ account for heat that is initially injected in the domain,
and ξ for heat that is injected in (or extracted from) the domain in order to satisfy the constraint.
In a mechanical context (see e.g. 20), where the PDE expresses force balance, ξ can be interpreted as a
force field that is activated to satisfy the constraint.
6
Duality method – implementation
←− 8, 9
Let us describe here how to implement the Uzawa algorithm with Freefem++ to solve Problem 9.1, that
is the Dirichlet problem in a domain of the form Ω \ O. The implementation that we propose is quite
crude and basic, and is a simplified version of what should be done to fit in the framework of Section 7.
In particular, we straightforwarly implement the second step (update of λ), which amounts to add two
functions that are defined in different meshes. This should (and could) be done in a variational way, with
an operator Bh defined by (7.3). By simply writing the straight update formula, we actually interpolate
between two meshes, violating the variational nature of the identity. Yet, as can be tested, it works fine in
this context3 . Let us add that, to restrict the integral to the subdomain O, we simply mutiply the integrand
by (a discrete version of) the characteristic function of O, that is called chiO in the program below.
Freefem++ implementation.
// PoissonSaddlePoint.edp
int Np = 20, NO = 30 ,Niter = 30;
real xB=0.5,yB=0.5,rB=0.2 ; // Parametres geometriques
//
border GO (t=0,2*pi){x=xB+rB*cos(t);y=yB+rB*sin(t);label=5;}
mesh ThO=buildmesh(GO(NO)) ; // Mesh of O
mesh Th =square(Np,Np); // Mesh of Omega
fespace Vh(Th,P1);
// Primal FE space
fespace Mh(ThO,P0);
// Dual FE space
Vh u,tu;
Mh lambda=0,tlambda ;
3
Such a variational crime would have a price if one were using more sophisticated minimization strategies, like the Conjugate
Gradient method. Since the underlying matrix is no longer symmetric (it is a lousy discretization of an operator that is
symmetric), conjugation of the descent direction would be lost.
11
func chiO= ((x-xB)^2+(y-yB)^2 < rB^2) ; // Characteristic function of O
Vh f=1.*(1-chiO);
// Right-hand side
//
problem l2u(u,tu) =
int2d(Th)( dx(u)*dx(tu) + dy(u)*dy(tu))
-int2d(Th)((1-chiO)* f*tu )
+int2d(Th)(chiO * lambda * tu)
+on(1,2,3,4,u=0) ;
//
plot(Th,ThO,wait=1) ;
real rho = 50.0 ;
// Uzawa algorithm
for (int iter = 0; iter < Niter; iter++) {
l2u ;
// u2Bu ;
lambda
= lambda+ rho * u * chiO;
plot(u,fill=1,value=1,wait=0);
}
plot(u,fill=1,value=1,wait=1);
plot(ThO,lambda,fill=1,value=1,wait=1);
7
Duality method – numerical analysis – abstract setting
←− 8, 9
We consider here the general saddle-point formulation of the problem which consists in minimizing a
quadratic functional
1
J(v) = a(v, v) − hϕ , vi,
2
defined in a Hilbert space V , when the minimizers is subject to belong to a linear space that is written as
the kernel of a bilinear form:
(v, µ) ∈ V × Λ 7−→ b(v, µ) , K = {v ∈ V , b(v, µ) = 0 ∀µ ∈ Λ} .
The formulation reads
a(u, v) + b(v, p) = hϕ , vi
b(u, µ)
= 0
∀v ∈ V
∀µ ∈ Λ.
(7.1)
One denotes by B ∈ L(V, Λ) the operator defined by (Bv, µ) = b(v, µ). Note that b(v, p) can also be written
hB ⋆ p , vi.
It is natural to introduce Vh and Λh , approximation spaces for V and Λ, respectively, and the associated
discretized problem
(
a(uh , vh ) + b(vh , ph ) = hϕ , vh i
∀vh ∈ Vh
(7.2)
b(uh , µh )
= 0
∀µh ∈ Λh .
We define the operator Bh ∈ L(V, Λh ) by
(Bh v, µh ) = (Bv, µh ) ∀µh ∈ Λh ,
12
(7.3)
and the discrete constrained space is denoted by
Kh = Vh ∩ ker Bh = {vh , b(vh , µh ) = 0
∀µh ∈ Λh }
Problem 7.2 consists in minimizing
1
J(v) = a(v, v) − hφ , vi
2
over Kh . Considering finite dimensional approximation spaces Vh and Λh , Kh has finite dimension, therefore
it is closed, so that Problem 7.2 is obviously well-posed, at least in terms of existence. Uniqueness holds for
the primal variable uh , but not necessarily for the Lagrange multiplier ph .
The question is now: assuming that (Vh ) and (Λh ) are suitable sequences of approximation spaces, i.e.
dist(v, Vh ) and dist(q, Λh ) both go to zero as the discretization parameter h goes to 0, can uh be expected
to converge to the solution u of the continuous constrained minimization problem ? As for the dual part
ph , in case it is uniquely defined, one may also wonder whether it converges to p.
Extension of the theory developed for standard (unconstrained) variational problems is in fact not
straightforward. Informally, if Λh is much “richer” than Vh in terms of approximation, the discrete problem
might be overconstrained, so that Kh does not approximate V properly (it might even be reduced to {0}).
On the other way, if Λh is too poor, the problem might be underconstrained, so that the solution uh to the
discrete constrained minimization problem might converge (if ever) outside K. Both approximations have
obviously to be balanced in some way. This balance necessitates a fine tuning between the two discretization
spaces, which will be expressed by the discrete inf-sup (or LBB) condition.
Remark 7.1 In the case of Stokes problem, as the velocity is H 1 and the pressure L2 , it would be very
natural to approximate velocities with continuous, piecewise P 1 functions (as for the poisson problem), while
pressures would be approximated by P 0 functions. As we shall see, this straightforward approach does not
work, for reasons that we shall detail below.
A general estimate without inf-sup condition
To enlight how this inf-sup condition allows a proper error estimation of primal and dual quantities (i.e.
|u − uh | and |p − ph |), we shall start the numerical analysis by a very general estimation of the sole primal
quantity, under very loose conditions (in particular without the inf-sup condition). Although this estimate
will not be used as such in the context of divergence free constraint, it proves powerful in other contexts,
e.g. for the fictitious domain method.
We assume here that a(·, ·) is a continuous, symmetric and coercive bilinear form over V × V , and
B ∈ L(V, Λ), so that K = ker B is closed. The problem which consists in minimizing
1
J(v) = a(v, v) − hφ , vi
2
over K is well-posed by Lax Milgram theorem, and we denote by u its solution. We do not make extra
assumptions on B, so that the saddle-point problem may be ill-posed in terms of existence of a Lagrange
multiplier. Concerning approximation spaces, we simply assume that Vh ⊂ V , but Λh is any finite dimensional space, and Bh ∈ L(V, Λh ). Of course, it will be necessary to make extra assumptions on Λh and Bh
to obtain useful estimates, but it is not necessary for the time being.
We consider the (abstract) discretized saddle-point problem:
a(uh , vh ) + (Bh vh , ph ) = hϕ , vh i
∀vh ∈ Vh
(7.4)
(Bh uh , qh )
= 0
∀qh ∈ Λh .
13
This problems consists in minimizing
1
J(v) = a(v, v) − hφ , vi
2
over Kh = ker Bh . As Λh is finite dimensional, the saddle-point problem is well-posed in the following sense:
it admits a solution (uh , ph ), and uh is uniquely defined as the minimizer of J over Kh .
An essential ingredient in what follows is the linear form ξ associated to the constrained minimization
problem (see Prop. ??, page ??), that is such that
Au + ξ = φ.
The basis of the following estimate will be to prove that, even if ξ cannot be written B ⋆ p, some convergence
of uh toward u can be expected as soon as ξ can be approximated by Bh⋆ µh .
Proposition 7.2 Let a(·, ·) be a continuous, symmetric, coercive, bilinear form over V × V , φ ∈ V ′ , B ∈
L(V, Λ). We denote by u the unique minimizer of J over K = ker B. Let Vh ⊂ V and Λh be finitedimensional spaces, Bh ∈ L(V, Λh ), and Kh = ker Bh ∩ Vh . Let (uh , ph ) be a solution of the saddle pointproblem (7.2). Then
|u − uh | ≤ C
inf |wh − u| + inf kξ − Bh⋆ qh kV ′
qh ∈Λh
wh ∈Kh
h
(7.5)
Proof : For any vh ∈ Kh , (Bh vh , ph ) = 0, so that
a(uh , vh ) = hφ , vh i.
The core of the proof consists in taking vh in the form uh − wh , where wh is in Kh . It comes
a(vh , vh ) = hφ , vh i − a(wh , vh ).
The exact solution u verifies
a(u, vh ) + hξ , vh i = hφ , vh i,
so that
a(vh , vh ) = a(u − wh , vh ) + hξ , vh i.
As vh is in Kh , hBh⋆ qh , vh i = (Bh vh , µh ) = 0 for any µh ∈ Λh , so that this quantity can be substracted to
the right-hand side.
a(vh , vh ) = a(u − wh , vh ) + hξ − Bh⋆ µh , vh i.
One obtains
α |vh |2 ≤ kak |u − wh | |vh | + kBh⋆ qh − ξk |vh | ⇒ α |uh − wh | ≤ kak |u − wh | + kBh⋆ qh − ξk
and therefore
|uh − u| ≤ C |u − wh | + kBh⋆ qh − ξkV ′ .
h
for any wh ∈ Kh , any qh ∈ Λh , which ends the proof.
Estimate (7.5) expresses the required balance between both approximation spaces. Firstly, Λh has to be
rich enough (and Bh has to approximate B in some sense) for the second term to be small. But if Λh is too
rich, it may constrain excessively the problem, so that Kh may not be a good approximation space for K,
preventing the first term to go to 0.
14
Estimates with the inf-sup condition
We may now introduce the framework which we will favor for Stokes equation. We consider here a saddle
point formulation which is well-posed at the continuous level, i.e. B is surjective.
Proposition 7.3 Notations and assumptions are those of Proposition 7.2. We furthermore assume here
that B ∈ L(V, Λ) is surjective, so that the continuous saddle point problem admits a unique solution (u, p).
We also assume that both approximations are conforming, i.e. Vh ⊂ V and Λh ⊂ Λ, that Bh is defined by
(Bh v, qh ) = (Bv, qh ) = b(v, qh ),
and that it verifies the discrete inf-sup condition:
inf
sup
qh ∈Λh vh ∈Vh
b(vh , qh )
≥ β > 0,
|vh | |qh |
where β is independent4 of h. Then we have the following error estimate
|u − uh | + |p − ph | ≤ C
inf |wh − u| + inf |qh − p|
wh ∈Vh
qh ∈Λh
(7.6)
Proof : The proof is based on estimate (7.5). As preliminary step, let us first note that the infimum over
Λh of kBh⋆ qh − ξkV ′ takes the form (as ξ = B ⋆ p)
h
inf |B ⋆ (qh − p)| ≤ inf kB ⋆ k |qh − p| .
qh ∈Λh
qh ∈Λh
The first step of the proof, which is essential to use approximation properties of Vh , consists in showing
that the first infimum in (7.5) can be replaced by an infimum over the unsconstrained approximation space
Vh .
In a second step, we will show that the estimate on |u − uh | induces an estimate on |p − ph |.
Step 1. As for the first term in estimate (7.5), we proceed as follows: consider an approximation vh ∈ Vh
of u, we build an approximation wh = vh + zh ∈ Kh with the same approximation properties (up to a
multiplicative constant which does not depend on h).
Let vh ∈ Vh be given. We denote by zh the element of Vh which verifies
Bh zh = −Bh vh
and which minimizes the norm (i.e. wh = vh + zh is the projection of vh onto Kh ). This zh is the primal
part of the solution to the saddle point problem
(zh , yh ) + (ηh , Bh yh ) = 0 ∀yh ∈ Vh
(µh , Bh zh ) = −(µh , Bh vh ) ∀µh ∈ Λh .
Thanks to the inf-sup condition, we have
|ηh | ≤
hB ⋆ ηh , yh i
1
1
sup h
= |zh | .
β yh
|yh |
β
4
As always in such contexts, we implicitly consider sequences of approximation spaces (Vh ) and (Λh ), indexed by a parameter
h (which will represent the mesh diameter in actual Finite Element discretization, which goes to 0 as the dimension of the spaces
goes to infinity.
15
On the other hand, taking yh = zh , it comes
|zh |2 ≤ |(ηh , Bh zh )| ≤ |ηh | |Bh vh | = |ηh | |Bh (u − vh )| ≤ C |zh | |Bh (u − vh )| .
The new approximant wh = vh + zh is then such that
|u − wh | ≤ |u − vh | + |zh | ≤ C |u − vh | .
Step 2. To estimate |p − ph |, we substract the discrete variational formulation from the continuous one.
We get
(ph , Bvh ) = a(u − uh , vh ) + (p, Bvh ),
so that, for any qh ∈ Λh
(ph − qh , Bvh ) = a(u − uh , vh ) + (p − qh , Bvh )
∀qh ∈ Λh .
By the inf-sup condition, we have
|ph − qh | ≤
≤
so that, finally,
|a(u − uh , vh ) + (λ − µh , Bvh )|
1
sup
β vh ∈Vh
|vh |
1
(kak |u − uh | + kBk |p − qh |) ,
β
kBk
kak
|u − uh | + 1 +
inf |p − qh | .
|p − ph | ≤
qh ∈Λh
β
β
Bibliographical notes.
Girault & Glowinski, 95 [8]. Numerical analysis of a fictitious domain method for the Dirichlet problem,
condition expressed on the boundary.
8
Duality method – principles
←− 5
−→ 6, 9, 7
Consider a smooth functional J in a Hilbert space V . We want to find a minimizer of this functional on
a subspace K, defined as the kernel of a continuous linear operator B ∈ L(V, Λ), where Λ is also a Hilbert
space.
Suppose that such a minimizer u exists. It holds that
J(u + tv) ≥ J(u)
∀v ∈ K , ∀t ∈ R,
from which we deduce that
(∇J(u), v) = 0 ∀v ∈ K,
i.e. ∇J(u) ∈ (ker B)⊥ . If the dimension of Λ is finite, we have (ker B)⊥ = im B ⋆ , so that there exists λ ∈ Λ
such that
∇J(u) + B ⋆ λ = 0
Bu
= 0,
16
In the case where J is a quadratic functional,
1
J(v) = a(v, v) − hϕ , vi,
2
it takes the form
Au + B ⋆ λ = ϕ
Bu
= 0,
It can also be written in a variational way:
a(u, v) + (Bv, λ) = hϕ , vi ∀v ∈ V
(Bu, µ)
= 0
∀µ ∈ Λ.
(8.1)
(8.2)
The latter system is called a saddle point formulation of the minimization problem. saddle point problem
relies on a Lagrangian, that is defined here as
(v, µ) ∈ V × Λ 7−→ L(v, µ) = J(v) + (Bv, µ) .
(8.3)
Definition 8.1 (Saddle point)
The couple (u, λ) ∈ V × Λ is said to be a saddle point for L if
L(u, µ) ≤ L(u, λ) ≤ L(v, λ)
∀(v, µ) ∈ V × Λ.
(8.4)
The link between this notion and our constrained minimization problem is expressed by the following
proposition, that is quite general5 (note in particular the lack of strong assumption on J).
Proposition 8.2 Let J be a function defined on a vector space V , and B ∈ L(V, Λ), where Λ is a Hilbert
space. If (u, λ) is a saddle-point (Def. 8.1) for the Lagrangian L(·, ·) defined by (8.3), then u minimizes J
over K = ker B.
Proof : From the first inequality of (8.4), we get that (Bu, µ) is bounded on Λ, which implies Bu = 0. Now
from the second one we obtain
L(u, λ) = J(u) ≤ L(v, λ) ∀v ∈ V,
that is equal to J(v) for any v ∈ K = ker B.
The existence of a saddle-point is a strong property, and in general both formulation are not equivalent.
In general (Λ is infinite dimensional), (ker B)⊥ = im B ⋆ no longer holds, but we have
(ker B)⊥ = im B ⋆ .
In the case where im B ⋆ is closed (which is, by Theorem 4.4, page 10) equivalent to saying that im B is
closed), the saddle-point formulation is still valid, i.e. existence of a saddle point (u, λ) is guaranteed. On
the other hand, existence of a saddle-point (u, λ) implies that u minimizes the quadratic functional J over
K (see Proposition 8.2, page 17).
Note also that if B is onto, B ⋆ is one-to-one, then the Lagrange multiplier is unique.
When the image of B is not closed, the existence of a solution to (8.2) might be ruled out. Yet, in
the context of PDE’s, the corresponding formulation can be discretized in space, which leads to a finite
5
The mapping B does not even have to be linear. Actually, in the most general setting, V is any set, B is any mapping from
V to a vector space Λ, and the Lagrangian is defined by L(v, µ) = J(v) + hµ , Bvi, with µ ∈ Λ′ .
17
dimensional problem for which existence of a saddle point is guaranteed. The question of the behavior of
the discrete Lagrange multiplier when the mesh size goes to 0 is delicate, since the limit does not exist in Λ,
but it can be rigorously proven that the approach is efficient in terms of approximation of the primal part
u, i.e. the minimizer of J over K
Interpretation of the Lagrange multipliers in a mechanical context.
Consider a horizontal system of n + 1 masses 0, 1, 2, . . . , n, linked to each other (0 to 1, 1 to 2,
etc...) by springs with stiffness k and length at rest 0 . The positions are represented by the vector
(x0 , x1 , . . . , xn ) ∈ Rn+1 . The potential energy writes
n
1
1 X
|xi − xi−1 |2 = k(Ax, x),
J(x) = k
2
2
i=1
where A is, up to a multiplicative constant, the discrete Laplacian with Neuman boundary conditions. Any
configuration (x, x, . . . , x) de Rn+1 obviously minimizes this energy Let us now consider the situation where
0 is fixed at x0 = 0, and the n − th mass to the point xn = L > 0. We now want to minimize J over the
affine space
E = {x , x0 = 0 , xn = L} = X + ker B , avec B : x ∈ Rn+1 7−→ (x0 , xn ) ∈ R2 .
The matrix B writes
B=
1 0 ...
0 0 ...
0 0
0 1
.
There exists λ = (λ0 , λ1 ) ∈ R2 such that
Ax + Bλ = 0.
The two end lines of this system are
k(x0 − x1 ) + λ0 = 0
k(−xn−1 + xn ) + λ1 = 0.
These relations express the balance of end masses, and allows to interpret −λ0 (resp. −λ1 ) as the force
exerted by the wall at 0 upon the mass 0 (resp. by the wall at 1 upon the mass n).
9
Duality method (some scalar examples)
←− 8, 10
−→ 6
Dirichlet problem in an exterior domain
Let us describe how the duality method can be implemented to solve the model problem (12.1), that is a
Dirichlet problem on Ω \ O, where O ⊂⊂ Ω. The problem consists in minimizing
Z
Z
1
2
f v,
|∇v| −
2 Ω
Ω
18
over
K = v ∈ V , v|O = 0 a.e. .
To run the duality procedure, one has to choose a mapping B such that K = ker B. Let us consider here
B : v ∈ V = H01 (Ω) 7−→ v|O ∈ L2 (O).
The variational formulation of the saddle point reads
Z
Z
 Z


fv
λv =
∇u · ∇v +

Ω
O
Ω
Z



µu
= 0
∀v ∈ V,
(9.1)
∀µ ∈ Λ.
O
that expresses the abstract formulation
Au + B ⋆ λ = ϕ
Bu
= 0,
The two steps of the Uzawa algorithm are
 Z
Z
Z


fv
λk v =
∇uk+1 · ∇v +
Ω


O
λk+1
=
Ω
λk +
∀v ∈ V
(9.2)
ρ uk+1 |O
Note that, in the present context, the mapping B does not have a closed range, so that existence of a
Lagrange multiplier is not guaranteed. Actually, it can be proven that no such λ exists in general. Indeed, the
linear form ξ associated to the constrained minimization problem (see Prop. 5.1, page 10) can be identified
(see Section 12) as
Z
∂u
v,
v 7−→ hξ , vi = −
∂n
γ
where u is the exact solution, and ∂u/∂n denotes its normal derivative from the outside of O. Existence of
a Lagrange multipler λ would imply
Z
Z
∂u
λv = −
v ∀v ∈ H01 (Ω),
γ ∂n
O
which is obviously impossible. We nevertheless wrote the formulation, together with the formal Uzawa
algorithm, since we shall see that the strategy actually makes sense, in spite of the non-existence of a λ. In
particular, it can be proven that the primal part of the space discretized problem converges to the exact
solution (see Prop. 7.2), even in the present situation where no λ exists.
Note that there is another “natural” possibility to define B, which is
B : v ∈ V = H01 (Ω) 7−→ v|O ∈ H 1 (O).
(The image space is no longer L2 , but H 1 ). The new B has now closed range (it is even surjective), so
that existence of a Lagrange multiplier holds. The variational formulation is changed, together with the
interpretation of λ :
Z
Z
Z



fv
∀v ∈ V,
(λv + ∇λ · ∇v) =
∇u · ∇v
+

Ω
O
Ω
(9.3)
Z



(µu + ∇u · ∇µ)
= 0
∀µ ∈ Λ.
O
Another possibility to attack the Dirichlet problem in Ω \ O is to prescribe the condition of the boundary
only. To simplify the description of the method, we decribe this approach in a simpler setting, by considering
that the condition is prescribed on the exterior boundary of simple domain (without inclusion), as follows:
19
Dirichlet boundary conditions by duality
Although it may look quite academic, it is sometimes convenient to handle boundary condition in a weak
way6 . We consider here a domain Ω, and the constrained minimization problem 7
Z
1
|∇v|2 ,
min J , J : v ∈ V = H 1 (Ω) 7−→ J(v) =
K
2 Ω
with K = v ∈ V , v|Γ = 0 , where v|Γ denotes the trace of v on Γ = ∂Ω. The space K is in fact H01 ,
but we want to regard K as a subspace of H 1 of all those functions verifying a certain constraint. In this
context, it is natural to define
B : v ∈ H 1 (Ω) 7−→ v|Γ ∈ L2 (Γ),
so that the variational formulation of the saddle point problems reads
Z
Z
 Z


fv
∀v ∈ H 1 (Ω),
λv =
∇u · ∇v +

Ω
Γ
Ω
Z



µu
= 0
∀µ ∈ L2 (Γ).
(9.4)
Γ
The present situation is somewhat awkward, but quite common in practice : the mapping B does not have
a closed image8 , so that standard existence theorems (like Proposition 10.2) do not apply. And yet the
saddle point problem admits a solution. Indeed, integrating the Poisson equation against a test function
that does not vanish on Γ, one obtains
Z
Z
Z
∂u
∇u · ∇v −
f v.
v=
Γ ∂n
Ω
Ω
Since u is regular in Ω \ O (in H 2 ), its normal derivative is well defined as a function of L2 (Γ) (it is in reality
a bit more regular, namely in H 1/2 (γ)), which asserts existence of a λ.
10
Duality method (theoretical issues)
Given a Hilbert space V , a quadratic functional
1
J 7−→ J(v) = a(v, v) − hϕ , vi,
2
we consider the problem of minimizing J over K = ker B, with B ∈ L(V, Λ).
Let us first note that the problem is obviously well posed in K, and the unique minimizer over K is
characterized as the solution to the variational formulation
a(u, v) = hϕ , vi ∀v ∈ K,
which can be written
Au − ϕ ∈ K ◦ = ψ ∈ V ′ , hψ , vi = 0 ∀v ∈ K ,
(10.1)
6
It is in particular essential when one aims at coupling two domains that share a boundary, like in the so-called Mortar
Element Method, or to deal with periodic boundary conditions.
7
As pointed out in Section 17, the problem does not fit exactly in the framework described in Section 10, since a(·, ·) is not
coercive on V . Yet, since it is coercive on K, it can be checked that everything works fine.
8
Indeed its image is dense, but B is not surjective: The trace operator sends H 1 to some fractional Sobolev space H 1/2
containing function that are more regular than L2 functions. For example, H 1/2 (Γ), where Γ is the boundary of a two dimensional
domain, does not admit functions with jumps (like the heavyside function).
20
where A ∈ L(V, V ′ ) is the operator associated to a(·, ·) according to
hAu , vi = a(u, v)
∀v ∈ V.
We have the 3 following properties:
Proposition 10.1 Let (u, λ) be a solution to
Au + B ⋆ λ = ϕ.
with Bu = 0 (i.e. u ∈ K). Then u minimizes J over K.
Proof : Since B ⋆ λ ∈ (ker B)⊥ , the variational formulation (10.1) holds, thus u is the minimizer of J over K
Proposition 10.2 Let u be the minimizer of J over K. If the range of B is closed (that is equivalent to
say that the range of B ⋆ is closed), then there exists λ ∈ Λ such that
Au + B ⋆ λ = ϕ.
Proof : This is a direct consequence of (ker B)⊥ = im B.
Proposition 10.3 Let u be the minimizer of J over K. There exists a sequence (λε ) such that
Au + B ⋆ λε = ϕ + O(ε).
Proof : This is again a direct consequence of (ker B)◦ = im B
A consequence of the latter proposition is that the duality approach is tractable even if the continuous
problem is a priori ill-posed: it may well happen that no Lagrange multiplier exists at the continuous level,
it it still possible to design a converging numerical strategy based on this ill-posed problem.
11
Energy balance
The fluid models proposed in these lecture notes express standard physical laws (mainly mass conservation
and Newton’s law), therefore a relevant energy balance can be expected. This standpoint can be fruitful in
the context of numerical simulation. Since an analytical solution is rarely known, checking that a “numerical”
energy balance can be obtained is a efficient way to check the physical relevancy of the computed solution.
Homogeneous Dirichlet boundary conditions. The simplest situation is that of a Navier-Stokes fluid
in a closed container Ω, with no-slip conditions conditions on the wall. Multiplying the momentum equations
by the velocity itself and integrating over the domain yields
Z
Z
Z
Z
Z
∂u
f · u.
· u + ρ ((u · ∇)u) · u − µ ∆u · u + Ωu · ∇p =
ρ
Ω
Ω
Ω
Ω ∂t
The right-hand side is the power of external forces. The first term can be written
Z
d
ρ 2
|u| ,
dt Ω 2
21
it is the time derivative of the kinetic energy. For the second one, we can use the formula
1
(u · ∇)u = ∇ |u|2 − u × (∇ × u),
2
which leads to
Z
Z
Z
1
ρ 2
2
ρ ((u · ∇)u) · u = ρ
∇ |u| u =
|u| u · n,
2
Ω
Ω
Γ 2
that vanishes since u is zero on the boundary. The viscous term is
Z
Z
−µ ∆u · u = µ |u|2 ,
Ω
Ω
it corresponds to viscous dissipation.
We finally obtain that the time derivative of kinetic energy equals the power of external forces (rate of
energy injected into the system) minus the rate of energy lost as heat by viscous effects.
Free boundary problem. Let us consider a richer situation: the fluid domain moves, and its boundary is
assumed to separate the viscous fluid in consideration from an outside fluid that is assumed to be perfect,
at constant pressure P . We consider the free fall a drop of viscous fluid:

∂u


ρ
+ ρ (u · ∇) u − µ△u + ∇p = g
in Ω(t)

 ∂t




∇·u = 0
in Ω(t)
σ · n = µ(∇u + t ∇u) · n − pn = −P n on Γ(t)
We multiply again by the velocity u, integrate over Ω, with two main differences: since the domain is moving
according to the fluid velocity u , the time derivative of an integral quantity writes
Z
Z
Z
d
Ψ(x, t)u · n.
(11.1)
∂t Ψ(x, t) +
Ψ(x, t) =
dt Ω(t)
Γ(t)
Ω(t)
Besides, the term
ρ
Z
((u · ∇)u) · u = ρ
Ω
Z
1
∇ |u|2 u =
2
Ω
Z
Γ
ρ 2
|u| u · n
2
is no longer 0. Putting things together, we obtain
Z
Z
Z ρ 2
∂ ρ 2
∂u
+ ρ (u · ∇) u · u =
|u| +
|u| u · n
ρ
∂t
∂t
2
Γ 2
Ω
Ω
that is exactly, thanks to (11.1), the quantity
d
dt
Z
Ω
ρ 2
|u| ,
2
which is the time derivative of the kinetic energy.
The power of external forces writes
Z
Z
Z
Z
Z
gy ∇
·
u
g∇y · u =
−g
g · u = − gey · u = −
| {z }
Ω
Ω
Ω
Ω
The latter quantity can be written (using again (11.1))
Z
Z
d
yu · n = −
−
gy.
dt Ω(t)
Γ(t)
22
=0
yu · n.
Γ(t)
We finally obtain that the derivative of the total energy (kinetic + potential) balances the viscous losses:
!
Z
Z
Z
2
ρ 2
µ d
gy = −
|u| +
∇u + t ∇u .
dt
2
Ω 2
Ω(t)
Fluid-grains flows. We consider the situation of the free motion of a rigid object in a fluid. Denoting by
U the translational velocity (velocity of its center of mass G), and by ω the angular velocity, the equations
write
ρ
∂u
+ ρ(u · ∇)u − µ∆u + ∇p = f in Ω(t) ,
∂t
∇ · u = 0 in Ω(t) ,
u = U + ω × (x − G) on ∂ΩS ,
Z
d
σ · n dσ + Fext ,
m U = −
dt
Z∂ΩS
d
J ω = −
(x − G) × σ · n dσ,
dt
∂ΩS
Note that the fluid domain Ω(t) is moving. Multiplying the momentum equation by u and integrating
over the fluid domain, we obtain for the advective terms (γ denotes the boundary of the rigid inclusion)
Z
ρ
Ω
∂ |u|2
+
∂t 2
Z
ρ
γ
|u|2
d
u·n=
2
dt
Z
Ω
ρ 2
|u| .
2
Integration by parts of −µ∇ · (∇u + t ∇u) + ∇p yields the boundary term
Z
− (σ · n) · u.
γ
Since u is a rigid motion on γ, u = U + ω × (x − G). Thus, the integral above can be written
Z
Z
σ · n · U − (σ · n) · (ω × (x − G))
−
γ
γ
=−
Z
σ·n ·U−ω·
γ
Z
(x − G) × σ · n ,
γ
where the right-hand side f has been extended within the particle to account for Fext . We finally obtain
that the time derivative of the total kinetic energy is equal to the power of external
Z
Z
Z
2
d
ρ 2 m
J
µ
2
2
t
f · u.
∇u + ∇u +
|u| + |U| + |ω| = −
dt
2
2
2 Ω
Ω
Ω 2
12
Fictitious domain method (general presentation)
The situation is the following : we are interested in solving an elliptic problem in a complex domain with a
very simple external shape. The typical situation is a square domain with holes. To illustrate the approach,
let us consider the following situation: Ω is the unit square, O ⊂⊂ Ω is a subdomain of Ω. We consider the
Dirichlet problem in the domain Ω \ O:
23


−∆u = f


u = 0



u = 0
in Ω \ O
(12.1)
on Γ = ∂Ω
on γ = ∂O.
The variational formulation of this problem consists in finding u ∈ H01 (Ω \ O)
Z
Z
∇u · ∇v =
f v ∀v ∈ H01 (Ω \ O).
Ω\O
Ω\O
A straight Finite Element discretization of this problem consists in introducing a finite dimensional of
H01 (Ω \ O), based on a discretization of the domain of interest, i.e. a mesh of Ω \ O. Now imagine a situation
with many holes (up to thousands of them), that move in the domain Ω (that is the case in the fluid-particle
context). Although it is always possible, building such meshes may become tricky and time consumming.
Furthermore, due to the complexity of the domain, the mesh will not present any particular structure, which
may harm the solution process.
For those reasons, it can be tempting to write a new problem set over the whole domain Ω (for which
a cartesian mesh can be used). In the variational framework that we adopt here, it is natural to write
the initial problem as a constrainted minimization problem. We define our reference functional space as
V = H01 (Ω), the constrained space as
K = v ∈ V , v|O = 0 a.e. .
and we consider the constrained minimization problem
1
min J(v) , J : v ∈ V −
7 →
K
2
Z
Ω
2
|∇v| −
Z
f v,
Ω
where f is an extension of the initial right-hand side, e.g. extension by 0 in O.
This minimization problem is obviously well-posed, and admits the variational formulation
Z
Z
f v ∀v ∈ K.
∇u · ∇v =
Ω
Ω
Note that, although the integrals are taken over the whole domain Ω, it is not possible to directly obtain a
PDE from this variational formulation, since the test functions have to verify the constraint. A PDE can
be obtained by expliciting the “ξ” of Proposition 5.1 as follows: the function u verifies
−∆u = f
in Ω \ O. Now, considering a test function v in V (i.e. v is not constrained to vanish on γ), multiplying the
equation and integrating by parts gives
Z
Z
Z
∂u
∇u · ∇v −
v=
f v.
Ω\O
γ ∂n
Ω\O
Both volume integrals can be extended to Ω (since both u and f vanish in O), so that we obtain
−∆u = f − ξ
in a distributional sense, where ξ is a single layer distribution supported by γ, that is −∂u/∂n|γ .
Bibliographical notes.
Saul’ev 1963 [15]. First published paper on the Fictitious Domain Approach.
24
13
Fluid models
Definition 13.1 (Stress tensor)
We consider a fluid, possibly in motion, x a point in the domain occupied by the fluid, n a unit vector, and
Dε (n) a disc (or a segment is the space dimension is 2) centered at x, with area ε (length ε in dimension 2),
and perpendicular to n. We denote by Fε (n) the force exerted on Dε (n) by the fluid located on the side of
Dε (n) to which n points. If Fε (n)/ε goes to F(n) when ε goes to 0, and if the mapping n 7−→ F(n) is linear,
we call stress tensor at x the tensor σ that represents this linear mapping:
F(n) = σ · n.
The motion of a fluid that admits a stress tensor follows an evolution equation that can be formalized
in a very general way. We denote by ρ = ρ(x, t) the local density, by u the velocity field, and by f a body
force acting on the fluid (like gravity). Consider a fluid element ω(t), i.e a set of particle which we follow in
their motion. Newton’s law write
Z
d
ρu = sum of external forces.
(13.1)
dt ω(t)
R
The right-hand side is the sum of the body force contribution ω f , and the net force exerted on ω by the
fluid located outside ω, which writes, according to Definition 13.1,
Z
Z
∇ · σ.
σ·n =
ω
∂ω
The left-hand side of Eq. 13.1 now writes
Z
Z
Z
∂(ρu)
d
ρu(u · n),
ρu =
+
dt ω(t)
∂t
ω(t)
∂ω(t)
and the last term can be transformed onto a volume integral:
Z
Z
∇ · (ρu ⊗ u) ,
ρu(u · n) =
ω(t)
∂ω(t)
where u ⊗ u stands for the symmetric matrix (ui uj )i,j . Since all integrals are now expressed as volume
integrals, and since the fluid element is arbitrary, we deduce that the integrand vanishes identically.
Model 13.2 (General evolution equation for an inertial fluid)
We consider a fluid with density ρ(x, t) and velocity field u(x, t), submitted to a body force f . We assume
that this fluid admits a stress tensor σ(x, t). Newton’s law writes
∂
(ρu) + ∇ · (ρu ⊗ u) − ∇ · σ = f .
∂t
Mass conservation writes
(13.2)
∂ρ
+ ∇ · (ρu) = 0.
∂t
Model 13.3 (Force balance equation for an non-inertial fluid)
Whenever inertia can be considered as negligible, Newton’s law is replaced by instantaneous force balance for
all fluid element, which expresses
−∇ · σ = f .
25
Definition 13.4 (Perfect fluid)
A fluid is said to be perfect if it admits a stress tensor which is diagonal, i.e. there exists a scalar field p,
called pressure, such that
σ(x) = −p Id,
where Id is the identity tensor.
According to the previous models and definitions, an inertial perfect fluid is such that
−∇ · σ = ∇ · (p Id) = ∇p,
and we obtain Euler’s equation
∂
(ρu) + ∇ · (ρu ⊗ u) + ∇p = f .
∂t
In the case where the fluid is homogeneous (ρ is uniform) and incompressible (the divergence of the
velocity field is 0), one has
∇ · (ρu ⊗ u) = ρ (u · ∇) u,
where (u · ∇) u is such that
((u · ∇) u)i =
d
X
j=1
uj
∂ui
.
∂xj
Remark 13.5 Consider the velocity field u as stationary, and consider a scalar function f defined on the
domain. Denote by X(t) the path of a particle (advected by the velocity field). Then
d
X ∂f
d
uj
f (X(t)) =
.
dt
∂xj
j=1
Newtonian fluids. Real fluids are characterized by a resistance to deformation. We consider a fluid
element moving in the neighborhood of t 7→ x(t). The velocity field can be expanded in the neighborhood
of x as
u(y, t) ≈ u(x, t) + ∇u(x, t) · (y − x)


 ∇u − t ∇u ∇u + t ∇u 
 · (y − x).
+
= u(x, t) + 


| {z }
2
2
| {z } | {z }
T ranslation
Rotation
Def ormation
The motion of a material segment xy can therefore be decomposed into 3 contributions: a translational
motion at the local velocity, a rotational motion (skew symmetric part of the velocity gradient), and a last
contribution that accounts for local deformations (symmetric part of the velocity gradient). See Fig. 13.1
for an illustration of this decomposition for a two dimensional velocity field.
Definition 13.6 (Strain tensor)
Considering a fluid moving according to the velocity field u, the strain

∂u1
∂u1 ∂u2
2
+
1
∇u + t ∇u
∂x
∂x
∂x1
1
2

= 
T=
2
2
∂u2
∂u1 ∂u2
+
2
∂x2 ∂x1
∂x2
26
tensor is defined as




(in 2d).
+
=
+
Figure 13.1: Local decomposition of a two-dimensional velocity field
The simplest real fluid model is built by considering that the stress tensor is proportional to this strain
tensor, up to a diagonal contribution:
Definition 13.7 (Newtonian fluid)
A fluid is said newtonian is there exists a positive parameter µ, called viscosity, and a scalar field p = p(x, t)
(pressure), such that
σ = 2µT − p Id = µ ∇u + t ∇u − p Id .
We consider now incompressible fluids, i.e. such that the volume of a fluid element remains constant:
∇ · u = 0. We furthermore assume that the fluid is homogeneous: ρ is supposed to be uniform and constant.
The incompressible Stokes and Navier-Stokes equations are straightforward expressions of the Newtonian
character, in the non-inertial and inertial settings, respectively.
Since ρ is constant, it can be taken out of the time derivative. Besides, as
∇·u=
d
X
∂ui
i=1
∂xi
we have
∇ · (u ⊗ u) = ∇ · (ui uj )i,j =
= 0,
d
X
i=1
∂uj
ui
∂xi
!
.
1≤j≤d
The latter quantity expresses the derivative of the velocity in its own direction, and it is denoted by (u · ∇) u.
27
Model 13.8 (Incompressible Navier-Stokes equations)
An inertial fluid that is newtonian, incompressible, and homogeneous (the density is constant), and which
is subject to a body force f , follows the incompressible Navier-Stokes equations
 
 ρ ∂u + (u · ∇) u − µ∆u + ∇p = f
∂t


∇ · u = 0.
14
Oscillating drop
←− 1, 2, 3, 23,
15
Penalty method (implementation)
←− 5, 16, 17
−→ 20
We describe here how the penalty approach can be implemented with Freefem++ to solve Problem 9.1,
that is the Dirichlet problem in a domain of the form Ω \ O. Like in Section 6 (implementation of duality
method), the key (and, actually, the only) ingredient is the characteristic function of the inclusion, that is
defined as piecewise constant function. In practice, the program will run over triangles, check whether the
center meets the analytic condition that characterizes the belonging to O, and affect the value 1 to the whole
triangle whenever the condition is met. Such a procedure is quite crude, and one might want to implement
more sophisticated strategies. Yet, as pointed out in [11], the space accuracy is limited to a half order in h,
no matter what is done to compute the penalty term.
int Np = 50 ;
real xB=0.5,yB=0.5,rB=0.2 ; // Geometrical parameters
mesh Th=square(Np,Np); //
fespace Vh(Th,P1);
// Definition of Finite Element spaces
fespace Lh(Th,P0);
//
Vh u,tu;
Lh chiO= ((x-xB)^2+(y-yB)^2 < rB^2) ;
Vh rhs=1;
// Right Hand Side
real eps = 1.e-9 ; // Penalty parameter
//
problem Poisson(u,tu) =
int2d(Th)( dx(u)*dx(tu) + dy(u)*dy(tu))
+int2d(Th)( chiO*u*tu/eps )
// +int2d(Th)(chiO*(dx(u)*dx(tu)+dy(u)*dy(tu))/eps) //uncomment for H1 penalty
-int2d(Th)((1-chiO)* rhs*tu )
+on(1,2,3,4,u=0)
;
//
Poisson;
28
Figure 14.1: Oscillating drop
plot(Th,wait=1) ;
plot(u,fill=0,value=1,wait=1);
It can be interesting in this context to investigate how Proposition 18.2 behaves in practice. Let us recal
29
that, for the present problem, the linear form ξ (defined by Prop. 5.1) is
Z
∂u
v.
hξ , vi = −
γ ∂n
By Prop. 18.2, the approach should produce a uε such that
Z
Z
∂u
v.
uε v ≈ −
γ ∂n
O
This requires uε /ε to concentrate in the neighborhood of the boundary, while keeping a finite mass (it
converges to a finite measure). It can be visualized by simply plotting
u = u*chiO/eps ;
plot(u,fill=0,value=1,wait=1);
or, by plotting a graph of uε /ε restricted to O on a cross line:
int Nx = 200 ;
real[int] xx(Nx),uu(Nx);
for(int i=0 ; i<Nx ; i++){
xx(i) = i/real(Nx) ;
uu(i) = u(xx(i),0.5)*chiO(xx(i),0.5)/eps;
}
plot([xx,uu],wait=1);
16
Penalty method (principles)
←− 5
−→ 18, 20, 17
The principle of the penalty method is quite general: we are given a functional J defined over a set X,
and a set K defined as {x ∈ X , b(x) = 0}, where b is a regular function over X that takes nonnegative
values. The problem of minimizing J over K can relaxed by minimizing the penalized functional
1
Jε = J + b
ε
over X. Assume Jε admits a minimizers uε , b(uε ) can be expected to tend to 0 as ε goes to 0. If the limit
exists, it will therefore belong to K, and, under quite general assumptions, it will be possible to prove that
uε actually tends to a minimizer of J over K.
We shall describe here a situation where this behavior can be rigorously established: J and b are quadratic
functionals.
Let V be a Hilbert space, and a(·, ·) be a bilinear form over V × V , symmetric, continuous, and coercive,
and ϕ ∈ V ′ . We are interested in minimizing
1
J : v 7−→ J(v) = a(v, v) − hϕ, vi ,
2
over a vector space K, which we suppose written as the kernel of a non negative continuous bilinear form
b(·, ·):
K = {v , b(v, v) = 0} .
The penalized functional writes
1
1
Jε (v) = a(v, v) − hϕ, vi + b(v, v).
2
2ε
30
17
Penalty method (some scalar examples)
←− 16, 18
−→ 15
Dirichlet problem in an exterior domain
Let us describe how the penalty method can be implemented to solve the model problem (12.1), that is a
Dirichlet problem on Ω \ O, where O ⊂⊂ Ω. The problem consists in minimizing
Z
Z
1
2
f v,
|∇v| −
2 Ω
Ω
over
K = v ∈ V , v|O = 0 a.e. .
We propose a first penalty approach based on the functional
Z
Z
Z
1
1
2
Jε (v) =
fv +
|∇v| −
v2 .
2 Ω
2ε Ω
Ω
The minimizer uε is characterized by
Z
Z
Z
1
∇uε · ∇v +
fv
uε v =
ε O
Ω
Ω
Note that the penalty bilinear form
b(v, v) =
Z
∀v ∈ V,
(17.1)
v2
O
is not of the form (Bv, Bv)Λ , where B ∈ L(V, Λ) would have closed range, A poor convergence speed can
therefore be expected9 . A better convergence can be obtained by choosing
Z v 2 + |∇v|2 .
b(v, v) =
O
Indeed, it is of the form (Bv, Bv)Λ , where B ∈ L(V, Λ) has a closed range, so that it meets the assumptions
of Corollary 18.4, page 34. As a consequence, kuε − ukH 1 = O(ε).
Dirichlet boundary conditions by penalty
We now described how the penalty approach can be used to implement Dirichlet boundary condition10 . It
is actually what is done by Freefem++. We consider here a domain Ω, and the constrained minimization
problem 11
Z
Z
1
2
1
f v,
min J , J : v ∈ V = H (Ω) 7−→ J(v) =
|∇v| −
K
2 Ω
Ω
Although we do not know how to prove it, we actually expect that kuε − ukH 1 ∼ Cε1/4 . This estimate can be shown for
the 1-dimensional version of this problem.
10
At the matrix level, prescribing Dirichlet boundary conditions amounts to suppress raws and columns in the stufness matrix,
thereby affecting its structure. It can be very painful in practice, while using penalty makes it possible to keep a single matrix
structure, no matter which type of boundary conditions are considered.
9
31
with K = v ∈ V , v|Γ = 0 , where v|Γ denotes the trace of v on Γ = ∂Ω. The penalized functional can be
chosen as
Z
Z
Z
1
1
2
fv +
|∇v| −
v2 .
Jε (v) =
2 Ω
2ε
Ω
Γ
with the associated variational formulation
Z
Z
Z
1
∇u · ∇v +
f v ∀v ∈ H 1 (Ω).
(17.2)
uε v =
ε Γ
Ω
Ω
As for speed of convergence, we are not in a situation of the form (Bv, Bv)Λ , where B ∈ L(V, Λ) would have
closed range, so that a poor order of convergence can be expected. Yet, we can show that the formulation
meets the assumption of Proposition 18.3. Indeed integrating the Poisson equation against a test function
that does not vanish on Γ, one obtains
Z
Z
Z
∂u
∇u · ∇v −
f v.
v=
Γ ∂n
Ω
Ω
Since u is regular (in H 2 ), its normal derivative is well defined as a function of L2 (Γ) (it is in reality a
bit more regular), which asserts existence of a ξ̃, such that b(ξ̃, v) = hξ , vi, so that, by Prop. 18.3, the
convergence is in O(ε).
18
Penalty method – theoretical issues
We consider the following set of assumption:
V Hilbert space , ϕ ∈ V ′
a(·, ·) bilinear, symmetric, continuous, coercive,
b(·, ·) bilinear, symmetric, continuous, non negative (i.e. b(v, v) ≥ 0 ∀v ∈ V ),
K = ker b = {v , b(v, w) = 0 ∀w ∈ V }
J(v) = 1 a(v, v) − hϕ , vi, u = arg min J,
K
2
1
1
Jε (v) = a(v, v) + b(v, v) − hϕ , vi, uε = arg min Jε .
V
2
2ε















(18.1)














Note that, since b(·, ·) is nonnegative, its kernel is also the isotropic cone of the quadratic form:
ker b = {v , b(v, v) = 0} .
Proposition 18.1 Let u denote the minimizer of J over K, and uε the minimizer of Jε over V . Then uε
tends to u as ε goes to 0.
Proof : We consider here the finite dimensional case, and we refer to [11] for the infinite dimensional one.
Let us first remark that
1
α |uε |2 ≤ a(uε , uε ) + b(uε , uε ) ≤ hϕ , uε i,
ε
so that α |uε | ≤ kϕk . Since the sequence is bounded, one can extract a subsequence that converges to w.
Thanks to the previous identity, b(uε , uε ) goes to 0, so that b(w, w) = 0, i.e. w is in K. Now we have, for
any v ∈ K,
J(uε ) ≤ Jε (uε ) ≤ Jε (v) = J(v),
11
As pointed out in Section 9, the problem does not fit exactly in the framework described in Section 10, since a(·, ·) is not
coercive on V . Yet, since it is coercive on K, it can be checked that everything works fine.
32
so that J(w) ≤ J(v) for any v ∈ K, which identifies w as the unique minimizer u. The whole sequence
obviously converges to u.
The linear functional ξ of Proposition 5.1, page 10, can be recovered within the penalty context:
Proposition 18.2 The linear functional
v ∈ V 7−→ b(uε , v)/ε
converges toward ξ ∈ V ′ (defined by Prop. 5.1).
Proof : It holds that
a(u, v) + hξ , vi = hϕ , vi
∀v ∈ V,
and
1
a(uε , v) + b(uε , v) = hϕ , vi ∀v ∈ V.
ε
Substracting both identities, we obtain
1
b(uε , v) − hξ , vi ≤ |a(u − uε , v)| ≤ C |u − uε | |v| .
ε
Since uε converges to u in V , we have (strong in V ′ ) convergence of the linear functionals
v 7−→
1
b(uε , v)
ε
toward ξ.
Proposition 18.1 does not give any information on the behaviour of |uε − u| with respect to ε. It can
be very poor in practice. Yet, the convergence is of first order as soon as some property is verified. This
property asserts some kind of compatibility between b(·, ·) on which the penalty approach relies, and the
linear form ξ that expresses the constraint (see Prop. 5.1, page 10).
Proposition 18.3 We consider the set of assumptions (18.1), page 32, and we assume that there exists
ξ̃ ∈ V such that
b(ξ̃, v) = hξ , vi ∀v ∈ V,
where ξ is the linear form defined by Prop. 5.1, i.e. such that
a(u, v) + hξ , vi = hϕ , vi.
Then
|u − uε | ≤ Cε.
Proof : Let us first notice that we may take ξ̃ in K ⊥ (if not, it can be replaced by its projection on K ⊥ ).
Adapting an idea proposed in [1], we introduce the functional
1 1
Rε (v) = a(u − v, u − v) + b εξ̃ − v, εξ̃ − v .
2
2ε
Let us show that minimizing Jε amounts to minimize Rε . We have that
1
ε
1
ε
Rε (v) = a(u, u) + b(ξ̃, ξ̃) + a(v, v) + b(v, v) − a(u, v, ) − b(ξ̃, v).
2
2
2
2
33
Now, since b(ξ̃, v) = hξ , vi,
−a(u, v) − b(ξ̃, v) = − < ϕ, v >,
therefore Rε (v) is Jε (v) up to an additive constant. Consider now w = εξ̃ + u. We have that
Rε (w) =
ε2
˜ + 0 car u ∈ K = ker b,
a(ξ̃, ξ)
2
and then |Rε (w)| ≤ Cε2 . Since uε minimizes Rε ,
1 1
0 ≤ Rε (uε ) = a(u − uε , u − uε ) + b εξ̃ − uε , εξ̃ − uε ≤ Cε,
2
2ε
from which we get, thanks to the coercivity of a(·, ·), the error in O(ε).
First order convergence is commonly established by verifying a stronger assumption:
Corollary 18.4 Under assumptions (18.1), we assume in addition that b(·, ·) can be written b(u, v) =
(Bu, Bv), where B is a linear continuous operator onto a Hilbert space Λ, with closed range. Then |uε − u| =
O(ε).
Proof : Let us show that the assumption of Prop. 18.3 is met. It is sufficient to prove that any ξ ∈ V ′ which
vanishes over K identifies through b(·, ·) to some ξ̃ ∈ V , i.e. there exists ξ̃ ∈ V such that
hξ , vi = b(ξ̃, v)
∀v ∈ V.
Note that, as ξ vanishes over K, it can be seen as a linear functional defined on K ⊥ , so that it is equivalent
to establish that T : V −→ (K ⊥ )′ defined by
ξ̃ 7−→ ζ : hζ , vi = b(ξ̃, v)
∀v ∈ K ⊥ ,
is surjective. We denote by T ⋆ ∈ L(K ⊥ , V ) the adjoint of T . For all w ∈ K ⊥ ,
b(w, v)
(Bw, Bv)
|Bw|2
(T ⋆ w, v)
= sup
= sup
≥
.
|T w| = sup
|v|
|v|
|v|
|w|
v6=0
v6=0
v6=0
⋆
As B has closed range, |Bw| ≥ C |w| for all w in (ker B)⊥ = K ⊥ , so that
|T ⋆ w| ≥ C 2 |w|
∀w ∈ K ⊥ ,
from which we conclude (thanks to Prop. 4.5, page 10) that T is surjective.
19
Rigid body constraint (a scalar toy problem)
We consider here a scalar elliptic problem that is a simplified version of the vector problem associated to
the handling of rigid motion in a viscous fluid. Let us define the domain Ω as the unit square, and O ⊂⊂ Ω
is a subdomain of Ω.


−∆u = f
in Ω \ O





u = 0
on Γ = ∂Ω


(19.1)
u = U ∈ R on γ = ∂O


Z



∂u


 − ∂n = 0.
γ
34
It can be seen as the heat equation over a domain Ω, with an infinite conductivity in a subdomain, so that
the temperature is uniform in this subdomain. The last equation simply states that the heat flux through
the subdomain O balances to 0. Note that the 3 first equations, with a given U ∈ R, define a standard
Dirichlet problem. Considering U as a degree of freedom can be achieved by adding the last equation. This
remark can be used build a solution strategy: denote by u0 (resp. u1 ) the solution of the Dirichlet problem
with U = 0 (resp. U = 1). The solution to (19.1) obviously writes
u = u0 + U (u1 − u0 ).
Injecting this expression in the last equation allows to compute the appropriate value for U .
Now, if we are interested in building a strategy of the fictitious domain type, we have to formulate this
problem over the whole domain Ω. Let us consider a test functions ũ that is constant over γ, we multiply
the Poisson equation and integrate by part:
Z
Z
Z
∂u
ũ =
∇u · ∇ũ −
f ũ.
Ω\O
γ ∂n
Ω\O
Now we can extend u (resp. ũ) by its constant value U (resp. Ũ ) in O, and we obtain (using the fact that
ũ is uniform over γ, and the 4th equation of(19.1))
Z
Z
Z
∂u
f ũ.
∇u · ∇ũ −
Ũ =
Ω
γ ∂n
Ω
| {z }
=0
We identify the variational formulation of a minimization problem. We introduce
V = H01 (Ω) , K = {v ∈ V , v = U a.e.in O , U ∈ R}
and the associated minimization problem
1
min J(v) , J(v) =
K
2
Both problems are related:
Z
2
|∇v| −
Ω
Z
f v.
(19.2)
Ω
Proposition 19.1 The solution to (19.2) is a weak solution to (19.1).
Proof : The variational formulation of (19.2) reads
Z
Z
f ũ.
∇u · ∇ũ =
Ω
Ω
Taking test functions supported in Ω \ O, we recover the Poisson equation in theis domain. The Dirichlet
boundary condition on Γ is essentialy verified by u. Now consider test functions that my be non-zero on O.
We can use Green’s formula separately in Ω \ O and O (the function u is H 2 on both sides of γ). We obtain
Z
Z
Z
Z
∂u
(−∆u) ũ +
(−∆u) ũ +
Ũ =
f ũ,
Ω\O
O | {z }
γ ∂n
Ω\O | {z }
=f
=0
for any Ũ ∈ R. So we finally obtain that ∂u/∂n has a zero mean over γ, which ends the proof.
Bibliographical notes.
Glowinski et al, 99 ([10]) : fictitious domain approach (by duality) to hande the motion of rigid grains.
The approach is not based on the strain tensor as presented above. The authors rather keep the degrees of
freedom of the rigid body (translational and rotation velocity), and identify the correspoding velocity field
with the global one, in the rigid region, by means of a Lagrange multiplier.
35
Duality approach
There are various ways to express that an H 1 function is uniform over a domain O. Let us pick the following:
K = ker B , B : v ∈ V = H01 (Ω) 7−→ Bv = ∇v|O ∈ L2 (O).
And we obtain the associated variational formulation, that involves a Lagrange multiplier field λ ∈ Λ =
L2 (O)2
Z
Z
 Z


f v ∀v ∈ V
λ
·
∇v
=
∇u
·
∇v
+

Ω
O
Ω
(19.3)
Z



µ · ∇u
= 0
∀µ ∈ Λ.
O
Proposition 19.2 The problem (19.3) admits a solution (u, λ) ∈ H01 (Ω) × L2 (O)2 .
Proof : By Proposition 10.2, page 21, it is sufficient to check that B (the gradient operator from V to Λ)
has a closed range. This is a consequence of Proposition 4.4, page 10, together with Poincaré-Wirtinger
inequality, which states that
kv − vk L2 (O) ≤ C k∇vk L2 (O)2 .
Penalty approach
The penalty approach is quite straightforward in this context. it consists in introducing the penalized
functional
Z
Z
Z
1
1
2
fv +
|∇v| −
|∇v|2 .
Jε (v) =
2 Ω
2ε O
Ω
Note that, since we proved in Prop. 19.2 that
B : v ∈ V 7−→ ∇v|O ∈ L2 (O)2 ,
has a closed range, the penalty term meets the assumptions of Corollary 18.4, page 34, so that the convergence of uε toward u is of the first order in ε.
Exercise 19.1 The constraint can be expressed by requiring a function to identifiy to its mean value on O,
i.e.
Z
1
v−
v = 0 a.e. in O.
|O| O
Investigate how duality and penalty approaches can be applied to this expression of the constraint.
20
Rigid body constraint (the real stuff)
We consider a rigid inclusion in a viscous fluid, and we aim at proposing formulation of the fictitious domain
type to address this situation.
The domain of interest in decomposed into the inclusion O, and the fluid part Ω \ O. We consider the
case of a gravity induced motion: the fluid is assumed to have no mass, while the mass of the inclusion is
m.
36
We denote by U and ω the translational and rotational velocities of O, that are unknown. The problem
consists in finding u = (u1 , u2 ) defined over Ω \ O, (U, ω) ∈ R2 × R, and a pressure field p in Ω \ O such
that


−µ△u + ∇p = 0
in Ω \ O,






∇·u = 0
in Ω \ O,





u = 0
on ∂Ω,



u = U + ω × r on ∂O,
(20.1)
Z




mg − σ · n = 0



γ


Z





 − r×σ·n = 0
γ
where g is the gravity vector, r is the position vector relatively to the center of mass of the inclusion, and
σ · n is the normal stress
σ · n = µ(∇u + t ∇u) · n − pn.
Note that it is reasonable to expect well posedness, since the problem corresponding to the 4 first
equations, with a fixed body velocity, is a standard Dirichlet problem. By letting the body velocities be
free, we add 3 degrees of freedom, but we also add 3 equations.
We introduce
V = H01 (Ω)2 = u = (u1 , u2 ) , u1 , u2 ∈ H01 (Ω) , Kdiv = {u ∈ V , ∇ · u = 0 p.p. } ,
KO = u ∈ V , ∃ (U, ω) ∈ R2 × R t.q. u = U + ω × r p.p. dans O ,
and the functional
µ
J(v) =
4
Z
Ω
∇v + t ∇v2 −
Z
f · v.
Ω
As we shall see, the constrainted minimization problem associated to System (20.1) is

 u ∈ Kdiv ∩ KO ,
 J(u) =
inf
v∈Kdiv ∩KO
J(v),
(20.2)
Remark 20.1 Although it is redundant, we might sometimes design an element of KO by making explicit
the rigid degrees of freedom: (u, U, ω) ∈ KO .
Dual/direct approach
We propose to handle the divergence free constraint by duality, and the rigid motion constraint directly. We
introduce the pressure space
Z
Λ = L20 (Ω) =
p ∈ L2 (Ω) ,
p=0 .
Ω
The Lagrangian is defined over KO × L2 (Ω) by
Z
Z
Z
2
q · ∇v,
f ·v+
|D(v)| −
L(v, q) =
Ω
Ω
with
D(v) =
1
∇v + t ∇v .
2
37
Ω
The semi-direct formulation we propose reads

Find (u, U, ω) ∈ KO and p ∈ Λ such that :



Z
Z
Z


 1
t
t
f · ũ,
p∇ · ũ =
(∇u + ∇u) : (∇ũ + ∇ũ) −
2 Ω
Ω
Ω

Z





q∇ · u = 0 ∀q ∈ Λ.
∀(ũ, Ũ, ω̃) ∈ KO ,
(20.3)
Ω
The link between the PDE system above and the variational problem (20.3) is expressed by the following
proposition:
Proposition 20.2 Let (u, p) be a velocity-pressure couple in H01 (Ω)2 × L2 (Ω). We assume that the restrictions of u and p to Ω \ O are in H 2 (Ω \ O)2 and H 1 (Ω \ O), respectively. Then (u, U, ω, p) solves (20.1) if
and only if (u, U, ω, p) solves (20.3).
Proof : The delicate part consists is passing from the variational formulation to the PDE formulation. Let
(u, p) be a solution of (20.3). Considering first test-functions supported in Ω \ Owe recover the PDE in the
fluid domain
−△u + ∇p = f dans Ω \ O.
Consider now test-functions Ũ in KO that do not vanish in O. Such fields Ũ = (ũ, Ũ, ω̃) verify the rigid
motion condition in O. Intergration by part yields
Z
Z
Z
Z
t
f · ũ.
(∇u + ∇u) · n − pn · ũ =
ũ · ∇p +
△u · ũ +
−
Ω\O
Ω
γ
Ω\O
We therefore have
Z
γ
(∇u + t ∇u) · n − pn · Ũ + ω̃ × r = 0 ∀(Ũ, ω̃) ∈ R2 × R.
In particular (take ω̃ = 0, Ũ = ex then Ũ = ey )
Z
σ · n = 0,
γ
and (take Ũ = 0, ω̃ = 1, use (σ · n) · (ω̃ × r) = ω̃ · (r × σ · n))
Z
r × σ · n = 0,
γ
which gives the dynamic coupling conditions of (20.1).
Penalty
As a first step, we write
KO = u ∈ V , ∇u + t ∇u = 0 p.p. in O ,
38
The penalty approach applied to the rigid motion constraint reads as follows

Find u ∈ V and p ∈ Λ such that :



Z
Z


1

t
t


p∇ · ũ
(∇u
+
∇u)
:
(∇ũ
+
∇ũ)
−


 2 Ω
Ω
Z
Z
1
t
t

f · ũ, ∀ũ ∈ V,
(∇u + ∇u) : (∇ũ + ∇ũ) =
+


2ε O

Ω


Z




q∇ · u = 0 ∀q ∈ Λ,

(20.4)
ωF
Proposition 20.3 For ε > 0, let uε be the primal part of the solution to (20.4). Then
ku − uε kH 1 (Ω) = O(ε).
Proof : It is a consequence of Corollary 18.4, page 34, applied to the mapping
B : u ∈ H01 (Ω)2 7−→ (∇u + t ∇u)|O ∈ L2 (O)4 .
To prove that B has a closed range, we follow a path similar to the scalar case (see Proposition 19.2):
Consider w = (∇u + t ∇u)|O ∈ ℑB, and the projection ũ of u|O on the space of all those fields in H 1 (O)2
that are orthogonal to rigid motions. It holds that D(ũ) = D(u) on O. Now Korn’s inequality implies that,
for any linear space that do not contain any non-trivial rigid motion,
kũk 1
≤ C ∇ũ + t ∇ũ 2
.
H (O)
L (O)
Since ũ is orthogonal to rigid motions, we have a bound on the H 1 (O) norm of ũ. The bounded pre-image
of w is then buit by extending ũ outside O, to obtain a function in H01 (Ω)2 .
21
Rigid body constraint – implementation
←− 19, 20
−→ 22
Implementation of the rigid motion constraint by penalty is quite similar to what is done in the scalar
case, like in Section 15, or 19. The penalty approach actually has a simple physical interpretation: one
considers that the rigid body is actually a fluid with a huge viscosity, that indeed penalizesdeformation. The
simplest way to do that with Freefem++ is to define a piecewise constant viscosity. For example, if the rigid
part covers the domain O, that is the disc centered at (xB,yB), with radius rB, one defines
chiO= ((x-xB)^2+(y-yB)^2 < rB^2);
muvar = 1 + chiO/eps;
where both chiO and muvar are piecewise constant functions. The latter is then introduced in the stiffness
part of the variational formulation:
int2d(Th)((2*dx(ux)*dx(tux)+2*dy(uy)*dy(tuy)+
dx(uy)*dx(tuy)+ dy(ux)*dy(tux)+
dx(uy)*dy(tux)+ dy(ux)*dx(tuy))*muvar)
39
22
Sedimentating particle
←− 21, 20, 19.
23
Surface tension
When two immiscible fluids are separated by an interface, short range forces between the fluid induce a non
zero resulting force whenever the interface is not flat. The effect can be modeled by a pressure drop through
the interface. This pressure drop is the product of the mean curvature of the interface and a coefficient κ.
This coefficient depends of the properties of both fluids, and on the chemical state of the interface itself.
Consider the case of a (two-dimensional) viscous fluid flowing freely in a perfect fluid, which we will consider
at pressure zero. The corresponding boundary condition can be written
σ · n = −κC n,
where C is the curvature, i.e. the inverse of the radius of curvature. This curvature will be considered
positive in case of a convex body, so that the force points toward the center of the radius of curvature.
This effect is delicate to be accounted for numerically, since it involves a quantity that involves the second
derivative of the boundary. Let us show here that there is a natural way to integrate it in the finite element
method. We shall consider the case of a boundary with no ends, i.e. the interface is the whole boundary of
the domain.
The approach is based on elementary calculus in differential geometry, namely the formula
dt
n
= ,
R
ds
Cn =
where is the tangent vector, and s the curvilinear abscissa. Now consider the term that corresponds to the
surface tension effect in the variational formulation (v is a vector test function):
Z
Z
dt
· v.
Cn · v =
ds
Γ
Γ
If the boundary is a closed curve, it can be integrated by parts without end terms:
Z
Z
Z
dv
· t = − ((t · ∇)v) · t.
Cn · v = −
Γ
Γ ds
Γ
Now consider a P 1 discretization of the fluid problem. The latter quantity is well defined on the discretized
(piecewise affine) boundary, and it can be estimated within FreeFem++:
+int1d(Th,1)(-N.y*(-N.y*dx(tux)+N.x*dy(tux))
+N.x*(-N.y*dx(tuy)+N.x*dy(tuy)))
24
Symmetrized gradient or not ?
The stiffness part in variational formulation of the (incompressible) Stokes problem can be written
Z
∇u : ∇v
Ω
or
1
2
Z
Ω
∇u + t ∇u : ∇v + t ∇v ,
40
equivalently, as soon as Dirichlet boundary condition are considered. Yet, in case of an “open” boundary,
the associated natural boundary conditions differ. The first choice (unsymmetrized gradient) corresponds
to
µ∇u · n − p n = 0,
while the second one corresponds to
µ ∇u + t ∇u · n − p n = 0.
The second one only involves a well identified object, that is the stress tensor. It is indeed the right condition
to model an interface between a viscous fluid and a perfect fluid where the sole pressure is prescribed. It is
the relevant free surfacecondition, when the boundary is indeed a physical interface between to media. The
second one might appear as a simplified version of it, that we keep for mathematical convenience, and it has
indeed no mechanical interpretations. This is more than that, essentially for two reasons (a good one, and
a not-so-good one):
1. When the boundary is not a real free surface, but an artificial boundary, such that the fluid on the
other side of it is the same viscous fluid, this unphysical condition can be more adapted in some
situations. In particular, in the case of a Poiseuille’s flow, the parabolic profile is exactly recovered
(see Fig.fig:poisCL, left).
2. In many situations (in particular when the Reynolds number is high), even when the boundary actually
corresponds to a physical free surface, it does not make such a difference to choose one or the other.
For low Reynolds number flows, though, the difference can be significant, as illustrated by Fig.fig:poisCL,
which shows the velocity field for a Poiseuille’s flow with a free outlet boundary condition, with the unphysical condition (left), and the physical one (right).
25
Uzawa algorithm
We are interested in approximating a saddle-point (Def. 8.1, page 17) for
(v, µ) ∈ V × Λ 7−→ L(v, µ) =
1
a(v, v) − hϕ , vi + (µ, Bv),
2
where V and Λ are Hilbert spaces, a(·, ·) is a symmetric, continuous and coercive bilinear form, and B ∈
L(V, Λ). If A ∈ L(V, V ′ ) is the operator associated to a(·, ·), the problem can be formulated in V ′ (see (8.1)),
or in a variational form (8.2).
Algorithm 25.1 (Uzawa)
Given a parameter ρ > 0, and an initial guess λ0 , it consists in in computing λ1 , λ2 , . . . according to the
following procedure
1. Assuming that λn is known, compute un+1 as the solution to
a(uk+1 , v) + (Bv, λk ) = hϕ , vi
2. Update the Lagrange multiplier
λk+1 = λk + ρBuk+1 .
This algorithm can be shown to converge in the following sense:
41
∀v ∈ V.
Figure 24.1: Free outlet conditions based on the velocity gradient (left) and on the strain tensor (right).
Proposition 25.2 If the saddle-point problem (8.1) (page 17) admits a solution (u, λ) (not necessarily
unique in λ), and if ρ > 0 is sufficiently small, i.e.
0<ρ<
2α
,
kBk2
where α is the ellipticity constraint of A), then the sequence (uk ) converges to the constrained minimizer
u = arg min J.
K
Proof : We substract the two following identities:
λk+1 = λk + ρBuk+1 ,
λ = λ + ρBu,
to obtain
λk+1 − λ = λk − λ + ρB(uk+1 − u).
Then
2
2
2
k+1
− λ = λk − λ + 2ρ uk+1 − u, B ⋆ (λk − λ) + ρ2 B(uk+1 − u)
λ
2
2
= λk − λ − 2ρ uk+1 − u, A(uk+1 − u) + ρ2 B(uk+1 − u)
2
2
≤ λk − λ − ρ 2α − ρ kBk2 uk+1 − u .
42
u·n=0
σ·n=0
u=0
Figure 26.1: Fluid in a container
If the condition on ρ is verified, the sequence λk −λ is non-negative
decreasing, therefore it converges (to
k+1
a limit that might be positive). As a consequence, u
− u goes to 0, which ends the proof.
It is also possible to show that, even if λ is not unique, λk weakly converges to some λ′ (such that
λ − λ′ ∈ ker B ⋆ ). The convergence is of course strong if Λ is finite dimensional, that is the case for space
discretization spaces.
Note also that, in the case of non-existence of a Lagrange multiplier (when im B is not closed), this
algorithm behaves satisfactorily in practice as far as the primal part is concerned, while the dual part λk
can be expected to diverge. We do not know any proof of this fact, neither do we know any counterexample.
26
Water waves
We consider the situation illustrated by Fig. 26.1. A viscous fluid is located in a container, with an open
top (free surface), in contact with a gas considered as perfect, at uniform zero pressure (see def. 13.4). The
fluid is subject to gravity forces. It is assumed to stick to the bottom boundary, and to slip with no friction
on the lateral walls:

∂u

 ρ
+ ρ (u · ∇) uτ − µ△u + ∇p = g in Ω(t)


∂t





∇ · u = 0 in Ω(t)











σ · n = 0 on Γ3 (t)
u · n = 0 , t · σ · n = 0 on Γ2 (t) ∪ Γ4 (t)
u = 0 on Γ1 .
In this context, it is natural to define a vertical velocity of the domain. Since its normal component
must equal that of the fluid velocity, the vertical component is determined:
c = c ey , c · n = u · n =⇒ c =
u·n
.
ey · n
(26.1)
A natural way to define the interior domain velocity is to interpolate between the upper boundary and 0.
It may not be so straightforward in practice: for any mesh vertex inside the domain, one has to determine
the velocity of the corresponding boundary point. This task is not trivial for a general mesh. An alternative
way consists in solving a Laplace problem over the whole domain, for the vertical component of the domain
43
velocity. In order to avoid diffusion in the horizontal direction, it is possible to solve use an anistropic
diffusion tensor, i.e. to solve
−∇ · D∇c = 0,
with c = 0 on Γ1 , ∂c/∂n = 0 on Γ2 ∪ Γ4 , and relation (26.1) on Γ3 .
44
References
[1] I. Babuška, The finite element method with penalty, Mathematics of Computation 27, 1973, pp. 221–
228.
[2] S.C. Brenner, R. Scott, The Mathematical Theory of Finite Element Methods (Texts in Applied Mathematics), Springer 2007.
[3] H. Brezis, Functional Analysis, Sobolev Spaces and Partial Differential Equations, Universitext,
Springer-Verlag New York Inc. 2011.
[4] A. Ern and J.-L. Guermond, Theory and Practice of Finite Elements, vol. 159 of Applied Mathematical
Series, Springer, New York, 2004.
[5] FreeFem++ reference manual
[6] F. Hecht, New development in FreeFem++. J. Numer. Math. 20 (2012), no. 3-4, 251–265.
[7] J.F. Gerbeau, C. Le Bris,T. Lelievre, Mathematical Methods for the Magnetohydrodynamics of Liquid
Metals, Oxford Science Publications, 2006.
[8] Girault, V., Glowinski, R.: Error analysis of a fictitious domain method applied to a Dirichlet problem.
Japan J. Indust. Appl. Math. 12(3), 487–514 (1995).
[9] V. Girault, P.A. Raviart, Finite Element Methods for Navier-Stokes Equations. Theory and Algorithms.
Berlin-Heidelberg-New York-Tokyo, Springer-Verlag 1986.
[10] R. Glowinski, T.-W. Pan, T. I. Hesla, and D.D. Joseph, A distributed Lagrange Multiplier/Fictitious
Domain Method for Particulate Flows, Int. J. Multiphase Flow 25 (1999), pp. 755.
[11] B. Maury, Numerical Analysis of a Finite Element / Volume Penalty Method, SIAM J. Numer. Anal.
Volume 47, Issue 2, pp. 1126-1148 (2009).
[12] O. Pironneau, Finite Element Method for Fluids, John Wiley & Sons, Chichester, 1989.
[13] A. Quarteroni, A. Valli, Numerical Approximation of Partial Differential Equations, Springer Series in
Computational Mathematics, Springer, 2nd edition 2008.
[14] P. A. Raviart, J. M. Thomas, Introduction l’analyse numrique des quations aux drives partielles,
Dunod 2004.
[15] V.K. Saul’ev, Solution of certain boundary-value problems on high-speed computers by the fictitiousdomain method, Sibirsk. Mat. Z̆., 4, pp. 912–925, 1963
[16] R. Temam, Navier-Stokes equations, Theory and numerical analysis, American Mathematical Society,
3rd edition 2000.
45
Figure 26.2: Water waves
46