mesh adaptation via shape optimization · 2016. 10. 30. · j(uh) = j(uh(th)) = j((th)) min...

96
Mesh adaptation via shape optimization Zoubida Mghazli (1) (1) Universit´ e Ibn Tofail, Kenitra, Maroc, collaborators A. Alla (1) , M. Fortin (2) , F. Hecht (3) , M. Masmoudi (4) (2) Universit´ e Laval, Qu´ ebec , (3) Universit´ e Pierre et Marie Curie, Paris, (4) Universit´ e Paul Sabatier, Toulouse Wednesday, July 7, 2010 Workshop on A posteriori error estimates and mesh adaptivity for evolutionary and nonlinear problems 1

Upload: others

Post on 19-Jan-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Mesh adaptation via shape optimization

Zoubida Mghazli(1)

(1) Universite Ibn Tofail, Kenitra, Maroc,

collaborators

A. Alla (1), M. Fortin(2), F. Hecht(3), M. Masmoudi(4)

(2) Universite Laval, Quebec , (3) Universite Pierre et Marie Curie, Paris,(4) Universite Paul Sabatier, Toulouse

Wednesday, July 7, 2010

Workshop on A posteriori error estimates and mesh adaptivity for

evolutionary and nonlinear problems

1

Page 2: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Introduction

The shape optimization problems are generally in the form

minΩ∈Oad

j(Ω)

where

• j(Ω) = J(Ω, uΩ) is a fonctional of the domain Ω

• Ω ∈ O, a set of admissible domains

• uΩ solution of a PDE in Ω.

If we consider a functional J(·) which measures the error made

in approaching the PDE by a finite element method built on a

mesh Th, this raises the question of whether one can obtain an

optimal mesh in the sense that minimizes the functional J(·)

2

Page 3: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

J(uh) = J(uh(Th)) = j((Th))

minTh∈Tad

j((Th))

The mesh adaptation procedure is based on a number of local

operations on the initial mesh:

• node displacement,

• edge refinement,

• node suppression,

• edge swapping.

This sequence is repeated a number of times until the mesh

stabilizes.

3

Page 4: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

The decision whether a given local operation has to be performed

is based on the definition of the error on an element K and on

its gradient. The local operations are used with two objectives:

control the error level on each element so that the absolute error

takes the desired value ed everywhere. The second objective is

to achieve equidistribution of this error by minimizing the error

gradient.

If we fixe the number of nodes of a triangulation Th, we prove

in the first part of this presentation that the optimal position of

the nodes can be obtained by minimizing the approximation error

using a hierarchical estimator. The node displacement procedure

(also called R-adaptation)which is a crucial step in a global mesh

adaptation procedure, is obtained by the derivative of the func-

tional with respect to the triangulation Th.4

Page 5: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

The usual techniques for shape optimization exclude changetopological domain and does not allow the creation of holes.

Topological optimization is concerned with the variation of acost function with respect to a topological modification of adomain. The most simple way of modifying the topology consistsin creating a small hole in the domain. In the case of structuralshape optimization, creating a hole means simply removing somematerial.For ε ≥ 0 given let Ωε = Ω \ (x0 + εω) be the subset obtainedby removing a small part (x0 + εω) from Ω, where x0 ∈ Ω andω ⊂ Rn is a fixed open and bounded subset containing the origin.

Oad = Ωε, ε ≥ 0Generally, the functional j(·) is not differentiable functional withrespect to ε at ε = 0,

5

Page 6: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

An asymptotic expansion of the function j(·) is obtained in the following form:

(J. Cea, S. Garreau, PH. Guillaume, M. Mamsoudi, 2000)

j(Ωε) = j(Ω) + ρ(ε)g(x0) + o(ρ(ε)).

limε→0

ρ(ε) = 0, ρ(ε) > 0.

The function g(·) is called the topological sensitivity or topological gradient.It can be used as a descent direction of the domain optimization process.Obviously, if we want to minimize j(·), the ”best” place to create an in-finitesimal hole is there where g(x) is the most negative. Starting with thisobservation, topological optimization algorithms can then be constructed.

In the context of mesh adaptation, the edge refinement and node suppressionares local operations that can be seen as a change of mesh topology.

In the second part of this talk, we present some ideas to deal the mesh

refinement as a topological optimization.

6

Page 7: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Outline

• The model problem

• The node displacement as a Shape optimization problem

• Refinement via an asymptotic expansion

• Conclusion and perspective

7

Page 8: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

• Model problem

u ∈ V = H10(Ω) such that a(u, v) = L(v) ∀v ∈ V

a(u, v) :=

∫Ω

(∇u · ∇v + αuv) dx, L(v) :=

∫Ωfvdx.

Th triangulation of Ω.

Vkh = vh ∈ V; vh|K ∈ Pk(K), ∀ K ∈ Th ∩H10(Ω)

uh ∈ Vkh tel que a(uh, vh) = L(vh), ∀vh ∈ Vkh.

e = u− uh approximation error

Can we determine the ”optimal” mesh in the sense that

minimizes the approximation error??

8

Page 9: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

The first ideas in this direction are due to M. C. Delfour, G. Payre,

J.P. Zolesio, (1986). They considered the energy functional as a

cost functional .

For two triangulations Th and Th′ they showed, with the help

of directional derivatives, that respective approximate solutions

verify

J(uh) = J(u) +1

2a(uh − u, uh − u)

‖u− uh‖2 − ‖u− uh′‖2 = 2 (J(uh) − J(uh′))

so minimizing the error becomes minimizing J .

Il seems that the ”best” representation of the error is the hier-

archical estimator.9

Page 10: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Hierarchical estimator

The hierarchical method is based on a simple idea: given an

approximation of order k, a better approximation, of order k+ 1

could be used to assess the accuracy of the solution. If now Vkh ⊂V denotes the discrete space of piecewise continuous polynomials

of degree k, the approximate solution is obtained by finding ukh ∈Vkh such that:

a(ukh, wkh) = L(wkh), ∀wkh ∈ Vkh.

The error ek = u− ukh is then the solution of:

a(ek, w) = Rh(w), ∀w ∈ V

where Rh(w) = L(w) − a(ukh, w) is the residual.

10

Page 11: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

An approximation of this error ek can be obtained by consideringthe space Vk+1

h of piecewise continuous polynomials of degreek + 1 and by solving:

a(ek+1h , wk+1

h ) = R(wk+1h ), ∀wk+1

h ∈ Vk+1h .

This would imply computing a full problem in the space Vk+1h ,

which would obviously be prohibitive.

The idea is then to use a hierarchical finite element basis of thespace Vk+1

h :

Vk+1h = Vkh ⊕ Ek+1

h

so that Vk+1h is the direct sum of Vkh (polynomials of degree k)

and a correction space Ek+1h consisting of polynomials of degree

k + 1.

11

Page 12: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

The error can then be approximated by solving the following

problem: Find ek+1h ∈ Ek+1

h such that

a(ek+1h , wk+1

h ) = R(wk+1h ), ∀wk+1

h ∈ Ek+1h .

In the following we consider the case where a piecewise linear

approximation which is corrected by a piecewise quadratic one,

only the mid-edge nodes are computed, leaving unchanged the

values at the vertices.

We drop the index k + 1 and write hencefortheh ∈ Eha(eh, wh) = Rh(wh) ∀ wh ∈ Eh.

12

Page 13: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

This method has been analysed for a wide class of problems. The typicalresult is global. Under two principal hypothesis one can show an estimate ofthe following form

(R.E.Bank, R.K. Smith,1993): Under

(1) Saturation assumption

∃β, 0 < β < 1 tel que ‖|u− u(k+1)h ‖| ≤ β ‖|u− u

(k)h ‖|

(2) Cauchy-Binyakowski-Schwarz inegality (ou strong Cauchy-

Schwarz inegality)∃γ < 1 independant of h, such that

∀v ∈ Vkh ∀w ∈ Eh |a(v, w)| < γ ‖|v‖| ‖|w‖|,

We have (1−β2)(1−γ2)‖|u−u(k)h ‖|2 ≤ ‖|eh‖|2 ≤ ‖|u−u(k)

h ‖|2.

13

Page 14: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Without saturation assumption (A. Agouzal, 2002)

Vb = Vh ⊕ bT , T ∈ Th

‖u− uh‖ ≤ C0‖εh‖ + C

∑K∈Th

h2K‖f − fK‖2

0,K

1/2

∀K ∈ Th, ‖εh‖ ≤ C1‖u− uh‖1,∆(K).

εh local representation .

14

Page 15: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

• The node displacement

(a Shape optimization problem)

A.Alla, M. Fortin, F. Hecht, Z.M.,: ” R-Adaptation de maillage par l’estimateur

d’erreur hierarchique”, ARIMA, Volume 5, p1-10, 2006.

−→ For Th given:

uh = uh(Th), and eh = eh(Th)

Objective: the best position nodes.

−→ minimize error approximation via the error estimator hierar-

chical

15

Page 16: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Let

J(eh(Th)) :=1

2

∫Ωh

|∇eh(Th)|2 =1

2‖|eh(Th)‖|2

the minimization problem isFind the nodes position of Th that minimizes J(eh(Th)),under the constraintsa(eh, vh) = L(vh) − a(uh, vh) ∀ vh ∈ Eha(uh, vh) = L(vh) ∀ vh ∈ Vh.

(1)

16

Page 17: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

M: the set of nodes of ThTT the set of triangulations Th(M) generated by M with thesame topological table .mT = M : M ⊂ Ω/ Th(M) ∈ TT ,

and let

j(M) := J(eh(Th(M))

The shape optimization problem is:FindM ∈ mT such that :

j(M) = infM∈mT

j(M), witha(eh(Th(M)), vh) = L(vh) − a(uh(Th(M)), vh) ∀ vh ∈ Eha(uh(Th(M)), vh) = L(vh) ∀ vh ∈ Vh

17

Page 18: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

We assume that the last problem admits a unique solution. To

calculate the derivative of the functional j(·) with respect to

shape parameters which are the nodes of the mesh, we intro-

duce the Lagrangian to transform the constrained problem to a

problem without constraints.

The Lagrangian in Eh × Vh × Eh × Vh is given by

L(vh, vh, qh, µh) = J(vh) + [a(vh, qh) − L(qh) + a(vh, qh)]

+[a(vh, µh) − L(µh)].

18

Page 19: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Dual problems are given by:

Find ph ∈ Eh, such that∫Ωh

∇ph ∇vh dΩh = −∫Ωh

∇eh ∇vh dΩh ∀vh ∈ Eh.

Find λh ∈ Vh, such that∫Ωh

∇λh ∇vh dΩh = −∫Ωh

∇ph ∇vh dΩh ∀vh ∈ Vh,

where the notation Ωh means that the domain is meshed with

the triangulation Th.

19

Page 20: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

To calculate the shape derivative of j(·) we use the techniquesof Zolezio-Delfour-Sokolowski . The variation of the domain Ωis defined through a regular transformation Tt : Rn −→ Rn givenby a velocity field V and such that

Tt(Ωh) = Ωth, Tt(M) = Mt

we note et := eht = eth T−1h ∈ Eth.

For t > 0:

j(Mt) =1

2

∫Ωth

|∇et|2 dΩth =1

2

∫Ωh

(A(t) ∇eth,∇e

th

)dΩh

where

A(t) = DT−1t Jt

∗DT−1t ,

Jt = det(DTt)

A′(0) = divV (0) I − (DV (0) + ∗(DV (0)))

20

Page 21: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Using this change of variable, the dual problems and the shapederivative of bilinear forms we obtain the explicit formula for thederivative of the fonctional

dj(Ωh;V ) =1

2

∫Ωh

(A′(0) ∇eh,∇eh

)dΩh −

∫Ωh

div (fV (0))

(ph + λh) dΩh +

∫Ωh

A′(0) ∇uh∇λh dΩh

+

∫Ωh

A′(0) ∇(uh + eh) ∇ph dΩh

We use the velocity fields, continuous and piecewise linear (whichtransforms the triangles into triangles) introduced by Delfour-Payre-Zolezio (1985) and defined from φii basis of Vh.

We take successively V1 = (φi, 0) and V2 = (0, φj) to computede partial derivative of J

21

Page 22: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Algorithm

Data: ε, initial mesh T (0)h .

Step 1: computation of the approximate solution uh.

Step 2: computation of the estimator eh and the functional j.

Step 3: computation of the dual solutions ph et λh.

Step 4: For every node do

- computation of dj(M, V1) and dj(M, V2) ou V1 = (φi, 0) et V2 =

(0, φi);

- calcul de ‖dj(M, V )‖ = ((dj(M, V1))2 + (dj(M, V2))

2)1

2.

Etape 5: test := maximum of ‖dj(M, V )‖;if test > ε

- displacement of the node in the direction of dj(M, V ), (new tri-

angulation T (n)h );

-go to step 1.

otherwise STOP.

22

Page 23: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Numerical tests: A manufactured solution given by

u(x, y) = xy(x− 1)(y − 1)e−50((x−1/2)2+(y−1/2)2)

23

Page 24: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

50 iterations

24

Page 25: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

100 iterations

25

Page 26: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

150 iterations

26

Page 27: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

200 iterations

27

Page 28: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

250 iterations

28

Page 29: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

300 iterations

29

Page 30: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

350 iterations

30

Page 31: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

400 iterations

31

Page 32: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

450 iterations

32

Page 33: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

500 iterations

33

Page 34: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

550 iterations

34

Page 35: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Cost functionnal

0 100 200 300 400 500 6000.6

0.8

1

1.2

1.4

1.6

1.8

2x 10

−3

Itérations

Fon

ctio

nnel

le c

oût

Evolution de la fonctionnelle vs itérations

Fonctionnelle coût

35

Page 36: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

• Refinement via an asymptotic expansionwe just want to present some ideas on how to make the er-ror functional minimization, as a shape optimization, when themesh adaptation requires a discontinuity in the mesh topologyby introducing new nodes.

Until now the development is not complete.

General framework of asymptotic expansion

• ε ≥ 0 given, Ωε = Ω \ (x0 + εω), x0 ∈ Ω et ω ⊂ Rn• V Hilbert space,

uε ∈ V, aε(uε, v) = `ε(v), ∀v ∈ V• aε(·, ·) a bilinear form, symmetric and uniformly coercive on V• `ε(·) a linear form uniformly continues on V

36

Page 37: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Hypothesis:

• ‖aε − a0 − f(ε)δa‖ = o(f(ε))

• ‖`ε − `0f(ε)δ`‖ = o(f(ε))

• J0 differentiable with respect to u and

Jε(v) − J0(u) = DJ0(v − u) + f(ε)δJ + o(f(ε))

• p0 solution of the dual problem :

a0(w, p0) = −DJ0(u0)w, ∀w ∈ V

then (M.Masmoudi) j(ε) := J(uε) is such that

j(ε) − j(0) = f(ε)δj + o(f(ε))

δj = δa+ δ`+ δJ

37

Page 38: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Mesh adaptation .

We recall the expression of the fonctionnal to optimize

J(eh) =1

2‖|eh|‖2 where

eh ∈ Eh, such that :a(eh, wh) = R(uh; wh) ∀ wh ∈ Eh.

For v ∈ H10(Ω) we have, by integration by part the following

expression of the residual

R(uh; v) = L(v) − a(uh, v)

=∑K∈Th

∫K

(f − αuh)vdx−∑E∈E0

h

∫E

[∂uh

∂nE

]Evds

38

Page 39: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

We introduce a perturbation which is performed in each element

as follow

Rc(uh;wh) =∑K∈Th

∫K

(f − αuh − c1)whdx

−∑E∈Eh

∫E(

[∂uh

∂nE

]E

− c2)whds ∈ R

where, For 1 < p < 2,

c = (c1, c2) ∈ G :=∏K∈Th

Lp(K) ×∏E∈Eh

Lp(E)

39

Page 40: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Find ech ∈ Eh, solution ofa(ech, wh) = Rc(uh;wh) ∀wh ∈ Eh

Cost functional: J (c) = J(ech)

The Lagrangien: L(c, eh, wh) := J(eh)+a(eh, wh)−Rc(uh;wh)

Dual problempch ∈ Eha(ψh; p

ch) = −DJ(ech) · ψ ∀ψ ∈ Eh

J is differentiable and for δc ∈∏K∈Th L

p(K) ×∏E∈Eh L

p(E)

J ′(c) · δc =∑K∈Th

∫Kδc1 · pchdx+

∑E∈Eh

∫Eδc2 · pchds

40

Page 41: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

For K ∈ Th and E ∈ E0h, let δcK = (δcK, 0) and δcE = (0, δcE)

where

δcK =

(f − αuh) in K

0 elsewhere, δcE =

[∂uh

∂nE

]E

on E

0 elsewhereso

J ′(0) · δcK =

∫K

(f − αuh)p0hdx

J ′(0) · δcE =

∫E

[∂uh

∂nE

]Ep0hds

41

Page 42: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

The perturbation related to adding a new node can be presented

as follows: xεK is the new node in K, ε is the distance to vertex.

M −→ Th −→ uh

M ⊕ xεK −→ T εh −→ uεh = uh + δuh

For K ∈ Th f − αuεh = f − αuh − αδuh

For E ∈ E0h,

[∂uεh∂nE

]E

=[∂uh∂nE

]E

+[∂δuh∂nE

]E

42

Page 43: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

j(ε) = J(eh(T εh ))

Th: triangulation associated with the set MT εh : triangulation associated with the set M ⊕ xε.

Question:

j(ε) = j(0) + f(ε)g(xε) + (f(ε))?

Conjecture:

g(xε) :=

∫K(f − αuh)p

0hdx if xε ∈ K∫

E

[∂uh∂n

E

]Ep0hds if xε ∈ E

or

g(xε) :=

∫Kehp

0hdx

We test the three cases. It seems that the last one is the best.43

Page 44: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

:Dispalcement 1 (350 iterations)

44

Page 45: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Refinement with the first one

raffinement de maillage: residu

45

Page 46: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Displacement (131 iterations)

46

Page 47: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

If we take

g(xε) :=

∫Kehp

0hdx

we have

47

Page 48: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

:Dispalcement 1 (350 iterations)

48

Page 49: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

First Refinement

raffinement de maillage: eh

49

Page 50: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

second Refinement

raffinement de maillage: eh

50

Page 51: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Displacement

51

Page 52: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Iteration 50

52

Page 53: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Iteration 100

53

Page 54: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Iteration 150

54

Page 55: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Iteration 193

55

Page 56: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

One dimensionnal Case

Forf ∈ L2(]0, 1[ and α ∈ R let u ∈ H10(]0, 1[) solution of∫ 1

0(u′v′ + αuv)dx =

∫ 1

0fvdx.

Let Th = Ki1≤i≤N , et Ki = [xi, xi+1].

Vh = vh ∈ C0([0, 1]/vh|K ∈ P1(K) ∀K ∈ Th, vh(0) = vh(1) = 0

56

Page 57: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

eh ∈ Eh:∫ 1

0(e′hw

′h + αehwh)dx = R(uh;wh) ∀wh ∈ Eh

Eh = wh ∈ C0([0, 1]) /wh ∈ P2(K) ∀K ∈ Th,wh(xi) = 0, 1 ≤ i ≤ N

R(uh;wh) :=N∑i=1

∫ xi+1

xi

(f − αuh)whdx+N∑i=1

[u′h]iwh(xi)

=N∑i=1

∫ xi+1

xi

(f − αuh)whdx

For Ki = [xi, xi+1] let xεK = xi0 middle of Ki

g(xεK) = (f − αuh)((xi0))q

0h(x

i0)

57

Page 58: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Adaptation Strategy

Initial meshT 0,0h

Step 1: Adaptation 1:

ηK := hK‖f − fK‖0,K −→ T 0,1h .

Step 2:

− Computation of uh, eh− Displacement 1 −→ T 0,2

h = T 0h .

Step 3: Computation of g(xi0) for i = 1, . . . , N

58

Page 59: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Step 4: In Kn where g(xn0 ) is the most negative, add a node

mεn = xn + hn

2 + ε, and −hn2 < ε < hn

2 .

step 5: local update

(ϕi)1≤i≤N base functions of Vh associated to T 0h = (xi)1≤i≤N

(ϕi)1≤i≤N+1 new base functions:

ϕi = ϕi pour i 6= n− 1, n, n+ 1

59

Page 60: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Computation of the perturbed solution

uεh ∈ C0([0, 1]

∀K 6= Kn uεh|K = uh|K

Sur Kn

uεh(xn) = uh(xn)uεh|[xn,mε

n]∈ P1([xn,m

εn])

uεh|[mεn,xn+1]

∈ P1([mεn, xn+1])

uεh(xn+1) = uh(xn+1).

uεh(mεn) solution of local problem (where ϕmε

nis the base func-

tion associeted to mεn)∫ xn+1

xn

((uεh)

′(ϕmεn)′ + αuεhϕmε

n

)dx =

∫ xn+1

xnfϕmε

ndx

60

Page 61: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Etape 6: globale update by local problems

Computation of uεh(xj) (for j 6= n+ 1)∫ xj+1

xj−1

((uεh)

′(ϕj)′ + uεhϕj

)dx =

∫ xj+1

xj−1

fϕjdx.

Step 7 Computation of the new estimator

a(eεh, wh) = R(uεh; wh), ∀wh ∈ Eh.

Step 8 Computation of the new g(xi0), i = 1, . . . , N + 1

Step 9 Displacement (every k iterations)

61

Page 62: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

A Numerical Test

MATLAB

Ω = [0, 1]

u(x, y) = x4(x− 1)

62

Page 63: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Approximation initiale (7 noeuds)

sol exactsol approche

63

Page 64: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud

sol exactsol approche

Page 65: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol exactsol approche

Page 66: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud

sol exactsol approche

Page 67: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol exactsol approche

Page 68: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud

sol exactsol approche

Page 69: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à droite du noeud ajouté

sol exactsol approche

Page 70: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol exactsol approche

Page 71: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud

sol exactsol approche

Page 72: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol exactsol approche

Page 73: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud

sol exactsol approche

Page 74: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

And with g(x0) = eh(x0)q0h(x0) we obtain

64

Page 75: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud − indicateur −||eh||2

sol. exactesol. approchée

Page 76: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol. exactesol. approchée

Page 77: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud − indicateur −||eh||2

sol. exactesol. approchée

Page 78: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à droite du noeud ajouté

sol. exactesol. approchée

Page 79: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol. exactesol. approchée

Page 80: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud − indicateur −||eh||2

sol. exactesol. approchée

Page 81: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol. exactesol. approchée

Page 82: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud − indicateur −||eh||2

sol. exactesol. approchée

Page 83: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à droite du noeud ajouté

sol. exactesol. approchée

Page 84: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol. exactesol. approchée

Page 85: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud − indicateur −||eh||2

sol. exactesol. approchée

Page 86: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à droite du noeud ajouté

sol. exactesol. approchée

Page 87: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol. exactesol. approchée

Page 88: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud − indicateur −||eh||2

sol. exactesol. approchée

Page 89: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à droite du noeud ajouté

sol. exactesol. approchée

Page 90: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol. exactesol. approchée

Page 91: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud − indicateur −||eh||2

sol. exactesol. approchée

Page 92: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à droite du noeud ajouté

sol. exactesol. approchée

Page 93: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol. exactesol. approchée

Page 94: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajout d’un noeud − indicateur −||eh||2

sol. exactesol. approchée

Page 95: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−0.09

−0.08

−0.07

−0.06

−0.05

−0.04

−0.03

−0.02

−0.01

0

0.01

domaine de discrétisation

u(x)

=x4 (x

−1)

Ajuster les valeurs à gauche du noeud ajouté

sol. exactesol. approchée

Page 96: Mesh adaptation via shape optimization · 2016. 10. 30. · J(uh) = J(uh(Th)) = j((Th)) min Th∈Tad j((Th)) The mesh adaptation procedure is based on a number of local operations

Conclusion and perspective

- Displacement

- minimize the number of nodes

We can say that the node displacement algorithm works quitewell. It remains to find the criterion for swapping edge to com-plete this algorithm.

- up date: solving the linear system only one times

- Hidden error

it remains to determine the exact topological gradient to deter-mine the right places to add or delete node

66