Skip to content

thendralmagudapathi/Physics-Informed-Neural-Networks

Repository files navigation

PINNs Implementations

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).


Contents

1. Basic.ipynb

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.

2. Pinns_training_64X64.ipynb

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.

3. RandomTestingPoints.ipynb

Experiments with introducing randomness into the testing or inference phase.
Purpose:

  • Evaluates generalization ability of trained PINNs.
  • Visualizes prediction errors on unseen data points.

4. Training_to_predict_hotspot_and_distribution.ipynb

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.

5. WithSmoothness.ipynb

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.

How It Works

All notebooks follow a general structure:

  1. Problem Definition – Define the PDE, boundary, and initial conditions.
  2. Model Setup – Create a neural network using PyTorch/TensorFlow.
  3. Loss Formulation – Encode physics into loss (PDE residuals + boundary losses).
  4. Training Loop – Optimize parameters with Adam/L-BFGS.
  5. Visualization – Plot training performance, predictions vs ground truth.

Purpose

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!


License

This project is licensed under the MIT License.
See the LICENSE file for details


Acknowledgements

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!

About

This repository contains Jupyter notebooks from my learning journey with Physics-Informed Neural Networks (PINNs). These are not complete projects but serve as educational resources to explore core and intermediate concepts in applying neural networks to solve partial differential equations (PDEs).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors