- EAS3
-
EAS3 Entwickler Inst. f. Aero- & Gasdynamik (Uni-Stuttgart) und andere Aktuelle Version 1.6.7
(14. April 2009)Betriebssystem alle POSIX-Systeme Kategorie Anwendungsprogramm, Datenformat Lizenz MIT-Lizenz Deutschsprachig ja www.iag.uni-stuttgart.de/eas3 EAS3 (Ein-Ausgabe-System 3) ist ein Software-Toolkit zum binären Lesen und Schreiben von strukturierten Daten inklusive Geometrieinformationen sowie zur Auswertung der gespeicherten Daten. Es dient dazu binäre Gleitkommadaten im IEEE-Format zwischen verschiedenen Rechnern auszutauschen, diese Daten gegebenenfalls zu bearbeiten oder in andere Formate umzuwandeln. Es ist generell für die Speicherung strukturierter Datensätze geeignet und wird insbesondere bei der Direkten Numerischen Simulation (DNS) verwendet.
Inhaltsverzeichnis
Programmpaket
Das Programmpaket besteht aus Bibliotheken zur Verwendung in eigenen Programmen sowie aus einem eigenständigen Kommandozeilenprogramm und läuft auf allen POSIX-Systemen. Es ist in Fortran und C geschrieben. Die Bibliotheken enthalten verschiedenen numerische Algorithmen sowie Routinen zum Lesen und Schreiben im binären EAS3 Format. Die Schreib-Lese-Routinen werden als Fortran- und C-Routinen bereitgestellt. Als numerische Methoden sind unter Anderem die Schnelle Fourier-Transformation (FFT), der Thomas-Algorithmus zur Lösung tridiagonaler Gleichungssysteme oder Interpolationsroutinen implementiert. Die Bibliotheken sind auch zur Verwendung auf Vektorrechnern geeignet.
Geschichte
EAS3 wurde am Institut für Aerodynamik und Gasdynamik (IAG) der Universität Stuttgart entwickelt. Die Vorgängerversionen (EAS und EAS2) gehen auf das Ende der 1980er zurück, als die Rechnerkapazitäten erste große räumliche nichtlineare Direkte Numerische Simulationen ermöglichten.[1] Mit den aufkommenden Datenmengen stellte sich das Problem einer effektiven Handhabung und Auswertung. Seit der Veröffentlichung von EAS3 im Jahre 1999 wird das Paket von Mitarbeitern der beteiligten Institute kontinuierlich weiterentwickelt.
Die aktuelle Versionsnummer des Softwarepakets ist 1.6.7 vom April 2009. Die Ziffer 3 im Namen des Programmpakets bezieht sich nicht auf die Versionsnummer, sondern auf den Schritt zur Speicherung von dreidimensionalen Datenfeldern (plus Parameter und Zeitschritt) im Gegensatz zum Vorgänger EAS2, bei dem einzelne spannweitige Moden noch in separaten Dateien gespeichert werden mussten.
Dateiformat
EAS3 (Ein-Ausgabesystem 3) Dateiendung: .eas
Magische Zahl: EAS3_I8R8
Entwickelt von: Universität Stuttgart Art: Binärformat für Gleitkommazahlen Aufgabe des EAS3-Dateiformats ist es, Gleitkommazahlen binär im IEEE-Format zu speichern und zwischen verschiedenen Rechnerarchitekturen (little/big-endian) auszutauschen. Die Daten sind hierbei als Parameter organisiert. Ein Parameter ist ein strukturiertes ein-, zwei- oder dreidimensionales Datenfeld von Gleitkommadaten. Mehrere dieser Parameter können wiederum zu einem Zeitschritt zusammengefasst werden. Somit ist es möglich, fünfdimensionale Datenfelder zu speichern. Die Geometrieinformationen zu den jeweiligen Richtungen stehen im Kennsatz der Datei. Der Kennsatz kann auch zusätzliche Informationen in benutzerdefinierten Feldern enthalten. Die Daten können wahlweise in single-precision (32 Bit), double-precision (64 Bit) oder quadruple-precision (128 Bit) geschrieben werden. Die Dateigröße ist nur beschränkt durch das Dateisystem, die Rechnerarchitektur und dadurch, dass sich die Feldgrößen als 64 Bit Integer darstellen lassen müssen.
Funktionalität
Das eigentliche EAS3-Programm besitzt ein Kommandozeilenschnittstelle, mit der EAS3-Dateien bearbeitet oder umgewandelt werden können. Die unterstützten Befehle reichen von grundlegenden Operationen wie Grundrechenarten über Dateioperationen bis hin zu komplexen Operationen wie Ableiten, Fourier-Transformationen oder Interpolation. Spezifische Befehle für Strömungsdaten sind ebenfalls implementiert, so etwa die Berechnung des lambda2-Wirbelkriteriums. Die Ausgabe in andere Datenformate wird unterstützt. Da die Befehle von der Standardeingabe gelesen werden, eignet sich EAS3 auch zur Verwendung in Skripten, um Abläufe zu automatisieren.
Übersicht über die wichtigsten Funktionen:
- Dateiverwaltung: Umordnen, Aneinanderhängen, Ausschneiden
- Konvertierung in andere Datenformate (ASCII, Covise, Tecplot)
- Mathematische Operationen: Grundrechenarten, Logarithmus, etc.
- Ableiten und Integrieren
- Interpolieren
- Datenreduktion: Mittelung, RMS-Werte, etc.
- Fouriertransformationen: einfach/doppelt, reell/komplex
- DNS-Spezifisches: Wirbelkriterium, Koordinatendrehung
Installation
Die Quellen können direkt aus dem CVS-Repository oder man als gezippte tar-Datei bezogen werden. Für verschiedene Rechnerarchtiketuren liegen Makefiles bei. Dies beinhaltet auch die Möglichkeit des Cross-Compilieren, wie es z.B. für Supercomputer mit Frontend-Maschine üblich ist. Da es beim Linken von mit unterschiedlichen Fortran-Compilern erstellten Object-Files zu Problemen kommen kann, wurde bislang darauf verzichtet, ein fertiges Binärpaket (RPM, .deb) anzubieten.
Vor- und Nachteile
Vorteile
Für den Programmierer besteht der Hauptvorteil in einer einfachen Implementiereung von Lese-Schreibzugriffen auf große binäre Datensätze. So wird durch die Bibliothek sichergestellt, dass die Daten stets im Big-Endian-Format geschrieben werden. Die sich daraus ergebende Plattformunabhängigkeit der Dateien ermöglicht ein problemloses Austauschen zwischen unterschiedlichen Rechnerarchitekturen. Dies ist insbesondere bei der Verwendung von Supercomputern von Bedeutung. Für den Anwender ist es vorteilhaft, dass verschiedene Methoden zur Datenauswertung bereitgestellt werden, die mittels Skripten auch automatisiert abgearbeitet werden können.
Nachteile
Ein Nachteil ist für manche Anwender die Spezialisierung auf strukturierte Gitter. Bisher sind nur kartesische Gitter oder eine Darstellung im Spektralraum implementiert. Datensätze, die beispielsweise in Zylinderkoordinaten gegeben sind, können zwar abgespeichert werden, man kann jedoch die vorhandenen Auswerteroutinen nicht oder nur eingeschränkt darauf anwenden. Da die üblicherweise verwendeten Visualisierungsprogramme das EAS3-Format nicht direkt unterstützen, ist es in der Regel nötig, die Datensätze in das Dateiformat des jeweiligen Programms umzuwandeln. Das EAS3-Programm gibt es nur textbasiert, ein grafisches Benutzerinterface existiert nicht. Die automatische Vervollständigung in der EAS3-Konsole stellt zwar eine Erleichterung beim interaktiven Arbeiten dar, jedoch ist man für eine ausführliche Hilfe auf die Website angewiesen.
Lizenz
Das komplette EAS3-Paket steht unter der MIT-Lizenz und ist somit frei verfügbar. Aufgrund der weniger strikten Lizenzbedingungen verglichen mit der GNU General Public License verpflichtet die Verwendung der bereitgestellten Routinen nicht zum Veröffentlichen des eigenen Quellcodes.
Verwendung
EAS3 wird unter Anderem von folgenden Einrichtungen verwendet:
- Transitionsgruppe am Institut für Aerodynamik und Gasdynamik (IAG) der Universität Stuttgart
- Computational Fluid Dynamics Laboratory an der University of Arizona
- Institute of Fluid Dynamics, Eidgenössische Technische Hochschule Zürich
- Lehrstuhl für Aerodynamik an der TU München (Gruppe Hochgeschwindigkeitsaerodynamik)
Verwandte Datenformate
Andere Datenformate zum Speichern von binären Datensätzen sind:
- CFD General Notation System (CGNS)
- Common Data Format (CDF) der NASA
- Covise-Datenformat
- NetCDF, basiert auf (CDF)
- Tecplot-Binärdaten
Einzelnachweise
- ↑ H. Fasel, U. Rist, U. Konzelmann: Numerical investigation of the three-dimensional development in boundary layer transition, AIAA Journal, Vol. 28, S. 29-37, 1990
Weblinks
Commons: EAS3 – Sammlung von Bildern, Videos und Audiodateien
Wikimedia Foundation.