REZOLVAREA NUMERICĂ A ECUAŢIILOR CU DERIVATE PARŢIALE FOLOSIND METODA LINIILOR

Similar documents
ISBN-13:

REVISTA NAŢIONALĂ DE INFORMATICĂ APLICATĂ INFO-PRACTIC

Procesarea Imaginilor

Olimpiad«Estonia, 2003

Subiecte Clasa a VI-a

2. Setări configurare acces la o cameră web conectată într-un router ZTE H218N sau H298N

Titlul lucrării propuse pentru participarea la concursul pe tema securității informatice

Reflexia şi refracţia luminii. Aplicaţii. Valerica Baban

Structura și Organizarea Calculatoarelor. Titular: BĂRBULESCU Lucian-Florentin

Metrici LPR interfatare cu Barix Barionet 50 -

Ghid identificare versiune AWP, instalare AWP şi verificare importare certificat în Store-ul de Windows

Metoda BACKTRACKING. prof. Jiduc Gabriel

Metoda de programare BACKTRACKING

D în această ordine a.î. AB 4 cm, AC 10 cm, BD 15cm

1. Transferul de căldură printr-o nervură rectangulară

În continuare vom prezenta unele dintre problemele de calcul ale numerelor Fibonacci.

Modalitǎţi de clasificare a datelor cantitative

ARBORI AVL. (denumiti dupa Adelson-Velskii si Landis, 1962)

Versionare - GIT ALIN ZAMFIROIU

Semnale şi sisteme. Facultatea de Electronică şi Telecomunicaţii Departamentul de Comunicaţii (TC)

The First TST for the JBMO Satu Mare, April 6, 2018

Prelucrarea numerică a semnalelor

VIBRAŢII TRANSVERSALE ALE UNEI BARE DUBLU ÎNCASTRATE SOLICITATE LA RĂSUCIRE ÎN MEDIU ELASTIC

Mods euro truck simulator 2 harta romaniei by elyxir. Mods euro truck simulator 2 harta romaniei by elyxir.zip

Printesa fluture. Мобильный портал WAP версия: wap.altmaster.ru

GHID DE TERMENI MEDIA

Textul si imaginile din acest document sunt licentiate. Codul sursa din acest document este licentiat. Attribution-NonCommercial-NoDerivs CC BY-NC-ND

Aspecte controversate în Procedura Insolvenţei şi posibile soluţii

Managementul Proiectelor Software Metode de dezvoltare

CHAMPIONS LEAGUE 2017 SPONSOR:

Grafuri bipartite. Lecție de probă, informatică clasa a XI-a. Mihai Bărbulescu Facultatea de Automatică și Calculatoare, UPB

SINGULAR PERTURBATION DETECTION USING WAVELET FUNCTION REPRESENTATION

Reţele Neuronale Artificiale în MATLAB

Update firmware aparat foto

Auditul financiar la IMM-uri: de la limitare la oportunitate

LIDER ÎN AMBALAJE EXPERT ÎN SISTEMUL BRAILLE

ANTICOLLISION ALGORITHM FOR V2V AUTONOMUOS AGRICULTURAL MACHINES ALGORITM ANTICOLIZIUNE PENTRU MASINI AGRICOLE AUTONOME TIP V2V (VEHICLE-TO-VEHICLE)

La fereastra de autentificare trebuie executati urmatorii pasi: 1. Introduceti urmatoarele date: Utilizator: - <numarul dvs de carnet> (ex: "9",

NELINIARITATE ŞI AUTOORGANIZARE ÎN SISTEMELE CU PLASMĂ

Baze de date distribuite și mobile

Mecanismul de decontare a cererilor de plata

Prima. Evadare. Ac9vity Report. The biggest MTB marathon from Eastern Europe. 7th edi9on

INTEROGĂRI ÎN SQL SERVER

Nume şi Apelativ prenume Adresa Număr telefon Tip cont Dobânda Monetar iniţial final

Matematica şi Bazele electrotehnicii

Candlesticks. 14 Martie Lector : Alexandru Preda, CFTe

METODE FIZICE DE MĂSURĂ ŞI CONTROL NEDISTRUCTIV. Inspecţia vizuală este, de departe, cea mai utilizată MCN, fiind de obicei primul pas într-o

INPUT MODELLING USING STATISTICAL DISTRIBUTIONS AND ARENA SOFTWARE

Lucrarea de laborator nr. 4

Propuneri pentru teme de licență

Platformă de e-learning și curriculă e-content pentru învățământul superior tehnic

STUDY EVOLUTION OF BIT B ERRORS AND ERRORS OF PACKAGES IN I

INFORMAȚII DESPRE PRODUS. FLEXIMARK Stainless steel FCC. Informații Included in FLEXIMARK sample bag (article no. M )

8 Calculul sistemelor de ventilație

2. In the pattern below, which number belongs in the box? 0,5,4,9,8,13,12,17,16, A 15 B 19 C 20 D 21

Updating the Nomographical Diagrams for Dimensioning the Concrete Slabs

A NOVEL ACTIVE INDUCTOR WITH VOLTAGE CONTROLLED QUALITY FACTOR AND SELF-RESONANT FREQUENCY

SLIDING MODE STRATEGY FOR CLOSED LOOP CONTROLLED TWO-LEVEL PWM INVERTER

MS POWER POINT. s.l.dr.ing.ciprian-bogdan Chirila

SAG MITTIGATION TECHNICS USING DSTATCOMS

Arbori. Figura 1. struct ANOD { int val; ANOD* st; ANOD* dr; }; #include <stdio.h> #include <conio.h> struct ANOD { int val; ANOD* st; ANOD* dr; }

ADMITERE 2015 SUBIECTELE PROBELOR ŞI BAREMELE DE CORECTARE ŞI NOTARE PROFILUL MAIŞTRI MILITARI PROBA NR.1 TEST GRILĂ LA LIMBA ENGLEZĂ VARIANTA 2

1. INTRODUCERE ÎN MODELARE ŞI SIMULARE

Transmiterea datelor prin reteaua electrica

EN teava vopsita cu capete canelate tip VICTAULIC

DESIGN OF MICROSTRIP BANDPASS FILTERS WITH PRESCRIBED TRANSMISSION ZEROS AT FINITE FREQUENCIES

Dispozitive Electronice şi Electronică Analogică Suport curs 02 Metode de analiză a circuitelor electrice. Divizoare rezistive.

9. Memoria. Procesorul are o memorie cu o arhitectură pe două niveluri pentru memoria de program și de date.

POWER AMPLIFIER MODELING FOR MODERN COMMUNICATION SYSTEMS

CAIETUL DE SARCINI Organizare evenimente. VS/2014/0442 Euro network supporting innovation for green jobs GREENET

CERERI SELECT PE O TABELA

Calculul puterii calorice a biomasei utilizate ca şi combustibil

Cristina ENULESCU * ABSTRACT

TRAJECTORIES GENERATED BY THE R-R-RRT MECHANISM TRAIECTORII GENERATE DE MECANISMUL R-R-RRT

CERERI SELECT PE MAI MULTE TABELE

SUCCESSIVE POSITIONS OF THE R-R-RTR MECHANISM POZIŢII SUCCESIVE ALE MECANISMULUI R-R-RTR

Evaluarea acţiunilor

Multicore Multiprocesoare Cluster-e

2. Setări configurare acces la o cameră web conectată într-un echipament HG8121H cu funcție activă de router

Excel Advanced. Curriculum. Școala Informală de IT. Educație Informală S.A.

Vol.I ALGORITMI GENETICI LUȚĂ COSTINA CLAUDIA ALGORITMI GENETICI VOL.I ISBN

Laborator 1. Programare declarativă. Programare logică. Prolog. SWI-Prolog

5.3 OSCILATOARE SINUSOIDALE

LINEAR VOLTAGE-TO-CURRENT CONVERTER WITH SMALL AREA

F. Radulescu. Curs: Utilizarea bazelor de date, anul IV C5.

Proiectarea Sistemelor Software Complexe

6. Bucle. 6.1 Instrucţiunea while

SPREADING CODES 1. INTRODUCTION. Ion POPA Societatea Română de Televiziune Studioul Teritorial Iaşi

INFLUENŢA CÂMPULUI MAGNETIC ASUPRA DINAMICII DE CREŞTERE"IN VITRO" LA PLANTE FURAJERE

ACTA TECHNICA NAPOCENSIS

Implicaţii practice privind impozitarea pieţei de leasing din România

Ingineria proceselor chimice şi biologice/7

Generatorul cu flux axial cu stator interior nemagnetic-model de laborator.

Universitatea Lucian Blaga din Sibiu Facultatea de inginerie Hermann Oberth Catedra de Calculatoare şi automatizări

USING SERIAL INDUSTRIAL ROBOTS IN CNC MILLING PROCESESS

Mircea Merca 1) Articol dedicat Prof. Dr. Ioan Tomescu la a 70-a aniversare

Algoritmi si structuri de date ( ) Informatica Ramnicu Valcea, anul 1

THREE CHANNELS ANALYSIS SYSTEM FOR ELECTRICAL POWER SYSTEM DISTURBANCES MEASUREMENT

METODE NOI ÎN PROIECTARE

CONSISTENŢA INTERNĂ A UNUI INSTRUMENT. O DECIZIE DIFICILĂ.

Transcription:

DIDACTICA MATHEMATICA, Vol. 33(2015), pp. 17 26 REZOLVAREA NUMERICĂ A ECUAŢIILOR CU DERIVATE PARŢIALE FOLOSIND METODA LINIILOR Imre Boros Abstract. This paper discusses the numerical solution of partial differential equations using method of lines approach (MOL) where the spatial dimension is discretized using some finite difference approximation leaving the time dimension to be the only independent variable in the resulting system of initial value problems. Once this is done, we apply an integration algorithm for the initial value ordinary differential equations to compute an approximate numerical solution to the partial differential equation. MSC 2000. 65M20. Key words. Method of lines, error estimates. 1. ECUAŢII CU DERIVATE PARŢIALE Fenomenele din lumea fizică pot fi modelate cel mai bine cu ajutorul ecuaţiilor cu derivate parţiale. Ca o consecinţă metode de rezolvare a acestor ecuaţii ca şi metoda liniilor sunt de interes larg în ştiinţă şi inginerie. Considerăm exemplul ilustrativ de ecuaţie cu derivate parţiale (1) unde u t = D 2 u x 2 u = u(t, x) variabilă dependentă t variabilă independentă care reprezintă timpul x variabilă independentă care reprezintă spaţiul Observăm că ecuaţia (1) are două variabile independente, tocmai din cauza asta este clasificată ca şi o ecuaţie cu derivate parţiale. O ecuaţie diferenţială cu o singură variabilă independentă se numeşte ecuaţie diferenţială ordinară. O să considerăm mai târziu ecuaţiile diferenţiale ordinare ca o parte a metodei liniilor. Ecuaţia (1) se numeşte ecuaţia căldurii, iar constanta pozitivă D este difuzivitatea termică. 2. CONDIŢII INIŢIALE ŞI CONDIŢII LA FRONTIERĂ Înainte să rezolvăm ecuaţia (1), trebuie să specificăm condiţii auxiliare pentru a completa enunţul problemei cu derivate parţiale. Numărul necesar de

18 I. Boros 2 condiţii este determinat de ordinul cel mai mare a derivatei în fiecare variabilă. Cum (1) este de ordinul unu în t şi de ordinul doi în x va fi necesar o condiţie în t şi două condiţii în x. Variabila t se mişcă pe un interval finit t 0 t t f sau poate să fie şi infinit 0 t, este necesară o valoare iniţială, pentru că se începe în t 0 şi avansează în timp, fără alte condiţii asupra lui. Pentru variabila spaţială x 0 x x f se pun două condiţii care de obicei corespund frontierelor unor sisteme fizice, tocmai de aici vine denumirea de condiţii pe frontieră. Exemple de condiţii auxiliare pentru ecuaţia (1), O condiţie iniţială poate fi (2) u(x, t 0 ) = u 0 (x) (3) (4) unde u 0 este o funcţie dată. Condiţii pe frontieră pot fi de forma u(x 0, t) = u b u(x f, t) x = 0 unde u b este o frontieră dată a lui u pentru orice t. Condiţiile pe frontieră pot fi de trei tipuri: (1) Dacă este de forma (3), atunci se numeşte condiţie Dirichlet. (2) Dacă este de forma (4), atunci se numeşte condiţie Neumann. (3) Iar dacă intervin (3) şi (4) atunci se numeşte condiţie de tip Robin. Relaţiile (1),(2),(3) şi (4) formează o ecuaţie cu derivate parţiale completă. O soluţie pentru ecuaţia cu derivate parţiale este o funcţie care defineşte variabila dependentă ca funcţie de variabilele independente, în cazul nostru u(x, t). Soluţia poate să fie de două tipuri Soluţie analitică dacă soluţia este o funcţie matematică. Soluţiile analitice sunt exacte, dar sunt foarte dificil de obţinute chiar şi pentru cele mai simple ecuaţii cu derivate parţiale. Soluţie numerică dacă funcţia u(x, t) este dat numeric într-un tabel. Soluţiile numerice sunt aproximaţii pentru soluţiile analitice, noi vrem ca aceste soluţii numerice să fie apropiate de cele analitice. Cu metoda liniilor putem obţine soluţii numerice care aproximează soluţia analitică cu acurateţe foarte bună.

3 Metda liniilor 19 3. METODA LINIILOR Ideea de bază este să înlocuim derivatele spaţiale în ecuaţii cu derivate parţiale cu aproximări algebrice. În acest mod derivatele spaţiale numai apar în formă explicită, numai variabila de timp rămâne. Cu alte cuvinte ne rămâne un sistem de ecuaţii diferenţiale ordinare care aproximează ecuaţia cu derivate parţiale. Provocarea este să formulăm acest sistem pentru aproximarea ecuaţiei cu derivate parţiale. Când avem sistemul putem să aplicăm orice metodă numerică pentru aproximarea soluţiei. Un avantaj a metodei liniilor este că putem să folosim metode existente şi bine cunoscute pentru ecuaţii diferenţiale ordinare. Pentru a ilustra metoda considerăm ecuaţia hiperbolică de ordin unu (5) (6) u t + v u x = 0. Prima dată înlocuim derivata spaţială cu o aproximare cu diferenţe finite u x u i u i 1 x unde am considerat o grilă echidistantă cu pasul x, cu punctele de pe grilă x i = (i 1) x, i = 1,..., M. Aproximarea cu metoda liniilor pentru ecuaţia (5) este (7) du i dt = v u i u i 1, 1 i M. x Se observă că (7) este un sistem de ecuaţii diferenţiale pentru că numai t a rămas ca şi variabilă independentă. Această transformare a lui (5) în (7) ilustrează esenţa metodei liniilor. Apoi pentru a calcula soluţia pentru ecuaţia cu derivate parţiale rezolvăm sistemul cu ecuaţii diferenţiale ordinare. Dar înainte de asta trebuie să ţinem cont de condiţia iniţială şi condiţia pe frontieră pentru (5) care pot fi luate de forma (8) (9) u(x, 0) = f(x) u(0, t) = g(x). Cum sistemul (7) este format din M ecuaţii, sunt necesare M condiţii iniţiale şi din (8) aceste sunt (10) u(x i, 0) = f(x i ), 1 i M

20 I. Boros 4 Iar dacă folosim condiţia de frontieră (9) găsim pentru primul punct din grilă i = 1 (11) u(x 1, t) = g(t) Relaţiile (7), (10),(11) reprezintă metoda liniilor completă pentru ecuaţia (5) cu condiţiile (8) şi (9). Soluţia pentru acest sistem ne dă M funcţii (12) u 1 (t), u 2 (t),..., u M (t) care sunt aproximaţii pentru u(x, t) în punctele din grilă x 1, x 2,..., x M. 4. INTEGRAREA ECUAŢIILOR DIFERENŢIALE ÎN METODA LINIILOR Considerăm acum integrarea numerică a sistemului de ecuaţii diferenţiale (7). Dacă derivata du i dt este aproximat cu diferenţă finită progresivă de ordin unu du i (13) dt un+1 i u n i + O( t), t unde n este index pentru variabila t pe un grid echidistant cu pasul t, atunci aproximarea cu diferenţă finită de ordinul unu pentru sistemul (7) este (14) sau în formă explicită (15) u n+1 i u n+1 i u n i t = v un i un i 1 x = u n i v t x (un i u n i 1), i = 1, 2,..., M. Ecuaţia (15) dă explicit pe u n+1 i, adică putem să calculăm soluţiile pe punctul t n+1 din soluţiile de pe punctul t n. Metoda obţinută astfel pentru sistemul de ecuaţii diferenţiale (7) este metoda lui Euler progresivă, care este cea mai cunoscută şi cea mai simplă pentru integrarea sistemelor de ecuaţii diferenţiale ordinare. Forma explicită a metodei (15) este convenabil din punct de vedere computaţional, dar are alte limitări. Dacă pasul de timp t este peste o valoare critică atunci metoda nu va fi stabilă. De fapt pentru ca metoda (15) să rămână stabilă, trebuie ca (v t/ x) care se numeşte numărul lui Courant- Friedrichs-Lewy, să fie mai mică decât 1. Dacă vrem să creştem acurateţea soluţiei micşorând pasul x atunci ca numărul C-F-L să rămână mai mic ca 1 trebuie să micşorăm şi pasul t. Există un conflict între îmbunătăţirea acurateţei şi menţinerea stabilităţii metodei.

5 Metda liniilor 21 O cale de a îmbunătăţii metoda (15) este să considerăm metoda lui Euler regresivă, care este obţinută prin folosirea diferenţei finite regresive du i (16) dt un i un 1 i t astfel obţinem aproximarea pentru (7) + O( t), u n i un 1 i t sau dacă notăm α = v t/ x avem = v un i un i 1 x (17) (1 + α)u n i + αu n i 1 = ui n 1, i = 1, 2,..., M Observăm că acum nu putem obţine explicit pe u n i în funcţie de de soluţiile pe pasul anterior u n 1 i, ecuaţia (17) este implicită în u n i pentru că şi u n i 1 este necunoscut. Pentru a rezolva ecuaţia (17) trebuie să considerăm toate ecuaţiile 1, 2,..., M de unde ajungem la un sistem bidiagonal. Metoda (17) nu are limite de stabilitate dar din punct de vedere computaţional este mult mai greu de abordat, pentru că trebuie să rezolvăm un sistem de ecuaţii algebrice, iar dacă sistemul de ecuaţii ordinare care aproximează ecuaţia cu derivate parţiale este neliniară atunci trebuie să rezolvăm sisteme neliniare. Sistemele de ecuaţii de obicei sunt rezolvate cu o variantă a metodei lui Newton care poate deveni foarte solicitant. (18) 5. APLICAŢIE PENTRU ECUAŢIA CĂLDURII Considerăm ecuaţia (1) cu D = 1 cu condiţia iniţială u t = 2 u x 2 (19) u(x, 0) = sin (20) (21) Luăm condiţiile pe frontieră ( πx ). 2 u(0, t) = 0 u(1, t) x = 0 Soluţia analitică pentru ecuaţia cu derivate parţiale (18)-(21) este ( πx ) (22) u(x, t) = e (π2 /4)t sin. 2

22 I. Boros 6 În continuare vom rezolva numeric ecuaţia cu derivate parţiale (18)-(21) în Matlab cu două solvere cu ode15s care este implementat în Matlab şi este folosit pentru rezolvarea problemelor stiff. Celălalt solver face parte din librăria Sundials care a fost implementat în limbajul de programare C, limbajul C foloseşte pointeri pentru gestionarea memoriei şi din cauza asta de obicei programele scrise în C/C ++ sunt cele mai rapide. Din această librărie am folosit funcţia CV ODE care foloseşte metode de ordin variabil, cu mai mulţi paşi şi cu pas variabil, care sunt bazate pe formule de forma (23) K 1 K 2 α n,i y n i + h n β n,i f(t n i, y n i ) = 0. i=0 i=0 Unde y n sunt aproximaţii pentru y(t n ), iar h n = t n t n 1 este pasul. În CVODE putem alege metode de tip Adams-Moulton care sunt caracterizate de K 1 = 1 şi K 2 = q, unde ordinul q variază între 1 şi 12. Iar pentru probleme stiff putem alege formule cu diferenţe retrograde care sunt caracterizate de K 1 = q şi K 2 = 0 cu ordinul q între 1 şi 5. Alegem intervalul de timp t (0, 2.5) şi discretizarea ei cu n = 21 de puncte. Pentru condiţia iniţială a sistemului (19) construim vectorul cu valorile iniţiale în Matlab cu un ciclu for for i=1:n u0(i)=sin((pi/2.0)*(i-1)/(n-1)); end Apoi construim funcţia f a sistemului de ecuaţii diferenţiale care aproximează ecuaţia cu derivate parţiale (18) prin function ut=f(t,u) n=length(u); dx2=((xu-xl)/(n-1))^2; ut=zeros(1,n); for i=1:n if(i==1) ut(i)=0.0; elseif(i==n) ut(i)=2.0*(u(i-1)-u(i))/dx2; else ut(i)=(u(i+1)-2.0*u(i)+u(i-1))/dx2; end end

7 Metda liniilor 23 unde în ciclul for in prima linia impunem condiţia Dirichlet (20), apoi pe linia următoare va fi impusă condiţia Neumann (21) care vine din aproximarea cu diferenţe finite u u(i + 1) u(i 1) = 0, x x iar pentru calculul punctelor interioare folosim aproximarea cu diferenţe finite centrate de ordin doi (24) (25) 2 u u(i + 1) 2u(i) + u(i 1) x2 x 2. Am construit astfel sistemul de ecuaţii diferenţiale u (t) = f(t, u), f : R R n R n u(0) = u0 R n Folosim acuma solverul din Matlab ode15s unde cerem ca toleranţa absolută şi toleranţa relativă să fie 10 5. Eroarea în punctul x = 0.5 se poate vedea în figura de mai jos Fig. 5.1 Eroarea de aproximare pentru u(0.5, t) cu ode15s Se observă că toleranţa cerută nu este satisfăcut. Asta se datorează faptului că am ales o discretizare în timp prea mică pentru solverul ode15s.

24 I. Boros 8 Ca să atingem toleranţa cerută va trebui să dublăm numărul nodurilor de timp, dar astfel creştem dimensiunea sistemului cea ce din punct de vedere computaţional ne îngreunează rezolvarea sistemului. Dacă folosim solverul CVODE din librăria Sundials şi ne cerem toleranţa absolută şi relativă să fie tot 10 5 atunci solverul furnizează soluţia: Fig. 5.2 Soluţia sistemului de ecuaţii (24) Iar dacă comparăm aproximările obţinute cu valorile exacte în punctul x = 0.5 obţinem graficul 5.3 cu erorile mai mici decât toleranţa cerută. Astfel observăm că solverul CVODE este mai performant decât solverul ode15s din Matlab. Dacă încercăm CVODE cu toleranţele 10 8 şi tot cu n = 21 de puncte în t atunci se observă pe figura 5.4 că solverul stisface toleranţele cerute fără problemă. În figura 5.5 am reprezentat în spaţiu soluţia obţinută cu CVODE pentru n = 21 de puncte în timp şi cu toleranţele 10 8.

9 Metda liniilor 25 Fig. 5.3 Eroarea de aproximare pentru u(0.5, t) cu CVODE Fig. 5.4 Eroarea de aproximare pentru u(0.5, t) cu CVODE

26 I. Boros 10 Fig. 5.5 Aproximarea lui u cu metoda liniilor BIBLIOGRAFIE [1] Graham W. Griffiths, William E. Schiesser. A compendium of partial differential equation models: method of lines analysis with Matlab. Cambridge University Press, 2009. [2] Graham W. Griffiths, William E. Schiesser. Traveling wave analysis of partial differential equations: numerical and analytical methods with MATLAB and Maple. Academic Press, 2010. [3] Saucez, Ph., William E. Schiesser, A. Vande Wouwer. Adaptive method of lines. CRC Press, 2001. [4] Strikwerda, John C. Finite difference schemes and partial differential equations. Siam, 2004. [5] SUNDIALS (SUite of Nonlinear and DIfferential/ALgebraic equation Solvers), https://computation.llnl.gov/casc/sundials/main.html [6] Wouwer, A. Vande, et al. A MATLAB implementation of upwind finite differences and adaptive grids in the method of lines. Journal of computational and applied mathematics 183.2 (2005): 245-258. e-mail: boros.math@gmail.com Received: 22 Mai 2015