An algorithm to optimally color a mesh

Abstract In order to force vectorization and parallelization of a class of problems (including e.g. explicit schemes applied to the discretization of a system of ordinary differential equations or element-by-element preconditioning of large matrices), it is suitable to introduce a mesh coloring in order to partition the mesh into subsets of disjoint elements. Nevertheless, the only mesh coloring algorithms found in the literature are not optimal in the sense that they do not optimize the number of elements in all colors and the efficiency can drop because of this lack. We propose an improved algorithm, optimal in the sense that it will maximize the efficiency of both vectorization and parallelization on either shared or distributed memory computers, and which is valid for any space dimension and any mesh topology.