Performance analysis of Surrogates for Non-Linear heat equation
Abstract
Develop Surrogate Models for the nonlinear heat equation
Find the material parameters in: [https://doi.org/10.1007/s11157-006-9108-x](https://doi.org/10.1007/s11157-006-9108-x)
Repository Structure
Find the final presentation in the folder Presentation.
In src`there is the source code with different versions. The PINN was struggling to yield the correct temperature behavior, therefore it was discretized in time. In the subfolder `IssuesPINN different attempts for full continuous PINNs can be found, without proper documentation.
To rerun the simulation, run the files in the order 01 - 06.
Generate FEniCSx data to train the ANN on
Find the best ANN with a hyperparameter tuner and train it
Find the best PINN architecture (use less time steps for tuning, to reduce complexity)
Train the best PINN architecture (now use more time steps)
Evaluate the ANN results
Evaluate the PINN
Installation
As a numerical solver, mainly FEniCSx was used and installed via conda. All the calculations were performed on a Linux machine. FEniCSx offers some beta versions for Windows support, but it is recommended to use WSL2 instead. Some issues arose with a macOS and therefore an additional docker container was created. This was not tested and therefore cannot be guaranteed to work properly.
For the ANN, tensorflow2 was used and installed via pip. For PINNs, DeepXDE with the `tensorflow2`backend was used.
Run the following script to install all necessary dependencies via conda.
conda create --name IceMelting python=3.10 -y
conda activate IceMelting2
conda install -c conda-forge fenics-dolfinx=0.8.0 mpich=4.2.1 pyvista=0.43.10 -y
conda install -c conda-forge deepxde==1.12.2 -y
pip install tensorflow==2.18.0 tensorflow_probability==0.25.0 tf_keras==2.18.0
Alternative installation
Use the “environment.yml” file to install all necessary environments
conda env create -f environment.yml
macOS installation using Docker
docker compose build
docker compose run solver
Contact
Jan Habscheid