SC²S Colloquium - November 22, 2012

From Sccswiki
Jump to navigation Jump to search
Date: November 22, 2012
Room: 02.07.023
Time: 3 pm, s.t.

Diana-Mihaela Gudu: Parallel tsunami simulations with block-structured adaptive mesh refinement

Abstract: Due to the catastrophic effects of tsunamis, tsunami simulations are desired to increase the understanding of the phenomena, as well as to serve as mitigation and early warning systems for the affected areas. Even with the advent of supercomputers, the latter one is far out of reach due to the contradicting need for accuracy and speed. A common solution to this problem are adaptively refined grids, which use a fine discretisation in the regions of interest where a higher accuracy is needed, such as the shoreline or around the tsunami wave, and a coarser resolution in the rest of the domain. Therefore, adaptively refined grids offer a compromise between accuracy and time and memory efficiency. However, they raise a number of algorithmic challenges.

The group at the Scientific Computing Chair in TUM is working on the SWE package, a code that implements the governing equations of tsunami simulations, the shallow water equations, with several par- allelisation strategies. This project augments the SWE package with a block-structured adaptive mesh refinement. The ”block-structured” term means that the adaptive refinement is done at block level, to avoid the possible overhead that cell-level refinement involves. For this, coarsening and refining strategies were implemented, as well as two time-integration schemes, namely global time-stepping and local time-stepping. Different interpolation schemes, which use time or space interpolation for the ghost layer exchange, are also available.

Analytical benchmarks were employed for validation and accuracy analysis, and the tests showed that adaptive mesh refinement improves the accuracy of the solution. Moreover, it was noticed that the local time-stepping gives better results than the global time-stepping scheme, eliminating the numerical diffusion problem.

Another goal of this project was to adapt the MPI implementation to accommodate adaptive mesh refinement. An analysis showing how much the domain resolution can be increased, how the refinement configuration can be changed, and how that affects the efficiency in terms of cell updates per second, is included in this thesis. The findings of all these investigations strengthen the reasons for using adaptive mesh refinement, at the same time underlining the main drawbacks in terms of performance and complexity. Nevertheless, the results are meaningful and can be used as a foundation for future optimisations.

Mykola Lukash: On Sparse Approximate Inverse Preconditioners

For the solution of large and sparse systems of linear equations, iterative solvers with preconditioners are typically employed. However, the design of preconditioners for the black-box case, in which no additional information about the underlying problem is known, is very difficult. The most commonly employed method of incomplete LU factorizations is a serial algorithm and thus not well suited for parallel computing architectures. We investigate sparse approximate inverse preconditioners in this work, which show a very high degree of parallelism. The special case for block-structured matrices is considered. Implementation for the general case (BSPAI) and the factorized case (BFSPAI) will be done by means of a multithreaded environment (OpenMP) using the CLAPACK library (Accelerate framework). The preconditioner is instantiated as a class that can be used for iterative solvers such as the conjugate gradient and the biconjugate gradient stabilized method. The implementation is based on a C++ templated approach.