initiation au calcul numérique

Upload: ngoc-ha-dao

Post on 31-Oct-2015

68 views

Category:

Documents


0 download

TRANSCRIPT

  • Initiation au calcul numrique

    et lutilisation de Star CCM+et lutilisation de Star CCM+

    1

  • 1. Introduction gnrale2. Mthode des diffrences finies + exercice3. Mthode des volumes finis + exercice4. Prise en compte du temps5. Modlisation de la turbulence6. Le maillage7. Conseils pour bien simuler

    Plan du cours

    7. Conseils pour bien simuler8. Conclusion9. Exercice : modlisations dcoulements en conduite

    2

  • 1. Introduction gnrale - Historique

    9ime s. av JC - Boulier chinois

    2ime s. av JC - Machine dAnticythre

    o Calcul des dates des jeux olympiqueso Calcul des clipseso Position des plantes

    5ime s. av JC - Abaques

    Calculateurs manuels (Antiquit - 17ime s. )

    o Position des plantes

    1617 - Osselets de Napier

    o Oprations lmentaires + racines carres

    1620 - Rgles calculs de Oughtred

    3

  • 1. Introduction gnrale - Historique

    1642 - Pascaline de Pascal

    o Addition et soustraction

    1694 - Replica de Leibniz

    Calculateurs mcaniques (17ime 20ime s. )

    Engrenages

    1694 - Replica de Leibniz

    o Oprations lmentaires + racines carres

    1822 - Arithmomtre de Charles Xavier-Thomas de COLMAR

    4

  • 1. Introduction gnrale - Historique

    1822-1830 - Machines analytiques de Babbage

    o programmables par cartes perforeso jamais acheves

    1938 Z1 de Konrad Zuse

    o calculateur mcanique binaire programmable

    5

  • Calculateurs lectro-mcaniques (1930-1940)

    1. Introduction gnrale - Historique

    1935 IBM 601

    o calculateur relais utilisant des cartes perfores, capable de raliser une multiplication en une seconde.

    relais

    1939-1940 Z2 et Z3 de Konrad Zuse

    o premier calculateur binaire relais avec programme enregistr

    o 4 additions/s et une multiplication/4 s

    6

  • Calculateurs lectroniques (1940-1956)

    1. Introduction gnrale - Historique

    Tube vide

    1941 ABC dAtanasoff et Berry, premier calculateurbinaire lampes utiliser l'algbre de Boole.Il utilisait 210 lampes et comportait une mmoire et descircuits logiques. La mmoire, constitue de 2 tambours,pouvait stocker 60 mots de 50 bits. La machine tournait 60Hz et pouvait raliser une addition en une seconde.Hz et pouvait raliser une addition en une seconde.

    1946 ENIAC (Electronic Numerical Integrator andComputer), par Eckert et Mauchly l'Universit dePennsylvanie

    o 18000 lampes o 1500 relais o Consommation 170 kW o 30 tonnes sur 72 m2

    o mmoire de 20 mots de 10 digits o instructions cbles o1 multiplication en 3 mso Horloge 100 kHz, ~ 330 multiplications / s 7

  • Calculateurs lectroniques (1956-)

    1. Introduction gnrale - Historique

    Transistor (1948)

    1956 : TRADIC (TRAnsistor Digital ) par Bell Labs :premire machine n'utiliser que des transistors et desdiodes et aucun tube vide. (700 transistors et 10000diodes).

    1971 : INTEL conoit et produit le premier microprocesseur 4bits : le 4004 (intgrant 2300 transistors capable de 60 000 op./s)

    1975 - CRAY conoit son super calculateur CRAY1 1975 - Cration de Microsoft 1976 - Cration dApple

    1980 - Avnement des PC (ordinateurs personnels)

    8

  • 1. Introduction gnrale Ncessit du calcul numrique

    La majorit des phnomnes physiques ont une volution dcrite grce des quations aux drives partielles (EDP), linaires ou non, coefficients constantsou variables.

    ( . ) .( )p p vTC C u T T ft

    + = +

    ( . ) .( ) vu

    u u ft

    + = +

    22

    2 ( , )u

    c u f r tt

    =

    (quation de la chaleur)

    (quation de Cauchy)

    (quation des ondes)2 ( , )c u f r tt =

    La rsolution analytique de ces quations est possible dans moins de 1% des cas

    Solutions possibles :

    o Linarisation autour dun point de fonctionnemento Calculs asymptotiqueso Modlisation numrique

    9

  • 1. Introduction gnrale Limites du numrique

    Attention aux dangers du tout numrique . Toutes les mthodes numriquesont leurs avantages mais souffrent aussi de leurs dfauts intrinsques.

    o Erreurs de discrtisation (des oprateurs mathmatiques ou dumilieu dtude)

    o Erreurs de calcul dues la prcision finie des calculateurso Erreurs de modlisation (hypothses abusives sur les caractristiques

    Il faut rester critique par rapport aux rsultats dune simulation numrique

    o Erreurs de modlisation (hypothses abusives sur les caractristiquesdu milieu, sur les conditions limites, sur les modles de fermeture)

    Il est illusoire de penser que le numrique peut remplacer lexprimental. Ces deuxapproches doivent rester complmentaires. Lexprience doit permettre de :

    o Invalider un modle numrique au profit dun autreo Valider des rsultats numriques (dun bon modle)o Recaler les paramtres dun modle numrique

    10

  • 1. Introduction gnrale Mise en uvre informatique

    Discrtisation dun problme continu

    o Diffrences finies (discrtisation des oprateurs mathmatiques)o Elments finis (discrtisation de lespace des solutions)o Volumes finis

    Discrtisation

    Espace continu Espace discret

    Rduction du problme une criture algbrique [K]{u}={F} quelle que soit la physiquedu problme et la mthode numrique utilise

    11 12 1 1 1

    21 22 2 2 2

    1 2

    .

    n

    n

    n n nn n n

    k k k u fk k k u f

    k k k u f

    =

    On se ramne toujours la rsolution

    dun systme matriciel

    11

  • 1. Introduction gnrale Rsolution numrique

    Rsolution numrique

    o Elimination de Gauss (mthode du pivot)o Factorisation LU, de Cholevskyo Mthodes itratives (Jacobi, Gauss Seidel)

    Construction dun systme matriciel de trs grande taille

    o La matrice {K} peut contenir plusieurs centaines de milliers dlments.o La matrice {K} peut contenir plusieurs centaines de milliers dlments.o Heureusement, la matrice est souvent creuse (avec beaucoup de ses lments nuls)

    do lutilisation dalgorithmes rapides et efficaces.

    11 12

    21 22 23

    32

    1 1 1

    1

    0 00

    0

    0 0n n n n

    nn nn

    k kk k k

    kk kk k

    Ex : Matrice tridiagonale pour lesproblmes 1D

    12

  • 2. Mthode des diffrences finies

    On approxime les oprateurs diffrentiels par des diffrences finies grce des dveloppements de Taylor :

    2 2 3 3

    2 3( ) ( ) (1)2! 3! !n n

    n

    u x u x u x uu x x u x x

    x x x n x

    + + + + + + +

    2 2 3 3

    ( ) ( ) ( 1) (2)n n

    nu x u x u x uu x x u x x

    + + + + 2 3( ) ( ) ( 1) (2)2! 3! !n

    n

    u x u x u x uu x x u x x

    x x x n x

    + + + +

    x x x+ x x

    13

  • 2 2 3 3

    2 3(1) ( ) ( ) 2! 3! !n n

    n

    x u x u x uu x x u x x

    x x n x

    u

    x

    + + + + + + +

    x x x+ x x

    2. Mthode des diffrences finies

    Approximations pour la drive premire

    2 2 3 1

    2 3( ) ( ) ( )

    2! 3! !

    n n

    n

    u x x u x x u x u x u

    x

    u

    xx x n x

    + + + + +

    ( ) ( ) ( )u x x u x O xx

    u

    x

    + +

    (Drive premire droite dordre 1)

    14

  • 2 2 3 3

    2 3(2) ( ) ( ) ( 1)2! 3! !n n

    n

    n

    x u x u x uu x x u x x

    x x n

    u

    x x

    + + + +

    x x x+ x x

    Approximations pour la drive premire

    2. Mthode des diffrences finies

    2! 3! !x x nx x

    ( ) ( ) ( )u x u x xux

    O xx

    +

    (Drive premire gauche dordre 1)

    2 2 3 1

    2 3( ) ( ) ( ( 1) )

    2! 3! !

    n nn

    n

    u x u x x x u x u x u

    x

    u

    x x x n x

    + + + +

    15

  • x x x+ x x

    2. Mthode des diffrences finies

    Approximations pour la drive premire

    2 2 3 3

    2 3(1) ( ) ( ) 2! 3! !n n

    n

    x u x u x uu x x u x x

    x x n x

    u

    x

    + + + + + + +

    2 2 3 3 n nx u x u x uu + + + +

    2 2 3 3

    2 3(2) ( ) ( ) ( 1)2! 3! !n n

    n

    n

    x u x u x uu x x u x x

    x x n

    u

    x x

    + + + +

    3 3

    32(1) (2) ( ) ( ) 2

    3!x u

    u x x u x x xx

    u

    x

    + +

    2( ) ( ) ( )2

    u x x u xx

    u

    x

    x Ox

    + +

    (Drive premire centre dordre 2)

    16

  • 2. Mthode des diffrences finies

    Approximations pour la drive seconde

    2

    3

    3

    22 3

    (1) ( ) ( )2! 3! !

    n n

    n

    uu x x u x uu x x u x x

    x x n xx

    + + + + + + +

    22 3 3 n nuu x x u x u + + + +

    x x x+ x x

    22

    2 2( ) ( ) 2 ( ) ( )u u x x u x x u x O x

    x x

    + + +

    2

    2

    2 3 3

    3(2) ( ) ( ) ( 1)2! 3! !n n

    n

    n

    uu x x u x uu x x u x x

    x x xx n

    + + +

    +

    2 4 4

    4

    2

    22 2(1) (2) ( ) ( ) 2 ( )

    2! 4!x x u

    u x x u x x uxx

    xu

    + + + + + +

    (Drive seconde centre dordre 2)

    17

  • 2. Mthode des diffrences finies

    Exemple : rsolution dun problme 1D stationnaire

    Soit rsoudre le problme suivant :

    (0) (1) 0u u= =

    quation de diffusion 1D

    Conditions aux limites

    2

    2 ( ) 1d u du

    u xdx dx

    + + =

    0x = 1x =

    1i = 2i = i N=1i N=

    11

    xN

    =

    1re tape : la discrtisation

    18

  • 2. Mthode des diffrences finies

    2ime tape : lapproximation des oprateurs mathmatiques

    2

    2 ( ) 1d u du

    u xdx dx

    + + =

    221 1

    2 22 ( )i i iu u ud u O x

    dx x+ + +

    ( ) iu x u=

    1 1 1 12 1i i i i iu u u u u u+ + + + + =

    21 1 ( )2

    i iu udu O xdx x

    + +

    1 1 1 12

    2 12

    i i i i ii

    u u u u uu

    x x

    + + + + + =

    1 12 2 21 1 2 1 1( ) (1 ) ( ) 1

    2 2i i iu u u

    x x x x x + + + + =

    1 1 1i i iau bu cu ++ + = 1 0Nu u= =

    21 1( )

    2a

    x x=

    22(1 )bx

    =

    21 1( )

    2c

    x x= +

    19

  • 2. Mthode des diffrences finies

    1 0u =1i =

    2i = 1 2 3 1au bu cu+ + =

    3i = 2 3 4 1au bu cu+ + =

    0 00

    0 0

    0 0

    1 0a

    a

    a

    c

    c

    c

    bb

    b

    1

    2

    3

    .

    u

    u

    u

    u

    011

    1

    =

    1 1 1i i iau bu cu ++ + =

    1 0Nu u= =+

    1i N= 2 1 1N N Nau bu cu + + =

    i N= 0Nu =

    0 00

    0 10 0

    a

    a

    c

    c

    bb

    2

    1

    N

    N

    N

    u

    u

    u

    11

    0

    Matrice (NxN) tridiagonale

    Exercice : rsolution numrique avec Mathematica (diffrences_finies.nb)

    21 1( )

    2a

    x x=

    22(1 )bx

    =

    21 1( )

    2c

    x x= +

    1

    1x

    N =

    20

  • 2. Mthode des diffrences finies

    Rsultats

    21

  • 3. Mthode des volumes finis

    Contrairement la mthode de diffrences finies qui utilise des approximations dedrives, la mthode de volumes finis utilise des approximations d'intgrales. Lesquations sont donc utilises sous leur forme intgrale.

    La mthode des volumes de contrle dveloppe par Spalding et Patankar est unemthode de rsidus pondrs dans laquelle les fonctions de poids sont gales lunitdans des volumes finis donns et nulles partout ailleurs. Sa grande simplicit de mise enuvre a fait quelle a connu un essor fulgurant depuis les annes 1970-1980. Elle est lorigine de la majorit des codes de calculs en gomtrie cartsienne (Fluent, StarCCM+...).

    quations sont donc utilises sous leur forme intgrale.

    On dfinit un volume de contrle sur lequel on va approximer les intgrales.

    P : point courantE : point lest de PW : point louest de PN : point au nord de PS : point au sud de PT : point au-dessus de PB : point en dessous de P

    P EW

    S

    N

    ew

    n

    s Volume de contrle

    22

    1D

    2D

    3D

  • Rsolution dun problme 1D stationnaire

    ( ) 0d dT Sdx dx

    + = quation de la chaleur 1d avec terme source S

    On intgre lquation rsoudre sur chacun des volume de contrle :

    ( ) 0e e

    w w

    d dT dx S dxdx dx

    + =

    ( ) ( ) ( ) 0dT dT S x x + =

    ( ) ( ) 0E P P We w

    T T T T S xx x

    + =

    + = + +

    3. Mthode des volumes finis

    P EWew

    wx ex

    x

    ( ) ( ) 0e wdT dT S xdx dx

    + =

    ( ) ( ) ( ) 0e w e wdT dT S x xdx dx

    + =

    ( ) E Pee

    T TdTdx x

    ( ) P ww

    w

    T TdTdx x

    ( ) P E We w e w

    T T T S xx x x x

    + = + +

    W W P P E Ea T a T a T b+ + =Rsolution dun systme matriciel

    23

  • Exemple : Plaque dpaisseur 2 en contact avec un fluide

    temprature Tf (coefficient dchange h)

    TfTf

    T

    x

    Tmax

    TT

    ( ) 0d dT Sdx dx

    + =

    0dTdx

    = 0x =

    ( )l fdT h T Tdx

    = x l=

    Cte = S Cte=

    3. Mthode des volumes finis

    - +x dx

    0x = x l=

    1i = 2i = i N=1i N=

    1l

    xN

    =

    P EW ew

    2

    2 0d T Sdx + =

    2

    2 0e e

    w w

    d T Sdx dxdx + =

    ( ) ( ) ( ) 0e w e wdT dT S

    x xdx dx + =

    24

  • ( ) ( ) ( ) 0e w e wdT dT S

    x xdx dx + =

    ( ) E PeT TdT

    dx x

    =

    ( ) P WwT TdT

    dx x

    =

    e wx x x =

    2

    2W P ES xT T T

    + =

    2

    1 12i i iS xT T T +

    + =

    Expression des conditions aux limites :

    3. Mthode des volumes finis

    Expression des conditions aux limites :

    1 21 20 0 0

    T TdT T Tdx x

    = = =

    0 :x =

    x l=

    2i N= 1i N= i N=

    11( ) ( ) (1 ) fN Nl f N f N N

    h xTdT T T h xh T T h T T T Tdx x

    = = + =

    :x l =

    0x =

    1i = 2i = 3i =

    25

  • 21 12i i iS xT T T +

    + = 1 2 0T T = 1 (1 ) fN N

    h xTh xT T

    + =

    1i = 1 2 0T T =

    2i = 21 2 32 /T T T S x + =

    3i = 22 3 42 /T T T S x + =

    1i N= 22 12 /N N NT T T S x + =

    3. Mthode des volumes finis

    i N= 1 (1 / ) /N N fT h x T h xT + =

    11

    1

    11

    0 00

    0 0

    0 00

    0

    11

    11

    1

    12

    2

    22

    (0 1 / )h x

    +

    1

    2

    3

    2

    1

    .

    N

    N

    N

    TTT

    TTT

    2

    2

    2

    2

    0//

    ///f

    S xS x

    S xS x

    h xT

    =

    Exercice : rsolution numrique avec Mathematica(volumes_finis.nb)

    26

  • Rsultats :

    Si N est faible (maillage grossier), la solution est mal calcule Si N augmente, la solution calcule est meilleure Si N augmente, le temps de calcul augmente Au-del dune certaine valeur de N, les rsultats ne gagnent plus en prcision

    Dans un calcul numrique, il faut trouver un compromis entre la prcision souhaite et le temps allou au calcul.

    3. Mthode des volumes finis

    27

  • 4. Prise en compte du temps

    Discrtisons les drives partielles par les diffrences finies classiques :

    2

    21T T

    x t

    =

    2

    2 2( ) ( ) 2 ( )T T x x T x x T x

    x x

    + + =

    ( ) ( )T T t t T t

    t t

    + =

    Il faut maintenant rsoudre en chaque point de lespace et tout instant. On notera i Il faut maintenant rsoudre en chaque point de lespace et tout instant. On notera i lindice pour les variables despace et n celui pour le temps. Pour la drive temporelle, oncrira donc :

    1

    ( )n n

    i iT TT O Tt t

    +

    = +

    Selon que lon choisit le temps n ou n+1 pour valuer les termes de la drivespatiale, on parlera de mthode explicite ou implicite.

    [ ]1, tn N

    28

    Euler 1er ordre :

  • 4. Prise en compte du temps

    21 1

    2 22n n ni i iT T TT

    x x

    + + =

    1 1 12

    1 12 2

    2n n ni i iT T TTx x

    + + ++ +

    =

    Mthode explicite Mthode implicite

    2

    2 2( ) ( ) 2 ( )T T x x T x x T x

    x x

    + + =

    11 1

    22 1n n n n ni i i i iT T T T T

    x t

    ++ +

    =

    1 1 1 11 1

    22 1n n n n ni i i i iT T T T T

    x t

    + + + ++ +

    =

    29

  • 4. Prise en compte du temps

    La limite en stabilit des schmas explicites est bien plus basse que pourles schmas implicites. Cela signifie concrtement que pour un pas despacegal, on pourra avancer plus vite en temps avec un schma implicite.

    On peut dmontrer (thorme de Lax) quun schma explicite est stable si :

    Notion de stabilit numrique

    30

    212

    tCx

    =