Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Συντονιστές: φιάλη klein, Ryu, markelos, meleneemil, Nasia!
- deee
- Δημοσιεύσεις: 51
- Εγγραφή: Τετ Φεβ 25, 2009 12:39 pm
- Real Name: deee
- Gender: Female
- Facebook ID: 0
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Το 1ο είναι:program my_generation
implicit none
real*8 r,x,x0
integer i,nmax
print *,'# Enter r,x0,nmax'
read(5,*) r,x0,nmax
print*,'#r=',r,'x0=',x0,'nmax=',nmax
x=x0
open(unit=17,file='g1.dat',status='unknown')
write(17,*) 0,x0
do i=1,nmax
x=r*x*exp(-x)
write(17,*) i,x
enddo
close(17)
end
Το 2ο: program main
integer nmax,index,i
real T(nmax)
Parameter (nmax=1000000)
real t(nmax),x(nmax),v(nmax)
real x0,v0
real dt,tf
write(*,*) 'give theta0,omega0,dt,tf,b'
read(*,*) x0,v0,dt,tf,b
x(1)=x0
v(1)=v0
T(1)=0
call euler (t,x,v,dt,tf,b,index)
open(unit=1,file='xax3.f',status='unknown')
do i=1,index
write(1,*) t(i),x(i),v(i)
enddo
close(1)
end
subroutine euler (t,x,v,dt,tf,b,index)
integer nmax,i,index
parameter(nmax=1000000)
real t(nmax),x(nmax),v(nmax),b,dt,tf
i=2
do while (t(i-1).lt.tf)
i=i+1
t(i)=t(i-1)+dt
x(i)=x(i-1)+v(i-1)*dt
v(i)=v(i-1)-b*x(i-1)**3
index=i
enddo
end
Τώρα ελπίζω να είναι σώστα
implicit none
real*8 r,x,x0
integer i,nmax
print *,'# Enter r,x0,nmax'
read(5,*) r,x0,nmax
print*,'#r=',r,'x0=',x0,'nmax=',nmax
x=x0
open(unit=17,file='g1.dat',status='unknown')
write(17,*) 0,x0
do i=1,nmax
x=r*x*exp(-x)
write(17,*) i,x
enddo
close(17)
end
Το 2ο: program main
integer nmax,index,i
real T(nmax)
Parameter (nmax=1000000)
real t(nmax),x(nmax),v(nmax)
real x0,v0
real dt,tf
write(*,*) 'give theta0,omega0,dt,tf,b'
read(*,*) x0,v0,dt,tf,b
x(1)=x0
v(1)=v0
T(1)=0
call euler (t,x,v,dt,tf,b,index)
open(unit=1,file='xax3.f',status='unknown')
do i=1,index
write(1,*) t(i),x(i),v(i)
enddo
close(1)
end
subroutine euler (t,x,v,dt,tf,b,index)
integer nmax,i,index
parameter(nmax=1000000)
real t(nmax),x(nmax),v(nmax),b,dt,tf
i=2
do while (t(i-1).lt.tf)
i=i+1
t(i)=t(i-1)+dt
x(i)=x(i-1)+v(i-1)*dt
v(i)=v(i-1)-b*x(i-1)**3
index=i
enddo
end
Τώρα ελπίζω να είναι σώστα
- apolski
- Δημοσιεύσεις: 846
- Εγγραφή: Πέμ Ιουν 21, 2007 3:09 pm
- Real Name: ---
- Gender: Male
- Facebook ID: 0
- Τοποθεσία: UK
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Ευχαριστω deee, περιμενουμε και τα υπολοιπα.
- Tsakalos
- Δημοσιεύσεις: 518
- Εγγραφή: Δευ Νοέμ 06, 2006 1:43 am
- Real Name: Κώστας
- Gender: Male
- Facebook ID: 0
- Τοποθεσία: Άλφα του Κενταύρου
- Επικοινωνία:
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Συνδεθειτε στο cloudfront και ανοιξτε ενα shell ή το file manager!
Μπειτε στο φακελο του καθηγητη: /mnt/home/konstant
εκει μεσα στους φακελους Lecture10 Lecture11 και EXAM υπαρχουν οι λυσεις των θεματων...
Μπειτε στο φακελο του καθηγητη: /mnt/home/konstant
εκει μεσα στους φακελους Lecture10 Lecture11 και EXAM υπαρχουν οι λυσεις των θεματων...
Τελευταία προτεραιότητα η σχολή μου!
και να θυμομόστε τον κύριο Dio...

και να θυμομόστε τον κύριο Dio...

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
που ρε αγόρι? εγώ βλέπω μόνο ενδεικτικά θέματα και τις λύσεις. Εχει και ενα φακελο FINAL κλειδωμένο.
εντιτ: ακυρο, τα βρηκα. Θενξ!
εντιτ: ακυρο, τα βρηκα. Θενξ!
Δε φοβάμαι τίποτα...
Δεν ελπίζω σε τίποτα....
ΕΙΜΑΙ ΦΙΛΕΛΕΥΘΕΡΟΣ!
Δεν ελπίζω σε τίποτα....
ΕΙΜΑΙ ΦΙΛΕΛΕΥΘΕΡΟΣ!
-
citizen
- Δημοσιεύσεις: 29
- Εγγραφή: Πέμ Ιαν 29, 2009 9:12 am
- Real Name: Μάνος
- Gender: Male
- Facebook ID: 0
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
runge-kutta είναι μέσα στην ύλη?
-
zoe
- Δημοσιεύσεις: 34
- Εγγραφή: Τετ Οκτ 24, 2007 2:02 pm
- Real Name: Zwi
- Gender: Female
- Facebook ID: 517606286
- Τοποθεσία: everywhere
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
I uli poia einai akrivws??
- markelos
- Portal Moderator

- Δημοσιεύσεις: 316
- Εγγραφή: Σάβ Αύγ 18, 2007 8:57 pm
- Real Name: Ace
- Gender: Male
- Facebook ID: 0
- Τοποθεσία: Grand Line
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Aπό το courses.ntua.gr
- Εισαγωγή στο λειτουργικό σύστημα UNIX.
- Εισαγωγή στη γλώσσα προγραμματισμού Fortran
- Υπολογισμός και απεικόνιση τροχιών σωματιδίων σε 2 και 3 διαστάσεις: Προγραμματισμός κινηματικής σωματιδίου σε 2 και 3 διαστάσεις. Ανάλυση των δεδομένων και απεικόνιση τροχιάς. Έλεγχος ακρίβειας αποτελεσμάτων, διατηρούμενες ποσότητες.
- Υπολογισμός και απεικόνιση της κίνησης σωματιδίου υπό την επίδραση δύναμης επιλύοντας τις εξισώσεις κίνησης Νεύτωνα σε 1 και 2 διαστάσεις: Μέθοδοι Euler, Runge Kutta. Επίλυση απλών προβλημάτων στη μία διάσταση: αρμονικός ταλαντωτής, κίνηση στο βαρυτικό πεδίο με τριβή κλπ. Μελέτη ακρίβειας και ευστάθειας λύσεων. Εφαρμογές στις 2 διαστάσεις: Κίνηση στο βαρυτικό πεδίο στην επιφάνεια της γης, μαγνητικό πεδίο, αρμονικός ταλαντωτής, κίνηση πλανητών.
- H λογιστική εξίσωση: Προγραμματισμός τροχιάς λογιστικής εξίσωσης και απεικόνιση. Ελκυστές, σταθερά σημεία, διακλάδωση (bifurcation). Διπλασιασμός περιόδου, χαοτική συμπεριφορά.
- Επίλυση της εξίσωσης διάχυσης με ή χωρίς όρο πηγής σε μία και δύο διαστάσεις: Επίλυση της εξίσωσης διάχυσης στο χρόνο σε μία διάσταση. Σχήμα Euler. Αριθμός Courant. Διατύπωση των πεπερασμένων διαφορών σε μορφή στάμπας (stencil). Επίλυση της εξίσωσης διάχυσης με όρο πηγής σε δύο διαστάσεις.
- Ηλεκτροστατική: Δυναμικές γραμμές και ισοδυναμικές επιφάνειες ηλεκτρικού πεδίου ηλεκτροστατικής κατανομής σημειακών φορτίων στο επίπεδο. Επίλυση εξίσωσης Laplace στο επίπεδο παρουσία αγωγών. Εξίσωση Poisson στο επίπεδο για συνεχή ηλεκτροστατική κατανομή φορτίου.
- Υπολογισμός τροχιών, λύσεων ισορροπίας και ταλαντωτικών λύσεων σε απλά προβλήματα συναγωγής και νευρο-διέγερσης: Οι εξισώσεις Lorentz. Βηματισμός σε παράμετρο για την κατασκευή του διαγράμματος λύσεων. Διαγράμματα φάσεων. Το απλοποιημένο μοντέλο νευροδιέγερσης Fitzhugh. Χρονική Ολοκλήρωση. Κατασκευή του διαγράμματος λύσεων.
- Yπολογισμός και απεικόνιση της κίνησης πολλαπλών σωματιδίων υπό την επίδραση συζευγμένων πεδίων: Προγραμματισμός μοριακής δυναμικής στο επίπεδο: Αλγόριθμος Verlet, συνοριακές, μελέτη κατανομής θέσεων και ταχυτήτων, δυναμικό Lennard-Jones. Προσομοίωση του προβλήματος Pedestrian Dynamics
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
markelos έγραψε:Aπό το courses.ntua.gr
Επίσης μην ξεχνάτε σήμερα το τελευταίο μάθημα όπου θα λύσουμε θέματα, αίθουσα Α στον πρώτο όροφο του ΔΕΠΥ και ώρα 14:45-17:30. Βασικά είναι αναπλήρωση του τρίτου τμήματος αλλά καλό είναι να έρθετε για εξάσκηση.
- Εισαγωγή στο λειτουργικό σύστημα UNIX.
- Εισαγωγή στη γλώσσα προγραμματισμού Fortran
- Υπολογισμός και απεικόνιση τροχιών σωματιδίων σε 2 και 3 διαστάσεις: Προγραμματισμός κινηματικής σωματιδίου σε 2 και 3 διαστάσεις. Ανάλυση των δεδομένων και απεικόνιση τροχιάς. Έλεγχος ακρίβειας αποτελεσμάτων, διατηρούμενες ποσότητες.
- Υπολογισμός και απεικόνιση της κίνησης σωματιδίου υπό την επίδραση δύναμης επιλύοντας τις εξισώσεις κίνησης Νεύτωνα σε 1 και 2 διαστάσεις: Μέθοδοι Euler, Runge Kutta. Επίλυση απλών προβλημάτων στη μία διάσταση: αρμονικός ταλαντωτής, κίνηση στο βαρυτικό πεδίο με τριβή κλπ. Μελέτη ακρίβειας και ευστάθειας λύσεων. Εφαρμογές στις 2 διαστάσεις: Κίνηση στο βαρυτικό πεδίο στην επιφάνεια της γης, μαγνητικό πεδίο, αρμονικός ταλαντωτής, κίνηση πλανητών.
- H λογιστική εξίσωση: Προγραμματισμός τροχιάς λογιστικής εξίσωσης και απεικόνιση. Ελκυστές, σταθερά σημεία, διακλάδωση (bifurcation). Διπλασιασμός περιόδου, χαοτική συμπεριφορά.
- Επίλυση της εξίσωσης διάχυσης με ή χωρίς όρο πηγής σε μία και δύο διαστάσεις: Επίλυση της εξίσωσης διάχυσης στο χρόνο σε μία διάσταση. Σχήμα Euler. Αριθμός Courant. Διατύπωση των πεπερασμένων διαφορών σε μορφή στάμπας (stencil). Επίλυση της εξίσωσης διάχυσης με όρο πηγής σε δύο διαστάσεις.
- Ηλεκτροστατική: Δυναμικές γραμμές και ισοδυναμικές επιφάνειες ηλεκτρικού πεδίου ηλεκτροστατικής κατανομής σημειακών φορτίων στο επίπεδο. Επίλυση εξίσωσης Laplace στο επίπεδο παρουσία αγωγών. Εξίσωση Poisson στο επίπεδο για συνεχή ηλεκτροστατική κατανομή φορτίου.
- Υπολογισμός τροχιών, λύσεων ισορροπίας και ταλαντωτικών λύσεων σε απλά προβλήματα συναγωγής και νευρο-διέγερσης: Οι εξισώσεις Lorentz. Βηματισμός σε παράμετρο για την κατασκευή του διαγράμματος λύσεων. Διαγράμματα φάσεων. Το απλοποιημένο μοντέλο νευροδιέγερσης Fitzhugh. Χρονική Ολοκλήρωση. Κατασκευή του διαγράμματος λύσεων.
- Yπολογισμός και απεικόνιση της κίνησης πολλαπλών σωματιδίων υπό την επίδραση συζευγμένων πεδίων: Προγραμματισμός μοριακής δυναμικής στο επίπεδο: Αλγόριθμος Verlet, συνοριακές, μελέτη κατανομής θέσεων και ταχυτήτων, δυναμικό Lennard-Jones. Προσομοίωση του προβλήματος Pedestrian Dynamics
Είναι πολύ γενικά αυτά που έχεις ποσταρει.
Ολα αυτα τα εχουν αναρτημενα απο την αρχη του εξαμηνου.Λογω ομως απεργιων κτλ εχουν γινει πολυ λιγοτερα.
Θεωρω πως την υλη πρεπει να την δειτε απο εδώ http://www.physics.ntua.gr/~konstant/ProgMech/
που ειναι στην ουσια ολες οι ασκησεις που εχουν γινει..
- dj manos
- Banned
- Δημοσιεύσεις: 981
- Εγγραφή: Τρί Ιαν 08, 2008 12:57 pm
- Real Name: Μάνος
- Gender: Female
- Facebook ID: 0
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Υπενθύμιση Εγγραφής στις εξετάσεις
Υπενθυμίζουμε ότι σήμερα είναι η προθεσμία εγγραφής στις εξετάσεις της 15/6. Παρακαλούμε τους φοιτητές/ριες να εγγραφούν το συντομότερο δυνατόν σύμφωνα με τις οδηγίες της ανακοίνωσης της 27/5/2010.
Οι Διδάσκοντες
Υπενθυμίζουμε ότι σήμερα είναι η προθεσμία εγγραφής στις εξετάσεις της 15/6. Παρακαλούμε τους φοιτητές/ριες να εγγραφούν το συντομότερο δυνατόν σύμφωνα με τις οδηγίες της ανακοίνωσης της 27/5/2010.
Οι Διδάσκοντες
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Προσπάθησα να λύσω την άσκηση 2 απο τα προτεινόμενα θέματα (αυτη με την εξίσωση a=-b*x^3)
με την χρήση του euler.f κώδικα που περιλαμβάνει μέσα όλες τις μεθόδους (euler cramer , euler, euler verlet).
Απ'οτι είδα θέλουν αλλαγές και οι υπορουτίνες euler κλπ κλπ οπότε λογικά αν επιχειρησω κατι τετοιο το
παιχνιδι είναι μάλλον χαμένο. Το κύριο πρόβλημα είναι οτι δεν μπορω να έχω μικρά steps (τυπου 0.01 που
ζητάει η άσκηση) αλλά με βαση το συγκεκριμενο πρόγραμμα τα steps είναι 1000 κ βάλε...
Η ερωτηση μου είναι μήπως ο κώδικας euler.f αναφέρεται σε εντελώς διαφορετικό είδος άσκησης?
Εγώ ας πουμε αν εβλεπα την ασκηση 2 την ώρα της εξέτασης το μυαλο μου θα πήγαινε κατευθειαν
στην τροποποίηση του κώδικα euler.f...
Και μια δευτερη ερώτηση
Ο Αναγνωστόπουλος μας έλυσε στην ουσία μαθηματικά την εξισωση a=-b*x^3 ως εξης...
U=dx/dt, dU/dt=-b*x^3
dx=U*dt ==> x=x+U*dt
dU=-b*x^3*dt ==> U=U-b*x^3
Πώς προκύπτει ρε παιδιά η λύση του συστήματο στο τέλος?
Επίσης πλάτος και περίοδος υπολογίζονται στο περίπου γραφικά και η μεγιστη ταχύτητα από τα δεδομένα στο αρχίο .dat?
με την χρήση του euler.f κώδικα που περιλαμβάνει μέσα όλες τις μεθόδους (euler cramer , euler, euler verlet).
Απ'οτι είδα θέλουν αλλαγές και οι υπορουτίνες euler κλπ κλπ οπότε λογικά αν επιχειρησω κατι τετοιο το
παιχνιδι είναι μάλλον χαμένο. Το κύριο πρόβλημα είναι οτι δεν μπορω να έχω μικρά steps (τυπου 0.01 που
ζητάει η άσκηση) αλλά με βαση το συγκεκριμενο πρόγραμμα τα steps είναι 1000 κ βάλε...
Η ερωτηση μου είναι μήπως ο κώδικας euler.f αναφέρεται σε εντελώς διαφορετικό είδος άσκησης?
Εγώ ας πουμε αν εβλεπα την ασκηση 2 την ώρα της εξέτασης το μυαλο μου θα πήγαινε κατευθειαν
στην τροποποίηση του κώδικα euler.f...
Και μια δευτερη ερώτηση
Ο Αναγνωστόπουλος μας έλυσε στην ουσία μαθηματικά την εξισωση a=-b*x^3 ως εξης...
U=dx/dt, dU/dt=-b*x^3
dx=U*dt ==> x=x+U*dt
dU=-b*x^3*dt ==> U=U-b*x^3
Πώς προκύπτει ρε παιδιά η λύση του συστήματο στο τέλος?
Επίσης πλάτος και περίοδος υπολογίζονται στο περίπου γραφικά και η μεγιστη ταχύτητα από τα δεδομένα στο αρχίο .dat?
-
citizen
- Δημοσιεύσεις: 29
- Εγγραφή: Πέμ Ιαν 29, 2009 9:12 am
- Real Name: Μάνος
- Gender: Male
- Facebook ID: 0
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Eγώ άλλαξα μέσα στην function accel τον τύπο σε accel=-x*x*x και μέσα στην υπορουτίνα euler όρισα real b με
write(*,*)'Dwse to b:'
read(*,*) b
και στον τύπο της ταχύτητας έβαλα V(i) = V(i-1)+b*accel(X(i-1))*h
Και έτρεξε.
write(*,*)'Dwse to b:'
read(*,*) b
και στον τύπο της ταχύτητας έβαλα V(i) = V(i-1)+b*accel(X(i-1))*h
Και έτρεξε.
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Συγκρινε τα αποτελεσματα που εβγαλες με τα αποτελεσματα που βγαινουν απο αυτον τον κώδικα (τσεκαρε τα αρχεια .dat)
και θα δεις οτι δεν ειναι αρκετες οι αλλαγες που εκανες...
Κώδικας: Επιλογή όλων
C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
C file: nonlinvib.f
C
C Solve x''(t) = -b x(t)^3
C using euler method
C
C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
program eulervib
implicit none
real*8 b,x0,v0,tf,dt
real*8 x,v,t
C ---- Input:
print *,'# Enter b,x0,v0,tf,dt:'
read(5,*) b,x0,v0,tf,dt
print *,'# b = ',b
print *,'# x0= ',x0,' v0= ',v0
print *,'# tf= ',tf,' dt= ',dt
C ---- Initialize:
x = x0
v = v0
t = 0.0D0
open(unit=11,file='v.dat')
C ---- Calculate:
do while( t .le. tf)
t = t + dt
x = x + v*dt
v = v - b*x*x*x*dt
write(11,*)t,x,v
enddo
close(11)
end- Chris
- Forum Moderator

- Δημοσιεύσεις: 1064
- Εγγραφή: Παρ Μαρ 28, 2008 2:02 pm
- Real Name: Χρήστος
- Gender: Male
- Facebook ID: 0
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Εγώ έκανα αυτό και δουλεύει μιά χαρά.
Κώδικας: Επιλογή όλων
program thema2
implicit none
C Declaration of Variables
integer P
parameter(P=110000)
real T(P), X(P),V(P)
real Xin,Vin,Tfi
integer steps
integer i
write(*,*) '# Give steps, Xin, Vin, Tfi: '
read (*,*) steps, Xin, Vin, Tfi
C Initialization
call euler(Xin,Vin,Tfi,steps, T,X,V)
open(unit=11, file='res.dat')
do i=1,steps
write(11,*) T(i), X(i), V(i)
enddo
close(11)
end
C FUNCTION
real function accel(x)
implicit none
real x,b
parameter(b=1)
accel=-b*x**3
end
C ===========================================
C EULER
C ===========================================
subroutine euler(Xin,Vin,Tfi,steps, T,X,V)
C -------------------------------------------
C -ARGUMENTS-
implicit none
integer P
parameter (P=110000)
real T(P),X(P),V(P)
real Xin,Vin,Tfi
integer steps
C -------------------------------------------
C -LOCAL VARIABLES-
integer i
real h,accel
C -------------------------------------------
C -INITIAL CONDITIONS-
T(1)=0.0
X(1)=Xin
V(1)=Vin
h=Tfi/(steps-1) !Time step dt
C ------------------------------------------
C -INTEGRATION-
do i=2,steps
T(i)=T(i-1)+h
X(i)=X(i-1)+V(i-1)*h
V(i)=V(i-1)+accel(X(i-1))*h
enddo
end
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Έχεις δίκιο στο γεγονός οτι μπορει να δουλέψει κ ο κωδικας euler.f με αλλαγες στην επιτάχυνση. Απλα είχα φαει κόλλημα και δεν σκεφτομουν οτι το dt=0.1 μπορει να γίνει steps=1000.
Ωστώσο τα αποτελεσματα που βγαζουν ο κωδικας που σου εδειξα κ ο δικος σου βλεπω μεγαλες αλλαγες στα δεδομενα που αποθηκευονται στο res.dat και στο v.dat.
Ειδικα αν κανεις plot u 1:3 οι διαφορες ειναι εμφανεστατες!Να διευκρινισω οτι δοκιμασα και με steps 999 και 1000 και 1001 ενω στον απλο κωδικα που εδωσε ο Αναγνωστοπουλος το dt ειναι 0.01
Ωστώσο τα αποτελεσματα που βγαζουν ο κωδικας που σου εδειξα κ ο δικος σου βλεπω μεγαλες αλλαγες στα δεδομενα που αποθηκευονται στο res.dat και στο v.dat.
Ειδικα αν κανεις plot u 1:3 οι διαφορες ειναι εμφανεστατες!Να διευκρινισω οτι δοκιμασα και με steps 999 και 1000 και 1001 ενω στον απλο κωδικα που εδωσε ο Αναγνωστοπουλος το dt ειναι 0.01
Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού
Στο θέμα 4 πως βρίσκουμε σημεία ισορροπίας που ζητάει? Εμένα και στα πέντε σημεία που υπολόγισε, η παράγωγος είναι <1.. είναι ευσταθή σημεία?? Φτάνει αυτό??
εεεε..??
εεεε..??
n0tH1ng to proove.. just a heLLisH RocK N' RoLL fReaK :.::