@InProceedings{schenk-bader-berti-97, author = {Klaus Schenk and Georg Bader and Guntram Berti}, title = {Analysis and Approximation of Multicomponent Gas Mixtures}, booktitle = {Proceedings of the 3rd Summer Conference Numerical Modelling in Continuum Mechanics}, OPTpages = {}, year = {1997}, editor = {M. Feistauer and K. Kozel and R. Rannacher}, address = {Prague}, url = {http://www.math.tu-cottbus.de/NMWR/papers/prag.ps.gz}, } @InProceedings{bader-berti-98, author = {Georg Bader and Guntram Berti}, title = {Design Principles of Reusable Software Components for the Numerical Solution of {PDE} Problems}, booktitle = {Concepts of Numerical Software}, OPTpages = {}, year = {To appear}, editor = {Wolfgang Hackbusch and Gabriel Wittum}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, address = {Braunschweig}, OPTmonth = {}, OPTorganization ={GAMM}, publisher = {Vieweg Verlag}, url = {http://www.math.tu-cottbus.de/NMWR/papers/design-principles.ps.gz}, note = {Proceedings of the 14th GAMM Seminar, Kiel 1998}, } @PhdThesis{Berti:GSCSC:2000, author = {Guntram Berti}, title = {Generic software components for {S}cientific {C}omputing}, school = {Faculty of mathematics, computer science, and natural science, BTU Cottbus, Germany}, year = {2000}, url = {http://www.math.tu-cottbus.de/~berti/diss}, publisher = {dissertation.de}, ISBN = {3-89825-169-1}, keywords = {reusable software, generic programming, geometric data structures, unstructured meshes, cellular complexes, numerical solution of partial differential equations, parallel solution of partial differential equations, data parallel programming, distributed data structures }, abstract = {This thesis makes contributions in two main areas: First, it introduces a strategy for decoupling algorithms for geometric data structures (meshes). Second, it presents general concepts for the parallelization of solver for partial differential equations, as well as their implementation using the approach in the first part. \par The first part deals with the development of reusable software components related to mesh data structures, to be used for scientific computing applications. Software in this field is dominated by algorithms and their complex interaction with geometric data structures like grids or meshes, which are used for instance in the numerical solution of partial differential equations. Similar data structures are also employed in computer graphics, geometric modeling or computational geometry. In these domains, implementations of algorithms are typically closely coupled to concrete data representations and cannot be reused in other contexts. In view of increasing complexity of algorithms and the multitude of data structures in use, this is a real problem. \par This work presents a solution based on the paradigm of generic programming, which recently has got increased popularity by the publication of the C++ Standard Template Library (STL). Whereas the STL concentrates on an abstract view of linear sequences, we generalize the approach to grids, that is, mathematical cellular complexes. To achieve an abstract view of grid data structures, we develop a minimal kernel of primitive operations. \par Based on this kernel, a large number of components (algorithms as well as data structures) can be implemented independently of the underlying concrete grid representation. Thus, these components are reusable for arbitrary grid data structures. Measurements show that efficiency does not deteriorate essentially and is in some cases even identical to that of a direct low-level implementation. \par \bigskip A particular challenge for scientific computing software is the implementation of parallel solvers for PDEs. This thesis presents a general concept for the parallelization of numerical grid-based algorithms. We identify the abstract core of local data dependencies (stencils) and give a simple algebraic description for them. Furthermore, algorithms are presented which calculate the necessary overlap for distributed grids, given a grid partitioning and a stencil description. \par This generality is preserved in the software layer by exploiting the generic techniques described above. Using the generic distributed grid components, an arbitrary sequential grid data structure can be extended to representations of distributed grids without any changes to the data layout. Existing algorithm implementations can be reused in a parallel context with only minor, localized changes. The necessary overlap generation and consistency maintenance is performed in a transparent way by the generic components. \par Finally, complete applications are shown (for solving Euler equations, Navier-Stokes equations as well as elliptic equations) which are realized or parallelized using our concepts. Special attention is paid to the reuse of generic data components and algorithms. A case study showing the a-posteriori parallelization of a Navier-Stokes solver clearly demonstrates the incremental usability as one of the key advantages of our approach. }, } @TechReport{nmwr:SUPEA:99, author = {Georg Bader and Guntram Berti and Klaus-J{\"u}rgen Kreul}, title = {Unstrukturierte parallele {S}tr{\"o}mungsl{\"o}ser auf hybriden {G}ittern}, institution = {Technical University of Cottbus}, year = {1999}, type = {Final report on the {SUPEA} project}, } @TechReport{berti:EC:98, author = {Guntram Berti}, title = {External control --- A pattern for mapping hierarchical structures to external control mechanisms}, institution = {Institut f\"ur Mathematik, Technische Universit\"at Cottbus}, year = {1998}, month = oct, url = "http://www.math.tu-cottbus.de/NMWR/papers/", } @InProceedings{berti:FVCAII:99, author = {Guntram Berti}, title = {Concepts for parallel numerical Solution of {PDEs}}, booktitle = {Finite Volumes for Complex Applications II}, keywords = {parallel scientific computing, distributed grid data structures, unstructured grids, domain decomposition paradigm}, pages = {655--662}, year = {1999}, editor = {Roland Vilsmeier and Fayssal Benkhaldoun and Dieter H{\"a}nel}, month = jul, publisher = {Herm{\`e}s Science Publications, Paris}, ISBN = {2-7462-0057-0}, note = {Proceedings of {FVCAII}, July 19--22, 1999, Duisburg, Germany}, url = {http://www.math.tu-cottbus.de/NMWR/papers/duisburg99.ps.gz}, abstract = {The parallelization of numerical codes on unstructured grids still is a demanding programming task, which is often performed in an application-specific manner. However, many of the algorithms used in this field exhibit strong structural similarities. A concept exploiting the latter is developed in this paper. Furthermore, it will be shown how the abstract concepts can be implemented in a reusable generic way, thus easing the actual work to be done for building parallel PDE software.}, } @InProceedings {Berti:GCGDSA:2000, AUTHOR = "Guntram Berti", TITLE = "Generic Components for Grid Data Structures and Algorithms with {C++}", BOOKTITLE = "First Workshop on {C++} Template Programming, Erfurt, Germany", MONTH = "October 10", YEAR = "2000", URL = "http://oonumerics.org/tmpw00/", ABSTRACT = "Grids are fundamental data structures for representing geometric structures or their subdivisions. We propose a strategy for decoupling algorithms working on grids from the details of grid representations, using a generic programming approach in C++. Functionality of grid data structures is captured by a small set of primitives, divided into combinatorial and geometric ones. Special attention is paid to the generic implementation of grid functions, which correspond to the notion of mappings from grid elements (e. g. vertices) to entities of a given type. Experiments indicate that the overhead of the generic formulation is low and can be completely eliminated in some cases.", }