Abstract
We describe the parallel implementation and performance of a general-purpose toolkit, ZPLCLAW, for solving wave propagation problems in 2 and 3 dimensions. The meth- ods, developed originally in the Fortran CLAWPACK package, are based on solving Riemann problems, problems with piecewise constant initial data, at individual grid cells and propagating the resulting waves in multi-dimensional manner. The effectiveness and high-resolution features of these methods have been demonstrated in the CLAWPACK package. The toolkit is im- plemented in ZPL, a data parallel language that provides high-level support for operations on parallel arrays independent of the underlying communication libraries used. We demonstrate the performance of the toolkit on an elastic wave propagation problem arising in pavement engineer- ing, and illustrate its scalable performance on the CRAY T3E and on a cluster of workstations. The toolkit ZPLCLAW is available on the web. Elastic and inelastic wave propagation problems represent an important class of simulations that regularly arise in applications in earthquake engineering, pavement engineering, soil-structure interaction problems, etc. These simulations are generally three dimensional in nature and therefore extremely demanding computationally. Parallel computers are often necessary to han- dle the requisite memory and computational requirements. In this paper we describe a parallel toolkit that provides high level facilities for the setup and solution of such problems on parallel machines. A variety of numerical methods have been developed for solving elastic wave propagation prob- lems including finite element methods, finite difference methods, etc. The schemes developed attempt to balance the demands of accuracy, efficiency, and shock capture characteristics. A class of high-resolution methods has recently been developed and implemented in a Fortran subroutine library, CLAWPACK (l). CLAWPACK (C onservation LAWS PACKage) is a general purpose library that handles time-dependent hyperbolic systems of conservation laws in 1, 2 and 3 space dimensions. CLAWPACK's multi-dimensional wave-propagation algorithms are based on solving Riemann problems and applying limiter functions to the resulting waves, which are then propagated in a multi-dimensional manner. ZPL is a new parallel programming language targeted towards scientific and engineering com- putations. ZPL is a data parallel language that allows arrays and subarrays to be manipulated as whole entities regardless of how they are laid out in memory on the individual processors of a distributed-memory machine. Referencing and access to array entries, which may engender inter-processor communications, is provided through a set of operators hiding the details of the underlying message-passing protocols. ZPL is a machine-independent language. The ZPL com- piler produces ANSI C code, which is then compiled on the target machines and linked with machine specific communication libraries (e.g., MPI) to produce executable code.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have