11.07.2015 Aufrufe

Manuskript zur Theoretischen Physik Ia - Institut für Theoretische ...

Manuskript zur Theoretischen Physik Ia - Institut für Theoretische ...

Manuskript zur Theoretischen Physik Ia - Institut für Theoretische ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Theoretische</strong> <strong>Physik</strong> <strong>Ia</strong>, 10. Juli 2003 24!**************************************************************************! Fortran90 Programm <strong>zur</strong> Berechnung der Bahnkurve eines gezogenen Pendels |!**************************************************************************PROGRAM Pendel! ** Definitionen der Variablen **IMPLICIT NONEINTEGER :: NINTEGER, PARAMETER :: NMAX=50000REAL(KIND(0.0E0)) :: dt,Ekin,EV,g,l,m1,m2,t,x1,x2,z1,z2REAL(KIND(0.0E0)), DIMENSION(0:Nmax) :: phi,r,vphi,vr ! Felder! ** Vorbereitung der Ausgabefiles **OPEN(3,File=’energie.dat’)WRITE(3,*) ’# t[s], Eges[J], Ekin, EV’OPEN(4,File=’pendel.dat’)WRITE(4,*) ’# t[s], b[m], phi, x1[m], z1[m], x2[m], z2[m]’! ** Vorgabe der Parameter **l=1.0 ! Laenge des Fadens in mm1=0.05 ! in kgm2=0.2 ! in Kgg=9.81 ! in m/s^2dt=0.0001 ! Zeitschritt <strong>für</strong> die Numerik in s! ** Anfangsbedingungen **phi(0)=−3.14/2.vphi(0)=0.r(0)=0.5vr(0)=0.t=0.! ** Iteration **DO 120 N=1,Nmax! * Bestimmung der neuen Werte *phi(N) =phi(N−1) +dt*vphi(N−1)r(N) =r(N−1) +dt*vr(N−1)vphi(N)=vphi(N−1)+dt*(−2.*vphi(N−1)*vr(N−1)−g*SIN(phi(N−1)))/r(N−1)vr(N) =vr(N−1) +dt*(m1*g*COS(phi(N−1))−m2*g+m1*r(N−1)*vphi(N−1)**2)/(m1+m2)IF(r(N).LT.0.01) GOTO 999 ! r zu klein, Abbrucht=t+dt ! neue Zeit! * Umrechnung auf kartesiche Koordinaten *x1 = −r(N)*SIN(phi(N))z1 = −r(N)*COS(phi(N))x2 = 0.z2 = r(N)−lWRITE(4,911) t, r(N), phi(N), x1, z1, x2, z2! * Bestimmung der Energien zu Testzwecken *! Wenn Ekin+EV nicht konstant ist, ist dt zu großEkin = m1/2.*(vr(N)**2+r(N)**2*vphi(N)**2) + m2/2.*vr(N)**2EV = m2*g*(r(N)−l) − m1*g*r(N)*COS(phi(N))WRITE(3,911) t,Ekin+EV,Ekin,EV120 CONTINUECLOSE(4)911 FORMAT(7(ES10.3E2,1x)) ! Ausgabe von 3 Nachkomma−Stellen999 STOPENDAbbildung 2.4: Fortran Programm <strong>zur</strong> Bestimmung der Bahnkurve des gezogenen Pendels

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!