NekMesh is described in its paper [1] as "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." To summarise, NekMesh is comprised of various Input, Process and Output modules, and the workflow is to run 1) one input module 2) n process modules 3) one output module. Before learning about the three module types, we need a good understanding of the theory underpinning the NekMesh format.