Skip to content

A Physics-Informed Neural Network to solve 2D steady-state heat equations.

License

Notifications You must be signed in to change notification settings

314arhaam/heat-pinn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔥 $\textbf{Heat-PINN}$ 🔥

A Physics-Informed Neural Network, to solve 2D steady-state heat equation based on the methodology introduced in: Physics Informed Deep Learning (Part I): Data-driven Solutions of Nonlinear Partial Differential Equations

Table of Contents

Introduction

In this project, a PINN is trained to solve a 2D heat equation and the final results is compared to a solution based on FDM method. For more detailts about the project read this.

Problem

The governing equation:

$$ \Theta = \frac{T - T_{\textbf{min}}}{T_{\textbf{max}}-T_{\textbf{min}}} $$

$$ \nabla^2{\Theta} = (\partial_{xx}+\partial_{yy})\Theta=0 $$

in the following domain:

$$ D = \{ (x, y)|-1\le x \le +1 \land -1\le y \le +1 \} $$

With the following boundary conditions:

$$ \begin{equation} \begin{cases} T(-1, y) = 75.0 \degree{C}\\ T(+1, y) = 0.0 \degree{C}\\ T(x, -1) = 50.0 \degree{C}\\ T(x, +1) = 0.0 \degree{C}\\ \end{cases} \end{equation} $$

When normalized:

$$ \begin{equation} \begin{cases} \Theta(-1, y) = 1\\ \Theta(+1, y) = 0\\ \Theta(x, -1) = \frac{2}{3}\\ \Theta(x, +1) = 0\\ \end{cases} \end{equation} $$

Results

Square geometry

Temperature profiles:

Doughnut geometry

Performance Comparison

Results obtained from a 9 layered DNN (1000 epochs) and FDM code on a 100×100 grid. The FDM code is written in Python.

Method Computation time (s)
PINN 66.35
FDM 77.60

Note

This implementation is based on Tensorflow 2.0 package and made possible by Google Colabratory GPU.