A New Software Framework for Unstructured Mesh Representation and Manipulation
A Dissertation Presented for the Doctor of Philosophy in Computational Engineering, The University of Tennessee at Chattanooga
Craig Tanis, December 2013
This research presents a unique new software framework for representing and manipulating unstructured meshes in parallel, for use in modern scientific simulation codes. Due to the central nature of the unstructured mesh, this framework provides a variety of functionality, desirable throughout the lifecycle of an application, such as IO, parallel partitioning, phantom node data updates, adaptive refinement, derefinement and load balancing.
What makes the framework unique is a focus on generality: like a database, the user provides a programmatic schema defining the structure of the mesh, including topological descriptions of the valid mesh entities. The system extracts adjacency information from this input and allows the use of high-level queries for manipulating and processing the mesh. Advanced C++ techniques allow for a combination of high extensibility and highly optimizable code.
New applications can be built quickly, by taking advantage of the framework's capabilities. Existing codes can incorporate the framework with minimal modification, due to the use of data proxies that mediate between the framework's internal data structures and existing user data.
The design and implementation of this framework are discussed, and several representative applications are presented. Scalability results and analysis are included.
Click here to access a full copy of Craig's dissertation.