This repository contains a minimal implementation of Physics-Informed Neural Networks (PINNs) in PyTorch. PINNs combine neural networks with physics-based constraints, making them particularly useful for solving problems described by ordinary/partial differential equations.
- DataDrivenSolutionODE.ipynb
- Demonstrates the application of PINNs for finding solutions to ordinary differential equations (ODEs).
- DataDrivenDiscoveryODE.ipynb
- This notebook explores the data-driven discovery of solutions to ordinary differential equations (ODEs) using PINNs.
- DataDrivenSolutionPDE.ipynb
- Extends the application of PINNs to partial differential equations (PDEs).
- LaneEmdenDifferentialEquation.ipynb
- Solving the well-known Lane-Emden differential equation using PINNs.
- ODE-NAS.ipynb
- Running a Neural Architecture Search (NAS) on PINNs for solving an ODE.
- PDE-LBFGS.ipynb
- Using Quasi-Newton LBFGS algorithm for faster convergence.
- PDE-LBFGS-CUDA.ipynb
- Add CUDA support to speedup the learning process.
To run these notebooks, ensure you have Python and PyTorch (preferably with CUDA support) installed. You can install the required packages using:
pip install -r requirements.txt
Clone the repository:
git clone https://github.com/your-username/PINN-tutorial.git cd PINN-tutorial
Open the desired notebook using Jupyter:
jupyter notebook DataDrivenDiscoveryODE.ipynb
Feel free to explore and modify the code to suit your needs.
For a deeper understanding of Physics-Informed Neural Networks and their applications, refer to the following resources:
- A tutorial on PINNs by Alireza Afzal Aghaei
- A neural network approach for solving nonlinear differential equations of Lane–Emden type
- Physics-Informed Neural Networks: A Deep Learning Framework for Solving Forward and Inverse Problems Involving Nonlinear Partial Differential Equations
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.