pdelib About

authors · contact · search

What is pdelib2?

pdelib2 is a collection of software components which are useful to create simulators based on solving partial differential equations. The design is aimed at modularity, portability, ability to integrate with other code, and straigthforward parallelization on shared memory architectures.

Main Features

Contents   General implementation Notes · Import and Export Filters · Pre- and Post-Processing · Online Visualization · Numerical modules · Performance · Software Dependencies · System Information 

General implementation Notes

Array based design of the main data structures allows interoperability with  a large number of legacy packages and leaves freedom for the choice of the programming language. pdelib2 uses computational kernels written in FORTRAN. Main data structures are implemented in C++. Scripting is available in Lua.

Import and Export Filters

Build-in data file formats
Build-in geometry and grid file formats
Support of additional grid file formats

Pre- and Post-Processing

These stand-alone software components offers users the ability to analyse data offline. The offline implementation of the following programs based on online viewers.

gview gview Viewer for geometry and grid files (1D, 2D and 3D)
semiview semiview Viewer for numerical solutions of large problems which generates huge data files (> 2GB). semiview is a special implementation to show simulation results concerning Semiconductor Photon Detectors
player player Show a time depended solution of file format .tsol. Generic and custom interpretation are possible.

Online Visualization

During calculations direct view of real data without interpolation and copy is supported. This approach is fast and helps degugging. From all pdelib viewers a dump into following formats are possible
gView gView Online viewer for grid data (1D, 2D and 3D)
aView aView Online viewer for scalarfields (1D, 2D and 3D)
vfView vfView Online viewer for vectorfields (2D and 3D)

Further features are

Numerical modules

Performance

Assemble and apply of linear and nonlinear operators profit by
Behind external OpenMP profiling tools like Assure, Intel Thread Checker, DDT we implemented an own built-in tool. Compare between sequential, parallel runs, compilers and systems are possible.

Thread Viewer Thread Viewer Analyse performance of parallel and sequential code parts

Software Dependencies

To provide the described features the pdelib2 requires several software packages. The following packages are supported

Package using for
ARPACK Solves large scale eigenvalue problems
FLTK GUI functionality and 3D graphics via OpenGL
SWIG Connects C++ with scripting language Lua
Lua Scripting language
METIS Grid partitioning
TetGen 3D Grid generation
TetView 3D grid visualization
Triangle 2D grid generation
gnuplot XY-data visualization

System Information

This section contains information regarding system requirements and supported computer platforms for pdelib2. Basically, all codes are written in C++. There are highly efficient numerical kernels (vector routines, sparse matrix codes) which are written in Fortran77. In their actual state, the codes are portable on a wide range of UNIX systems, provided, the X11 and the OpenGL-Libraries are available.

2010/02/12    T. Streckenbach