Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού Ενότητα 7 Σιέττος Κωνσταντίνος
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειτα σε άδειες χρήσης Crea%ve Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναγράφεται ρητώς.
Επίλυση προβληµάτων στις Επιστήµες του Μηχανικού υναµική Συστηµάτων: - Εξισώσεις κίνησης Newon σε 1-D - Προβλήµατα συναγωγής: Εξισώσεις Lorenz Κωνσταντίνος Σιέττος
Yπολογισµός της Κίνησης Σωµάτων υπό την Επίδραση υνάµεων Στην γενική του µορφή: το πρόβληµα των ν-σωµάτων Η εργασία του Poincaré στο πρόβληµα των τριών σωµάτων ουσιαστικά αποτέλεσε την θεµελίωση της θεωρίας του χάους Η απόδειξη της ύπαρξης λύσης στο πρόβληµα των τριών σωµάτων δόθηκε από τον Φιλανδό µαθηµατικό Karl Friiof Sundman στις αρχές του περασµένου αιώνα αλλά η λύση που δίνεται είναι πρακτικά ανεφάρµοστη Το πρόβληµα των ν-σωµάτων ν>3 δεν µπορεί να λυθεί αναλυτικά
Αριθµητική Επίλυση: Μοριακή υναµική Η µέθοδος χρησιµοποιήθηκε για πρώτη φορά από τους Alder and Wainwrigh το 1959 για να υπολογίσουν τις ταλαντώσεις των ατόµων µέσα στα µόρια (εξ ου και ο τίτλος Μια ατοµική διάταξη λεπτού υµενίου από µια προσοµοίωση Μοριακής υναµικής ( Gungor and Maroudas, Applied Physics Leers, 77, 343-345).
Αριθµητική Επίλυση: Μοριακή υναµική Χρησιµοποιείται σε εύρος πολύπλοκων προβληµάτων που εκτείνονται από - την Μηχανική και την Επιστήµη των Υλικών - Την µελέτη της δυναµικής σε προβλήµατα οικολογίας όπως είναι η µελέτη των σχηµατισµών σµήνους πτηνών (flocing/ swarmimg) και ψαριών (fish schooling) µέχρι την µελέτη της δυναµικής κίνησης πεζών/ οχηµάτων
Μοριακή υναµική: Παραδείγµατα Στιγµιότυπο από σχηµατισµό σµήνους πτηνών κίνηση πεζών σε συνθήκες πυκνής κυκλοφορίας
H µέθοδος: Επίλυση Εξισώσεων Newon Στην απλή (γενική της) µορφή η µέθοδος αφορά την αριθµητική ολοκλήρωση των εξισώσεων του Νεύτωνα για ένα σύστηµα Ν αλληλεπιδρώντων σωµάτων d r r R 3 v το άνυσµα των θέσεων στον 3-D χώρο ως προς ένα σηµείο αναφοράς m d v F 1, 2,..., N v R 3 είναι το άνυσµα των ταχυτήτων F : R N 3 R είναι ο όρος που εκφράζει τη συνεισφορά των δυνάµεων που δρούν από την ύπαρξη συζευγµένων πεδίων στο -h σώµα
Αλγόριθµος Επίλυσης των Εξισώσεων Newon Μια πολύ απλή σχηµατική παράσταση του αλγόριθµου είναι η εξής Βήµα 0. Θέτουµε τις αρχικές θέσεις και ταχύτητες r v Do while {ime < ime_se} End Do 1. Υπολόγισε όλες τις δυνάµεις 2. Επίλυσε τις εξισώσεις κίνησης F N j Για τον υπολογισµό των νέων θέσεων και νέων ταχυτήτων µετά από χρόνο + F d r v j m d v F r v
Αλγόριθµος Επίλυσης των Εξισώσεων Newon Βήµα 2: Αριθµητική χρονική ολοκλήρωση των εξισώσεων κίνησης Από τον χρόνο d r v m d v F + Προσέγγιση της χρονικής παραγώγου µε πεπερασµένες διαφορές ιάφορες: 1. Explici Euler 2. Αλγόριθµος Verle 3. Runge-Kua..
Μέθοδος Explici Euler: H πιο απλή. Από τον χρόνο dr d r v r( + ) r( ) + dv v( d v m + ) v( ) F ηλαδή: r + v( + ) v( ) + F ( ) ( ) r( ) + v( ) Οι παραπάνω σχέσεις εξάγονται εύκολα από την ανάπτυξη κατά Taylor στον χρόνο της r(+ ) και της v(+ ) m
Μέθοδος Explici Euler: H πιο απλή..αλλά σίγουρα όχι η καλύτερη.. Από τον χρόνο r d r v ( ) r( ) + v( ) + m d v + v( + ) v( ) + F ( ) Σφάλµα σε κάθε βήµα: της τάξης του Ο( 2 ) Για 1/ αριθµό βηµάτων το σφάλµα της τάξης του (1/ ) * 2 ~ Θα πρέπει το βήµα να είναι πάρα πολύ µικρό.. προβλήµατα ευστάθειας σχήµατος m F
Μέθοδος Verle Ο συνηθέστερα χρησιµοποιούµενος αλγόριθµος για την επίλυση των εξισώσεων Νewon σε κάθε χρονική στιγµή είναι ο αλγόριθµος Verle Από τον χρόνο r d r v m ( ) 2 r ( ) r ( ) + F ( ) + 2 + v ( ) m d v F ( + ) ( ) r r 2 Οι παραπάνω σχέσεις εξάγονται εύκολα από την ανάπτυξη κατά Taylor στον χρόνο της θέσηςr ( ) ( ) ( ) 1 F ( ) 2 + r + v + + O( 3) 1 F ( ) 2 r r v + 2 m 2 m r ( ) ( ) ( ) + O ( 3)
Μέθοδος Verle Ο συνηθέστερα χρησιµοποιούµενος αλγόριθµος για την επίλυση των εξισώσεων Νewon σε κάθε χρονική στιγµή είναι ο αλγόριθµος Verle r m 2 + v ( ) ( ) 2 r ( ) r ( ) + F ( ) ( + ) ( ) r r 2 Οι παραπάνω σχέσεις εξάγονται εύκολα από την ανάπτυξη κατά Taylor στον χρόνο της θέσης r ( ) ( ) ( ) 1 F ( ) 1 F 2 2 ( ) + r + v + + O( 3) r r v + O 2 m 2 m r ( ) ( ) ( ) Παρατηρήστε ότι είναι Ο(4) τάξης ακριβής ως προς το βήµα Όµως χρειάζεται ο υπολογισµός της θέσης την χρονική στιγµή ( + ) + r για τον υπολογισµό της ταχύτητας την χρονική στιγµή v ( ) ηλαδή δεν µπορούµε ποτέ να έχουµε ταυτόχρονα τις θέσεις και τις ταχύτητες την ίδια χρονική στιγµή ( 3)
Μέθοδος Verle Ο συνηθέστερα χρησιµοποιούµενος αλγόριθµος για την επίλυση των εξισώσεων Νewon σε κάθε χρονική στιγµή είναι ο αλγόριθµος Verle r 2 + v m ( ) ( ) 2 r ( ) r ( ) + F ( ) Επίσης προβλήµατα ευστάθειας σχήµατος! ( + ) ( ) r r 2 m 2 F ( ) << 2r( ) r( ) όταν << 1 Πεπερασµένη ακρίβεια Μηχανής!
Η µέθοδος Η µέθοδος velociy velociy-verle Verle Από τον χρόνο d v r + d m F v ( ) ( ) m F v v 2 2 + + ( ) ( ) + + + 2 v r r ( ) ( ) m + + + + F v v 2 2
Ένα απλό πρόβληµα: Εκκρεµές σε πεδίο Βαρύτητας Αναλυτική Λύση: Ισχύει για θ<<1 ɺ θ ω ɺ ω g L sin ( θ) F( θ) ( ) cos( g / L) ( ) g Lθ sin( g / L) θ θ 0 ω / 0 Αριθµητική Επίλυση: Ισχύει για κάθε θ Euler: θ ( + ) θ( ) + ω( ) ω( + ) ω( ) + F( ) g Verle: θ( + ) 2θ( ) θ( ) + 2 F( ) ω ( ) θ ( + ) θ( ) 2
Ένα απλό πρόβληµα: Εκκρεµές σε πεδίο Βαρύτητας Γράψτε ένα πρόγραµµα forran που θα διαβάζει τις αρχικές συνθήκες θ(0) και ω(0) το µήκος L, τον χρόνο ολοκλήρωσης, και τον τελικό χρόνο ολοκλήρωσης f και θα τυπώνει σε ένα αρχείο τις τροχιές θ(), ω(), F() συναρτήσει του χρόνου Χρησιµοποιήστε ARRAYS για τις µεταβλητές, θ, ω, F Γράψτε µια συνάρτηση (funcion) για τον υπολογισµό της ύναµης συναρτήσει της γωνίας θ Γράψτε δύο υπορουτίνες για την εφαρµογή της Euler και της Verle Τα ορίσµατα θα είναι οι arrays,θ, ω καθώς και τα, f, L καθώς και ο δείκτης που θα δείχνει πόσα στοιχεία από τις array «γέµισαν»
Εκκρεµές σε πεδίο Βαρύτητας: Με Euler program main ineger nmax,index,i Parameer (nmax1000000) real (nmax),x(nmax),v(nmax) real x0,v0 real,f wrie(*,*) give hea0,omega0,,f,lamda read(*,*) x0,v0,,f,lamda x(1)x0 v(1)v0 T(1)0 call euler (,x,v,,f,lamda,index) open(uni1,file.,saus unnown ) do i1,index wrie(1,*) (i),x(i),v(i) enddo close(1) end real funcion force (hea,lamda) real g,lamda parameer (g9.81) force(-g/lamda)*sin(hea) reurn end subrouine euler (,x,v,,f,lamda,index) ineger nmax,i,index parameer(nmax1000000) real (nmax),x(nmax),v(nmax),lamda,,f real force i1 do while ((i-1).l.f) ii+1 (i)(i-1)+ x(i)x(i-1)+v(i-1)* v(i)v(i-1)+*force(x(i-1),lamda) indexi enddo end
Εκκρεµές σε πεδίο Βαρύτητας: Με Verle program main ineger nmax,index,i Parameer (nmax1000000) real (nmax),x(nmax),v(nmax) real x0,v0 real,f wrie(*,*) give hea0,omega0,,f,lamda read(*,*) x0,v0,,f,lamda x(1)x0 v(1)v0 T(1)0 call verle (,x,v,,f,lamda,index) open(uni1,file.,saus unnown ) do i1,index wrie(1,*) (i),x(i),v(i) enddo Reurn end real funcion force (hea,lamda) real g,lamda parameer (g9.81) force(-g/lamda)*sin(hea) reurn end subrouine verle (,x,v,,f,lamda,index) ineger nmax,i,index parameer(nmax1000000) real (nmax),x(nmax),v(nmax),lamda,,f real force i2 x(i)x(i-1)+v(i-1)* v(i)v(i-1)+*force(x(i-1),lamda) (i)(i-1)* do while ((i-1).l.f) ii+1 (i)(i-1)+ x(i)2*x(i-1)-x(i-2)+force(x(i-1),lamda)***2 v(i-1)(x(i)-x(i-2)/(2*) indexi enddo v(i)(x(i)-x(i-1))/ end
Προσοµοιώσεις και απεικόνιση Χρησιµοποιείστε: L1, Αρχικές συνθήκες: hea00.2, omega00.0 Τελικός χρόνος: : f10 οκιµάστε διάφορα από 1.Ε-02 µέχρι 1.Ε-06 Πλοτάρετε τα αποτελέσµατα µε o gnuplo και ερµηνεύστε τα σε σχέση µε τις τιµές του και την αναλυτική λύση που ισχύει όµως µόνο για θ<<1 ( ) ( ) ɺ θ0 θ θ cos g / L sin( g / L) 0 + g / L ω ɺ θ 0 cos g / L θ0 g / L sin g / ( ) ( ) ( L)
Προσοµοιώσεις και απεικόνιση Για την απεικόνιση της αναλυτικής λύσης για θ<<1 gnuplo> se dummy gnuplo> g9.81 gnuplo> lamda1 gnuplo>omegasqr(g/lamda) gnuplo>x00.2 gnuplo>v00.0 gnuplo>x()x0*cos(omega*)+(v0/omega)*sin(omega*) gnuplo>v()v0*cos(omega*)-(x0*omega)*sin(omega*) gnuplo>plo x(),v() gnuplo> plo euler.x using 1:($2-x($1)) wih lines
Αριθµητική Χρονική Ολοκλήρωση συστήµατος συνήθων διαφορικών εξισώσεων dx f( x, y, z,... ) dy g( x, y, z,...) dz h( x, y, z,... )... Σχήµατα Χρονικής Ολοκλήρωσης - Euler - Runge-Kua - Gear -. x y z Euler ( + ) x( ) + f( x, y, z,... ) ( + ) y( ) + g( x, y, z,... ) ( + ) z( ) + h( x, y, z,... )...
Προβλήµατα συναγωγής και οι εξισώσεις Lorenz Η συναγωγή είναι η µακροσκοπική κίνηση των µορίων σε ρευστά και αποτελεί ένα από τους τρεις κύριους µηχανισµούς για την µεταφορά ενέργειας και µάζας. Οι άλλοι δύο µηχανισµοί είναι η αγωγή (conducion) και η ακτινοβολία (radiaion). Η αγωγή αφορά την µεταφορά ενέργειας µέσω επαφής σωµάτων χωρίς την µακροσκοπική κίνηση/ µεταφορά µορίων και είναι ο κύριος µηχανισµός µεταφοράς θερµότητας σε στερεά.. Η ακτινοβολία (π.χ. ηλιακή ακτινοβολία) αφορά την µεταφορά ενέργειας στον χώρο µέσω ηλεκτροµαγνητικών κυµάτων χωρίς την βοήθεια/διαµεσολάβηση κάποιου ρευστού ή στερεού µέσου. Στα ρευστά η µεταφορά µάζας και θερµότητας µε συναγωγή λαµβάνει χώρα µέσω δύο βασικών µηχανισµών: της διάχυσης και της µεταφοράς. Στην ατµόσφαιρα η συναγωγή της θερµότητας προϋποθέτει την κίνηση µαζών αέρα. Ο αέρας είναι κακός αγωγός της θερµότητας και για αυτόν τον λόγο η συναγωγή είναι ο κύριος µηχανισµός µεταφοράς θερµότητας στην ατµόσφαιρα της Γης. Η συναγωγή συµβαίνει όταν ένα λεπτό στρώµα αέρα έρχεται σε επαφή µε µια θερµή επιφάνεια, ζεσταίνεται αρχικά µέσω αγωγής και µε το φαινόµενο της άνωσης επειδή ο θερµός αέρας έχει µικρότερη πυκνότητα από τον ψυχρό αέρα ανυψώνεται µεταφέροντας µαζί του την θερµότητα που έχει απορροφήσει. Αυτό είναι η κύρια αρχή που χρησιµοποιείται για την ανύψωση αερόστατων
Προβλήµατα συναγωγής και οι εξισώσεις Lorenz u ρ + u u p+ τ+ρ g Μια από τις πιο διάσηµες εξισώσεις που χρησιµοποιούνται για την περιγραφή του φαινοµένου και γενικά για την περιγραφή της ροής ρευστών είναι η εξίσωση Navier-Soes και οι παραλλαγές της. Στην βασική τους µορφή η εξίσωση Navier-Soes δίνονται από την ακόλουθη µερική διαφορική εξίσωση: u ρ + u u p+ τ+ρ g Είναι στην ουσία µια µαθηµατική διατύπωση του δεύτερου νόµου κίνησης του Newon (Μάζα) (επιτάχυνση) (Άθροισµα εξωτερικών δυνάµεων). Η εξίσωση αυτή αναφέρει ότι ένα σωµατίδιο ρευστού επιταχύνεται υπό την επίδραση των δυνάµεων βαρύτητας πίεσης και ιξώδους τάσης που ασκούνται πάνω σε αυτό από το περιβάλλον του. Ο πρώτος όρος στο αριστερό µέρος της εξίσωσης αναφέρεται στην τοπική επιτάχυνση του ρεστού, ο δεύτερος όρος αντιστοιχεί στην επιτάχυνση από συναγωγή. Ο πρώτος όρος στο δεξί µέλος των εξισώσεων αντιστοιχεί στην επιτάχυνση του ρευστού λόγω διαφοράς πίεσης, Ο δεύτερος αντιστοιχεί στην επιβράδυνση λόγω τριβής (ιξώδους δύναµης) και ο τρίτος όρος είναι η βαρυτική επιτάχυνση.
Προβλήµατα συναγωγής και οι εξισώσεις Lorenz u ρ + u u p+ τ+ρ g Το 1961 ο Edward N. Lorenzείχε καταφέρει να παράγει ένα απλοποιηµένο σύστηµα συνήθων διαφορικών εξισώσεων από την εξίσωση Navier-Soes µε σκοπό την µελέτη καιρικών φαινοµένων. Οι προσοµοιώσεις εκείνη την εποχή γίνονταν σε αναλογικούς υπολογιστές µε πολλές τάξης µεγέθους µικρότερη υπολογιστική ισχύ από ένα σηµερινό απλό προσωπικό υπολογιστή. Edward N. Lorenz, 1917-2008 Μια ηµέρα ο Lorenz θέλοντας να παράγει µια µεγαλύτερη χρονοσειρά από το µοντέλο του αποφάσισε να αρχίσει τις προσοµοιώσεις από εκεί που τις είχε αφήσει από προηγούµενα «τρεξίµατα». Μετά από κάποιες ώρες τρεξίµατος στον αναλογικό υπολογιστή είδε κάτι που τον ξάφνιασε: η νέα προσοµοίωση απέκλινε κατά πολύ από προηγούµενες προσοµοιώσεις οι οποίες είχαν ξεκινήσει από τις ίδιες αρχικές συνθήκες. Αυτό αποτελούσε έκπληξη διότι οι συνήθεις διαφορικές εξισώσεις που χρησιµοποιούσε ήταν ντετερµινιστικές. Με ίδιες αρχικές συνθήκες «ο καιρός» θα έπρεπε να εξελισσόταν µε τον ίδιο τρόπο κάθε φορά.
Προβλήµατα συναγωγής και οι εξισώσεις Lorenz Όµως µια µικρή αλλαγή στα όρια της υπολογιστικής ακρίβειας έδινε µετά από κάποιο χρόνο προσοµοίωσης τελείως διαφορετικές συµπεριφορές. Ήταν η απαρχή της θεωρίας του ντετερµινιστικού χάους. Το φαινόµενο αυτό είναι γνωστό ως το φαινόµενο της πεταλούδας: το φτερούγισµα µιας πεταλούδας στην Κίνα θεωρητικά µπορεί να προκαλέσει µετά από µερικές ηµέρες ισχυρές καταιγίδες στην Αµερική. Έτσι οι µακροπρόθεσµες καιρικές προβλέψεις δεν µπορεί να είναι αξιόπιστες. Edward N. Lorenz, 1917-2008 η µεταβλητή Χ είναι ανάλογη της έντασης της συναγωγής dx dυ dz σ Χ +συ Χ Ζ + R X Y Χ Y b Z η µεταβλητή Υ είναι ανάλογη της διαφοράς θερµοκρασίας µεταξύ των ανοδικών και καθοδικών ρευµάτων αέρα η µεταβλητή είναι Z ανάλογη της απόκλισης του κατακόρυφου πεδίο της θερµοκρασίας από την γραµµική σχέση σ είναι ο αριθµός Prandl R είναι ο αριθµός Rayleigh Η παράµετρος b αντιπροσωπεύει το µέγεθος της περιοχής
Oι εξισώσεις Lorenz-Χρονική Ολοκλήρωση-Το πρόγραµµα Forran program lorenz Implici real*8 (a-h,o-z) ime0.0 end100.0 0.001 c Kahe poe svzoume so arxeio is imes vn X,Y,Z horizon0.1 Nsepsfloor(horizon/) c sigma10.0 rho0.5 bea8.0/3.0 c iniial condiions x010.0 y00.0 x010.0 open(uni1,file'lorenzresuls.x',saus'unnown') Kseps0 dx dυ dz σ Χ +συ ΧΖ + R X Y Χ Y b Z Do while (ime.l.end) Xx0+*(-sigma*x0+sigma*y0) Yy0+*(-x0*z0+rho*x0-y0) Zz0+*(x0*y0-bea*z0) X0x Y0y Z0z sepsseps+1 Timeime+ If (seps.eq.nseps) hen wrie(1,*) ime,x,y,z Kseps0 Endif enddo end
Oι εξισώσεις Lorenz-αποτελέσµατα προσοµοίωσης οκιµάστε να τροποποιήστε το πρόγραµµα για να του δίνετε εσείς από το πληκτρολόγιο αρχικές συνθήκες, την τιµή των παραµέτρων καθώς και την τελική τιµή του χρόνου. dx dυ dz σ Χ +σ Υ ΧΖ + R X Y Χ Y b Z Τρέξτε το πρόγραµµα για rh04, sigma10.0, bea8/3, Χ02, Υ01.5, Ζ01.0 Και Χ0-2, Υ0-1.5, Ζ01.0 Ποιες ειναι οι τελικές τιµές στη µόνιµη κατάσταση στις δυο αυτές περιπτώσεις;
Oι εξισώσεις Lorenz-αποτελέσµατα προσοµοίωσης Τι συµβαίνει: το διάγραµµα διακλάδωσης λύσεων ισορροπίας(dx/dy/dz/0) dx dυ dz σ Χ +σ Υ ΧΖ + R X Y Χ Y b Z 6 4 ( b( R 1), b( R 1), R 1) 2 0-2 -4-6 0 0.5 1 1.5 2 2.5 3 3.5 4 R
Oι εξισώσεις Lorenz-αποτελέσµατα προσοµοίωσης Ταλαντωτικές λύσεις Κατασκευή ιαγράµµατος φάσης dx dυ dz σ Χ +σ Υ ΧΖ + R X Y Χ Y b Z ιάγραµµα φάσης: To διάγραµµα που παριστάνει την εξέλιξη των τροχιών ως προς τις µεταβλητές του συστήµατος. Τρέξτε για rho360, x02,y02,z01.5, end100,0.001, horizon0.1, end100. Κατασκευάστε το διάγραµµα φάσης Χ(), Y() από τις τροχιές µετά ime>80. 150 Υ 100 50 0-50 -100-150 -60-40 -20 0 20 40 60 Χ
Oι εξισώσεις Lorenz-αποτελέσµατα προσοµοίωσης Ο περίφηµος Χαοτικός ελκυστής Lorenz Κατασκευάστε το 3-d διάγραµµα φάσης, Χ-Υ-Ζ για rho28, x010,y00,z010, 0.001, horizon0.05, end100. dx dυ dz σ Χ +σ Υ ΧΖ + R X Y Χ Y b Z Ζ 50 40 30 20 10 0 20 10 Χ 0-10 -20 50 0 Υ -50
Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικόυ έργου του διδάσκοντα Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα Ε.Μ.Π.» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικού πόρους.