We present MAGNET, an open-source Python library for mesh agglomeration by Graph Neural Networks. MAGNET provides a simple framework for performing mesh agglomeration, including meshes of heterogeneous media, training different Graph Neural Network (GNN) models for this task and comparing their performance to state-of-the-art methods in a convenient way. The goal of this work is to introduce the library in terms of its code structure and main features, paying attention to implementation and algorithmic details. We describe the main novel deep learning approaches implemented in MAGNET, including a graph bisection model that exploits both connectivity and geometric information about the mesh using SAGE convolutional layers, a reinforcement learning approach to the same idea, and a reinforcement learning model for refining coarse partitions in a multilevel framework. We provide a brief tutorial, guiding the user step-by-step in the agglomeration of a mesh and in the training of a GNN bisection model. We report some examples of agglomeration performed by MAGNET, illustrating the versatility of the library in its applications, and also compare the performance of the introduced models with METIS and k-means, showing that the presented GNN models are comparable to them in terms of partition quality. Finally, we showcase MAGNET's interface with lymph, a Matlab library for discontinuous Galerkin methods on polytopal grids, by solving a Poisson problem and the heat equation on agglomerated polygonal meshes generated by MAGNET
Presentiamo MAGNET, una libreria Python per l’agglomerazione di mesh con Graph Neural Networks. MAGNETfornisce un semplice framework per agglomerare mesh, allenare diverse architetture di Reti Neurali su Grafo (GNNs) per tale compito e comparare le loro prestazioni a quelle di metodi all’avanguardia in modo conveniente. L’obiettivo di questo lavoro è presentare la libreria in termini di struttura del codice e caratteristiche principali, prestando attenzione a dettagli algoritmici e di implementazione quando necessario. Descriviamo i principali nuovi approcci di deep learning implementati in MAGNET, incluso un modello di bisezione che sfrutta sia la connettività che le informazioni geometriche sulla mesh utilizzando layer di convoluzione SAGE, un approccio reinforcement learning alla stessa idea, e un modello reinforcement learning per raffinare partizioni grossolane in un framework multilivello di bisezione ricorsiva. Forniamo un breve tutorial, guidando l’utente passo passo nell’agglomerazione di una mesh e nell’allenamento di un modello di bisezione basato su GNN. Riportiamo alcuni esempi agglomerazione con MAGNET, illustrando la versatilità della libreria nelle sue applicazioni, e inoltre compariamo la perfomance dei modelli introdotti con METIS e k-means, mostrando che i modelli di GNN presentati sono comparabili ad essi in termini di qualità della partizione prodotta. Infine, mostriamo l’interfaccia di MAGNET con lymph, una libreria Matlab per metodi di Galerkin discontinui su griglie politopiche, risolvendo un problema di Poisson e l’equazione del calore su mesh poligonali generate da MAGNET.
MAGNET: mesh agglomeration by graph neural networks
Re Fraschini, Andrea
2023/2024
Abstract
We present MAGNET, an open-source Python library for mesh agglomeration by Graph Neural Networks. MAGNET provides a simple framework for performing mesh agglomeration, including meshes of heterogeneous media, training different Graph Neural Network (GNN) models for this task and comparing their performance to state-of-the-art methods in a convenient way. The goal of this work is to introduce the library in terms of its code structure and main features, paying attention to implementation and algorithmic details. We describe the main novel deep learning approaches implemented in MAGNET, including a graph bisection model that exploits both connectivity and geometric information about the mesh using SAGE convolutional layers, a reinforcement learning approach to the same idea, and a reinforcement learning model for refining coarse partitions in a multilevel framework. We provide a brief tutorial, guiding the user step-by-step in the agglomeration of a mesh and in the training of a GNN bisection model. We report some examples of agglomeration performed by MAGNET, illustrating the versatility of the library in its applications, and also compare the performance of the introduced models with METIS and k-means, showing that the presented GNN models are comparable to them in terms of partition quality. Finally, we showcase MAGNET's interface with lymph, a Matlab library for discontinuous Galerkin methods on polytopal grids, by solving a Poisson problem and the heat equation on agglomerated polygonal meshes generated by MAGNETFile | Dimensione | Formato | |
---|---|---|---|
24_10_Re_Fraschini_Andrea_thesis.pdf
accessibile in internet per tutti
Descrizione: Thesis
Dimensione
20.61 MB
Formato
Adobe PDF
|
20.61 MB | Adobe PDF | Visualizza/Apri |
24_10_Re_Fraschini_Andrea_executive_summary.pdf
accessibile in internet per tutti
Descrizione: Executive summary
Dimensione
5.44 MB
Formato
Adobe PDF
|
5.44 MB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/226845