Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung (05-3034) – A. Paul.

Ähnliche Präsentationen


Präsentation zum Thema: "Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung (05-3034) – A. Paul."—  Präsentation transkript:

1 Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung (05-3034) – A. Paul

2 Literatur Open University, Oceanography Course Team (1989), Ocean Circulation, pp. 40. –Sections 3.3.1, Pressure Gradients in the Ocean

3 Der statische Druck p in einer bestimmiten Tiefe z ist die Gewichtskraft, die die Wassersäule auf eine Flächeneinheit ausübt: g: Schwerebeschleunigung

4 Ist die Dichte des Meerwassers, dann kann man schreiben: Für den statischen Druck auf eine Flächeneinheit:

5 Mit dem Ursprung der z-Achse an der Meeresoberfläche und positiv nach oben, negativ nach unten: Dies ist die statische Grundgleichung.

6 Die statische Grundgleichung gilt nur in dieser Form, wenn die Dichte von der Tiefe unabhängig ist. z 0 Dichte als konstant angenommen oder gemittelt Druck p Der Druck p in der Tiefe z ist einfach : Nach Open University Abb. 3.9b

7 Gewöhnlich verändert sich die Dichte mit der Tiefe. z 0 Dichte verändert sich stetig mit der Tiefe Schicht der Dicke dz trägt den Druck dp bei Druck p Der Druck p in der Tiefe z ist die Summe ( ) aller Drücke dp : Nach Open University Abb. 3.9a

8 Horizontale Druckgradienten setzen den Ozean in Bewegung. Horizontale A B z z x in allen Tiefen Nach Open University Abb. 3.10 Dichte als konstant angenommen

9 Primzahlen (Aufgabe 2) Projektübung Klimamodellierung (05-3034) – A. Paul

10 Hinweise Fortran-Tutorial: http://www.fortran.de.vu/http://www.fortran.de.vu/ Die folgenden Folien enthalten alle Bausteine für die Lösung der Aufgabe 2 (Bestimmung der Primzahlen zwischen 2 und N )

11 Aufbau eines Hauptprogramms Ein Hauptprogramm besteht aus Anweisungen und Kommentaren. –Anweisungen (statements) unterteilt man in: ausführbare (exectutable) Anweisungen nichtausführbare (nonexecutable) Anweisungen –Kommentarzeilen beginnen mit ! Nach: Wehnes, Harald, Strukturierte Programmierung in FORTRAN 77, München 1985.

12 Reihenfolge der Anweisungen –Einleiten mit PROGRAM -Anweisung –Vereinbarungsteil: Konstanten und Variablen vereinbaren –Aktionsteil –Abschließen mit END PROGRAM -Anweisung

13 Konstanten (constants) sind Größen, deren Werte während des Programmablaufs nicht verändert werden können. Variablen können während der Programmausführung verschiedene Werte annehmen.

14 Man sollte alle Größen durch explizite Typanweisungen vereinbaren. Die Anweisung IMPLICIT NONE erlaubt es, Abweichungen von dieser Regel festzustellen.

15 PROGRAM primzahlen IMPLICIT NONE ! Konstantenvereinbarungen ! Variablenvereinbarungen ! Ausführbare Anweisungen END PROGRAM primzahlen

16 INTEGER : ganze Zahlen –im Arbeitsspeicher des Computers ohne Dezimalteil abgelegt REAL : reelle Zahlen –in Gleitpunktdarstellung (mit Mantisse und Exponent) gespeichert CHARACTER(LEN=n) : Zeichenkette der Länge n –darf n Zeichen enthalten

17 Konstantenvereinbarungen ! Konstanten ! output = Dateinummer (unit) für ! Ausgabe ! n = obere Schranke ! für Primzahlsuche INTEGER, PARAMETER :: output=7,n=100000 Die Dateinummern 5 und 6 sind für die Konsole und den Bildschirm reserviert.

18 Variablenvereinbarungen ! Variablen ! i,j = Schleifenvariablen ! m = Zahl der Schleifendurchläufe ! a = Feld (Vektor) mit Primzahlen ! fname = Dateiname INTEGER :: i,j,m INTEGER, DIMENSION(2:n) :: a CHARACTER(LEN=20) :: fname

19 ! Lege die Ausgabedatei an ! und ordne ihr eine Dateinummer zu fname = "primes2.dat" OPEN(UNIT=output,FILE=fname, STATUS="REPLACE") ! Schließe die Ausgabedatei CLOSE (UNIT=output) Öffnen und Schließen einer Datei

20 Weitere ausführbare Anweisungen "Man schreibe alle Zahlen von 2 bis N auf." ! Initialisierung ! - Definiere ein Feld a ! mit den Elementen 2 bis n. ! - Setze zunächst alle Elemente ! auf 1 (= Primzahl) a(2:n) = 1

21 "Ist n 2 größer als N, so stoppe man den Prozess." ! Setze die Zahl der Schleifendurchläufe ! auf die ganze Zahl, die der ! Quadratwurzel aus n am nächsten kommt. m = NINT(SQRT(REAL(n)))

22 DO i=2,m ! m = Zahl der Schleifendurchläufe IF (a(i) == 1) THEN ! "die erste nicht gestrichene Zahl" j = i + i ! "streiche dann jede i-te Zahl" DO IF (j > n) EXIT a(j) = 0 ! setze auf 0 (= keine Primzahl) j = j + i END DO END IF END DO "Man rahme die Zahl 2 ein und streiche dann jede zweite Zahl. "Ist i die erste nicht gestrichene Zahl, so rahme man i ein und streiche dann jede i-te Zahl." Schleifen und Verzweigungen

23 Ausgabe in eine Datei Alle eingerahmten bzw. nicht gestrichenen Zahlen sind Primzahlen. ! Schreibe die Primzahlen in die Ausgabedatei DO i=2,n IF (a(i) == 1) WRITE (UNIT=output,FMT=*) i END DO


Herunterladen ppt "Statischer Druck (Aufgabe 3) Projektübung Klimamodellierung (05-3034) – A. Paul."

Ähnliche Präsentationen


Google-Anzeigen