This repository contains a collection of Jupyter notebooks created as a part of my journey in understanding and experimenting with Physics-Informed Neural Networks (PINNs). These materials are not a complete project, but rather structured as learning resources to explore fundamental and intermediate concepts in using neural networks for solving partial differential equations (PDEs).
A minimal starting point to understand the implementation of PINNs.
Purpose:
- To understand how to define the domain, input-output mapping, and initial conditions.
- Establishes a foundation for enforcing physics-based constraints using neural networks.
This notebook focuses on training a PINN on a discretized 64x64 spatial domain.
Purpose:
- Showcases how grid resolution influences training.
- Tests PINN’s ability to learn spatial field distributions.
Experiments with introducing randomness into the testing or inference phase.
Purpose:
- Evaluates generalization ability of trained PINNs.
- Visualizes prediction errors on unseen data points.
Targets the problem of predicting thermal hotspots and temperature distribution using a PINN.
Purpose:
- Emphasizes the application of PINNs to heat transfer and hotspot detection.
- Combines field data and governing physics to model heat behavior.
An advanced experiment integrating smoothness constraints into PINN training.
Purpose:
- Improve stability and physical realism of results.
- Explore the role of regularization terms in enforcing smooth outputs in PDE solutions.
All notebooks follow a general structure:
- Problem Definition – Define the PDE, boundary, and initial conditions.
- Model Setup – Create a neural network using PyTorch/TensorFlow.
- Loss Formulation – Encode physics into loss (PDE residuals + boundary losses).
- Training Loop – Optimize parameters with Adam/L-BFGS.
- Visualization – Plot training performance, predictions vs ground truth.
This project is strictly meant for learning and educational use. Each notebook focuses on specific elements of PINNs such as domain discretization, boundary enforcement, generalization, and regularization.
Feel free to adapt and build upon these notebooks for your own use cases!
This project is licensed under the MIT License.
See the LICENSE file for details
These materials are based on research papers, online tutorials, and self-exploration to better understand the PINNs framework.
If you find this useful, feel free to fork or star the repo!