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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Διάλεξη 4: Εξίσωση διάχυσης

ΜΑΣ 473/673: Μέθοδοι Πεπερασμένων Στοιχείων

Πεπερασμένες διαφορές για την ελλειπτική εξίσωση στις δύο διαστάσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Επιστημονικοί Υπολογισμοί - Μέρος ΙΙΙ: Παράλληλοι Υπολογισμοί

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

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

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

Κεφάλαιο 0: Εισαγωγή

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

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

Πίνακες. (i) FORTRAN και Αντικειµενοστραφής Προγραµµατισµός

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

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΗΧΑΝΙΚΗΣ ΕΦΑΡΜΟΓΕΣ ΜΕ ΧΡΗΣΗ MATLAB ΔΕΥΤΕΡΗ ΕΚΔΟΣΗ [ΒΕΛΤΙΩΜΕΝΗ ΚΑΙ ΕΠΑΥΞΗΜΕΝΗ]

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

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

Προσεγγιστική λύση Γραμμικών Συστημάτων με την μέθοδο Gauss-Seidel. Δημιουργία κώδικα στο Matlab

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

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

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

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

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

Παράδειγμα #8 ΑΡΙΘΜΗΤΙΚΗ ΠΑΡΑΓΩΓΙΣΗ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης. την κεντρώα έκφραση πεπερασμένων διαφορών 2 ης τάξης και β) για τη παράγωγο f

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ - ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΩΝ ΜΑΘΗΜΑΤΙΚΩΝ ΕΙΣΑΓΩΓΙΚΕΣ ΜΕΤΑΠΤΥΧΙΑΚΕΣ ΕΞΕΤΑΣΕΙΣ 26 ΙΟΥΛΙΟΥ 2008 ΕΥΤΕΡΟ ΜΕΡΟΣ :

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

Τεχνική Έκθεση Μέθοδοι χαλάρωσης στη διεπαφή για σύνθετα προβλήματα πολλαπλών φυσικών μοντέλων και πολλαπλών χωρίων... 7

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

Ειδικά θέματα στην επίλυση

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

ΘΕΩΡΗΤΙΚΗ ΜΗΧΑΝΙΚΗ ΙΙ

P m (x)p n (x)dx = 2 2n + 1 δn m. P 1 (x) = x. P 2 (x) = 1 2 (3x2 1) P 3 (x) = 1 2 (5x3 3x) P 4 (x) = 1 8 (35x4 30x 2 + 3)

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

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

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

Πίνακες. FORTRAN και Αντικειμενοστραφής Προγραμματισμός

Εισαγωγή στον Προγραµµατισµό. Ανάλυση (ή Επιστηµονικοί8 Υπολογισµοί)

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

ΦΥΣ 145 Μαθηµατικές Μέθοδοι στη Φυσική. Πρόοδος 28 Μαρτίου 2009 Οµάδα 1 η

Αφιερώνεται. στη μνήμη των γονέων μου. Νικολάου και Ζαχαρώς

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

Παράλληλη Επεξεργασία Κεφάλαιο 6 ο Σύγχρονος Παραλληλισμός

1)Βρείτε την εξίσωση για το επίπεδο που περιέχει το σηµείο (1,-1,3) και είναι παράλληλο προς το επίπεδο 3x+y+z=a όπου a ένας αριθµός.

ιδάσκοντες :Τµήµα Α ( Αρτιοι) : Καθηγητής Ν. Μισυρλής,Τµήµα Β (Περιττοί) : Αριθµητική Επίκ.

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

Κεφαλαιο 7: Η ΜΠΣ για ελλειπτικά προβλήματα με μη-ομαλές λύσεις

Δομή Διάλεξης. Ορισμός Ηλεκτρικού Δυναμικού και συσχέτιση με το Ηλεκτρικό Πεδίο

Τα στάδια της υπολογιστικής προσομοίωσης επεξήγονται αναλυτικά παρακάτω

Transcript:

Άσκηση 1 Παράδειγμα #10 ΠΡΟΒΛΗΜΑΤΑ ΟΡΙΑΚΩΝ ΤΙΜΩΝ ΕΛΛΕΙΠΤΙΚΕΣ ΜΔΕ ΕΠΙΜΕΛΕΙΑ: Ν. Βασιλειάδης Να επιλυθεί η ροή ρευστού διαμέσου τετραγωνικού αγωγού η οποία εκφράζεται μέσω της διαφορικής εξίσωσης Poisson σε καρτεσιανές συντεταγμένες: u u 1 1 x y 2 u = + =, 0 =,1 = 0, = 1, = 0. Τέλος να υπολογιστεί η ογκομετρική παροχή διαμέσου του αγωγού. Με οριακές συνθήκες: u( x ) u( x ) u( y) u( y) Απάντηση: Αρχικά διακριτοποιείται το πεδίο ορισμού 0 xy, 1. Κάθε πλευρά του πεδίου ορισμού διακριτοποιείται σε N ισαπέχοντες κόμβους οπότε προκύπτουν N 1 ίσα διαστήματα h= 1 N 1. Αναπτύσσοντας τις εκφράσεις πεπερασμένων διαφορών 2 ης τάξης πλάτους ( ) για τις παραγώγους προκύπτει η διακριτοποιημένη εξίσωση στον τυχαίο κόμβο ( i, j ) ως: 1 2 ui, j= ( h + ui 1, j+ ui+ 1, j+ ui, j 1 + ui, j+ 1 ), i = 2,... N 1, j = 2,... N 1 4 Για την επίλυση του συστήματος θα χρησιμοποιηθούν οι επαναληπτικές μέθοδοι Jacobi, Gauss-Seidel και SOR. Οι επαναληπτικοί χάρτες της κάθε μεθόδου δίνονται παρακάτω: Jacobi 1) 1 2 ( n) ( n) ( n) ( n) ui, j = ( h + ui 1, j+ ui+ 1, j+ ui, j 1 + ui, j+ 1 ), 4 i = 2,... N 1, j = 2,... N 1 Gauss-Seidel 1) 1 2 1) ( n) 1) ( n) ui, j = ( h + ui 1, j+ ui+ 1, j+ ui, j 1 + ui, j+ 1 ), 4 i = 2,... N 1, j = 2,... N 1 SOR 1 ) ( ) ( n ) ω ( ( ) ( ) ( ) ( ) ) n n n n ui, j = 1 ω ui, j+ h + ui 1, j+ ui+ 1, j+ ui, j 1 + ui, j+ 1, 4 i = 2,... N 1, j = 2,... N 1-1 -

Για τον υπολογισμό της ζητούμενης παροχής θα χρησιμοποιηθεί ο κανόνας τραπεζίου. A 1 1 0 0 (, ) Q = uda = u x y dxdy 2 N 1 N 1 N 1 N 1 N 1N 1 h Q= u + u + u + u + 2 u + 2 u + 2 u + 2 u + 4 u 4 Κώδικας Fortran: 1,1 N,1 1, N NN, i,1 in, 1, j N, j i, j i= 2 i= 2 j= 2 j= 2 j= 2 j= 2 program PoiseuilleDuct implicit none integer::i,j,n,solver,iter real*8::h,l,error,err,w,q real*8,allocatable::x(:),y(:),uold(:,:),u(:,:)!definition of problem parameters error=1d-6!desired error n=5!number of discrete nodes L=1.!Duct height and width h=l/(n-1d0)!segment length w=1.6!relaxation parameter (only used in SOR) Solver=1!1:Jacobi; 2:Gauss-Seidel; 3:SOR; allocate(x(n),y(n),uold(n,n),u(n,n)) uold=0d0!initital guess!coordinate system do i=1,n x(i)=(i-1d0)*h y(i)=(i-1d0)*h!implementation of the iterative methods err=1. iter=0!boundary conditions uold(1,:)=0. uold(n,:)=0. uold(:,1)=0. uold(:,n)=0.!initialize u u=uold!computations for the iterative methods do while (err>=error) do i=2,n-1 do j=2,n-1 If (Solver==1) u(i,j)=0.25*(h**2d0+uold(i+1,j)+uold(i- 1,j)+uold(i,j+1)+uold(i,j-1))!Jacobi If (Solver==2) u(i,j)=0.25*(h**2d0+uold(i+1,j)+u(i- 1,j)+uold(i,j+1)+u(i,j-1))!Gauss-Seidel - 2 -

If (Solver==3) u(i,j)=(1.- w)*uold(i,j)+w*0.25*(h**2d0+uold(i+1,j)+u(i-1,j)+uold(i,j+1)+u(i,j-1))!sor!find error err = MAXVAL(ABS(u(:,:)-uold(:,:))) uold = u iter=iter+1!compute volumetric flow rate Q=0. do i=1,n do j=1,n if ((i==1.and. j==1).or. (i==n.and. j==1).or. & (i==1.and. j==n).or. (i==n.and. j==n)) then w=1. elseif ((i==1).or. (i==n).or. (j==1).or. (j==n)) then w=2. else w=4. endif Q=Q+u(i,j)*w Q=h**2./4.*Q!Write to screen Write(*,"(A,1X,I0,1X,A,ES12.3)") "Solution converged after",iter,"iterations with error:",err Write(*,"(A)") "Open file PoiseuilleDuct.dat for more info..."!write results to output file Open(100,file="PoiseuilleDuct.dat") Write(100,"(A)") "------------------velocity profile------------------" Write(100,"(15X,10000ES15.5)") x(:) do j=1,n Write(100,"(10000ES15.5)") y(j),u(:,j) Write(100,"(A)") "----------------volumetric flow rate----------------" Write(100,"(A,ES15.5)") "Q=",Q close(100) end program - 3 -

Με βάση τον παραπάνω κώδικα παρουσιάζεται η κατανομή ταχύτητας στον τετραγωνικό αγωγό για ένα αραιό πλέγμα 5 5 κόμβων. Κατανομή ταχύτητας u y/x 0.00 0.25 0.50 0.75 1.00 0.00 0.00000 0.00000 0.00000 0.00000 0.00000 0.25 0.00000 0.04297 0.05469 0.04297 0.00000 0.50 0.00000 0.05469 0.07031 0.05469 0.00000 0.75 0.00000 0.04297 0.05469 0.04297 0.00000 1.00 0.00000 0.00000 0.00000 0.00000 0.00000 Η ζητούμενη παροχή με το εν λόγω πλέγμα είναι 0.028808. Στην συνέχεια παρουσιάζονται τα γραφήματα των ισοϋψών κατανομής ταχύτητας για τέσσερα διαφορετικά πλέγματα. Πλέγμα: 5 5 Πλέγμα: 11 11 Πλέγμα: 51 51 Πλέγμα: 101 101-4 -

Στον επόμενο πίνακα φαίνεται συγκεντρωτικά ο αριθμός επαναλήψεων μέχρι την σύγκλιση ( n ) ( n) + 1 6 i, j i, j 10 ανά μέθοδο, πλήθος κόμβων και σφάλμα ε = Max u u. Πλέγμα Jacobi Gauss-Seidel SOR 51x51 2577 1465 108 (ω = 1.88) 102 (ω = 1.89) 102 (ω = 1.90) 113 (ω = 1.91) 101x101 7502 4454 246 (ω = 1.93) 201 (ω = 1.94) 202 (ω = 1.95) 220 (ω = 1.96) 201x201 18770 12195 520 (ω = 1.96) 401 (ω = 1.97) 412 (ω = 1.98) 804 (ω = 1.99) Άσκηση 2 Η μεταφορά θερμότητας σε έναν κύβο στον οποίο δεν υπάρχει παραγωγή θερμότητας περιγράφεται μέσω της διαφορικής εξίσωσης Laplace σε καρτεσιανές συντεταγμένες: T T T 0 0 x y y 2 2 T = + + = 2 Να βρεθεί η κατανομή θερμοκρασίας σε έναν κύβο πλευράς L = 1 με οριακές συνθήκες: Απάντηση: T( xy,,1) = 100, T( x y ) T( x z) T( x z) T( y z) T( y z),,0 =,0, =,1, = 0,, = 1,, = 0 Αρχικά διακριτοποιείται το πεδίο ορισμού 0 xyz,, 1. Κάθε πλευρά του πεδίου ορισμού διακριτοποιείται σε N ισαπέχοντες κόμβους οπότε προκύπτουν N 1 ίσα διαστήματα h= 1 N 1. Αναπτύσσοντας τις εκφράσεις πεπερασμένων διαφορών 2 ης τάξης πλάτους ( ) για τις παραγώγους προκύπτει η διακριτοποιημένη εξίσωση στον τυχαίο κόμβο ( i, j ) ως: 1 Ti, jk, = ( Ti 1, jk, + Ti+ 1, jk, + Ti, j 1, k+ Ti, j+ 1, k+ Ti, jk, 1 + Ti, jk, + 1), i, j, k = 2,..., N 1 6 Για την επίλυση του συστήματος θα χρησιμοποιηθούν οι επαναληπτικές μέθοδοι Jacobi, Gauss-Seidel και SOR. Οι επαναληπτικοί χάρτες της κάθε μεθόδου δίνονται παρακάτω: - 5 -

Jacobi 1) 1 ( n) ( n) ( n) ( n) ( n) ( n) Ti, jk, = ( Ti+ 1, jk, + Ti 1, jk, + Ti, j+ 1, k+ Ti, j 1, k+ Ti, jk, + 1 + Ti, jk, 1), i, j, k = 2,..., N 1 6 Gauss-Seidel 1) 1 ( n) 1) ( n) 1) ( n) Ti, jk, = ( Ti+ 1, jk, + Ti 1, jk, + Ti, j+ 1, k+ Ti, j 1, k+ Ti, jk, + 1 + Ti, jk, 1), i, j, k = 2,..., N 1 6 SOR 1) ( n) ω ( n) 1) ( n) 1) ( n) Ti, jk, = ( 1 ω) Ti, jk, + ( Ti+ 1, jk, + Ti 1, jk, + Ti, j+ 1, k+ Ti, j 1, k+ Ti, jk, + 1 + Ti, jk, 1), i, j, k = 2,..., N 1 6 Κώδικας Fortran: program HeatTransferCube implicit none integer::i,j,k,n,solver,iter real*8::h,l,error,err,w real*8,allocatable::x(:),y(:),z(:),told(:,:,:),t(:,:,:)!definition of problem parameters error=1d-6!desired error n=5!number of discrete nodes L=1.!Duct height and width h=l/(n-1d0)!segment length w=1.9!relaxation parameter (only used in SOR) Solver=1!1:Jacobi; 2:Gauss-Seidel; 3:SOR; allocate(x(n),y(n),z(n),told(n,n,n),t(n,n,n)) Told=0d0!Initital guess!coordinate system do i=1,n x(i)=(i-1.)*h y(i)=(i-1.)*h z(i)=(i-1.)*h!implementation of the iterative methods err=1. iter=0!boundary conditions Told(1,:,:)=0. Told(N,:,:)=0. Told(:,1,:)=0. Told(:,N,:)=0. Told(:,:,1)=0. Told(:,:,N)=100.!Initialize T T=Told!Computations for the iterative methods do while (err>=error) - 6 -

do i=2,n-1 do j=2,n-1 do k=2,n-1 If (Solver==1) T(i,j,k)=(Told(i+1,j,k)+Told(i- 1,j,k)+Told(i,j+1,k)+Told(i,j-1,k)+Told(i,j,k+1)+Told(i,j,k-1))/6.!Jacobi If (Solver==2) T(i,j,k)=(Told(i+1,j,k)+T(i- 1,j,k)+Told(i,j+1,k)+T(i,j-1,k)+Told(i,j,k+1)+T(i,j,k-1))/6.!Gauss- Seidel If (Solver==3) T(i,j,k)=(1.- w)*told(i,j,k)+w*(told(i+1,j,k)+t(i-1,j,k) & +Told(i,j+1,k)+T(i,j- 1,k)+Told(i,j,k+1)+T(i,j,k-1))/6.!SOR!Find error err = MAXVAL(ABS(T(:,:,:)-Told(:,:,:))) Told = T iter=iter+1!write to screen Write(*,"(A,1X,I0,1X,A,ES12.3)") "Solution converged after",iter,"iterations with error:",err Write(*,"(A)") "Open file HeatTransferCube.dat for more info..."!write results to output file Open(100,file="HeatTransferCube.dat") do k=1,n Write(100,"(A,ES15.5,A)") "------------------Temperature profile:z=",z(k),"------------------" Write(100,"(15X,10000ES15.5)") x(:) do j=1,n Write(100,"(10000ES15.5)") y(j),t(:,j,k) close(100) end program Με βάση τον παραπάνω κώδικα παρουσιάζεται η κατανομή θερμοκρασίας στον κύβο για ένα αραιό πλέγμα 5 5 5 κόμβων. Κατανομή θερμοκρασίας T( xyz=,, 0) y/x 0.00 0.25 0.50 0.75 1.00 0.00 0.000 0.000 0.000 0.000 0.000 0.25 0.000 0.000 0.000 0.000 0.000 0.50 0.000 0.000 0.000 0.000 0.000 0.75 0.000 0.000 0.000 0.000 0.000 1.00 0.000 0.000 0.000 0.000 0.000-7 -

Κατανομή θερμοκρασίας T( xyz=,, 0.25) y/x 0.00 0.25 0.50 0.75 1.00 0.00 0.000 0.000 0.000 0.000 0.000 0.25 0.000 2.976 4.027 2.976 0.000 0.50 0.000 4.027 5.462 4.027 0.000 0.75 0.000 2.976 4.027 2.976 0.000 1.00 0.000 0.000 0.000 0.000 0.000 Κατανομή θερμοκρασίας T( xyz=,, 0.5) y/x 0.00 0.25 0.50 0.75 1.00 0.00 0.000 0.000 0.000 0.000 0.000 0.25 0.000 9.804 12.745 9.804 0.000 0.50 0.000 12.745 16.667 12.745 0.000 0.75 0.000 9.804 12.745 9.804 0.000 1.00 0.000 0.000 0.000 0.000 0.000 Κατανομή θερμοκρασίας T( xyz=,, 0.75) y/x 0.00 0.25 0.50 0.75 1.00 0.00 0.000 0.000 0.000 0.000 0.000 0.25 0.000 30.357 36.170 30.357 0.000 0.50 0.000 36.170 43.557 36.170 0.000 0.75 0.000 30.357 36.170 30.357 0.000 1.00 0.000 0.000 0.000 0.000 0.000 Κατανομή θερμοκρασίας T( xyz=,, 1) y/x 0.00 0.25 0.50 0.75 1.00 0.00 100.000 100.000 100.000 100.000 100.000 0.25 100.000 100.000 100.000 100.000 100.000 0.50 100.000 100.000 100.000 100.000 100.000 0.75 100.000 100.000 100.000 100.000 100.000 1.00 100.000 100.000 100.000 100.000 100.000-8 -

Στην συνέχεια παρουσιάζονται τα γραφήματα των ισοϋψών της κατανομής θερμοκρασίας για x = 0.5 και για τέσσερα διαφορετικά πλέγματα. Πλέγμα: 5 5 5 Πλέγμα: 11 11 11 Άσκηση 3 Πλέγμα: 51 51 51 Πλέγμα: 101 101 101 Η εξίσωση Laplace σε καρτεσιανές συντεταγμένες: w w 0 0 x y 2 w = + = περιγράφει διάφορα προβλήματα μηχανικής ρευστών και στερεών. Να υπολογισθεί αριθμητικά η τιμή της συνάρτησης wxy (, ) στο κέντρο μιας ορθογώνιας πλάκας με 0 x 2, 0 y 1 και με οριακές συνθήκες: - 9 -

w w( 0, y) = w( 2, y) = 0, = 0, w( x,1) = x y y = 0 Απάντηση: Αρχικά διακριτοποιείται το πεδίο ορισμού 0 x 2 και 0 y 1. Η διεύθυνση x του πεδίου ορισμού διακριτοποιείται σε N x ισαπέχοντες κόμβους οπότε προκύπτουν N x 1 ίσα διαστήματα πλάτους x= 2 ( N x 1). Η διεύθυνση y του πεδίου ορισμού διακριτοποιείται σε N ισαπέχοντες κόμβους οπότε προκύπτουν N 1 ίσα διαστήματα πλάτους y ( ) y = 1 N y 1. Στην συνέχεια αναπτύσσοντας τις εκφράσεις πεπερασμένων διαφορών 2 ης τάξης για τις παραγώγους προκύπτει ο επαναληπτικός χάρτης της μεθόδου SOR για τον i, j όπου i = 2,..., N 1, j = 2,..., N 1: τυχαίο εσωτερικό κόμβο ( ) x y y wi+ 1, j 2wi, j+ wi 1, j wi, j+ 1 2wi, j+ wi, j 1 + = 0 x y ( ) ( w) ( ) ( ) ( ( + ) ( + )) ( ) ( ) ( ) ( ) n + 1 n + 1 n n 1 n n 1 i, j i, j w + + i 1, j i 1, j i, j 1 i, j 1 w = 1 w + y w + w + x w + w 2 x + 2 y Οι οριακές συνθήκες σε διακριτή μορφή για την μέθοδο SOR γράφονται ως: ( ) ( ) ( n 1) w 0, y = 0 w + = 0, j = 2,..., N y 1 1, j n 1 Nx, j ( ) w 2, y = 0 w + = 0, j = 2,..., N y 1 w y y= 0 ( ) ( + 1) ( w) ( ) ( ) n n n i,1 i,1 w i,2 = 0 w = 1 w + w 1) in, y ( ), i = 1,..., Nx w x,1 = x w = i 1 x, i = 1,..., Nx Παρατηρείται ότι για την οριακή συνθήκη Neumann επιλέχθηκε να χρησιμοποιηθεί η έκφραση πεπερασμένων διαφορών 1 ης τάξης το οποίο έχει ως αποτέλεσμα ολόκληρο το αριθμητικό σχήμα να έχει πλέον ακρίβεια πρώτης τάξης. Επίσης προσοχή πρέπει να δοθεί στο χειρισμό των γωνιακών κόμβων του πλέγματος, διότι σε αυτούς τους κόμβους η πληροφορία προέρχεται από δύο οριακές συνθήκες, οι οποίες συχνά δίνουν διαφορετικές τιμές. Ο πιο απλός (αλλά όχι και ακριβής) τρόπος είναι να επιλεγεί και να χρησιμοποιηθεί αυθαίρετα μία από τις δύο οριακές συνθήκες, ενώ για πιο ακριβή αποτελέσματα θα πρέπει η τιμή του γωνιακού κόμβου να προκύπτει από μία διαδικασία παρεμβολής μεταξύ των τιμών των γειτονικών προς αυτόν συνοριακών κόμβων. Κώδικας Fortran: program LaplaceCartesianXY implicit none integer::i,j,nx,ny,iter - 10 -

real*8::dx,dy,lx,ly,error,err,rw real*8,allocatable::x(:),y(:),wold(:,:),w(:,:)!definition of problem parameters error=1d-10 rw=1.95 nx=5; Lx=2d0; dx=lx/(nx-1d0)!geometry in x direction ny=3; Ly=1d0; dy=ly/(ny-1d0)!geometry in y direction allocate(x(nx),y(ny),wold(nx,ny),w(nx,ny)) wold=0.!initital guess!coordinate system do i=1,nx x(i)=(i-1d0)*dx do j=1,ny y(j)=(j-1d0)*dy!boundary conditions left,right and top boundaries wold(1,2:ny-1)=0. wold(nx,2:ny-1)=0. do i=1,nx wold(i,ny)=(i-1.)*dx!implementation of the Jacobi method err=1. iter=0!initialize w w=wold!computations for the Jacobi method do while (err>=error)!desired error!sor Relaxation parameter!bottom boundary do i=1,nx w(i,1)=(1.-rw)*wold(i,1)+rw*wold(i,2) enddo!internal nodes do i=2,nx-1 do j=2,ny-1 w(i,j)=(1.-rw)*wold(i,j)+rw*0.5d0*(dy**2d0*(wold(i+1,j)+w(i- 1,j))+dx**2d0*(wold(i,j+1)+w(i,j-1)))/(dx**2d0+dy**2d0)!Find error err = MAXVAL(ABS(w(:,:)-wold(:,:))) wold = w iter=iter+1 if (mod(iter,1000)==0) write(*,*) w((nx+1)/2,(ny+1)/2),err!write to screen Write(*,"(A,1X,I0,1X,A,ES12.3)") "Solution converged after",iter,"iterations with error:",err - 11 -

Write(*,"(A,ES15.5)") "Function at the middle w(1,0.5)=",w((nx+1)/2,(ny+1)/2) Write(*,"(A)") "Open file LaplaceCartesianXY.dat for more info..."!write results to output file Open(100,file="LaplaceCartesianXY.dat") Write(100,"(A)") "------------------ Function w ------------------" Write(100,"(15X,10000ES15.5)") x(:) do j=1,ny Write(100,"(10000ES15.5)") y(j),w(:,j) close(100) end program Επιλέγεται να χρησιμοποιηθεί Nx = 2Ny 1 ώστε να δημιουργηθούν τετραγωνικά κελιά με x= y. Επίσης εφόσον ζητείται η τιμή της w στον μέσο της πλάκας θα πρέπει 2 m 1 1,0.5. Παρακάτω παρουσιάζεται N y = + ώστε να υπάρχει πάντα κόμβος στο σημείο ( ) ω = καθώς και η τιμής της w ( 1,0.5) ο αριθμός των απαιτούμενων επαναλήψεων για 1.95 για διάφορα πλέγματα. Πλέγμα w ( 1,0.5) Επαναλήψεις ( ω = 1.95) 5 3 0.71429 454 9 5 0.67232 450 17 9 0.65351 452 33 17 0.64459 459 65 33 0.64023 480 129 65 0.63808 606 257 129 0.63701 2932 513 257 0.63648 11115 1025 513 0.63621 40794 Στην συνέχεια παρουσιάζονται τα γραφήματα των ισοϋψών της w για τέσσερα διαφορετικά πλέγματα. Πλέγμα: 5 3 Πλέγμα: 11 6-12 -

Πλέγμα: 51 26 Πλέγμα: 101 51 Άσκηση 4 Να επιλυθεί το πρόβλημα οριακών τιμών u 1 u 1 u + + = 0, 0 r R, 0 θ π 2 r r r r θ με οριακές συνθήκες: u ( 1, θ ) = 5 και u( r ) u( r π ) Απάντηση:,0 =, = 2. Αρχικά διακριτοποιείται το πεδίο ορισμού 0 r 1 και 0 θ π. Η διεύθυνση r του πεδίου ορισμού διακριτοποιείται σε N r ισαπέχοντες κόμβους οπότε προκύπτουν Nr 1 ίσα διαστήματα πλάτους r = 1 ( N r 1). Η διεύθυνση θ του πεδίου ορισμού διακριτοποιείται σε N θ ισαπέχουσες γωνίες με διαφορά γωνίας θ = π ( N θ 1). Παρακάτω παρουσιάζεται ένα πλέγμα για N r = 3 και N θ = 5. Παρατηρείται ότι στο κέντρο του κάτω ορίου για i = 1 αντιστοιχούν όλες οι διακριτές γωνίες. Το γεγονός αυτό είναι σημαντικό για τον ορισμό των συνοριακών συνθηκών και τον προγραμματισμό της λύσης σε Fortran. - 13 -

Αναπτύσσοντας τις εκφράσεις πεπερασμένων διαφορών για τις παραγώγους προκύπτει η διακριτοποιημένη εξίσωση στους εσωτερικούς κόμβους i = 2,..., N r 1, j = 2,..., N θ 1: u 2u + u 1 u u 1 u 2u + u + + = 0 i+ 1, j i, j i 1, j i+ 1, j i 1, j i, j+ 1 i, j i, j 1 2 r ri 2 r ri θ ri θ ui+ 1, j ui, j ui 1, j ri θ r ui+ 1, j ui 1, j r ui, j+ 1 ui, j ui, j 1 ( ) ( ) ( ) 2 1 ( θ ) θ (( ) + ( ) ) ( + ) 2 2 + + + 2 2 + = 0 ui, j= 4ri + 4 r ri 2ri r ui 1, j 2ri r ui 1, j 2 r ui, j 1 u + + + + i, j 1 = 0 όπου ( 1) ri = i r. Για την επίλυση της παραπάνω εξίσωσης θα χρησιμοποιηθεί η επαναληπτική μέθοδος Gauss-Seidel όποτε ο επαναληπτικός χάρτης για τους εσωτερικούς κόμβους i = 2,..., N r 1, j = 2,..., N θ 1 γράφεται ως ( ) ( ) ( + ) ( + ) 1) 2 1 2 ( ) ( ) 1 ) ( ) ( n ) 2 n+ 1 n ui, j = 4ri θ + 4 r ri θ 2ri+ r ui 1, j+ 2ri r ui 1, j + 2 r ui, j 1 + u i, j 1 = 0 ενώ οι διακριτοποιημένες οριακές συνθήκες προκύπτουν: ( θ ) ( θ ) ( ) ( π ) 1) u R, = 5 u = 5, j = 1,..., N θ u 1, = 2 u = 2, j = 1,..., N θ u r,0 = 2 u = 2, i = 2,..., N 1 Nr, j 1) 1, j 1) i,1 1) in, θ u r, = 2 u = 2, i = 2,..., N 1 Κώδικας Fortran: program LaplaceCylinderRTH implicit none integer::i,j,nr,nth,iter real*8::dr,dth,radius,angle,pi,error,err real*8,allocatable::r(:),th(:),uold(:,:),u(:,:) r r!definition of problem parameters Pi=Acos(-1.)!Pi error=1d-10!desired error nr=3; Radius=1d0; dr=radius/(nr-1d0)!geometry in x direction nth=5; Angle=Pi; dth=angle/(nth-1d0)!geometry in y direction allocate(r(nr),th(nth),uold(nr,nth),u(nr,nth)) uold=0.!initital guess!coordinate system do i=1,nr r(i)=(i-1d0)*dr do j=1,nth th(j)=(j-1d0)*dth - 14 -

!Boundary conditions left,right and top boundaries uold(nr,1:nth)=5. uold(1,1:nth)=2. uold(2:nr-1,1)=2. uold(2:nr-1,nth)=2.!implementation of the Gauss-Seidel method err=1. iter=0!initialize u u=uold!computations for the Gauss-Seidel method do while (err>=error)!internal nodes do i=2,nr-1 do j=2,nth-1 u(i,j)=(r(i)*dth**2.*((2.*r(i)+dr)*u(i+1,j)+(2.*r(i)-dr)*u(i-1,j)) & + 2.*dr**2.*(u(i,j+1)+u(i,j- 1)))/(4.*r(i)**2.*dth**2.+4.*dr**2.)!Find error err = MAXVAL(ABS(u(:,:)-uold(:,:))) uold = u iter=iter+1!write to screen Write(*,"(A,1X,I0,1X,A,ES12.3)") "Solution converged after",iter,"iterations with error:",err Write(*,"(A)") "Open file LaplaceCylinderRTH.dat for more info..."!write results to output file Open(100,file="LaplaceCylinderRTH.dat") Write(100,"(A)") "------------------ Function u ------------------" Write(100,"(15X,10000ES15.5)") th(:) do i=1,nr Write(100,"(10000ES15.5)") r(i),u(i,:) close(100) end program Παρακάτω παρουσιάζονται τόσο πινακοποιημένα όσο και γραφικά τα αποτελέσματα για ένα αραιό πλέγμα με N = 3 5 (τρείς εσωτερικοί κόμβοι): r N θ Κατανομή συνάρτησης u( r, θ ) r θ 0 π 4 π 2 3π 4 π 0.0 2.000 2.000 2.000 2.000 2.000 0.5 2.000 3.390 3.718 3.390 2.000 1.0 5.000 5.000 5.000 5.000 5.000-15 -

Τέλος παρουσιάζονται τα γραφήματα των ισοϋψών της συνάρτησης u για τέσσερα διαφορετικά πλέγματα. Πλέγμα: 5 5 Πλέγμα: 11 11 Πλέγμα: 51 51 Πλέγμα: 101 101-16 -

Άσκηση 5 Να επιλυθεί το πρόβλημα οριακών τιμών όπου R L 1 u 1 u u + + = 0, 0 r R, 0 z L r r r z = = και με οριακές συνθήκες: u( r ) u( r L) u( R z),0 =, = 0,, = 5. Απάντηση: Παρακάτω παρουσιάζεται ενδεικτικά η γεωμετρία και το πλέγμα του προβλήματος: Αρχικά διακριτοποιείται το πεδίο ορισμού 0 rz, 1. Επιλέγεται για την απλοποίηση των τύπων κάθε πλευρά του πεδίου ορισμού να διακριτοποιηθεί σε N ισαπέχοντες κόμβους οπότε προκύπτουν N 1 ίσα διαστήματα με πλάτος h= r = z = 1 ( N 1). Αναπτύσσοντας τις εκφράσεις πεπερασμένων διαφορών 2 ης τάξης για τις παραγώγους προκύπτει η διακριτοποιημένη εξίσωση στους εσωτερικούς κόμβους i = 2,..., N 1, j = 2,..., N 1: u 2u + u 1 u u u 2u + u + + = 0 i+ 1, j i, j i 1, j i+ 1, j i 1, j i, j+ 1 i, j i, j 1 r ri 2 r z 1 u 1, 2u, + u 1, + u 1, u 1, + u, 1 2u, + u, 1 = 0 i+ j i j i j 2 1 i+ j i j i j+ i j i j ( ) ( ) i 1 ui 1, j 2ui, j+ ui 1, j+ ui 1, j ui 1, j + ui, j 1 2ui, j+ ui, j 1 = 0 + 2 1 + + ( ) ( ) i 1 1 1 u = 1+ u + 1 u + u + u 4 2( i 1) 2( i 1) i, j i+ 1, j i 1, j i, j+ 1 i, j 1-17 -

Στον άξονα του κυλίνδρου εφαρμόζοντας κανόνα Hospital r 0 γράφεται ως: 2 u u u u u + + = 0 2 + = 0 2 r r z r z u lim r 0 r 2 u r = 2 r η διαφορική Αναπτύσσοντας τις εκφράσεις πεπερασμένων διαφορών 2ης τάξης για τις παραγώγους: u2, j 2u1, j + u0, j u1, j+ 1 2u1, j + u1, j 1 2 + = 0 2 ( u2, j 2u1, j + u0, j) + u1, j+ 1 2u1, j + u1, j 1 = 0 r z Για την εκτίμηση του φανταστικού κόμβου u 0, j θα χρησιμοποιηθεί πάλι έκφραση πεπερασμένων διαφορών 2ης τάξης και άρα προκύπτει: u r r= 0 u u = = = = 2 r 2, j 0, j 0 0 u0, j u2, j, j 2,..., N 1 Τέλος αντικαθιστώντας την τιμή του φανταστικού κόμβου u 0, j προκύπτει η διακριτοποιημένη εξίσωση για τους κόμβους του άξονα συμμετρίας: 1 u1, j = ( 4 u2, j + u1, j+ 1 + u1, j 1 ), j = 2,..., N 1 6 Για τις υπόλοιπες οριακές συνθήκες ισχύει: ( ) i,1 ( ) in, ( ), u r,0 = 0 u = 0, i = 1,..., N url, = 0 u = 0, i= 1,..., N u Rz, = 5 u = 5, j= 2,..., N 1 N j Για την επίλυση του παραπάνω συστήματος θα χρησιμοποιηθεί η επαναληπτική μέθοδος Gauss-Seidel. Ο επαναληπτικός χάρτης της μεθόδου δίνεται παρακάτω: ( 1) 1 1 ( ) 1 n+ n 1) ( n) 1) ui, j = 1+ ui+ 1, j+ 1 ui 1, j+ ui, j+ 1 + ui, j 1, 4 2( i 1) 2( i 1) i = 2,..., N 1, j = 2,..., N 1 1) 1 ( n) ( n) 1) u1, j = ( 4 u2, j + u1, j+ 1 + u1, j 1 ), 6 j = 2,..., N 1 1) ui,1 = 0, i = 1,..., N 1) uin, = 0, i = 1,..., N 1) un, j = 5, j = 2,..., N 1-18 -

Κώδικας Fortran: program LaplaceCylinderRZ implicit none integer::i,j,n,iter real*8::h,error,err real*8,allocatable::r(:),z(:),uold(:,:),u(:,:)!definition of problem parameters error=1d-10!desired error n=3!number od nodes h=1./(n-1.) allocate(r(n),z(n),uold(n,n),u(n,n)) uold=0.!initital guess!coordinate system do i=1,n r(i)=(i-1.)*h z(i)=(i-1.)*h!boundary conditions bottom, top and right boundaries uold(1:n,1)=0. uold(1:n,n)=0. uold(n,2:n-1)=5.!implementation of the Gauss-Seidel method err=1. iter=0!initialize u u=uold!computations for the Gauss-Seidel method do while (err>=error)!internal nodes do i=1,n-1 do j=2,n-1 if (i==1) then!left boundary nodes u(1,j)=(4.*uold(2,j)+uold(1,j+1)+u(1,j-1))/6. else!internal nodes u(i,j)=((1.+1./(2.*(i-1.)))*uold(i+1,j)+(1.-1./(2.*(i- 1.)))*u(i-1,j)+uold(i,j+1)+u(i,j-1))/4. end if!find error err = MAXVAL(ABS(u(:,:)-uold(:,:))) uold = u iter=iter+1!write to screen Write(*,"(A,1X,I0,1X,A,ES12.3)") "Solution converged after",iter,"iterations with error:",err Write(*,"(A)") "Open file LaplaceCylinderRZ.dat for more info..."!write results to output file Open(100,file="LaplaceCylinderRZ.dat") - 19 -

Write(100,"(A)") "------------------ Function u ------------------" Write(100,"(15X,10000ES15.5)") z(:) do i=1,n Write(100,"(10000ES15.5)") r(i),u(i,:) close(100) end program Με βάση τον παραπάνω κώδικα παρουσιάζονται πινακοποιημένα τα αποτελέσματα για ένα αραιό πλέγμα N N = 3 3. Τέλος, παρουσιάζονται τα γραφήματα των ισοϋψών της συνάρτησης u για τέσσερα διαφορετικά πλέγματα. Κατανομή συνάρτησης u rz 0.0 0.5 1.0 0.0 0.000 1.364 0.000 0.5 0.000 2.045 0.000 1.0 0.000 5.000 0.000 Πλέγμα: 5 5 Πλέγμα: 11 11 Πλέγμα: 51 51 Πλέγμα: 101 101-20 -