Bild vom Institut
home uni uni suche suche sitemap sitemap kontakt kontakt
unilogo Universität Stuttgart
Institut für Technische und Numerische Mechanik

Partikelsimulationspaket PASIMODO

englishicon
hoch Forschung
 







Pasimodo Video Galerie
Pasimodo Video Galerie

Was ist PASIMODO?

PASIMODO ist ein Programmpaket zur partikelbasierten Simulation. Hauptanwendungsgebiet ist die Simulation granularer Medien wie Sand, Schotter, Granulate der chemischen Industrie, etc. Darüber hinaus kann es zur Simulation beliebiger anderer Lagrange-basierter Methoden wie z.B. Fluid-Simulation mit Smoothed-Particle-Hydrodynamics verwendet werden.

Wofür steht PASIMODO?

Am Anfang war PASIMODO bucklig und eigenwillig wie sein berühmter Namensvetter aus Paris. Obwohl sich das in der Zwischenzeit geändert hat, bleibt der Name, der ursprünglich für "PAckage for the SImulation of MOlecular Dynamics in an Object oriented fashion" stand. Da jedoch das mögliche Anwendungsgebiet in der Zwischenzeit in die Breite gewachsen ist, ergibt eine Namensinterpretation mit "PArticle SImulation and MOlecular Dynamics in an Object oriented fashion" inzwischen wohl mehr Sinn.

Was kann PASIMODO?

Fast alles außer kochen . Was PASIMODO noch nicht kann, lässt es sich - etwas Programmiererfahrung in C++ vorausgesetzt - gerne beibringen. Der Hauptanwendungsschwerpunkt liegt in der dynamischen Simulation granularer Medien, wobei gerade an einer Koppelung mit einer Fluidsimulation gearbeitet wird. Durch den modularen Programmaufbau ist eine Erweiterung durch selbst entwickelte, der Anwendung angepasste Plug-ins möglich. Besonders interessant dürften u.a. die Verwendung von Partikel-Interaktionen mit "Gedächtnis" oder die Möglichkeit zum Entfernen und Erzeugen von Partikeln während der Simulationslaufzeit sein. Damit ist PASIMODO besonders für den Einsatz zu Forschungszwecken geeignet.

Hier ein Überblick über weitere Talente von PASIMODO:
  • XML-basierte Ein- und Ausgabedatenschnittstelle
  • parallele Simulation mit MPI
  • ausgelegt auf/optimiert für:
  • Anwendung auf heterogenen Universitäts-Clustern
  • konkurrierende Anwendungen
  • dynamisch wechselnde Prozessorlasten
  • dynamische reglerbasierte Lastbalancierung
  • gutes Skalierungsverhalten
  • verschiedene Integratoren wählbar:
  • explizit
  • implizit, schrittweitengesteuert
  • verschiedene Partikel-/Objekttypen:
  • Kugeln
  • Oberflächendreiecke
  • polyedrische Körper (in Arbeit)
  • Makroobjekte
  • block (reguläre Anordung beliebiger Objekttypen)
  • image (Einlesen von Bitmaps zur Objektanordnung)
  • mesh (erlaubt Einlesen beliebiger Dreiecksoberflächennetze)
  • verschiedene Interaktionen/Potentiale:
  • Normalkräfte
  • Coulombreibung
  • Gleitreibung mit tanh-Ansatz
  • effiziente cache-optimierte Nachbarschaftssuche
  • graphische Benutzeroberfläche
  • postprocessing
  • Farbcodierung von Objektzuständen
  • einfache, bequeme Bild- und Videoerzeugung
  • beliebige Kameraflüge möglich
  • unterstützt das mausgesteuerte Anwählen von Körpern zur Analyse ihrer Zustandsdaten
  • basierend auf Gtk++ (gtkmm) und VTK
  • threadbasiert
  • Virtual-Reality-Interface
  • sämtliche Komponenten sind serialisierbar
  • einfrieren/speichern des Simulatorzustands
  • temporäre Unterbrechung von Prozessen
  • Migration von laufenden Prozessen zwischen Prozessoren
  • Datentransfer zwischen Prozessoren des parallelen Programms
  • gleichungsbasierte Zustandsvorgabe von Körpern, Koordinatensystemen, etc.
  • objektorientierte Implementierung in C++ unter Verwendung von expression templates
  • läuft unter LINUX und Windows mit cygwin
  • Simulation in 3D (2D)
  • quaternionenbasierte Drehbeschreibung
  • Hinzufügen und Entfernen von Objekten (Partikeln) während der Simulation möglich
  • Plug-in-Schnittstelle zur Erweiterung des Simulators um beliebige Objekte (Partikel), Integratoren und Interaktionen (Potentiale)
  • Dokumentation ins Programm integriert und damit stets aktuell
  • Warum gibt's PASIMODO nicht zum Runterladen?

    Leider kann aus Zeitgründen für PASIMODO kein Support angeboten werden. Da dieser jedoch zur Anwendung eines Programmpakets wie PASIMODO, an dem ständig Weiterentwicklungen vorgenommen werden, erforderlich wäre, haben wir uns entschlossen, bis auf weiteres keinen Download von PASIMODO anzubieten. Allerdings setzen wir PASIMODO gerne im Rahmen von Kooperationen und Projekten ein.

    Projekte mit PASIMODO

  • Entwicklung eines Simulationstools für die Prognose und Beeinflussung der dynamischen Wechselwirkungsprozesse beim Zerspanen, DFG SPP 1180, Timo Gaugele, Institut für Technische und Numerische Mechanik, Universität Stuttgart

  • Simulation von Siebvorgängen, Diplomarbeit, Christian Ergenzinger, Institut für Technische und Numerische Mechanik, Universität Stuttgart

  • Dynamische Simulation schwappender Fluide in Tanklastfahrzeugen, Diplomarbeit, Vincenzo D'Alessandro, Politecnico di Milano

  • Partikel-Mischungs-Vorgänge mir freifließenden und kohäsiven Pulvern, Diplomarbeit, Eva Kalvoda, Pharmazeutische Verfahrenstechnik, Institut für ressourcenschonende und nachhaltige Systeme, Technische Universität Graz

  • Implementierung eines Smoothed Particle Hydrodynamics Moduls in Pasimodo, Diplomarbeit, Alexandra Lehnart, Institut für Technische und Numerische Mechanik, Universität Stuttgart

  • Untersuchung granularer Vorgänge unter Berücksichtigung von Teilchenbrüchen, SFB 716, TP B.4, Christian Ergenzinger, Institut für Technische und Numerische Mechanik, Universität Stuttgart
  • Software-Projekte ohne die PASIMODO undenkbar wäre (alphabetische Reihenfolge)

  • Blitz++
  • Boost
  • GTK+
  • CImg
  • muParser
  • TCLAP
  • VTK
  • Xerces-C++
  • ...
  • Ansprechpartner