An Interoperable, Data-Structure-Neutral Component for Mesh Query and Manipulation

TitleAn Interoperable, Data-Structure-Neutral Component for Mesh Query and Manipulation
Publication TypeJournal Article
Year of Publication2010
AuthorsOllivier-Gooch, C, Diachin, LF, Shephard, MS, Tautges, TJ, Kraftcheck, JA, Leung, V, Luo, X, Miller, M
JournalACM Trans. Math. Soft.
Paginationarticle 29
Date Published09/2010

Much of the effort required to create a new simulation code goes into developing infrastructure for mesh data manipulation, adaptive refinement, design optimization, and so forth. This infrastructure is an obvious target for code re-use, except that implementations of these functionalities are typically tied to specific data structures. In this paper, we describe a software component---an abstract data model and programming interface---designed to provide low-level mesh query and manipulation support for meshing and solution algorithms. The component\'s data model provides a data abstraction, completely hiding all details of how mesh data is stored, while its interface defines how applications can interact with that data. Because the component has been carefully designed to be general-purpose and efficient, it provides a practical platform for implementing high-level mesh operations independently of the underlying mesh data structures. After describing the data model and interface, we provide several usage examples, each of which has been used successfully with multiple implementations of the interface functionality. The overhead due to accessing mesh data through the interface rather than directly accessing the underlying mesh data is shown to be acceptably small.