Compiler Aufruf. Fortran 95 unter UNIX (z.b. Linux): Der Programmtext stehe in den Dateien (files):

Ähnliche Dokumente
Parametrisierung vordefinierter Datentypen

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Programmieren in Fortran

PROGRAMMIERKURS FORTRAN

1953/54 (USA) PS FORTRAN (FORmula TRANslating system) 1958/60 (Europa) ALGOL (ALGOrithmic Language)

ATIK ORMAT SINFO HAFTS WIRT. Swetlana Konovalov Seminar Programmiersprachen Westfälische Wilhelms-Universität Münster

Grundlagen der Fortran Sprache

Matlab. Alexandra Mehlhase & Felix Böckelmann. 26. Juni Analysetechniken in der Softwaretechnik Technische Universität Berlin SS 2008

Kurzeinführung in C99

Wir untersuchen die Bewegungsleichung des mathematischen (gedämpften) Fadenpendels in einer Dimension. = 0, ϕ (0)

3. Datentypen, Ausdrücke und Operatoren

Praktikum: Paralleles Programmieren für Geowissenschaftler

Wertebereich und Genauigkeit der Zahlendarstellung

Algorithmen zur Datenanalyse in C++

Einführung in MATLAB + MATLAB Simulink. Dipl.-Inf. Markus Appel

Lexikalische Struktur von Fortran 95. Normierte Zeichensätze

FORTRAN77. eine höllische Programmiersprache. Christian Sternecker. Sommersemester TU-München

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Projekt 3 Variablen und Operatoren

1. Referenzdatentypen: Felder und Strings

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

Einführung in die Programmierung mit VBA

Java Datentypen und Variablen

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

- Numerik in der Physik - Simulationen, DGL und Co. Max Menzel

u v w v = 1 w u w u v schon in der Mathematik gesehen?

3D Programmierpraktikum: Einführung in C++ - Teil 1

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)

Programmiersprachen Einführung in C

Maple V, Rel 5.1 Einführungskurs

Java - Schleifen. Bedingung. wiederhole. Anweisung Anweisung Anweisung. Leibniz Universität IT Services Anja Aue

Grundlagen der Informatik 2. Typen

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

11.4. Lineare Differentialgleichungen höherer Ordnung

Schleifenprogrammierung in C/C++, Fortran und Pascal

Analytische Lösung algebraischer Gleichungen dritten und vierten Grades

Einführung in die C-Programmierung

Java für Anfänger Teil 5: Basistypen 2. Programmierkurs Manfred Jackel

Grundlagen der Informatik. Mathias Buhr

Thomas Binzinger. Jetzt lerne ich. Delphi. Markt+Technik Verlag

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Sage 1: Zahlen. Zahlen. x Z. Ganzzahlen

2. Programmierung in C

VHDL - Objekte und Typen

Serie 13. Analysis D-BAUG Dr. Cornelia Busch FS 2016

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

Tag 4 Repetitorium Informatik (Java)

Objektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen

... die Funktion Ñ Ò µ einer Klasse ÂÚÑ:

Einführung in C. EDV1-04C-Einführung 1

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

occam 2 Das Referenz-Handbuch

Physische Datenstrukturen

Experimentalphysik II Elektromagnetische Schwingungen und Wellen

Informatik I - Übung 2 Programmieren in Eclipse

2. Programmierung in C

Inhaltsverzeichnis. Kapitel i: Schnelleinstieg 13. Kapitel 2: Was sind Programme? 17. Kapitel 3: Wie erstellt man eigene Programme?

MATLAB Eine Einführung

2.5 Primitive Datentypen

Schreibweise in IGOR: 6.02E-23

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Bericht Computerpraktikum Mathematik. Michael Weise

= pkp(t 1 ) und (1) α 1 (1 + α e ) α 2 α e

Ursprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java

Unterlagen. CPP-Uebungen-08/

Einführung in die C++ Programmierung für Ingenieure

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Beispiele elementarer Datentypen Ganze Zahlen (integer) Unterbereiche Gleitkommazahlen Festkommazahlen

Mathematik-Tutorium für Maschinenbauer II: Differentialgleichungen und Vektorfelder

GI Vektoren

Der Aufbau einer Quelltext-Datei. Anweisungen. - Header /Kopfzeile...program main

Lösung zu den Testaufgaben zur Mathematik für Chemiker II (Analysis)

Java. CoMa-Übung II TU Berlin. CoMa-Übung II (TU Berlin) Java / 28

Modell der Punktmasse

Kapitel 2: Python: Ausdrücke und Typen. Grundlagen der Programmierung 1. Holger Karl. Wintersemester 2016/2017. Inhaltsverzeichnis 1

1. Rechnerzahlen, Kondition, Stabilität

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

Methoden und Wrapperklassen

Informatik I - Einstiegskurs

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Bemerkungen zu den Übergabeparametern 2 FORTRAN gestattet auch, Funktionen als Übergabeparameter zu behandeln, sofern sie mit

Einführung in die Programmierung 1

Programmierpraktikum

VHDL Objekte und Typen

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Teil VI: Prozeduren Feld-Parameter & Typen. 1. Offene ARRAY-Parameter 2. Prozedurtypen und -variablen

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License.

PPS "Bits on Air" 1. Teil, Matlab-Tutorial Vorbereitungsaufgaben (Lösungsvorschläge)

Übersicht. Peter Sobe 1

Die einfachsten Anweisungen

Angewandte Mathematik und Programmierung

1 Potenzen und Polynome

1. Einstieg in MATLAB

Computergrundkenntnisse und Programmieren, WS 11/12, Übung 7: Grafik

Einige Grundlagen zu OpenMP

Bash-Skripting Linux-Kurs der Unix-AG

Transkript:

L3 Fortran 95 - Compiler Compiler Aufruf Fortran 95 unter UNIX (z.b. Linux): Der Programmtext stehe in den Dateien (files): meinfixed.f MeinFree.f90 (MeinFree.f95) Die Endung.f steht für das veraltete fixed format. Erzeugen eines ausführbaren Objektes (executable): a.out (Compile+Link) f95 MeinFree.f90 oder f95 meinfixed.f Das Executable soll a.exe heissen: f95 MeinFree.f90 -o a.exe Separates Kompilieren (compile) und Linken (link): f95 -c MeinFree.f90 es entsteht MeinFree.o (nicht ausführbar!) Das Object-file MeinFree.o enthält viele Dinge wie z.b die mathematischen Funktionen (Sinus,..) nicht. Dazu bedarf es des Linkens: f95 MeinFree.f90 -o a.exe Man sieht: f95 ist intelligent. Es merkt ob Programm(e) oder Objekt(e) vorliegt. Dies gilt übrigens auch für Fortran (95) Compiler allgemein, auch wenn sie nicht f95 heissen (ifort, pgf90) 1

L3 Fortran 95 - Compiler Verschiedene Compiler für Fortran 95 Es gibt Programme, die Fortran-Programme umschreiben (eventuell verschönern) Beispiel: fixed in free-format konvertieren. Stand SS 2005: Unter Linux gibt es den NAG-f95 kostengünstig beim LRZ. Der Intel Fortran 95 Compiler ifort (ifc) darf nichtkommerziell kostenfrei (zuhause) genutzt werden. Auf den Rechneren des Leibnitz Rechenzentrums ist ein Fortran 90 Compiler der Portland-Group standardmässig installiert, Compileraufruf pgf90. Unter UNIX erhält man informationen über die verfügbaren Optionen mit dem Kommando man also z.b man f95 Von Compaq gab es das education donation program für das Visual Fortran unter Windows. Dies war eine komfortable Entwicklungsumgebung (mit interaktiver Hilfe), die jetzt (teuer) von HP vertrieben wird. Nicht ganz so elegant, ist die Enwicklungsumgebung von Salford unter www.silverfrost.com 2

(Standard-) Datentypen (1) INTEGER (ganze Zahlen) VOREINSTELLUNG: Variablen und Konstanten die mit IJKLMN (ijklm) beginnen Literale: -32768-0 1000 +12345 7 007 32-bit (üblich): 2 10 9..2 10 9 INTEGER Arithmetik!!! IntegerArithmetik.f90 REAL (Gleitpunktzahl) reelle Zahlen, einfache Genauigkeit VOREINSTELLUNG: implizit alles ausser INTEGER (A-H,O-Z) Lierale: 1. 0.1.1 -.1 5.67E-8 1E12 32-bit: ca. 7 Dezimalstellen gemischte Arithmetik MixedIntegerReal.f90 15/7*3. /= 15./7*3.! 15/(7*3.) /= 15/(7/3.) DOUBLE PRECISION (Gleitpunktzahl) reelle Zahlen, höhere Genauigkeit (sonst wie REAL) Literale: 5.67D-8, 1D12 ca. doppelt so viele Dezimalstellen DoubleInitialisierung.f90 3

(Standard-) Datentypen (2) COMPLEX Real- und Imaginärteil sind Gleitpunktzahlen Literale: (2., 176.824) (1E-11, 5) (0, 0.) (-1E1, 1DO) Zuweisung mit CMPLX: z=cmplx(x,y)! z=x+i*y LOGICAL Literale:.TRUE..FALSE. CHARACTER (Zeichenketten) Eingegrenzt mit " oder PARAMETER (unveränderbare Konstanten) REAL, PARAMETER :: Pi=3.14151 COMPLEX, PARAMETER :: imag1=(0.,1.)! CMPLX leider nicht erlaubt Nur einfache (also keine Felder) Datentypen INTEGER und REAL sind vordefiniert. Sie müssen nicht (unbedingt) deklariert werden. Eine Deklaration überschreibt natürlich die Voreinstellung REAL :: iso, integer, kilometer, GleitZahl INTEGER :: GanzeZahl! ist als INTEGER d e k l a r i e r t 4

Normalfall : REAL Die beiden Formeln für den Dampfdruck: E s = 6.107 10 7.5t 237+t E s = 6.107 exp( 19.83t 273+t ) sollen verglichen werden.! Magnus-formel f"ur Dampfdruck! = N"aherung f"r Clausius Clepeyron-Gleichung! aus F.M"oller: Einf"uhrung in die Meteorologie! Seite 129 (Druckfehler? 237->273) PROGRAM MoellerS129 PRINT*,"Gib positive Temperatur in Celsius ein:" READ*, t E_Magnus=6.107*10**((7.5*t)/(237.+t)) E=6.107*EXP(19.83*t/(273.+t)) PRINT*,"Dampfdruck (mb) nach H.G.Magnus: ",E_Magnus PRINT*,"Dampfdruck (mb) nach Moeller : ",E END PROGRAM MoellerS129 5

Programmierstil: Zwischenvariablen!--------------------------------------------------------------! Magnus-formel f"ur Dampfdruck! = N"aherung f"r Clausius Clepeyron-Gleichung! aus F.M"oller: Einf"uhrung in die Meteorologie! Seite 129 PROGRAM MoellerS129! 2. Version REAL :: nenner,t,exponent, zaehler! Deklaration PRINT*,"Gib positive Temperatur in Celsius ein:" READ*, t zaehler=7.5*t; nenner=237.+t exponent=zaehler/nenner! nenner ist real E_Magnus = 6.107 * 10.**exponent E=6.107*EXP(19.83*t/(273.+t)) PRINT*,"Dampfdruck (mb) nach H.G. Magnus: ",E_Magnus PRINT*,"Dampfdruck (mb) nach Moeller : ",E END PROGRAM MoellerS129 6

Hausaufgabe: Simulation gedämpfter Schwingungen Der zeitliche Verlauf des Stromes I soll entsprechend dem Flussdiagramm berechnet werden. Die Schleife kann z.b mit DO WHILE(t < tmax)...... ENDDO realisiert werden. Wählen Sie t max = 10 s. Bemerkung: µ = 10 6, Anfangswert Q=0.1, das C bedeuted Coulomb (1C=1F 1V), nicht zu verwechseln mit der Kapazität C=200µF Start C L R Herleitung: I, Q, R, L, dt auf Startwert setzen di:= (Q/C+R*I)*dt/L I:=I+dI Q:=Q+I*dt Startwerte: R=200 Ω C=200 µ F L=500 H dt=0.1 s U=500V=>Q=0.1 C I=0 A U c + U R =U L => Q/C+R*I= L*dI/dt => di= (Q/C+R*I)/L*dt t:=t+dt Ausgabe: t, I t < t max ja Ende Zusatzaufgabe 1: Die analytische Lösung für I ist: β = R 2L I = A 0 exp( βt)(β sin(ωt + α 0 ) ω cos(ωt + α 0 )) ω = 1 LC Q 0 β2 A 0 = α 0 = arctan( ω 1 R2 C β ) 4L Drucken sie die analytische Lösung (gegen die numerische). Zusatzaufgabe 2: Zeichnen Sie I als Funktion der Zeit mit einer Graphiksoftware (die etwas liefert was man versenden kann). 7