Méhodes inforaiques pour physiciens inroducion à C++ e résoluion de problèes de physique par ordinaeur Leçon # 8 : Equaions Différenielles Ordinaires Trajecoires Alessandro Braar Alessandro.Braar@unige.ch él.: 960 bureau: EP 06 assisans Johanna Graling Mark Rayner Johanna.Graling@unige.ch él.: 96368 bureau: EP 0A Mark.Rayner@unige.ch él.: 9663 bureau: EP 9 hp://dpnc.unige.ch/~braar/c++05/l8 pour les noes du cours, les exeples, les corrigés,
Plan du jour #8 Corrigé du conrôle coninu # Equaions Différenielles Ordinaires Eudes des rajecoires Résoluion nuérique Désinégraion radioacie Moueen aec froeen Trajecoire d un projecile La physique du golf Méhode d Euler (preier ordre) Méhode de Runge (deuxièe ordre) Texes conseilles pour l analyse nuérique M.-Y. Bachann e al. (CRM) Méhodes nuériques référence W.H. Press e al. Nuerical Recipes oir aussi Feynan / Leighon / Sands Le cours de physique de Feynan ol. ch. 9
Récapiulaif de la leçon #7 Archiecure de l ordinaeur Les nobres binaires Représenaion des nobres nobres eniers nobres à irgule floane Arihéique binaire «inerface graphique» DISLIN 3
Equaions Différenielles Une équaion différenielle (ED) es une équaion ipliquan une ou plusieurs dériées d une foncion inconnue. Si oues les dériées son prises par rappor à une seule ariable, on parle d équaion différenielle ordinaire (EDO). Plusieurs problèes de physique ipliquen des EDOs, coe la rajecoire d un projecile, les oscillaions, la écanique célese, ec. exeple : la Loi de Newon: d r d dr F r,, d Ici, la foncion inconnue es l équaion du oueen r( : si l on connaî r(, on peu prédire la posiion r de la paricule à chaque insan. Une ED aec des dériées parielles es appelée équaion différenielle aux dériées parielles, p.ex. l Equaion de Laplace qui décri le poeniel élecrique: F (x, y, z) = 0. Une ED es d ordre p si elle iplique des dériées d ordre au plus p, p.ex. la Loi de Newon es une ED d ordre (deuxièe dériée de la posiion par rappor au eps). Une ED d ordre p peu oujours êre ransforée en un sysèe de p EDs d ordre. Pour aborder la soluion d une ED de façon nuérique, il fau la ransforer en un sysèe d EDs d ordre, p.ex. ( foncions inconnues : la posiion e la iesse) : d r d dr F r,, d d r( d ( ( ; Fr,, d d 4
Désinégraion radioacie Considérons un échanillon de 60 Co, un éléen radioacif. Le aux de désinégraion (nobre de désinégraions par unié de eps) es proporionnel à la quanié de aière d N ( ) N () d où es la ie oyenne de l éléen. La soluion analyique es donnée par N( N( 0) e / Nous soes pluô inéressés à résoudre l ED nuériqueen. Considérons l expansion de Taylor pour N( : dn d N N( D N(... d D d D Ignorons les eres d ordre supérieur à D : dn N( D N( D d e replaçons la dériée par l équaion de désinégraion. Nous obenons ansi l algorihe du preier ordre en D (Méhode d Euler) pour décrire le aux de désinégraion N( D N( N( D N( D N( D N( D D N( ( n ) D N( nd N( nd D 5
Soluion N ( Dans ce exeple on a pris = s, D = 0.5s puis 0.05s. soluion exace Aec D = 0.05s on roue déjà un bon accord aec la soluion analyique. algorihe : N( 0 ) = N 0 ; //cond. ini. for (in i=0; i<00; i++) { N( i+ ) = N( i )-/*N( i )*D i+ = i +D } oir Decay_Euler.cpp D = 0.5 s, 0 pas D = 0.05 s, 00 pas N(=0) = 00, = eps (s) Cee éhode d inégraion es connue coe la Méhode d Euler. Il s agi de replacer la dériée exace par la différence finie à droie (dériée nuérique) à chaque pas. La éhode es de preier ordre en D. La éhode foncionne suffisaen bien dans ce exeple pour D suffisaen pei. Pour obenir des soluions nuériques plus précises il fau uiliser de éhodes d ordre supérieur en D. On déeloppera la Méhode de Runge de deuxièe ordre en D. 6
Où es le problèe? La précision de cee éhode es liiée par le fai que. on calcule la dériée en. on fai la prédicion en + D (ariaion consane) f f ( D f ( ( O( D D andis que la dériée en + D a changée ( f (+D f ( ). Une aélioraion possible c es de calculer la dériée en + D/ i.e. dans le poin au ilieu enre e + D (différence finie cenrale oir L5 p.). f ( D / ) f ( D D Ca es équialan à écrire f ( O( D D N( D N( N D D N( N( N( D D N( N( D N( ) Nous aons uilisé la Méhode d Euler appliquée à la loi de désinégraion pour calculer la dériée en +D/ Cee éhode es de deuxièe ordre en D. Elle es aussi connue coe Méhode de Runge. Méhode d Euler (768) Méhode de Runge (895) 7
Soluion Méhode de Runge N ( On uilise la éhode d Euler pour calculer DN( D ) N( N( D D puis on uilise cee expression pour calculer DN( D ) N D N() D D algorihe : N( 0 ) = N 0 ; //cond. ini. for (in i=0; i<00; i++) { N D = N( i )-./*N( i )*D/. N( i+ ) = N( i )-./*N D *D i+ = i +D } D = 0.5 s, 0 pas soluion exace soluion Méhode d Euler soluion Méhode de Runge eps (s) oir Decay_Runge.cpp N D es la dériée calculée en +D/ Pour dessiner N( nous uilisons DISLIN : d abord il fau replir deux ableaux, un pour N e un pour le eps, puis appeler les foncions DISLIN correspondans. 8
Moueen aec froeen Iaginons une oiure, qui se déplace dans la direcion x, aec un oeur de puissance P : résisance de l air force du oeur L équaion du oueen es donnée par (nous aons ransforé l équaion du oueen en deux ED d ordre, une pour la posiion, l aure pour la iesse) Au lieu de la force F oeur, considérons la puissance P déeloppée par le oeur (T es l énergie cinéique) : x d x F oeur F d dx d d d F oeur F air air dt d d P F d d d La force de froeen es proporionnelle à : F air = C où C es le coefficien de froeen. L équaion du oueen deien donc dx d d P d déjà suffisaen copliqué pour rechercher une soluion analyique! oeur C 9
Résoluion nuérique A un oen donné (condiions iniiales), la oiure se roue en x aec une ceraine iesse. Quelles son la iesse e la posiion au eps + D? Si nous pouons répondre à cee quesion, le problèe es résolu, car nous pouons déelopper graduelleen le oueen, pas après pas. A chaque insan, la posiion e la iesse au eps + D son (si D suffisaen pei : Pour obenir la iesse au eps + D, il nous fau connaîre coen la iesse change, c es-à-dire l accéléraion a. L accéléraion es donnée par P les Lois de la dynaique, c es-à-dire l équaion de Newon : oeur Donc x( D ( D x( ( D ( a( D P C ( D ( ( D ( cinéaique (définiions) dynaique Mainenan nous pouons inégrer l équaion du oueen (i.e. déelopper le oueen : à parir de la posiion iniiale x 0 e iesse iniiale 0 au eps 0, nous pouons prédire la posiions x e la iesse au eps 0 + D ; à parir de x e ainsi obenus, la posiion x e la iesse au eps 0 + D, a C 0
iesse (/s) Méhode d Euler (768) Enfin nous obenons l algorihe suian où x 0 e 0 son donnés par les condiions iniiales sans froeen x déplaceen dans le eps D n n x n n n D P n C n D incréen de la iesse dans le eps D iesse erinale aec froeen oir Froeen_Euler.cpp Froeen_Runge.cpp eps (s) Dans ce exeple nous aons uilisé : P = 600 W, = 90 kg, 0 = 4 /s, C = 0. kg/, D = 0. s Sans froeen la iesse augene rès ie. Aec froeen on s approche d une iesse consane (iesse erinale).
Méhode du poin au ilieu ou de Runge (895) iesse calculée au ilieu (enre e D posiion calculée à la fin de l ineralle D condiions iniiales Le calcul de la iesse es décalé de D/ par rappor au calcul de la posiion : : D/, +D/, +3D/ ; x :, +D, +D On connaî (=0) ais pas (-D/) ou (D/)! Pour coencer l iéraion nous pouons choisir (-D/) = (0) - D/ a(0) (non physique, ais ) (i.e. uiliser la Méhode de Euler pour calculer en -D/) Cee éhode de Runge es d ordre supérieur à D ( o(d ) ) que la éhode d Euler ( o(d ). Donc on obien ainsi une approxiaion eilleure de la soluion aec l algorihe suian : A noer que d abord on calcule la iesse, puis la posiion. / / D ( ) D / D (0) ; 0 D D a D x x x x 0 0 D x D x D / D D/ D/ : r : (0) a(0) D / a 0 a( x, ) n n n a D n n n 4D+D/ 0 D D 5D x x D n n n
Trajecoire d un projecile 0 F x La rajecoire d un projecile es décrie d x par l équaion du oueen g F 0 F y d g F z aec la soluion analyique de la rajecoire pour F = 0 : x x 0 0, x 0 x y y0 0, y 0 aec les condiions iniiales x 0 e 0 z z g 0 0, z On peu replacer les opéraeurs différeniels par des différences finies e les équaions du oueen peuen s écrire sous la fore x( D x( Dx ( D sysèe de 6 ED de preière ordre F( ( D ( D D xn xn n D Ces équaions aux différences finies son à la base de l algorihe d Euler. F( rn, n) n n D. Aec les condiions iniiales pour x 0 e 0 on roue facileen la soluion du problèe, êe pour les forces qui dépenden de la posiion e de la iesse d une façon copliquée, coe la force de froeen du à l air (F ). 3
haueur y F air g q x Exainons le problèe en deux diensions. La force de froeen due à la résisance de l air es F air = - C coposane x : F air, x = F air cos q = F air x / = - C x coposane y : F air, y = F air sin q = F air y / = - C y aec = x + y Aec l ajou de la force de froeen, les équaions du oueen deiennen : n x, n y, n x x D n n x, n n n, i x, n x, n D n n n, i C y y D C n y, n y, n y, n g D D Les équaions en x e y ne son pas indépendanes! dans le ide aec résisance dans l air disance La rajecoire es odifiée par le froeen, oir Trajecoire_Euler.cpp e l angle de jeée axial n es plus de 45 0. Trajecoire_Runge.cpp On roue que l angle de jeée axial es d eniron 37 0! q 0 4
La physique du golf La bale de golf, en plus de la force de graié, es aussi souise à la force de froeen F f : F f B B peie iesse grande iesse flux lainaire flux urbulen Loi de Sokes on ne peu pas calculer B il es esuré p.ex. dans le unnel à en Pour induire le régie de flux urbulen à de peies iesses, on uilise une balle aec de peies aléoles. wr En plus, il fau considérer le «spin» de la balle, w i.e. la roaion de la balle auour d un axe orhogonal + wr à la direcion du oueen. Mêe considéraions pour une balle de ennis (deandez à RF), ou baseball, ou 5
L addiion de l effe de la force de froeen F f sur la surface de la balle cobinée aec la roaion de la balle génère une force dirigée ers le bas e une force dirigée ers le hau : M w w w M w M w F r r r F S F S où S es un coefficien nuérique déeriné expérienaleen, qui dépend de la «géoérie» de la balle. Cee force es connue coe Force de Magnus (948). Typiqueen pour une balle de golf Sw = 0.5 kg / s, F M es dirigé ers l hau aec F M > g, e donc la rajecoire sera concae e pas conexe. En résué, nous aons rois forces qui agissen sur la balle :. la force de graié. la force de froeen dirigée ani-parallèleen à la iesse 3. la force de Magnus F M, orhogonal à la iesse e dirigée principaleen ers le hau F M =Sw F f = - C F G = g d d d d x y C C x y Sw y Sw x g équaions du oueen coplèes F 6
haueur Pour résoudre le problèe, il nous fau ransforer le sysèe de deux équaions différenielles du second ordre en un sysèe de quare équaions différenielles de preier ordre, puis inégrer le sysèe p.ex. aec la éhode de Runge : d abord il nous fau redéfinir les condiions iniiales pour x,0, e y,0 ( en D/) C 0 x,0 Swy,0 D x,0 x,0 Trajecoire d une balle de golf C 0 y,0 Swx,0 D y,0 y,0 g aec exra spin puis procéder à l inégraion C x x D n x, n yn, x, n x, n D n n x, ni Sw aec spin C q = 9 0 balle lisse n y, n Swxn, y, n y, n g D sans froeen yn yn y, n D disance Typiqueen, pour une balle de golf : Aec ces paraères on obien la = 0.046 kg, Sw = 0.5 kg / s jeée axiale pour q = 9 0! C = C X r A = 0.08 kg /, aec C X = 7.0 / kg s / oir Golf.cpp ini = 50 / s 7
Résué Équaion différenielle du oueen de deuxièe ordre d r d dr,, d d r( d ( d d F r ( ; Fr,, deux équaions différenielles du preier ordre : posiion e iesse Méhode de Runge x(0) x ; 0 0 0 ( D / ) (0) a 0 D / 0 condiions iniiales Algorihe x 0 0 x(0) (0) a(0) D a( / F( x(, ( D / ), / / D ( ) D / D D D a D x x a a( x, ) n n n a D n n n x x D n n n 8
Résoluion nuérique des équaions différenielles Considérons l équaion différenielle dy f x, y y x0 y dx Après inégraion aec la Forule du Recangle (L5) on obien x h 0 y x h y f x y dx y f x y h 0 ( ),, x0 0 0 0 0 0 Cee forule correspond à la éhode d inégraion d Euler pour l inégraion des équaions différenielles. En noaion ecorielle (une équaion différenielle d ordre p peu êre réduie à un sysèe de p équaions différenielles de er ordre), la soluion de dr( d f es donnée selon la éhode d Euler par : aec l algorihe nuérique suian : e condiions iniiales r(, r( fr(, r( D r( f r(, D x 0 0 x( ( 0) 0) x( ( x x D n n n ( a( F / F xn, n n n D 9
Méhode de Euler odifié Méhode de Runge Pour aéliorer la précision du calcul de l inégrale, on a inrodui la Forule du Trapèze (on éalue la foncion en deux poins). On peu procéder de la êe façon pour l inégraion des équaions différenielles e odifier la éhode : (0),, où y (0) a éé éaluée aec la éhode d Euler en x = x 0 + h. Après subsiuion y y0 f x0 y0 f x y h,, (, ) y y0 f x0 y0 f x0 h y0 f x0 y0 h h La quesion es oujours où calculer la dériée!!! au débu, à la fin, ou au ilieu de l ineralle h? Au lieu de calculer f en x i e x i + h, on peu calculer f en x i + h/ : Cee éhode es connue coe éhode de Runge de seconde ordre. L algorihe d inégraion deien : F xi, i n n D x x D ais aec la condiion iniiale n n n, y y f x h y h 0 0 0 F( x, ) : 0 3 r : 0 3 D 0 0 0 0 0 0 0 ou F( x, ) D 0
* Méhode de Runge-Kua (90) La éhode la plus uilisée aujourd hui es la forule de 4 èe ordre de Runge-Kua (ce qui signifie que l'erreur coise à chaque éape es de l'ordre de D 5, alors que l'erreur oale accuulée es de l'ordre de D 4 ) : où r( D r( F F F3 F4 D 6 F f ( r, 3 4 3 F f r F D, D F f r F D F f r F D, iesse (pene), D D L idée à la base de cee éhode peu êre reconduie à la forule de Sipson pour calculer les inégrales : on éalue la foncion dans 3 poins (, + /D, + D. On peu uiliser les soluions d ordre supérieur, ais elles ne présenen pas de grands aanages. En ce qui nous concerne, la éhode de Runge de èe ordre es déjà suffisaen précise.
Exercices série 8
Problèes. Déeloppez le prograe Decay_Euler.cpp (p. 6). Résolez aussi le problèe aec la éhode de Runge (Decay_Runge.cpp, p.8).. Le noyau radioacif A se désinègre dans le noyau B, aussi insable, puis dans le noyau C selon la séquence de A B C. La ie oyenne de A es 00 seconds e celle de B es 00 seconds, andis que le noyau C es sable. Considérez un échanillon radioacif, qui conien iniialeen ( = 0) un nobre égal de noyaux A e noyaux B, N A = N B = 0 000. Eudiez les populaions des noyaux A, B e C en foncion du eps (0 < < 000 s). La éhode d'euler es suffisane pour ce problèe. Uilisez D = 0. s pour le pas d inégraion. 3. Déeloppez le prograe Froeen.cpp (p. ). Un obje qui chue souis à la force de graié es raleni par la résisance de l air. Déeloppez un prograe pour décrire la chue d un obje aec froeen (le parachue)! Calculez la iesse e l haueur de l obje en foncion de. Résolez aussi le problèe aec la éhode de Runge. 4. Eudiez la rajecoire d un projecile (p. 4). Résolez le problèe sans froeen e coparez le résula aec la soluion exace (une parabole!), puis ajouez le froeen e calculez la jeée aec des angles différens. Trouez l angle de jeée axial (eniron 37 0 )! Variez les condiions iniiales, i.e. l angle de jeée q 0. 3
5. Le parachuise es raleni par la résisance de l air. La force de froeen due à la résisance de l air es F air = -k r - k r, où k e k son des coefficiens de froeen, r la densié de l air qui change aec la haueur h selon r(h) = r 0 exp(-h/h 0 ) (h 0 0 4 ) e la iesse du parachuise. Le parachue s oure après 60 s. La résisance de l air aec le parachue feré es 50 fois plus faible qu aec le parachue ouer (ais pas nul!). Déeloppez un prograe pour décrire la chue du parachuise. Dessinez (DISLIN) la haueur e la iesse du parachuise en foncion du eps. A quelle haueur se roue le parachuise quand le parachue s oure? Quelle es la iesse erinale (axiale)? Paraères : iesse e haueur iniiales : i = 0 /s e h i = 0 k, asse du parachuise = 90.0 kg, g = 9.8 /s, densié de l air r 0 =. kg / 3, k = 0. 3 /s e k = 0.5. Pas d inégraion suggéré : D = 0.0 s. 6. Les équaions de Loka-Volerra décrien l'éoluion de deux populaions : d x / d x( y) d y / d y( x) où x es le nobre de proies, y le nobre de prédaeurs e le eps. Déeloppez un prograe pour résoudre les équaions nuériqueen e pour dessiner dans un graphique l'éoluion de x e y en foncion du eps. Uilisez ore prograe aec un choix adéqua des consanes (α, β, γ, δ) e des condiions iniiales pour x e y perean d'abouir à des soluions périodiques. 4