Theses and Dissertations

Issuing Body

Mississippi State University


Youssef Hammi

Committee Member

Nathaniel Morgan

Committee Member

Kip Barrett

Committee Member

Yucheng Liu

Date of Degree


Original embargo terms


Document Type

Dissertation - Open Access


Mechanical Engineering

Degree Name

Doctor of Philosophy


James Worth Bagley College of Engineering


Department of Mechanical Engineering


Many complexities arise when writing software for computational physics. The choice of underlying data structures, physics model representation, and numerical methods used for the solver all add to the overall complexity of a code and significantly affect the simulation speed and accuracy of the solution. This work has integrated multiple recently developed software tools into a unified framework called ELEMENTS. ELEMENTS contains tools to address the complexities of data representation and numerical methods implementation for computational physics applications. ELEMENTS consists of multiple software packages: Elements, MATAR, Swage, Geometry, and SLAM. MATAR is a performance portability and productivity implementation of data-oriented design that leverages KOKKOS for multi-architecture portability. MATAR's data-oriented design allows for highly efficient memory use through the use of contiguous memory allocation and access for optimal performance. The elements library contains the requisite mathematical functions for a wide range of numerical methods and high order field representation, including the Serendipity basis set that allows for a higher-order solution with fewer degrees of freedom than the more standard tensor product elements. Swage is a novel mesh class capable of representing all of the geometric entities required to implement low and high-order continuous and discontinuous Galerkin methods on unstructured hexahedral meshes as well as connectivity structures between the disparate index spaces. SLAM is a library for linear algebra solvers and tools for linking to external solver packages. Combining these tools allows for the research and development of novel methods for solving problems in computational physics. This work discusses the ELEMENTS package and reviews multiple numerical methods built using ELEMENTS.