pdelib Über

Autoren · Kontakt · Suche

Was ist pdelib2?

pdelib2 ist eine Sammlung von Software Bausteinen, welche zur Erstellung von Simulatoren basierend auf Modelle numerischer Lösung entwickelt wurden. Ziele des Designs sind Modularität, Portabilität, Integrierbarkeit und Parallelisierung auf Shared Memory Architekturen.

Hauptmerkmale

Inhalt   Zur Implementierung · Import und Export Filter · Pre- und Post-Processing · Online Visualisierung · Numerische Module · Leistung · Software Abhängigkeiten · System Information 

Zur Implementierung

Das array basierte Design der Hauptstrukturen erlaubt eine Interoperabilität mit einer Vielzahl von existierenden Paketen und erlaubt eine freie Wahl der Programmiersprache. pdelib2 nutzt in FORTRAN geschriebene Kerne. Die zentralen Datenstrukturen sind in C++ implementiert. Skripte sind über eine Lua Anbindung verfügbar.

Import und Export Filter

Eigene Daten Dateiformate
Eigene Geometrie und Gitter Dateiformate
Unterstützung weiterer Gitter Dateiformate

Pre- und Post-Processing

Diese eigenständigen Softwarekomponenten ermöglichen eine offline Datenauswertung. Die offline Implementierung der folgenden Programme basiert auf den online Komponenten.

gview gview Betrachter für Geometrie und Gitter Dateien (1D, 2D und 3D)
semiview semiview Betrachter für numerische Lösungen von Problemen, welche große Dateien erzeugen (> 2GB). semiview ist eine spezielle Implementierung für die Darstellung von Ergebnissen aus 'Semiconductor Photon Detectors' Simulationen.
player player Zeigt eine gespeicherte zeitabhängige Lösung geladen aus dem .tsol Dateiformat. Generische und nutzerspezifische Interpretationen sind möglich.

Online Visualisierung

Wärend einer Simulation wird eine direkte Betrachtung der Daten ohne Kopie und Interpolation unterstützt. Von allen pdelib Betrachtern ist eine Speicherung in folgende Formate möglich
gView gView Online Betrachter für Gitterdaten (1D, 2D und 3D)
aView aView Online Betrachter für skalare Felder (1D, 2D und 3D)
vfView vfView Online Betrachter für Vectorfelder (2D und 3D)

Weitere Eigenschaften sind

Numerische Module

Leistung

Assemblierung und Anwendung von linearen und nichtlinearen Operatoren nutzen
Neben den bekannten OpenMP profiling Werkzeugen wie z.B. Assure, Intel Thread Checker, DDT nutzen wir ein eigenes built-in Werkzeug. Ein Vergleich zwischen sequentiellen, parallelen Läufen, Compiler und Systemen ist möglich.

Thread Viewer Thread Viewer Leistungsanalyse von parallelen and sequentiellen Programmteilen

Software Abhängigkeiten

Für die beschriebene Funktionalität nutzt die pdelib2 mehrere externe Softwarepakete. Die folgenden Pakete werden unterstützt

Paket genutz für
ARPACK Löst large scale Eigenwertprobleme
FLTK GUI Funktionalität und 3D Graphik via OpenGL
SWIG Verbindet C++ mit der Skriptsprache Lua
Lua Skriptsprache
METIS Gitterpartitionierung
TetGen 3D Gittergenerierung
TetView 3D Gittervisualisierung
Triangle 2D Gittergenerierung
gnuplot XY-Datenvisualisierung

System Information

Dieser Abschnitt beinhaltet Informationen bezüglich Systemvoraussetzungen und unterstützte Plattformen für pdelib2. Im wesentlichen sind alle Programmteile in C++ geschrieben. Die effizienten numerischen Kerne (Vektor-Routinen, dünnbestzte Matrix Programmcode) dagegen in Fortran77. Aktuell ist die Software portierbar auf eine große Zahl von UNIX Systemen, auf welchen X11 und OpenGL Unterstützung verhanden ist.

2010/02/12    T. Streckenbach