Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού Ενότητα 6 Σιέττος Κωνσταντίνος
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειτα σε άδειες χρήσης Crea%ve Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναγράφεται ρητώς.
Εξισώσεις «ιάχυσης-αντίδρασης» Σε μία διάσταση μπορούν να παρασταθούν ως εξής: t ( x, t) ( x, t) = D x + F ( ( x, t) ) Αποτελεί μία (εν-γένει) μη-γραμμική Μερική ιαφορική εξίσωση της μεταβλητής x, t ( ) Εφαρμογή:Μοντελοποίηση μεταφοράς θερμότητας και μάζας σε υλικά και πορώδη υλικά, θεωρία καύσης, περιγραφή της συγκέντρωσης φορτίων σε μικροηλεκτρονικά, περιγραφή της κίνησης βακτηρίων (χημειοτακτισμός), συστήματα οπτοηλεκτρονικής, δημιουργία μορφωμάτων (Toring-αρχές 1950) κ.α.
Εξισώσεις «ιάχυσης-αντίδρασης» Εφαρμογές: Thyristor. Αποτελούν μικρο-διακόπτες οι οποίοι άγουν ρεύμα όταν στην πύλη (Gate) εισάγεται ρεύμα και για όσο χρονικό διάστημα δεν αλλάζει η πολικότητα του ρεύματος Εφαρμογές: υναμική πληθυσμών- Εξίσωση Fisher (Fisher, 1937). Ουσιαστικά πρόκειται για μια μερική διαφορική εξίσωση η οποία συνδυάζει την εξίσωση διάχυσης με την λογιστική εξίσωση πληθυσμιακής ανάπτυξης υπό περιορισμούς πυκνότητας. ( ) ( x t) x,t, xt = D + δe t x (, ) t ( x, t) = r 1 K + D x r είναι η παράμετρος που συνδέεται με τον ρυθμό ανάπτυξης του πληθυσμού, Κ είναι η χωρητική δυνατότητα του συστήματος (carrying capacity) ενώ D είναι ο συντελεστής διάχυσης.
Η Εξίσωση ιάχυσης και η κίνηση Brown Ουσιαστικά η κίνηση Brown αναφέρεται στον τυχαίο «περίπατο» σωματιδίων σε ρευστό και παρατηρήθηκε πρωταρχικά από τον Άγγλο βοτανολόγο Robert Brown το 187. Ο Einstein απέδειξε ότι η κίνηση μικροσκοπικών σωματιδίων τα όποια είναι τυχαίως διασκορπισμένα σε ένα ρευστό υπακούει σε ένα στατιστικό νόμο σύμφωνα με τον οποίο η μέση απόσταση που διανύει ένα σωματίδιο αυξάνεται με την τετραγωνική ρίζα του χρόνου, σύμφωνα με την σχέση R = 6Dt όπου ο συντελεστής D λέγεται συντελεστής διάχυσης, ενώ η χρονική μεταβολή της συγκέντρωσης των σωματιδίων μεταβάλλεται συναρτήσει του χώρου σύμφωνα με την παρακάτω εξίσωση ( x, t ) = D ( x, t ) t Ο Einstein έδειξε ότι ο συντελεστής ιάχυσης εξαρτάται από την θερμοκρασία και από τον συντελεστή τριβής μεταξύ των σωματιδίων και του υγρού, γ, σύμφωνα με την σχέση T D γ
Αριθμητική επίλυση της μονοδιάστατης (αδιάστατης) εξίσωσης διάχυσης Θα επιλύσουμε μέσω πεπερασμένων διαφορών την ακόλουθη εξίσωση σε μια διάσταση από x=0 έως x=1 t ( x, t) ( x, t) = x Η λύση της εξίσωσης είναι η ανεξάρτητη μεταβλητή (x,t) συναρτήσει των ανεξάρτητων μεταβλητών x,t. Αναζητούμε δηλαδή λύσεις της μορφής (x,t). Για την επίλυση της παραπάνω εξίσωσης απαιτούνται τόσο ο προσδιορισμός αρχικών όσο και συνοριακών συνθηκών.
Αριθμητική επίλυση της μονοδιάστατης (αδιάστατης) εξίσωσης διάχυσης Αρχικές συνθήκες Η παραπάνω εξίσωση είναι πρώτης τάξης ως προς t. Άρα απαιτείται 1 αρχική συνθήκη της μορφής: ( x, 0) 0 = Η αρχική αυτή συνθήκη πρέπει να ικανοποιείται την χρονική στιγμή για κάθε σημείο της χωρικής διάστασης.
Αριθμητική επίλυση της μονοδιάστατης (αδιάστατης) εξίσωσης διάχυσης Συνοριακές συνθήκες Λόγω της δεύτερης τάξης εξάρτησης της χωρικής διάστασης για την επίλυση της απαιτείται ο ορισμός δύο αρχικών συνθηκών. Εδώ θα πάρουμε ακόλουθες συνοριακές συνθήκες τύπου Dirichlet:» (0,t)=0» και» (1,t)=0 Οι συνοριακές αυτές συνθήκες θα πρέπει να ικανοποιούνται για κάθε χρονική στιγμή στα σύνορα της χωρικής διάστασης. ( x, 0) = sin( πx) Αν η αρχική συνθήκη είναι η τότε παραπάνω εξίσωση με τις συγκεκριμένες συνοριακές συνθήκες έχει αναλυτική λύση η οποία δίνεται από την ακόλουθη σχέση t ( x, t) = sin( πx) e π
Αριθμητική επίλυση Βήμα 1. ιακριτοποίηση του χώρου Η αναζήτηση της λύσης γίνεται σε διακριτά πεπερασμένου πλήθους σημεία του χώρου (εδώ του μονοδιάστατου χώρου) που αποτελούν το πλέγμα (grid). Καταρχήν επιλέγεται το πλήθος των σημείων του πλέγματος. Έστω N το πλήθος αυτό. Το πρώτο σημείο (κόμβος) του πλέγματος είναι το x 1 =0 και το τελευταίο σημείο το x N =1. Για ισότροπη διαμέριση του χώρου τα ενδιάμεσα σημεία μπορούν να βρεθούν επαναληπτικά σύμφωνα με την σχέση x = x 1 dx i =, 3,...N-1 i i + dx xn x = N 1 1
Αριθμητική επίλυση Βήμα. Προσέγγιση των χωρικών παραγώγων με πεπερασμένες διαφορές. Σε κάθε κόμβο i του πλέγματος προσεγγίζεται η παράγωγος με κεντρικές διαφορές: i+ 1, j i, j + i 1, j x dx x= x i Ο δείκτης j υποδηλώνει την διάσταση του διακριτοποιημένου χρόνου. x x= x i
Αριθμητική επίλυση Βήμα 3. Προσέγγιση της χρονικής παραγώγου με πεπερασμένες διαφορές. Στην διακριτοποιημένη της μορφή η εξίσωση γράφεται di, j i+ 1, j i, j + i 1, j = dt dx Απομένει η προσέγγιση της χρονικής παραγώγου με πεπερασμένες διαφορές. Σε αυτό το σημείο θα χρησιμοποιήσουμε το πιο απλό ρητό σχήμα Eler όπου η χρονική παράγωγος προσεγγίζεται ως di, j i, j+ 1 i, j dt dt i+ 1, j i, j + i 1, j Τελικά: i, j+ 1 = i, j + dt dx ή αν για λόγους εξοικονόμισης αποθηκευτικής υπολογιστικής δυνατότηας παραλείψουμε την αποθήκευση όλων των i 1 i χρονικών διακριτών στιγμών: i = i + dt + + dx i 1
Αριθμητική επίλυση Βήμα 4. ημιουργία του συστήματος των αλγεβρικών εξισώσεων. Η επίλυση του προβλήματος απαιτείται για τους Ν- κόμβους του πλέγματος αφού οι συνοριακές συνθήκες στα σύνορα θα πρέπει να ικανοποιούνται για κάθε χρονική στιγμή και είναι γνωστές. Προκύπτει συνεπώς το ακόλουθο σύστημα αλγεβρικών εξισώσεων N N 1 3 = = = N 3 + dt + dt + dt 3 4 N 1 dx dx 3 + 1 +... = N 1 + dt N N dx N 1 dx + + N 3 N Οι τιμές της 1 και N στην πρώτη και τελευταία εξίσωση αντικαθίστανται από τις τιμές των συνοριακών συνθηκών, ήτοι: 1 = 0 N = 0
Αριθμητική επίλυση Βήμα 3. Εισαγωγή της αρχικής συνθήκης και επίλυση του συστήματος των αλγεβρικών εξισώσεων. Η επίλυση του συστήματος των εξισώσεων απαιτεί την εισαγωγή αρχικών συνθηκών για την αναδρομική εύρεση της λύσης στον χρόνο. Εδώ η αρχική συνθήκη σε διακριτή μορφή δίνεται από την = sin ( π ) i x i Παρατηρείστε ότι η αρχική συνθήκη την χρονική στιγμή ικανοποιεί ως οφείλει τις συνοριακές συνθήκες.
Αριθμητική επίλυση Ευστάθεια Αριθμητικού σχήματος Για την επίλυση του προβλήματος σημαντική είναι η επιλογή των χωρικών και χρονικών διαμερίσεων dx,dt αντίστοιχα. Η επιλογή δεν μπορεί μπορεί να γίνει με τυχαίο τρόπο καθώς για την ευστάθεια του αριθμητικού σχήματος διακριτοποίησης για το συγκεκριμένο πρόβλημα οι δύο αυτοί παράμετροι θα πρέπει να ικανοποιούν την παρακάτω ανισότητα (Αριθμός Corant)
program onedimensionaldiffsion implicit real*8 (a-h,o-z) parameter (npoints=0,pi=3.141596535897933846643) dimension x(npoints),(npoints) c introdce the parameters of the problem x0=0.0 xl=1.0 c c D is the diffsion coefficient D=1.0 c c tend is the time for which the system will be integrated tend=1 c c discretize the space call discr(npoints,x0,xl,x,dx) c c set the initial condition call initialcond(x,,npoints) c c set bondary conditions call bondcond(,npoints) c c dt is the discretiazation step in time dt=0.5*dx**
set reporting time horizon th=0*dt open(nit=1, file='1ddifssionreslts.txt',stats='nknown') time=0.0 do while (time.lt.tend) all elerstep(x,,d,npoints,th,dt,dx) time=time+th write(*,345) time,(5),dsin(pi*x(5))*dexp(-pi***time) write(1,345) time,(5),dsin(pi*x(5))*dexp(-pi***time) 345 format(f10.6,d13.7) pase end do end
sbrotine discr(npoints,x0,xl,x,dx) implicit real*8 (a-h,o-z) dimension x(npoints) domain discretization x is the otpt variable which contains the discretized vales of the space independent variable dx is an otpt variable denoting the discrete step in space x(1)=x0 x(npoints)=xl dx=(xl-x0)/(real(npoints)-1.0) do i=,npoints-1 x(i)=x(i-1)+dx enddo retrn end
sbrotine initialcond(x,,npoints) implicit real*8 (a-h,o-z) dimension (npoints),x(npoints) pi=3.141596535897933846643 do i=1,npoints (i)=sin(pi*x(i)) enddo retrn end
sbrotine elerstep(x,,d,npoints,th,dt,dx) implicit real*8(a-h,o-z) dimension (npoints),ddx(npoints-) do k=1,idnint(th/dt) all deriv(,dx,ddx,npoints) n=0 do m=,npoints-1 n=n+1 (m)=(m)+dt*d*ddx(n) enddo enddo all bondcond(,npoints) retrn end
sbrotine deriv(,dx,ddx,npoints) implicit real*8 (a-h,o-z) dimension (npoints),ddx(npoints-) n=0 do i=,npoints-1 n=n+1 ddx(n)=((i+1)-.0*(i)+(i-1))/dx** enddo retrn end
sbrotine bondcond(,npoints) implicit real*8(a-h,o-z) dimension (npoints) (1)=0.0 (npoints)=0.0 retrn end
Ενδεικτικά αριθμητικά αποτελέσματα προσομοίωσης Η χρονική εξέλιξη της λύσης με Ν = 11 και explicit σχήμα Eler με βήμα dt=0.5*dx Χρόνος
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικόυ έργου του διδάσκοντα Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Ε.Μ.Π.» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικού πόρους.