Calcul Scientifique pour les Sciences de l’Ingénieur
Bruno Koobus
Franck Nicoud
MOTIVATION
Objectifs
• Techniques et outils de base
• Culture de base sur le calcul scientifique - Exemples
• Résolution d’un problème académique
Motivation
• Les équations des sciences de l’ingénieur sont connues depuis longtemps …
– Eq. de la chaleur (Fourier, 1807)
– Mécanique des fluides (Navier-Stokes, 1822) – Elecromagnétisme (Maxwell, 1873)
• Les inconnues sont des fonctions scalaires ou vectorielles de plusieurs variables: x,y,z,t
• Ces fonctions sont solutions d’équations aux dérivées partielles (EDP) en général non-linéaires
Motivation
• Les cas où une solution analytique peut être trouvée sont très rares et simples:
– géométrie simple – équation linéaire
• Les solutions obtenues sont souvent très
lourdes même pour ces cas simplistes …
Exemple de résolution analytique
• Equation de convection diffusion 1D dans un domaine infini
2 2
0 y
D C x
U C t
C
∂
= ∂
∂ + ∂
∂
∂
? )
, ( x t C
0 ) , (
lim =
±∞
→ C x t
x
U0
) ( )
0 ,
(x C0 x
C =
Exemple de résolution analytique
• Si la concentration est initialement de la forme on peut obtenir la solution analytique …
( )
( )
+
− −
= +
Dt a
t U x
Dt a
C a t
x
C
22 0 2
2
0
exp 4
) , (
(
2 2)
0
0( ) exp /4
) 0 ,
(x C x C x a
C = = −
Exemple de résolution analytique
• Effet de la diffusion
D a U ×
= 0 Re
+∞
= Re
20 Re =
200 Re =
2 Re =
Exemple de résolution analytique
• Equation de la chaleur dans une cavité rectangulaire
λ K y
T x
T = −
∂ + ∂
∂
∂
2 2 2
0 2
) , 0
( y T
T = T(L, y) = T0
) 0 ,
(x T
T =
( ( , ) ) 0
) ,
( + × − 0 =
∂
− ∂ x H h T x H T y
λ T
? ) , (x y T
x y
0 0 H
L
Exemple de résolution analytique
• Une méthode de séparation des variables permet d’obtenir la solution analytique de ce petit problème d’école …
∑
+∞=
×
−
+
+
=
1
0 sinh 2 cosh 1 sin
) , (
k
k
k x
L y k
L k L
k L y
A k T
y x
T π π
π π α
+
−
−
−
=
L H h k
L H k L
k
L H k k
H hL L k k
Ak kL
π π
λ π
π π
λ π π α
sinh cosh
1 cosh
sinh αk = 2kπλK0
[
( )−1 k −1]
Exemple de résolution analytique Effet des fuites par convection
= 0
h h = 0.01
Passage à des configurations plus complexes …
• Les cas académiques sont très utiles pour
comprendre les phénomènes de bases, étudier les effets des différents termes des équations
• Les problèmes posés en pratique sont inaccessibles à la résolution analytique
• Il est alors naturel de faire des expériences …
Expériences …
• On imagine que l’on veut fabriquer un avion
• Il est exclu de réaliser toutes les mises au point de la forme extérieure à partir de réalisations à
Expériences …
• On utilise donc des maquettes de taille réduites que l’on met dans une soufflerie
• Le nombre de Reynolds ne peut que très difficilement être respecté (10 à 100 fois trop petit)
ν
L U ×
=
0Re
Vitesse de l’avion ou de l’air dans la soufflerie
Mach ≈ 0.9 < 1
Taille de la maquette:
entre 1% et 10% du vrai avion
Viscosité cinématique de l’air.
En gros 1.5×10−5m2/s
Autre exemple …
Propergol solide
Expériences: de moins en moins !
• La tendance actuelle est à la diminution des expériences à échelle 1 pour réduire les coûts de fabrication
• Les expériences sont réservées aux dernières mises au point avant la certification et la mise en production
• Les phases de mise au point préliminaires font de plus en plus appel à des « souffleries numériques »
• L’idée est de résoudre les EDP régissant le
fonctionnement du système numériquement puisque l’approche analytique est impossible
Simulation numérique
• Lorsque l’on résout les EDP analytiquement, on cherche les solutions dans des espaces fonctionnels de dimension infinie (e.g. L2)
• Si on y arrive, on a accès à la solution (e.g. la vitesse de l’air autour de l’avion) pour tout point de l’espace, et à chaque instant
• Puisque l’on y arrive presque jamais, on décide de simplifier le
problème en ne cherchant la solution qu’en un nombre fini de points de l’espace et pour un nombre fini d’instants
• On cherche alors les solutions de ce problème discrétisé dans un espace vectoriel de dimension finie.
(x, y, z,t), ∀(x, y, z,t)∈Ω×[0,+∞[
Vr
(x y z t ) ( ) {i n N} { M}
Vr i, i, i, n , ∀ , ∈ 1,2,..., × 1,2,...,
SIMULATION
NUMERIQUE
Maillages: profil d’aile d’avion
non structuré
hybride
Maillages: pot d’échappement
Maillages: injecteur + chambre
Maillages: injecteur + chambre
structuré
Exemple de flamme turbulente stable
Simulation aux Grandes Echelles – CERFACS – A. Sengissen
Exemple en biomédical
Iliac bifurcation – CHU Toulouse
3D model from artheriography
FUNCTIONAL IMAGING Iliac Bifurcation
Computational Grid Wall Shear Stress Tracers
Trois familles de méthodes
• Éléments finis (B. Koobus)
• Volume finis (non abordés dans ce module)
• Méthodes aux différences finies
(F. Nicoud)
Eléments finis en quelques mots
• A chaque instant, on cherche la solution de l’EDP sous la forme
• Les fonctions forment une base de l’espace de dimension N dans lequel on cherche à
approximer la ‘vraie’ solution f par fh.
• Les coefficients fi sont déterminés en imposant à fh d’être la meilleure approximation de f dans
l’espace de dimension N choisi.
∑
=
= N
i
i i
h x f x
f
1
) ( )
(r r
φ )
(x
i
φ r
Éléments finis en quelques mots
• Un choix classique est de prendre linéaire par morceaux et égale à 1 au nœud i du
maillage, nulle partout ailleurs
) (x
i
φ r
Linéaire
1 0
Nulle
Éléments finis en quelques mots
• On cherche à résoudre E(f)=0
• Avec l’approximation on commet une erreur E(fh)
• La méthode de Galerkin consiste à dire que cette erreur et orthogonale aux fonctions de forme
• N équations, N inconnues …
∑
=
= N
i
i i
h x f x
f
1
) ( )
(r φ r
) (x
i
φ r
{1,2,..., }, ( ) ( ) 0
1
=
∈
∀
∫ ∑
Ω =
x d x f
E x N
k
N
i
i i k
r r
r φ
φ
= +
∆ 0
:
ex λ
f K
Volumes finis en quelques mots
• Bien adaptés à des problèmes conservatifs du type
• On intègre l’équation sur chaque cellule du maillage et on utilise le théorème de la
divergence
• Les inconnues sont les valeurs moyennes de f sur chaque cellules à l’instant n+1, soit
( )
( ) = 0∂ +
∂ div F f t
f r
∑
⋅−
∆ =
+ −
Vi
k
k k k n
i n
i
i F n dS
t f V f
de faces
1 r r
Vi f n+1
Volumes finis en quelques mots
• Les flux sur les faces de sont calculés à partir des valeur de f dans les cellules voisines
V
i ∆− = −∑
⋅+
Vi
k
k k k n
i n
i
i F n dS
t f V f
de faces
1 r r
Vi
nr1
nr2
nr3
Différences finies
• Contrairement aux éléments et volumes finis,
cette technique n’est pas adaptée aux maillages non cartésiens
• Mais elle est très intuitive
• En 1D, les trois méthodes sont équivalentes
• Permet d’appréhender beaucoup de concepts ou problèmes numériques communs aux
différentes méthodes
Différences finies
• L’idée est de remplacer les dérivées
partielles aux points de maillage par des développement de Taylor
• Plutôt que de chercher f(x), on cherche les valeurs de f aux nœuds du maillage, soit f
i=f(x
i)
i i +1 i + 2
−1 i
− 2 i
−3
i x
xi x
+1
xi xi+2
−1
xi
−2
xi
−3
xi
DERIVEES
PREMIERES
Dérivées premières
• Développement de Taylor au nœud i:
• Ces développements font apparaître les dérivées de f au nœud i uniquement
i i +1 i + 2
−1 i
− 2 i
−3
i x
( ) ( ) 2
(
( 1 )2)
2 2 1
1
1 2 x i i
i i
x i
i i
i o x x
dx f d x
x dx
x df x
f f
i i
−
− + +
− +
= − − −
−
( 1 ) ( 1 )2 2 2
(
( 1 )2)
1 2 i i
x i
i x
i i
i
i o x x
dx f d x
x dx
x df x
f f
i i
−
− + +
− +
= + + +
+
• Si les nœuds sont régulièrement espacés
i i +1 i + 2
−1 i
− 2 i
−3
i x
∆x
( )
22 2 2
1 2 o x
dx f d x dx
xdf f
f
i xi
x i
i+ = + ∆ + ∆ + ∆
( )
22 2 2
1 2 o x
dx f d x dx
xdf f
f
i xi
x i
i− = −∆ + ∆ + ∆
( )
21
1 0 2 0 o x
dx xdf f
fi+ − i− = + ∆ + + ∆
Dérivées premières
• Si les nœuds sont régulièrement espacés, la dérivée de f au nœud i est approximée par
• Erreur d’approximation est
• Schéma centré d’ordre 2
x f f f
dx D
df
i ii
xi
∆
= −
≈
+ −2
1 0 1
1
) ( x o ∆
Dérivées premières
• On peut manipuler les développements limités pour obtenir d’autres
approximations de la dérivée première
•
•
) 1
1
(
1
o
x f f f
dx D
df
i ii xi
∆ +
= −
≈
+ +Dérivées premières
) 1
1
(
1
o
x f f f
dx D
df
i ii xi
∆ +
= −
≈
− −Maillage non uniforme
• Développement de Taylor au nœud i:
i i +1 i + 2
−1 i
−2 i
−3
i x
( 1 ) ( 1 )2 2 2
(
( 1 )2)
1 2 i i
x i
i x
i i
i
i o x x
dx f d x
x dx
x df x
f f
i i
−
− + +
− +
= − − −
−
( 1 ) ( 1 )2 2 2
(
( 1 )2)
1 2 i i
x i
i x
i i
i
i o x x
dx f d x
x dx
x df x
f f
i i
−
− + +
− +
= + + +
+
1
1 −
− = −
∆i xi xi ∆i = xi+1 − xi
Maillage non uniforme
• Développement de Taylor au nœud i:
i i +1 i + 2
−1 i
−2 i
−3
i x
( )
122 2 2
1 1
1 2 −
− −
− = −∆ + ∆ + ∆i
x i
x i
i
i o
dx f d dx
f df f
i i
( )
22 2 2
1 2 i
x i
x i
i
i o
dx f d dx
f df f
i i
∆
∆ + +
∆ +
+ =
×
∆i−12
×
∆i2
(
2 1 2) (
2 1 2 1) (
2 1 2)
1 2 1
2
1 i i
x i
i i
i i
i i i
i i
i o
dx f df
f f
i
∆
∆ +
∆
∆ +
∆
∆ +
∆
−
∆
=
∆
−
∆ − + − − − − −
( )
(
−∆ −)
∆ + ( )∆∆
−
= ∆ − f + f − f − o df 2i 1 i 1 i 2i 1 2i 2i i 1
• Maillage régulier
• En conservant plus de termes dans les développements on obtient les schémas à l’ordre 4 et 6 suivants
•
•
) 12 (
8
8 1 1 2 3
2 o x
x
f f
f f
dx
df i i i i
xi
∆
∆ +
+
− +
≈ − + + − −
Ordres plus élevés
) 60 (
9 45
45
9 2 1 1 2 3 5
3 o x
x
f f
f f
f f
dx
df i i i i i i
x
∆
∆ +
− +
− +
≈ + − + + − − −
• ordre 1 aval
• ordre 1 amont
• ordre 2 aval
• ordre 2 amont
Formules décentrées
) 1
1 o(
x f f
dx
df i i
xi
∆ +
≈ + −
) 2 (
3 4 1
2 o x
x
f f
f dx
df i i i
xi
∆
∆ +
− +
≈ − + +
) 2 (
3 4 1
2 o x
x
f f
f dx
df i i i
∆
∆ +
+
≈ − − −
) 1
1 o( x
f f
dx
df i i
xi
∆ +
≈ − −
• Problème modèle 1D: Eq. de convection
• Conditions limites et initiale:
Comparaison des schémas
m/s 1 ,
m 8 m
2 ,
0 0
0 = − ≤ ≤ =
∂ + ∂
∂
∂ x U
x U f
t f
(
/4)
, 0.2mexp )
0 ,
(x = − x2 a2 a =
f f (−2,t) = f (8,t) = 0
s
= 0
t t = 5s
• Équation semi-discrète
• On calcule les f
ientre t=0 et t=5 s à partir des deux schémas
Test numérique
i Df
dt U df
i
i + 0 = 0, ∀
1 0
0 =
∆
+ − −
x f U f
dt
dfi i i
2 0
1 1
0 =
∆ + + − −
x f U f
dt
dfi i i
i i +1 i + 2
−1 i
− 2 i
−3
i x
fi x
+1
fi fi+2
−1
fi
−2
fi
−3
fi
Test numérique
amont ordre 1
centré ordre 2
400 noeuds 200 noeuds 100 noeuds
Ordre 2 centré / Ordre 1 amont
• Ordre 1 introduit de la diffusion … (cf solution analytique avec Re=2)
• Ordre 2 centré « exact » avec 400 points
• Ordre 2 centré déforme le signal si le nombre de points est plus petit
• Ordre 2 meilleur que ordre 1
Test numérique
centré ordre 4
centré ordre 2
400 noeuds 200 noeuds 100 noeuds
Ordre 2 centré / Ordre 4 centré
• Ordre 4 « exact » dans tous les cas considérés ici
• Ordre 2 centré « exact » avec 400 points
• Ordre 4 meilleur que ordre 2
Test numérique
amont ordre 2
centré ordre 2
400 noeuds 200 noeuds 100 noeuds
Ordre 2 centré / Ordre 2 amont
• Ordre 2 centré et amont « exacts » avec 400 points
• Ordre 2 centré et amont déforment le signal si le nombre de points est plus petit, mais pas de la même manière
• Ordre 2 amont amortit plus le signal
• L’ordre ne dit pas tout sur un schéma …
Analyse spectrale
• Cas d’une fonction harmonique
• Schéma centré d’ordre 2
• L’erreur commise est
[exp( )] Re[ exp( )]
Re )
( jk jkx
dx jkx df
x
f = ⇒ =
[ ]
x f f
dx x df
jki
f i i
x i
i ∆
≈ −
∆
= + −
, 2 ) exp(
Re 1 1
∆ ∆
≈ sin( ∆ ) exp( )
Re jki x
x k
x jk k
dx df
xi
x k
x k
∆
∆ ) sin(
Signification de k ∆ x
• Sinusoïde de période L décrite avec N points
• ∆ x = L / N, k = 2 π /L donc k ∆ x = 2 π / N
(exact)
→ 0
∆x
k 4
= π
∆x
k 2
= π
∆x
k k∆x = π
Analyse spectrale
• Tout se passe comme si on résolvait l’équation
• Les différentes longueurs d’onde ne se déplacent pas à la même vitesse
) 0 sin(
0 =
∂
∂
∆ + ∆
∂
∂
x f x
k
x U k
t f
centré
ordre 2 exact
Analyse spectrale
• Équation effective 0 ( ) = 0
∂
∆ ∂
∂ +
∂
x x f
k E t U
f
Amont ordre 2
Centré Amont ordre 1
Centré ordre 2 SCHEMA
[
( )]
Re E k∆x Im
[
E(k∆x)]
0
0 x
k
x k
∆
∆ ) sin(
x k
x k
∆
∆ ) sin(
x k
x k
∆
−
∆ ) 1 cos(
(
2 cos( ))
)
sin( k x
x k
x
k − ∆
∆
∆
x k
x k x
k
∆
−
∆ +
∆
− cos(2 ) 4cos( ) 3
(
4 cos( ))
)
sin(k x k x
∆
∆ −
Analyse spectrale
Lien avec l’ordre du schéma
• Dans la limite k∆x → 0, la vitesse de propagation tend vers U0
• La vitesse avec laquelle l’erreur tend vers zéro dépend de l’ordre du schéma
• Au voisinage de 0, Re(E(k∆x)) = 1+O((k∆x)n), avec n l’ordre du schéma
• La partie imaginaire de l’erreur n’est pas directement reliée à l’ordre du schéma
• Les schémas centrés sont non dissipatifs: Im(E(k∆x)) = 0
Dispersion
• La vitesse de propagation effective n’est égale à la vitesse théorique que dans la limite k∆x → 0
• Une perturbation peut donc être propagée trop lentement ou trop vite
• Les fonctions et ne sont pas propagées à la même vitesse en général
• Que se passe-t-il lorsque l’on convecte f (x) ?
e jkx e jk'x,k ≠ k'
Déformation du signal
• On peut décomposer cette fonction comme une somme de fonctions harmoniques (en rendant f périodique
éventuellement)
• La solution théorique après t s de simulation est
• Numériquement le mode devient
• La solution numérique est donc
∑
= fke jkx x
f ( ) ˆ
∑
−=
− 0 ) ˆ ( 0 ) (x U t fke jk x U t f
) ) (
(x E k x U0t
e jk − ∆
e jkx
{ˆ ( ) )
(x U0t g e ( 0 ) f x U0t g − =
∑
k jk x−U t ≠ −∆
−
DERIVEES
SECONDES
• Maillage régulier
• On utilise le fait que
• En appliquant l’opérateur à
Dérivées secondes
) 2 (
1 0
1 1
0 0 1
1 0 2 1
2
x x o
f D f
f D D
dx D f
d
i ii xi
∆
∆ +
= −
≈
+ −i xi
x dx
df dx
d dx
f
d
2 =
2
f
iD
100
D
1) 4 (
2
2
2 2 2
, 0 2 2
2
x x o
f f
f f dx D
f
d
i i ii
+ ∆
∆
+
= −
≈
+ −• Si les nœuds sont régulièrement espacés
i i +1 i + 2
−1 i
− 2 i
−3
i x
∆x
Problème de localité
2
2 2
2 2
4 2
x
f f
f dx
f
d i i i
xi ∆
+
≈ + − −
x
La dérivée seconde approximée de cette fonction est nulle !!
• Déduire la dérivée seconde des développements de Taylor
i i +1 i + 2
−1 i
− 2 i
−3
i x
( )
33 3 3 2
2 2
1 2 6 o x
dx f d x dx
f d x dx
xdf f
f
i
i xi x
x i
i+ = + ∆ + ∆ + ∆ + ∆
( )
33 3 3 2
2 2
1 2 6 o x
dx f d x dx
f d x dx
xdf f
f
i
i xi x
x i
i− = − ∆ + ∆ − ∆ + ∆
Dérivées secondes
) 2 (
2
1 1 1
, 0 2 2
2
x x o
f f
f f dx D
f
d
i i ii
+ ∆
∆
+
= −
≈
+ −• Si les nœuds sont régulièrement espacés
i i +1 i + 2
−1 i
− 2 i
−3
i x
∆x
Problème de localité
2
1 1
2 2
x
f f
f dx
f
d i i i
xi ∆
+
≈ + − −
x
La dérivée seconde approximée de cette fonction est non nulle, mais pas infinie …
Analyse spectrale
• Cas d’une fonction harmonique
• Schéma centré d’ordre 2 à 2 ∆
• L’erreur commise est
[exp( )] Re
[
exp( )]
Re )
( 2 2
2
jkx dx k
f jkx d
x
f = ⇒ = −
[exp( )], 2 2 1 2 2 1
Re x
f f
f dx
f x d
jki
f i i i
x i
i ∆
+
≈ −
∆
= + −
∆ ∆
−
≈ cos( ∆ ) 1exp( ) 2
Re 2
2 2
x x jki
x k dx
f d
xi
2 2
) cos(
21
x k
x k
∆
∆
−
Analyse spectrale
• Schéma centré d’ordre 2 à 4 ∆
• L’erreur commise est
[ ] 2
2 2
2 2
4 , 2
) exp(
Re x
f f
f dx
f x d
jki
f i i i
x i
i ∆
+
≈ −
∆
= + −
∆ ∆
−
≈ cos(2 ∆ ) 1exp( ) 2
Re 1 2
2 2
x x jki
x k dx
f d
xi
2
2 2
) 2
cos(
1
x k
x k
∆
∆
−
Analyse spectrale
• Les erreurs sont réelles uniquement, donc pas de convection numérique
∆ 2
∆ 4
• Si les nœuds sont régulièrement espacés
• Utile pour les coefficients de diffusivité variables
i i +1 i + 2
−1 i
− 2 i
−3
i x
Interprétation volumes finis
2
1 1
2
2 1/2 1/2 2
x
f f
f x
dx df dx
df dx
f
d x x i i i
x
i i
i ∆
+
= −
∆
−
≈ + − + −
Retour sur le schéma amont ordre 1
• Rappel: ce schéma introduit beaucoup de dissipation par comparaison avec le centré d’ordre 2
• En effet:
• Utiliser ce schéma revient donc à résoudre
avec un schéma centré d’ordre 2
2
1 1
1 1
1
2
2
2 x
f f
f x x
f f
x f
f
i i i i i i i∆
+
−
− ∆
∆
= −
∆
−
− + − + −2 2 0
0 2 x
f x
U x
U f t
f
D
∂
∂
= ∆
∂ + ∂
∂
∂
3 2 1
i i +1 i + 2
−1 i
− 2 i
−3
i x
Laplacien
) ,
2 ( 2
2
1 , ,
1 , 2
, 1 ,
,
1
o x y
y
f f
f x
f f
f f
i j i j i j i j i j i jxi
+ ∆ ∆
∆
+ + −
∆
+
≈ −
∆
+ − + −j
−1 j
−2 j
+1 j
+ 2 j
∆x
∆y