EAS3 ist ein System zum Bearbeiten von Binärdateien im EAS2 und EAS3 Binärformat. Es kann zum interaktiven Arbeiten als Kommandointerpreter oder als System zum Ausführen von Skripten benutzt werden, da die Befehle von der Standardeingabe gelesen werden.
EAS3-Kommandos bestehen grundsätzlich aus einer durch Komma getrennten Liste von Elementen (den sogenannten Token). Das erste Element in dieser Liste wird grundsätzlich als Befehlswort interpretiert und die restlichen Elemente als Argumente für diesen Befehl. Das Befehlswort kann abgekürzt werden, sofern die Abkürzung eindeutig ist (hängt vom gesamten Befehlsvorrat ab).
Klein-/Großschreibung kann beliebig gemischt werden. (Intern wird alles - außer Dateinamen innerhalb von Anführungszeichen - in Großschreibung umgewandelt.) Die Länge einer Eingabezeile ist momentan auf 2048 Zeichen beschränkt (INPUTLINELENGTH). Es sind aber jederzeit Fortsetzungszeilen möglich (Kennung durch "\" am Ende der Zeile als letztes Zeichen). Die Dateinamenslänge für eine Datei ist auf 256 Zeichen (EAS3FNAMELEN) beschränkt. Leerzeilen werden bei der Eingabe ignoriert. Kommentare sind an jeder Stelle innerhalb der Eingabezeile möglich und werden durch "#" eingeleitet. Der Rest der Eingabezeile wird dann ignoriert. Komplette Kommentarzeilen und Leerzeilen werden vom System ebenfalls ignoriert.
Es gibt drei Klassen von Befehlen:
Befehle die erst durch AUSFUEHREN gestartet werden benutzen meist die von anderen Befehlen gesetzten Optionen, wie z. B. die Ein- und Ausgabedateinummern oder das Schreibformat. Ein AUSFUEHREN-Block ist die Menge aller Befehle, die zwischen dem Eingabebeginn und dem ersten AUSFUEHREN-Befehl bzw. zwischen zwei AUSFUEHREN-Befehlen steht. Innerhalb eines AUSFUEHREN-Blocks darf immer nur ein ausführbares Kommando eingegeben werden.
Bei jedem Befehl bei dem als Argument eine Dateinummer verlangt wird, ist es auch möglich an dieser Stelle altnernativ einen Bezeichner für Temporärdateien (TMP1,..,TMP15) anzugeben. Die Namen der Temporärdateien brauchen nicht in der Dateinamensliste des FILES-Kommandos angegeben zu werden. Die Temporärdateien werden beim Beeenden von EAS3 mit dem Befehl ENDE automatisch wieder gelöscht. Dies macht besonders dann Sinn wenn man mehrere AUSFUEHREN-Blöcke in einer EAS3-Sitzung abarbeiten will, bei denen Zwischendateien erzeugt werden müssen an denen man aber nicht interessiert ist. Die Dateinamen der Temporärdateien sind eindeutig, weil sie mit der Prozess-ID gebildet werden, d.h. mehrere aktive eas3-Programme können im selben Verzeichnis gleichzeitig mit Temporärdateien arbeiten, ohne sich gegenseitig zu behindern.
An jeder Stelle an der eine Intervallangabe verlangt ist, kann man auch mehrere (bis zu 10 (EAS3MAXINTV)) durch Semikolon ";" getrennte Intervallangaben machen. Damit können auch nicht-äquidistant im Indexraum liegende Punkte ausgewählt werden.
Jede EAS-Datei besteht aus fünf Dimensionen. Dies sind Zeitrichtung, Parameterrichtung und die drei Raumdimensionen innerhalb eines Parameters.
Hinweise zur hier verwendeten Syntax bei der Befehlserklärung:
Hier sind die Befehle von EAS3 zusammengefaßt, die praktisch in jedem EAS-Skript vorkommen.
Schaltet den Interaktivbetrieb ein oder aus. Interaktivbetrieb bedeutet, daß beim Auftreten eines Fehlers das Programm nicht sofort abgebrochen wird, sondern daß es nur eine Fehlermeldung ausgibt und weiterläuft falls dies möglich ist.
Ist manchmal ganz praktisch beim interaktiven Befehle eingeben. Kann aber unter Umständen auch zum Programmabsturz führen, weil Dateien nicht richtig benutzt werden können oder Speicher für Hilfsfelder nicht richtig allokiert/deallokiert werden kann.
Default: INTERAKTIV, AUS
Schaltet das Kommandoecho ein oder aus. Wenn das Kommandoecho aktiviert ist, wird jede Kommandozeile so ausgegeben, wie sie vom EAS3-System interpretiert wird, d.h. Kommandoabkürzungen sind durch den vollen Kommandonamen ersetzt und alle Eingaben - abgesehen von Dateinamen - sind auf Großbuchstaben umformatiert.
Default: ECHO, AUS
Beendet die Arbeit mit EAS3 und löscht alle gegebenenfalls vorhandenen Temporärdateien.
FILES, "Dateiname1" [,
"Dateiname2", ... ,"DateinameN"]
Mit FILES wird die Liste der zu verwaltenden Dateinamen angegeben. Wird bei später einzugebenden Kommandos eine Dateinummer verlangt, so bezeichnet die Dateinummer die Position des Dateinamens innerhalb der mit FILES angegebenen Liste.
Das Kommando FILES kann auch öfters angegeben werden und erweitert dann die Dateiliste nach hinten um die neuen Einträge. Es können maximal EAS3MAXUFILES verwaltet werden. FILES (oder NFILES) sollte immer als eines der ersten Kommandos angegeben werden.
NFILES, "Dateiname1" [,
"Dateiname2", ... ,"DateinameN"]
Mit NFILES wird die Liste der zu verwaltenden Dateinamen neu angegeben. Wird bei später einzugebenden Kommandos eine Dateinummer verlangt, so bezeichnet die Dateinummer die Position des Dateinamens innerhalb der mit NFILES angegebenen Liste. Eine eventuell schon vorhandene Liste von Dateinamen wird ersetzt und die Zählung der Dateinamen beginnt wieder bei eins. Es können maximal EAS3MAXUFILES verwaltet werden.
Mit INFILE werden die Dateinummern der Eingabedatei(en) für ein erst mit AUSFUEHREN gestartes Kommando eingegeben. Die Dateinummern geben die Position des Dateinamens innerhalb der mit FILES angegebenen Liste an. FILES muß vor INFILE angegeben werden.
Alternativ zu den Dateinummern ist es auch möglich Bezeichner für Temporärdateien (TMP1,..,TMP9) anzugeben. Die Temporärdateien werden beim Beeenden von EAS3 mit dem Befehl ENDE wieder gelöscht. Als Eingabedatei sind natürlich nur in einem vorherigen AUSFUEHREN-Block erzeugte Temporärdateien sinnvoll.
Mit OUTFILE werden die Dateinummern der Eingabedatei(en) für ein erst mit AUSFUEHREN gestartes Kommando eingegeben. Die Dateinummern geben die Position des Dateinamens innerhalb der mit FILES angegebenen Liste an. FILES muß vor OUTFILE angegeben werden.
Alternativ zu den Dateinummern ist es auch möglich Bezeichner für Temporärdateien (TMP1,..,TMP9) anzugeben. Die Temporärdateien werden beim Beeenden von EAS3 mit dem Befehl ENDE wieder gelöscht.
Mit AUSFUEHREN werden Programme gestartet, die nicht direkt bei der Befehlseingabe ausgeführt werden (s.o.). Innerhalb eines AUSFUEHREN-Blocks darf immer nur ein ausführbares Kommando angegeben werden.
SCHREIBFORMAT, {IEEES | IEEED |
IEEEQ}
Mit SCHREIBFORMAT kann die externe binäre Genauigkeit beim Schreiben von EAS2 und EAS3-Daten gesetzt werden. Alle ausführbaren Programme, die EAS2- oder EAS3-Dateien schreiben unterstützen diese Option.
Falls SCHREIBFORMAT nicht angegeben wurde gilt "Ausgabebinärformat=Eingabebinärformat".
In diesem Abschnitt wird die Syntax von Intervallangaben beschrieben. Alle Befehle, die Intervallangaben in ihrer Kommandozeile als Argument verwenden, benutzen diese Syntax. Mit den folgenden Befehlen wird das Eingabefenster festgelegt.
Intervalle haben folgende Syntax: {Startwert[-Endwert[/Schrittweite]]}[;{...}] (bis zu 10 Indexintervalle (EAS3MAXINTV))
Dabei sind Startwert und Endwert positive ganzahlige Werte. Die Schrittweite kann aber auch negativ sein (macht Sinn bei Startwert>Endwert). Anstelle von Zahlenwerten für Startwert und Endwert kann auch "*" als Platzhalter verwendet werden (der Stern "*" bezeichnet dann je nach Vorzeichen von Schrittweite den kleinsten bzw. größten vorkommenden Indexwert auf der Datei). Für die Schrittweite kann ebenfalls "*" angegeben werden und ist dann immer äquivalent mit 1. Nicht angegebene Schrittweite ist mit Schrittweite 1 gleichzusetzen. Ein fehlender Endwert bedeutet Endwert=Startwert.
Beispiele: 6-9/1; 3-78/15; 9; 21-7/-3; 10 -15; 1-*/2; *-*; *-1/-1; ...
Zusammen mit dem Befehl KOPIEREN und anderen skalaren Operationen ergeben sich vielfältige Anwendungsmöglichkeiten für diese mehrfachen Intervallangaben (siehe dort).
Durch die Angabe von Indexintervallen wird eine Reihenfolge der ausgewählten Daten impliziert; so wird zum Beispiel bei einer Angabe von PARAMETER, *-1/-1 sichergestellt, daß die Parameter in dieser absteigenden Reihenfolge bearbeitet werden.
Wenn ein ausführbares Programme diese Indexintervallangaben berücksichtigt, ist dies bei dem entsprechenden Befehl angegeben. Wenn es heißt "Das Eingabefenster wird berücksichtigt.", so bedeutet dies, daß die Intervallangaben der Befehle FENSTER, PARAMETER, ZEITINDEX bzw. ZEITSCHRITT (oder die entsprechenden Defaultwerte) bei der Programmausführung benutzt werden. Bei der Befehlsausführung werden also nur die ausgewählten Teile der Datei bearbeitet. Diese Angaben werden sozusagen als Eingabefilter benutzt, d.h. daß das die Daten bearbeitende Programm nur die durch dieses Filter ausgewählten Daten sieht und nicht den Rest der Datei. Außerdem wird die durch die Indexintervallangaben implizierte Reihenfolge der Daten bei der Bearbeitung berücksichtigt.
FENSTER, Indexintervalle für DIM1, Indexintervalle für DIM2 [, Indexintervalle für DIM3]
Mit FENSTER werden Indexintervalle zur Auswahl von Punkten innerhalb eines Parameters angegeben. Sollen mehrere Intervalle für eine Dimension angegeben werden, so sind diese durch Semikolon ";" voneinander zu trennen.
Default: FENSTER, 1-*/1, 1-*/1, 1-*/1 # vollständiger Eingabeparameter
PARAMETER, Indexintervalle für
Parameter
Mit PARAMETER werden die Indexintervalle zur Auswahl der gewünschten Parameter der Eingabedatei angegeben.
Default: PARAMETER, 1-* # alle Parameter der Datei
ZEITINDEX, Indexintervalle für
Zeitindizes
Mit ZEITINDEX werden die Indexintervalle zur Auswahl der gewünschten Zeitindizes der Eingabedatei angegeben.
Default: ZEITINDEX, 1-* # alle Zeitschritte der Datei
ZEITSCHRITT, Indexintervallangabe
für das Zeitschrittfeld
Mit ZEITSCHRITT werden die gewünschten Zeitschritte der Eingabedatei (Einträge im Zeitschrittfeld der Datei) ausgewählt. ZEITSCHRITT kann nicht gleichzeitig mit ZEITINDEX verwendet werden.
Default: keiner, da ZEITINDEX als Defaultwert angegeben wurde.
Ergänzung: ZEITINDEX ist das mächtigere Kommando, da damit immer alle Zeitschritte auf der Datei erreicht werden können, während dies mit ZEITSCHRITT nicht immer möglich ist (z.B. sind keine negativen Einträge im Zeitschrittfeld mit diesem Indexkommando angebbar).
Die in diesem Abschnitt angegebenen Befehle werden direkt nach Eingabe des Befehls ausgeführt. Sie beeinflussen nicht die weiteren Befehle innerhalb des aktuellen AUSFUEHREN-Blocks und können daher beliebig mit ausführbaren Kommandos kombiniert werden.
Mit KENNSATZ kann der Kennsatz einer Datei auf die Standardausgabe ausgegeben werden. Die optionalen Argumente dienen dazu die ausgegebene Informationsmenge bei Bedarf zu reduzieren. Sind keine optionalen Argumente angegeben, wird die gesamte im Kennsatz verfügbare Information ausgegeben. Das KENNSATZ-Kommando darf nur für EAS-Dateien verwendet werden.
KSSCHREIB, {Dateinummer |
TMP-Bezeichner}, {>|<}, {Dateinummer | TMP-Bezeichner}
KSSCHREIB kopiert einen Kennsatz aus einer EAS-Datei in eine Textdatei (>) oder interpretiert eine Textdatei und schreibt den gelesenen Kennsatz auf die EAS-Datei (<). Dieses Kommando ist vor allem für den interaktiven Gebrauch gedacht, um kleinere Änderungen an einem EAS-Kennsatz vorzunehmen. Mit dem ersten Aufruf
KSSCHREIB, 1, >, 2
kann der Kennsatz der Datei mit Nummer 1 auf die Textdatei mit Nummer 2 geschrieben werden. Die Textdatei kann nun mit einem Editor geändert werden, und die geänderte Version mit
KSSCHREIB, 1, <, 2
wieder als neuer Kennsatz in die EAS-Datei importiert werden. Der Datenfluss geht also stets in Richtung des Pfeils.
Die erste Dateinummer / Bezeichner muss immer eine bereits existierende EAS-Datei referenzieren, die zweite eine Textdatei im passenden Format.
Geändert werden dürfen die Konstanten, welche die Attribut-, die Geometrie- und die benutzerdefinierten Modi festlegen, jedoch nur in Form der Konstantenwerte, wie z.B. "EAS3_ALL_UDEF". Die Angabe eines Zahlenwertes für einen Modus liefert einen Fehler beim Einlesen. Änderungen der Dateidimensionen, sowie des Datei- und Binärformats sind nicht zulässig und haben keine Wirkung.
KSSCHREIB, 1, <, 2 liest einen Kennsatz aus der Textdatei 2. Dabei wird erwartet, daß die Datei 2 in einem Format vorliegt, welches dem der Kennsatzausgabe mit KSSCHREIB, 1, >, 2 entspricht. Dieses Format kann zwei Arten von Datendarstellungen enthalten: Einzelwertzuweisungen, bei denen Variable und Wert durch einen Doppelpunkt (:) getrennt sind und in einer eigenen Zeile stehen, z.B.
Attributmodus : EAS3_ALL_ATTR
Die andere Datenform sind mehrspaltige Indextabellen, die bei zweispaltigen Angaben aussehen wie die folgende Tabelle:
| Tabellentitel |+-------------------------------------------------------------------+| Index | Wert |+-------------------------------------------------------------------+| 1 | x4_ui89 || 2 | x4_ui77 |
Die Zuweisung geschieht hier über den Tabellentitel und die Reihenfolge der Zeilen. Das bedeutet, daß der erste Wert in der zweiten Spalte stets dem Index 1 zugeordnet wird, auch wenn der Indexeintrag davor manuell verändert wurde. Sowohl bei den Einzelzuweisungen als auch bei Tabellentiteln müssen gewisse Kennworte genauso geschrieben werden, wie sie in der Ausgabe erscheinen, weil KSSCHREIB beim Einlesen nach genau diesen Wörtern sucht. Die Anzahl der Leerzeichen ist jedoch egal.
Achtung! Tabulatoren (Tab) sind verboten. Das liegt an den Fortran-Zeichenkettenoperationen; werden trotzdem Tabs verwendet, kann das unter Umständen funktionieren, klappt aber meistens nicht (führt zu Programmabbruch).
Tabellen, die durch einen entsprechenden Modus abgeschaltet sind, werden ignoriert. Das bedeutet beispielsweise, daß bei Angabe von "Attributmodus : EAS3_NO_ATTR" die Attributtabellen nicht gelesen werden.
Interpretierte Kennwörter sind:
| Attributmodus | Einzelwert |
| gmode Zeitschritte | Einzelwert, analog "gmode Parameter", "gmode Dimension 1", usw. |
| ng(1) | Einzelwert, falls zugehöriger gmode == EAS3_UDEF_G, analog für Parameter: "ng(2)" , Dimension 1: "ng(3)", usw. |
| Modus Benutzerfelder | Einzelwert |
| Stringfeld | Einzelwert, Länge des benutzerdefinierten Feldes, falls EAS3_ALL_UDEF |
| Integerfeld | Einzelwert, Länge des benutzerdefinierten Feldes, falls EAS3_ALL_UDEF |
| Realfeld | Einzelwert, Länge des benutzerdefinierten Feldes, falls EAS3_ALL_UDEF |
| Zeitschritte und Attribute | Tabellentitel, Spalten sind "Index", "Zeitschritt" und "Attribut" |
| Parameterattribute | Tabellentitel, Spalten sind "Index", "Attribute" |
| Attribut Dimension 1 | Einzelwert, analog Dimension 2/3 |
| Geometriedaten Zeitschritte | Tabellentitel, falls EAS3_ALL_G oder EAS3_UDEF_G für diese Achse gesetzt. Analog für Parameter und Dimensionen. |
| Benutzerdefinierte Felder | Tabellentitel, Spalten sind "Index", "String", "Integer" und "Real" |
In der Praxis tritt in häufig der Fehler "Schluessel nicht gefunden" auf. Dies deutet darauf hin, daß entweder ein Kennwort falsch geschrieben wurde oder aber fehlt. Beispiel: "gmode Parameter : EAS3_X0DX_G" hat zur Folge, daß eine Zeile mit "Startwert Parameter : REAL-Wert" gesucht wird. Wenn diese aber fehlt (Benutzer hat zwar den Modus umgesetzt, aber die Werte vergessen), tritt der o.g. Fehler auf.
Empfehlenswert ist in jedem Fall, das Ergebnis der Kennsatzmodifikationen mit KENNSATZ zu überprüfen.
Hier folgt beispielhaft eine Ausgabe des Kommandos KSSCHREIB, bei der alle möglichen Modi mit den entsprechenden Tabellen vorkommen. Aus dieser Beispieldatei kann man sich bei einer Kennsatzänderung die notwendigen Tabellen mit der Maus kopieren, wenn sie nicht bereits in der Ausgabe des Kommandos erzeugt wurden.
#KS Kennsatzdatei. Kommentarzeilen enthalten '#'. Erste Zeile nicht aendern
+----------------------------------------------------------------------------+
# Der folgende Block enthaelt die Dateigroessen. Dies dient nur zu #
# Informationszwecken. Jede Aenderung dieser Werte bleibt wirkungslos. #
+----------------------------------------------------------------------------+
| Dateiformat : EAS3 |
| Binaerformat : IEEED |
+----------------------------------------------------------------------------+
| Anzahl Zeitschritte : 2 |
| Anzahl Parameter : 3 |
| Groesse Dimension 1 : 3 |
| Groesse Dimension 2 : 2 |
| Groesse Dimension 3 : 2 |
+----------------------------------------------------------------------------+
+----------------------------------------------------------------------------+
# Ab hier koennen die Werte geaendert werden. Zuerst Modi und Feldgroessen. #
+----------------------------------------------------------------------------+
| Attributmodus : EAS3_ALL_ATTR |
+----------------------------------------------------------------------------+
| Geometriemodi |
+----------------------------------------------------------------------------+
| gmode Zeitschritte : EAS3_UDEF_G |
| ng(1) : 2 |
| gmode Parameter : EAS3_ALL_G |
| ng(2) : 3 |
| gmode Dimension 1 : EAS3_NO_G |
| ng(3) : 0 |
| gmode Dimension 2 : EAS3_X0DX_G |
| ng(4) : 2 |
| gmode Dimension 3 : EAS3_X0DX_G |
| ng(5) : 2 |
+----------------------------------------------------------------------------+
| Modus Benutzerfelder : EAS3_ALL_UDEF |
+----------------------------------------------------------------------------+
| Laenge der benutzerdefinierten Felder |
+----------------------------------------------------------------------------+
| Stringfeld : 3 |
| Integerfeld : 3 |
| Realfeld : 3 |
+----------------------------------------------------------------------------+
+----------------------------------------------------------------------------+
# Es folgt die Ausgabe der Felddaten. Die Eintaege duerfen alle veaendert #
# werden. Falls Ergaenzungen oder andere Tabellen gewuenscht werden, koennen #
# diese aus der Online-Dokumentation kopiert werden, in der fuer jeden #
# Fall ein Eintrag / eine Tabelle im richtigen Format enthalten ist. #
+----------------------------------------------------------------------------+
| Zeitschritte und Attribute |
+----------------------------------------------------------------------------+
| Index | Zeitschritt | Attribut |
+---------------+-----------------------+------------------------------------+
| 1 | 1 | H0 |
| 2 | 2 | H1 |
+----------------------------------------------------------------------------+
| Parameterattribute |
+----------------------------------------------------------------------------+
| Index | Attribute |
+---------------+------------------------------------------------------------+
| 1 | U |
| 2 | V |
| 3 | W |
+----------------------------------------------------------------------------+
| Dimensionsattribute |
+----------------------------------------------------------------------------+
| Attribut Dimension 1 : X |
| Attribut Dimension 2 : Y |
| Attribut Dimension 3 : Z |
+----------------------------------------------------------------------------+
+----------------------------------------------------------------------------+
# Geometriedaten: Fuer den Modus EAS3_X0DX_G sind Eintraege mit Startwert #
# und Schrittweite erforderlich, fuer die anderen Modi wird eine Tabelle mit #
# dem Geometriedatenfeld ausgegeben und kann veraendert werden. #
+----------------------------------------------------------------------------+
| Geometriedaten Zeitschritte |
+----------------------------------------------------------------------------+
| Index | Geometriewert |
+---------------+------------------------------------------------------------+
| 1 | 1.25000 |
| 2 | 0.00000 |
+----------------------------------------------------------------------------+
| Geometriedaten Parameter |
+----------------------------------------------------------------------------+
| Index | Geometriewert |
+---------------+------------------------------------------------------------+
| 1 | 1.25000 |
| 2 | 0.25000 |
| 3 | 0.00000 |
+----------------------------------------------------------------------------+
| Geometriedaten Dimension 2 |
+----------------------------------------------------------------------------+
| Dimension 2 Startwert : 2.00000 |
| Dimension 2 Schrittweite : 0.100000E-01 |
+----------------------------------------------------------------------------+
| Geometriedaten Dimension 3 |
+----------------------------------------------------------------------------+
| Dimension 3 Startwert : 10.0000 |
| Dimension 3 Schrittweite : 1.00000 |
+----------------------------------------------------------------------------+
+----------------------------------------------------------------------------+
# benutzerdefinierte Felder: Die folgende Tabelle muss in jedem Fall #
# vierspaltig sein, wobei die senkrechten Balken als Trennzeichen #
# interpretiert werden. Nicht benoetigte Felder einfach leer lassen. #
+----------------------------------------------------------------------------+
| Benutzerdefinierte Felder |
+----------------------------------------------------------------------------+
| Index | String | Integer | Real |
+---------------+-----------------------------+---------------+--------------+
| 1 | MIX | 33 | 33.0000 |
| 2 | Red1 | 660 | 660.000 |
| 3 | DeltaM | 0 | 0.00000 |
+----------------------------------------------------------------------------+
| Ende |
+----------------------------------------------------------------------------+
DRUCKEN, {Dateinummer |
TMP-Bezeichner}
Mit DRUCKEN können die Daten auf den Parametern einer Datei ausgegeben werden. Die Ausgabe erfolgt in fünf Spalten.
Das Eingabefenster wird berücksichtigt. Es werden nur die Daten innerhalb des Eingabefensters ausgegeben.
WERTEBEREICH, {Dateinummer |
TMP-Bezeichner} [,{ZS | PAR}]
Mit WERTEBEREICH können die Extremwerte (Minimum und Maximum) der auf der Datei enthaltenen Daten ausgegeben werden. Es werden die Extremwerte und der Ort ihres Auftretens ausgegeben.
Das Eingabefenster wird berücksichtigt. Es werden nur die Daten innerhalb des Eingabefensters in die Suche mit einbezogen.
Ohne optionale Argumente wird der gesamte Eingabebereich auf globale Extremwerte untersucht. Mit ZS werden alle Parameter eines Zeitschrittes untersucht und für jeden Zeitschritt die Extremwerte getrennt ausgegeben. Mit PAR werden die Extremwerte jedes Parameters auf jedem Zeitschritt getrennt gesucht und ausgegeben.
Die hier beschriebenen Befehle werden erst durch Aufruf von AUSFUEHREN gestartet. Innerhalb eines AUSFUEHREN-Blocks darf immer nur ein ausführbares Kommando angegeben werden.
Skalare Operationen verändern die Eingabedaten elementweise und lassen, abgesehen vom Eingabefenster, mit dem die zu bearbeitenden Daten selektiert werden können, die Anzahl der Elemente unverändert.
Mit KOPIEREN, EIN wird das Programm zum Kopieren einer Datei aktiviert. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird untrstützt. Für alle Richtungen gelten die vorgestellten Regeln zur vearbeitung der Koeffizientenmoleküle.
Zusammen mit den mehrfachen Intervallangaben oder negativen Schrittweitenangaben (FENSTER, PARMETER, ZEITINDEX, ZEITSCHRITT) sind mit KOPIEREN neben der Hauptanwendung (Daten auszuschneiden) zahlreiche Anwendungen entlang jeder beliebigen Dimension einer Datei möglich:
Diese Anwendungsmöglichkeiten gelten natürlich auch für die anderen skalaren Operationen.
Durch Ableiten ist est möglich die Daten in einer der 5 Dimensionen abzuleiten. Durch den ersten Parameter werden die Ordnung der Ableitung und, falls die zu ableitende Richtung sich im physikalischen Raum befindet, die Art der Differenzenmoleküle bestimmt. Durch den zweiten Parameter wird die zu ableitende Dimension bestimmt. Die optionalen Parameter dienen dazu ein Gitter anzugeben, falls auf den Geometriefeldern keine Gitterinformation enthalten ist. Enthält die Eingabedatei Geometrieinformationen auf der abzuleitenden Richtung, so werden diese Geometrieinformationen bei der Berechnung der Ableitung verwendet (Vorrang vor Angabe auf Kommandozeile).
Die 1. und 2. Ableitung im physikalischen Raum kann auf beliebigen Gittern berechnet werden. Die Berechnung der 4. Ableitung ist nur auf äquidistanten Gittern bzw. auf Gittern mit Wandzonen implementiert.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Folgende Ableitungarten sind implementiert (erster Parameter der Kommandozeile):
Für Ableitungen im physikalischen Raum von Daten, bei denen die Geometriedaten nicht im Kennsatz des Inputfiles vorliegen (gmode/=EAS3_ALL_G oder gmode/=EAS3_X0DX_G), können die notwendige Geometriedaten durch die optionalen Parameter DX und MIX angegen werden. Wenn das Geometriefeld mit den Koordinaten der Gitterlinien belegt ist, werden die Angaben aus der Kommandozeile ignoriert.
Der Parameter DX stellt die maximale (siehe MIX) Schrittweite in der abzuleitenden Dimension dar.
Das optionale Argument MIX dient dazu, den letzten Index der Wandzone anzugeben, in der die halbe Schrittweite verwendet werden soll, damit auch in Dateien die Daten mit Wandzone enthalten direkt abgeleitet werden kann. Dabei ist zu beachten, dass sowohl unter- als auch oberhalb von MIX mindestens 5 Werte liegen müssen. Für einen Parameter der Dimension 20 x 20 x 20 wäre es also unzulässig, die Wandzonengrenze unter 6 oder über 15 zu legen. MIX=1 ist äquivalent mit einer nicht vorhandenen Wandzone. Falls mehrere Wandzonen vorhanden sind, müssen die Indizes der verschiedenen Grenzgitterlinien in aufsteigender Reihenfolge und durch ";" getrennt angegeben werden. Wenn das Geometriefeld mit den Koordinaten der Gitterlinien belegt ist (gmode=EAS3_ALL_G oder gmode=EAS3_X0DX_G), werden die Angaben aus der Kommandozeile ignoriert.
Achtung: Da die Ableitung über den gesamten durch das Eingabefilter angegebenen Datensatz gebildet wird, macht es im allgemeinen wenig Sinn mehrere Indexintervalle für die abzuleitende Dimension innerhalb des Eingabefensters zu verwenden - es sei denn die zusätzlichen Punkte innerhalb der Wandzone sollen für die Ableitungsberechnung ausgeblendet werden!
INTEGRIEREN, {DIM1|DIM2|DIM3},
F0, {AUF|AB}, {F|D1|D2|D3|D2_ABS|D3_ABS|B10|BEXP} [,DX [, MIX]]
Mit INTEGRIEREN kann entlang der Dimensionen eines Parameters integriert werden. Dabei wird die Stammfunktion F eines anzugebenden Integranden bestimmt. Die Integration erfolgt mit finiten Differenzen 4. Ordnung. Die einzelnen Argumente sind in der Tabelle unten erklärt. Falls vorhanden werden die Geometriedaten aus dem Geometriefeld des Kennsatzes zur Durchführung der Integration verwendet. Das Gitter kann beliebig gestreckt sein und/oder Wandzonen enthalten. Bei nicht vorhandenen Geometriedaten ist es möglich die äquidistante Gitterschrittweite dx und/oder die MIX-Werte für die Wandzonen manuell einzugeben, um ein Koordinatengitter zu erzeugen. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
| Befehlsargument | Typ | Bedeutung |
| DIM{1|2|3} | Schlüsselwort | Dimension entlang der integriert werden soll |
| F0 | reelle Zahl | Integrationskonstante (am Startpunkt der Integration) |
| {AUF|AB} | Schlüsselwort | Integrationsrichtung (in Richtung aufsteigender oder abnehmender Indizes) |
| {F|D1|D2|D3|D2_ABS|D3_ABS|B10|BEXP} | Schlüsselwort | Mit diesem Argument wird der Integrand gewählt: F: die Funktion f selbst wird integriert Fout=integral(f)+f0 D1: die Funktion 1-f wird integriert; Fout=integral(1-f)+f0 D2: die Funktion f*(1-f) wird integriert; Fout=integral(f*(1-f))+f0 D3: die Funktion f*(1-f*f) wird integriert; Fout=integral(f*(1-f*f))+f0 D2_ABS: die Funktion abs(f)*(1-f) wird integriert; Fout=integral(abs(f)*(1-f))+f0 D3_ABS: die Funktion abs(f)*(1-f*f) wird integriert; Fout=integral(abs(f)*(1-f*f))+f0 Bei der Bestimmung der Grenzschichtparameter mit D1 bis D3_ABS wird die Funktion vor der Integration normiert. Bei Integrationsrichtung AUF wird durch ded Wert am oberen Rand geteilt, bei Integrationrichtung AB wird der Wert vom unteren Rand zur Normierung benutzt. B10: Berechnung von Fout=10**(-integral(f dx))+f0 BEXP:Berechnung von Fout=e**(-integral(f dx))+f0 |
| DX | reelle Zahl | größte Gitterschrittweite (des äquidistanten Gitters) |
| MIX[;MIX2[;...[;MIX5]...] | positive ganze Zahlen | Umschaltpunkt(e) der Wandzone(n). Werden mehrere Umschaltindizes angegeben, so sind diese durch Semikolon zu trennen. |
Mit ABS wird der Betrag der Daten der Eingabedatei auf die Ausgabedatei ausgegeben. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Mit CLIP wird der Wertebereich der Daten f der Eingabedatei auf das Intervall LBOUND <= f <= UBOUND beschränkt. Werte außerhalb dieses Intervalls werden durch die entsprechnde Grenze (LBOUND bzw. UBOUND) ersetzt. LBOUND und UBOUND sind REAL-Zahlen. Die so beschränkten Daten werden auf die Ausgabedatei ausgegeben. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Wenn die Datenstruktur ft benutzt wird, werden im Default-Modus keine nichtlineare Operationen für Fourierkoffizienten (ft_koeff=ft_reim) oder für die Phasen von Fourier Koeffienten (ft_koeff=ft_phase) zugelssen. Diese Einschraenkung kann durch die Eingabe des optionalen Argumentes NONLIN_ALLOWED ausgeschaltet werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Mit EXP wird aus den Daten f der Eingabedatei exp(f) berechnet und auf die Ausgabedatei ausgegeben. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Mit LN wird der natürliche Logarithmus aus den Eingabedaten f gebildet. Berechnet wird LOG(ABS(f)+eps), wobei eps eine REAL-Zahl ist. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Mit LOG wird der Logarithmus zur Basis 10 aus den Eingabedaten f gebildet. Berechnet wird LOG10(ABS(f)+eps), wobei eps eine REAL-Zahl ist. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Mit POW10 wird aus den Daten f der Eingabedatei 10.**f berechnet und auf die Ausgabedatei ausgegeben. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
FT_SCALEGEO, {ZS|PAR|DIM1|DIM2|DIM3},EXP
Mit FT_SCALEGEOkönnen die Daten f der Eingabedatei mit ganzen Potenzen der Beträge der Werten aus dem G-Feld skaliert und auf die Ausgabedatei ausgegeben werden. Die ist besonders zur Multiplikation oder Division von Fourier Koeffizienten mit den entspechenden Wellenzahlen.
Die Formel
f_neu (j ) = (abs(G-feld (j )) ^EXP )* f_old (j )
wird verwendet wobei:
Das Geometrie Feld für die Richtung aus der die Skalierungsfaktoren entnommen werden sollen, mußvorhanden sein im Format EAS3_ALL_G oder EAS3_X0DX_G.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
FT_SCALERE, [1/RE | RE | SQRT(1/RE) | SQRT(RE)]
Mit FT_SCALERE können die Daten f der Eingabedatei mit den Faktoren 1/Re oder Re oder sqrt(1/Re) oder sqrt(Re) skaliert und auf die Ausgabedatei ausgegeben werden. Es wird mit der Formel fneu = fact * f gerechnet, wobei in Abhängigkeit von der Option in der Eingabezeile fact=1/Re oder fact=Re oder fact=sqrt(Re) oder fact=sqrt(Re) ist. Re ist die im benutzerdefinierten Feld enthaltene oder die durch dem Befehl FTINFO eingegebene Reynoldszahl. Die Angabe aus FTINFO hat Vorrang gegenüber der Angabe aus benutzerdefinierten Feld .
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Mit SCALETRANS können die Daten f der Eingabedatei skaliert und verschoben auf die Ausgabedatei ausgegeben werden. Es wird mit folgender Formel gerechnet: fneu = fact * f + offset. Dabei sind fact und offset REAL-Zahlen. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Mit SQR wird aus den Daten f der Eingabedatei f*f berechnet und auf die Ausgabedatei ausgegeben. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Wenn die Datenstruktur ft benutzt wird, werden im Default-Modus keine nichtlineare Operationen für Fourier Koffizeinten (ft_koeff=ft_reim) oder für die Phasen von Fourier Koeffienten (ft_koeff=ft_phase) zugelssen. Diese Einschraenkung kann durch die Eingabe des optionalen Argumentes NONLIN_ALLOWED ausgeschaltet werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Mit SQRT wird aus den Daten f der Eingabedatei sqrt(f) berechnet und auf die Ausgabedatei ausgegeben. Es muß f>=0.0 gelten, ansonsten bricht die Operation ab. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Wenn die Datenstruktur ft benutzt wird, werden im Default-Modus keine nichtlineare Operationen für Fourier Koffizeinten (ft_koeff=ft_reim) oder für die Phasen von Fourier Koeffienten (ft_koeff=ft_phase) zugelssen. Diese Einschraenkung kann durch die Eingabe des optionalen Argumentes NONLIN_ALLOWED ausgeschaltet werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
WINDOW, {HANNING | HANNING_SCALE |
WELCH }, {ZS | PAR | DIM1 | DIM2 | DIM3} [, x1, x2]
Mit WINDOW kann das Datenfeld mit Fensterfunktionen (Hanning- oder Welch Fenster, siehe Formelblatt) multipliziert werden. Das Outputfile enthält die Funktion f*G, wobei f die im Input enthaltene Funktion und G die Fensterfunktion sind. Die Fensterfuktion ist immer nur Funktion von einer Koordinate, die durch die Angabe {ZS | PAR | DIM1 | DIM2 | DIM3} angegeben werden kann. Die Optionale Argumente x1 und x2 bestimmen die Extremwerte der Fensterfunktionen (G =0 für x<=x1 und x>=x2). Werden die Argumente x1 und x2 nicht angegeben, dann werden der ersten und der letzte Punkt im Eingabefester als Extremwerte der Fensterfunktionen angenommen.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Das Geometrie Feld für die Richtung, entlang der die Fensterfunktion sich ändert, muß entsprechend der Datenstruktur ft vollständig belegt sein. Das Gritter muß äquidistant sein und und die Gitterschrittweite muß > 0 sein.
Nicht skalare Operationen verändern die Anzahl der Elemente auf der Datei durch Operationen auf den Daten.
FMITTELUNG, {TAVG | RMS}, COTRA, ZPTS2PER, ZRANGE
FMITTELUNG, {TAVG | RMS}, SITRA, {K0 | NOK0}, ZPTS2PER, ZRANGE
Mit FMITTELUNG können Mittelwerte aus zeitlich Fourieranalysierten Daten berechnet werden. Die Eingabedaten müssen jeweils abwechselnd als Amplitude/Phase auf den Parametern der Eingabedatei liegen. Auf den Zeitschritten der Eingabedatei liegen die Harmonischen beginnend bei h=0 auf dem ersten Zeitschritt. Es erfolgt eine Rücktransformation in Spannweitenrichtung, so daß tavg(y,z) bzw. rms(y,z) berechnet wird.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
| Befehlsargument | Typ | Bedeutung |
| tavg | Schlüsselwort | Zeitmittelung (Rücktrafo für alle Moden mit h=0). (Die Ausgabe erfolgt für eine Stelle z=const auf jeweils einem Parameter.) |
| rms | Schlüsselwort | Berechnung der rms-Werte getrennt nach Frequenzanteilen. (Die Ausgabe erfolgt abwechselnd als Amplitude und Phase für jeweils eine Stelle z=const auf zwei aufeinanderfolgenden Parametern.) |
| sitra, cotra | Schlüsselwort | Umschaltung zwischen Sin- und Cos-Transformation |
| k0, nok0 | Schlüsselwort | Gibt an, ob die Mode K=0 als erste Parameter (Amplitude/Phase) mit auf der Datei stehen (k0) oder nicht (nok0). Diese Option gilt nur für die Sin-Transformation. Bei der Cos-Transformation gehören die ersten beiden Parameter immer zur Mode K=0. |
| zpts2per | unsigned Integer (>2) | Gibt an wieviele Punkte auf 2 Perioden (inkl. der Randpunkte) in z-Richtung liegen sollen. (Der maximale Informationsgehalt liegt bei 4*KMAX+1 Punkten auf 2 Perioden.) Es muß zpts2per >=3 gelten, damit wenigstens auf den Randpunkten der 2 Perioden Punkte liegen (sie müssen ja nicht ausgegeben werden (s. zrange). |
| zrange | Indexintervall(e) | Gibt an welche der Punkte auf den 2 Perioden wirklich ausgegeben werden sollen und in welcher Reihenfolge dies geschieht. Damit wird z.B. eine Valley-Peak-Valley-Darstellung ermöglicht. Mehrere Indexintervalle werden wie üblich mit Semikolon getrennt. |
Zur Mittelung benutzte Formeln.
INTPOL, { DIM1 | DIM2 | DIM3 }, { O2 | O4 | O6 }
Optionen:
INTPOL, INGRID, X0, x0-Wert
INTPOL, INGRID, DX, dx-Wert
INTPOL, INGRID, MIX, mix-Wert
INTPOL, OUTGRID, NPTS, npts-Wert
INTPOL, OUTGRID, XMIN, xmin-Wert
INTPOL, OUTGRID, XMAX, xmax-Wert
INTPOL, OUTGRID, MIX, mix1-Wert[;...[;mix5-Wert]...]
INTPOL, OUTGRID, FILE, file-nr, GEO, { ZS | PAR | DIM1 | DIM2 | DIM3 }
INTPOL, OUTGRID, FILE, file-nr, DAT, { DIM1 | DIM2 | DIM3 }
Mit INTPOL können Daten auf beliebigen Gittern interpoliert werden. Der erste Befehl aktiviert das Interpolationsprogramm, während mit den Optionen die Gittergenerierung für das Eingabegitter (INGRID) und das Ausgabegitter (OUTGRID) beeinflußt werden kann (s.u.). Die Gitter müssen monoton wachsend sein und außerdem muß das Ausgabegitter irgentwo innerhalb des Eingabegitters liegen. Es wird durchgängig für das gesamte Gitter eine Lagrange-Interpolation der angegebenen Ordnung (2, 4 oder 6) benutzt. Das Eingabegitter muß also mindestens Ordnung+1 Punkte haben, damit die Interpolation durchgeführt werden kann. Die Interpolation wird für alle Zeitschritte und alle Parameter der Eingabedatei durchgeführt.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Eingabegitter: Ist auf der Eingabedatei die Geometrieinformation für die zu interpolierende Richtung vorhanden, so wird diese Information verwendet und alle INGRID-Optionen werden ignoriert. Die INGRID-Optionen sind gedacht für Dateien ohne Geometrieinformationen. Sind sie nicht angegeben, so gelten die Defaultwerte x0=0.0, dx=1.0 und mix=1 (keine Wandzone). Die ersten zwei Argumente sind Schlüsselworte und das dritte Argument gibt jeweils den Wert der entsprechenden Größe an (x0-Wert und dx-Wert müssen real-Werte sein; mix-Wert ist ein positiver Integer-Wert).
Ausgabegitter: Das Ausgabegitter kann auf zwei grundsätzlich verschiedene Arten angegeben werden:
a) Mit den OUTGRID-Optionen NPTS, XMIN, XMAX, MIX kann das Ausgabegitter durch Kommandozeileneingabe bestimmt werden. NPTS gibt die Anzahl der Punkte auf dem Ausgabegitter an und ist bei dieser Methode zwingend erforderlich (npts-Wert ist ein Interger-Wert). Mit XMIN und XMAX werden die Grenzen des Ausgabegitters festgelegt (xmin-Wert und xmax-Wert sind real-Werte; als Default für xmin und xmax werden die Grenzen des Eingabegitters gesetzt). Mit der Option MIX kann man eine oder mehrere Wandzonen spezifizieren (mix1-Wert,..,mix5-Wert sind Integer-Werte; Default: keine Wandzone, also äquidistantes Gitter).
b) Mit OUTGRID, FILE kann das Ausgabegitter aus einer Beispieldatei eingelesen werden. Dadurch lassen sich die Daten auf beliebige (monoton wachsende) Gitter interpolieren. Die Beispieldatei wird durch file-nr (einen Integer-Wert oder einen TMP-Bezeichner) angegeben. Bei der Option GEO wird das Gitter aus dem angegebenen Geometriefeld der Beispieldatei in der angegebenen Dimension eingelesen. Bei der Option DAT wird die Gitterinformation aus dem ersten Zeitschritt des ersten Parameters der Datei entlang der angegebenen Dimension gelesen. Das Ausgabegitter legt die Anzahl und die Position der interpolierten Punkte fest.
MITTELUNG, {TAVG | RMS | PAVG | SAVG} [, N]
Dieses Programm erwartet eine Eingabe- und zwei Ausgabedateien. Mit dem angegebenem Verfahren wird der Mittelwert über den Zeitschritten aus den Daten bestimmt und in die erste Ausgabedatei geschrieben. Die Differenzen zwischen den ursprünglichen Zeitschritten und dem Mittelwert (Störgrößen) werden in die zweite Ausgabedatei geschrieben.
Es muß genau eine Eingabe- und zwei Ausgabedateien angegeben werden.
Zur Bestimmung des Mittelwertes stehen drei Methoden zur Verfügung:
| TAVG | Bildet den arithmetischen Mittelwert über die Zeitschritte (zeitlicher Mittelwert und Störgrößen). |
| RMS | Berechnet den rms-Wert aus den instationären Daten (Wurzel aus zeitlich gemittelten quadrierten Störgrößen bzgl. dem zeitlichen Mittelwert). |
| PAVG | Berechnet einen instationären phasengekoppelten Mittelwert, d.h. es wird eine mittleres instationäres Störsignal aus den Daten von mehreren Perioden gewonnen und die rms-Abweichung von diesem mittleren Störsignal für jede Periode berechnet. Für diese Art der Mittelung muß der optionale Parameter N angegeben werden. |
| SAVG | Berechnet einen räumlichen Mittelwert innerhalb eines Parameters (für jeden Zeitschritt und jeden Parameter). |
Der optionale Parameter N (nur für PAVG) gibt an, wieviele Perioden die Datei (in der Zeitschritt-Dimension) enthält.
Zur Mittelung benutzte Formeln.
Mit REDUCE wird eine Reduktionsoperation entlang der angegebenen Dimension durchgeführt, d.h. daß die Elemente entlang dieser Dimension durch eine Funktion (2. Argument) zusammengefaßt werden und die Größe der entsprechenden Dimension auf 1 reduziert wird. Die so reduzierte Datei wird auf die Ausgabedatei ausgeben.
Es muß genau eine Eingabe- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Es stehen die folgenden Reduktionsoperationen zur Verfügung:
| Operation | Erklärung |
| MAX | max_i ( f_i ) |
| MIN | min_i ( f_i ) |
| MAXABS | max_i ( abs( f_i ) ) |
| MINABS | min_i ( abs( f_i ) ) |
| MAXL10 | log10( max( max_i ( f_i ), 1.e-12 ) ) |
| SUM | Summe_i ( f_i ) |
| SRMSFT | sqrt( Summe_i ( f_i * f_i ) ); Diese Operation ist gedacht zur Bestimmung von rms-Gesamtwerten aus den einzelnen Frequenzkomponenten des rms-Wertes (z.B. mit FMITTELUNG bestimmt). ACHTUNG: Dies ist keine rms-Berechnung! |
| MEANVAL | Summe_i(f_i) / N Dabei ist N die Anzahl der aufsummierten Elemente. |
Umbau
und Verknüpfung von Dateien
In diesem Abschnitt sind Kommandos zur Konvertierung in andere Ausgabeformate, Kommandos welche die Dimensionierung einer Datei verändern und Kommandos die mehrere Eingabedateien verknüpfen zusammengefaßt.
Mit CONVERT werden EAS-Daten in andere Dateiformate umgewandelt. Es wird immer die gesamte Datei konvertiert. Es muß genau eine Ein- und eine Ausgabedatei angegeben werden (bzw. drei Ausgabedateien bei der Ausgabe von Covise Vektordaten). Die optionalen Argumente (allesamt unsigned integer > 0) dürfen nur zusammen mit der Option ASCII2EAS verwendet werden. Mit ihnen wird die gewünschte Dimensionierung der zu erstellenden EAS3-Datei angegeben.
Bedeutung der Argumente:
Bei der Wandlung ins Tecplotformat in den Modi TECPLOTSV und TECPLTMV werden 2D-Parameter (ndim3=1) als 2D-Variablen geschrieben und 3D-Parameter (ndim3>1) als 3D-Variablen.
Mit dem Kommando TECPLOT können die Defaultwerte (jeweils in Klammern) für den Tecplottitel ("Tecplot"), das verwendete Gitter, die Variablennamen ("Var#") und die Zonennamen ("Zone#") der Tecplotdatei verändert werden.
Für die Übernahme der Geometrieinformationen bei Tecplot- und Covise-Wandlung gilt folgendes: Keine Angabe auf Datei oder Kommandozeile ist gleichbedeutend mit x0=0.0 und dx=1.0. Ist eine Dimension {DIM1 | DIM2 | DIM3} im Geometriemodus EAS3_X0DX_G oder im Modus EAS3_ALL_G werden diese Angaben für die Koordinatenberechnung in dieser Dimension benutzt, falls dies nicht explizit mit der Angabe von x0 und dx in der Kommandozeile mit dem entsprechenden Befehl übersteuert wird. Bei der Covise-Wandlung werden außerdem die Koordinaten der entsprechenden Dimension so verschoben, daß sie bei 0. anfangen (änderbare Default-Einstellung), da der Covise Bezugspunkt für Drehungen immer bei 0. liegt.
Bei Inputfiles, die der Datenstruktur ft entsprechen, werden die Variablen- und Zonennamen, wenn nicht schon explizit vom Benutzer durch den Befehl TECPLOT vogegeben, durch Informationen aus den G-Feldern von ZS und PAR hoffentlich sinnvoll belegt. Ausserdem ist es moeglich, die Variablen- und Zonennamen mit den Werten aus Zeitschritt- und Paramterattributen des Inputfiles zu belegen. In diesem Fall braucht das Inputfile nicht der Datenstruktur ft zu entsprechen. Beispiele:
TECPLOT ist kein ausführbares Programm, sondern es setzt nur Optionen für CONVERT. Mit TECPLOT können die Defaultwerte für den Tecplottitel, das verwendete Gitter, die Variablennamen und die Zonennamen überschrieben bzw. ergänzt werden. Vom Konvertierungsprogramm werden dann die modifizierten Werte bei der Wandlung ins Tecplotformat benutzt. Der TECPLOT-Befehl kann in seinen Varianten mehrfach aufgerufen werden. Das erste Argument des Kommandos ist immer ein Schlüsselwort das angibt welche weiteren Argumente folgen.
TECPLOT, titel, "titelstring"
Setzt den Titelstring des Tecplotframes.
Achtung: Argumente in Form von Strings dürfen bei den folgenden Befehlen keine Leerzeichen oder Kommata enthalten! Diese Einschränkung ist von Tecplot vorgegeben.
TECPLOT, { dim1 | dim2 | dim3 }, "dimvarname" [, x0 [, dx]]
Setzt den Variablennamen "dimvarname" der Koordinatenachse, den Startwert (x0) und die Schrittweite (dx) der entsprechenden Dimension. x0 und dx sind Real-Werte. Die Angabe von Startwert und Schrittweite ist optional. Wenn sie nicht angegeben werden, gelten die Defaultwerte bzw. im Modus EAS3_X0DX_G die Angaben im Dateiheader.
TECPLOT, vars, [ "varname1", ..., "varnameN" | GEO | ATTR ]
Setzt die Variablennamen (nicht die Namen der Koordinaten) der verwendeten Variablen.
"varname" : Explizite Angabe der zu verwendenden Variablennamen.
GEO: Eintragen der Geometriedaten als Variablenname
ATTR: Eintragen der Parameter- und Zeitschrittattribute als Variablenname
Es kann immer nur eine der drei Optionen verwendet werden.
TECPLOT, zones, [ "zonename1, ..., "zonenameN" | GEO | ATTR ]
Setzt die Zonennamen die für die Tecplotzonen verwendet werden.
"zonename" : Explizite Angabe der zu verwendenden Zonennamen.
GEO: Eintragen der Geometriedaten als Zonename
ATTR: Eintragen der Parameter- und Zeitschrittattribute als Zonenname
Es kann immer nur eine der drei Optionen verwendet werden.
Die Variablen- und Zonnenamen koennen auch unabhaengig voneinander mit den einzelnen Optionen belegt werden.
Werden zu wenige Variablennamen oder Zonennamen angegeben, so wird der
Rest mit den Defaultnamen aufgefüllt. Werden zuviele angegben, so
wird nur die benötigte Anzahl verwendet.
TECPLOT, TECPLTCRV_USE_OFFSET
Mit diesem Kommando kann die Nutzung des Geometriefeldes von Dimension
2 aktiviert werden. Wird diese Option benutzt, so wird zum jeweiligen
Funktionswert der im Geometriefeld der Dimension 2 eingetragene Wert
als Offset zum Funktionswert addiert. Die Koordinaten der ersten
Dimension legen die x-Achse fest, während die Koordinaten der 2.
Dimension zu den Funktionswerten addiert werden. Dadurch wird eine
Darstellung mit relativ zueinander verschobenen Kurven möglich
(z.B. für Zeitschriebe mit verschiedenem Wandabstand).
COVISE ist kein ausführbares Programm, sondern es setzt nur
Optionen für CONVERT. Mit
COVISE kann die Wandlung von EAS2/3-Dateien ins binäre
Covise-Format gesteuert werden. Der COVISE-Befehl kann in seinen
Varianten mehrfach aufgerufen werden. Das erste Argument des Kommandos
ist immer ein Schlüsselwort das angibt welche weiteren Argumente
folgen.
Default: Ausgabe eines skalaren 3D-Feldes, mit zugehöriger
Gitterdatei. Die Eingabedaten müssen 3D-Parameter sein (also
EAS3-Dateien mit ndim3>1). Die Koordinaten werden so verschoben,
daß jede Dimension bei x=0.0 anfängt.
COVISE, nogrid
Schaltet die Gittergenerierung bei der Covise-Wandlung aus.
COVISE, vector
Schaltet die Ausgabe von Vektorfeldern ein. Es werden 3 Eingabedateien für diesen Modus benötigt, die identisch dimensioniert sein müssen. Die drei 3D-Skalarfelder auf den Eingabedateien werden als Vektorkomponenten ausgegeben.
COVISE, dim3onpar
Erlaubt die direkte Wandlung von Dateien bei denen die 3. Dimension auf den Parametern statt auf dim3 liegt (also auch die direkte Wandlung von EAS2-Dateien nach Covise). Diese Option kann sowohl bei Skalar- als auch bei Vektordaten verwendet werden.
COVISE, {dim1 | dim2 | dim3}, x0, dx
Ermöglicht die explizite Angabe von Geometrieinformationen bei der Wandlung, wenn entweder keine Geometrieinformationen auf der Datei enthalten sind (z.B. EAS2) oder wenn man die auf der Datei enthaltene Geometrieinformation explizit übersteuern möchte. x0 und dx sind Real-Werte. Sind weder auf der Datei noch in der Kommandozeile Geometrieinformationen angeben, so gelten die Defaultwerte: x0=0.0 und dx=1.0.
COVISE, nox0shift, {dim1 | dim2 | dim3 | all}
Deaktiviert die Koordinatenverschiebung auf x=0.0 für die angegebene Dimension bzw. alle Dimensionen. Normalerweise werden die Koordinaten so verschoben, daß das Covise-Gitter immer im Ursprung beginnt. Diese Ursprungsverschiebung wird durchgeführt, nachdem die Koordinaten (Defaultwerte, Angaben auf Datei oder Angaben auf Kommandozeile) berechnet werden.
COVISE, shift, {dim1 | dim2 | dim3}, dx
Explizite Verschiebung der Koordinaten in der entsprechenden Dimension um dx. Diese Option ermöglicht bei der Arbeit mit mehreren Datensätzen die gegenseitige Anordung der unterschiedlichen Datensätze. Diese explizite Verschiebung wird nach der Ursprungsverschiebung (s.o.) durchgeführt.
Mit PAR2D_PAR3D werden Dateien mit mehreren 2D-Parametern (ndim3=1) in Dateien mit 3D-Parametern (ndim3_out>1) umgewandelt. Parstep (Schrittweite innerhalb einer Schleife über alle Parameter der Eingabedatei) gibt an welche 2D-Parameter jeweils hintereinander auf denselben 3D-Parameter geschrieben werden sollen.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden. Falls die Eingabedatei eine EAS2-Datei ist, wird sie automatisch nach EAS3 konvertiert.
Beispiel: Eine Eingabedatei enthält für mehrere Stellen z jeweils drei 2D-Parameter von u, v, w für z=const direkt hintereinander. Dann wandelt "PAR2D_PAR3D, 3" diese Eingabedatei in eine Ausgabedatei mit drei 3D-Parametern getrennt für u, v und w, wobei die dritte Dimension der Ausgabeparameter die z-Richtung ist.
Für parstep=1 ist PAR2D_PAR3D identisch mit UMORDNEN, PAR, DIM3.
Mit PAR3D_PAR2D werden Dateien mit npar 3D-Parametern (ndim3>1) in Dateien mit npar*ndim3 2D-Parametern (ndim3_out=1) umgewandelt. Auf der Ausgabedatei liegen jeweils npar 2D-Parameter für jedes ndim3=const hintereinander. PAR3D_PAR2D ist die Umkehrung von PAR2D_PAR3D.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Beispiel: Eine Eingabedatei enthält drei 3D-Parameter mit ndim3=5 von u, v, w. Dann wandelt PAR3D_PAR2D diese Eingabedatei in eine Ausgabedatei mit 15 2D-Parametern getrennt für u, v und w, wobei die Parameter jeweils für ndim3=const direkt hintereinander liegen.
Für npar=1 ist PAR3D_PAR2D identisch mit UMORDNEN, PAR, DIM3.
UMORDNEN, {ZS | PAR | DIM1 | DIM2 |
DIM3}, {ZS | PAR | DIM1 | DIM2 | DIM3}
Mit UMORDNEN werden zwei Dimensionen auf der Datei miteinander vertauscht. Die Daten werden entsprechend umorganisiert und die Dimensionsangabe im Kennsatz angepaßt. Die zusätzlichen Informationsfelder des Kennsatzes werden soweit möglich entsprechend umkopiert. Das erste und das zweite Argument müssen sich unterscheiden.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden. Ist DIM3 an der Operation beteiligt, so ist die Ausgabedatei automatisch eine EAS3 Datei.
VERKETTEN, {ZS | PAR | DIM1 | DIM2
| DIM3}
Mit VERKETTEN werden mehrere Dateien entlang der angegebenen Dimension verkettet (zusammengehängt). Ist DIM3 an der Operation beteiligt, so ist die Ausgabedatei automatisch eine EAS3 Datei.
Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt.
Es können mehrere Eingabedateien und genau eine Ausgabedatei angegeben werden.
MISCHEN ist ein Kompatibiltätskommando zu EAS2. Es ruft VERKETTEN mit den folgenden Argumenten auf:
VERKNUEPFEN, LIN_COMB, {* | Zs-Nr-Infile1}, {* | Par-Nr-Infile1}, {* | Zs-Nr-Infile2}, {* | Par-Nr-Infile2}, REAL_A, REAL_B
Mit VERKNUEPFEN werden zwei Dateien entsprechend den Argumenten des Befehls miteinander verknüpft. Es müssen genau zwei Eingabedateien und eine Ausgabedatei angegeben werden. Zur Verknüpfung der Dateien sind die Operationen ADD, SUB, MUL und DIV definiert. Es gilt die Verknüpfungsreihenfolge "Infile1 Operation Infile2", d.h. bei SUB werden von den Daten von Infile 1 die Daten von Infile2 abgezogen. Bei LIN_COMB werden die Daten von Infile 1 (bzw. von Infile 2) mit der reellen Zahl REAL_A (bzw. mit REAL_B), und die daraus resultierenden Felder werden aufeinander addiert.
Die Ausgabedatei wird aus der Datei Infile1 erzeugt, indem ihre Daten durch die Verknüpfungsoperation mit den Daten von Infile2 verknüpft werden. Die so modifizierten Daten von Infile1 werden auf die Ausgabedatei geschrieben.
Für das verknuepfen von ZS und PAR sind verschiedene Anwendungen implementiert:
Syntax: VERKNUEPFEN, {ADD | SUB | MUL | DIV | LIN_COMB}, Zs-Nr-Infile1, Par-Nr-Infile1, Zs-Nr-Infile2, Par-Nr-Infile2
Voraussetzung: die Parameterdimensionen der beiden Eingabedateien müssen identisch sein
Anwendungsbeispiel: Grundströmung (Infile2) von Gesamtströmung im Fourierraum (Infile1) abziehen
Syntax: VERKNUEPFEN, {ADD | SUB | MUL | DIV | LIN_COMB}, *, *, Zs-Nr-Infile2, Par-Nr-Infile2
Voraussetzung: die Parameterdimensionen der beiden Eingabedateien müssen identisch sein
Anwendungsbeispiel: Grundströmung (Infile2) von Gesamtströmung im physikalischen Raum (Infile1) abziehen
Syntax: VERKNUEPFEN, {ADD | SUB | MUL | DIV | LIN_COMB}, *, *, *, *
Voraussetzung: alle Dimensionen der beiden Eingabedateien identisch
Anwendungsbeispiel: Suche nach Unterschieden zwischen EAS-Dateien (z.B. mit WERTEBEREICH verwenden)
Beispielsyntax: VERKNUEPFEN, {ADD | SUB | MUL | DIV | LIN_COMB}, Zs-Nr-Infile1, *, Zs-Nr-Infile2 , *
Umgekehrt ist es auch möglich, einen Parameter aller Zeitschritte der ersten Datei mit einem einzelnen Parameter der zweiten Datei oder mit einem Parameter des gleichen Zeitschrittes der zweiten Eingabedatei zu verknuepfen.
Für die Dimensionen DIM1, DIM2 und DIM3 muß gelten :
wobei N=1,2,3
Eine der beiden Bedingungen muss für jede Dimensionen erfüllt sein. Allerding kann jede Dimension die eine oder die andere Bedingung unabhängig von den beiden anderen Dimension erfüllen
Bei der Verknüpfung von zwei Parameter gilt dann für N=1,2,3 und für jeden i_1_N =1,2,....DIM_N_Infile1:
Feld_output(i_1_1, i_1_2, i_1_3) = Feld_input_1(i_1_1, i_1_2, i_1_3) .op. Feld_input_2(i_2_1, i_2_2, i_2_3)
wobei
i_2_N = i_1_N, wenn DIMN_Infile1=DIMN_Infile2
i_2_N= konst = 1 wenn DIMN_Infile1<> DIMN_Infile2 und DIMN_Infile2=1
Generell gilt, daß jede Operation erlaubt ist, die machbar ist. Als Einschränkung bleibt, daß die angegebene Datenmenge der ersten Eingabedatei größer oder gleich der Datenmenge der zweiten Datei sein muß. Der Grund ist, daß sich ein Parameter nicht mit mehreren anderen Parametern verknüpfen läßt, da VERKNUEPFEN nur binäre Operationen (x .op. y = z) zur Verfügung stellt:
Es muß immer gewährleistet werden, daß die Anzahl der ausgewählten Zeitschritte und Parameter von Infile1 größer oder gleich der entsprechenden Anzahl von Infile2 ist.
GEOM, {SET | SCTR}, {ZS | PAR | DIM1 | DIM2 | DIM3}, { {X0, DX} | {FAKTOR, OFFSET} }
Mit GEOM kann die Geometrieinformation des Kennsatzes verändert werden. Mit der Option SET kann die Geometrieinfo gesetzt werden (auch f. EAS2-Dateien, Ausgabedatei dann EAS3). Falls bereits Geometriedaten für die entsprechende Dimension vorhanden sind, so werden sie überschrieben. Mit der Option SCTR können bereits vorhandene Geometriedaten mit einem Skalierungsfaktor gestreckt und um einen Offsetwert verschoben werden (Reihenfolge: 1. skalieren, 2. Offset addieren). Die Dimension deren Geometriedaten geändert werden soll, ist im zweiten Schlüsselwort anzugeben. x0, dx bzw. faktor, offset sind Real-Zahlen.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden. Die Ausgabedatei ist automatisch eine EAS3 Datei.
In diesem Abschnitt sind alle Kommandos für Fouriertransformationen zusammengefaßt.
F2PZ, cotra, zpts2per, zrange [, gamma]
F2PZ, sitra, {k0 | nok0} , zpts2per, zrange [, gamma]
F2PZ, futra, zpts2per, zrange [, gamma]
Mit F2PZ wird eine (symmetrische oder nicht symmetrische) Rücktransformation vom Fourierraum in den physikalischen Raum in z-Richtung berechnet. Das Kommando erwartet auf der Eingabedatei die Fouriermoden auf den Parametern als 2D-Datensätze (ndim3=1). Symmetrische Fälle: auf dem Parameter jeweils die Fourieramplituden von k=0 bis KMAX hintereinander auf den Parametern, insgesamt also (KMAX+1) Parameter. Unsymmetrischer Fall: jeweils Real- und Imaginärteil für eine Mode hintereinander, d.h. pro Mode also immer 2 Parameter, insgesamt also 2*(KMAX+1) Parameter. Auf die Ausgabedatei werden die Daten jeweils für z=const als Parameter mit 2D-Datensätzen (ndim3=1) ausgegeben.
Ist die Eingabedatei eine Datei im EAS3-Format, so werden für die transformierte Richtung Koordinaten ausgegeben. Die Berechnung der Koordinaten kann mit der Wellenzahl gamma oder gegebenenfalls durch die in der Datenstruktur ft angegebene Wellenzahl alpha_par beeinflußt werden.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird
berücksichtigt. Alle Daten innerhalb des Eingabefensters
werden bei der Transformation benutzt.
Achtung: Dies gilt insbesondere auch für den PARAMETER
Befehl, der die zur Transformation verwendeten Moden bestimmt!
| Befehlsargument | Typ | Bedeutung |
| sitra, cotra, futra | Schlüsselwort | Umschaltung zwischen Sin-, Cos- und nicht symmetrischer Transformation |
| k0, nok0 | Schlüsselwort | Gibt an, ob die Mode K=0 als erster Parameter mit auf der Datei steht (k0) oder nicht (nok0). Diese Option gilt nur für die Sin-Transformation. Bei den anderen Transformation gehört der erste Parameter immer zur Mode K=0. |
| zpts2per | unsigned Integer (>2) | Gibt an wieviele Punkte auf 2 Perioden (inkl. der Randpunkte) in z-Richtung liegen sollen. (Der maximale Informationsgehalt liegt bei 4*KMAX+1 Punkten auf 2 Perioden.) Es muß zpts2per >=3 gelten, damit wenigstens auf den Randpunkten der 2 Perioden Punkte liegen (sie müssen ja nicht ausgegeben werden (s. zrange). |
| zrange | Indexintervall(e) | Gibt an welche der Punkte auf den 2 Perioden wirklich ausgegeben werden sollen und in welcher Reihenfolge dies geschieht. Damit wird z.B. eine Valley-Peak-Valley-Darstellung ermöglicht. Mehrere Indexintervalle werden wie üblich mit Semikolon getrennt. |
| gamma | real | Wellenzahl die zur Berechnung der Koordinaten in der transformierten Richtung benutzt wird. Ist das optionale Argument gamma nicht angegeben, so wird gamma=2.*pi benutzt. Wird die Datenstruktur ft verwendet und ist alpha_par angegeben, so wird diese Wellenzahl zur Koordinatenberechnung benutzt. |
P2FT, hmax, {first | last}, {nowin |
welch | hanning}
Mit P2FT wird eine Fourieranalyse über die angegebenen Zeitschritte berechnet. Die Fouriermoden werden auf die Ausgabedatei als Zeitschritte geschrieben. Die Parameter der Ausgabedatei sind jeweils abwechselnd Amplitude und Phase des ursprünglichen Parameters, d.h. die Anzahl der Parameter verdoppelt sich von der Eingabe zur Ausgabe.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden bei der Transformation benutzt.
Achtung: Analysiert werden die Daten einer Periode, wobei nicht beide periodischen Punkte im Eingabedatensatz vorhanden sein dürfen (gegebenenfalls muß das Eingabefenster angepaßt werden, so daß dies gewährleistet ist).
| Befehlsargument | Typ | Bedeutung |
| hmax | unsigned Integer | Größte zeitliche Harmonische, die fourieranalysiert werden soll. |
| {first | last} | Schlüsselwort | Gibt an, ob der erste (first) oder der letzte (last) Zeitschritt der Datei auf einer vollen Periode liegt. Dient zur korrekten Berechnung der Phase des analysierten Signals. |
| {nowin | welch | hanning} | Schlüsselwort | Gibt an welche Fensterfunktion bei der Fourieranalyse verwendet werden soll. Bei nowin wird eine Rechtecksfunktion benutzt, bei welch ein Welch-Fenster und bei hanning ein Hanning-Fenster. Für die Definition dieser Fensterfunktionen siehe z.B. in "Numerical Recipes" unter dem Stichwort 'window functions'. |
Mit F2PT wird eine Fouriersynthese durchgeführt. Diese Transformation ist invers zu P2FT. Auf der Eingabedatei werden auf den Parametern abwechselnd Amplitude und Phase des zu generierenden Ausgabeparameters erwartet. Die zeitlichen Harmonischen müssen auf den Zeitschritten liegen.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden bei der Transformation benutzt.
| Befehlsargument | Typ | Bedeutung |
| tpts | unsigned Integer (>0) | Anzahl der Zeitschritte die in der Periode ausgegeben werden sollen. |
| {first | last} | Schlüsselwort | Gibt an, ob der erste (first) oder der letzte (last) Zeitschritt der Ausgabedatei auf einer vollen Periode liegen soll. |
PHASGLATT, { dim1 | dim2 | dim3 }, parstart, parstep [, faktor]
Mit PHASGLATT werden Phasensprünge ab einer angebbaren
Größe aus den Daten entlang einer Dimension entfernt.
Per Default werden Phasensprünge die größer als Pi sind
durch entsprechende Addition/Subtraktion von Vielfachen von 2*Pi
geglättet. Die Sprunghöhe nach der gesucht wird, kann durch
einen Faktor, der zwischen 1.0 und 2.0 liegt, beeinflußt werden;
es wird dann nach Sprüngen von Faktor*Pi gesucht.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
| Befehlsargument | Typ | Bedeutung |
| dim{1|2|3} | Schlüsselwort | Gibt an entlang welcher Dimension innerhalb eines Parameters geglättet werden soll. |
| parstart | unsigned Integer (>0) | Erster Parameter auf dem eine zu glättende Phase steht. |
| parstep | unsigned Integer (>0) | Schrittweite zwischen den Parametern, auf denen die Phasen
stehen. Mit parstart und parstep können die Parameter mit den zu glättenden Phasen ausgewählt werden. Bei parstart=parstep=1 wird die gesamte Datei bearbeitet. |
| faktor | reelle Zahl aus [1.0 ; 2.0] | Faktor mit dem die Sprunghöhe bestimmt wird, ab der geglättet wird (s. Text oben). |
Befehle für die Datenstruktur ft
In diesem Abschnitt sind alle Kommandos, die spezifisch zur Vearbeitung der Datenstruktur ft gedacht sind, zusammengefasst.
FT2PHYS, { ZS | PAR }, start, end, npoints
Mit FT2PHYS wird eine reelle Rücktransformation vom Fourier-Raum in den physikalischem Raum für eine Richtung durchgeführt. Das Inputfile muss der Darstellung FT_REAL entsprechen und die zu transformierende Richtung muss in Fourier-Raum liegen.
Der Parameter ftsym für die Transformierte Richtung des Inputfiles (siehe Informationen im benutzerdefinierten Feld ) muss definiert sein. Wenn die Information nicht im benutzerdefinierten Feld des Inputfiles enthalten ist, muss sie durch FTINFO eingegeben werden.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden bei der Transformation benutzt. Für die nicht transformierte Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle. Für die transformierte Richtung bestimmt das Eingabefenster die Harmonischen, die in der Rücktransformation aufsummiert werden sollten. Es ist dabei möglich nur den Cosinus-Anteil oder nur den Sinus-Anteil aufzusummieren. Der Gleiche Index darf nicht zweimal im Eingabefenster vorkommen.
Wenn das Geometriefeld des Inputfiles für die transformierte Richtung belegt ist, werden die Wellenzahlen der enthaltenen Harmonischen daraus gelesen. Ist das Geometrie-Feld nicht beleget, wird die Reihenfolge 0,1,2,... für die Harmonischen im File angenommen.
Das Outputfile entspricht der Darstellung FT_REAL,wobei die vearbeitete Richtung im physikalischem Raum liegt. Die Werte der Koordinate in physikalischen Raum, für die die rücktransformierte Funktion ausgegeben werden soll, sind durch die Argumente start, end, und npoints bestimmt. Das Geometriefeld für die verarbeitete Richtung enthält die damit bestimmte Koordinaten (dimensioniert mit der entsprechenden Grundwellenlänge: ftcoortype=FT_REL).
| Befehlsargument | Typ | Bedeutung |
| {ZS | PAR} | Schlüsselwort | Richtung die rücktransformiert werden soll. |
| start,end | Real | Koordinaten (dimensioniert mit der entsprechenden
Grundwellenlänge) des ersten und letzen Punkes des
äquidistanten Gitters, auf dem die rücktransformierten
Funktionen ausgegeben werden sollten. Es darf sein: end<start |
| npoints | unsigned Intteger | Anzahl der Punke in dem äquidistanten Gitter, auf dem die rücktransformierten Funktionen ausgegeben werden sollten (beide Endpunkte mitgezählt). |
FTINFO, Kennung_ftifno, wert
FTINFO, [EIN,AUS]
Mit FTINFO ist es möglich die Verwaltung der spezifische Zusatzinformatioen der Datenstruktur ft (Daten die im benutzerdefinierten Feld enhalten sind) anzuschalten oder die Informationen selbst einzugeben. Die im benutzerdefinierten Feld enthalten Informationen werden ignoriert wenn die gleiche Informationen durch FTINFO explizit angegebenen werden.
FTINFO, EIN schaltet nur die Verwaltung der Zusatzinformationen ein.
FTINFO, AUS schaltet die Verwaltung und die Verwndung der Zusatzinformationen aus (-> Keine Kontrolle z.B. ueber die vollständigkeit der Molekülen).
Die Angabe von jeder beliebigen Information schaltet die Verwaltung der Zusatzinformationen ein. Wenn Informationen im benutzerdefinierten Feld des Kennsatzes der Inputfiles enthalten sind, wird die Verwaltung eingeschaltet.
Mit Kennung_ftinfo ist eine beliebige Kennung unter denen die im benutzerdefinierten Characterfeld gefunden werden können (mit der Ausnahme von op) gemeint. Mit wert ist der dazugehörige Wert gemeint, der in Abhängigkeit von Kennung_ftinfo eine Zeichenfolge, eine REAL-Zahl oder, falls der Wert im benutzerdefinierten Feld eine INTEGER-Zahl ist, die entspechende Kennung sein kann.
Folgelgende Angaben sind möglich:
FTREAL2MODPH, {MODMATH | MODPHYS | PHASE | REPART | IMPART}
Mit FTREAL2MODPH ist es möglich die Beträge. die Phasen, die Real- und Immaginarteile der komplexen Koeffizienten aus einer aifachen oder mehrfachen Fouriertransformationen zu berechnen.
Bei der Option MODMATH wird den Betrag als Wurzel der Summe der Quadraten von Real und Imaginarteil ausgegeben. Bei der Option MODPHYS wird die Amplitude der Welle, die in der physikalischen Interpretation dem Fourierkoeffizienten entspricht ausgegeben (Betrag mit den Faktoren 2. oder 4 multipliziert). Diese Option ist nur zugelassen wenn nur die ZS-Richtung oder nur die PAR-Richtung oder beide gleichzeitig in Fourier-Raum liegen. Bei der Option PHASE wird die Phase der Fourierkoeffizienten ausgegeben. Bei REPART und IMPART werden den Real- und den Immaginarteile der Koeffizienten ausgegeben. Siehe das Formelblatt für die genaue Definitionen von Betrag, Amplitude und Phase.
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Das Inputfile muß die Koeffizenten in der Formulierung ftform=FT_REAL, ftkoef = FT_REIM enthalten. Die entsprechende Parameter im benutzerdefiniertem Feld müessen gesetzt sein, Die Parameter ftsym und coortype müssen für die Richtungen im Fourier Raum definiert sein (siehe Informationen im enutzerdefinierten Feld ). Das Geomtrie-Feld muß für die Richtungen im Fourier Raum definiert sein. Wenn die notwendige Informationen nicht im benutzerdefinierten Feld des Inputfiles enthalten sind, müssen sie durch FTINFO eingegeben werden. Die im benutzerdefinierten Feld enthalten Informationen werden ignoriert wenn die gleiche Informationen durch FTINFO explizit angegebenen werden.
Die Datenstruktur im Outputfile wird durch ftform = FT_REAL, ftkoef = {MODMATH | MODPHYS | PHASE | REPART | IMPART} gekennzeichnet. Dabei enthält jede Dimension, die einer Richtung in Fourier-Raum entspricht, ein Paar von Indizes für jedes vorhandenes Par von Wellenzahlen (+gamma,-gamma). gamma > 0. Damit entstehen, wenn mehreren dimensionen in Fourier Raum vorliegen, mehrdimensionalen Molekuelen, die entlang jeder Richtung im Fourier Raum zwei Indizes Belegen. Die Moden +gamma und -gamma sind immer für jede Richtung vorhanden ohne Berücksichtigung von symmetrien. Die Werte im Geometrie-Feld geben die Wellenzahl, auf die der Entsprechender Index sich bezieht, mit dem korrektem Vorzeichen (siehe Formellblatt).
Das Eingabefenster wird berücksichtigt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
Die Dimensionen der Outputfile werden für Richtungeng im physikalischen Raum ummittelbar durch das Eingabefenster bestimmt. Für Richtungen im Fourier-Raum werden sie durch die Beziehung Dimension = 2 * (Anzahl der Wellenzahlen) bestimmt.
PHYS2FT, {ZS | PAR |DIM1 | DIM2 | DIM3}, hkrange [, NO_INT_WAVE]
Mit PHYS2 phys wird eine relle Transformation vom physikalischen Raum zum Fourierraum (Fourier Reihe oder Fourier Transformierte) für eine Richtung durchgeführt. Das Inputfile muss der Darstellung FT_REAL (eventuell keine Richtung im Fourier-Raum) entsprechen. Die zu transformierende Richtung muss in physikalischen Raum liegen. Ist die Option NO_INT_WAVE nicht gesetzt dann wird eine Entwicklung in Fourier Reihe durchgeführt. Ist dagegen die Option gesetzt, dann wird eine diskrete Fourier-Transformation durchgeführt (Siehe Formellbaltt für die Definitionen von Fourier-Reihe und Fourier-Transformierte).
Es muß genau eine Ein- und eine Ausgabedatei angegeben werden.
Der Parameter ftsym für die Transformierte Richtung des Inputfiles (siehe Informationen im benutzerdefinierten Feld ) muss definiert sein. Wenn die Information nicht im benutzerdefinierten Feld des Inputfiles enthalten ist, muss sie durch FTINFO eingegeben werden. Das Geometrie-Feld für die zu transformierende Richtung muß vollständig definiert sein.
Das Eingabefenster wird berücksichtigt. Alle Daten innerhalb des Eingabefensters werden bei der Transformation benutzt. Für die Richtungen, die schon im Inputfile im Fourier-Raum vorliegen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle. Für die Transformierte Richtung bestimmt das Eingabefenster die Werte die in der Transformation aufsummiert werden sollten. Folgende Kontrollen werden über die Daten im Geometrie-Feld der zu transformierende Richtung durchgeführt:
Das Outputfile entspricht der Darstellung FT_REAL,wobei die vearbeitete Richtung im Fourierraum liegt (ftraum = FT_FOUR wenn die Option NO_INT_WAVE nicht gesetzt ist; ftraum = FT_TRAN wenn dei Option NO_INT_WAVE gesetzt ist). Die Wellenzahlen, die berechnet werden sollten, werden durch den Range hkrange vorgegeben. Dieser darf nur ein Interval enthalten (keine Kombination von mehreren Intervallen). Bei der Entwicklung in Fourier-Reihe enspricht der index 0 im Range der Harmonische 0, der Index k der Harmonischen k bezogen auf die Länge des Integrationsgebietes. Ist das Integrationsgebiet ein Vielfaches der Grundwellenlänge, dann können auch Subharmonische berechnet werden. Bei der Fourier-Transformierte sind dagegen die Harmonische immer auf die im benutzerdefinierten Feld angegebene Wellenzahl bezogen. Das Geometriefeld für die verarbeitete Richtung enthält die Wellenzahlen der berechneten Harmonischen bezogen auf die Grundwellenzahl (ftcoortype=FT_REL; der Wert 1. entspricht der Grundharmonische).
Diese Klasse von Befehle ermöglicht die Auswertung von DNS-Ergebnissen. Um den Programmierenaufwand zu beschränken wurden diese Befehle unter der Annahme implementiert, daß die Informationen im benutzerdefinierten Feld und im Geometriefeld in den Inputfiles wie definiert für die Datenstruktur ft vollständig vorhanden sind, und daß die Anordung zwischen Raum/Zeit-Koordinaten und die Dimensionen der Files der für die Datenstruktur ft beschriebene Anordnung entspricht.
Verallgemeinerungen sind, wenn Interesse besteht möglich (Giuseppe).
Mit FT_ADIM kann die Art der Adimensionalisierung der Daten und/oder der Geometriedaten im Geometriefeld geändert werden. Die gewünsche Adimensionalisierung wird durch die erste Option angegeben. Die erwartete adimensionalisierung des Inputfiles ändert sich in abhägigkeit von der gleichen Option, wie im folgendem erklärt:
Unabhängig von der Art der Adimensionalisierung kann bei Geometrie Daten aus der Datenstruktur ft zwischen ftcoortype=FT_REL und ftcoortype=FT_ABS umgeschaltet werden (Siehe die Beschreibung des benutzerdefinierten Feld der Datenstruktur ft zur Erklärung der Bedeutung von ftcoortype):
Zur Durchführung muß ftcoortype enutzerdefinierten Feld der Datenstruktur ft für die zu ändernden Dimensionen korrekt belegt sein.
Durch das erste Argument kann es gesteuert werden welche Daten von der Änderung der Adimensionalisierung betroffen werden sollten (ZS, PAR, DIM1 ,DIM2, DIM -> nur die angegeben Richtung des Geometrie Feldes; ALL_G -> alle Richtung des Geometrie Feldes; DATA -> nur die Datem im Hauptfeld; ALL -> alle Richtungen des Geometrie Feldes und die Daten im Hauptfeld).
Bei den optionen ALL_G und ALL werden G-Felder, für die gmode weder EAS3_ALLG noch EAS3_X0DX_G, und Wellenzahlen die im benutzerdefinierten nicht enthalten sind, ignoriert.
Bei den Optionen ADIM, DI, und WALLCOOR häng die Art der Adimensionalisierung von der zu behandelden Variable ab (Längen, Zeiten, Geschwindigkeit, mit/ohne Streckung, etc.). Die Erkennung der Variablen erfolgt durch die Kennzeichnungen in den Felder zs, par, dim1, dim2, dim3 (für die Koordinaten im G-Feld) und varname (für die Daten im Hauptfeld) aus dem benutzerdefinierten Feld der Datenstruktur ft. Deswegen müssen die genanten Felder, für die zu verarbeitende Variablen, korrekterweise belegt sein (Siehe Definition des enutzerdefinierten Feld der Datenstruktur ft).
Bei den optionen FT_ABS, FT_REL, ADIM, DIM wird genau ein Inputfile (das zu bearbeitende File) erwartet. Bei der Option WALLCOOR wird zusätzlich ein zweites File mit dem zu verwendenden Wert von du/dy an der Wand erwartet. Das benutzerdefinierte Feld muß die zur Durchführung der Operation erforderlich Daten (z.B. Reynoldszahl, Referenzgrößen enthalten) der Datenstruktur ft entspechend enthalten. Ist dies nicht der Fall können die notwendige informationen durch den Befehl FTINFO angegeben werden. Das Inputfile für du/dy an der Wand (option WALLCOOR) muß die Dimensionen nzs=1, npar=1, ndim1=1, ndim2=1, ndim3=1 besitzen. Der in File enthaltene Wert wird als du/dy_wand in der Berchnung der Wand-Refenzgrößen verwendet. Die Adimensionalisierung von du/dy_wand muss der Nav3d-Adimensionalisierung ohne Streckung entsprechen.
Das Eingabefenster wird berücksichtigt. Für alle Richtungen gelten die vorgestellten Regeln zur Vearbeitung der Koeffizientenmoleküle.
FT_CORRELATION, {DIM1 | DIM2 |DIM3}
Mit ft_correlation können Zwei-Punkt-Korrelationen von zwei im folgenden G1 und G2 genannten Größen berechnet werden. Die statistische Mittelung erfolgt durch arithmetische Mittelung über die Zeitschritte (ZS-Richtung).
Es werden entweder ein oder zwei Inputfiles erwartet:
Das Eingabefenster wird nur für G2 berücksichtigt. Nach Berücksichtigung des Eingabefensters für G2 müssen die Dimensionen der Eingabefelder für alle Richtungen, bis auf diejenige welche im Argument der Befehlzeile angegeben ist (sweep-Richtung), übereinstimmen. Die Dimension des G1-Feldes in der Sweep-Richtung darf beliebig sein, die Dimension des G2-Feldes muß 1 sein.
Darüberhinaus wird jeder G1-Wert mit dem G2-Wert multipliziert, der die Gleiche Indizierung für ZS, PAR und für die beiden nicht-sweep-Richtungen vorzeigt (Hierbei gilt fuer das G2-Feld die Indizierung nach Berücksichtigung des Eingabefensters). Die damit erhaltene Produkte werden arithmetisch über die Zeitschritte, bei gleicher indizierung der anderen Richtungen, gemittelt. Das Outputfile enthält einen einzigen Zeitschritt. Alle andere Dimensionen sind identisch mit denen des Inputfiles für G1.
Die Geometrie-Felder des Outputfiles werden den Geometrie-Felder des Inputfile für G1 gleichgesetzt mit den folgenden Ausnahmen:
Das Eingabefenster wird berücksichtigt, allerdings nur bezogen auf die Indizierung der Inputfiles für die zudrehende Grösse. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt.
FT_DREHEFELD, X0, Z0, ANGLE, XXLEN, ZZLEN, NPOINMTSXX, NPOINTSZZ
Mit FT_DREHEFELD kann ein dreidimensionale rechteckigen Feld dargestellt werden, das gedreht gegenüber dem originale Feld liegt. Sei (x,y,z) das Chartesische Referenzsystem für da das Inputfeld. Sei (xx,yy,zz) das Chartesische Referenzsystem für das Output. Der Ursprung (xx=0,yy=0,zz=0) entspricht dem Punkt (x=X0,y=0,z=Z0). Die Achse xx ist gegenüber der Achse um den Winkel ANGLE (Angabe im deg.) gedreht. Dabei wurde das das Vorzeichen von ANGLE so ausgewählt, daß fuer ANGLE = 90 deg. liegen die Aches z und xx übereinander. Die Angaben für X0, Z0, XXLEN und ZZLEN sollten alle auf die Gleiche adimesnionalisierung (ftcoortype=FT_ABS) bezogen werden. Das Outputfile enthält NPOINTSXX Punkte im xx-Richtung und NPOINTSZZ Punkte in zz-Richtung.
Es wird genau ein Inputfile erwartetvier. Die x-Richtung muß entlang der Dimension DIM2 gespeichert sein und im physikalischen Raum vorliegen. Die x-Koordinate der im Eingabefenster enthaltenen Daten muss mit dem Index der Dimension DIM1 monoton zunehmen. Die z-Richtung muß entlang der Dimension PAR gespeichert sein und im Fourier Raum vorliegen. Die Koeffizienten müssen in der Formulierung ftform=FT_REAL, ftkoef=FR_REIM vorliegen. Das Geometrie-Feld für die z- und die x-Richtung muß volständig beleget werden. Die Adimensionalisierung coortype = FT_ABS muß für die Koordinaten von beiden Richtungen fleich sein. Die wellenzahlen für die z-Richtung können sowohl in der Asimensionalisierung coortype=FT_ABS, als auch coortype=FT_REL vorliegen. Die Koordinate für die x-Richtung m müssen in der Adimensionalisierung coortype=FT_ABS vorliegen.
Es wird genau ein Outputfile ausgegeben. Die Daten im Outputfile Beziehen sich auf folgendes Gitter:
Die xx- und zz-Richtungen liegten im physikalische Ruam vor. Alle andere Richtungen liegen im gleichen Raum wie im Inputfile.
Der Datenzatz im benutzerdefinierten Feld und im Geometriefeld der Inputfiles muss der Datenstruktur ft entsprechen und vollständig vorhanden sein.
Das Eingabefenster wird berücksichtigt, allerdings nur bezogen auf die Indizierung der Inputfiles für die zudrehende Grösse. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt.
FT_DREHE_S, {X_S , Z_S}, [MREF]
Mit FT_DREHE_S können die Komponenten von Geschwindigkeit und Wirblestärke im Stromlinienkoordinatensystem berechnet werden. Durch die Option {X_S | Z_S}kann man auswälen ob die Komponente entlang der x_s-Achse (u_s, u_bs, u_gs, o_xs, o_xbs, o_xgs) oder die Komponente entlang der z_s-Achse (w_s, w_bs, w_gs, o_zs, o_zbs, o_zgs) ausgegeben werden soll. Die Orientierung der Achsen x_s und z_s werden in Abhängigkeit von der x-Koordinate auf der Basis der Grundströmungsgeschwindigkeit (u_b, w_b) an einer vorgegebene Referenzgitterlinien festgelegt. Die y-Koordinate, aus der die Referenzwerte der Grundströmung entnommen werden sollten kann durch das optionale Argument MREF (Indizierung der Gitterlinie im Inputfile für die Grundströmung) angegeben werden. Wird das Argument MREF nicht angegeben, dann wird die letze Gitterlinie (oberer Rand) verwendet.
Anstatt der Grundströmung ist es möglich andere zweidimensionale vektorfelder als referenz zur Berechnung des Drehewinkels, z.B. die Gesamtstr (u_g, w_g) oder die Visköse spannung in eine ebene (du_g/dy, dw_g/dy). Die aktuelle Programm Version, lässt nur folgende Werte der Felder varname aus dem benutzerdefinierten Feld für die Komponenten des Referenzvektorfeldes zu:
Im Folgende wird das Referenz-Vektorfeld immer mit (u_b,W_b) gekennzeichnet.
Es werden vier Inputfiles erwartet (x- und z- Komponenten der zu drehenden Grösse, x- und z-Komponenten der Grundströmung). INFILE,1 muss die x-Komponenten der zu drehenden Grösse enthalten, INFILE, 2 die z-Komponenten der zu drehenden Grösse, INFILE, 3 die x-Komponente der Grundströmung, INFILE, 4 die z-Komponente der Grundströmung. Eine Ausnahme ist für den Fall, daß die Grundströmung selbst die zu drehende Grösse ist (Berechnung von u_bs und w_bs), vorgesehen. In diesem Fall sollten zwei Eingabefiles angegeben werden, wobei INFILE, 1 die x-Komponente der Grundströmung, INFILE, 2 die z-Komponente der Grundströmung enthalten müssen. Die in den beiden Files enthaltene Daten werden sowohl zur Berechnung des Stromlinienkorrdinatensystem als auch zum einlesen der zudrehenden Grösse verwendet.
Der Datenzatz im benutzerdefinierten Feld und im Geometriefeld der Inputfiles muss der Datenstruktur ft entsprechen und vollständig vorhanden sein.
Das Inputfile für die Grundströmung muß dem Standard für Grundströmungsfiles entsprechen. Die x- und y- Richtungen der zu drehende Strömumng müssen im Physikalischen Raum vorliegen. Die z und t Richtung können unabhängig voneinander im Fourier oder in physikalische Raum vorliegen. Die verknüpfung ist nur zugelsaasen, wenn für beide Grunströmung und zudrehende Strömung ftform=FT_REAL, ftkoef=FT_REIM (siehe Informationen im benutzerdefineirten Feld) gilt.
Beide Inputfiles für die zu drehende Grösse und beide Inputfiles für die Grundströmung müssen sich paarweise aufs gleiche Gitter beziehen. Das Gitter für die zudrehende Strömung muss in x-Richtung kleiner (ausgedünnt oder ausgeschnitten) oder gleich dem Gitter für die Grundströmung sein. Die Drehung an einer bestimmten x-Stelle erfolgt auf der Basis der Werte der Grunströmung an der gleichen x-Stelle.
Das Eingabefenster wird berücksichtigt, allerdings nur bezogen auf die Indizierung der Inputfiles für die zudrehende Grösse. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt.
Mit FT_LAMBDA2 wird das Programm zum Lambda_2-Berechnung aktiviert. Es müssen genau 9 Ein- und eine Ausgabedatei angegeben werden. Die Eingabedateien müssen die Ableitungen des gesamten Geschwindigkeitsvektors enthalten (Grundstömug plus Störströmung).
Die Anordnung zwischen den Dimensionen der EAS3-Dateien und der physikalischen Koordinaten ist nicht relevant. Alle Inputdateien müssen die gleiche Struktur und die gleiche Dimensionen haben. Alle Koordinatenrichtungen müssen im physikalischen Raum vorliegen. Die Dimensionslosmachung muss, der für nav3d üblichen Adimensionalisierung entsprechen (Streckung von y und v). Der Datenzatz im benutzerdefinierten Feld und im Geometriefeld der Inputfiles muss der Datenstruktur ft entsprechend vollständig vorhanden sein.
Die Inputdateien müssen in der folgende Reihenfolge angegeben werden: du/dx, du/dy, du/dz, dv/dx, dv/dy, dv/dz, dw/dx, dw/dy, dw/dz.
Die Ausgabe Datei enthält den zweiten Eigenwert des Gradienten des Geschwindikeitstensors.
Das Eingabefenster wird berücksichtigt, allerdings das gleiche Eingabefenster für alle Inputdateien. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt.
FT_VERKN_GRUND, {ADD | SUB | DIV_Y_REF}, [MREF]
Mit FT_VERKN_GRUND können die üblichen binären Operationen zwischen Grundströmung und Störströmung (bzw. zwischen Gesamtströmung und Störströmung ) duchgefürt werden. Folgende Operationen sind möglich:
Es werden zwei Inputfiles erwartet (Stör/Gesmat- und Grundströmung). INFILE,1 muss dem File für die Störströmung/Gesamtströng entsprechen, INFILE,2 dem File fuer die Grundströmung.
Der Datenzatz im benutzerdefinierten Feld und im Geometriefeld der Inputfiles muss der Datenstruktur ft entsprechen und vollständig vorhanden sein.
Das Inputfile für die Grundströmung muß dem Standard für Grundströmungsfiles entsprechen. Die x- und y- Richtungen der Stör-/Gesamtströmumng müssen im physikalischen Raum vorliegen. Die z und t Richtung können unabhängig voneinander im Fourier- oder in physikalische Raum vorliegen. Die Verknüpfung ist nur zugelassen, wenn für beide Stör-/Gesamtströmung und Grundströmung ftform=FT_REAL, ftkoef=FT_REIM (siehe Informationen im benutzerdefineirten Feld) gilt.
Das Gittter für die Stör-/Gesamtströmung muss kleiner (ausgedünnt oder ausgeschnitten) oder gleich dem Gitter für die Grundströmung sein. Die Verknüpfung erfolgt zwischen Werten die den Gleichen (x,y) Korrdinaten gehören.
Konsistenzkontrollen wurden eingebaut. Bei ADD und SUM können z.B. nur die gleichen Grössen von Grund- und Störströmung und nur Grössen aus dem gleichen Referenzsystem (körperfesten System , Strömliniensystem) verknüpft werden. Es nicht möglich die Grunströmung auf die Gesamtströmung zu addieren und so weiter.
Das Outputfile hat die Dimensionen des Inputfiles für die Stör-/Gesamtströmung eventuell reduziert durch das Eingabefenster.
Bei den Optionen ADD, und SUB werden für die z- un t- Richtungen folgende Fälle unterschiden:
Bei den Optionen DIV_Y_CONST und DIV_Y_MAX werden alle Indizen der Richtungen t und z mit der Grundströmung verknüpft.
Das Eingabefenster wird berücksichtigt, bezogen auf die Dimensionen und Indizierung für die Stör-/Gesamtströmung. Alle Daten innerhalb des Eingabefensters werden auf die Ausgabedatei geschrieben. Die Verwaltung der Informationen im Kennsatz für die Datenstruktur ft wird unterstützt.
Vor der Installation des eas3 muss baselib, n3dlib und eas3iomod heruntergeladen und compiliert werden. Vor der Compilierung von eas3 muessen baselib, n3dlib und eas3iomod erfolgreich übersetzt worden sein (siehe dort).
Beim Compilieren mit make sind die Optionen im Makefile den eigenen Wünschen anzupassen. Per Voreinstellung wird eine Version für 32Bit SGI-Maschinen mit intern einfacher Genauigkeit (single precision bzw. IEEES) übersetzt.
Auf den HWW-Maschinen (SX/2/4/5, T3E, hwwfs1, hwwhpv) liegt in meinem $HOME (iagdanie) unter "EAS3/eas3/" das compilierte eas3-System und unter "EAS3/eas3iomod/" das IO-Modul. Die ausführbare Datei heißt eas3. Auf den IAG-Servern iagsg{20|30|50}und iagvis ist die Software unter "/usr/local/EAS3/eas3/" bzw. "/usr/local/EAS3/eas3iomod/" installiert. Auf den 64-Bit Servern iagsg{30|50}und iagvis ist EAS3 in einer Version compiliert, die intern 64Bit-Daten verwendet, also auch Dateien mit IEEED-Daten ohne Genauigkeitsverlust verarbeiten kann. Wenn auf den Servern der eigene Suchpfad auf das entsprechende Verzeichnis gesetzt wird, ist immer die aktuelle Version von EAS3 zugänglich.
Hier findet man die aktuelle Version zum Download. Man benötigt zum Compilieren auch die aktuelle Version von baselib und von n3dlib. Das Skript Mkmf erzeugt ein Makefile.
Bitte immer die passende Version des EAS3IOMOD verwenden (möglichst gleiches Datum), sonst gibts Probleme beim Complieren.
| Version | Datum | Kommentar |
| 1.0.0 | 02.08.1999 | erste freigegebene Version |
| 1.0.1 | 05.08.1999 | UMORDNEN gibt bei Beteiligung von DIM3 automatisch EAS3 aus; Interaktivbetrieb benutzerfreundlicher (bricht weniger häufig ab) |
| 1.1.0 | 24.08.1999 | VERKNUEPFEN verallgemeinert; KSSSCHREIB implementiert; TECPLTCRV Ausgabe implementiert |
| 1.1.1 | 27.08.1999 | Bugfixes für KOPIEREN (benutzerdefiniertes Realfeld
wird jetzt richtig kopiert); Bugfix für KSSCHREIB (benutzerdefinierte Felder werden richtig eingelesen bei Änderung der Werte) |
| 1.2.0 | 30.09.1999 | wesentlich kürzere Startphase des Programmes durch
veränderte Fehlerbehandlung; Kommandos ABLEITEN und INTERPOLIEREN implementiert; Bugfix in get_real (negative Real-Zahlen werden jetzt richtig umgewandelt); Tecplot-Ausgabe jetzt auf allen Plattformen direkt unterstützt |
| 1.3.0 | 18.10.1999 | MITTELUNG (Mittelwerte und Störgrößen aus
instationären Daten) implementiert; Tecplotwandlung unterstützt auch den Modus EAS3_ALL_G bei der Defaultbelegung der Koordinaten; Defaultwerte für ZEITINDEX und PARAMETER auf 1-* gesetzt; F2PZ (Rücktrafo in den physikalischen Raum in z-Richtung) implementiert; Bugfix für WERTEBEREICH; P2FT (Fourieranalyse über der Zeit) implementiert; komplette Kommentarzeilen und Leerzeilen werden jetzt mit ausgegeben; Speicherbedarf bei einigen Kommandos zusätzlich ausgegeben |
| 1.3.1 | 09.11.1999 | Speicherbedarf wird auch bei PAR2D_PAR3D und PAR3D_PAR2D
ausgeben; F2PT (inverse Fouriertrafo über der Zeit) implementiert; Korrektur der Kennsatzkopien bei den Fouriertransformationsprogrammen; PHASGLATT (glätten von Phasensprüngen) implementiert; MITTELUNG (Mittelwerte und Störgrößen aus instationären Daten) überarbeitet; FMITTELUNG (Mittelwerte aus fourieranalysierten Daten) implementiert; eas3iomod wird jetzt als Bibliothek eingebunden |
| 1.3.2 | 08.12.1999 | interne Verbesserungen (Schreibmodus EAS3_WRA verwendet,
TMP-File Verwaltung (jetzt 15 TMP-Files: TMP1..TMP15),
SYSTMP-Files für internen Gebrauch, Modulaufbau verbessert); Fehler bei Umrechnung von ZEITSCHRITT in ZEITINDEX beseitigt |
| 1.4.0 | 17.01.2000 | EAS3_INT_UDEF wird bei EAS2-Dateien nur noch gesetzt, wenn
nu(2)>0); Funktionen EXP, POW10, SQR, SQRT, CLIP implementiert; VERKNUEPFEN um die Operationen MUL, DIV erweitert; Portierung auf HP-V-Class 64Bit (f90 Optionen: +DA2.0W +i8 +r8); Bugfix in KSSCHREIB; alle durch AUSFUEHREN gestarteten Kommandos unterstützen jetzt SCHREIBFORMAT; INTEGRIEREN implementiert; CONVERT, ASCII2EAS implementiert (Umwandeln von ASCII-Daten ins EAS-Format) |
| 1.4.1 | 10.02.2000 | Warnung in VERKNUEPFEN bei Differenz von Dateien mit
verschiedenem Binärformat; Bugfix bei FMITTELUNG (Fehlerstring falsch); Bei FMITTELUNG und F2PZ muß zpts2per>=3 gelten (Abfrage eingebaut) |
| 1.4.2 | 25.02.2000 | TECPLOT-Befehl überarbeitet (x0 und dx sind jetzt optionale Argumente); |
| 1.4.3 | 30.03.2000 | REDUCE implementiert |
| 1.4.4 | 08.05.2000 | F2PZ um Option FUTRA erweitert (Rücktrafo von IMAX=2
Momentandaten); Bugfix in PHASGLATT (Rückgabestatus wird jetzt bei fehlerfreier Ausführung auf 0 gesetzt); Die Konstanten TECTITLELEN, TECZONENAMELEN, TECVARLEN auf 40 Zeichen erhöht, damit bei Tecplotwandlung sinnvollere Namen möglich sind; Befehle PHYS2FT, FT2PHYS, FTREAL2FTFTZHK, und FTREIM2MODPH implementiert. |
| 1.4.5 | 07.06.2000 | EAS3 benutzt die neuen I8R8-Kennsätze, d.h. alle
Einträge im Kennsatz sind jetzt 8-Byte Datentypen. Einige Befehle, welche die Datenstruktur ft unterstützen wurden erweitert/ neu implementiert. |
| 1.4.6 | 12.07.2000 | Befehle SCALERE, POSTPRO_DREHEFELD, POSTPRO_DREHE_S,
POSTPRO_LAMBDA2, POPSTPRO_VERKN_GRUNG implementiert. Befehele FTREAL2PHAS und WINDOW implementiert. Neues Format für Amplituden und Phase Realteil und Immaginarteil der Komplexenkoeffizienten (ftform=FT_REAL ftkoef=[MODMATH|MODPHYS|PHASE|REPART|IMPAR]). Änderung der Konventionen für die Wellenzahlen bei ftform=FT_REAL ftkoef =FT_REIM. Die G-Felder enhalten bei cos-Anteile positive Wellenzahlen (die eigentliche Wellenzahlen). bei sin-Anteile negative Wellenzahlen. Änderung in der Konventionen für die Wellenzahlen ftform=[FT_FTZH | FT_FTZK] und ftkoef = [FT_MODMATH | FT_MODPHYS ! | FT_PHASE]: Die Wellenzahlen innerhalb der Moleküle sind jetzt vorzeichenbehaftet. Dies erlaubt die Trennung von positiven und negativen Wellenzahlen des gleichen Moleküls. Die Konventionen für ftform= [FT_FTZH | FT_FZZK] mit ftkoef=FT_REIM bleibt ungeändert (nur positive Wellenzahlen, keine Trennung der Moleküle möglich).; Änderung des Moduls tecpltmod.f90 (Konvertierung nach Tecplot). Belegung der Variablen- (Modus TECPLTMV) und Zonennamen (Mod TECPLTMV und TECPLTSV) bei ftform= FT_FTZK, ftkoef = [FT_MODMATH | FT_MODPHYS | FT_PHASE] oder tform=FT_REAL ftkoef=[MODMATH|MODPHYS|PHASE|REPART|IMPAR] (wenn die Richtungen ZS und PAR in Fourier Raum vorliegen.) COVISE-Wandlung implementiert (Konvertierung EAS2/3 -> Covise für Visualisierung) |
| 1.4.7 | 10.08.2000 | readline Bibliothek zum Einlesen der Kommandozeile
benutzt s. 'man readline' Befehl FT_ADIM implementiert. Kennungen POSTPRO_ und PREPRO_ in den Namen von Befehlen, die die Datenstrukturn ft bearbeiten, nach FT_ geaendert. Dementsprechend wurden auch die Namen von Modulen und Variablen die mit solchen Befehlen zusammenhaengen geaendert. Module eas3ftmod und Bibliotek libeas3ftmod.a zum Einbinden von Typen und Routine fuer die Datenstruktur ft in nav3d und andere Programme implementiert. Formulierungen FT_FTZH und FT_FTZK und damit zusammenhaengende Befehle (FTREAL2FTFTZHK, und FTREIM2MODPH aus dem Modul eas3ftconvmod und aus der Dokumentation entfernt. |
| 1.4.8 | 12.03.2001 | Bugfixes und Detailverbesserungen bei MITTELUNG, ABLEITEN,
CONVERT, KSSCHREIB, FTREAL2MODPH; neue Kommandos: FT_CORRELATION, GEOM, ECHO Erweiterungen bei: ABLEITEN, TECPLOT, FTREAL2MODPH, INTEGRIEREN, FT_ADIM, SQR, SQRT (für Details bei den Änderungen s. eas3.f90, sonst muss ich mir hier die Finger wund schreiben (dm)) |
| 1.4.9 | 24.07.2001 | MITTELUNG kopiert jetzt auch die Geometrie- und
benutzerdefinierten Felder; INTEGRIEREN um B10, BEXP erweitert; Integrieren auf beliebigem Gitter; Normierung der Profile vor Integration der Grenzschichtparameter; wahlweise aufsteigende/abfallende Integrationsrichtung; INTPOL (Interpolation auf beliebigen Gittern) ersetzt INTERPOLIEREN und FT_INTPOL; Ausgabegitter kann wahlweise durch Beispieldatei vorgegeben werden; diverse Bugfixes u.a. auch in parsermod (get_real); KENNSATZ um Option x0xe erweitert |
| 1.5.0 | 26.10.2001 | Portierung auf IA32/IA64 Architekturen (crossi/azusa) und
interne Umstellung auf Nutzung von baselib; Dateinamen der TMP-Dateien enthalten jetzt die pid des aktuellen eas3-Prozesses, damit ist es möglich mehrere eas3-Prozesse parallel im selben Verzeichnis laufen zu lassen, ohne dass es dabei zu einem Namenskonflikt bei der Nutzung von TMP-Dateien kommt. Die Befehle INTPOL, INTEGRIEREN und ABLEITEN unterstützen beliebige Gitter; neue Befehle: FT_SCALERE (alt: SCALERE), FT_SCALEGEO (Modifikation von Geometrieinfo), NFILES (neue Dateiliste); erweiterte Optionen bei: VERKNUEPFEN (LIN_COMB), TECPLOT (TECPLTCRV_USE_OFFSET), F2PZ (GAMMA); diverse Bugfixes; |