gitmyhub

PINNs

Python ★ 6.0k updated 4mo ago

Physics Informed Deep Learning: Data-driven Solutions and Discovery of Nonlinear Partial Differential Equations

Research code for Physics-Informed Neural Networks, trains neural nets to solve or discover physical equations (fluid flow, heat, etc.) using far less data by baking known physics laws into the training process.

PythonTensorFlowsetup: hardcomplexity 4/5

This repository contains the research code for Physics-Informed Neural Networks, commonly abbreviated as PINNs. The idea is to train a neural network to solve scientific problems while also requiring it to obey known physical laws, expressed as equations that describe how quantities like heat, pressure, or fluid velocity change over time and space. By building those physical laws directly into the training process, the network can produce accurate results with far less data than a purely data-driven approach would need.

The project addresses two related problems. The first is computing solutions to equations that are difficult or expensive to solve with traditional numerical methods. Given some known values at specific points, the trained network fills in the rest of the solution across the full domain. The second problem is discovering which equations actually govern a physical system from observed data alone, without knowing the governing equations in advance.

The README describes two algorithmic approaches: one that treats time as a continuous variable and one that works with discrete time steps. Both result in what the authors call data-efficient universal function approximators, networks that generalize from small amounts of data by leaning on physical structure rather than pure pattern matching.

The code accompanies a 2019 paper published in the Journal of Computational Physics and two earlier arXiv preprints from 2017. Citations for all three papers are provided in the README for researchers who want to reference this work.

The repository is no longer under active maintenance. The README directs users to separate, newer implementations of the same approach built for PyTorch, JAX, and TensorFlow v2, which are maintained by other authors and use more modern tooling.

Where it fits