What is Pasimodo?
Pasimodo is a program package for particle-based simulation methods. The main field of application is the simulation of granular media, such as sand, gravel, granulates in chemical engineering and others. Moreover it can be used for the simulation of many other Lagrangian methods, e.g. fluid simulation with Smoothed-Particle-Hydrodynamics.
How can Pasimodo be obtained?
Pasimodo is developed in cooperation between ITM and the spin-off company Inpartik. Inpartik is responsible for the commercial marketing and support of the software. In addition, Pasimodo is used in a large number of doctoral projects and in the context of industrial cooperations of the ITM. Although Pasimodo is not an open-source project, the ITM provides the software free of charge in the context of selected non-commercial research projects.
What are Pasimodo's skills?
Pasimodo can do almost anything, except cook. What it hasn't mastered yet, it can be taught, provided the user has some knowledge of C++. The main focus of Pasimodo is the dynamic simulation of granular matter; an additional feature that will enable Pasimodo to be used in conjunction with a fluid simulation is just in the works. Due to the modular structure of the program it is possible to incorporate plug-ins that have been created by the user to accommodate his or her own needs. Particle-interactions that feature a history, as well as the possibility to add and remove particles during the simulation are only some features of special interest. Due to these and many other features Pasimodo is especially suitable for research applications.
The following gives an overview about some of Pasimodo's ample features:
- XML-based input and output data interface
- parallel simulation with MPI
- designed/optimized for:
- application on heterogenous university-clusters
- many concurrent processes
- dynamically changing processor loads
- dynamic controler-based load-balancing
- good scaling behavior
- designed/optimized for:
- various integrators available:
- explicit schemes
- implicit schemes with time step controling
- various particle-/object-types:
- surface triangles
- polyhedral bodies (work in progress)
- macro objects
- block (regular setup of arbitrary object types)
- image (using bitmaps for object setup)
- mesh (simplifies reading triangle surface-meshes)
- various interactions/potentials:
- normal forces
- Coulomb friction
- slip friction with tanh-approach
- efficient cache-optimized nearest-neighbor search
- graphical user interface
- color coding of object states
- easy generation of images or video
- allows for arbitrary camera flights
- allows for choosing specific objects via mouse in order to analyze their state data
- based on Gtk++ (gtkmm) and VTK
- virtual-reality interface
- all program components fully serializable
- freeze the simulator state with all its components
- suspend/resume simulation processes
- migration of simulation processes between processors
- data transfer between processors of the parallel program
- equation-based state input for objects/particles, coordinate systems...
- object-oriented implementation in C++ using expression templates
- runs under Linux and Windows/cygwin
- simulation in 3D (2D)
- quaternion-based description of rotations
- allows for the addition/removal of objects (particles) during the simulation
- plug-in interface to incorporate new objects/particles, integrators and interactions (potentials)
- program-integrated documentation, thus always up to date
Why isn't Pasimodo available for download?
Due to a lack of time we are not able to offer support for Pasimodo. But as support is indispensable for a rapidly growing program package such as Pasimodo, which is constantly being developed further, we have decided not to offer Pasimodo for download for the moment. We are, however, always interested in an application of Pasimodo within the framework of cooperations and projects.
- TRW Automotive
- Robert Bosch GmbH Packaging Technology
- German Aerospace Center (DLR), Stuttgart
- Fraunhofer Institut für Techno- und Wirtschaftsmathematik (ITWM), Kaiserslautern
- Institute of Pharmaceutic Process Engineering, Graz University of Technology
- Laboratory of Hydraulics, Hydrology and Glaciology, ETH Zürich
- Institute of Agricultural Engineering, Process Engineering in Plant Production, University of Hohenheim
- Institute for Computational Design, University of Stuttgart