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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εφαρμογή της μεθόδου πεπερασμένων διαφορών στην εξίσωση θερμότητας

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

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

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

Κεφάλαιο 2. Μέθοδος πεπερασµένων διαφορών προβλήµατα οριακών τιµών µε Σ Ε

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

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

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

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

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

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

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

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ, , 5 Ο ΕΞΑΜΗΝΟ ΔΙΔΑΣΚΩΝ: Δ. Βαλουγεώργης Απαντήσεις: ΠΡΟΟΔΟΣ 1, Επιμέλεια λύσεων: Γιώργος Τάτσιος

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ ΕΡΓΑΣΤΗΡΙΟ ΡΕΥΣΤΟΜΗΧΑΝΙΚΗΣ ΚΑΙ ΣΤΡΟΒΙΛΟΜΗΧΑΝΩΝ

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

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

Κεφ. 2: Επίλυση συστημάτων εξισώσεων. 2.1 Επίλυση εξισώσεων

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

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

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

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

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

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

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

Κεφ. 2: Επίλυση συστημάτων αλγεβρικών εξισώσεων. 2.1 Επίλυση απλών εξισώσεων

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

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

ΦΑΙΝΟΜΕΝΑ ΜΕΤΑΦΟΡΑΣ ΙΙ ΜΕΤΑΦΟΡΑ ΘΕΡΜΟΤΗΤΑΣ ΚΑΙ ΜΑΖΑΣ

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

Κεφ. 3: Παρεμβολή. 3.1 Εισαγωγή. 3.2 Πολυωνυμική παρεμβολή Παρεμβολή Lagrange Παρεμβολή Newton. 3.3 Παρεμβολή με κυβικές splines

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

ΜΑΣ 371: Αριθμητική Ανάλυση ΙI ΑΣΚΗΣΕΙΣ. 1. Να βρεθεί το πολυώνυμο Lagrange για τα σημεία (0, 1), (1, 2) και (4, 2).

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

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

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

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

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

Κεφ. 4: Ολοκλήρωση. 4.1 Εισαγωγή

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

Κεφ. 2: Επίλυση συστημάτων αλγεβρικών εξισώσεων. 2.1 Επίλυση απλών εξισώσεων

Κεφ. 3: Παρεμβολή. 3.1 Εισαγωγή. 3.2 Πολυωνυμική παρεμβολή Παρεμβολή Lagrange Παρεμβολή Newton. 3.3 Παρεμβολή με κυβικές splines

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

ES440/ES911: CFD. Chapter 5. Solution of Linear Equation Systems

f x και τέσσερα ζευγάρια σημείων

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ, , 3 ο ΕΞΑΜΗΝΟ ΑΠΑΝΤΗΣΕΙΣ ΕΡΓΑΣΙΑΣ #4: ΑΡΙΘΜΗΤΙΚΗ ΟΛΟΚΛΗΡΩΣΗ ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

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

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

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

ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Κωνσταντίνος Ξ. Τσιόκας. Αν. Καθηγήτρια Α.Π.Θ.

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

ΚΩ ΙΚΑΣ ΕΠΙΛΥΣΗΣ ΜΕΤΑΦΟΡΑΣ ΘΕΡΜΟΤΗΤΑΣ ΜΕ ΑΚΤΙΝΟΒΟΛΙΑ ΣΕ ΚΛΕΙΣΤΕΣ ΚΟΙΛΟΤΗΤΕΣ ΜΕ ΙΑΧΥΤΙΚΕΣ ΚΑΙ ΓΚΡΙΖΕΣ ΕΠΙΦΑΝΕΙΕΣ

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

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

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

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

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

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

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

Εφαρμοσμένα Μαθηματικά ΙΙ 4ο Σετ Ασκήσεων (Λύσεις) Διπλά Ολοκληρώματα Επιμέλεια: Ι. Λυχναρόπουλος

11 ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ

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

ΣΥΝΗΘΕΙΣ ΔΙΑΦΟΡΙΚΕΣ ΕΞΙΣΩΣΕΙΣ ΣΤΗ MATLAB

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

y 1 (x) f(x) W (y 1, y 2 )(x) dx,

Υπολογισμός Παροχής Μάζας σε Αγωγό Τετραγωνικής Διατομής

A Τελική Εξέταση του μαθήματος «Αριθμητική Ανάλυση» Σχολή Θετικών Επιστημών, Τμήμα Μαθηματικών, Πανεπιστήμιο Αιγαίου

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

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

Partial Differential Equations in Biology The boundary element method. March 26, 2013

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

Κεφάλαιο 1: Προβλήµατα τύπου Sturm-Liouville

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

Εργαστήριο 2 - Απαντήσεις. Επίλυση Γραμμικών Συστημάτων

Παράδειγμα #2 ΑΡΙΘΜΗΤΙΚΗ ΚΙΝΗΤΗΣ ΥΠΟΔΙΑΣΤΟΛΗΣ ΚΑΙ ΡΙΖΕΣ ΕΞΙΣΩΣΕΩΝ. ΕΠΙΜΕΛΕΙΑ: Σ. Βαρούτης

Συνήθεις Διαφορικές Εξισώσεις Ι Ασκήσεις - 09/11/2017. Άσκηση 1. Να βρεθεί η γενική λύση της διαφορικής εξίσωσης. dy dx = 2y + x 2 y 2 2x

Πεπερασμένες Διαφορές.

ΦΑΙΝΟΜΕΝΑ ΜΕΤΑΦΟΡΑΣ ΙΙ

Transcript:

Παράδειγμα #9 ΠΡΟΒΛΗΜΑΤΑ ΔΥΟ ΟΡΙΑΚΩΝ ΤΙΜΩΝ ΕΛΛΕΙΠΤΙΚΕΣ ΣΔΕ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης Άσκηση Να επιλυθεί η εξίσωση ροής διαμέσου ενός κυλινδρικού αγωγού λόγω διαφοράς πίεσης: d u du u = + = dr r dr du με οριακές συνθήκες u () = 0 και u (0) πεπερασμένη ή = 0 (συνθήκη συμμετρίας). Στην dr r = 0 συνέχεια να υπολογιστεί η ογκομετρική παροχή του ρευστού. Απάντηση: Η αναλυτική λύση της διαφορικής εξίσωσης δίνεται με τη βοήθεια της Mathematica: DSolve[{u''[r] + /r*u'[r] == -, u[] == 0, u'[0] == 0}, u[r], r] 4 Αναλυτική λύση: u( r) = ( r ) π r Αναλυτική ογκομετρική παροχή: Q = u r da = u r r drdθ = 0.397 Για την αριθμητική επίλυση του προβλήματος αρχικά διακριτοποιείται το πεδίο ορισμού. Η ακτίνα του αγωγού χωρίζεται σε N ίσα τμήματα ( N + κόμβοι) πλάτους r = / N. 0 0 0 r N N+ r=0 i- i i+ r= Αναπτύσσοντας τις εκφράσεις των πεπερασμένων διαφορών για τις παραγώγους η διακριτοποιημένη εξίσωση στους εσωτερικούς κόμβους i =,3... N δίνεται ως: - -

u u + u u u + = i+ i i i+ i r ri r u 0 = 0 u + = 0 Η οριακή συνθήκη στο τοίχωμα του αγωγού είναι: N Η οριακή συνθήκη στον άξονα συμμετρίας είναι: 4u 4u = r Το γραμμικό σύστημα που προκύπτει είναι τριδιαγώνιο όπως φαίνεται παρακάτω και επιλύεται με τον αλγόριθμο Thomas. 4 4 0 0 0 0 + 0 0 0 u r r r r r r r r u = 0 0 + 0 ui r ri r r r ri r u N 0 0 0 0 r rn r r Μετά την επίλυση του παραπάνω συστήματος η ογκομετρική παροχή μπορεί να υπολογιστεί με τον κανόνα τραπεζίου ως: π r N Q = u ( r) da = u ( r) r drdθ = π r ru + ru i i + rn+ un+ i= 0 0 Το πρόγραμμα σε Fortran που εκτελεί τους παραπάνω υπολογισμούς δίνεται παρακάτω: program CylinderPoiseuille implicit none integer::i,n real*8::pi,tstart,tend,radius,dr,q real*8,allocatable::r(:),u(:) real*8,allocatable::a(:,:) Pi=acos(-.)!Find program start time call cpu_time(tstart)!open output file open(00,file="cylinderpoiseuille_results.dat") - -

!Definition of geometry and discetization radius=.!radius of cylinder n=3!number of discrete segments (n+ nodes)!definition of the linear system of equations Dr=radius/Real(n) allocate(r(n+),u(n+),a(n,n+)) do i=,n r(i)=(i-)*dr Enddo a(:,:n)=0. ; a(:,n+)=-. a(,)=4. ; a(,)=-4 ; a(,n+)=dr**. do i=,n- a(i,i-)=./dr**.-./(.*r(i)*dr) a(i,i)=-./dr**. a(i,i+)=./dr**.+./(.*r(i)*dr) a(n,n-)=./dr**.-./(.*r(n)*dr); a(n,n)=-./dr**.;!write the linear system of equations to the output file write(00,"(a)") "-----------------------------------------------" write(00,"(a)") "--------- Linear system of equations ----------" write(00,"(a)") "-----------------------------------------------" do i=,n write(00,"(0000es5.5)") a(i,:)!solve the linear system using the Thomas algorithm Call Thomas(n,a,u)!Write the linear system of equations to the output file write(00,"(a)") "----------------------------------" write(00,"(a)") "----- Linear system solution -----" write(00,"(a)") "----------------------------------" do i=,n write(00,"(a,f5.3,a,es0.0)")"u(",r(i),")=",u(i) write(00,"(a,f5.3,a,es0.0)")"u(",radius,")=",0.!wall boundary condition!volumetric flowrate Q=u()*r() do i=,n Q=Q+.*u(i)*r(i) Q=Pi*Dr*Q write(00,"(a)") "----- Volumetric flow rate ------" write(00,"(a,es0.0)")"q=",q!find program end time call cpu_time(tend) - 3 -

write(*,"(a,es4.4,x,a)") "Program has used", tend-tstart,"seconds of CPU time." write(*,"(a)") "Open file CylinderPoiseuille_results.dat for the solution..." write(00,"(a)") "----------------------------------" write(00,"(a,es4.4,x,a)") "Program has used", tend-tstart,"seconds of CPU time."!close output file close(00) Contains Subroutine Thomas(n,a,x) implicit none integer::i,n real*8::x(n+),a(n,n+) real*8,allocatable::e(:),g(:) allocate(e(n),g(n))!find vectors e and g e()=a(,) ; g()=a(,n+)/e() do i=,n e(i)=a(i,i)-a(i,i-)*a(i-,i)/e(i-) g(i)=(a(i,n+)-a(i,i-)*g(i-))/e(i)!backsubstitution to find x x(n)=g(n) do i=n-,,- x(i)=g(i)-a(i,i+)*x(i+)/e(i) deallocate(e,g) end Subroutine end program Με τον παραπάνω κώδικα για ένα αραιό πλέγμα με N = 3 υποδιαστήματα (4 κόμβοι) το σύστημα που προκύπτει είναι: 4.000 4.000 0.000 u 0.000 0. 4.500 8.00 3.50 u 0.333 =.000 0.000 6.750 8.00u 0.667.000 Από την επίλυση του προκύπτει το προφίλ ταχυτήτων: u ( 0) = 0.5 u ( / 3) = 0. u ( / 3) = 0.389 u = 0.0 Με αριθμητική ολοκλήρωση προκύπτει η ογκομετρική παροχή: Q = 0.349-4 -

Από τα παραπάνω φαίνεται πως οι αριθμητικές τιμές της ταχύτητας ταυτίζονται με τις αντίστοιχες αναλυτικές. Στον παρακάτω πίνακα εμφανίζονται ενδεικτικά αποτελέσματα για τον προφίλ ταχυτήτων χρησιμοποιώντας ένα πυκνό πλέγμα N = 00 διαστημάτων και οι αντίστοιχες αναλυτικές τιμές. Ακτίνα r u (Αριθμητική) u (Αναλυτική) 0.0 0.500 0.500 0. 0.475 0.475 0. 0.400 0.400 0.3 0.75 0.75 0.4 0.00 0.00 0.5 0.875 0.875 0.6 0.600 0.600 0.7 0.75 0.75 0.8 0.0900 0.0900 0.9 0.0475 0.0475.0 0.0000 0.0000 Η αντίστοιχη ογκομετρική παροχή είναι: Q = 0.397 Όπως αναμένεται οι αριθμητικές τιμές πάλι ταυτίζονται με τις αντίστοιχες αναλυτικές ενώ το αριθμητικό αποτέλεσμα της ογκομετρικής παροχής βελτιώνεται σημαντικά και ταυτίζεται σε 4 σημαντικά ψηφία με το αναλυτικό αποτέλεσμα. Άσκηση Δίνεται το πρόβλημα ιδιοτιμών: dw kw w w 0, (0) () 0 dx + = = = Να υπολογισθούν αριθμητικά οι δέκα πρώτες ιδιοτιμές (ιδιοσυχνότητες). Να συγκριθούν οι πρώτες δύο με τις αντίστοιχες αναλυτικές. Απάντηση: Η γενική αναλυτική λύση του προβλήματος έχει την μορφή: w( x) = Acos( kx) + B sin ( kx) Οι αυθαίρετες σταθερές A και B προσδιορίζονται από τις οριακές συνθήκες ως: w Για μη τετριμμένες λύσεις 0 ( 0) = 0 A= 0, w( L) B ( kl) B προκύπτει : = 0 sin = 0 n π L n π L sin kl = 0 k = λ = k =, n =,,... - 5 -

Για την αριθμητική επίλυση αναπτύσσεται η έκφραση των πεπερασμένων διαφορών για την δεύτερη παράγωγο και η διακριτοποιημένη εξίσωση στους εσωτερικούς κόμβους i =,..., N + (συνολικά N + κόμβοι) δίνεται ως: wi+ wi + wi + kw 0 i = w i+ + k w i + w i = 0, i=,..., N+ h h h h όπου h = L N w 0 = w L = 0 w = w + = 0. + ενώ από τις οριακές συνθήκες N Η μορφή του παραπάνω συστήματος είναι: + k 0 0 0 h h w 0 M w = 0 0 k 0 w 0 + i = h h h 0 wn + 0 0 0 k + Για την εύρεση των ιδιοτιμών θέτεται η ορίζουσα ίση με το μηδέν και επιλύεται η προκύπτουσα εξίσωση (πολυώνυμο N βαθμού). Εναλλακτικά το σύστημα ξαναγράφεται A ki w= 0 και ζητούνται οι ιδιοτιμές του πίνακα A. στην μορφή Η εύρεση των ιδιοτιμών του πίνακα A για οποιοδήποτε αριθμό εσωτερικών κόμβων N γίνεται με την βοήθεια της Mathematica ως: L=; n=0; h=l/(n+); t=table[0,{n},{n}]; Do[t[[i,i+]]=N[-/h^],{i,n-}]; Do[t[[i,i]]=N[/h^],{i,n}]; Do[t[[i,i-]]=N[-/h^],{i,,n}]; TableForm[t] sol=sort[eigenvalues[t]]; p[n_]:=n[n^*pi^/l^]; Analytical=Table[p[i],{i,,n}]; error=(analytical-sol)/analytical*00.; TableForm[Transpose[{sol,Analytical,error}]] h h - 6 -

Με βάση τον παραπάνω κώδικα υπολογίζονται οι ιδιοτιμές για N =, 5,0. Α/Α Αναλυτικές Αριθμητικές N = Αριθμητικές N = 5 Αριθμητικές N = 0 Σφάλμα % N = Σφάλμα % N = 5 Σφάλμα % N = 0 9.8696 8.0000.639 9.807 8.9 77. 0.68 39.478-8.809 38.47-77.7.69 3 88.86-8.943 83.54-78.7 5.97 4 57.9-3.608 4.47-80,0 0.4 5 46.74-45.548 07.56-8.5 5.9 6 355.3 - - 76.44 - -. 7 483.6 - - 34.53 - - 9. 8 63.65 - - 400.48 - - 36.6 9 799.44 - - 445.58 - - 44.3 0 986.96 - - 474.0 - - 5.0 Παρατηρείται ότι καθώς αυξάνεται η διακριτοποίηση του προβλήματος οι αριθμητικές ιδιοτιμές συγκλίνουν στις αναλυτικές. Συγκεκριμένα για N = 0 οι πρώτες δύο ιδιοτιμές είναι σε ικανοποιητική συμφωνία με τις αντίστοιχες αναλυτικές ενώ για τις επόμενες ιδιοτιμές παρατηρείται ότι το σφάλμα αρχίζει να αυξάνει σημαντικά. Άσκηση 3 Να επιλυθεί το παρακάτω πρόβλημα Hartmann: d u db + = dy dy d b du + = 0 dy dy b ± = 0. Με οριακές συνθήκες u ( ± ) = 0 και Απάντηση: Το χωρίο επίλυσης y (,) διακριτοποιείται σε N ισαπέχοντες κόμβους ( N διαστήματα πλάτους y = / ( N ) ). Δy=/(Ν-) N- N y=- i- i i+ y= Αναπτύσσοντας τις εκφράσεις των πεπερασμένων διαφορών για τις παραγώγους οι διακριτοποιημένες εξισώσεις στους εσωτερικούς κόμβους i =,..., N γράφονται ως: - 7 -

ui+ ui + ui bi+ bi + =, y y i =,..., N bi+ bi + bi ui+ ui + = 0, y y i =,..., N u ± = 0 u = u = 0, b ± = 0 b = b = 0 Οριακές συνθήκες: N Από τις παραπάνω εξισώσεις προκύπτει ένα ( N ) ( N ) N γραμμικό σύστημα το οποίο πρέπει να επιλυθεί. Για παράδειγμα το παραπάνω σύστημα για N = 5 κόμβους γράφεται: 0 0 0 y y y 0 u y y y y y 3 0 0 0 u y y y u4 = b 0 0 0 0 y y y b3 0 b 4 0 0 y y y y y 0 0 0 y y y Πρόγραμμα σε Mathematica που κατασκευάζει και επιλύει το παραπάνω γραμμικό σύστημα: - 8 -

n=0; Dy=./(n-); n=n-; A=ConstantArray[0,{*n,*n}]; Do[A[[i,i]]=-./Dy^,{i,,n}]; Do[A[[i,i+]]=./Dy^,{i,,n-}]; Do[A[[i,i-]]=./Dy^,{i,,n}]; Do[A[[i,i+n+]]=./(*Dy),{i,,n-}]; Do[A[[i,i+n-]]=-./(*Dy),{i,,n}]; Do[A[[i+n,j]]=A[[i,j+n]],{i,,n},{j,,n}]; Do[A[[i+n,j+n]]=A[[i,j]],{i,,n},{j,,n}]; c=constantarray[0,{*n}]; Do[c[[i]]=-,{i,,n}]; sol=linearsolve[a,c]; y=constantarray[0,n+]; u=constantarray[0,n+]; b=constantarray[0,n+]; Do[y[[i]]=-+(i-)*Dy,{i,,n+}] Do[u[[i+]]=sol[[i]],{i,,n}] Do[b[[i+]]=sol[[i+n]],{i,,n}] TableForm[Transpose[{y,u,b}]] Show[ListLinePlot[Transpose[{y,u}]],ListLinePlot[Transpose[{y,b}],PlotStyl e->red],plotrange->all,plotlabel->none,labelstyle- >{4,GrayLevel[0],Bold},ImageSize->Large] Στην γενική του μορφή το παραπάνω σύστημα μπορεί επίσης να επιλυθεί με την επαναληπτική μέθοδο Gauss-Seidel. Από τις διακριτοποιημένες εξισώσεις προκύπτει απευθείας ο επαναληπτικός χάρτης της μεθόδου ως: Οριακή συνθήκη u ( ± ) = 0: u u N ( k+ ) ( k) ( k+ ) ( k) ( k) Εσωτερικοί κόμβοι: ui = ( y + ( ui+ + ui ) + y( bi+ bi ) ), i =,..., N 4 Οριακή συνθήκη b ( ± ) = 0: ( k+ ) ( k+ ) = = 0 ( k+ ) ( k+ ) b = b N = 0 ( k+ ) Εσωτερικοί κόμβοι: ( ) k k+ k+ k+ b i = bi+ + bi + y ui+ ui, i =,..., N 4 Πρόγραμμα σε Fortran που επιλύει το παραπάνω πρόβλημα: Program HartmannDirichlet implicit none integer::i,iter,maxiter,n real*8::dy,error,err,tstart,tend real*8,allocatable::y(:),uold(:),u(:),bold(:),b(:)!find program start time call cpu_time(tstart) - 9 -

!Open output file open (00,file="HartmannDirichlet_results.dat")!Definition of parameters for the Gauss-Seidel method n=!number of nodes allocate(y(n),uold(n),u(n),bold(n),b(n))!memory allocation error=d-0!desired error maxiter=0000!number of maximum iterarions uold()=0.; uold(n)=0.!boundary conditions for u(y) bold()=0.; bold(n)=0.!boundary conditions for b(y) uold(:n-)=0.!inititial guess for u(y) bold(:n-)=0.!inititial guess for b(y)!implementation of Gauss-Seidel method dy=./(n-.)!segment width do i=,n y(i)=-.+(i-)*dy!initial parameters err=. iter=0 u=uold b=bold!write initial guess to output file write(00,"(a)") "----------------------------------" write(00,"(a)") "--------- Initial guess ----------" write(00,"(a)") "----------------------------------" write(00,"(a)") " y u(y) b(y)" do i=,n write(00,"(3es0.8)") y(i),uold(i),bold(i) do while (iter<=maxiter.and. err>=error) do i=,n- u(i)=(.*dy**.+.*(uold(i+)+u(i-))+dy*(bold(i+)-bold(i- )))/4. Enddo do i=,n- b(i)=(.*(bold(i+)+b(i-))+dy*(u(i+)-u(i-)))/4.!find error err = sqrt(sum((u-uold)**.)+sum((b-bold)**.))/(.*n) uold = u bold = b iter=iter+!write results to output file write(00,"(a)") "----------------------------------" write(00,"(a,i5,a)") "--------- Iteration ",iter," ---------" write(00,"(a)") "----------------------------------" - 0 -

write(00,"(a,es5.5)") "The error is : ",err write(00,"(a)") " y u(y) b(y)" do i=,n write(00,"(3es0.8)") y(i),uold(i),bold(i)!write results to screen If (iter>maxiter) then write(*,"(a,i0,a)") "Solution didn't converge after: ",iter-," iterations." write(*,*) endif!find program end time call cpu_time(tend) write(*,"(a,i0,a)") "Solution converge after: ",iter," iterations." write(*,"(a,es4.4,x,a)") "Program has used", tend-tstart,"seconds of CPU time." write(*,"(a)") "Open file HartmannDirichlet_results for the solution..." write(00,"(a)") "----------------------------------" write(00,"(a,es4.4,x,a)") "Program has used", tend-tstart,"seconds of CPU time."!close output file close(00) end Τα αποτελέσματα του παραπάνω κώδικα σε Fortran ταυτίζονται με τα αντίστοιχα αποτελέσματα του κώδικα σε Mathematica. Εκτελώντας οποιονδήποτε από τους δύο παραπάνω κώδικες για N = 3 και N = λαμβάνονται πινακοποιημένα αποτελέσματα για b y που φαίνονται παρακάτω: τα u( y ) και Αποτελέσματα για N = 3 Αποτελέσματα για N = y u( y ) b( y ) y u( y ) b( y ) -.000 0.000 0.000 -.0 0.0000 0.0000 0.000 0.500 0.000-0.8 0.755 0.0446.000 0.000 0.000-0.6 0.305 0.0586-0.4 0.3943 0.0508-0. 0.4463 0.089 0.0 0.4634 0.00000 0. 0.4463-0.089 0.4 0.3943-0.0508 0.6 0.305-0.0586 0.8 0.755-0.0446 0.0000 0.0000 - -

Επίσης παρουσιάζονται οι γραφικές παραστάσεις που παράγονται από την Mathematica b y. όπου η μπλε και η κόκκινη γραμμή αντιστοιχούν στα u( y ) και Γραφική παράσταση για N = 3 Γραφική παράσταση για N = Άσκηση 4 Έστω το πρόβλημα μεταφοράς θερμότητας μεταξύ ομοαξονικών κυλίνδρων: T r = 0, R r R, T( R ) = T, T( R ) = T r r r Να επιλυθεί το παραπάνω πρόβλημα θεωρώντας R =, R = 3, T = 00, T = 300. Απάντηση: Η δοσμένη διαφορική εξίσωση γράφεται στην ισοδύναμη μορφή: T T + = 0 r r r Η αναλυτική λύση του παραπάνω προβλήματος μπορεί να βρεθεί με Mathematica ως: sol=dsolve[{t''[r]+t'[r]/r==0,t[r]==t,t[r]==t},t[r],r] sol/.{r->,r->3,t->00,t->300} Από τα παραπάνω προκύπτει η αναλυτική λύση: T r T ln r T ln r+ T ln R T ln R T ln r/ R T ln r/ R = = ln R ln R ln R/ R Καθώς και η λύση για τα δεδομένα του προβλήματος T( r) 00ln r = 00 + = 00 + 9ln r ln 3 - -

Για την αριθμητική επίλυση του παραπάνω προβλήματος το χωρικό πεδίο r ( R, R) διακριτοποιείται σε N ίσα διαστήματα ( N + κόμβοι) πλάτους r = ( R R ) N = N / / 0 3 N N+ r= i- i i+ r=3 Αναπτύσσοντας τις εκφράσεις των πεπερασμένων διαφορών για τις παραγώγους η διακριτοποιημένη εξίσωση στους εσωτερικούς κόμβους i =,..., N γράφεται ως: T T + T T T + = 0 i+ i i i+ i r ri r + Ti+ + T i + T i = 0, i =,..., Ν r ri r r r ri r 3 = 300 = 300. Από τις οριακές συνθήκες προκύπτει T = 00 T = 00 και T T N + Το γραμμικό σύστημα που προκύπτει είναι τριδιαγώνιο όπως φαίνεται παρακάτω και επιλύεται με τον αλγόριθμο Thomas. 0 0 0 + r r ri r T T r ri r 0 + 0 T i = 0 r ri r r r ri r T N 0 0 0 + T r r r ri r i r r N + - 3 -

Πρόγραμμα σε Fortran: program HeatTransferCoaxCylinders implicit none integer::i,n real*8::tstart,tend,dr,r,r,tr,tr real*8,allocatable::r(:),t(:) real*8,allocatable::a(:,:)!find program start time call cpu_time(tstart)!open output file open(00,file="heattransfercoaxcylinders_results.dat")!definition of geometry and discetization R=.!Radius of inner cylinder R=3.!Radius of outer cylinder TR=00.!Temperature at inner cylinder TR=300.!Temperature at outer cylinder n=4!number of discrete segments (n+ nodes)!definition of the linear system of equations Dr=(R-R)/Real(n) allocate(r(n+),t(n+),a(n-,n)) Do i=,n+ r(i)=r+(i-)*dr Enddo T()=TR; T(n+)=TR; a=0. a(,)=-./dr**. ; a(,)=./dr**.+./(.*r()*dr) ; a(,n)=-(./dr**.-./(.*r()*dr))*tr Do i=,n- a(i,i-)=./dr**.-./(.*r(i)*dr) a(i,i)=-./dr**. a(i,i+)=./dr**.+./(.*r(i)*dr) a(i,n)=0. Enddo a(n-,n-)=./dr**.-./(.*r(n)*dr); a(n-,n-)=-./dr**.; a(n-,n)=- (./Dr**.+./(.*r(n)*Dr))*TR!Write the linear system of equations to the output file write(00,"(a)") "-----------------------------------------------" write(00,"(a)") "--------- Linear system of equations ----------" write(00,"(a)") "-----------------------------------------------" do i=,n- write(00,"(0000es5.5)") a(i,:)!solve the linear system using the Thomas algorithm Call Thomas(n-,a,T(:n))!Write the linear system of equations to the output file write(00,"(a)") "----------------------------------" write(00,"(a)") "----- Linear system solution -----" write(00,"(a)") "----------------------------------" - 4 -

do i=,n+ write(00,"(a,f5.3,a,es0.0)")"t(",r(i),")=",t(i)!find program end time call cpu_time(tend) write(*,"(a,es4.4,x,a)") "Program has used", tend-tstart,"seconds of CPU time." write(*,"(a)") "Open file CylinderPoiseuille_results.dat for the solution..." write(00,"(a)") "----------------------------------" write(00,"(a,es4.4,x,a)") "Program has used", tend-tstart,"seconds of CPU time."!close output file close(00) Contains Subroutine Thomas(n,a,x) implicit none integer::i,n real*8::x(n),a(n,n+) real*8,allocatable::e(:),g(:) allocate(e(n),g(n))!find vectors e and g e()=a(,) ; g()=a(,n+)/e() do i=,n e(i)=a(i,i)-a(i,i-)*a(i-,i)/e(i-) g(i)=(a(i,n+)-a(i,i-)*g(i-))/e(i)!backsubstitution to find x x(n)=g(n) do i=n-,,- x(i)=g(i)-a(i,i+)*x(i+)/e(i) deallocate(e,g) End Subroutine end program Με τον παραπάνω κώδικα για ένα αραιό πλέγμα με N = 4 υποδιαστήματα (5 κόμβοι) το σύστημα που προκύπτει είναι: 8.000 4.667 0.000 T.5 666.7 3.500 8.000 4.500 T.0 = 0.000 0.000 3.600 8.000T.5 30-5 -

Από την επίλυση του προκύπτει το προφίλ ταχυτήτων r Αναλυτική λύση T Αριθμητική λύση * * T T T / T 00 % 0.0 00.000 00.000 0.000.5 36.907 36.706 0.085.0 63.093 6.94 0.064.5 83.404 83.36 0.03 3.0 300.000 300.000 0.000 Στην συνέχεια παρουσιάζονται ενδεικτικά αποτελέσματα για ένα πυκνό πλέγμα με N = 00 υποδιαστήματα (0 κόμβοι) r Αναλυτική λύση T Αριθμητική λύση * * T T T / T 00 %.0 00.000 00.000 0.00E+00. 6.596 6.595.E-04.4 30.67 30.67.43E-04.6 4.78 4.78.43E-04.8 53.503 53.50.9E-04 63.093 63.093.09E-04. 7.768 7.768 8.68E-05.4 79.689 79.688 6.40E-05.6 86.974 86.974 4.7E-05.8 93.70 93.70.03E-05 3.0 300.000 300.000 0.00E+00 Η γραφική παράσταση της θερμοκρασίας για το πλέγμα με N = 00 φαίνεται παρακάτω: - 6 -