Conference paper Open Access
Yeh, Raine; Weiss, Kenneth; Capps, Arlie; Tricoche, Xavier
Multimaterial simulation codes model the flow of materials with di↵ering physical properties over a computational domain. Due to the intrinsically complicated access and traversal patterns on the underlying material-based field data defined over its mesh cells, such codes require implementations to strike a careful balance between competing demands of usability and performance. For a successful multimaterial simulation code, the designs of space efficient data structures, performant implementations, and flexible, developer-friendly representations that can adapt to varying traversal patterns and computer architectures must all satisfy this balance. Towards this aim, we introduce MultiMat, an open source library designed for efficient interaction with multimaterial mesh data and clear, flexible expression of multimaterial algorithms. MultiMat provides an intuitive API for operating on multimaterial data, several concrete data structures for representing this data, and functions to easily convert between different representations. We include code-to-code comparisons against explicit implementations of several representative physics kernels. Our results indicate that MultiMat simplifies data access and increases code readability while achieving comparable performance.