Μέθοδος Πεπερασµένων Στοιχείων Περίληψη: Η µέθοδος των πεπερασµένων στοιχείων χρησιµοποιείται για την επίλυση προβληµάτων συνοριακών τιµών διαφορικών εξισώσεων κυρίως στην µηχανική (δοµική ανάλυση). Η µέθοδος προσεγγίζει την λύση µε µία παραµετροποιηµένη δοκιµαστική συνάρτηση. Αντικαθιστώντας στο πρόβληµα λύνουµε τις προκύπτουσες εξισώσεις, ελαχιστοποιώντας το ολοκλήρωµα του παραµένοντος σφάλµατος, ως προς τις παραµέτρους, έτσι ώστε να βρούµε την καλύτερη δυνατή προσέγγιση. Το πλεονέκτηµα της µεθόδου είναι ότι πετυχαίνουµε καλύτερη συνολική προσέγγιση της λύσης αφού ελαχιστοποιούµε το ολοκληρωτικό σφάλµα. Πρακτικά σπάµε την περιοχή ενδιαφέροντος σε µικρότερα πεπερασµένα στοιχεία και προσεγγίζουµε την λύση µε µικρού βαθµού πολυώνυµο σε κάθε ένα από αυτά. Το πρόβληµα Το πρόβληµα που παραθέτει το βιβλίο χάριν απλότητας είναι µονοδιάστατο αλλά η µέθοδος είναι πανοµοιότυπη σε περισσότερες διαστάσεις. Η διαφορική συνάρτηση που µας δίνεται είναι η εξής: y 6x= () µε συνοριακές συνθήκες y( ) =, y( ) = () Είναι προφανές ότι η λύση του προβλήµατος είναι y=x 3 Αναλυτική µέθοδος Υποθέτουµε µια δοκιµαστική λύση του προβλήµατος έστω p(x)=αx +βx+γ µε α, β, γ παραµέτρους τις οποίες θα βρούµε από τις συνοριακές συνθήκες και την απαίτηση για ελάχιστο σφάλµα. θέτοντας p()= και p()= έχουµε p(x)=αx +(-α)x και τώρα έχουµε την δοκιµαστική µας συνάρτηση παραµετροποιηµένη µόνο µε την α. Εντούτοις εάν αντικαταστήσουµε στην () όπου y(x) την p(x) το αποτέλεσµα δεν θα είναι µηδέν αλλά µια συνάρτηση R= p 6x= α 6x την οποία ονοµάζουµε παραµένων σφάλµα. Χρησιµοποιώντας την µέθοδο των ελαχίστων τετραγώνων (ελαχιστοποιούµε το ολοκλήρωµα του τετραγώνου της R, ως προς α), έχουµε την καλύτερη τιµή για το α που στην προκειµένη περίπτωση είναι 3/. Έτσι έχουµε πλέον την καλύτερη λύση µε προσέγγιση δευτέρου βαθµού για την διαφορική µας συνάρτηση 3x x px ( ) = Εάν κάνουµε την γραφική παράσταση της ακριβής λύσης(συνεχής καµπύλη) και της προσέγγισης µας (διακεκοµµένη) έχουµε
.8.6.4...4.6.8 Για να βρούµε καλύτερη λύση πρέπει να αυξήσουµε τον βαθµό του πολυωνύµου που χρησιµοποιούµε σαν δοκιµαστική λύση. Σε µία διαφορετική προσέγγιση, θα µπορούσαµε να κόψουµε την περιοχή ενδιαφέροντος σε µικρότερες στοιχεία και να χρησιµοποιήσουµε µικρότερου βαθµού πολυώνυµα. Η πρώτη προσέγγιση πρακτικά εµφανίζει προβλήµατα εφόσον εάν χρησιµοποιήσουµε µεγαλύτερα του τρίτου βαθµού πολυώνυµα αυτά ταλαντεύονται και έτσι είναι πιθανό να µην έχουµε το επιθυµητό αποτέλεσµα. Αριθµητική Μέθοδος Στην πράξη δηλαδή χρησιµοποιούµε την δεύτερη µέθοδο και πιο συγκεκριµένα χωρίζουµε την περιοχή ενδιαφέροντος σε πολλά στοιχεία και χρησιµοποιούµε πρώτου βαθµού πολυώνυµο σαν δοκιµαστική συνάρτηση. Η έκφραση των πολυωνύµων αυτών έχει ως εξής, x x x x, x x x x x ϕ = (3) x + x, x x x+ x+ x, x x+. Η γραφική παράσταση µιας από τις συναρτήσεις αυτές είναι ένα τρίγωνο ή µια συνάρτηση στέγες και αποκαλούνται συναρτήσεις βάσης. Εναλλακτικά χρησιµοποιούνται συναρτήσεις Hermte και splnes σαν βάση. Τώρα, στην βάση αυτή, η δοκιµαστική µας συνάρτηση είναι γραµµικός συνδυασµός των παραπάνω συναρτήσεων φ ι N px ( ) = αϕ (4) = όπου έχουµε χωρίσει την περιοχή ενδιαφέροντος σε Ν στοιχεία και α ι είναι οι παράµετροι που πρέπει να υπολογίσουµε. Η απαίτηση των συνοριακών συνθηκών () µας δίνει p() = y() a = y() και p() = y() a = y() και έτσι µας µένει να υπολογίσουµε Ν- παραµέτρους. Ο υπολογισµός των παραµέτρων γίνεται θέτοντας το ολοκληρωτικό σφάλµα ίσο µε µηδέν Rxw ( ) ( xdx= ) N
όπου w συναρτήσεις βάρους. Παρατηρούµε ότι θέτοντας w µέθοδο των ελαχίστων τετραγώνων που προαναφέραµε. R = έχουµε την a Στην προκειµένη περίπτωση όµως σαν συναρτήσεις βάρους συµφέρει να πάρουµε τις συναρτήσεις βάσης και η περίπτωση αυτή η µέθοδος ονοµάζεται µέθοδος Galerkn Rx ( ) ϕ ( xdx ) =, =,..., N Πιο συγκεκριµένα στο πρόβληµα µας έχουµε d p ( 6 x) ϕ ( ),,..., x dx= = N dx Παρατηρούµε ότι επειδή η p(x) αποτελεί γραµµικό συνδυασµό πολυωνύµων πρώτου βαθµού, η δεύτερη παράγωγός της είναι µηδέν στα διαστήµατα ανάµεσα στα σηµεία. Επίσης ότι επειδή η κλίση αλλάζει σε κάθε σηµείο φαινοµενικά η δεύτερη παράγωγος απειρίζεται αλλά αυτό δεν είναι πρόβληµα αφού εµείς υπολογίζουµε το ολοκλήρωµα της και όχι την ίδια την παράγωγο. Με ολοκλήρωση κατά παράγοντες έχουµε d p ϕ dx ( xdx ) 6 xϕ ( xdx ) = (5) dp dp dϕ = ϕ dx 6 xϕ dx =, =,..., N dx dx dx Το πρώτο κοµµάτι της (5) είναι µηδέν επειδή φ ι ()=φ ι ()= από τον ορισµό των συναρτήσεων βάσης. Το δεύτερο κοµµάτι χρησιµοποιώντας την (4) γράφεται N dp ϕ j d dϕ ( ) d j x ϕ dx = a dx, =,..., N dx dx dx dx j= Παρατηρούµε ότι τα ολοκληρώµατα που εµφανίζονται είναι ανεξάρτητα του προβλήµατος και έτσι αρκεί να τα υπολογίσουµε µία φορά. Εάν τα x είναι οµοιόµορφα κατανεµηµένα στο διάστηµα του ενδιαφέροντος [a, b]=[,] µε βήµα h=x -x - τότε έχουµε Άρα το άθροισµα γίνεται και η (5) γίνεται, j =, h dϕ ( ) j ( ) x dϕ x dx =, j =, dx dx h, j >. N d x dϕ a a a aj dx= dx dx h j= ϕ( ) j + +
a a + a h + Στο συγκεκριµένο πρόβληµα το ολοκλήρωµα 6 xϕ dx=, =,..., N 6 xϕ dx = 6hx υπολογίζεται αναλυτικά. Στην γενικότερη περίπτωση µπορούµε µε αριθµητική ολοκλήρωση Gauss-Legendre να το υπολογίσουµε. Άρα καταλήγουµε στην σχέση a a + a+ = 6hx =,..., N h η οποία αναγνωρίζουµε ότι είναι ένα στοιχείο της εξίσωσης πινάκων a 6hx a a 6hx = (6) an 6hxN a N 6hxN a N Άρα µένει να λύσουµε το σύστηµα για να υπολογίσουµε τα α ι. Παρατηρούµε ότι το σύστηµα είναι τριδιαγώνιο και µπορούµε να το λύσουµε µε την µέθοδο απαλοιφής Gauss ή µε κάποια άλλη µέθοδο. Στην προκειµένη περίπτωση χρησιµοποιήσαµε την µέθοδο Gauss. Κώδικας Προγράµµατος σε Fortran Το πρόγραµµα που κάνει τους υπολογισµούς που χρειάζονται για την λύση του παραπάνω συστήµατος έχει ως εξής $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ program fnte! To programma auto lyne ma dafork exsos y''-6x=! me y()=,y()= me tn methodo ton peperasmenon stoxeon! npep : O arthmos tvn peperasmenon stoxeon! down :dansma pou perexe ta stoxea kato apo tn dagono! up :dansma pou perexe ta stoxea kato pano tn dagono! dag :dansma pou perexe ta stoxea ts dagonou! r :dansma pou perexe ta stoxea tou deuterou melous ts exsoss (6)! u :dansma pou perexe ts agnostes parametrous a! x :dansma pou perexe ts tmes tou x! Theodons Ioanns 3 nteger npep,k,j,l real down(:5),dag(:5),up(:5),r(:5),u(:5),x(:5) real h real bet,gam(:5) prnt *,'Methodos Peperasmenon Stoxeon -Theodons Ioanns 3' prnt *,'Doste ton arthmo ton peperasmenon stoxeon ' prnt *,'(max=5),( ga exodo)' read(*,*) npep f (npep.eq.) stop prnt *,'ta apotelesmata grafonta sto arxeo apotel.dat h=./real(npep)
! orsmos ton pnakon tou grammkou sstmatos x()= do k=,npep- dag(k)=-. up(k)=. down(k)=. x(k)=x()+k*h r(k)=6.*(h**)*x(k) u()=. u(npep)=. x(npep)=. r(npep-)=r(npep-)-u(npep)!telos orsmou tvn pnakvn! Methodos apalefhs Gauss bet=dag() u()=r()/bet do j=,npep- gam(j)=up(j-)/bet bet=dag(j)-down(j)*gam(j) f (bet.eq.) pause 'trdag faled' u(j)=(r(j)-down(j)*u(j-))/bet do j=npep-,,- u(j)=u(j)-gam(j+)*u(j+)! telos methodou gauss! Ektypos apotelesmaton open (,FILE='apotel.dat') do l=,npep wrte (,*) x(l),u(l) wrte (*,*) x(l),u(l) close() goto end $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Αποτελέσµατα Εκτελώντας το πρόγραµµα για Ν=3,5,7, παίρνουµε τις διαδοχικές προσεγγίσεις της λύσης όπως φαίνεται στα παρακάτω διαγράµµατα. N=3 N=5...8.8 Y Axs Ttle.6.4 Y(x).6.4.......4.6.8. X Axs Ttle...4.6.8. X N=7..8.6 Y (x).4.....4.6.8. X N=..8.6 Y (x).4.....4.6.8. X Είναι εµφανής η πολύ καλή προσέγγιση τις λύσης για Ν=.
Βιβλιογραφία A Frst Course n Computatonal Physcs by Paul L. Devres Πεπερασµένα Στοιχεία Α.Μπακακος ΕΜΠ Θεοδώνης Ιωάννης Για το µάθηµα Υπολογιστικής Φυσικής Φεβρουάριος 3