ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #5: ΥΠΕΡΒΟΛΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: ΕΠΙΜΕΛΕΙΑ: Ιωάννης Λυχναρόπουλος

Σχετικά έγγραφα
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #4 ΥΠΕΡΒΟΛΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: ΔΙΔΑΣΚΩΝ: Δ.

(συνθήκη συμμετρίας) (4) Το παραπάνω πρόβλημα μπορεί να περιγράψει τη μεταβατική πλήρως ανεπτυγμένη ροή σε κυλινδρικό αγωγό.

Επιλύστε αριθμητικά με τη μέθοδο των πεπερασμένων διαφορών το παρακάτω πρόβλημα δύο οριακών τιμών: ( )

Επιλύστε αριθμητικά το με τη μέθοδο των πεπερασμένων διαφορών το παρακάτω πρόβλημα δύο οριακών τιμών:

πεπερασμένη ή Η αναλυτική λύση της διαφορικής εξίσωσης δίνεται με τη βοήθεια του Mathematica: DSolve u'' r 1 u' r 1, u 1 0, u' 0 0,u r,r

Άσκηση 1 Έχουµε να επιλύσουµε την εξίσωση κύµατος 1 ης τάξης (υπερβολική εξίσωση) (1)

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #3: ΠΑΡΑΒΟΛΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: ΔΙΔΑΣΚΩΝ: Δ.

Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος

Επιµέλεια: Γιάννης Λυχναρόπουλος Οµάδα Α: Άσκηση 2 Έχουµε να επιλύσουµε την εξίσωση: 2

Οι παρακάτω ασκήσεις είναι από το βιβλίο των S. C. Chapra και R. P. Canale με τίτλο Numerical Methods for Engineers, 6 th edition.

Κεφάλαιο 7. Επίλυση υπερβολικών διαφορικών εξισώσεων με πεπερασμένες διαφορές

Υπολογιστικές Μέθοδοι

Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος. Η μόνιμη θερμοκρασιακή κατανομή σε δύο διαστάσεις περιγράφεται από την εξίσωση: και

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟ ΟΙ

w 1, z = 2 και r = 1

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #3: ΕΛΛΕΙΠΤΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: ΔΙΔΑΣΚΩΝ: Δ.

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

f στον κόμβο i ενός πλέγματος ( i = 1, 2,,N

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 2004, 3 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #4: ΠΑΡΕΜΒΟΛΗ

Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος

Επιμέλεια απαντήσεων: Ιωάννης Λυχναρόπουλος

Επίλυση παραβολικών διαφορικών εξισώσεων με πεπερασμένες διαφορές

Παράδειγμα #9 ΠΡΟΒΛΗΜΑΤΑ ΔΥΟ ΟΡΙΑΚΩΝ ΤΙΜΩΝ ΕΛΛΕΙΠΤΙΚΕΣ ΣΔΕ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

Η πλήρως ανεπτυγµένη ροή λόγω διαφοράς πίεσης σε κυλινδρικό αγωγό περιγράφεται από την συνήθη διαφορική εξίσωση

Παράδειγµα #11 ΠΡΟΒΛΗΜΑΤΑ ΑΡΧΙΚΩΝ ΤΙΜΩΝ Σ Ε ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

5. Ανάλυση διακριτής μορφής ΔΜΠ με ΠΔ

Κεφ. 7: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

την κεντρώα έκφραση πεπερασμένων διαφορών 2 ης τάξης και για τη παράγωγο f την ανάδρομη έκφραση πεπερασμένων διαφορών 2 ης τάξης xxx

Άσκηση 1. Δίδεται η διαφορική εξίσωση dy. Λύση. Έχουμε dy

Παράδειγμα #5 EΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΑΛΓΕΒΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΕΘΟΔΟ NEWTON ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης. ( k ) ( k)

Κεφ. 6Β: Συνήθεις διαφορικές εξισώσεις (ΣΔΕ) - προβλήματα αρχικών τιμών

Ενότητα 6. Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού. Σιέττος Κωνσταντίνος

Τμήμα Φυσικής Πανεπιστημίου Κύπρου Εαρινό Εξάμηνο 2015/2016. ΦΥΣ145 Υπολογιστικές Μέθοδοι στην Φυσική

ΧΡΟΝΙΚΗ ΟΛΟΚΛΗΡΩΣΗ. Για την επίλυση χρονομεταβαλλόμενων προβλημάτων η διακριτοποίηση στο χώρο γίνεται με πεπερασμένα στοιχεία και είναι της μορφής:

y 1 και με οριακές συνθήκες w

x από το κεντρικό σημείο i: Ξεκινάμε από το ανάπτυγμα Taylor στην x κατεύθυνση για απόσταση i j. Υπολογίζουμε το άθροισμα:

Εφαρµόζοντας τη µέθοδο αριθµητικής ολοκλήρωσης Euler και Runge-Kutta 2 ης, συστηµατική σύγκριση των πέντε µεθόδων. Η επιλογή των σταθερών

Παράδειγμα #10 ΠΡΟΒΛΗΜΑΤΑ ΟΡΙΑΚΩΝ ΤΙΜΩΝ ΕΛΛΕΙΠΤΙΚΕΣ ΜΔΕ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Διάλεξη 10: Συναγωγή και διάχυση (συνέχεια)

Η διατήρηση μάζας σε ένα σύστημα τριών αντιδραστήρων περιγράφεται από το παρακάτω σύστημα συνήθων διαφορικών εξισώσεων:

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #3: ΕΛΛΕΙΠΤΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: ΕΠΙΜΕΛΕΙΑ: Ιωάννης Λυχναρόπουλος

Παράδειγμα #4 EΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΑΛΓΕΒΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΜΕΘΟΔΟΥΣ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

Πίνακας Περιεχομένων 7

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

MEM 253. Αριθμητική Λύση ΜΔΕ * * *

ΠΑΡΑΔΕΙΓΜΑ 14 ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #1: ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΠΡΟΒΛΗΜΑΤΑ ΑΡΧΙΚΩΝ ΤΙΜΩΝ

Υπολογιστικές Μέθοδοι = 0.4 και R

4. Παραγώγιση πεπερασμένων διαφορών Σειρά Taylor Πολυωνυμική παρεμβολή

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

ΣΧΕΔΙΟ ΔΙΔΑΣΚΑΛΙΑΣ ΕΞΙΣΩΣΗΣ 1 ΟΥ ΒΑΘΜΟΥ Α ΛΥΚΕΙΟΥ

Κεφ. 6Α: Συνήθεις διαφορικές εξισώσεις - προβλήματα δύο οριακών τιμών

Εισαγωγή στο Προγραμματισμό με τη PASCAL & τη Matlab Εξαμηνιαία Εργασία 2014 Μετατρέποντας AC σε DC Τάση Μέρος Β : Πορεία Εργασίας

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τι είναι μια υπορουτίνα; με υπορουτίνα ΥΠΟΡΟΥΤΙΝΕΣ. Παράδειγμα #1: η πράξη SQ. Ποια η διαφορά συναρτήσεων και υπορουτίνων;

Παράδειγμα #4 ΑΛΓΕΒΡΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΞΙΣΩΣΕΩΝ

Συνήθεις διαφορικές εξισώσεις O.D.E.

ΔΙΑΧΕΙΡΙΣΗ ΥΔΑΤΙΚΩΝ ΠΟΡΩΝ

Εκμετάλλευση και Προστασία των Υπόγειων Υδατικών Πόρων

Εισαγωγή στον Προγραμματισμό Η/Υ για Χημικούς Μηχανικούς

Παράδειγμα #3 EΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΑΛΓΕΒΡΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΑΠΕΥΘΕΙΑΣ ΜΕΘΟΔΟΥΣ Επιμέλεια: Ν. Βασιλειάδης

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #1: ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟ ΙΑΣΤΟΛΗΣ ΚΑΙ ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ ΕΠΙΜΕΛΕΙΑ: Σ.

διακριτοποίηση αριθµητική παραγώγιση

Υπολογιστές Ι. Άδειες Χρήσης. Υποπρογράμματα. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ, 5 Ο ΕΞΑΜΗΝΟ, ΠΕΡΙΕΧΟΜΕΝΑ ΠΑΡΑΔΟΣΕΩΝ. Κεφ. 1: Εισαγωγή (διάρκεια: 0.5 εβδομάδες)

Κεφάλαιο 6. Εισαγωγή στη µέθοδο πεπερασµένων όγκων επίλυση ελλειπτικών και παραβολικών διαφορικών εξισώσεων

Διάλεξη 11: Ανώτερης τάξης σχήματα στη μόνιμη συναγωγή

ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ. Σταυράκης

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Θα χρησιμοποιήσουμε κύλινδρο με L=R για απλοποίηση (και Δr=Δz).

4. Παραγώγιση πεπερασμένων διαφορών Σειρά Taylor Πολυωνυμική παρεμβολή

Στοχαστικές Μέθοδοι στους Υδατικούς Πόρους Φασματική ανάλυση χρονοσειρών

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Διάλεξη 2: Περιγραφή αριθμητικών μεθόδων

Αριθμητική Ολοκλήρωση της Εξίσωσης Κίνησης

Η μέθοδος των πεπερασμένων στοιχείων για την εξίσωση της θερμότητας

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική ολοκλήρωση συνήθων διαφορικών εξισώσεων και συστημάτων

Ενότητα 3 (μέρος 1 ο )

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης

Πρόλογος Εισαγωγή στη δεύτερη έκδοση Εισαγωγή... 11

Παράδειγμα #5 ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ & ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

0.5, Μεταφορά θερμότητας ανάμεσα σε κυλίνδρους μεγάλου μήκους (χωρίς ασπίδα):

Υδραυλική των Υπόγειων Ροών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ.

0.1 Εκχειλίσεις κατά την Επίλυση Τετραγωνικής Εξίσωσης

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ - ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, 3 Ο ΕΞΑΜΗΝΟ, ΔΙΔΑΣΚΩΝ: Δρ Ιωάννης Αθ.

Λύσεις ασκήσεων Άσκηση 1: Cengel and Ghajar, Κεφάλαιο 13: Προβλήματα και

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ. Δρ. Ιωάννης Λυχναρόπουλος Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας

Παράδειγμα #1 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΕΠΙΜΕΛΕΙΑ: Ι. Λυχναρόπουλος

ΥΠΟΛΟΓΙΣΤΙΚΗ Υ ΡΑΥΛΙΚΗ

Δυναμική Μηχανών I. Διάλεξη 11. Χειμερινό Εξάμηνο 2013 Τμήμα Μηχανολόγων Μηχ., ΕΜΠ

Η μέθοδος του Verlet - εισαγωγικά

Κεφ. 7: Επίλυση ελλειπτικών διαφορικών εξισώσεων με πεπερασμένες διαφορές

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Διάλεξη 7: Εξίσωση μη-μόνιμης διάχυσης (συνέχεια)

{F W t } 0 t T = σ(w k (s), s t, 1 k) L 2 ([0, T ])

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Παρουσίαση 3ης Άσκησης

i. Επιλύστε με απαλοιφή Gauss μερικής οδήγησης το σύστημα:

Μετατροπή μήτρας από μορφή πίνακα σε μορφή καταλόγου μη-μηδενικών στοιχείων και αντιστρόφως

Αριθμητική Ανάλυση Εργασία #1

Transcript:

ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, -, Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #: ΥΠΕΡΒΟΛΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: 3.0. ΕΠΙΜΕΛΕΙΑ: Ιωάννης Λυχναρόπουλος Άσκηση Έστω ένα κύμα που κινείται εντός αγωγού με ταχύτητα c 0 m/s. Η κατανομή utx, του κύματος την χρονική στιγμή t 0 είναι τριγωνική και φαίνεται στο Σχήμα. Εφαρμόζοντας την εξίσωση κύματος ης τάξης να υπολογισθεί αριθμητικά η διάδοση του κύματος μέχρι την χρονική t 0. sec με τις μεθόδους α) πρόδρομη στο χρόνο ανάδρομη στο χώρο, β) Lax-Wendroff, γ) πεπλεγμένη Euler και δ) McCormack για x m και τρεις τιμές του χρονικού βήματος t 0.00, 0.00 και 0.00. Σχολιάστε τα αριθμητικά αποτελέσματα για τις τρεις τιμές του χρονικού βήματος συγκρίνοντας τα μεταξύ τους και με την αναλυτική λύση. Επίσης να σχολιασθούν η αριθμητική διάχυση και διασπορά των μεθόδων. u(0, x ) t 0 0 0 70 x Σχήμα : Κατανομή κύματος τη χρονική στιγμή t 0 Λύση Εφαρμόζοντας τη μέθοδο των χαρακτηριστικών η αναλυτική λύση είναι: uxt (, ) f( x ct) () με f την αρχική τριγωνική κατανομή: 0, x x, x f( x) () x 0, x 0, x Το ίδιο πρόβλημα επιλύεται αριθμητικά με τέσσερα αριθμητικά σχήματα. Σε όλες τις περιπτώσεις η βασική παράμετρος είναι ο αριθμός CFL: v ct/ x, όπου t και

x είναι το χρονικό και χωρικό βήμα διακριτοποίησης αντίστοιχα. Το πλέγμα μας αποτελείται από N 70 διαστήματα (7 κόμβοι). n Θεωρούμε ότι u 0 για x 0 και x 70, επομένως στις επόμενες σχέσεις θα είναι: n n u 0 u 0 N Μέθοδος : Πρόδρομη στο χρόνο ανάδρομη στο χώρο (Ρητό σχήμα) u u vu, i n n n n n n n i i i i u u v u u, i,..., N Μέθοδος : ΜcCormack (Ρητό σχήμα) Το σχήμα αυτό αποτελείται από εξισώσεις (πρόβλεψη και διόρθωση): n/ n n n Πρόβλεψη: ui ui vui ui, i,..., N n n n/ n/ n/ Διόρθωση: i i i i i u u u v u u, i,..., N n/ n n n n n n/ n/ i : u u vu u και u u u vu n/ n n i N : un un vun u u u v u u n n n/ n/ n/ και N N N N N Μέθοδος 3: Πεπλεγμένη Euler v n n v n n ui ui ui ui, i,..., N v i : u n n n u u n v n n i N : un un un Το σύστημα που προκύπτει είναι τριδιαγώνιο και επιλύεται με τη μέθοδο Thomas. Μέθοδος 4: Lax-Wendroff (Ρητό σχήμα) n n v n n v n n n ui ui uiui ui ui ui, i,..., N n n v n v n n i : u u u u u n n v n v n n i N : un un un un un

Το ακόλουθο πρόγραμμα σε Fortran επιλύει το πρόβλημα αρχικών τιμών και με τις 4 μεθόδους: program ftbs_mac_cormack implicit none! Variables real,allocatable:: u(:),uold(:),uprev(:),x(:), u0(:),t(:,:),t(:,:),t3(:,:),t4(:,:),t(:,:) real,allocatable:: aa(:),bb(:),cc(:),dd(:),xx(:) real::v, dx, dt, c, pi, t,max,err integer::i,n, tmax, m, done, method character()::num!tmax= n=70 c=0! dt=0.00!dt=0.00! dt=0.00 dt=0.006 dx=. v=c*dt/dx pi=3.4964 tmax=nint(0./dt) allocate(u(n+), uold(n+),uprev(n+), x(n+), u0(n+), t(n+,tmax),t(n+,tmax),t3(n+,tmax),t4(n+,tmax),t(n+,tmax)) allocate(aa(n+),bb(n+),cc(n+),dd(n+),xx(n+)) do i=,n+ x(i)=(i-)*dx open(,file='res_all_4.txt',recl=000) write(,'(a,i4)') 'N+= ',n+ write(,'(a,f.)') 'c= ',c write(,'(a,f.)') 'dt= ',dt write(,'(a,f.)') 'dx= ',dx write(,'(a,f.)') 'v= ',v write(,'(a,i)') 'tmax= ',tmax do method=,4!=ftbs = Mac Cormack 3=peplegmenh Euler 4=Lax- Wendroff if (method==) then do i=,n+ u(i)=f(x(i))!print*,i,u(i)!read* open(0,file='f_4.txt')

open(0,file='f_4.txt') open(300,file='f3_4.txt') open(400,file='f4_4.txt') open(00,file='f_4.txt') do m=,tmax uold=u do i=, n+ if(i==)then u(i)=uold(i)*(.-v)+v*uold(n) else u(i)=uold(i)*(.-v)+v*uold(i-) endif t(:,m)=u elseif (method==)then do i=,n+ u(i)=f(x(i)) do m=,tmax uold=u do i=,n u0(i)=uold(i)-v*(uold(i+)-uold(i)) u0(n+)=uold(n+)+v*uold(n+) u()=0.*(uold()+u0()-v*u0()) do i=,n+ u(i)=0.*(uold(i)+u0(i)-v*(u0(i)-u0(i-))) t(:,m)=u elseif (method==3)then do i=,n+ u(i)=f(x(i)) do m=,tmax uold=u! Ypologismos syntelestwn algorithmou Thomas gia tous n- eswterikous kombous! px gia n=7 (6 eswterikoi komboi):! b() c() 0 0 0 0 d()! a() b() c() 0 0 0 d()! 0 a(3) b(3) c(3) 0 0 d(3)! 0 0 a(4) b(4) c(4) 0 d(4)! 0 0 0 a() b() c() d()! 0 0 0 0 a(6) b(6) d(6)

do i=,n+ if (i>) AA(i)=-v/. BB(i)=. if (i<=n) CC(i)=v/. DD(i)=uold(i) call Thomas(n+,AA,BB,CC,DD,XX) u(:)=xx(:) t3(:,m)=u elseif (method==4)then do i=,n+ u(i)=f(x(i)) do m=,tmax uold=u u()=uold()- c*dt*(uold())/(.*dx)+(0.*c***dt**/dx**)*(uold()-.*uold()) do i=, n u(i)=uold(i)-c*dt*(uold(i+)-uold(i- ))/(.*dx)+(0.*c***dt**/dx**)*(uold(i+)-.*uold(i)+uold(i-)) u(n+)=uold(n+)-c*dt*(- uold(n))/(.*dx)+(0.*c***dt**/dx**)*(-.*uold(n+)+uold(n)) t4(:,m)=u endif!method do m=,tmax t=m*dt write(,*) '------------------------------T=',t,'------------------- --------' write(,*) 'i x FTBS McCormack Peplegmenh_euler Lax-Wendroff Analytikh' do i=,n+ write(,'(i3,f.,f8.)') i,x(i),t(i,m),t(i,m),t3(i,m),t4(i,m),f(x(i)-c*t) write(num,'(i)') m!open(3,file="for_mathematica_t_m"//trim(adjustl(num))//".txt")!do i=,n+!write(3,'(3f.)') t,x(i),t3(i,m)! close(3) do i=,n+ write(0,'(f8.)') x(i),t(i,m) write(0,'(f8.)') x(i),t(i,m) write(300,'(f8.)') x(i),t3(i,m) write(400,'(f8.)') x(i),t4(i,m) write(00,'(f8.)') x(i),f(x(i)-c*t)

!print*,i,t3(i,m)!m print*, 'Done' contains real function f(x) real::x if (x<=.or. x>=) then f=0 elseif (x>.and. x<) then f=*x- else f=-*x+0 end if end function! Algorithmos Thomas subroutine Thomas(n,a,b,c,d,x) integer,intent(in) :: n real, INTENT(INOUT) ::a(n),b(n),c(n),d(n) real, INTENT(OUT) ::x(n) integer::i real ::t(n),u(n) t()=b() u()=d()/t() do i=,n t(i)=b(i)-a(i)*c(i-)/t(i-) u(i)=(d(i)-a(i)*u(i-))/t(i) x(n)=u(n) do i=n-,,- x(i)=u(i)-c(i)/t(i)*x(i+) end subroutine Thomas end program ftbs_mac_cormack Στη συνέχεια παρουσιάζεται ενδεικτικά το αποτέλεσμα του κώδικα για t 0.0 κατά την ζητούμενη τελική χρονική στιγμή t 0. x FTBS Lax-Wendroff McCormack Πεπλεγμένη Αναλυτική Euler 0.00 0.00006 0.00000 0.00000 0.07686 0.00000.00 0.0000 0.00000 0.00000 0.033 0.00000.00 0.00000 0.00000 0.00000 0.06837 0.00000 3.00 0.00000 0.00000 0.00000 0.047 0.00000 4.00 0.00000-0.0000-0.0000 0.04644 0.00000.00 0.00000-0.0000-0.0000 0.037 0.00000 6.00 0.00000 0.00004 0.0000 0.0079 0.00000 7.00 0.00000 0.00004 0.00004-0.0677 0.00000 8.00 0.00000-0.000-0.000-0.047 0.00000 9.00 0.00000-0.000-0.0006-0.06790 0.00000.00 0.00000 0.000 0.000-0.0843 0.00000.00 0.00000 0.00049 0.000-0.09704 0.00000.00 0.00000-0.0003-0.0008-0.6 0.00000

3.00 0.00000-0.004-0.0040-0.09803 0.00000 4.00 0.00000-0.000-0.0003-0.0887 0.00000.00 0.00000 0.0037 0.003-0.0793 0.00000 6.00 0.00000 0.0038 0.003-0.008 0.00000 7.00 0.00000-0.00439-0.0044-0.070 0.00000 8.00 0.00000-0.08-0.076-0.003 0.00000 9.00 0.0000-0.00378-0.00364 0.08 0.00000.00 0.00006 0.004 0.04 0.0643 0.00000.00 0.0009 0.033 0.03344 0.0340 0.00000.00 0.0009 0.000 0.0070 0.047 0.00000 3.00 0.006-0.06-0.0607 0.0484 0.00000 4.00 0.0043-0.09-0.09499 0.04996 0.00000.00 0.04-0.04444-0.04438 0.03938 0.00000 6.00 0.0403 0.38 0.38 0.034 0.00000 7.00 0.037 0.98 0.9-0.008 0.00000 8.00 0.36 0.6879 0.6880-0.03944 0.00000 9.00 0.969 0.0730 0.0730-0.083 0.00000 30.00 0.306-0.44-0.44 0.08 0.00000 3.00 0.940-0.8639-0.8639 0.3368 0.00000 3.00 0.9609-0.943-0.943 0.799 0.00000 33.00.47773-0.6-0.6.3009 0.00000 34.00.78 0. 0..0803 0.00000 3.00 3.066.86.86 3.0934 0.00000 36.00 4.386.36863.36863 4.330.00000 37.00.37830 3.77634 3.77634.73994 4.00000 38.00 6.76.6368.6367 7.83 6.00000 39.00 8.43 8.009 8.009 8.8687 8.00000 40.00 9.64933.7799.77990.3736.00000 4.00.00434 3.38 3.384.7684.00000 4.00.7969.860.860.799 4.00000 43.00 3.09094 7.86 7.864 3.3897 6.00000 44.00 3.668 7.8738 7.8737 3.9060 8.00000 4.00 3.86639 7.7090 7.7090 3.869.00000 46.00 3.668 6.93783 6.93783 3.4463 8.00000 47.00 3.09094.68706.6870.670 6.00000 48.00.7969 3.994 3.994.66 4.00000 49.00.00434.994.994.39.00000 0.00 9.64933 9.907 9.907 8.98966.00000.00 8.43 7.3733 7.3733 7.9304 8.00000.00 6.76.09096.09096 6.4 6.00000 3.00.37830 3.36 3.36.0043 4.00000 4.00 4.386.046.046 3.9099.00000.00 3.066.9.96.97949 0.00000 6.00.78 0.8636 0.8636.670 0.00000 7.00.47773 0.87 0.87.6 0.00000 8.00 0.9609 0.33 0.33.4499 0.00000 9.00 0.940 0.06 0.06 0.7964 0.00000 60.00 0.306 0.0968 0.0968 0.46 0.00000 6.00 0.969 0.00694 0.00694 0.3664 0.00000 6.00 0.36 0.007 0.007 0.366 0.00000 63.00 0.037 0.00068 0.00068 0.89 0.00000 64.00 0.0403 0.0009 0.0009 0.0980 0.00000 6.00 0.04 0.0000 0.0000 0.096 0.00000 66.00 0.0043 0.0000 0.0000 0.0364 0.00000 67.00 0.006 0.00000 0.00000 0.044 0.00000 68.00 0.0009 0.00000 0.00000 0.037 0.00000 69.00 0.0009 0.00000 0.00000 0.00669 0.00000 70.00 0.00006 0.00000 0.00000 0.008 0.00000

Για μια ποιοτική μελέτη των αποτελεσμάτων, ο κώδικας εκτελείται για τις ζητούμενες τιμές του t και τα αποτελέσματα αναπαριστάνονται γραφικά με τη βοήθεια του Mathematica. Έτσι δημιουργούνται τα ακόλουθα γραφήματα: Αναλυτική Λύση FTBS Lax-Wendroff ΜcCormack Πεπλεγμένη Euler Δt=0.00 v=0. Δt=0.00 v=0. Δt=0.00 v= 300 Δt=0.006 v=. 0 0-0 -0 0 000-0 000 0 000-0 000-300 O κώδικας σε Mathematica που χρησιμοποιήθηκε για την παραγωγή των γραφημάτων είναι ο ακόλουθος (με κατάλληλη, κάθε φορά, τροποποίηση των παραμέτρων): a=readlist["f_.txt",{number,number}]; n=length[a]/7; b=table[listplot[a[[7(i-)+;;7(i-)+7]],joined->true],{i,,n,6}] Show[b,PlotRange->All] Μελετώντας τα ανωτέρω διαγράμματα καταλήγουμε στο συμπέρασμα ότι ακριβή λύση στο πρόβλημά μας δίνουν μόνον τα ρητά σχήματα και μάλιστα μόνο για v. Σε όλες τις υπόλοιπες περιπτώσεις όλα τα σχήματα παρουσιάζουν κάποιο βαθμό

αριθμητικής διάχυσης (απόσβεση και διασπορά), με αποτέλεσμα η λύση να αποκλίνει ολοένα και περισσότερο από την αναλυτική καθώς μετακινούμαστε στο χρόνο. Επίσης, παρατηρούμε ότι οι λύσεις των σχημάτων McCormack και Lax-Wendroff ταυτίζονται για το συγκεκριμένο προβλημα. Τέλος, παρατηρούμε ότι για τιμές του v τα ρητά σχήματα αποκλίνουν. Τα ανωτέρω συμπεράσματα βρίσκονται σε ακολουθία με τη θεωρητική ανάλυση της ευστάθειας και της συνοχής των αριθμητικών σχημάτων που χρησιμοποιήθηκαν. Ειδικότερα για τη συνοχή των συγκεκριμένων σχημάτων ισχύουν τα ακόλουθα: Η τροποποιημένη εξίσωση πεπερασμένων διαφορών του σχήματος FTBS είναι η cx x 3 3 ut cux vuxx c v 3v uxxx Ox, x t, xt, t 6 (3) όπου c0, x. Αν στην εξ. (3) θέσουμε v τότε προκύπτει η εξίσωση 3 3 ut cux 0 O x, x t, xt, t, η οποία είναι σχεδόν ταυτόσημη με την αρχική εξίσωση κύματος. Επομένως στη συγκεκριμένη περίπτωση δεν έχουμε αριθμητική διάχυση. Αν στην εξ. (3) θέσουμε v 0. τότε προκύπτει η εξίσωση 3 3 ut cux 0 uxx O x, x t, xt, t, η οποία έχει μόνο αριθμητική απόσβεση. Αν, τέλος, στην εξ. (3) θέσουμε v 0. τότε προκύπτει η εξίσωση 3 3 ut cux 7uxx. uxxx O x, x t, xt, t, η οποία παρουσιάζει και αριθμητική απόσβεση (άρτιες παράγωγοι του u ) και αριθμητική διασπορά (περιττές παράγωγοι του u ). Η τροποποιημένη εξίσωση πεπερασμένων διαφορών του σχήματος Lax-Wendroff είναι η 3 cx x ut cux v uxxx c v u (4) xxxx 6 8 η οποία για v ανάγεται στην αρχική εξίσωση κύματος, ενώ για v 0. και v 0. γίνεται αντίστοιχα ut cux uxxx 9.37uxxxx και ut cux 3.uxxx.86uxxxx οι οποίες παρουσιάζουν αριθμητική απόσβεση. Το σχήμα McCormack έχει συμπεριφορά αντίστοιχη με αυτή του Lax-Wendroff. Τέλος για την πεπλεγμένη Euler, η τροποποιημένη εξίσωση πεπερασμένων διαφορών είναι η 3 ut cux c tu xx c x c t uxxx 6 3 Παρατηρούμε ότι το δεξιό τμήμα της τροποποιημένης εξίσωσης δεν μηδενίζεται για οποιαδήποτε επιλογή του αριθμού, επομένως το σχήμα θα παρουσιάζει πάντοτε αριθμητική διάχυση.