Table of Contents
Fetching ...

Applying Convolutional Neural Networks to Data on Unstructured Meshes with Space-Filling Curves

Claire E. Heaney, Yuling Li, Omar K. Matar, Christopher C. Pain

TL;DR

This paper presents the first classical Convolutional Neural Network that can be applied directly to data from unstructured finite element meshes or control volume grids, and is tested by applying CAEs to data sets that have been reordered with a space-filling curve.

Abstract

This paper presents the first classical Convolutional Neural Network (CNN) that can be applied directly to data from unstructured finite element meshes or control volume grids. CNNs have been hugely influential in the areas of image classification and image compression, both of which typically deal with data on structured grids. Unstructured meshes are frequently used to solve partial differential equations and are particularly suitable for problems that require the mesh to conform to complex geometries or for problems that require variable mesh resolution. Central to the approach are space-filling curves, which traverse the nodes or cells of a mesh tracing out a path that is as short as possible (in terms of numbers of edges) and that visits each node or cell exactly once. The space-filling curves (SFCs) are used to find an ordering of the nodes or cells that can transform multi-dimensional solutions on unstructured meshes into a one-dimensional (1D) representation, to which 1D convolutional layers can then be applied. Although developed in two dimensions, the approach is applicable to higher dimensional problems. To demonstrate the approach, the network we choose is a convolutional autoencoder (CAE) although other types of CNN could be used. The approach is tested by applying CAEs to data sets that have been reordered with an SFC. Sparse layers are used at the input and output of the autoencoder, and the use of multiple SFCs is explored. We compare the accuracy of the SFC-based CAE with that of a classical CAE applied to two idealised problems on structured meshes, and then apply the approach to solutions of flow past a cylinder obtained using the finite-element method and an unstructured mesh.

Applying Convolutional Neural Networks to Data on Unstructured Meshes with Space-Filling Curves

TL;DR

This paper presents the first classical Convolutional Neural Network that can be applied directly to data from unstructured finite element meshes or control volume grids, and is tested by applying CAEs to data sets that have been reordered with a space-filling curve.

Abstract

This paper presents the first classical Convolutional Neural Network (CNN) that can be applied directly to data from unstructured finite element meshes or control volume grids. CNNs have been hugely influential in the areas of image classification and image compression, both of which typically deal with data on structured grids. Unstructured meshes are frequently used to solve partial differential equations and are particularly suitable for problems that require the mesh to conform to complex geometries or for problems that require variable mesh resolution. Central to the approach are space-filling curves, which traverse the nodes or cells of a mesh tracing out a path that is as short as possible (in terms of numbers of edges) and that visits each node or cell exactly once. The space-filling curves (SFCs) are used to find an ordering of the nodes or cells that can transform multi-dimensional solutions on unstructured meshes into a one-dimensional (1D) representation, to which 1D convolutional layers can then be applied. Although developed in two dimensions, the approach is applicable to higher dimensional problems. To demonstrate the approach, the network we choose is a convolutional autoencoder (CAE) although other types of CNN could be used. The approach is tested by applying CAEs to data sets that have been reordered with an SFC. Sparse layers are used at the input and output of the autoencoder, and the use of multiple SFCs is explored. We compare the accuracy of the SFC-based CAE with that of a classical CAE applied to two idealised problems on structured meshes, and then apply the approach to solutions of flow past a cylinder obtained using the finite-element method and an unstructured mesh.

Paper Structure

This paper contains 41 sections, 42 equations, 17 figures, 17 tables.

Figures (17)

  • Figure 1: Hilbert space-filling curves at level 1 and 2: (a) shows the fundamental shape of the Hilbert curve, which also corresponds to the level 1 Hilbert curve. For level 2, (b) locates the fundamental shape at the vertices of level 1; these shapes are rotated (c) and linked (d) to form a continuous curve. The graph of the level 2 discretisation is shown in (e) with vertices (green) located at the centre of the control volumes, edges (green) and the grid corresponding to level 2 shown in grey.
  • Figure 2: Two 2D Hilbert space-filling curves for a ${32 \times 32}$ grid, where (b) is a 90 degree clockwise rotation of (a). Both are used to reorder data in the two examples for data held on structured grids in the results section.
  • Figure 3: The graph of the discretisation (2D linear finite elements) is shown in (a). The partitions at levels 1, 2 and 3 are shown in (c), (e) and (g) respectively, labelled as $p_i^\ell$ where $i$ is the partition number and $\ell$ is the level. The partitions are indicated by a shaded region and coloured vertices. The graph of the discretisation is also shown in these plots. Shown in plots (d), (f) and (h) are the partitions (indicated as shaded regions) and graphs of their connectivities (shown in grey) for levels 1, 2 and 3 respectively. In the graphs, the vertices (indicated as numbers in circles) have been ordered according to the procedure outlined in the text. The final space-filling curve is shown in green in plot (b).
  • Figure 4: The four possible combinations of the vertex ordering at level 2, see Table \ref{['table:partition_numbering_level2']}. The partitions are shown, labelled $p_i^\ell$ for partition $i$ at level $\ell=2$. The graph is shown in grey and the path corresponding to each ordering is highlighted in green. Once the ordering has been determined (in this case, that shown in (d)) the partitions will be renumbered, see Figure \ref{['fig:sfc_unstructured_meshes']}(f).
  • Figure 5: The space-filling curve approach applied to a structured 8 by 8 grid in 2D. Left: the resulting vertex numbers or space-filling curve ordering, right: the path of the space-filling curve shown in green. The underlying grid is shown in grey.
  • ...and 12 more figures