BOOK Methodes Nemériques Appliquées à La Conception Par Elements Finis

download BOOK Methodes Nemériques Appliquées à La Conception Par Elements Finis

of 76

Transcript of BOOK Methodes Nemériques Appliquées à La Conception Par Elements Finis

  • 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