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

Σχετικά έγγραφα
y 1 και με οριακές συνθήκες w

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

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

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

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

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

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

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

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

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

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

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

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

ΠΡΟΒΛΗΜΑΤΑ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ

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

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

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

Αριθμητική παραγώγιση εκφράσεις πεπερασμένων διαφορών

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις κέντρου μάζας και ροπής αδράνειας. αν φανταστούμε ότι το χωρίζουμε το στερεό σώμα σε μικρά κομμάτια, μόρια, μάζας m i και θέσης r i

Ορισμός Τετραγωνική ονομάζεται κάθε συνάρτηση της μορφής y = αx 2 + βx + γ με α 0.

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

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

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ. ΜΕΡΟΣ 1ο ΑΛΓΕΒΡΑ

ΣΥΝΑΡΤΗΣΕΩΝ. f3 x = και

ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ. Μια παράσταση που περιέχει πράξεις με μεταβλητές (γράμματα) και αριθμούς καλείται αλγεβρική, όπως για παράδειγμα η : 2x+3y-8

3. α) Να λύσετε την εξίσωση x 2 = 3. β) Να σχηματίσετε εξίσωση δευτέρου βαθμού με ρίζες, τις ρίζες της εξίσωσης του α) ερωτήματος.

ΜΕΘΟΔΟΣ ΠΕΠΕΡΑΣΜΕΝΩΝ ΣΤΟΙΧΕΙΩΝ

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

Αριθμητική επίλυση του προβλήματος της Αγωγής Θερμότητας.

Εξίσωση Laplace Θεωρήματα Μοναδικότητας

Κλασική Ηλεκτροδυναμική Ι

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

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

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

ΟΡΙΑΚΟ ΣΤΡΩΜΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΘΕΩΡΗΤΙΚΗ ΑΝΑΛΥΣΗ. Σημειώσεις. Επιμέλεια: Άγγελος Θ. Παπαϊωάννου, Ομοτ. Καθηγητής ΕΜΠ

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

Υποστηρικτικό υλικό για την εργασία «Πειραματική διάταξη για τη μελέτη της ροής ρευστού σε σωλήνα» του Σπύρου Χόρτη.

Άσκηση 1. Α. Υπολογίστε χωρίς να εκτελέσετε κώδικα FORTRAN τα παρακάτω: Ποιά είναι η τελική τιμή του Z στα παρακάτω κομμάτια κώδικα FORTRAN:

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

ΜΕΛΕΤΗ ΒΑΣΙΚΩΝ ΣΥΝΑΡΤΗΣΕΩΝ

1 ΘΕΩΡΙΑΣ...με απάντηση

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

Βασικές Γνώσεις Μαθηματικών Α - Β Λυκείου

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

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

ΜΕΤΡΗΣΕΙΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΥΨΗΛΩΝ ΤΑΣΕΩΝ

πάχος 0 πλάτος 2a μήκος

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

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

δίου ορισμού, μέσου του τύπου εξαρτημένης μεταβλητής του πεδίου τιμών που λέγεται εικόνα της f για x α f α.

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

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

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


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

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

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

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

ΕΠΙΤΡΟΠΗ ΔΙΑΓΩΝΙΣΜΩΝ 33 η Ελληνική Μαθηματική Ολυμπιάδα "Ο Αρχιμήδης" 27 Φεβρουαρίου 2016

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

Η συνάρτηση y = αχ 2. Βρέντζου Τίνα Φυσικός Μεταπτυχιακός τίτλος: «Σπουδές στην εκπαίδευση» ΜEd

ΚΕΦΑΛΑΙΟ 1 ο : ΔΙΑΦΟΡΙΚΟΣ ΛΟΓΙΣΜΟΣ

7. ΑΝΩΜΑΛΑ ΣΗΜΕΙΑ, ΠΟΛΟΙ ΚΑΙ ΤΟ ΘΕΩΡΗΜΑ ΤΩΝ ΟΛΟΚΛΗΡΩΤΙΚΩΝ ΥΠΟΛΟΙΠΩΝ. και σε κάθε γειτονιά του z

Κεφάλαιο 4: Στοιχεία της εκδοχής hp της ΜΠΣ στις 2- διαστάσεις

Ασκήσεις Άλγεβρας. Κώστας Γλυκός ΜΑΘΗΜΑΤΙΚΟΣ. B ΓΥΜΝΑΣΙΟΥ Άλγεβρα 265 ασκήσεις και τεχνικές σε 24 σελίδες. εκδόσεις. Καλό πήξιμο

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

Περιπτώσεις συνοριακών συνθηκών σε προβλήματα γεωτεχνικής μηχανικής

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

Εφαρμοσμένα Μαθηματικά ΙΙ

Διανύσµατα στο επίπεδο

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

8. ΜΑΓΝΗΤΙΣΜΟΣ. Φυσική ΙΙ Δ. Κουζούδης. Πρόβλημα 8.6.

Πρόγραμμα Σπουδών Εκπαίδευσης Παιδιών-Προφύγων Τάξεις Ε+ΣΤ Δημοτικού

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

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

ΚΕΦΑΛΑΙΟ 4 ο : ΑΝΙΣΩΣΕΙΣ ΤΟ 2 Ο ΘΕΜΑ

ΚΑΤΑΣΚΕΥΗ ΠΙΝΑΚΑ ΣΥΝΕΚΤΙΚΟΤΗΤΑΣ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ Ι. Γραμμικά τετραγωνικά στοιχεία Q4 Έστω πλέγμα ΝxΜ Έστω πλέγμα με ΝxM στοιχεία:

Τάξη B. Μάθημα: Η Θεωρία σε Ερωτήσεις. Επαναληπτικά Θέματα. Επαναληπτικά Διαγωνίσματα. Επιμέλεια: Κώστας Κουτσοβασίλης. α Ε

Προβλήματα που αφορούν εντολές ελέγχου της ροής ενός προγράμματος.

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

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

Εφαρμοσμένα Μαθηματικά 3η εργαστηριακή άσκηση

Παραδείγματα Διανυσματικοί Χώροι Ι. Λυχναρόπουλος

Ιωάννης Σ. Μιχέλης Μαθηματικός

Εφαρμοσμένα Μαθηματικά ΙΙ

ΑΣΚΗΣΕΙΣ ΔΙΑΦΟΡΙΚΟΥ ΛΟΓΙΣΜΟΥ

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

Transcript:

ΑΣΚΗΣΗ ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΜΕΘΟΔΟΙ, 00-0, 5 Ο ΕΞΑΜΗΝΟ ΕΡΓΑΣΙΑ #3: ΕΛΛΕΙΠΤΙΚΑ ΠΡΟΒΛΗΜΑΤΑ ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ: 5--00 ΕΠΙΜΕΛΕΙΑ: Ιωάννης Λυχναρόπουλος Θεωρούμε τετραγωνική πλάκα πλευράς L που φορτίζεται με ομοιόμορφο φορτίο q. Η πλάκα στηρίζεται και στις τέσσερις πλευρές με απλή στήριξη. Το βέλος κάμψης της w x, y στη κατεύθυνση z είναι η λύση της διαρμονικής εξίσωσης: πλάκας w w w x x y w y q D όπου D είναι ο συντελεστής ακαμψίας. Οι οριακές συνθήκες στην προκειμένη w περίπτωση είναι w 0 και 0, κατά μήκος των τεσσάρων πλευρών, όπου n n δηλώνει την κάθετη διεύθυνση στο σύνορο. Να υπολογισθεί με τη μέθοδο των πεπερασμένων διαφορών το βέλος κάμψης w x, y. Επιλέξτε τις παραμέτρους του προβλήματος έτσι ώστε να αντιστοιχούν σε πραγματικό πρόβλημα. (Βοήθημα: εφαρμόστε το μετασχηματισμό u w) ΛΥΣΗ Εφαρμόζουμε τον μετασχηματισμό u οριακών τιμών: q w και προκύπτουν δύο νέα προβλήματα u και w u D με οριακές συνθήκες u 0 και w 0. Επιλέγοντας ένα τετραγωνικό πλέγμα με x y και εφαρμόζοντας κεντρώες πεπερασμένες διαφορές ης τάξης παίρνουμε τις εξισώσεις πεπερασμένων διαφορών ui, jui, jui, j ui, j ui, jui, j q q u i, j ui, jui, jui, j ui, j D D και w w w w w w i, j i, j i, j i, j i, j i, j u i, j wi, j wi, jwi, jwi, j wi, j ui, j Το πρόγραμμα σε Fortran που επιλύει τα δύο συστήματα είναι το ακόλουθο: Program GaussSeidel implicit none integer,parameter::nx=5,ny=nx! Aritmos diastmatwn (= aritmos kombwn-) Dx=Dy real,parameter::q=000.,d=500,l=. real::w(nx+,ny+),wold(nx+,ny+),u(nx+,ny+),uold(nx+,ny+) integer::i,j,maxi,k real::rel,maxerr,

maxi=50000 rel=0.00000 =L/Nx PRINT*,H u(:,:)=0 k=0 do k=k+ uold(:,:)=u(:,:) do i=,nx do j=,ny u(i,j)= 0.5*(u(i,j+)+u(i,j-)+u(i+,j)+u(i-,j)-(q/D)***) end do end do! elenxos gia termatismo maxerr = maxval(abs(u- uold)) if (maxerr<rel.or. k>maxi) exit PRINT*,"",K,MAXERR end do w(:,:)=0 k=0 do k=k+ wold(:,:)=w(:,:) do i=,nx do j=,ny w(i,j)= 0.5*(w(i,j+)+w(i,j-)+w(i+,j)+w(i-,j)-u(i,j)***) end do end do! elenxos gia termatismo maxerr = maxval(abs(w- wold)) if (maxerr<rel.or. k>maxi) exit PRINT*,"",K,MAXERR end do open(,file='res_gauss.txt',recl=3000) do j=,ny+ write(,*) w(:,j)! print*,w(:,j) end do end Έστω q000, D500, L. Στον επόμενο πίνακα παρουσιάζονται τα αποτελέσματα του w για Nx Ny 5 (αριθμός διαστημάτων) j 6 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 j 5 0.00000 0.0835 0.07538 0.07538 0.0835 0.00000 j 0.00000 0.07538 0.80 0.80 0.07538 0.00000 j 3 0.00000 0.07538 0.80 0.80 0.07538 0.00000 j 0.00000 0.0835 0.07538 0.07538 0.0836 0.00000 j 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 i i i 3 i i 5 i 6

Για ένα πυκνό πλέγμα με Nx Ny 50 χρησιμοποιώντας τον ArrayViewer της Compaq Fortran παίρνουμε το ακόλουθο γράφημα για τη συνάρτηση wx, y : ΑΣΚΗΣΗ Θεωρούμε πλήρως ανεπτυγμένη ροή σε αγωγό ελλειπτικής διατομής λόγω βαθμίδας πίεσης dp dx Poisson:. Η κατανομή ταχύτητας u y, z y a z b είναι η λύση της εξίσωσης u u dp y z dx όπου το ιξώδες του ρευστού. Οι οριακές συνθήκες στην προκειμένη περίπτωση είναι u 0 κατά μήκος των τοιχωμάτων. Να υπολογισθεί με τη μέθοδο των u y, z και στη συνέχεια η παροχή. πεπερασμένων διαφορών η κατανομή ταχύτητας Βοηθήματα: Εισάγετε τις αδιάστατες ποσότητες y y / a, z z / a και u a Αναλυτική λύση: dp 3 3 a b y z dp a b uy, z, Q dx a b a b dx a b u dp / dx ΛΥΣΗ Στα επόμενα έχει γίνει εναλλαγή των αξόνων x και z σε σχέση με την εκφώνηση. Η αρχική διαστατή εξίσωση

u u dp () y x dz αδιαστατοποιείται χρησιμοποιώντας τις σχέσεις a dp / dz y ay, x ax, u u () και προκύπτει η εξίσωση dp / dz u dp / dz u dp u u y x dz x y (3) Η ελλειπτική διατομή γίνεται αντίστοιχα a x y b () y b/ a x Λόγω συμμετρίας του προβλήματος, επιλύεται μόνο το πρώτο τεταρτημόριο της έλλειψης. Έστω ότι a.5, b 5, δηλαδή η εξίσωση της έλλειψης γίνεται x y. (5) Αρχικά εφαρμόζεται ένα αραιό τετραγωνικό πλέγμα με Nx, Ny διαστήματα στην x και y κατεύθυνση αντίστοιχα. Έτσι δημιουργούνται μόνο δύο εσωτερικοί κόμβοι οι (,) και (,), όπως φαίνεται στο ακόλουθο σχήμα: u, u, d u u,, u 3, 0.. Στο σχήμα είναι: ενώ η απόσταση d προκύπτει από την επίλυση της Ny εξίσωσης (5) της έλλειψης ως προς y θέτοντας x. Επειδή επιλύεται το πρόβλημα μόνο στο πρώτο τεταρτημόριο της έλλειψης, μας ενδιαφέρει μόνον η θετική τιμή του 3 y. Έτσι d d d

Εφαρμόζοντας πεπερασμένες διαφορές ης τάξης για την προσέγγιση των μερικών παραγώγων προκύπτουν για τους εσωτερικούς κόμβους οι σχέσεις u0, u, u, u,0 u, u, και u, u, u3, u,0 u, u, d Λόγω συμμετρίας u0, u,, u,0 u, και u,0 u,. Επίσης οι κόμβοι u,, u, και u3, έχουν τιμή ίση με μηδέν από την οριακή συνθήκη. Έτσι τελικά παίρνουμε το ακόλουθο σύστημα δύο εξισώσεων: u u,, 8 u, u, u, 3 η επίλυση του οποίου δίνει u, 0. και u, 0.3. Για την εύρεση της παροχής Q το καμπυλόγραμμο σύνορο προσεγγίζεται με ευθύγραμμα τμήματα: u, u, u u,, u 3, 0.. Q meanarea (6) όπου mean είναι μία μέση τιμή της ταχύτητας u στο κάθε στοιχείο του πλέγματος και area το εμβαδό του αντιστοίχου στοιχείου. Για το στοιχείο το οποίο έχει το σχήμα τραπεζίου το εμβαδό είναι ( d) 3/ και η μέση ταχύτητα προσεγγιστικά προκύπτει από τη σχέση u, u, u, u, 0 0 0. 0.3 0.7 0.75 Για το στοιχείο το οποίο έχει σχήμα ορθογωνίου τριγώνου το εμβαδό είναι d 3 u, u, u3, 0 0.3 0 0.3 και η μέση ταχύτητα 0. 3 3 3 Αθροίζοντας τα γινόμενα παίρνουμε: 3/ 0.75 3 0. 0.06578 d

Η τιμή αυτή αφορά τη παροχή σε ένα τεταρτημόριο επομένως πρέπει να πολλαπλασιασθεί με. Έτσι η αδιάστατη παροχή προκύπτει Q 0.06578 0.863 Ακολουθεί σύγκριση των αριθμητικών αποτελεσμάτων με τα αντίστοιχα αναλυτικά. Η αδιάστατη ταχύτητα και παροχή βρίσκονται ως εξής: dp a b x y uxy (, ) dz a b b a u b a uxy (, ) x y a dp / dz a b b 3 3 3 dp a b Q b b Q Q dz a b ( dp / dz) a( a b ) a b a Για τους δύο εσωτερικούς κόμβους του πλέγματός μας οι ταχύτητες είναι 5 5.5 u, u(0,0) 0. και u, u(,0) 0.3.5 5.5 5 5 5 ενώ η παροχή Q.566..5.5 5 Η ταύτιση των αριθμητικών και των αναλυτικών τιμών για την ταχύτητα είναι μάλλον συμπτωματική, ενώ η διαφορά στις παροχές είναι αναμενόμενη λόγου του πολύ αραιού υπολογιστικού πλέγματος. Η διαδικασία υπολογισμού γενικεύεται στο ακόλουθο πρόγραμμα σε Fortran: program Ellipse implicit none integer,parameter::nx=0,ny=!max spaces in bot directions 3 (Ny<Nx) real::u(nx+,ny+),uold(nx+,ny+) 5 real::a,b! Ellipse: y^+x^*(a^/b^)= me a<b logical::is_triangle real::un,us,ue,uw,nn,ss,ee,ww,t0,tn,ts,te,tw,,t,maxerr,s,pi,area 6 _dx,mean,q 7 integer:: i,j,imax(ny+),jmax(nx+),k 8 9 type info_type 0 real::n,s,e,w integer::cn,cs,ce,cw end type 3 type(info_type)::dat(nx+,nx+) 5 6 =./Ny! =y=x 7 a=.5! any value 8 b=nx**a! in order to ave square grid 9 0! Find imax(j) imax()=nx 3 do j=,ny

t=xi_sol((j-)*)/ 5 imax(j)=nint(t) 6 7 if (t-nint(t)>0.0000) ten 8 imax(j)=imax(j)+ 9 end if 30 3 3 do i=,imax(j)- 33 dat(i,j)%cw= 3 dat(i,j)%w= 35 dat(i,j)%ce= 36 dat(i,j)%e= 37 end do 38 dat(imax(j),j)%cw= 39 dat(imax(j),j)%w= 0 dat(imax(j),j)%ce=0 dat(imax(j),j)%e=xi_sol((j-)*)-(imax(j)-)* 3 end do imax(ny+)=0 5 6! Find jmax(i) 7 jmax()=ny 8 9 do i=,nx 50 t=psi_sol((i-)*)/ 5 jmax(i)=nint(t) 5 53 if (t-nint(t)>0.0000) ten 5 jmax(i)=jmax(i)+ 55 end if 56 57 do j=,jmax(i)- 58 dat(i,j)%cs= 59 dat(i,j)%s= 60 dat(i,j)%cn= 6 dat(i,j)%n= 6 end do 63 dat(i,jmax(i))%cs= 6 dat(i,jmax(i))%s= 65 dat(i,jmax(i))%cn=0 66 dat(i,jmax(i))%n=psi_sol((i-)*)-(jmax(i)-)* 67 68 end do 69 jmax(nx+)=0 70 7! Find distances 7!center node 73 dat(,)%cw= 7 dat(,)%w= 75 dat(,)%ce= 76 dat(,)%e= 77 dat(,)%cn= 78 dat(,)%n= 79 dat(,)%cs= 80 dat(,)%s= 8! bottom 8 do i=,nx 83 dat(i,)%cw= 8 dat(i,)%w=

85 if (i==nx) ten 86 dat(i,)%ce=0 87 else 88 dat(i,)%ce= 89 end if 90 dat(i,)%e= 9 9 if (jmax(i)>) ten 93 dat(i,)%cn= 9 dat(i,)%n= 95 dat(i,)%cs= 96 dat(i,)%s= 97 else 98 dat(i,)%cn=0 99 dat(i,)%n=psi_sol((i-)*) 00 dat(i,)%cs=0 0 dat(i,)%s=psi_sol((i-)*) 0 end if 03 end do 0 05!left 06 do j=,ny 07 dat(,j)%cs= 08 dat(,j)%s= 09 if (j==ny) ten 0 dat(,j)%cn=0 else dat(,j)%cn= 3 end if dat(,j)%n= 5 6 if (imax(j)>) ten 7 dat(,j)%ce= 8 dat(,j)%e= 9 dat(,j)%cw= 0 dat(,j)%w= else dat(,j)%ce=0 3 dat(,j)%e=xi_sol((j-)*) dat(,j)%cw=0 5 dat(,j)%w=xi_sol((j-)*) 6 end if 7 end do 8 9 u=0 30 k=0 3 do 3 uold=u 33 k=k+ 3 do j=,ny 35! print*,j 36 do i=,imax(j) 37! print*,i 38 nn=dat(i,j)%n 39 ss=dat(i,j)%s 0 ee=dat(i,j)%e ww=dat(i,j)%w un=u(i,j+)*dat(i,j)%cn 3 ue=u(i+,j)*dat(i,j)%ce if (i==.and. j==) ten!center node 5 us=u(i,j+)*dat(i,j)%cs

6 uw=u(i+,j)*dat(i,j)%cw 7 elseif (j==) ten! bottom 8 us=u(i,j+)*dat(i,j)%cs 9 uw=u(i-,j)*dat(i,j)%cw 50 elseif (i==) ten! left 5 us=u(i,j-)*dat(i,j)%cs 5 uw=u(i+,j)*dat(i,j)%cw 53 else! inner 5 us=u(i,j-)*dat(i,j)%cs 55 uw=u(i-,j)*dat(i,j)%cw 56 endif 57 58 T0=.*(ww+ee)/(ww*ee**+ee*ww**) 59 T0=T0+.*(ss+nn)/(ss*nn**+nn*ss**) 60 TN=.*ss/(ss*nn**+nn*ss**) 6 TS=.*nn/(ss*nn**+nn*ss**) 6 TE=.*ww/(ww*ee**+ee*ww**) 63 TW=.*ee/(ww*ee**+ee*ww**) 6 65 u(i,j)=t0**(-) * (+TN*uN+TE*uE+TS*uS+TW*uW) 66 end do 67 end do 68 69 maxerr=maxval(abs(u-uold)) 70 print*,k,maxerr 7 if (maxerr<0.0000) exit 7 73 end do 7 do j=ny,,- 75 print*, u(:imax(j),j) 76 end do 77 78 print*,' ---------- Analytic ----------' 79 do j=ny,,- 80 print*, (analytic((i-)*,(j-)*),i=,imax(j)) 8 end do 8 83 pi=*atan(.) 8 s=0 85 do j=,ny 86 do i=,imax(j) 87 if (imax(j+)>=i+) ten!tetragwno 88 area_dx=* 89 print*,i,j,'tetragwno' elseif (i==imax(j+).and. i<imax(j)) ten!tetragwno - 90 trigwnaki (panw deksia gwnia) 9 area_dx=*-(-dat(i,j+)%e)*(-dat(i+,j)%n)*0.5 9 print*,i,j,'tetragwno-trigwno' elseif (i==imax(j+).and. i==imax(j)) ten! Trapezio 93 ortio 9 area_dx=(dat(i,j+)%e+dat(i,j)%e)**0.5 95 print*,i,j,'trapezio ortio' elseif (i>imax(j+).and. i+<=imax(j)) ten!trapezio 96 orizontio 97 area_dx=(dat(i,j)%n+dat(i+,j)%n)**0.5 98 print*,i,j,'trapezio orizontio' elseif (i>imax(j+).and. i==imax(j)) ten! Trigwno (Katw arister gwnia) 99 00 area_dx=dat(i,j)%n*dat(i,j)%e*0.5 0 print*,i,j,'trigwno' 0 else

03 print*, "Exception" 0 end if 05 if (is_triangle) ten mean=(u(i,j)+u(i+,j)+u(i,j+))/3. else mean=(u(i,j)+u(i+,j)+u(i,j+)+u(i+,j+))/. end if 06 s=s+mean*area_dx 07 end do 08 end do 09 q=*s/(pi*(b/a)) 0 print*, "q = ",q,analytic_q(),abs(q-analytic_q()) contains 3 real function xi_sol(y) real::y 5 xi_sol=sqrt((b**-y** * b**)/a**) 6 end function 7 8 real function psi_sol(x) 9 real::x 0 psi_sol=sqrt(-x** * a**/b**) end function 3 real function analytic(x,y) real::x,y 5 analytic=0.5 *./((a/b)**+)*(-x***(a/b)**-y**) 6 end function 7 8 real function analytic_q 9 analytic_q=(pi/.) *(b/a)*./((a/b)**+) 30 end function 3 end program Ακολουθεί ανάλυση και περιγραφή του κώδικα. Αρχικά υπολογίζεται η εξίσωση πεπερασμένων διαφορών που προσεγγίζει την (3) σε τυχαίο κόμβο (κόμβος στο επόμενο σχήμα) ο οποίος δεν ισαπέχει από κανένα γειτονικό του κόμβο: Ν W w n e Ε s S Οι γειτονικοί κόμβοι συμβολίζονται με Ν, Ε, S και W και τα ενδιάμεσα ευθύγραμμα τμήματα με τα αντίστοιχα μικρά γράμματα. Εφαρμόζοντας τον τύπο του Taylor και κρατώντας όρους μόνο μέχρι δευτέρας τάξης βρίσκουμε τις προσεγγίσεις: n u u nu y uyy! (7)

s us u suy uyy (8)! e ue u eux uxx (9)! w uw u wux uxx (0)! Στη συνέχεια η (7) πολλαπλασιάζεται με s, η (8) με n, η (9) με w, η (0) με e, και οι αθροίζονται κατά μέλη οι (7) και (8), (9) και (0): su nu s nu sn ns u u su nu s nu N S yy yy sn ns N S wu eu w eu we ew u u wu eu w eu E W xx xx we ew E W Οι δύο προηγούμενες σχέσεις αθροίζονται κατά μέλη και τελικά προκύπτει: u xx u yy wu E euw w eu sun nus s nu we ew sn ns Επομένως για την επίλυση της (3) είναι: wu E euw w eu sun nus s nu we ew sn ns wu E eu W w eu we ew we ew we ew su N nu S s nu sn ns sn ns sn ns we snu we ew sn ns wu E eu W su N nu S we ew we ew sn ns sn ns u we sn we ew sn ns wu E eu W su N nu S we ew we ew sn ns sn ns () Η σχέση () είναι η βασική σχέση πεπερασμένων διαφορών, η οποία μπορεί να εφαρμοσθεί σε κάθε εσωτερικό κόμβο (i,j) αν είναι γνωστές οι αποστάσεις του nesw,,, από τους γειτονικούς του κόμβους. Στον κώδικα Fortran η σχέση () υπολογίζεται στις γραμμές 58-65, και δημιουργεί ένα σύστημα εξισώσεων που επιλύεται επαναληπτικά με τη μέθοδο Gauss-Seidel (γραμμές 9-73) Για την υλοποίηση προγραμματιστικά της σχέσης () απαιτούνται οι ακόλουθες πληροφορίες για τον τυχαίο κόμβο (i,j): Μεταβλητή Πληροφορία n Απόσταση από τον κόμβο (i,j+)

e s w cn ce cs cw Απόσταση από τον κόμβο (i+,j) Απόσταση από τον κόμβο (i,j-) Απόσταση από τον κόμβο (i-,j) 0= o κόμβος (i,j+) είναι συνοριακός, = κόμβος (i,j+) είναι εσωτερικός 0= o κόμβος (i+,j) είναι συνοριακός, = κόμβος (i+,j) είναι εσωτερικός 0= o κόμβος (i,j-) είναι συνοριακός, = κόμβος (i,j-) είναι εσωτερικός 0= o κόμβος (i-,j) είναι συνοριακός, = κόμβος (i-,j) είναι εσωτερικός Για το λόγο αυτό δημιουργείται αρχικά ένας νέος τύπος δεδομένων που ονομάζεται info_type και περιλαμβάνει τις μεταβλητές αυτές (γραμμές 9-). Στη συνέχεια δημιουργείται ένας δισδιάστατος πίνακας (με όνομα dat) με τόσα στοιχεία όσα οι κόμβοι του πλέγματος, όπου κάθε στοιχείο του περιέχει μία εγγραφή τύπου info_type (γραμμή ). Θα πρέπει επομένως ο πίνακας dat να ενημερωθεί με τις σωστές πληροφορίες για κάθε κόμβο, πριν επιχειρηθεί η επίλυση του συστήματος με τη Gauss-Seidel. Προηγουμένως, όμως, χρειάζεται μία επιπλέον πληροφορία: οι μέγιστες τιμές που μπορούν να πάρουν τα i και j των εσωτερικών κόμβων σε κάθε γραμμή και κάθε στήλη του πλέγματος. Για το λόγο αυτό χρησιμοποιούνται οι δύο μονοδιάστατοι πίνακες imax(j) και jmax(i). O πρώτος περιέχει την τιμή i του τελευταίου προς τα δεξιά εσωτερικού κόμβου για κάθε γραμμή j του πλέγματος, και ο δεύτερος αντίστοιχα την τιμή j του τελευταίου προς τα επάνω εσωτερικού κόμβου για κάθε στήλη i του πλέγματος. Για παράδειγμα για το πλέγμα που εμφανίζεται στο επόμενο σχήμα 3 3 0.5 0.5 0.75..5.5 0.5 0.5 0.75..5.5 είναι j imax(j) 6 6 3 6 5 0 και i jmax(i) 3 5 3 6 3 7 0 Αρχικά διασφαλίζεται ότι το πλέγμα είναι τετραγωνικό πλάτους (Nx+,Ny+) κόμβων και ότι τα σημεία τομής της έλλειψης με τους άξονες είναι ακέραια

πολλαπλάσια του (γραμμές 6-8). Στη συνέχεια περιγράφεται ο τρόπος υπολογισμού του imax(j) για οποιοδήποτε j εσωτερικού κόμβου. Αρχικά υπολογίζεται η ποσότητα t= (απόσταση της γραμμής j του πλέγματος από τον άξονα y μέχρι την έλλειψη) / Διακρίνονται περιπτώσεις αναλόγως πόσο κοντά σε κόμβο περνάει το όριο της έλλειψης. Οι περιπτώσεις αυτές παρουσιάζονται στη συνέχεια με ένα συγκεκριμένο παράδειγμα. t nint(t) t-nint(t) imax(j).0000006 <0.0000 3.9999999 <0.0000 3.6 <0.0000. >0.0000 5 Στον προηγούμενο πίνακα εμφανίζονται υποθετικές τιμές της ποσότητας t καθώς και οι τιμές των ποσοτήτων nint(t) (συνάρτηση της Fortran η οποία στρογγυλοποιεί στον πλησιέστερο ακέραιο) της t-nint(t) η οποία συγκρίνεται με μία αυθαίρετη μικρή τιμή (0.0000) και τέλος η προκύπτουσα τιμή του imax(j). Σημειώνεται ότι στις 3 πρώτες περιπτώσεις η τιμή του imax(j) ισούται με την τιμή του nint(t) ενώ στην η περίπτωση είναι ίση με nint(t)+. Η λογική αυτή παρουσιάζεται στις γραμμές -9 του κώδικα. Με αντίστοιχο τρόπο υπολογίζεται το jmax(i) στις γραμμές 50-55 του κώδικα. Στη συνέχεια πρέπει, όπως ανφέρθηκε προηγουμένως, για κάθε εσωτερικό κόμβο του πλέγματος να ενημερωθεί ο πίνακας dat. Αυτό γίνεται στις γραμμές 3- για τις e και w αποστάσεις όλων των κόμβων εκτός αυτών του άξονα y και στις γραμμές 57-66 για τις n και s αποστάσεις όλων των κόμβων εκτός αυτών του άξονα x. Ειδικά για τον κεντρικό κόμβο (,) και για τους κόμβους των δύο αξόνων πρέπει να ληφθεί υπόψη η συμμετρία του προβλήματος (γραμμές 73-7). Στο επόμενο σχήμα παρουσιάζονται ενδεικτικά οι περιπτώσεις που προκύπτουν για τις τιμές των n και cn οποιουδήποτε εσωτερικού κόμβου: n<, cn=0 n=, cn=0 n=, cn= Αντίστοιχες περιπτώσεις ισχύουν και για τις υπόλοιπες μεταβλητές του πίνακα dat. Ένα τελευταίο σημαντικό σημείο του κώδικα για τον υπολογισμό του πεδίου των ταχυτήτων είναι οι γραμμές 38-56, στις οποίες λαμβάνεται υπόψη η συμμετρία του προβλήματος πριν εφαρμοσθεί η σχέση ().

Στη συνέχεια παρουσιάζεται ο τρόπος υπολογισμού της παροχής. Η σχέση (6) υπολογίζεται στις γραμμές 05,06,09 του κώδικα. Για τον υπολογισμό του εμβαδού κάθε τμήματος έχουμε τις ακόλουθες περιπτώσεις 3 5 Το σχήμα είναι τετράγωνο με πλευρά. Τα σχήματα και 5 είναι τραπέζια με ύψος. Το σχήμα 3 είναι ορθογώνιο τρίγωνο ενώ το σχήμα προκύπτει από τετράγωνο πλευράς αν αφαιρεθεί το τριγωνάκι της πάνω δεξιά γωνίας. Στη συνέχεια παρουσιάζονται τις συνθήκες που πρέπει να ισχύουν για την εμφάνιση των ανωτέρω σχημάτων. Γίνεται η υπόθεση ότι ο κόμβος (i,j) είναι ο κάτω αριστερά κόμβος του κάθε σχήματος. Σχήμα Συνθήκη imax(j+)>=j+ i>imax(j+) και i+<=imax(j) 3 i>imax(j+) και i=imax(j) i=imax(j+) και i<imax(j) 5 i=imax(j+) και i=imax(j) Έτσι, για παράδειγμα, για το πλέγμα του επόμενου σχήματος έχουμε: 3 3 5 3 5 0.5 0.5 0.75..5.5 Ο υπολογισμός των εμβαδών του κάθε σχήματος γίνεται στις γραμμές 87-0 του κώδικα. Στη συνέχεια θα παρουσιάζονται τα αποτελέσματα που δίνει ο κώδικας για την ακόλουθη περίπτωση: Ny, Nx 8, a.5, b 5, δηλαδή για το πλέγμα:

3 0.5 0.5 0.75..5.5.75. Αποτελέσματα: Αριθμητικό πεδίο ταχυτήτων 0 0.798 0.6873 0.998 0.87 0.0799 0.0875 0 0.9995 0.937 0.796 0.37 0.9998 0.37 0.0700 0 0.3793 0.36869 0.3995 0.387 0.797 0.873 0.999 0.06875 0 0.3999 0.39368 0.379 0.3370 0.9996 0.373 0.799 0.0937 0 Αποτελέσματα: Αναλυτικό πεδίο ταχυτήτων 0 0.7500 0.6875 0.5000 0.875 0.07500 0.0875 0 0.30000 0.9375 0.7500 0.375 0.0000 0.375 0.07500 0 0.37500 0.36875 0.35000 0.3875 0.7500 0.875 0.5000 0.06875 0 0.0000 0.39375 0.37500 0.3375 0.30000 0.375 0.7500 0.09375 0 Παρατηρείται ταύτιση των απαντήσεων με ακρίβεια 3 σημαντικών ψηφίων. Η αριθμητική και αναλυτική τιμή της παροχής είναι.6 και.57 αντίστοιχα. Όπως αναμένεται η ακρίβεια της αριθμητικής λύσης αυξάνεται καθώς πυκνώνει το υπολογιστικό πλέγμα. Τέλος, για λόγους πληρότητας, παρουσιάζεται ο κώδικας σε Matematica που χρησιμοποιήθηκε για την κατασκευή των γραφημάτων του πλέγματος. a=.;b=.;nx=.;ny=.;=.; ell=y +(a x )/b (a x )/b +y spsi=solve[ell,y]; psi=y/.spsi[[,]]; sxi=solve[ell,x]; xi=x/.sxi[[,]]; ny=;nx=6; =/ny; a=.5;b=nx**a; g=plot[psi,{x,0,b/a},axesorigin{0,0},plotrangeall,aspectratioautomatic]; ty=table[{{0,y},{xi,y}},{y,0,,/ny}]//abs; tx=table[{{x,0},{x,psi}},{x,0,b/a,b/(a nx)}]//abs; ticy=table[y,{y,0,,/ny}]; ticx=table[x,{x,0,b/a,b/(a nx)}]; g=grapics[{dased,line[ty]}]; g3=grapics[{dased,line[tx]}]; Sow[g,g,g3,AspectRatioAutomatic,Ticks{ticx,ticy}]

3 0.5 0.5 0.75..5.5