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

Μήπως να ξανακάνω Μηχανογραφικό;

Συντονιστές: φιάλη klein, Ryu, markelos, meleneemil, Nasia!

Απάντηση
Άβαταρ μέλους
deee
Δημοσιεύσεις: 51
Εγγραφή: Τετ Φεβ 25, 2009 12:39 pm
Real Name: deee
Gender: Female
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από deee »

Το 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
Τώρα ελπίζω να είναι σώστα
Άβαταρ μέλους
apolski
Δημοσιεύσεις: 846
Εγγραφή: Πέμ Ιουν 21, 2007 3:09 pm
Real Name: ---
Gender: Male
Facebook ID: 0
Τοποθεσία: UK

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από apolski »

Ευχαριστω deee, περιμενουμε και τα υπολοιπα.
Άβαταρ μέλους
Tsakalos
Δημοσιεύσεις: 518
Εγγραφή: Δευ Νοέμ 06, 2006 1:43 am
Real Name: Κώστας
Gender: Male
Facebook ID: 0
Τοποθεσία: Άλφα του Κενταύρου
Επικοινωνία:

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από Tsakalos »

Συνδεθειτε στο cloudfront και ανοιξτε ενα shell ή το file manager!
Μπειτε στο φακελο του καθηγητη: /mnt/home/konstant
εκει μεσα στους φακελους Lecture10 Lecture11 και EXAM υπαρχουν οι λυσεις των θεματων...
Τελευταία προτεραιότητα η σχολή μου!
και να θυμομόστε τον κύριο Dio...
Εικόνα
Άβαταρ μέλους
C0n
Δημοσιεύσεις: 201
Εγγραφή: Τρί Οκτ 02, 2007 11:52 pm
Real Name: Κωνσταντίνος
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από C0n »

που ρε αγόρι? εγώ βλέπω μόνο ενδεικτικά θέματα και τις λύσεις. Εχει και ενα φακελο FINAL κλειδωμένο.

εντιτ: ακυρο, τα βρηκα. Θενξ! :e_wink:
Δε φοβάμαι τίποτα...

Δεν ελπίζω σε τίποτα....

ΕΙΜΑΙ ΦΙΛΕΛΕΥΘΕΡΟΣ! :)
citizen
Δημοσιεύσεις: 29
Εγγραφή: Πέμ Ιαν 29, 2009 9:12 am
Real Name: Μάνος
Gender: Male
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από citizen »

runge-kutta είναι μέσα στην ύλη?
zoe
Δημοσιεύσεις: 34
Εγγραφή: Τετ Οκτ 24, 2007 2:02 pm
Real Name: Zwi
Gender: Female
Facebook ID: 517606286
Τοποθεσία: everywhere

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από zoe »

I uli poia einai akrivws??
Άβαταρ μέλους
markelos
Portal Moderator
Portal Moderator
Δημοσιεύσεις: 316
Εγγραφή: Σάβ Αύγ 18, 2007 8:57 pm
Real Name: Ace
Gender: Male
Facebook ID: 0
Τοποθεσία: Grand Line

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από markelos »

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
Επίσης μην ξεχνάτε σήμερα το τελευταίο μάθημα όπου θα λύσουμε θέματα, αίθουσα Α στον πρώτο όροφο του ΔΕΠΥ και ώρα 14:45-17:30. Βασικά είναι αναπλήρωση του τρίτου τμήματος αλλά καλό είναι να έρθετε για εξάσκηση.
alexk
Δημοσιεύσεις: 237
Εγγραφή: Τρί Ιαν 22, 2008 1:58 pm
Real Name: alex
Gender: Male

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από alexk »

markelos έγραψε: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
Επίσης μην ξεχνάτε σήμερα το τελευταίο μάθημα όπου θα λύσουμε θέματα, αίθουσα Α στον πρώτο όροφο του ΔΕΠΥ και ώρα 14:45-17:30. Βασικά είναι αναπλήρωση του τρίτου τμήματος αλλά καλό είναι να έρθετε για εξάσκηση.

Είναι πολύ γενικά αυτά που έχεις ποσταρει.
Ολα αυτα τα εχουν αναρτημενα απο την αρχη του εξαμηνου.Λογω ομως απεργιων κτλ εχουν γινει πολυ λιγοτερα.
Θεωρω πως την υλη πρεπει να την δειτε απο εδώ http://www.physics.ntua.gr/~konstant/ProgMech/
που ειναι στην ουσια ολες οι ασκησεις που εχουν γινει..
Άβαταρ μέλους
dj manos
Banned
Δημοσιεύσεις: 981
Εγγραφή: Τρί Ιαν 08, 2008 12:57 pm
Real Name: Μάνος
Gender: Female
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από dj manos »

Υπενθύμιση Εγγραφής στις εξετάσεις

Υπενθυμίζουμε ότι σήμερα είναι η προθεσμία εγγραφής στις εξετάσεις της 15/6. Παρακαλούμε τους φοιτητές/ριες να εγγραφούν το συντομότερο δυνατόν σύμφωνα με τις οδηγίες της ανακοίνωσης της 27/5/2010.

Οι Διδάσκοντες
alexk
Δημοσιεύσεις: 237
Εγγραφή: Τρί Ιαν 22, 2008 1:58 pm
Real Name: alex
Gender: Male

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από alexk »

Προσπάθησα να λύσω την άσκηση 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?
citizen
Δημοσιεύσεις: 29
Εγγραφή: Πέμ Ιαν 29, 2009 9:12 am
Real Name: Μάνος
Gender: Male
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από citizen »

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
Και έτρεξε.
alexk
Δημοσιεύσεις: 237
Εγγραφή: Τρί Ιαν 22, 2008 1:58 pm
Real Name: alex
Gender: Male

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από alexk »

Συγκρινε τα αποτελεσματα που εβγαλες με τα αποτελεσματα που βγαινουν απο αυτον τον κώδικα (τσεκαρε τα αρχεια .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
Forum Moderator
Δημοσιεύσεις: 1064
Εγγραφή: Παρ Μαρ 28, 2008 2:02 pm
Real Name: Χρήστος
Gender: Male
Facebook ID: 0

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από Chris »

Εγώ έκανα αυτό και δουλεύει μιά χαρά.

Κώδικας: Επιλογή όλων

      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
alexk
Δημοσιεύσεις: 237
Εγγραφή: Τρί Ιαν 22, 2008 1:58 pm
Real Name: alex
Gender: Male

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από alexk »

Έχεις δίκιο στο γεγονός οτι μπορει να δουλέψει κ ο κωδικας euler.f με αλλαγες στην επιτάχυνση. Απλα είχα φαει κόλλημα και δεν σκεφτομουν οτι το dt=0.1 μπορει να γίνει steps=1000.
Ωστώσο τα αποτελεσματα που βγαζουν ο κωδικας που σου εδειξα κ ο δικος σου βλεπω μεγαλες αλλαγες στα δεδομενα που αποθηκευονται στο res.dat και στο v.dat.
Ειδικα αν κανεις plot u 1:3 οι διαφορες ειναι εμφανεστατες!Να διευκρινισω οτι δοκιμασα και με steps 999 και 1000 και 1001 ενω στον απλο κωδικα που εδωσε ο Αναγνωστοπουλος το dt ειναι 0.01
Άβαταρ μέλους
vampinthe
Δημοσιεύσεις: 42
Εγγραφή: Τετ Ιαν 02, 2008 9:31 pm
Real Name: hypnos
Gender: Male

Re: Προγραμματισμός με Εφαρμογές στην Επιστήμη του Μηχανικού

Δημοσίευση από vampinthe »

Στο θέμα 4 πως βρίσκουμε σημεία ισορροπίας που ζητάει? Εμένα και στα πέντε σημεία που υπολόγισε, η παράγωγος είναι <1.. είναι ευσταθή σημεία?? Φτάνει αυτό??

εεεε..?? :rolleyes:
n0tH1ng to proove.. just a heLLisH RocK N' RoLL fReaK :.::
Απάντηση

Επιστροφή στο “Δεύτερο Έτος”