Skip to content

Repository files navigation

Physics-Informed Graph Neural Networks for Fast Electromagnetic-Thermal Simulation of Induction Heating

2026 Master's thesis project by Antons Cvečkovskis, supervised by Dr. Vadims Geža and Dr. Morten Hjorth-Jensen.

Based on the paper Physics-informed MeshGraphNets (PI-MGNs): Neural finite element solvers for non-stationary and nonlinear simulations on arbitrary meshes.

A pedagogical introduction to the method is given in the summary file.

Only 2D axisymmetric problems are considered in this work, but the method can be easily extended to 3D problems. The code is structured in a way that allows for easy extension to other types of PDEs and boundary conditions.

Prerequisites

Install the required dependencies using pip:

pip install -r requirements.txt

Read the torch guide to install the appropriate version of CUDA PyTorch for your system.

The torch and ngsolve Python libraries are used to assemble the finite element matrices and vectors, which are then used to compute the physics-informed loss during training. VTK is used for visualization and data extraction from the VTK files generated by the FEM and PI-GNN simulations.

Repository structure

  • new_pignn/: The main codebase for the physics-informed graph neural network (PI-GNN) implementation.
  • verification_plots/: Contains code for generating verification plots, including the helpers/ directory with utility functions for data extraction and plotting.

Overview of the codebase

There are two trainers: trainer.py for training the thermal surrogate and trainer_em.py for training the electromagnetic surrogate. fem.py and fem_em.py contain functions for assembling the finite element matrices and vectors for the thermal and electromagnetic problems, respectively. The training scripts use these functions to compute the physics-informed loss during training.

Overview of the experiments

There are two main categories of experiments in this repository: verification experiments and generalisation/ablation experiments. The verification experiments are designed to validate the accuracy of the PI-GNN approach against known solutions or benchmarks, while the generalisation and ablation experiments explore the performance of the PI-GNN under various conditions and configurations.

Verification experiments

File Experiment
thermal_mms.py Analytical transient diffusion test
thermal_bc_val.py Boundary condition verification
thermal_source.py Source-driven heating test
thermal_temp_materials.py Nonlinear temperature-dependent thermal test
em_magnetostatics.py Magnetostatic test
em_eddy_current.py Harmonic eddy-current test
em_different_mu_r.py Skin-layer test
coupled_ih_verification.py One-way coupled induction heating
ih_source_sensitivity_study.py Source sensitivity study for induction heating
em_team_36.py and thermal_team_36.py TEAM 36 EM and thermal parts

Generalisation and ablation experiments

File Experiment
em_different_geometries.py Unseen geometries for EM surrogate
em_generalisation_mu_r_sigma.py Generalisation of the EM surrogate to $\mu_r$ and $\sigma$
em_eddy_current_generalisation_curr_freq.py Generalisation of the EM surrogate to different currents and frequencies
ih_generalisation_mu_r_sigma.py Generalisation of the IH surrogate to $\mu_r$ and $\sigma$
ih_generalisation_current_freq.py Generalisation of the IH surrogate to different currents and frequencies
rollout_analysis.py Thermal surrogate rollout stability analysis
speed_test.py Speed test for the surrogates
em_physics_vs_data.py Comparison of EM surrogate predictions with data-driven approach
thermal_physics_vs_data.py Comparison of thermal surrogate predictions with data-driven approach

About

Physics-informed Graph Neural Network

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages