High-order spectral element simulations are now becoming increasingly popular within the computational modelling community, as they offer the potential to deliver increased accuracy at reduced cost compared to traditional low-order codes. However, to support accurate, high-fidelity simulations in complex industrial applications, there is a need to generate curvilinear meshes which robustly and accurately conform to geometrical features. This is, at present, a key challenge within the mesh generation community, with only a few open-source tools able to generate curvilinear meshes for complex geometries. We present NekMesh: an open-source mesh generation package which is designed to enable the generation of valid, high-quality curvilinear meshes of complex, three-dimensional geometries for performing high-order simulations. We outline the software architecture adopted in NekMesh, which uses a pipeline of processing modules to provide a flexible, CAD-independent high-order mesh processing tool, capable of both generating meshes for a wide range of use cases, as well as post-processing linear meshes from a range of input formats for use with high-order simulations. A number of examples in various application areas are presented, with a particular emphasis on challenging aeronautical and fluid dynamics test cases. Program summaryProgram title: NekMesh (version 5.4.0)CPC Library link to program files:https://doi.org/10.17632/d82hjm4v6r.1Licensing provisions: MITProgramming language: C++External routines/libraries: Boost, TinyXML, OpenCASCADE, Triangle, TetGen, HDF5Nature of problem: NekMesh is a high-order mesh generation framework with the goal of providing a robust framework to automate the process of generating valid meshes for complex three-dimensional CAD geometries.Solution method: Energy minimisation, solid body models and other techniques based around high-order finite element methods.Additional comments including restrictions and unusual features: The supplied cases require a system with 16384 MB of RAM for the automotive example and 32768 MB of RAM for the variational optimisation example.
Read full abstract