/PINN_TF2

Implementation of PINNs in TensorFlow 2

Primary LanguagePythonMIT LicenseMIT

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{出口 翔大2021,
  title={予測に物理的意味を付与した機械学習 PINNs による誤差を含む教師データからのパラメータ推定},
  author={出口 翔大 and 柴田 洋佑 and 浅井 光輝},
  journal={土木学会論文集A2(応用力学)},
  volume={77},
  number={2},
  pages={I_35-I_45},
  year={2021},
  doi={10.2208/jscejam.77.2_I_35}
}

or

@article{Shota DEGUCHI2021,
  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)