8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
1/76
Methodes numeriques
appliquees a la conception par elements finis
David DureisseixENS de Cachan, puis Universite Montpellier 2
Juillet 2000 - Septembre 2003
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
2/76
2
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
3/76
Table des matieres
1 Resolution de systemes lineaires 9
1.1 Conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.1.2 Influence des perturbations . . . . . . . . . . . . . . . . . . . 11
1.2 Techniques de stockage et cout . . . . . . . . . . . . . . . . . . . . . 11
1.3 Methodes directes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 Methode delimination de Gauss factorisation LU . . . . . 14
1.3.2 Factorisation de Cholesky [1924] . . . . . . . . . . . . . . . 16
1.3.3 Factorisation de Crout (la plus employee) . . . . . . . . . . . 16
1.3.4 Lien avec la condensation de Schur . . . . . . . . . . . . . . 17
1.3.5 Autres techniques . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Quelques particularites en elements finis . . . . . . . . . . . . . . . . 18
1.5 Methodes iteratives stationnaires . . . . . . . . . . . . . . . . . . . . 21
1.5.1 Methode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.2 Methode de Gauss-Seidel . . . . . . . . . . . . . . . . . . . 231.5.3 Methode de relaxation (SOR) [1946] . . . . . . . . . . . . . 24
1.5.4 Cas particulier : methode dUzawa [1958] . . . . . . . . . . . 25
1.6 Methodes iteratives non-stationnaires . . . . . . . . . . . . . . . . . 26
1.6.1 Methode generique de projection . . . . . . . . . . . . . . . . 26
1.6.2 Methode du gradient . . . . . . . . . . . . . . . . . . . . . . 26
1.6.3 Methode du gradient conjugue [1952] . . . . . . . . . . . . . 27
1.6.4 Preconditionnement . . . . . . . . . . . . . . . . . . . . . . 28
1.6.5 Autre methodes iteratives . . . . . . . . . . . . . . . . . . . . 29
1.7 Criteres darret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2 Systemes aux valeurs propres 31
2.1 Preliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.1 Rappels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.1.2 Domaine demploi des differentes methodes . . . . . . . . . . 32
2.2 Methode de Jacobi (pour memoire) [1846] . . . . . . . . . . . . . . . 33
2.3 Methode des puissances . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4 Methode des iterations inverses . . . . . . . . . . . . . . . . . . . . . 37
2.5 Iterations inverses avec decalage . . . . . . . . . . . . . . . . . . . . 38
2.5.1 Principe et convergence de la methode . . . . . . . . . . . . . 38
2.5.2 Un exemple dutilisation dans un code elements finis . . . . . 38
2.6 Transformation de Householder . . . . . . . . . . . . . . . . . . . . 39
2.6.1 Factorisation QR . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6.2 Methode QR [1961] . . . . . . . . . . . . . . . . . . . . . . 41
3
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
4/76
4 TABLE DES MATIERES
2.6.3 Forme de Hessenberg . . . . . . . . . . . . . . . . . . . . . . 42
2.7 Exemple dutilisation dans un code elements finis . . . . . . . . . . . 432.7.1 Reduction dans un sous-espace . . . . . . . . . . . . . . . . . 44
2.7.2 Technique iterative . . . . . . . . . . . . . . . . . . . . . . . 44
2.8 Methode de Lanczos [1950] . . . . . . . . . . . . . . . . . . . . . . 44
2.8.1 Principes de la methode . . . . . . . . . . . . . . . . . . . . 45
2.8.2 Description de lalgorithme . . . . . . . . . . . . . . . . . . 45
3 Systemes differentiels 49
3.1 Equation scalaire du premier ordre . . . . . . . . . . . . . . . . . . . 49
3.1.1 Probleme de Cauchy . . . . . . . . . . . . . . . . . . . . . . 49
3.1.2 Re-ecriture du probleme . . . . . . . . . . . . . . . . . . . . 49
3.1.3 Schemas explicites a 1 pas . . . . . . . . . . . . . . . . . . . 50
3.1.4 Quelques problemes pratiques . . . . . . . . . . . . . . . . . 51
3.1.5 A-stabilite (absolute stability) . . . . . . . . . . . . . . . . . 523.1.6 Methode des trapezes generalisee . . . . . . . . . . . . . . . 53
3.1.7 Exemple de methode a pas multiples : Adams [1883] . . . . . 54
3.1.8 Exemple de methode de prediction correction, basee sur Adams 56
3.1.9 Methode de Runge-Kutta [1901] . . . . . . . . . . . . . . . . 57
3.1.10 Autres methodes . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2 Systemes differentiels du premier ordre . . . . . . . . . . . . . . . . 60
3.2.1 Emploi des methodes precedentes . . . . . . . . . . . . . . . 60
3.2.2 Choix dun schema : influence de lordre dintegration . . . . 61
3.3 Systemes differentiels du deuxieme ordre . . . . . . . . . . . . . . . 62
3.3.1 Methode de Newmark [1959] . . . . . . . . . . . . . . . . . 62
3.3.2 Methode de Gear implicite a 2 pas [1969] . . . . . . . . . . . 64
3.3.3 -methode [1968] . . . . . . . . . . . . . . . . . . . . . . . . 653.3.4 -HHT [1977] . . . . . . . . . . . . . . . . . . . . . . . . . 663.3.5 Autres methodes . . . . . . . . . . . . . . . . . . . . . . . . 67
A Orthogonalisation dun sous-espace 73
B Encadrement par les valeurs propres elementaires 75
B.1 Systeme aux valeurs propres generalise . . . . . . . . . . . . . . . . 75
B.2 Systeme aux valeurs propres . . . . . . . . . . . . . . . . . . . . . . 76
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
5/76
Introduction
Lobjectif de ce document est de fournir un document de travail (avec renvoi a des
ressources de references sil y a besoin dapprofondir), pour ceux qui sont interesses
ou amenes a utiliser des methodes de simulation (essentiellement par elements finis)
dans le but de dimensionner des structures mecaniques.
Il ne sagit pas pour autant dun document sur les elements finis, puisquon sup-
pose que les problemes ont deja ete formules dans ce cadre, et que lon se place en
aval, lorsque la resolution des problemes elements finis est en jeu. On se ramenera
ainsi frequemment aux techniques effectivement utilisees dans des codes de calcul in-
dustriels. Pour cela, on sera amene a utiliser des methodes classiques dalgebre lineaire,
de calcul matriciel, adaptees aux calculs sur ordinateurs (algorithmique).
Suivant les problemes qui se posent, on est amene a utiliser un grand nombre dou-
tils differents, et ce document ne veut pas etre exhaustif. Il ne traite en particulier pas
les cas suivants
la recherche de racine de f(U) = 0 les problemes de minimum non quadratiques (bisection, point fixe, Newton,
Newton-Raphson, quasi-Newton, secante, BFGS)Structure en trois parties, il aborde par contre les techniques de resolution de grands
systemes lineaires (de facon directe ou iterative), de problemes de recherche de valeurs
et vecteurs propres, et enfin de systemes differentiels.
En cas derreur. . .
Les differents algorithmes et techniques presentes ne sont pas garantis contre les
erreurs et autres coquilles. . .De la meme facon, tout document est perfectible, et celui-
ci ne fait pas exception a la regle. Tout lecteur ayant des remarques et propositions
constructives est amicalement invite a envoyer un retour a lauteur, par exemple par
e-mail a [email protected]
Notations
Un vecteur est represente par une lettre romane minuscule (comme x), une matrice
par une lettre romane majuscule (comme A), un scalaire par une lettre grecque minus-
cule (comme ). La composante i du vecteur x est notee xi et la composante i, j de lamatrice A, Ai,j. La colonne j de A, par exemple, sera classiquement notee A1:n,j. Les
vecteurs de la base dans laquelle les differentes matrices sont ecrites seront notes ei.
A chaque fois, litere numero i est designe par une mise en exposant (comme x(i))
et en general, une meme lettre designera en fait un meme emplacement en memoire ;
par exemple, x(i) ecrase x(i1) en memoire.
5
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
6/76
6
Pour approfondir
Pour des renseignements generaux complementaires sur les techniques employees,il est utile de ce referer par exemple a [Golub et Loan 89, Bathe et Wilson 82]. . .et pour
les algorithmes et leur implantation, aux librairies de netlib. . .
De facon generale, la bibliographie presentee regroupe deux types de references :
les anciennes, voire tres anciennes, en tant que base historique, et les plus recentes, en
tant quouvrages contemporains. Les biographies utilisees se sont largement inspirees
des bases de donnees disponibles a
http ://www-history.mcs.st-andrews.ac.uk/history/Mathematicians/
http ://www-groups.dcs.st-and.ac.uk/ history/BiogIndex.html
http ://www.math.bme.hu/mathhist/BiogIndex.html
Un cadre de travail
Actuellement, il existe dans le dimaine public un assez grand nombre de librairies
scientifiques bien matrisees et suffisamment fiables et robustes pour quelles soient
integrees par les developpeurs de codes de calcul. Il est cependant necessaire de connatre
le principe dun certain nombre des methodes employees, leur domaine demploi, leurs
limites et davoir une idee des cas a probleme pour aider au choix dune methode. Cest
dans cette direction que se place ce document. . .sans pretendre a une quelconque ex-
haustivite !
Parmi ces librairies, en grande partie du domaine public, certaines emergent ou
commencent a emerger comme des standards de fait. Par exemple, la librairie LA-
PACK (Linear Algebra PACKage, [Anderson et al. 99], http ://www.netlib.org/lapack/)
qui succede en grande partie aux anciennes libraries EISPACK (pour la resolution de
systemes aux valeurs propres, http ://www.netlib.org/eispack/) et LINPACK (pour laresolution de systemes lineaires, http ://www.netlib.org/linpack/). Sa description est
celle de la FAQ (Frequently Asked Questions) :
LAPACK provides routines for solving systems of simultaneous linear
equations, least-squares solutions of linear systems of equations, eigen-
value problems, and singular value problems. The associated matrix fac-
torizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also
provided, as are related computations such as reordering of the Schur fac-
torizations and estimating condition numbers. Dense and banded matrices
are handled, but not general sparse matrices. In all areas, similar functio-
nality is provided for real and complex matrices, in both single and double
precision.
Citons aussi sa version parallelisee, ScaLAPACK (Scalable LAPACK, [Blackfordet al. 97], http ://www.netlib.org/scalapack/) :
The ScaLAPACK project is a collaborative effort involving several ins-
titutions (Oak Ridge National Laboratory, Rice University, University of
California, Berkeley, University of California, Los Angeles, University of
Illinois, University of Tennessee, Knoxville), and comprises four compo-
nents : dense and band matrix software (ScaLAPACK), large sparse ei-
genvalue software (PARPACK and ARPACK), sparse direct systems soft-
ware (CAPSS and MFACT), preconditioners for large sparse iterative sol-
vers (ParPre). The ScaLAPACK (or Scalable LAPACK) library includes
a subset of LAPACK routines redesigned for distributed memory MIMD
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
7/76
7
parallel computers. It is currently written in a Single-Program-Multiple-
Data style using explicit message passing for interprocessor communica-tion. It assumes matrices are laid out in a two-dimensional block cyclic
decomposition. Like LAPACK, the ScaLAPACK routines are based on
block-partitioned algorithms in order to minimize the frequency of data
movement between different levels of the memory hierarchy. (For such
machines, the memory hierarchy includes the off-processor memory of
other processors, in addition to the hierarchy of registers, cache, and lo-
cal memory on each processor.) The fundamental building blocks of the
ScaLAPACK library are distributed memory versions (PBLAS) of the Le-
vel 1, 2 and 3 BLAS, and a set of Basic Linear Algebra Communication
Subprograms (BLACS) for communication tasks that arise frequently in
parallel linear algebra computations. In the ScaLAPACK routines, all in-
terprocessor communication occurs within the PBLAS and the BLACS.
One of the design goals of ScaLAPACK was to have the ScaLAPACKroutines resemble their LAPACK equivalents as much as possible.
Dun niveau dutilisation plus bas, et utilisees dans les librairies precedentes, on
trouve aussi des interessants utilitaires dans les librairies ARPACK
(http ://www.caam.rice.edu/software/ARPACK/)
ARPACK is a collection of Fortran77 subroutines designed to solve large
scale eigenvalue problems. The package is designed to compute a few ei-
genvalues and corresponding eigenvectors of a general n by n matrix A. It
is most appropriate for large sparse or structured matrices A where struc-
tured means that a matrix-vector product w Av requires order n ratherthan the usual order n**2 floating point operations. This software is based
upon an algorithmic variant of the Arnoldi process called the Implicitly
Restarted Arnoldi Method (IRAM). When the matrix A is symmetric it
reduces to a variant of the Lanczos process called the Implicitly Restarted
Lanczos Method (IRLM). These variants may be viewed as a synthesis of
the Arnoldi/Lanczos process with the Implicitly Shifted QR technique that
is suitable for large scale problems. For many standard problems, a matrix
factorization is not required. Only the action of the matrix on a vector is
needed.
et BLAS (Basic Linear Algebra Subprograms, http ://www.netlib.org/blas/) :
The BLAS (Basic Linear Algebra Subprograms) are high quality building
block routines for performing basic vector and matrix operations. Level 1
BLAS do vector-vector operations, Level 2 BLAS do matrix-vector opera-
tions, and Level 3 BLAS do matrix-matrix operations. Because the BLAS
are efficient, portable, and widely available, theyre commonly used in the
development of high quality linear algebra software, LINPACK and LA-
PACK for example.
Les developpements concernant ces librairies sont toujours en cours, en particulier les
versions creuses SPBLAS (SParse BLAS) et paralleles PBLAS (Parallel BLAS)
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
8/76
8
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
9/76
Chapitre 1
Resolution de systemes lineaires
On est souvent, voire tout le temps, amene a resoudre des systemes lineaires de
la forme Ax = b pour la simulation sur ordinateur ; par exemple en elements finis, uneanalyse statique conduit a resoudre un systeme que lon notera Ku = f. Kest la matricede rigidite, u le deplacement (discretise) et f, les forces generalisees.
Une analyse non-lineaire implicite, la recherche dune base modale. . .sont souvent
basees sur la brique de base quest la resolution de systemes lineaires.
Dans ces cas de figures, comme dans dautres, les matrices A et b correspondantes
ont souvent des particularites dont il sera judicieux de tirer parti (pour les avantages),
ou quil faudra avoir en tete (pour les inconvenients). Par exemple :
une grande dimension dimA = n, classiquement de 103 a 106, donc : on ninverse pas A (ce serait resoudre n systemes lineaires) ;
il faut prendre en compte des considerations de stockage adapte, a la fois pourreduire les ressources en memoire et le nombre doperations a effectuer.
la necessite de traiter plusieurs second membres
simultanement,
successivement.
des proprietes souvent rencontrees :
des coefficients reels, une matrice A carree,
A inversible A reguliere detA = 0 A symetrique A = AT (avec x,y, x y = xTy xTAy = yTATx) A positive (x, xTAx 0) A definie (xTAx = 0 x = 0) A mal conditionnee, typiquement cond K= o( 1
h2) ou h est la taille de la maille
en elements finis massifs.
Pour plus dinformations concernant ces particularites et les techniques mises en
uvre, on pourra se referer a [Saad 96, Barrett et al. 94, Argyris et al. 64].
1.1 Conditionnement
1.1.1 Definition
Pour A symetrique et inversible,
condA = A A1
9
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
10/76
10 CHAPITRE 1. R ESOLUTION DE SYSTEMES LINEAIRES
Avec une norme matricielle consistante avec celle definie pour les vecteurs :
A = supx=0
Axx
ou x2 = xTx = ix2i est la norme euclidienne, on a
condA =||Max||min
ou les sont les valeurs propres de A.En general, il est tres difficile (tres couteux) datteindre le conditionnement de A,
par contre un certains nombre de techniques peuvent permettre de lestimer. On pourra
en particulier sinspirer des techniques developpees dans le chapitre concernant la re-
cherche de valeurs propres.Un conditionnement grand conduit a des problemes de pr ecision (cumul darrondis
numeriques). Pour les illustrer, on est amene a considerer un systeme perturbe (par des
perturbations generalement supposees petites) A x = b.
Exemple 1
Considerons le systeme Ax = b suivant1 1
1 1 +
x1x2
=
2
2
x =
2
0
Le polynome caracteristique 2 (2 + )+ = 0 permet de determiner les valeurspropres = (2 +
4 + 2)/2. Avec petit, le conditionnement est donc tres grand :condA 4/.
Considerons maintenant le systeme A x = b perturbe (par petit) :
1 1
1 1 +
x1x2
=
2
2 +
x =
2
Si 1, x
2
0
Si 1, ce qui est tout a fait possible avec les arrondis numeriques, la solution
fournie est tres differente : x 1
1Exemple 2
A =
1.2969 0.86480.2161 0.1441
b =
0.86420.1440
x =
0.86420.1440
Le conditionnement de A est condA = 3.3108 ; on a un residu petit b Ax =108
108
alors que la solution exacte est tres differente de x : cest
2
2
.
Il semble donc que le conditionnement du systeme soit tres lie a la qualite de la
solution (en terme dinfluence des arrondis numeriques) que lon puisse esperer avoir.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
11/76
1.2. TECHNIQUES DE STOCKAGE ET COUT 11
Dans le cas des elements finis massifs (autre que plaques en flexion, poutres. . .), le
conditionnement varie en o(
1
h2 ). La figure 1.1 illustre cela dans un cas 2D tres simple.Le conditionnement a ete obtenue en calculant explicitement la plus grande et la pluspetite valeur propre de K avec les methodes qui seront presentees ulterieurement.
h
Lcond K
10E-2 10E-110E0
10E1
10E2
10E3
10E4
10E5
2
2
2
2
4
4
4
4
6
6
6
6
pente -2
h/L
FIG . 1.1 Conditionnement en elements finis
1.1.2 Influence des perturbations
a) Considerons le systeme A x = b.
Si b = b +b avecbb 1, a-t-on
xx 1 pour x = x +x ?
Ax = b A x b 1x A1
bA(x +x) = b +b Ax = b x = A1b x A1 b
Doncxx condA
bb
b) Considerons maintenant le systeme A x = b. Si A = A +A et x = x +x
(A +A)(x +x) = b Ax +A(x +x) = 0 x = A1A(x +x) x A1 A x +x
Donc x
x +x condAA
AIl nest donc pas etonnant quon se trouve face a une difficulte lorsque le systeme
a resoudre est tres mal conditionne, autant avec les methodes directes (qui fournissent
une solution erronee) quavec les methodes iterative (qui ne convergeront pas).
1.2 Techniques de stockage et cout
Parametres influents
Dans les applications envisagees, en particulier pour les systemes de grande taille,
il est necessaire denvisager des techniques de stockage adaptees. Par exemple, si la
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
12/76
12 CHAPITRE 1. R ESOLUTION DE SYSTEMES LINEAIRES
taille du systeme est n = 103, le stockage de A pleine (tous les termes) necessite 8 Mo
de memoire ; avec n = 10
6
, 8 000 Go sont necessaires.Pire encore, le nombre doperations pour resoudre le systeme Ax = b est lie aunombre de termes non nuls (en fait au nombre de termes stockes, donc supposes non
nuls) de la matrice, et aussi de la numerotation des inconnues, comme on le verra.
Par exemple, une methode de Cramer sur une matrice pleine demande un nombre
doperations en virgule flottante de nop (n + 1)!, ce qui devient rapidement inex-tricable, meme avec les ordinateurs les plus puissants [Dongarra et al. 99].
Dans le cas des systemes issus dune discretisation par elements finis, le systeme
est dit creux (sparse). Il faut donc en tenir compte au niveau du stockage, en utilisant
par exemple un stockage
bande (largeur de bande, bandwidth, lb),
ligne de ciel, emphskyline,
morse,
semi-morse
Quant a linfluence de la renumerotation des degres de liberte (ddl), des methodes
heuristiques sont employees car la determination de la numerotation optimale est un
probleme extremement couteux (en fait, plus couteux que le systeme que lon cherche
a resoudre). Les techniques les plus employees se nomment :
Cuthill-MacKee inverse [Cuthill et McKee 69],
nested dissection [George 73],
degre minimum [Tinney et Walker 67, George et Liu 89]. . .
Cout
Le cout dun algorithme peut sestimer de differentes manieres. Une premiere indi-
cation est la taille de la memoire requise pour traiter un probleme donne. Une autreest le temps mis pour effectuer la resolution du probleme. Deux types de prise de
temps sont generalement employes : le temps CPU (Central Processing Unit), lie aux
operations effectuees, et le temps horloge, lie au temps exterieur ecoule pendant cette
resolution. Il est certain que ce dernier est une mesure tres globale puisquelle fait in-
tervenir la machine utilisee (les performances du systeme, du compilateur, les acces
aux disques), les competences du programmeur, et peuvent dependre fortement du
probleme traite. Elle ne caracterise donc pas uniquement lalgorithme mais plutot glo-
balement le logiciel realise pour un probleme donne sur une machine donnee.
Dautres indicateurs sont egalement disponibles, comme le nombre doperations en
virgule flottante necessaire a la resolution. Cest ce que lon appelle la complexit e de
lalgorithme. Elle devient plus liee a lalgorithme meme en faisant des estimations sur
les types de problemes a traiter, mais elle ne fait pas intervenir les eventuels transfertsen memoire, operations sur les entiers. . .
La vraie qualification dune technique doit donc faire appel a tous ces indicateurs.
Pour ce qui nous concerne, seule la complexite sera presentee par la suite.
Lestimation du cout effectif en temps CPU des differentes operations en virgule
flottante peut ensuite etre proposee par des essais numeriques et des prises de temps
sur des architectures de machines cibles.
A titre dindication, un petit test a ete realise dans ce sens, qui fait intervenir essen-
tiellement les performances du processeur.
Les couts indiques dans la table 1.1 ont ete obtenus en Janvier 2000. Entre pa-
rentheses, on trouvera les couts obtenus lannee ou les deux annees precedentes.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
13/76
1.3. M ETHODES DIRECTES 13
TAB . 1.1 estimation du cout des operations elementaires
type doperation cout (108 s CPU)(moyennee sur 108 termes) fronsac bacchus artemis
addition 5.2 (5.7, 7) 5.54 (6.2) 2.67
multiplication 5.2 (5.7, 7) 5.54 (6.2) 2.67
division 9 9 (11.7) 2.73
racine carree 9 14.5 (18.3) 18.2
daxpy 8.9 (9.6, 10) 4.66 (5.5) 2.02
dscal 4.97 (5.3, 6) 2.56 (3.9) 1.35
type doperation (moyennee sur cout (102 s CPU)100 vecteurs de 1000 termes) fronsac bacchus artemis
y +Ax 4.95 (5.2) 3.4 (3.9) 0.84dgemv - 2 (2.3) 1.1
Le code est ecrit en Fortran 77 ; les differentes machines testees ainsi que les op-
tions de compilations sont les suivantes :
fronsac est une station de travail HP du LMT-Cachan (HP 9000/879, systeme
B.10.20), la compilation est faite avec f77 +O2,
bacchus est une machine parallele SGI 02000 du Pole Parallelisme Ile de France
Sud (SGI IP27 systeme 6.5), et la compilation, f90 -O2,
artemis est une machine IBM SP de lAntenne de Bretagne de lENS de Cachan
(IBM AIX systeme 3), et la compilation, f77 -O2
Les operations denommees daxpy (serie de 2 operations en fait : addition et mul-
tiplication), dscal (serie de multiplications), dgemv (calcul dun produit matrice A par
vecteurx, pondere par un coefficient et ajoute a un precedent vecteur y, lui mememultiplie par un coefficient ) sont appelees avec la librairie BLAS, deja mentionnee.Loperation denommee y +Ax est donc lequivalent de dgemv, programme directe-ment en Fortran.
A partir de ces quelques resultats, on peut tirer quelques conclusions : outre le fait
quutiliser les options doptimisation des compilateurs est interessante, lutilisation de
librairies (ici la BLAS) est plus efficace que reprogrammer des routines elementaires
soi-meme. En fait, lutilisation de routines standards augmente la lisibilite du pro-
gramme, permet de programmer a un niveau plus eleve et donc reduit les temps de
debuggage, et permet souvent datteindre de meilleures performances, puisque ces li-
brairies sont programmees de facon plus efficace (souvent directement en assembleur),
et sont optimisees pour la machine sur laquelle elles sont utilisees.
Dautre part, pour lutilisateur normal, le cout effectif (en s CPU) depend dun
grand nombre de parametres comme lefficacite du compilateur, de lenvironnementde developpement, des temps de latence de la memoire, des caches, de lacces aux
disques. . .En particulier, le changement de version du systeme dexploitation dune
annee sur lautre influe sur les resultats du test presente precedemment.
1.3 Methodes directes
Encore majoritairement employee dans les codes actuels a cause de leur robus-
tesse, et dune prevision fine du cout (nombre doperations, stockage necessaire), elles
deviennent couteuses en temps et en encombrement lorsque le systeme a resoudre de-
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
14/76
14 CHAPITRE 1. R ESOLUTION DE SYSTEMES LINEAIRES
vient tres grand.
Pour plus dinformations sur ces methodes, on pourra avantageusement consulter[Duffet al. 90].
1.3.1 Methode delimination de Gauss factorisation LU
JOHANN CAR L FRIEDRICH GAUSS
Gaussian elimination, which first appeared in the text
Nine Chapters of the Mathematical Art written in 200
BC, was used by Gauss in his work which studied the
orbit of the asteroid Pallas. Using observations of Pal-
las taken between 1803 and 1809, Gauss obtained a
system of six linear equations in six unknowns. Gauss
gave a systematic method for solving such equations which is precisely
Gaussian elimination on the coefficient matrix.Born : 30 April 1777 in Brunswick, Duchy of Brunswick (now Germany).
Died : 23 Feb 1855 in Gottingen, Hanover (now Germany).
Principe de la methode
On simplifie le systeme pour le rendre triangulaire superieur par utilisation de com-
binaison lineaires de lignes (cest a dire dequations).
Preliminaire : elimination de Gauss par bloc
Ecrivons le systeme a resoudre sous une forme de blocs :
A11 A12A21 A22x1x2 = b1b2 (1.1)Si A11 est inversible, la premiere equation conduit a exprimer x1 en fonction de x2 :
x1 = A111 (b1 A12x2) (1.2)
En utilisant cette expression dans la deuxieme equation, on se ramene a un systeme
avec x2 comme seule inconnue :
A22 A21A111 A12 S
x2 = b2 A21A111 b1 c
(1.3)
S est appele complement de Schur ou matrice condensee sur les degres de liberte x2.
Connaissant x2, on remonte a x1 avec (1.2).Le systeme de depart, (1.1), est equivalent a
A11 A120 S
x1x2
=
b1c
(1.4)
et on peut le reecrire :1 0
A21A111 1
A11 A12
0 S
A
x1x2
=
1 0
A21A111 1
b1c
(1.5)
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
15/76
1.3. M ETHODES DIRECTES 15
ISSAI SCHUR
In 1894 Schur entered the University of Berlin to readmathematics and physics. Schur made major steps for-
ward in representation theory of groups, in collaboration
with Frobenius, one of his teacher.
In 1916, in Berlin, he built his famous school and spent
most of the rest of his life there. Schurs own impressive
contributions were extended by his students in a number of different direc-
tions. They worked on topics such as soluble groups, combinatorics, and
matrix theory.
Born : 10 Jan 1875 in Mogilyov, Mogilyov province, Belarus.
Died : 10 Jan 1941 in Jerusalem, Palestine.
Utilisation pour la factorisation LUSi on prend comme bloc 11 la premiere equation scalaire du systeme, il faut avoir
A11 = 0 (cest le premier pivot). En continuant sous la forme (1.5) recursivement surles sous-matrices qui restent, on obtient la factorisation A = LU (en n 1 etapes) avecU (pour upper) matrice triangulaire superieure, L (pour lower) triangulaire inferieure
avec diagonale unitaire.
Pour des raisons defficacite de stockage, L et U ecrasent en memoire A si on ne
stocke pas la diagonale de L quon sait unitaire. A chaque iteration k, la matrice de
depart A est donc modifiee en une matrice A(k).
Conditions demploi. Si a chaque etape de la factorisation le pivot Ak1kk est nonnul, on peut progresser sans probleme. La seule condition est que A soit inversible,
mais quand on trouve un pivot nul, il faut proceder a des echanges dequations. En
pratique, on a bien entendu aussi des problemes si le pivot est petit en valeur absolue ;
il est parfois conseille de proceder systematiquement a un pivotage. Cette operation est
cependant couteuse en terme dacces et de transfert de donnees en memoire, surtout
si elle necessite des acces aux disques. Si la matrice assemblee est initialement bande,
les permutations detruisent generalement cette propriete, ce qui peut alors devenir tres
penalisant.
Strategies de choix du pivot.
pivotage partiel : on choisit dans la meme colonne kque celle du pivot a changer,
la ligne l telle que |Al,k| = maxm=k,...,n |Am,k| pour remplacer le pivot ; pivotage total : on peut aussi permuter les colonnes ; on cherche alors le nouveau
pivot dans toute la sous-matrice restant a traiter, on choisit donc la ligne l et la
colonne c telles que |Al,c| = maxm,p=k,...,n |Am,p|
Particularites. Sans recours au pivotage, il y a unicite de la factorisation.
Dans le cas ou il est necessaire de traiter plusieurs second membres, on opere si-
multanement sur les b. Si les resolutions doivent etre realisees successivement, et pour
chaque autre second membre b, on resoud L U xy
= b :
par resolution de Ly = b appelee descente, puis par resolution de U x = y appelee montee.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
16/76
16 CHAPITRE 1. R ESOLUTION DE SYSTEMES LINEAIRES
A chaque fois, il ne sagit plus que de resoudre un systeme triangulaire (superieur ou
inferieur).On peut dautre part calculer a faible cout le determinant de A une fois que lon
connat sa decomposition LU : detA = det(LU) = detL detU = detU = k=1,...,n Uk,k
Complexite
Dans le cas dune matrice stockee pleine, la factorisationLUnecessite n33 operations ;une montee (ou 1 descente) necessite quant a elle n2
2operations.
1.3.2 Factorisation de Cholesky [1924]
Cette technique a ete decrite pour la premiere fois dans [Benot 24].
?
AND RE-LOUIS CHOLESKY
Cholesky was a French military officer involved in geo-
desy and surveying in Crete and North Africa just be-
fore World War I. He entered lEcole Polytechnique at
the age of 20 and was attached to the Geodesic Section
of the Geographic Service, in June 1905. That was the
period when the revision of the French triangulation
had just been decided to be used as the base of a new
cadastral triangulation. Cholesky solved the problem of the adjustment of
the grid with the method now named after him to compute solutions to the
normal equations for the least squares data fitting problem.
Born : 15 Oct 1875 in Montguyon (Charente-Inferieure).
Died : 31 Aug 1918.
Caracteristiques de la methode
Meme idee que la factorisation LU quand A est symetrique et inversible : A =BTB avec B a diagonale > 0. Dans le cas, le stockage et le calcul ne portent que sur unpeu plus de la moitie de la matrice, par exemple sur sa partie inferieure.
Propriete : si A est symetrique, definie, positive (donc inversible), il nest pas
utile de pivoter.
Complexite
Pour A pleine, la factorisation BTB requiere n36
operations.
Pour A bande : la factorisation BTB requiere nl2b2 operations, une montee (ou unedescente) coute nlb operations. Le stockage necessite nlb reels (generalement 8octets). De facon courante, on a
lbn
1 ( lbn
= 110
a 1100
).
Un exemple dutilisation de cette factorisation pour lorthogonalisation des vec-
teurs dun sous-espace est presentee dans lannexe A, page 73.
1.3.3 Factorisation de Crout (la plus employee)
A = LDLT avec L triangulaire inferieure a diagonale unitaire, D diagonale.Cette factorisation sapplique pour A symetrique, d efinie positive, mais traite aussi
les cas ou les valeurs propres sont negatives ou nulles.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
17/76
1.3. M ETHODES DIRECTES 17
Complexite identique a celle de la factorisation de Cholesky, mais on na plus besoin
dextraire n racines carrees (pour la diagonale).Lalgorithme 1 presente cette factorisation dans le cas dune matrice symetrique A
stockee pleine. Il requiere lutilisation dun vecteur v supplementaire.
Algorithme 1 Factorisation LDLT stockee pleine
boucle sur j = 1, 2, . . . , n
boucle sur i = 1, 2, . . . , j 1vi Aj,iAi,i
fin
vj Aj,j Aj,1:j1v1:j1Aj,j
vj
Aj+1:n,j 1
vj(Aj+1:n,j Aj+1:n,1:j1v1:j1)
fin
Sans pivotage, comme pour Cholesky et pour Gauss, la factorisation conserve le
profil de la matrice ecrasee en memoire, comme on le verra dans la suite.
1.3.4 Lien avec la condensation de Schur
Super-elements
Comme cetait le cas pour la factorisationLU, la factorisation de Cholesky ou Croutest tres liee a la condensation de Schur. Dans le cas des elements finis, on peut batir
ainsi la notion de super-element. Considerons une partie dune structure qui represente
une zone dinteret particulier (par exemple, une zone qui reste en elasticite alors que
le reste de la structure plastifie, ou une zone dans laquelle des fonctions de bases par-
ticulieres ont ete ajoutees comme dans la methode de partition de lunite.. .) et qui a
ete maillee par elements finis, figure 1.2. Linterface avec le reste de la structure se
fait par le bord de cette zone. Notons avec un indice i les degres de libertes des nuds
strictement internes a cette zone et b ceux des nuds de linterface, alors
K=
Kii KibKbi Kbb
Si on condense sur les nuds bord on a S = Kbb KbiK1ii Kib : cest la ma-trice de rigidite du super-element considere. Elle est similaire a une matrice de rigidite
elementaire, pour un element qui peut etre lui-meme une petite structure.
Conservation de la bande
La figure 1.3 montre, a literation k, cest a dire lors de la condensation de lin-
connue k sur les suivantes, les termes de la matrice qui vont etre touches, autrement
dit, ceux qui a priori sont ou deviennent non-nuls. Clairement, la bande est conservee
lors de la factorisation. On peut de la meme facon montrer que seuls les termes sous le
profil sont modifies, et donc que la factorisation conserve le profil de la matrice.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
18/76
18 CHAPITRE 1. R ESOLUTION DE SYSTEMES LINEAIRES
Zone d'intrt particulier
i
b
S
FIG . 1.2 Utilisation dun super-element
Coefficients modifis l'tape k
k
k
FIG . 1.3 Etape kde la factorisation
1.3.5 Autres techniques
Ladaptation de la factorisation de Crout au cas ou A est non-symetrique est clas-
sique, cest la factorisation LDMT.
Dautres variantes des techniques precedentes permettent de tirer mieux parti des
conditions de stockage, en particulier pour optimiser les echanges de donnees avec la
partie des informations stockees sur disque, comme la methode frontale [Irons 70].
Dautres versions encore permettent de realiser des factorisations en parallele de facon
assez performantes, comme les methodes multi-frontales [Duff 86].
1.4 Quelques particularites en elements finis
Conditions aux limites en deplacement
La prise en compte de deplacements imposes non-nuls a une influence sur lutilisa-tion des solveurs dans le sens ou la matrice de rigidite est modifiee par ces contraintes.
Separation des degres de liberte. Le probleme correspondant de minimisation
du potentiel sous contrainte est le suivant :
minCu=ud
J1(u) =1
2uTKu fTu (1.6)
Cest une matrice booleenne dont le but est dextraire une partie des degres de libertes,
ceux sur lesquels la condition degalite aux deplacements imposes ud est imposee.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
19/76
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
20/76
20 CHAPITRE 1. R ESOLUTION DE SYSTEMES LINEAIRES
On peut remarquer que la premiere equation montre que les multiplicateurs de La-
grange sont bien les reactions a lappui.Linconvenient vient du fait que la taille du probleme augmente, et du fait que A
est une matrice symetrique mais plus definie positive ; elle possede des valeurs propres
negatives. On a cependant le resultat suivant si K est symetrique, definie positive :
A inversible C injective kerrC= {0}
cest a dire on necrit que des liaisons independantes. Une factorisation de Gauss risque
de detruire la structure bande de la matrice K et la factorisation de Crout va demander
des pivotages.
Une modification de cette technique permet, avec une numerotation ad hoc qui
conserve la bande, de ne pas avoir besoin de pivoter. Il sagit dune technique de double
multiplicateurs utilisee dans CASTEM 2000TM. Elle peut etre illustree de la maniere
suivante :
extru,l1,l2
J1(u) +1
2
l1l2
u
T
1 1 11 1 1
1 1 0
l1l2
u2
ud
ud
Tl1l2
12
(l1 l2)2 + (l1 + l2)T(Cu ud)
dont les equations dEuler sont :
Ku = fCT(l1 + l2)l1 = l2
Cu = ud
Bien entendu, en cas de nombreux blocages, la taille du probleme crot en consequence.
Valeurs tres grandes (gros poids) On peut aussi considerer une condition aux
limites en deplacement impose comme une modelisation de laction de lexterieur.
Celui-ci pourrait aussi reagir comme un ressort ayant une grande raideur k, avec un
deplacement impose a la base. Le potentiel elastique de lensemble structure + ressort
exterieur est alors J1(u) +1
2(Cu ud)Tk(Cu ud). Les nouvelles equations dEuler de
cette formulation sont alors : (K+CTkC)u = f +CTkCud.On ne fait donc que rajouter des termes dans la matrice de raideur sur les degr es de
libertes incrimines et dans le vecteur des forces generalisees sur les efforts duaux.
Le probleme est le choix de k: pour des valeurs trop petites, la condition est mal im-
posee, pour des valeurs trop grandes, le systeme devient extremement mal conditionne,
voire numeriquement singulier.
Relations lineaires entre degres de liberte
Cette situation se presente par exemple fans le cas dutilisation de symetrie par
rapport a un plan non parallele a un des plan des axes globaux de lanalyse, dans le cas
de conditions aux limite periodiques sur une cellule de base. . .A chaque fois, il sagit
de contraintes de la forme Cu = ud ou C nest cette fois-ci pas forcement booleenne.Les techniques precedentes sappliquent bien entendu sur ces cas de figure tout aussi
bien.. .et avec les memes limitations.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
21/76
1.5. M ETHODES ITERATIVES STATIONNAIRES 21
Systeme singulier : semi defini positif
Exemple : structure avec des modes rigides, sous-integration. . .il y a des deplacements
non nuls a energie de deformation nulle1
2uTKu = 0.
Dans la suite, on sinteressera au cas ou cas est A symetrique, sachant que la
generalisation est tout a fait possible.
Noyau. Lensemble des solutions independantes, stockees dans les colonne de R,
telles que AR = 0, forme le noyau (ou espace nul) de A. Sil y en a p, le rang de A estn p.
Existence de solutions. Pour quil existe des solutions, une condition necessaire
et suffisante est que b soit orthogonal au noyau de A, cest a dire RTb = 0. Exemple :
les efforts ne sollicitent pas les modes de solide rigide.Si A est non symetrique, la condition est que b appartienne au noyau adjoint de A.
Si x0 est une solution de ce systeme, lensemble des solutions est de la forme x0 +R ou est quelconque.
Inverses generalisees (ou pseudo-inverses). A+ telle que AA+A = A. Si A estinversible, il ny a quune pseudo-inverse A+ = A1. Pour A symetrique, toutes lespseudo-inverses sont de la forme A+ +BTRT +RB, avec B quelconque.
Factorisation et construction dune inverse generalisee. Supposons que le systeme
puisse secrire sous la forme de blocs (1.1), ou A11 est la plus grande sous-matrice
reguliere. On a alors S = A22 A21A111 A12 = 0.une pseudo-inverse de A est
A111 00 0
et la solution est
x1x2
=
A111 b1
0
x0
+
A12Id
R
x2
(1.7)
La factorisation fait progresser lelimination tant quun pivot non nul existe. Dans
notre cas, avec pivotage, on tombe sur une sous-matrice nulle. Pour les matrices semi-
definies, il nest pas necessaire de pivoter car un pivot nul apparat lorsque la ligne
du pivot est une combinaison lineaire des precedentes. Linconnue correspondante
est reperee et fixee a 0, voir x0 dans (1.7) (cest a dire quon ajoute des liaisons
complementaires pour fixer les modes de solide rigide) a condition que le terme
correspondant au second membre condense soit nul aussi. La colonne correspondantede la matrice stocke le vecteur associe, voir R dans (1.7).
1.5 Methodes iteratives stationnaires
De facon generale avec les techniques iteratives, on est amene a se poser au moins
les questions suivantes :
quelles sont les conditions demploi de ces techniques (pour assurer la conver-
gence vers la solution cherchee)?
quel critere darret des iterations employer ?
quels sont les couts de ces methodes ?
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
22/76
22 CHAPITRE 1. R ESOLUTION DE SYSTEMES LINEAIRES
Dans le cas des methodes iteratives stationnaires, on rencontre les particularites
suivantes : onaccede aA uniquement par le produitAw (phase la plus couteuse). Eventuellement,
comme en elements finis, on peut le faire sous forme elementaire (sans assem-
blage) : Aw = eAewe
on construit une suite de solutions approchees x(k) k A1b a partir dunerecurrence lineaire x(k) = Bx(k1) + c ou B (la matrice diteration) et c sontindependantes de k(contrairement aux methodes non stationnaires).
Ce sont des methodes de type point fixe : si on converge, cest vers x = Bx + c (x(k) x) = B(x(k1) x)
Pour avoir x(k) x k 0, il faut et il suffit que (B) < 1. (B) est le rayonspectral de B, cest le sup des valeurs absolues des valeurs propres de B.
Le taux de convergence asymptotique est defini par : = ln(B). Il peut servira estimer le nombre diterations necessaire pour atteindre le niveau de convergence
souhaite ; en effet on a
(x(k) x) = Bk(x(0) x) x(k) x
x(0) x Bk ln x
(k) xx(0) x k
Linteret est de pouvoir estimer le nombre diterations necessaires pour diviser le
niveau derreur par un coefficient donne (utilisation dun critere darret), connaissant
le taux de convergence asymptotique de la methode.
Pour plus dinformations sur les methodes iteratives stationnaire, on pourra consul-
ter [Hagemana et Young 81].
1.5.1 Methode de Jacobi
KAR L GUSTAV JACOB JACOBI
Jacobi published three treatises on determinants in 1841.
These were important in that for the first time the de-
finition of the determinant was made in an algorithmic
way and the entries in the determinant were not spe-
cified so his results applied equally well to cases were
the entries were numbers or to where they were func-
tions.
These three papers by Jacobi made the idea of a determinant widely known.
Born : 10 Dec 1804 in Potsdam, Prussia (now Germany).
Died : 18 Feb 1851 in Berlin, Germany.
Cette methode est decrite ici pour memoire seulement, car elle possede un faible
taux de convergence et dans nos applications, est avantageusement remplacee par dautre
techniques plus efficaces. Elle illustre cependant bien les techniques de point fixe : sion suppose connues toutes les inconnues sauf linconnue i, cette derniere peut etre
determinee a laide de lequation i. Procedant ainsi sur toutes les inconnues, on obtient
un nouvel itere xk a partir de lancien xk1.Sous forme matricielle, cela se traduit par :
xk = (1D1A)xk1 +D1bou D est la matrice diagonale, contenant la diagonale de A. La matrice diteration est
donc ici B = 1D1A.Lalgorithme 2 presente cette methode. On peut noter lutilisation dun vecteur de
stockage x supplementaire.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
23/76
1.5. M ETHODES ITERATIVES STATIONNAIRES 23
Algorithme 2 Methode de Jacobi
Choix dun vecteur de depart x(0)
tant que la convergence nest pas atteinte, iterer sur k
boucle sur tous les i entre 1 et n
xi Ai,1:i1x(k1)1:i1 +Ai,i+1:nx(k1)i+1:nxi (bi xi)/Ai,i
fin
x(k) xtest de convergence
fin
Convergence
Si A est symetrique, definie positive, alors J = (B) < 1, mais en elements finis,on a une evaluation de ce rayon spectral qui varie comme
J = 1h2
2+ o(h4)
dou un taux de convergence faible lorsque le maillage est raffine (donc lorsque h est
faible) :
h2
2
1.5.2 Methode de Gauss-Seidel
?
LUDWIG PHILIPP VON SEIDEL
Philipp Seidel entered the University of Berlin in 1840
and studied under Dirichlet and Encke. He moved to
Konigsberg where he studied under Bessel, Jacobi and
Franz Neumann. Seidel obtained his doctorate from
Munich in 1846 and he went on to become professor
there. Seidel wrote on dioptics and mathematical ana-
lysis. His work on lens identified mathematically five
coefficients describing the aberration of a lens, now called Seidel sums.
These Seidel sums correspond to spherical aberration, coma, astigmatism,Petzval curvature and distortion. He also introduced the concept of nonu-
niform convergence and applied probability to astronomy.
Born : 24 Oct 1821 in Zweibrucken, Germany.
Died : 13 Aug 1896 in Munich, Germany.
Lidee est similaire a celle de la methode de Jacobi, a ceci pres que lon utilise
les nouvelles valeurs estimees des quelles sont disponibles, et non pas a la fin de
literation.
Sous forme matricielle, cela se traduit par :
xk = (D E)1(Fxk1 + b)
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
24/76
24 CHAPITRE 1. R ESOLUTION DE SYSTEMES LINEAIRES
ou E est la partie triangulaire inferieure de A, et F sa partie triangulaire superieure.La matrice diteration est ici B = (D E)
1
F = (1D1
E)1
D1
F.Quand A est symetrique, defini positive, on est assure de la convergence : GS < 1.Mais lestimation de la valeur du rayon spectral est difficile cas il d epend en particulier
de la numerotation des degres de liberte employee.
Lalgorithme 3 presente cette methode.
Algorithme 3 Methode de Gauss-Seidel
Choix dun vecteur de depart x(0)
tant que la convergence nest pas atteinte, iterer sur k
boucle sur i = 1, 2, . . . ,n
x(k1)i
0
Ai,1:nx(k1)1:nx
(k)i (bi )/Ai,i
fin
test de convergence
fin
1.5.3 Methode de relaxation (SOR) [1946]
Cette technique, SOR pour successive over relaxation, est attribuee a Southwell
[Southwell 46]. Elle utilise comme base la methode de Gauss-Seidel ainsi quune tech-nique maintenant souvent utilisee avec dautre approches : la technique de relaxation.
Le principe consiste a modifier (par relaxation) litere xk fourni par lalgorithme de
Gauss-Seidel a chaque iteration. Pour cela, il faut conserver litere precedent xk1 etmodifier litere courant comme suit : xk xk+ (1 )xk1.
est appele le parametre de relaxation. Si < 1, on parle de sous-relaxation, et si > 1, de sur-relaxation.
On peut montrer que la matrice diteration correspondante est
B = (1 D1E)1[(1 )1 +D1F]
Concernant la convergence, le theoreme de Kahan donne une condition necessaire :
0 < < 2. Il est clair que si = 0, lalgorithme ne progresse plus. Le theoremedOstrowski-Reich permet de conclure a la convergence]0, 2[ quandA est symetrique,definie positive.
Le choix de est fait a partir dheuristiques, comme= 2o(h) pour une discretisationelements finis dont la taille de maille est h. Il existe aussi des techniques doptimisation
de en cours de route, comme la technique dacceleration dAitken [Aitken 50].
On peut aussi sinspirer de resultats dans des cas particuliers. Par exemple dans un
cas tridiagonal bloc, on montre que la valeur optimale de est
opt2
1 +
1 2J
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
25/76
1.5. M ETHODES ITERATIVES STATIONNAIRES 25
La valeur de J est ainsi a estimer sur le probleme en question. On a alors SOR =
opt 1, et, dans le cas elements finis, 2h (un ordre est gagne par rapport a lamethode de Jacobi).Lalgorithme 4 presente cette methode.
Algorithme 4 Methode SOR (Successive OverRelaxation)
Choix dun vecteur de depart x(0)
tant que la convergence nest pas atteinte, iterer sur k
boucle sur i = 1, 2, . . . , n
x(k1)ix
(k1)i 0
Ai,1:nx(k
1)1:n
x(k)i (1)+
fin
test de convergence
fin
1.5.4 Cas particulier : methode dUzawa [1958]
Dans certains cas de figure (problemes de point selle, liaisons traitees par multipli-
cateur de Lagrange, par exemple), on peut etre amene a resoudre des problemes de laforme : K C
CT 0
x
l
=
f
g
Pour que le probleme continue detre inversible, il suffit que Csoit injective.
La methode dUzawa consiste a resoudre iterativement de facon decouplee, comme
le montre lalgorithme 5. est un parametre de la methode.
Algorithme 5 Methode dUzawa
Choix dun vecteur de depart x(0), l(0)
tant que la convergence nest pas atteinte, iterer sur k
resoudre Kx(k) = b Cl(k1)reactualiser l(k) l(k1) +(CTx(k) c)test de convergence
fin
Pour analyser cet algorithme, on peut condenser la variable x(k) sur la variable l(k)
pour trouver :
l(k) = (1CTK1C) B
l(k1) +(CTK1f g)
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
26/76
26 CHAPITRE 1. R ESOLUTION DE SYSTEMES LINEAIRES
Si on appelle 1, . . . ,p les valeurs propres de CTK1C,
(B) < 1 i, |1 i| < 1
Avec CTK1Csymetrique, definie positive, i > 0 donc il faut prendre
0 < 0. Alors,a1 2u(uTa1) = a1 a1 e1 = 2u(uTa1)
En prenant le produit scalaire par a1, on obtient,
2 aT1 e1 = 2(uTa1)2 uTa1 =
1
2( aT1 e1)
On peut noter que (aT1 e1) est non nul si a1 nest pas deja parallele a e1. Finalement,on en deduit le vecteur cherche
u =a1 e12(uTa1)
Le procede se poursuit en considerant ensuite la deuxieme colonne de A et H =1 0
0 H2
. Le vecteur suivant u2 est determine a partir de e2 et a2.
Remarques
Cest une methode directe en n 1 etapes!On peut regarder les proprietes de remplissages de A lors des transformations, mais
cest assez delicat.
En general, on ne stocke pas la matrice Q ; lapplication de Q a un vecteur est
couteuse (4n operations), cette methode nest donc pas appliquee a la resolution de
systemes lineaires.
Cet algorithme se trouve aussi sous le nom de Householder-Businger-Golub.
Algorithme
La methode est presentee par lalgorithme 10. En ce qui concerne le stockage, vkecrase A1:k,k en memoire, Rk+1,k+1:n ecrase Ak+1,k+1:n. Rk,k doit etre stocke ailleurs pour
chaque iteration, dou un vecteur de dimension n supplementaire. Q nest en general
pas stockee, elle pourrait etre reconstruite a partir des vk. Enfin, z est un vecteur de
stockage supplementaire.
La complexite de cat algorithme pour une matrice A pleine de taille n est de lordre
de 23
n3.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
41/76
2.6. TRANSFORMATION DE HOUSEHOLDER 41
Algorithme 10 Transformation de Householder pour la factorisation QR
boucle sur k= 1, 2, . . . , n [A(k)k:n,k]TA
(k)k:n,k
1A(k)k,k
v(k)k:n A(k)k:n,k
v(k)k v(k)k
[zk+1:n]T [v(k)k:n]TA
(k)k:n,k+1:n
A
(k+1)
k:n,k+1:n A(k)
k:n,k+1:n v(k)
k:n[zk+1:n]
T
Rk,k Rk,k+1:n A(k+1)k,k+1:n
fin
2.6.2 Determination des valeurs propres par la methode QR [1961]
Cette methode est attribuee a Francis et Vera N. Kublanovskaya en 1961. On considere
le probleme Ax = x avec des valeurs propres simples. On procede alors de la faconsuivante :
1. A(1) = A2. on procede a une factorisation QR de A(k) = Q(k)R(k)
3. on calcule A(k+1) = R(k)Q(k)
4. on itere.
Proprietes
si les valeurs propres sont toutes simples, A(k) tend vers la matrice diagonale des
valeurs propres. Q(k) tend vers la matrice des vecteurs propres (propriete peu
utilisee)
il y a conservation des bandes de A. Cest une methode performante quand A
est tri-diagonale de petite taille. . .le cout dune iteration est alors denviron 10n.Quand A est pleine, une factorisation coute 2
3n3 operations, et un produit RQ,
12 n
3 operations.
Remarque
On peut aussi appliquer des translations (decalages) :
A(k) (k)1 = Q(k)R(k)A(k+1) = R(k)Q(k) +(k)1les matrices restent toujours semblables, donc conservent les valeurs propres.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
42/76
42 CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES
Convergence
Avec des decalages, et en prenant (k) = A(k)n,n, |n A(k)n,n| k 0 et
(Ak+11)q(k) = o((A k1)q(k1)3)
Sans translation, la convergence reste lineaire.
2.6.3 Forme de Hessenberg
Gerhard Hessenberg (1874-1925) pour qui on pourra consulter [Hessenberg 65].
Pour A symetrique, reelle.
Principe
On cherche cette fois a rendre A tri-diagonale. Il sagit de la meme technique co-
lonne par colonne que precedemment.
On prend ici une transformation qui ne sapplique qua la deuxieme colonne pour
la premiere etape : H =
1 0
0 H
, mais comme A est symetrique, il faut appliquer les
transformations a gauche et a droite : H1AH = HTAH= HAH.
A(k) prend donc la forme de la figure 2.3 et le principe est de travailler sur
A
(k)k,k+1
...
A
(k)
k,n
,
pour le rendre colineaire a ek+1.
ak
0
0
FIG . 2.3 Matrice en cours de tridiagonalisation
Proprietes
On ne modifie pas les valeurs propres.
Cest une methode directe en n 2 etapes.A reste symetrique.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
43/76
2.7. EXEMPLE DUTILISATION DANS UN CODE EL EMENTS FINIS 43
Technique
Travaillons sur le premier itere, A(1) =A1,1 aT1
a1 A(1)
,
on prend H(1) = 1 2uuT en souhaitant avoir H(1)a1 = e1. En fait, ici e1 = e2, eton procede comme precedemment pour avoir u.
On cherche donc H(1) = 1 y yT avec = aT1 a1, =1
(A2,1), y = a1 e1.On calcule ensuite la transformee par
H(1) A(1) H(1) = (1 y yT) A(1)(1 y yT)= A(1) y( yT A(1)) ( A(1) y) yT +2 y( yT A(1) y) yT
et en utilisant les intermediaires z = A(1) y et t = z
2( yT z) y,
H(1) A(1) H(1) = A(1) yzT z yT +(zT y) y yT= A(1) ytT tyT
Cest la technique mise en uvre dans lalgorithme 11, dans lequel vk nest en
general pas conserve, et ou z est un vecteur de stockage supplementaire.
Algorithme 11 Transformation de Householder reduction en n 1 etapesboucle sur k= 1, 2, . . . , n 1
[A
(k)k+1:n,k]
TA(k)k+1:n,k
1
A(k)k+1,kv
(k)k+1:n A(
k)k+1:n,k
v(k)k+1 v(
k)k+1
zk+1:n A(k)k+1:n,k+1:nv(k)k+1:n
2
[v(k)k+1:n]
Tzk+1:n
zk+1:n zk+1:n v(k)
k+1:n
A(k+1)k+1:n,k+1:n A
(k)k+1:n,k+1:n v
(k)k+1:n[zk+1:n]
T zk+1:n[v(k)k+1:n]Tfin
2.7 Exemple dutilisation dans un code elements finis
On considere Kx = Mx avec K symetrique, definie positive, M symetrique posi-tive, et on veut m valeurs propres (en basse frequence).
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
44/76
44 CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES
2.7.1 Reduction dans un sous-espace
On cherche a trouver toutes les m valeurs propres dans un sous-espace de di-mension p m., defini par p vecteurs ranges dans l matrice de base V = [v1 . . . vp].Eventuellement, les vi sont orthonormes au sens de K : V
TKV = K= 1.
On cherche alors les vecteurs propres x sous la forme x = Vx, x est de dimensionp. Le probleme est alors KVx = MVx, dou
(VTKV) K
x = (VTMV) M
x
Le probleme Kx = Mx a ete construit par une reduction de Ritz. Sa resolutioncomplete permet de trouver p caracteristiques propres (, x).
On retourne alors dans lespace de depart : x = Vx est lapproximation dun vec-teur propre, est lapproximation de la valeur propre associee, approximations dont laqualite depend du sous-espace choisi. . .Ce choix va etre discute dans les paragraphes
suivants.
2.7.2 Technique iterative
On commence par choisir p vecteurs de depart.
On reduit a Kx = Mx dont on cherche les valeurs propres (si on a une approximationdes valeurs propres, on fait un decalage) par une methode QR.
on procede a des iterations inverses avec decalage (souvent 1 iteration suffit) pour avoir
les approximations des vecteurs propres associes dans lespace de depart.
On itere.
Choix de la taille du sous-espace
Comme la convergence, depend du rapport des modules des valeurs propres, on a
interet a conserver p > m approximations. La regle conseillee est p = min(2m, m + 8) !
Convergence
La convergence pour une valeur propre i est proportionnelle a|i|
|p+1|.
Criteres darret. . .
2.8 Methode de Lanczos [1950]
Cette methode est due a Lanczos [Lanczos 50].
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
45/76
2.8. M ETHODE DE LANCZOS [1950] 45
CORNELIUS LANCZOS
In 1938 at Purdue, Lanczos published his first work innumerical analysis. Two years later he published a ma-
trix method of calculating Fourier coefficients which,
over 25 years later, was recognised as the Fast Fourier
Transform algorithm. In 1946, with Boeing, he worked
on applications of mathematics to aircraft design and
was able to develop new numerical methods to solve the problems. In 1949
he moved to the Institute for Numerical Analysis of the National Bureau
of Standards in Los Angeles. Here he worked on developing digital com-
puters and was able to produce versions of the numerical methods he had
developed earlier to program on the digital computers.
Born : 2 Feb 1893 in Szekesfehervar, Hungary.
Died : 25 June 1974 in Budapest, Hungary.
2.8.1 Principes de la methode
On travaille sur un sous-espace genere par la suite des iteres inverses dun vecteur
v(0) de depart : (v(0),A1v(0), . . .), et sur une base orthonormee.La convergence est tresrapide : 3 a 4 i terations inverses par valeur propre convergee,
et elle est independante de n ; cependant, la taille du sous-espace crot au cours des
iterations.
Un inconvenient est la perte rapide dorthogonalite sur les vecteurs successifs (elle
se produit a chaque fois quune valeur propre converge), dou des instabilites numeriques.
En pratique, pour pouvoir traiter de grands problemes, il est necessaire dutiliser des
strategies de re-orthogonalisation. Ces dernieres ne seront pourtant pas decrites ici.
2.8.2 Description de lalgorithme
On choisit un vecteur de depart v(0)
on resoud Az(k) = v(k)
on orthogonalise z(k) par rapport aux v(j), j kv(k+1) z
(k)
z(k)
Propriete
Il suffit (ce que lon peut montrer par recurrence) de chercher v(k+1) sous la forme
(k)v(k+1) = A1v(k) (k)v(k) (k1)v(k1) (2.1)
avec v(k)T
v(j) = 0 pour j = k1 et j = k2, et v(k)Tv(k) = 1, pour avoir orthogonalitepar rapport a tous les v(j), j < k.
Ces conditions donnent les valeurs de (k) = v(k)A1v(k) et (k1) = v(k)A1v(k1).Matriciellement, en notant V de taille (n, k) la matrice qui contient tous les v(j)
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
46/76
46 CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES
disponibles a literation k,
(2.1) A1VV
(0) (0) 0
(0). . .
. . .
. . .. . . (k1)
0 (k1) (k)
T
=
0 . . . O (k) v(k+1)
VTA1V T = 0
Donc T a les memes valeurs propres que VTA1V (voir le principe des sous-espaces).On cherche ensuite les caracteristiques propres de T, Tx = x, sont des approxi-
mations des valeurs propres de A1, et Vx, celles des vecteurs propres associes.
Afin dillustrer le comportement de cette methode, la figure 2.4 presente lesti-mation des valeurs propres aux cours des iterations de la methode de Lanczos sur le
probleme test de Wilkinson (de taille 21) comportant plusieurs valeurs propres mul-
tiples et plusieurs valeurs propres tres proches (les cercles sont les valeurs propres
exactes). On voit que la multiplicite et/ou proximite des valeurs propres echappe a
lalgorithme, et que les valeurs propres se mettent a converger quasiment lune apres
lautre.
0 2 4 6 8 10 12 14-2
0
2
4
6
8
10
12
itrations de Lanczos
valeurs propres
FIG . 2.4 Comportement de la methode de Lanczos sur le test de Wilkinson
Critere darret
Classiquement, on borne la norme du residu r= A1Vx Vx avec
A1Vx = V Tx x
+
0 . . . 0 (k) v(k+1)
x
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
47/76
2.8. M ETHODE DE LANCZOS [1950] 47
dou r= (k)v(k+1) xk
Lalgorithme 12 decrit cette methode, pour lequel les
(k)
et les
(k)
sont les com-posantes de T.
Algorithme 12 Methode de Lanczos
v(0) 0,(0) 0Choix dun vecteur de depart v(1),v(1) = 1tant que la convergence nest pas atteinte, iterer sur k= 1, . . .
resoudre Az = v(k)
(k) [v(k)]Tzdz v(k) (k1)v(k1)
(k) 1
dTdv(k+1) (k)drecherche des elements propres de : Tx = x
test de convergence
fin
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
48/76
48 CHAPITRE 2. SYSTEMES AUX VALEURS PROPRES
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
49/76
Chapitre 3
Resolution de systemes
differentiels (ODE, pour
ordinary differential equations)
Un ouvrage de reference que lon peut consulter sur ce sujet est [Hughes 87]. Dans
les applications qui nous interessent, on est conduit a resoudre de tels systemes, par
exemple dans les cas suivants : integration de relation de comportement, probleme de
thermique transitoire, probleme de dynamique rapide. . .
3.1 Presentation pour 1 equation scalaire du premier
ordre
3.1.1 Probleme de Cauchy
Il sagit de trouver la fonction x(t), t [0, T], telle quedx
dt= f(x,t)
x(0) = u0 (conditions initiales)
Theoreme de Cauchy-Lipschitz
Il y a existence et unicite de la solution si f est assez reguliere (en fait, f continue
et lipschitzienne en x : k> 0,t [0, T],(y,z) R2, |f(z,t) f(y,t)| k|z y|
3.1.2 Re-ecriture du probleme
Pour se ramener aux techniques dintegration, il est plus interessant decrire le
probleme sous forme integrale :
x = u0 +
t0
f(x,t)dt
Une discr etisation de lintervalle de temps [0, T] est la sequences de piquets detemps : 0 = t0 < t1 < ... < tm = T. Le pas de temps est h = ti+1 ti.
49
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
50/76
50 CHAPITRE 3. SYSTEMES DIFFERENTIELS
Le principe est de chercher a approcher la valeur de la fonction aux piquets de
temps, x(ti), par la valeur xi, ce qui permet de definir lerreur ei = |x(ti) xi|.Dans la suite, on notera fi = f(xi, t).Le probleme incremental est, ayant la solution approchee jusqua ti, d e l a determiner
a ti+1 avec
x = xi +
tti
f(x, t)dt
Exemple : schema dEuler explicite [1768]
LEONHARD EULER
The publication of many articles and his book Mecha-
nica (1736-37), which extensively presented Newto-
nian dynamics in the form of mathematical analysisfor the first time, started Euler on the way to major
mathematical work. He integrated Leibnizs differen-
tial calculus and Newtons method of fluxions into ma-
thematical analysis. In number theory he stated the prime number theorem
and the law of biquadratic reciprocity. Euler made large bounds in mo-
dern analytic geometry and trigonometry. He was the most prolific writer
of mathematics of all time. His complete works contains 886 books and
papers.
Born : 15 April 1707 in Basel, Switzerland.
Died : 18 Sept 1783 in St Petersburg, Russia.
La figure 3.3.a, page 54 illustre lestimation de lint egrale cherchee. Le schema
secrit :
xi+1 = xi + h fi
x0 = u0
3.1.3 Schemas explicites a 1 pas
Ce sont les schemas de la forme :
xi+1 = xi + h(xi, ti, h)
x0 = u0
Schema convergent : si on a la propriete supi |ei| h0 0 (en labsence derreurdarrondi !)
Schema stable : on considere le schema perturbe :
xi+1 = xi + h( xi,ti, h) + i+1
x0 = u0 + 0
Le schema considere est stable ssi S > 0, supi | xi xi| Smi=0 |i|
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
51/76
3.1. EQUATION SCALAIRE DU PREMIER ORDRE 51
Schema consistant : pour definir cette notion, on a besoin de lerreur de consistance
(local truncation error)ci+1 = x(ti+1) [x(ti) + h(x(ti),ti, h)]Le schema est consistant ssi i |ci| h0 0Les trois notions precedentes sont illustrees sur la figure 3.1
h 0
t
h 0
t t
convergence consistance stabilit
FIG . 3.1 Proprietes de base dun schema dintegration
Ordre du schema : on dit dun schema quil est dordre p quand
M> 0, sup i|ci| Mhp+1
Proprietes
Il existe des liens entre les differentes caracteristiques precedentes, en particulier :
stabilite et consistance convergence lipschitzienne en x stabiliteconsistance
(x, t, 0) = f(x,t)
dordre p
1
dordre p |ei| Nhp
Exemple : schema dEuler explicite [1768]
(x, t, h) = f(x,t) donc le schema est consistant, et stable, donc convergent.
ci+1 = x(ti+1) x(ti) + h x(ti)
f(x(ti),ti)
+o(h2)
[x(ti) + h f(x(ti),ti)] = o(h2)
donc cest un schema dordre 1.
3.1.4 Quelques problemes pratiques
Influence des erreurs darrondi
Perturbons le schema :
xi+1 = xi + h( xi,ti, h) + i+1
x0 = u0 + 0
Si le schema est convergent, ei = |x(ti)xi| h0 0. Quen est-il de ei = |x(ti) xi| ?
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
52/76
52 CHAPITRE 3. SYSTEMES DIFFERENTIELS
ei = |x(ti)xi +xi xi| |x(ti)xi| dordre p donc Nhp
+ |xi xi| stable donc S
m
i=0
||+m
i=1
h||
au bilan, ei S[(m + 1)||+ hm||] +Nhp avec hm = Tdonc ei S||
1 + T+
T
h
+Nhp.
Il nest donc pas forcement avantageux de reduire trop fortement le pas de temps
pour la precision du schema. En particulier, on peut dire que si le pas de temps nest
pas grand devant les erreurs numeriques devaluation de la fonction , la solution estentachee derreurs par cumul des erreurs numeriques.
Probleme numeriquement mal pose
Considerons le probleme suivant :
dx
dt= 4x 1
x(0) =1
4
dont la solution est x(t) 14
.
Perturbons maintenant les conditions initiales : x(0) = 14 + . La nouvelle solution
est alors tres differente de la precedente : x(t) = 14
+ e4t.
Ce probleme est numeriquement mal pose. On risque davoir des difficultes a leresoudre car il est tres sensible aux conditions initiales (on peut dailleurs se poser des
questions quant a la notion meme de solution pour un tel probleme).
3.1.5 A-stabilite ( absolute stability)
De facon pratique, la propriete de stabilite dun schema nest pas suffisante. Pre-
nons par exemple le schema dEuler explicite deja decrit comme stable, et resolvons le
probleme :
dx
dt= 2x
x(0) = 1
La solution exacte estx(t) = e2t. La figure3.2 presente les solutions obtenues numeriquementen meme temps que la solution exacte pour differents choix de pas de temps. Ces solu-
tions different fortement (et de plus en plus au cours du temps) si le pas de temps nest
pas assez petit. On parlera alors dun schema conditionnellement stable.
Un schema inconditionnellement stable (ou A-stable), [Dahlquist 63], se defini
pour les equations lineaires. On teste alors le schema sur un probleme du type :
dx
dt= cx
c = constante C
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
53/76
3.1. EQUATION SCALAIRE DU PREMIER ORDRE 53
0.2 0.4 0.6 0.8 1
-2
-1
1
2
0.2 0.4 0.6 0.8 1
-0.4
-0.2
0.2
0.4
0.6
0.8
1
h = 1/10 h = 1/7
FIG . 3.2 Stabilite du schema dEuler explicite
et pour lequel le cas ou le schema est tel que xi+1 = r(ch)xi, ou r est un polynome ou
une fraction rationnelle.On definit alors le domaine de stabilite (en fait, de A-stabilite) comme etant
Dstab = {z C, |r(z)| 1}Un schema est alors dit A-stable (ou inconditionnellement stable) si et seulement
si
{z C,Re(z) 0} Dstab
Exemple : schema dEuler explicite
xi+1 = xi + hcxi = (1 + hc)xi r(z) = 1 +z.La condition de stabilite est donc : |1 + hc| 1. Pour c = 2 R, elle secrit
h
2
2 .
Il sagit donc dun schema conditionnellement stable. Pour lexemple precedent,
avec c = 15 (la solution tend vers 0), le critere de stabilite donne 0 h 17.5
. Ceci
est bien en accord avec les resultats de la figure 3.2.
Remarques
La condition de stabilite depend bien entendu du schema, mais aussi du probleme.
Son interpretation est que, pour une solution bornee, il faut que le schema donne une
approximation bornee.
3.1.6 Methode des trapezes generalisee
Cette methode est decrite avec un parametre [0, 1] par :xi+1 = xi + h[(1 )fi +fi+1]
x0 = u0
Le calcul de xi+1 fait intervenir fi+1 = f(xi+1,ti+1). Il sagit donc dune methodeimplicite si = 0.
Dans le cas ou = 0, on retrouve la methode dEuler explicite ; dans le cas ou = 1, il sagit de la methode dEuler implicite ; enfin si = 1
2, cest la methode des
trapezes, appelee aussi methode de Crank-Nicolson [1947]. La figure 3.3 illustre lap-
proximation de lintegration realisee par chacun de ces cas particuliers.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
54/76
54 CHAPITRE 3. SYSTEMES DIFFERENTIELS
= 0
t
f(t)
ti+1ti
t
f(t)
ti+1ti
= 1
t
f(t)
ti+1ti
= 0.5
FIG . 3.3 Illustration de lintegration
Stabilite
On considere le problemedx
dt= cx, le schema donne xi+1 = xi + h[(1 )cxi +
cxi+1] donc xi+1 = (1
hc)1(1 + (1
)hc)
B
xi.
Il faut avoir (B) < 1 (ou (B) 1 si toutes les valeurs propres de B sont simples),cest a dire
|1 + (1)hc||1hc| 1
si 12
le schema est inconditionnellement stable,
si < 12
avec c = 2, la condition de stabilite secrit h 2(1 2)2.
Les differents domaines de stabilite correspondants sont traces sur la figure 3.4.
1-1
Re(hc)
Im(hc)
= 0
=1
> 1/2
< 1/2 =
1/2
FIG . 3.4 Domaines de stabilite pour la methode des trapezes generalises
Ordre
En utilisant la meme methode que celle deja employee pour le schema dEuler
explicite, on peut facilement montrer que le schema des trapezes generalises est dordre
1 si = 12
, et quil est dordre 2 pour = 12
, cest a dire pour Crank-Nicolson.
3.1.7 Exemple de methode a pas multiples : Adams [1883]
Lidee des methodes a pas multiple est dutiliser non seulement levaluation fi mais
aussi un certain nombre de valeurs passees fi1, . . .
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
55/76
3.1. EQUATION SCALAIRE DU PREMIER ORDRE 55
A titre dillustration, la methode dAdams utilisant un developpement de Taylor de
la solution, va etre decrite.
Adams explicite
On utilise pour cela un developpement de Taylor (avant) de x(ti+1) :
x(ti+1) = x(ti) + h x(ti)f(x(ti),ti)
+h2
2!x(ti)
d f
dt(x(ti),ti)
+ . . .
On garde ensuite les termes dun ordre suffisant pour obtenir lordre voulu du
schema. Par exemple, pour Adams explicite dordre 1, on conserve les termes en o(h) ;
on obtient :xi+1 = xi + h fi + o(h2), cest Euler explicite !
Pour Adams explicite dordre 2, on conserve les termes en o(h2). Dans ceux-ci,intervient la derivee premiere de f ; pour lestimer on utilise encore le developpement
dune fonction g :
g(ti+1) = g(ti) hg(ti) + o(h2)qui permet davoir lexpression de la derivee g :
g(ti) =1
h[g(ti)g(ti+1)] + o(h). Avec ce procede applique a
d f
dt, on obtient la methode
cherchee :
xi+1 = xi +h
2[3fi fi1] + o(h3).
La demarche se prolonge pour les ordres de schema superieurs. On obtient ainsi les
formules dAdams-Bashforth :
xi = xi1 + h fi1
xi = xi1 +h
2(3fi1 fi2)
xi = xi1 +h
12(23fi1 16fi2 + 5fi3)
xi = xi1 +h
24(55fi1 59fi2 + 37fi3 9fi4)
xi = xi1 +h
720(1901fi1 2774fi2 + 2616fi3 1274fi4 + 251fi5)
xi = xi1 +h
1440(4277fi1 7923fi2 + 9982fi3 7298fi4 + 2877fi5 475fi6)On ne peut cependant pas augmenter lordre du schema inpunement : linconvenient
reside dans un retrecissement du domaine de stabilite. Celui-ci est illustre sur la figure
3.5.
Adams implicite
Lidee est la meme que precedemment, en utilisant un developpement de Taylor
arriere de
x(ti) = x(ti+1 h) = x(ti+1) h x(ti+1) +h2
2!x(ti+1) + . . .
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
56/76
56 CHAPITRE 3. SYSTEMES DIFFERENTIELS
4 3.5 3 2.5 2 1.5 1 0.5 0 0.5 12
1.5
1
0.5
0
0.5
1
1.5
2
Re(z)
Im(z)
k=1 k=2k=3
k=4
9 8 7 6 5 4 3 2 1 0 14
3
2
1
0
1
2
3
4
Re(z)
Im(z) k=2
k=3 k=4
Adams-Bashforth k = 1, 2, 3, 4 Adams-Moulton k = 2, 3, 4
Domaines de A-stabilit dans le plan complexe
FIG . 3.5 Domaine de stabilite pour Adams explicite et implicite
La methode dAdams implicite dordre 1 est ainsi xi = xi+1 + h fi+1 + o(h2) dou
xi+1 = xi h fi+1 + o(h2), cest Euler implicite !Lutilisation de la meme technique que pour Adams explicite permet de construire
les schemas implicites dordres plus eleves, et on obtient alors les formules dAdams-
Moulton :
xi = xi1 + h fi
xi = xi1 +h
2(fi + fi1)
xi = xi1 +h
12(fi + 8fi1 fi2)
xi = xi1 +h
24(9fi + 19fi1 5fi2 + fi3)
xi = xi1 +h
720(251fi + 646fi1 264fi2 + 106fi3 19fi4)
xi = xi1 +h
1440(475fi + 1427fi1 798fi2 + 482fi3 173fi4 + 27fi5)
Le fait dutiliser des schemas implicites augmente la stabilite, mais la meme ten-
dance est observee lorsque lordre crot, voir figure 3.5.
Amorcage du schema
Aux premiers pas de temps, on ne dispose pas forcement de tous les fiq. Dansce cas, on peut utiliser une methode a 1 pas pour demarrer lintegration jusqua avoir
suffisamment progresse pour pouvoir appliquer la methode a pas multiples voulue.
3.1.8 Exemple de methode de prediction correction, basee sur Adams
Le probleme des methodes implicites reside dans le fait, quen non-lineaire au
moins, on ne peut exprimer explicitement la valeur au pas courant. On est alors oblig e
de mettre en uvre une methode iterative, generalement de type point fixe.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
57/76
3.1. EQUATION SCALAIRE DU PREMIER ORDRE 57
On part ainsi de la version implicite ; par exemple Adams dordre 2 : connaissant
x
(0)
i+1, on evalue f(x(0)
i+1, ti+1) qui permet, en utilisant la formule dintegration dAdamsimplicite, datteindre une valeur x
(1)i+1. Cette derniere etape est appelee correction. On
itere ainsi jusqua une convergence souhaitee. Pour avoir la premiere valeur x(0)i+1, la
pr ediction, on utilise la version implicite de la methode, par exemple ici, Adams expli-
cite dordre 2.
En pratique, 1 a 3 iterations suffisent en general.
On peut aussi apporter une amelioration a faible surcout avec une correction du
predicteur avec lerreur de troncature. Par exemple, pour Adams dordre 2, on proc ede
comme suit :
1. predicteur (AE2) : x(0)i+1 xi +
h
2[3fi fi1]
2. modificateur : x
(0)
i+1 x(0)
i+1 1
12(xi x(0)
i )
3. correcteur (AI2) : xi+1 xi +h
2[ fi+1f( x
(0)i+1,ti+1)
+fi1]
Le coefficient 112
est celui issu de la formule de (AI3).
3.1.9 Methode de Runge-Kutta [1901]
CARLE DAVD TOL ME RUNGE
After taking his secondary school teachers examina-
tions he returned to Berlin where he was influenced by
Kronecker. Runge then worked on a procedure for the
numerical solution of algebraic equations in which the
roots were expressed as infinite series of rational func-
tions of the coefficients.
Born : 30 Aug 1856 in Bremen, Germany.
Died : 3 Jan 1927 in Gottingen, Germany.
?
MARTIN WILHEIM KUTTA
Kutta became professor at Stuttgart in 1911 and remai-
ned there until he retired in 1935. He is best known for
the Runge-Kutta method (1901) for solving ordinary
differential equations and for the Zhukovskii- Kuttaaerofoil.
Born : 3 Nov 1867 in Pitschen, Upper Silesia (now
Byczyna, Poland).
Died : 25 Dec 1944 in Furstenfeldbruck, Germany.
Historiquement presentee dans [Kutta 01], Cette methode est de la forme :
xi+1 = xi + h(x,t, h)
x0 = u0
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
58/76
58 CHAPITRE 3. SYSTEMES DIFFERENTIELS
avec
(x,t, h) =q
l=1
al kl (x, t, h)
k1(x,t, h) = f(x, t)
kl (x,t, h) = f(x +l1
j=1
(l)j kj(x, t, h), t+l h)
Lidee est dintegrer en utilisant des valeurs en des points particuliers, avec des
poids dintegration particuliers. al , l , (l)j sont des constantes ajustees pour obtenir
lordre souhaite.
Exemple de schema a lordre 2
On prend = a f(x,t) + b f(t+h,x +h f(x,t)) et on determine a, b, , pouravoir
1
h[x(t+ h) x(t)]
f +h
2[f
t+f
xf] + o(h2)
(x(t), t, h) a f + b[f +h
f
t+h f
f
x+ o(h2)]
= o(h2)
Il faut donc avoir
0 = 1 a b
0 =h
2 bh
0 =h
2 bh
dou les coefficients cherches : a = 1 b, = = 12b
, et le schema
(x, t, h) = (1 b)f(x, t) + b f(x + h2b
f(x, t),t+h
2b)
b arbitraire non nul
Cas particuliers
Pour b = 1, il sagit de la methode dEuler modifiee, dordre 2,pour b = 1
2, il sagit de la methode de Heun, dordre 2 aussi.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
59/76
3.1. EQUATION SCALAIRE DU PREMIER ORDRE 59
-4 -3 -2 -1 1
-4
-2
2
4
FIG . 3.6 Domaine de stabilite pour Runge-Kutta (schemas dordre 1 a 8)
Exemple de schema a lordre 4
Bien entendu, cette technique se poursuit pour les ordres sup erieurs. Un ordre sou-
vent utilise avec cette methode est lordre 4. Le schema se presente alors comme suit :
(x, t, h) =1
6(k1 + 2k2 + 2k3 + k4)
k1 = f(x,t)
k2 = f(x +h
2k1, t+
h
2)
k3 = f(x +h
2k2, t+
h
2)
k4 = f(x + hk3, t+ h)
Bien entendu, des methodes de prediction-correction basees sur la methode de
Runge-Kutta peuvent aussi etre mises en place.
Cette methode requiere beaucoup devaluations de f, ce qui peut la penaliser au ni-
veau du cout. Concernant les domaines de stabilite, on peut observer la meme tendance
que pour les methodes dAdams, voir figure 3.6.
8/14/2019 BOOK Methodes Nemriques Appliques La Conception Par Elements Finis
60/76
60 CHAPITRE 3. SYSTEMES DIFFERENTIELS
3.1.10 Autres methodes
Citons pour memoire les methodes de Hanning, de Milne-Simpson, les methodesde tir (shooting), les methodes de collocation optimale, et une methode bien adaptee
a lintegration des relations de comportements decrits par variables internes a 1 seul
seuil, la methode de retour radial [Ortiz et Simo 86].
3.2 Systemes differentiels du premier ordre
En elements finis, on est dans ce cas de figure lors de lintegration de relations
de comportement decrit par variables internes, et avec un systeme de taille bien plus
grande, lors de calculs de diffusion, par exemple, un calcul de conduction thermique
transitoire, qui amene a resoudre un probleme de la forme
Mx + Kx = g(t)
x(0) = uo
ou K, generalement symetrique positive, est la matrice de conduction, etM, generalement
symetrique, definie positive, est la matrice de capacite. x est le vecteur des temperatures
inconnues aux nuds de la discretisation.
3.2.1 Emploi des methodes precedentes
Les methodes precedentes se generalisent sans grande difficulte a ce cas de figure.
Exemple
Prenons le schema dEuler explicite. Le probleme precedent peut secrire x =M1Kx +M1g. On applique alors le schema voulu : xi+1 = xi + h(M1Kxi +
M1gi).Pour eviter de faire intervenir directement M1, on prefere le mettre sous la forme :
Mxi+1 = Mxi + h(Kxi + gi) (3.1)
x0 = u0
Stabilite
On emploie la meme demarche que dans le cas des equations scalaires, dans la base
propre (pour les equations lineaires), avec la valeur propre la plus contraign