12. Unstructured Meshes

12.1. Coordinate Nested Dissection

Coordinate Nested Dissection (CND) (also referred to as Recursive Coordinate Bisection) is a recursive bisection scheme that attempts to minimize the boundary between the subdomains (and therefore, the inter-processor communications) by splitting the mesh in half normal to its longest dimension.

The algorithm:

  1. Compute and project the center-of-mass for all meshes along the longest axis

  2. Split this ordered list half to produce the bisection

  3. Jump to 1. and repeat for all created meshes

cnd_mesh

Fig 10.1.1 Mesh

Task

Part the mesh from Fig. 10.1.1 in 8 partitions using CND and color the partitions with different colors.

12.2. GMSH

GMSH is a library to handle meshes. This includes among others creating meshes, read and write mesh files and partitioning meshes. There are implementations for C++, Python and Julia.

Task

  1. Use the language of your choice. Documentation under GMSH Documentation

  2. Download the file mesh

  3. Load the file with GMSH and partition the mesh using the following parameters:

    Parameter

    Value

    Mesh partitioner

    0

    Number of partitions

    10

    Create partition topology

    1

    Create ghost cells

    0

    Create new physical groups

    0

    Write file to disk

    0

    Write one file per partition

    0

  4. Show the mesh on your screen and take a screenshot of the partitioned mesh

  5. Submit the screenshot and your code