Lightweight finite element mesh database in Julia. (July 2021) - Krysl, Petr
Highlights: Novel use of the incidence relation as the basic concept leads to a flexible, powerful, and concise representation of finite element meshes. The topological relationships of mesh data bases described in recent literature can be produced systematically. The decision as to which relations between mesh entities to store is left up to the user, granting a large amount of flexibility to designers of finite element programs. The mesh data structure is not stored using pointers to memory objects, which produces a small memory footprint. Implementation in the Julia programming language is of general interest. It is an up-and-coming language for numerical computing in the HPC arena. Abstract: A simple, lightweight, and flexible, package in the programming language Julia for managing finite element mesh data structures is presented. The key role in the design of the data structures is granted to the incidence relation. This concept has some interesting implications for the simplicity and efficiency of the implementation. The entire library has less than 500 executable lines. The low memory requirements are also notable. The design of the data structures is not fixed a priori. The user of the library is given the power over the decisions which mesh entities should be represented explicitly in the data structures, and which of the topological relationships should be computed and stored. This enables a small memory footprint, yet affords a sufficiently rich topology description capability.