Skip to content

Implementation of physics informed neural networks in pytorch

Notifications You must be signed in to change notification settings

aaryadevg/PytorchPINN

Repository files navigation

Physics Informed Neural Networks (PINNs)


What are PINNs?

A physics informed neural network refer to a supervised learning algorithm that makes use of data and knowledge from governing equations in order to approximate solutions to ODEs (Ordinary Differential Equations) and PDEs (Partial Differential Equations). (Raissi et al., 2019)

PINNs work by exploiting 2 fundamental properties of neural networks:

  • The universal approximation theorem
  • Automatic differentiation

which allows us to embed properties of differential equations in to the PINN, such that training the neural network will result in an approximation of the underlying differential equation. (Dagrada, 2022)

Overview of this repository

This repository contains implementations of physics informed neural networks, to solve various relatively simple differential equations, currently this implementation only supports ODEs and Not PDEs

  • The 'Results' directory contains output of solutions produced by the PINN and comparisons to either an analytic solution or solutions using an ODE solver
  • 'Saved_Models' directory contains pretrained models from the implementation (In Pytorch saved model format) refer to source code in the respective jupyter notebook for the model architecture and training code

Requirements

  • Pytorch
  • Numpy
  • Scipy (ODE solver)
  • Matplotlib

Future plans and experiments

  • Approximate PDEs using PINNs (Probably something simple like Heat equation)
  • Investigate impact of noisy measurements (Overhead of adding a denoise model) [DONE]
  • Try to approximate Systems of ODEs (Using jacobian for derivatives) [Tests were unsucessful]
  • Test existing implementations and build an API to interact with the neural network [TODO]

These plans are not in any particular order.

References

About

Implementation of physics informed neural networks in pytorch

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published