Calcul Scientifique M2 Mapi 3 – 2020-2021
Christophe Besse
Copyright © 2020 Christophe Besse
Licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License (the “License”). You may not use this file except in compliance with the License. You may obtain a copy of the License athttp://creativecommons.org/licenses/by-nc/3.0. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an“as is” basis, without warranties or conditions of any kind, either express or implied. See the License for the specific language governing permissions and limitations under the License.
First printing, September 2020
Table des matières
1
Rappels et compléments . . . 71.1 Les différences finies 7
1.1.1 Un problème modèle . . . 7 1.1.2 Rappels sur les différences finies . . . 8
1.2 Les éléments finis 10
1.3 Transformée de Fourier discrète 13
1.4 La Transformée en Sinus Discrète 18
1.5 Volumes finis 20
2
Équations aux dérivées partielles paraboliques . . . 252.1 Problème modèle 25
2.2 Solutions classiques dansRN 26
2.3 Équation de la chaleur dans un domaine borné 28
2.3.1 Unicité de la solution - Stabilité . . . 29 2.3.2 Principe du maximum . . . 31 2.3.3 Résolution de l’équation de la chaleur par séparation des variables . . . 33 2.4 Résolution par transformée de Fourier discrète 35
2.5 Résolution par différences finies 36
2.6 Conditions aux limites transparentes 42
3
Équations de Schrödinger . . . 453.1 Problème modèle 45
3.2 Équations aux dérivées partielles dispersives 46
3.3 Solutions classiques dansRn 47
3.5 Équation de Schrödinger non linéaire 51
3.5.1 Schéma de splitting - pas fractionnaire . . . 51
3.5.2 Le schéma de Crank-Nicolson . . . 54
3.5.3 Schéma de relaxation . . . 56
Bibliographie . . . 61
Notes de Cours 61
Articles 61
Livres 62
1. Rappels et compléments
Le but de ce chapitre est de rappeler les techniques de discrétisation spatiale vue les années précédentes et de les compléter.
1.1 Les différences finies 1.1.1 Un problème modèle
Nous considérons pour débuter le problème modèle suivant
"
´u2pxq “fpxq, xPs0,1r,
up0q “up1q “0. (1.1)
Il s’agit en fait dans ce cas simple mono dimensionnel d’une équation différentielle ordinaire mais où la condition de Cauchy est remplacée par des conditions de Dirichlet homogènes.
Dans ce cas très simple, on peut résoudre l’équation par intégrations successives u1psq “ ´
żs
0
fptqdt`c1
où c1 est une constante à déterminer. Puis, upxq “
żx
0
u1psqds
“ ´ żx
0
ˆżs 0
fptqdt
˙
ds`c1x`c2,
où c2 est une constante à déterminer. Or, on a up0q “up1q “0et donc c2 “0 et 0“up1q “ ´
ż1
0
ˆżs
0
fptqdt
˙
ds`c1 d’où la valeur dec1 et on a alors
upxq “ żx
0
ˆżs
0
fptqdt
˙ ds`x
ż1
0
ˆżs
0
fptqdt
˙
ds. (1.2)
R Il faut évidemment demanderf PL1p0,1q.
Dans le cas présent, il serait facile de déterminer une approximation de (1.2) mais la connais- sance de solutions explicites de type (1.2) est extrêmement rare et il vaut mieux construire une approximation qui donne une solution approchée dans tous les cas.
Le principe de base est de construire un maillage du domaine Ω“ r0,1s. En dimension 1, un maillage est simplement constitué d’une collection de points pxjq0ďjďn`1 c’est à dire une subdivision de r0,1s
x0 “0ăx1 ă ¨ ¨ ¨ ăxnăxn`1“1.
x0 x2 x2 xn xn`1
Le maillage sera dit uniforme si les points xj sont équidistants, c’est à dire xj “jh avec h“1{pn`1q,0ďjďn`1.
Il n’est pas nécessaire d’avoir un maillage uniforme.
Les pointsxj sont appelés sommets du maillage. On produit des intervalles (mailles) Ik“sxk´1, xkr, k“1,2,¨ ¨ ¨, n`1.
Si le maillage est uniforme, h“xk´xk´1 pour toutk. Sinon, on définit le pas du maillage par
h“ max
1ďkďn`1pxk´xk´1q.
Le pas h est un indicateur de la finesse du maillage.
1.1.2 Rappels sur les différences finies
Le principe est basé sur le développement de Taylor des fonctions :
Théorème 1.1.1 Soient I Ă R, a P I, et k P N, k ě 1 et f : I Ñ R une fonction k fois dérivable en a. Alors, il existe une fonctionhk :I ÑRtelle que
fpxq “fpaq `f1paqpx´aq `f2paq
2! px´aq2` ¨ ¨ ¨ `fpkqpaq
k! px´aqk`hkpxqpx´aqk et lim
xÑahkpxq “ 0. On définit le terme de reste Rkpxq “ hkpxqpx´aqk et ainsi Rkpxq “ op|x´a|kq quandxÑa.
Nous pouvons obtenir des formules pour Rk en supposant que f est pk` 1q fois déri- vable.
Proposition 1.1.2 • sifpkqPC0pIq, alorsRkpxq “ fpk`1qpξq
pk`1q! px´aqk`1.
• si fpk`1qPC0pIq, alors Rkpxq “ żx
0
fpk`1qptq
k! px´tqkdt.
• si fpk`1q P C0pIq, et I un ensemble fermé (ou |fpk`1q| ď M), alors |Rkpxq| ď M|x´a|k`1
pk`1q! etRkpxq “Op|x´a|k`1.
1.1 Les différences finies 9 Grâce à ces relations, on peut construire une version approchée des opérateurs différentiels (pour des fonctions f qui sont régulières). SoithPR (h doit être suffisamment petit|h| !1),
f :I ÑR régulière, alors on a (I) fpx`hq “fpxq `hf1pxq `h2
2 f2pxq `h3
6 f3pxq `h4
24fivpxq `Oph5q.
(II) fpx´hq “fpxq ´hf1pxq `h2
2 f2pxq ´ h3
6 f3pxq `h4
24fivpxq `Oph5q.
De (I), on ahf1pxq “fpx`hq ´fpxq `Oph2q ce qui donnef1pxq “ fpx`hq ´fpxq
h `Ophq.
Comme hÑ0, on a
f1pxq ´fpx`hq ´fpxq
h “Ophq Ñ0.
Nous obtenons donc une manière d’approcherf1pxqpar différence finie décentrée aval f1pxq « fpx`hq ´fpxq
h .
Puisque le terme de reste est Ophq, on dit qu’on a une approximation du premier ordre.
De (II), en suivant le même calcul, nous obtenons une approximation par différence finie décentrée amont
f1pxq « fpxq ´fpx´hq
h .
En soustrayant (II) à (I), nous avons
fpx`hq ´fpx´hq “2hf1pxq `Oph3q et nous obtenons une nouvelle approximation centrée du second ordre
f1pxq « fpx`hq ´fpx´hq
2h .
En ajoutant (II) à (I) conduit à
fpx`hq `fpx´hq “2fpxq `h2f2pxq `Oph4q ainsi nous avons
f2pxq “fpx`hq ´2fpxq `fpx´hq
h2 `Oph2q
ce qui donne une approximation du second ordre de f2pxq f2pxq « fpx`hq ´2fpxq `fpx´hq
h2 .
Ces constructions peuvent être étendues en plusieurs dimensions. Par exemple, soitf :R2 ÑR une fonction régulière, alors on a l’approximation du second ordre suivante
Bxfpx, yq « fpx`h, yq ´fpx´h, yq
2h ,
By2fpx, yq « fpx, y`hq ´fpx, yq `fpx, y´hq
h2 ,
Bxyfpx, yq « fpx`h, y`kq `fpx`h, y´kq ´fpx´h, y`kq `fpx´h, y´kq
4hk .
Ces formules sont utiles pour l’approximation numérique des EDPs. Nous échantillonnonsR
avec un taux d’échantillonnageh et définissons xj “jh,jPZ,
x´2 x´1 x0 x1 x2
Nous évaluons la fonction régulière f : RÑ R à chaque pxjqjPZ et nous obtenons la suite pfpxjq:“fjqjPZ. Afin d’obtenir une approximation de f1 en chaque nœud xj, nous utilisons les relations précédentes et
f1pxjq est approchée par fj`1´fj
h 1er ordre,
fj´fj´1
h 1er ordre,
fj`1´fj´1
2h 2nd ordre,
f2pxjq est approchée par fj`1´2fj`fj´1
h2 2nd ordre.
Évidemment, icij PZet nous pouvons évaluer ces approximations pour chaquej. Dans des expériences numériques réelles, nous nous intéressons à l’approximation de solutions d’EDPs dans des domaines bornés Ω. Ces EDPs sont donc complétées avec des conditions aux limites sur la frontièreΓ“ BΩ(Dirichlet, Neumann, ...).
La question est de savoir comment prendre en compte ces conditions avec les relations liées aux différences finies. Pour présenter l’idée, nous considérons un cas mono-dimensionnel et définissons l’intervalle I “ rx`, xrs de longueur xr´x` “µ. Nous maillons I avec J`2 nœuds régulièrement espacés avec des sous-intervalles de longueurh“ pxr´x`q{pJ`1q.
x0 x2 x2 xJ xJ`1
• Pour les conditions de Dirichlet homogènes, nous demandons upx0q “ u0 “ 0 et upxJ`1q “uJ`1“0.
• Pour les conditions de Neumann homogènes, plusieurs possibilités existent dépendant du problème. Nous présentons ici deux méthodes :
(CLN1) Pour le nœud x0, nous utilisons une approximation décentré aval d’ordre 1 pu1´u0q{h“0. Pour le nœudxJ`1, nous utilisons une approximation décentrée amont d’ordre 1 puJ`1´uJq{h“0.
(CLN2) Pour cette seconde approximation, on introduit deux nœuds fantômesx´1 “ x0´het xJ`2 “xJ`1`h. Pour le nœud x0, on utilise une différence finie centrée pu1´u´1q{2h“0. Et pour le nœud xJ`1,puJ`2´uJq{2h“0.
1.2 Les éléments finis
Nous rappelons la méthode sur un exemple mono-dimensionnel standard
"
´Bx2u`αu“1, xPs0,1r, αą0,
Bxup0q “up1q “0. (1.3)
La méthode des éléments finis repose sur la formulation variationnelle associée au problème (1.3). On multiplie l’équation en volume par une fonction v suffisamment régulière et on
intègre. Par intégration par partie, il vient ż1
0
u1pxqv1pxqdx´ ru1vs10`α ż1
0
upxqvpxqdx“ ż1
0
vpxqdx,
1.2 Les éléments finis 11
soit encore ż1
0
u1v1`αuv dx´ pu1p1qvp1q ´ u1p0q loomoon
“0
vp0qq “ ż1
0
vpxqdx.
Afin de donner un sens aux différentes intégrales, il faut imposerpu, u1q P pL2p0,1qq2, et une régularité identique pour v etv1. On manque d’information sur le terme résiduelu1p1qvp1q.
Sans hypothèse supplémentaire sur u1 enx“1, on est donc amener à considérer vp1q “0. On construit l’espace de Hilbert
V “ tf PH1p0,1q |γ0fp1q “0u, où γ0 est l’application trace. On a donc la formulation variationnelle
TrouveruPV telle que apu, vq:“
ż1 0
u1v1`αuv dx“ ż1
0
vpxqdx:“`pvq, @vPV. (1.4) Par application du théorème de Lax-Milgram (dont on s’assure que les hypothèses sont vérifiées), il existe une unique solution à (1.3). On montre queV est un espace de Hilbert séparable. Il existe donc une suite pϕjqjPN libre et totale dans V. On construit le sous espace de dimension finie Vm deV parVm “Vecttϕ1,¨ ¨ ¨ , ϕmuet on construit le problème approché Trouverum PVm telle queapum, vq “`pvq, @v PVm. (1.5) Fabriquer de manière explicite la basepϕjqjPNn’est pas utile pour la méthode des éléments finis. On lui préfère une base de Vm dont les supports des vecteurs sont à support compact et formant une base “quasi” orthogonale. Les fonctions de base qu’on utilise pour Vm sont des fonctions chapeaux
φjpxq
xj´1 xj xj`1 x
y
0 1
1
La fonction chapeau φj associée au sommetxj est définie pour j“1,¨ ¨ ¨, n par
φjpxq “
$
’’
’&
’’
’%
0, si xR rxj´1, xj`1s “IjYIj`1, x´xj´1
xj ´xj´1
, si xP rxj´1, xjs “Ij, xj`1´x
xj`1´xj, si xP rxj, xj`1s “Ij`1. On a donc
φjpxjq “1 et φjpxkq “0, @k‰j, etφj PVm. Lorsque le maillage est uniforme,
φjpxq “
$
’’
&
’’
%
0, si xRIjYIj`1, x´xj´1
h , si xPIj, xj`1´x
h , si xPIj`1,
et on remarque alors que lesφj se définissent à partir d’une unique fonctionφpar φjpxq “φ
ˆx´xj
h
˙
, φpxq “
"
1´ |x|, si|x| ď1, 0 si|x| ą1.
Dans le cas général, on a sur une mailleIk deux fonctions de base qui coexistent φk´1pxq φk´1pxq
xk´1 xk
et on peut faire correspondre φkpxq|Ik à la fonctionxφ1pxq “x,0ďxď1 etφk´1pxq|Ik à la fonction xφ2pxq “1´x,0ďxď1. On a ainsi
φk´1pxq|Ik “xφ2
ˆx´xk´1 xk´xk´1
˙
et φkpxq|Ik “φx1
ˆ x´xk´1 xk´xk´1
˙ .
L’espaceVm est un sous espace de C0pr0,1sqde dimension finie n, et toute fonctionvPVm
est définie de manière unique par ses valeurs aux sommets pxjq1ďjďn
vpxq “
m
ÿ
j“1
vpxjqφjpxq, @xP r0,1s.
Cette base permet donc de caractériser une fonction deVm par ses valeurs aux sommets du maillage : on parle dans ce cas d’éléments finis de Lagrange.
Afin d’approcher (1.5), on décompose alors um sur la base de tφju1ďjďm et on prend v“φi,1ďiďmce qui donne
m
ÿ
j“1
apφj, φiqumpxjq “lpφiq.
En notant Um “ pumpxjqq1ďjďnPRm, bm “ plpφiqq1ďiďnPRm, et en introduisant la matrice Am“ papφj, φiqq1ďi,jďm PRmˆm,
la formulation variationnelle revient à résoudre dans Rm le système linéaire AmUm “bm.
Il faut calculer la matrice Am. En utilisant le fait que les vecteurs de base de Vm soient à support compact, il est facile de voir que la matrice Am est creuse. Pour des nœuds du maillage loin des bords, on a
p´1 h `αh
6qui´1` p2
h `αh2
3 qui` p´1 h `αh
6qui`1“2h
2, 2ďiďm.
Après prise en compte des conditions aux limites, la matrice Am est la somme d’une matrice de rigidité Sm et d’une matrice de masseMm dont les valeurs sont
Sm“ 1 h
¨
˚
˚
˚
˚
˚
˝
1 ´1
´1 2 ´1
... ... ...
´1 2 ´1
´1 2
˛
‹
‹
‹
‹
‹
‚
, Mm “ αh 6
¨
˚
˚
˚
˚
˚
˝ 2 1
1 4 1
... ... ...
1 4 1
1 2
˛
‹
‹
‹
‹
‹
‚ .
1.3 Transformée de Fourier discrète 13
1.3 Transformée de Fourier discrète
On rappelle que sif PL1pRq, on peut définie la transformée de Fourier def par Fpfqpξq “fˆpξq “
ż
R
e´ixξfpxqdx, ξ PR, (1.6) où ξ est identifiée comme la fréquence. En dimension supérieure, on a
fpξq “ˆ ż
Rd
e´ix¨ξfpxqdx, ξ PRd. SifˆPL1pRq, alors on définit la transformée de Fourier inverse
F´1pfˆqpxq “ 1 2π
ż
R
eixξfpξqˆ dξ, xPR. (1.7) Ces définitions peuvent être étendues à des espaces fonctionnels plus généraux (L2, espace de Schwartz, ...).
Si f est localement absolument continue (ce qui pourrait être traduit par dérivable et égale à « l’intégrale de sa dérivée »), et si f PL1pRq,f1PL1pRq, alors
Fpf1qpξq “fˆpξq “ ż
R
e´ixξf1pxqdx“iξ ż
R
e´ixξfpxqdx,
et nous avons donc la relation donnant la transformée de Fourier d’une dérivée en termes de la transformée de Fourier de la fonction
fp1pξq “iξfˆpξq.
En supposant plus de régularité surf, nous avons aussi fx2pξq “ ´ξ2fpξq.ˆ
R Il existe d’autres conventions. On peut par exemple définir la transformée de Fourier par Fpfqpνq “fˆpνq “
ż
R
e´i2πνtfptqdt, ν PR, (1.8) et
fptq “F´1pfˆqptq “ ż
R
ei2πνtfˆpνqdν, tPR. (1.9) Dans ce cas,tdésigne le temps (en seconde) etνla fréquence en Hertz. On a maintenant Fpf1qpνq “ip2πνqfˆpνq (1.10)
et Fpf2qpνq “ ´p2πνq2fˆpνq. (1.11)
Nous souhaiterions trouver un outil similaire pour les fonctions discrètes, soit les suites.
On rappelle que pour des fonctionsµ-périodiques, on peut définit leurs séries de Fourier. Soit L2pp0, µq “
"
f :RÑC, µ-périodique, telle que żµ
0
|fptq|2dtă 8
* .
Considérons le polynôme trigonométrique pptq “
N
ÿ
n“´N
cne2iπntµ , cnPC.
Définissonsenptq “e2iπntµ , alors xen, emyL2p “
żµ
0
enptqemptqdt“
"
0 if n‰m, µ if n“m.
Donc, la familletenu´NďnďN est une base orthogonale de l’ensemble des polynômes trigono- métriques de degréďN. Nous pouvons donc calculer les coefficientscnpar produit scalaire de pavec chaqueen puisque
xp, enyL2p“cn}en}2L2 p“µcn
et nous obtenons cn“ 1
µxp, enyL2p “ 1 µ
żµ
0
pptqe´2iπµ ntdt“ 1 µ
żµ{2
´µ{2
pptqe´2iπµ ntdt.
On se pose maintenant la question de savoir si f PL2pp0, µq, il est possible de trouver un poly- nôme trigonométrique optimal p tel que}f´p}L2
p soit minimal ? Soit pptq “řN
n“´Nxnenptq etcnpfq “ xf, eny{µ. Premièrement, rappelons que pour toutpx, yq PC2, nous avons
|x´y|2 “ |x|2` |y|2´2Repxyq.
De manière similaire, nous avons }f ´p}2L2
p“ }f}2L2
p` }p}2L2
p´2Rexf, pyL2
p. Le dernier produit scalaire est
xf, pyL2p “ xf,
N
ÿ
n“´N
xnenyL2p “
N
ÿ
n“´N
xf, xnenyL2p “
N
ÿ
n“´N
µcnpfqxn. Donc
}f´p}2L2
p “ }f}2L2 p`µ
N
ÿ
n“´N
|xn|2´2µRe
˜ N ÿ
n“´N
cnxn
¸
“ }f}2L2 p`µ
N
ÿ
n“´N
`|xn|2´2Repcnxnq˘
“ }f}2L2 p`µ
N
ÿ
n“´N
`|cn´xn|2´ |cn|2˘ . La sommeřN
n“´N
`|cn´xn|2´ |cn|2˘
est minimale sixn“cn. Ainsi, fNptq “
N
ÿ
n“´N
cnpfqenptq
est la meilleure approximation polynomiale trigonométrique de f. On peut prouver que
NÑ8lim }f ´fN}2L2 p“0.
1.3 Transformée de Fourier discrète 15 Théorème 1.3.1 Soitf PC0pRq,µ-périodique,f dérivable surr0, µs(à l’exception éventuelle d’un nombre fini de points) et f1 continue par morceaux sur r0, µs(f1PL2pp0, µq), alors, la série de Fourier de f
Spfq “ ÿ
nPZ
cnpfqen satisfait
1. La série de Fourier converge et on ař
nPZ|cnpfq|2 ă 8.
2. La série de Fourier de f1 est calculée par dérivation de chaque terme de la série de Fourier def,
Spf1q “ ÿ
nPZ
cnpfqe1n“ ÿ
nPZ
2iπ
µ cnpfqen.
R
• Sif est paire, alorscnpfq “c´npfq,@nPZ.
• Sif est impaire, alorscnpfq “ ´c´npfq,@nPZ.
• Il est possible d’établir plusieurs formules pour un polynôme trigonométriquep. En effet,
pptq “
N
ÿ
n“´N
cnen
“ c0`
´1
ÿ
n“´N
cnen`
N
ÿ
n“1
cnen
“ c0`
N
ÿ
n“1
cnen`c´ne´n
“ c0`
N
ÿ
n“1
cn ˆ
cos ˆ2πn
µ t
˙
`isin ˆ2πn
µ t
˙˙
`c´n ˆ
cos ˆ2πn
µ t
˙
´isin ˆ2πn
µ t
˙˙
.
Ainsi, nous avons
pptq “a0 2 `
N
ÿ
n“1
ancos ˆ2πn
µ t
˙
`bnsin ˆ2πn
µ t
˙
oùa0“2c0,an “cn`c´n etbn“ipcn´c´nq, ou encore
an“ 2 µ
żµ 0
pptqcos ˆ2πn
µ t
˙ dt“ 2
µ żµ{2
´µ{2
pptqcos ˆ2πn
µ t
˙ dt
et
bn“ 2 µ
żµ 0
pptqsin ˆ2πn
µ t
˙ dt“ 2
µ żµ{2
´µ{2
pptqsin ˆ2πn
µ t
˙ dt.
Si pest paire, on peut en conclure quebn “0, et sipest impaire, an “0.
Afin de trouver la version discrète de la transformée de Fourier, nous avons à déterminer une manière de calculer les coefficients cnpfq. Pour faire cela, nous échantillonnons la fonction f sur r0, µq avec N points et on définit les valeurs fk “fpkµ{Nq, k“0,¨ ¨ ¨ , N ´1. Nous voulons calculer numériquementcn,n“ ´N{2,¨ ¨ ¨, N{2´1où
cn“ 1 µ
żµ
0
fptqe´2iπµ tndt.
On utilise pour cela la formule des rectangles à gauche et on obtient cn“ 1
µ
N´1
ÿ
p“0
żxp`1
xp
fptqe´2iπµ tndt « 1 µ
N´1
ÿ
p“0
µ
Nfpe´2iπµ npµN
« 1
N
N´1
ÿ
p“0
fpe´2iπN np.
Nous définissons donc l’approximation decn par cNn “ 1
N
N´1
ÿ
p“0
fpe´2iπNnp “ 1 N
N´1
ÿ
p“0
fpω´npN ,
où ωN “e´2iπN .
Grâce à la périodicité, nous avonscNn`N “cNn, et donc considérer`
cNn˘N{2´1
n“´N{2est équivalent à `
cNn˘N´1 n“0.
Définition 1.3.1 On appelle Transformée de Fourier Discrète l’opération linéaire FN : CN ÝÑ CN
f “ pfjqN´1j“0 ÞÝÑ F “ pFkqNk“0´1 où
Fk“
N´1
ÿ
j“0
fjω´jkN .
R D’après la construction ci-dessus, la définition devrait être Fk “ 1
N
N´1
ÿ
j“0
fjωN´jk.
La convention veut que l’on fasse porter le pré-facteur 1{N dans la transformation inverse.
Soit ΩN la matrice inversible ΩN “
´ ωNjk
¯
0ďj,kďN´1, qui est en fait
ΩN “
¨
˚
˚
˚
˚
˚
˚
˝
1 1 1 1 ¨ ¨ ¨ 1
1 ωN ωN2 ωN3 ¨ ¨ ¨ ωNN´1 1 ω2N ωN4 ...
... ... ...
1 ωNN´1 ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ¨ ωpNN ´1q2
˛
‹
‹
‹
‹
‹
‹
‚ .
Proposition 1.3.2 FN est un opérateur linéaire bijectif et le vecteur F est donné par
F “ΩNf. (1.12)
1.3 Transformée de Fourier discrète 17 Définition 1.3.2 On appelle Transformée de Fourier Discrète Inverse l’opération linéaire
FN´1: CN ÝÑ CN
F “ pFkqNk“0´1 ÞÝÑ f “ pfjqN´1j“0 où
fj “ 1 N
N´1ÿ
k“0
FkωNjk, 0ďjďN ´1, d’oùf “ N1ΩNF.
La complexité du calcul de la Transformée de Fourier discrète par (1.12) est OpN2q ce qui est très coûteux. On préfère utiliser la fameuse transformée de Fourier rapide - Fast Fourier Transform (FFT) - et sa transformation inverse (IFFT) qui ont chacune une complexité de OpNlogNq. Nous avertissons le lecteur que traditionnellement, en utilisant la périodicité, l’algorithme de la (FFT) stocke les coefficients dans l’ordre suivant
pFkqN´1k“0 “`
F0,¨ ¨ ¨, FN´1, F´N{2,¨ ¨ ¨, F´1
˘, ce qui peut être une source de confusion.
Il est intéressant de noter les différents parallèles respectivement entre la transformée de Fourier (continue), les séries de Fourier (périodiques) et la transformée de Fourier discrète
continu continue, périodique discret, périodique Fpfq “fˆ cnpfq FN
`f˘
“ pFkq0ďkďN´1
f PL2pRq f µ-périodique f “ pfjq0ďjďN´1 Réciproquement, on a les transformées inverses
continu continue, périodique discret, périodique f “F´1pfq Spfq “ř
ncnpfqei2πnt{µ f “FN´1`
pFkq0ďkďN´1
˘
Concernant la dérivation, on peut faire un parallèle identique et on a en utilisant la deuxième formulation de la transformée de Fourier continue (1.8)
continu continue, périodique discret, périodique f1 “F´1pi2πνfˆq Spf1q “
ÿ
n
i2πn
µ cnpfqei2πnt{µ “f1”“FN´1´i2πn
µ pFkq0ďkďN´1
¯
Afin d’utiliser l’efficacité de l’algorithme de la (FFT) pour l’approximation des opérateurs différentiels, nous nous reposons sur les résultats connus pour les séries de Fourier.
Exemple 1.1 On veut calculer l’approximation de la dérivée première de la fonctionf. On rappelle que
Spf1q “ ÿ
nPZ
2iπ
µ cnpfqen.
L’approximationcNn decn est calculée parfft(f). On construit le multiplicateur fréquentiel p2iπnq{µ, puis on multiplie terme à terme, définissantdn“ p2iπnq{µ cn et on forme la somme řdnen qui est donnée par la transformée de Fourier discrète. Avec Matlab, l’algorithme est k=(2*pi/mu)*[0:N/2-1,-N/2:-1]’;
c=fft(f);
Df=ifft(c.*k);
Pour la dérivée seconde f2, l’opération est aussi extrêmement simple et l’implémentation Matlab est
D2f=ifft((-k.^2).*c);
Il y a deux intérêts majeurs à l’utilisation de la transformée de Fourier discrète.
1. Nous disposons de la transformée de Fourier rapide.
2. Soit f P C0, 2π-périodique, et INf le polynôme trigonométrique avec N modes de Fourier qui interpole f auxN points équidistants xj “j2π{N défini par
INfpxq “
N{2´1
ÿ
j“´N{2
cjeijx, pcjq “FNpfpxjqq.
Alors, on peut prouver le théorème suivant (voir [9], page 77)
Théorème 1.3.3 Supposons que la dérivée d’ordre s Bsxf P L2, pour s ě 1. Alors, l’erreur d’interpolation est bornée dans L2 par
}f´INf} ďCN´s}Bxsf},
où C“Cpsq seulement. On peut aussi montrer que sous des hypothèses plus fortes de régularité
}Bmxpf´INfq} ďCN´s}Bs`mx f}.
Donc, comparée à la méthode des différences finies, la méthode spectrale basée sur Fourier est bien meilleure.
1.4 La Transformée en Sinus Discrète
La Transformée de Fourier Discrète précédente nécessite quef soit périodique ou que l’on considère des conditions aux limites périodiques. Si on s’intéresse à des conditions aux limites de Dirichlet homogènes, on doit travailler avec des fonctions qui sont toujours périodiques mais nulles au bord. On choisit d’étendre la fonctionf comme une fonction impaire, ce qui permet à la dérivée def d’être continue (voir la figure ci-dessous).
fpxq
´fp´xq
´µ 0 µ 2µ
La nouvelle fonction g est2µ-périodique. On peut donc construire sa série de Fourier gNptq “ a0
2 `
N
ÿ
n“1
ancos ˆ2πn
2µ t
˙
`bnsin ˆ2πn
2µ t
˙ . Puisqueg est impaire, an“0,n“0,¨ ¨ ¨ , N´1, d’où
gNptq “ ÿN n“1
bnsin ˆπn
µ t
˙
1.4 La Transformée en Sinus Discrète 19
et la série de Fourier de g est
Spgq “
8
ÿ
n“1
bnsin ˆπn
µ t
˙ , avec
bn“ 2 2µ
ż2µ
0
gptqsin ˆπn
µ t
˙
dt“ 1 µ
ż2µ
0
gptqsin ˆπn
µ t
˙
dt“ 1 µ
żµ
´µ
gptqsin ˆπn
µ t
˙ dt.
Donc,
bn “ 1 µ
„żµ
0
gptqsin ˆπn
µ t
˙ dt`
ż0
´µ
gptqsin ˆπn
µ t
˙ dt
“ 1 µ
„żµ
0
gptqsin ˆπn
µ t
˙ dt`
żµ
0
gp´sqsin ˆπn
µ p´sq
˙ ds
. Puisqueg etsin sont deux fonctions impaires, on obtient
bn“ 2 µ
żµ
0
gptqsin ˆπn
µ t
˙ dt.
Cette transformation s’appelle transformée en sinus discrète . Nous avons Spf1q “
8
ÿ
n“1
πn µ bncos
ˆπn µ t
˙ , et
Spf2q “ ´ ÿ8
n“1
ˆπn µ
˙2
bnsin ˆπn
µ t
˙ .
Définition 1.4.1 On appelle Transformée en Sinus Discrète l’opération linéaire FN : CN ÝÑ CN
f “ pfjqN´1j“0 ÞÝÑ F “ pFkqNk“0´1 où
Fk“ 2 N
N´1
ÿ
j“1
fjsin ˆπjk
N
˙
, 1ďkďN ´1 et la transformée inverse est donnée par
fj “
N´1
ÿ
k“1
Fksin ˆπjk
N
˙
, 1ďj ďN´1.
R Comme pour la transformée de Fourier discrète, la convention est usuellement Fk“
N´1
ÿ
j“1
fjsin ˆπjk
N
˙
etfj“ 2 N
N´1
ÿ
k“1
Fksin ˆπjk
N
˙ .
On peut calculer de manière efficace la transformée en sinus discrète à partir de la FFT. On suit la construction de la fonctiong au niveau discret. Nous construisons la suite impaire à p2N´1q-points
gj “
$
&
%
fj, 0ăjăN, 0, j“0, N
´f2N´j, N ăjď2N´1.
Calculons la Transformée de Fourier Discrète depgjq0ďjď2N´1. Soit0ďkď2N´1, alors
Gk“
2N´1
ÿ
j“0
gje´2iπ2Njk “
N´1
ÿ
j“1
gje´iπNjk`
2N´1
ÿ
j“N`1
gje´iπNjk,
soit encore
Gk“
N´1
ÿ
j“1
fje´iπNjk´
2N´1
ÿ
j“N`1
f2N´je´iπNjk.
Nous appliquons le changement de variable`“2N´j dans la deuxième somme ce qui donne
Gk “
N´1
ÿ
j“1
fje´iπNjk´
N´1
ÿ
`“1
f`e´i2πkeiπN`k,
ou encore
Gk“
N´1
ÿ
j“1
fjpe´iπNjk ´e´i2πkeiπNjkq.
Nous obtenons donc
Gk“ ´2i
N´1
ÿ
j“1
fjsin ˆπjk
N
˙ ,
qui est la Transformée en Sinus Discrète de f, notée par DSTpfjq. D’où, pDSTpfjqqk“ pFFTpgjqqk
´2i , 1ďkďN ´1.
Pour des conditions aux limites de Neumann homogènes, on utiliserait la transformée en cosinus discrète.
1.5 Volumes finis
Considérons l’équation mono dimensionnelle à coefficients variables
"
´BxpkpxqBxuq `u“spxq , xPs0,1r,
Bxup0q “ Bxup1q “0, (1.13)
avec kpxq ą 1 pour tout x Ps0,1r. On discrétise le domaine spatial en N cellules (mailles ou encore volumes de contrôle) de taille identique h“1{N et on définitxj “h{2`jh, de telle sorte que les pointsxj sont au centre des mailles. Les côtés de la maillej sont xj´1{2 et xj`1{2.
x‚0 x‚1 xN‚´1
0 h 1
Dans la méthode des volumes finis, les inconnues approchent la moyenne de la solution sur une cellule. Plus précisément, on définitqj comme étant l’approximation suivante sur la maille Ij “ rxj´1{2, xj`1{2s
qj «uj :“ 1 h
żxj`1{2
xj´1{2
upxqdx.
1.5 Volumes finis 21
On intègre (1.13) sur la celluleIj
´ żxj`1{2
xj´1{2
BxpkpxqBxupxqqdx`
żxj`1{2
xj´1{2
upxqdx“
żxj`1{2
xj´1{2
Spxqdx soit encore
´
” kpxqBx
ıxj`1{2
xj´1{2`huj “
żxj`1{2
xj´1{2
Spxqdx:“jSj. En développant, on obtient
huj´`
kpxj`1{2qBxuxj`1{2´kpxj´1{2qBxxj´1{2˘
“hSj. On définit le fluxFj “Fpxjq “ ´kpxjqBxupxjq. On obtient ainsi
Fj`1{2´Fj´1{2`huj “hSj. (1.14)
Bien que dire que les données Fj˘1{2 sont des flux est un peu abusif en dimension 1, on interpréte Fj`1{2 etFj´1{2 comme étant les flux de chaleur à travers les frontières droite et gauche de la celluleIj
x‚j
Fj`1{2 Fj´1{2
Il nous reste à formuler une approximation des flux pour obtenir une méthode numérique utilisable. On sait par la formule de quadrature du point milieu que
żb a
fptqdt“ pb´aqf
ˆa`b 2
˙
`Op|b´a|3q, ainsi
f
ˆa`b 2
˙
“ 1
b´a żb
a
fptqdt`Op|b´a|2q. (1.15) Ainsi, la valeur au milieu de la cellule Ij est une approximation à l’ordre 2 de la moyenne.
Nous avons donc pouru régulière
Fj´1{2“ ´kpxj´1{2qBxupxj´1{2q “ ´kpxj´1{2qupxjq ´upxj´1q
h `Oph2q et
upxjq “ 1 h
żxj`1{2
xj´1{2
upxqdx`Oph2q:“uj`Oph2q d’où
Fj´1{2“ ´kpxj´1{2quj´uj´1
h `Ophq «F˜j´1{2“ ´kpxj´1{2qqj´qj´1
h .
On obtient ainsi un schéma numérique pour les points intérieurs1ďj ďN´2en approchant (1.14) qui devient
´ ˆ
kpxj`1{2qqj`1´qj
h ´kpxj´1{2qqj´qj´1
h
˙
`hqj “hSj
soit
´kj`1{2qj`1´ pkj`1{2`kj´1{2qqj`kj´1{2qj´1
h2 `qj “Sj, 1ďjďN ´2. (1.16)
L’équation précédente ressemble à une approximation différence finies. Ce comportement serait différent pour un pas de maillage non uniforme.
Il reste à prendre en compte les conditions aux limites. En effet, si on considère j“0 ou j“N´1 dans (1.16), les termesq´1 etqN sont inconnus. On utilise donc les conditions aux limites. Pour cela, on introduit des cellules fictives (ou fantômes)I´1 etIN. La condition aux limites enx“0 estBxu“0(traduisant un flux nul).
x‚´1 ‚ x0
u´1 0 u0
On étend formellement la définition de la solution u pourxă0 : 0“ Bxup0q “ upx0q ´upx´1q
h `Oph2q.
Par (1.15), on a
upxjq “uj`Oph2q.
Alors,
0“ Bxup0q “ u0´u´1
h `Ophq et donc
u´1“u0`Oph2q.
En terme d’approximation deuj, cela donneq´1“q0. En remplaçant pourj“0dans (1.16), on obtient
q0´k1{2q1´q0 h2 “S0. On a de même pour la maille extrême à droite du domaine
qN´1´kN´3{2qN´2´qN´1
h2 “SN´1.
La première version du schéma volume fini pour résoudre l’équation (1.13) est donné par :
Trouverq“ pqjq0ďjďN´1 PRN tel que
hqj´kj`1{2qj`1h´qj `kj´1{2qj´qhj´1 “hSj, 1ďj ďN´1, hq0´k1{2q1´qh 0 “hS0,
hqN´1`kN´3{2qN´1´qh N´2 “hSN´1. On peut écrire une deuxième version en terme de flux :
Trouverq“ pqjq0ďjďN´1 PRN tel que
hqj´Fj`1{2pqq ´Fj´1{2pqq “hSj, 1ďjďN ´1, hq0`F1{2pqq “hS0,
hqN´1´FN´3{2pqq “hSN´1.
L’extension à la dimension 2 est relativement aisée. On s’intéresse au problème
"
´∆u`u“Spx, yq, px, yq “s0,1r2,
Bnu“0, px, yq PΓ. (1.17)
On maille le carré r0,1s2 avec N ˆN cellules de taille hˆh, h “1{N. Les points milieu pxj, ykq des cellules Ijk sont définis par xj “h{2`jh et yk “h{2`kh. La surface d’une cellule est donch2.
1.5 Volumes finis 23
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
x0
y0
0 1
1
Ijk
L’inconnue est
qjk «ujk :“ 1 h2
ż
Ijk
upx, yqdxdy.
L’intégrale de (1.17) sur la cellule de Ijk donne ż
Ijk
u´∆udx“ ż
Ijk
S dxdy.
Après formule de Green, on obtient ż
BIjk
´∇u¨ndσ` ż
Ijk
u dxdy ż
Ijk
S dxdy“h2fjk. (1.18) Notons ´∇u“ pf1, f2qT. Soit
Fj,k˘1{2“
żxj`1{2
xj´1{2
f2px, yk˘1{2qdx, Fj˘1{2,k “
żyk`1{2
yk´1{2
f2pxj˘1{2, yqdy.
Ijk Fj`1{2,k Fj´1{2,k
Fj,k`1{2
Fj,k´1{2 L’équation (1.18) devient
hujk ´`
Fj`1{2,k´Fj´1{2,k`Fj,k`1{2´Fj,k´1{2˘
“h2Sjk.
Il reste comme en dimension 1 à procéder à une approximation des flux. Comme en 1D, on a par exemple
Fj,k´1{2 “ ´ żxj`1{2
xj´1{2
Byupx, yk´1{2qdx“ ´ żxj`1{2
xj´1{2
upx, ykq ´upx, yk´1q
h dx`Oph2q
“ ´1 h
żxj`1{2
xj´1{2
upx, ykqdx`1 h
żxj`1{2
xj´1{2
upx, yk´1qdx`Oph2q
“ ´ 1 h2
ż
Ijk
upx, yqdy` 1 h2
ż
Ij,k´1
upx, yqdy`Ophq
“ ´uj,k`uj,k´1`Ophq
« ´qj,k`qj,k´1.
Le schéma volume fini 2D pour approcher (1.17) devient pour les mailles internes qj`1,k`qj´1,k`qj,k`1`qj,k´1´ p4´hqqj,k “h2Sj,k.
Il reste à prendre en compte les conditions aux limites et on fait des opérations similaires à la dimension 1.
2. Équations aux dérivées partielles paraboliques
Avant de proposer la construction de schémas numériques adaptés à une équation aux dérivées partielles particulière, il est important de s’assurer de son caractère bien posé. On dit qu’un problème est bien posé si
1. le problème a une solution, 2. la solution est unique,
3. la solution dépend continûment des données du problème,
C’est un préalable nécessaire sans quoi un schéma numérique serait inutile, conduisant à des solutions sans signification.
2.1 Problème modèle
L’équation aux dérivées partielles linéaires parabolique standard est l’équation de la chaleur Btupt, xq ´∆upt, xq “f,
à laquelle il convient d’ajouter des conditions initiales et des conditions aux limites appropriées si nécessaire. Ici, t est une quantité positive désignant le temps, x “ px1,¨ ¨ ¨ , xNq est la variable d’espace avecx PΩ, ΩĂRN ou bien x PRN, et f est un terme source à valeurs réelles.
Un exemple simple d’utilisation de l’équation de la chaleur intervient dans la simulation de l’évolution de la température dans une pièce chauffée par un radiateur. Prenons une pièce idéalisée
Γ1
Γ2
La pièce est chauffée par un radiateur situé à la frontière sur Γ1. La partie restante de la frontière est notée Γ2, de sorte que BΩ“Γ1YΓ2.