This dissertation reports a novel approach to achieve high-fidelity solutions of conservation laws by designing a software framework that focuses on hybrid parallel computing. The software framework has been developed and open-sourced as a part of this research work. The reference implementation is named SOLVCON, which stands for SOLVer CONstructor. SOLVCON aims to provide high-fidelity numerical solutions of linear and nonlinear, first-order, fully-coupled, hyperbolic partial differential equations (PDEs) associated with conservation laws. This dissertation discusses the numerical method, the software design, high-performance computing (HPC), and applications of SOLVCON.
The numerical method employed in SOLVCON is the space-time Conservation Element and Solution Element (CESE) method. The tenet of the CESE method is a unified treatment of space and time in enforcing flux conservation. The method delivers time-accurate solutions of hyperbolic PDEs by using unstructured meshes. Contrast to modern upwind methods, no Riemann solvers (which are physics-specific) or reconstruction steps are used in the CESE method. As such, one need not hard-wire the physics into a CESE code, and physical models have been made pluggable to SOLVCON. This dissertation summarizes various schemes of the CESE method, and describes the development of a unified formulation for unstructured meshes using mixed elements in multi-dimensional space.
The multi-physics nature of the CESE method and the newly developed formulation lay the foundation of a well-organized software structure for high-resolution calculations. To materialize the software structure, a software framework has been developed. A software framework is a computer library that exercises inversion of control, which can regulate PDE solvers for various physical models based on the CESE method. In particular, supportive functionalities has been extracted out of the PDE solvers and collected into the software framework for reuse.
Complex parallel computing is simplified by the framework approach. For high-fidelity solutions, conventional approach uses Message-Passing Interface (MPI) for distributed-memory parallel computing. The emerging heterogeneous architecture requires hybrid parallelism, which simultaneously utilizes shared-and distributed-memory parallel computing. Moreover, high-fidelity solutions are associated with large data, which require significant storage space and processing time. This issue is also addressed by SOLVCON.
SOLVCON is developed by using Python, a nontraditional programming language for developing PDE solvers. Essentially, Python enables efficient programming by organizing the imperative programming, the object-oriented programming, and the functional programming. Python also provides various approaches to interface with other languages, including C, Fortran, and CUDA for computational efficiency. These features are critically important to the development of SOLVCON.
In this dissertation, SOLVCON is used to calculate two different physical processes: (i) Stress waves in anisotropic elastic solids and (ii) compressible inviscid flows. Computational tasks of these two different physical processes use the same binary code that implements the CESE method. The solver kernels of the two physical models are modularized so that they are pluggable to the framework. The software framework discussed in this dissertation is a systematic approach to large-scale calculations based on hybrid parallelism.