nkchr123 / PINN_TF2

Implementation of PINNs in TensorFlow 2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PINN(s): Physics-Informed Neural Network(s) in TensorFlow 2

UPDATE (05/24/2023): 01_von_Karman contains bugs. This is currently being addressed.

This repository stores PINN(s) implementations in TensorFlow 2 to solve von Karman vortex streets (inverse problem, 01_von_Karman), Burgers equation (forward problem, 02_Burgers), 2D wave equation (forward problem, 03_wave), 1D diffusion equation (forward problem, 04_diffusion). Automatic differentiation, a generalization of back-propagation, is used to exploit the representation power of the conventional neural network architecture and to satisfy the govering equations, initial, and boundary conditions. This allows PINN(s) to learn the dynamics from scarce datasets / solve initial and boundary value problems, that are challenging for standard neural network architectures. While the original work builds PINNs using TensorFlow 1, the codes in this repository implement them with TensorFlow 2 for GPU-based acceleration + further acceleration provided by L-LAAF.

Further descriptions (usage, options, etc.) can be found in the corresponding directories.

Examples

1D Burgers (FDM vs. PINN) 1D diffusion (FDM vs. PINN) 2D wave (PINN)
burgers diffusion wave

Dependencies

pip install -r requirements.txt to have the identical environment as the author. Or install the following:

Library / Package Version
numpy 1.22.1
scipy 1.7.3
tensorflow 2.8.0

Citation

These codes are part of our paper ( jp / en ). Please cite us as:

@article{ShotaDEGUCHI2021,
  title={UNKNOWN PARAMETER ESTIMATION USING PHYSICS-INFORMED NEURAL NETWORKS WITH NOISED OBSERVATION DATA},
  author={Shota DEGUCHI and Yosuke SHIBATA and Mitsuteru ASAI},
  journal={Journal of Japan Society of Civil Engineers, Ser. A2 (Applied Mechanics (AM))},
  volume={77},
  number={2},
  pages={I_35-I_45},
  year={2021},
  doi={10.2208/jscejam.77.2_I_35}
}

Reference

[1] Raissi, M., Perdikaris, P., Karniadakis, G.E.: Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations, Journal of Computational Physics, Vol. 378, pp. 686-707, 2019. (paper)
[2] Baydin, A.G., Pearlmutter, B.A., Radul, A.A., Siskind, J.M.: Automatic Differentiation in Machine Learning: A Survey, Journal of Machine Learning Research, Vol. 18, No. 1, pp. 5595–5637, 2018. (paper)
[3] Rumelhart, D., Hinton, G., Williams, R.: Learning representations by back-propagating errors, Nature, Vol. 323, pp. 533–536, 1986. (paper)
[4] Jagtap, A.D., Kawaguchi, K., Karniadakis, GE.: Locally adaptive activation functions with slope recovery for deep and physics-informed neural networks, Proceedings of Royal Society A, pp. 4762020033420200334, 2020. (paper)

About

Implementation of PINNs in TensorFlow 2

License:MIT License


Languages

Language:Python 100.0%