SimTech's Software Concept
Simulation research results in software products, ranging from small stand-alone programs to specialised libraries and complex software environments. Due to the large variety of software solutions and different levels of software-development experience across our numerous projects, a single mandatory policy for developing software would neither be realistic nor productive. Nevertheless, from the lessons learned during the first funding period, we have now established a three-level architecture to classify and organise future development activities:
(1) Software Tools for Demonstrators and Education: A prominent example for the first level is our virtual programming lab , a web-based platform for programming, compiling and running simulation software for students. Educators can set up exercises that can be accessed by students from any computer through a browser with a Java plug-in. Thus, students can concentrate on solving the task as ViPLab offers an easy-to-use web interface without the need of time-consuming software installations. Besides text output, ViPLab also provides tools for visualising results. ViPLab is used by more than 500 students per semester and supports other codes such as Matlab scripts.
(2) Modular Infrastructure for Coupling existing Simulation Packages: DUNE, the Distributed and Unified Numerics Environment is a modular toolbox for solving partial differential equations with grid-based methods. It is used and extended by several SimTech projects and serves as a modular second-level infrastructure. It supports the easy implementation of methods like Finite Elements, Finite Volumes and Finite Differences. An example for its central role in PN 5 is DuMuX which extends DUNE for flow and transport processes in porous media, and DUNE-VIS, which gives visualisation access to DUNE’s hierarchical grid structures. The workflow infrastructure developed in PN 8 was used to successfully couple DUNE with the in-house code PANDAS.
(3) Open-Source SimTech Solver Platform: We are aware that most of our simulation software tools and prototypes from the first funding period will not scale to good performance on hybrid many-core HPC architectures as they are foreseen in the exascale initiative. Therefore, we intend to design and to implement a new SimTech Solver (STS) environment during the second funding period, which will combine the workflow and data provisioning tools from RA E with advanced highly parallel numerical algorithms. We will base the STS on numerical libraries, e. g., for linear algebra operations becoming available from the “International Exascale Software Project”. After intensive discussions with some of our industrial partners, we have decided to realise STS as an open-source platform. This platform will successively integrate our current tools and solvers, allowing for a steady migration to the new architectures of a scalable simulation environment, while maintaining the current modelling and simulation capabilities.