# PINNx: Physics-Informed Neural Networks for Scientific Machine Learning in JAX
[![Build Status](https://github.com/chaobrain/pinnx/actions/workflows/build.yml/badge.svg)](https://github.com/chaobrain/pinnx/actions/workflows/build.yml)
[![Documentation Status](https://readthedocs.org/projects/pinnx/badge/?version=latest)](https://pinnx.readthedocs.io/en/latest/?badge=latest)
[![PyPI Version](https://badge.fury.io/py/pinnx.svg)](https://badge.fury.io/py/pinnx)
[![License](https://img.shields.io/github/license/chaobrain/pinnx)](https://github.com/chaobrain/pinnx/blob/master/LICENSE)
``PINNx`` is a library for scientific machine learning and physics-informed learning.
It is rewritten according to [DeepXDE](https://github.com/lululxvi/deepxde) but is enhanced by our
[Brain Dynamics Programming (BDP) ecosystem](https://ecosystem-for-brain-dynamics.readthedocs.io/).
For example, it leverages
[brainstate](https://brainstate.readthedocs.io/) for just-in-time compilation,
[brainunit](https://brainunit.readthedocs.io/) for dimensional analysis,
[braintools](https://braintools.readthedocs.io/) for checkpointing, loss functions, and other utilities.
``PINNx`` implements the following algorithms, but with the flexibility and efficiency of JAX:
- solving different PINN problems
- solving forward/inverse ordinary/partial differential equations (ODEs/PDEs) [[SIAM Rev.](https://doi.org/10.1137/19M1274067)]
- solving forward/inverse integro-differential equations (IDEs) [[SIAM Rev.](https://doi.org/10.1137/19M1274067)]
- fPINN: solving forward/inverse fractional PDEs (fPDEs) [[SIAM J. Sci. Comput.](https://doi.org/10.1137/18M1229845)]
- NN-arbitrary polynomial chaos (NN-aPC): solving forward/inverse stochastic PDEs (sPDEs) [[J. Comput. Phys.](https://doi.org/10.1016/j.jcp.2019.07.048)]
- PINN with hard constraints (hPINN): solving inverse design/topology optimization [[SIAM J. Sci. Comput.](https://doi.org/10.1137/21M1397908)]
- improving PINN accuracy
- residual-based adaptive
sampling [[SIAM Rev.](https://doi.org/10.1137/19M1274067), [Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2022.115671)]
- gradient-enhanced PINN (gPINN) [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2022.114823)]
- PINN with multi-scale Fourier features [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2021.113938)]
- (physics-informed) deep operator network (DeepONet)
- DeepONet: learning operators [[Nat. Mach. Intell.](https://doi.org/10.1038/s42256-021-00302-5)]
- DeepONet extensions, e.g., POD-DeepONet [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2022.114778)]
- MIONet: learning multiple-input operators [[SIAM J. Sci. Comput.](https://doi.org/10.1137/22M1477751)]
- Fourier-DeepONet [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2023.116300)],
Fourier-MIONet [[arXiv](https://arxiv.org/abs/2303.04778)]
- physics-informed DeepONet [[Sci. Adv.](https://doi.org/10.1126/sciadv.abi8605)]
- multifidelity DeepONet [[Phys. Rev. Research](https://doi.org/10.1103/PhysRevResearch.4.023210)]
- DeepM&Mnet: solving multiphysics and multiscale problems [[J. Comput. Phys.](https://doi.org/10.1016/j.jcp.2021.110296), [J. Comput. Phys.](https://doi.org/10.1016/j.jcp.2021.110698)]
- Reliable extrapolation [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2023.116064)]
- multifidelity neural network (MFNN)
- learning from multifidelity data [[J. Comput. Phys.](https://doi.org/10.1016/j.jcp.2019.109020), [PNAS](https://doi.org/10.1073/pnas.1922210117)]
## Installation
- Install the stable version with `pip`:
``` sh
pip install pinnx --upgrade
```
## Documentation
The official documentation is hosted on Read the Docs: [https://pinnx.readthedocs.io/](https://pinnx.readthedocs.io/)
## See also the BDP ecosystem
We are building the Brain Dynamics Programming ecosystem: https://ecosystem-for-brain-dynamics.readthedocs.io/
Raw data
{
"_id": null,
"home_page": "https://github.com/chaobrain/pinnx",
"name": "pinnx",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "computational neuroscience, brain-inspired computation, brain dynamics programming",
"author": "PINNx Developers",
"author_email": "PINNx Developers <chao.brain@qq.com>",
"download_url": null,
"platform": null,
"description": "# PINNx: Physics-Informed Neural Networks for Scientific Machine Learning in JAX\r\n\r\n\r\n[![Build Status](https://github.com/chaobrain/pinnx/actions/workflows/build.yml/badge.svg)](https://github.com/chaobrain/pinnx/actions/workflows/build.yml)\r\n[![Documentation Status](https://readthedocs.org/projects/pinnx/badge/?version=latest)](https://pinnx.readthedocs.io/en/latest/?badge=latest)\r\n[![PyPI Version](https://badge.fury.io/py/pinnx.svg)](https://badge.fury.io/py/pinnx)\r\n[![License](https://img.shields.io/github/license/chaobrain/pinnx)](https://github.com/chaobrain/pinnx/blob/master/LICENSE)\r\n\r\n``PINNx`` is a library for scientific machine learning and physics-informed learning. \r\nIt is rewritten according to [DeepXDE](https://github.com/lululxvi/deepxde) but is enhanced by our \r\n[Brain Dynamics Programming (BDP) ecosystem](https://ecosystem-for-brain-dynamics.readthedocs.io/). \r\nFor example, it leverages \r\n[brainstate](https://brainstate.readthedocs.io/) for just-in-time compilation,\r\n[brainunit](https://brainunit.readthedocs.io/) for dimensional analysis, \r\n[braintools](https://braintools.readthedocs.io/) for checkpointing, loss functions, and other utilities.\r\n\r\n\r\n``PINNx`` implements the following algorithms, but with the flexibility and efficiency of JAX:\r\n\r\n- solving different PINN problems\r\n - solving forward/inverse ordinary/partial differential equations (ODEs/PDEs) [[SIAM Rev.](https://doi.org/10.1137/19M1274067)]\r\n - solving forward/inverse integro-differential equations (IDEs) [[SIAM Rev.](https://doi.org/10.1137/19M1274067)]\r\n - fPINN: solving forward/inverse fractional PDEs (fPDEs) [[SIAM J. Sci. Comput.](https://doi.org/10.1137/18M1229845)]\r\n - NN-arbitrary polynomial chaos (NN-aPC): solving forward/inverse stochastic PDEs (sPDEs) [[J. Comput. Phys.](https://doi.org/10.1016/j.jcp.2019.07.048)]\r\n - PINN with hard constraints (hPINN): solving inverse design/topology optimization [[SIAM J. Sci. Comput.](https://doi.org/10.1137/21M1397908)]\r\n- improving PINN accuracy\r\n - residual-based adaptive\r\n sampling [[SIAM Rev.](https://doi.org/10.1137/19M1274067), [Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2022.115671)]\r\n - gradient-enhanced PINN (gPINN) [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2022.114823)]\r\n - PINN with multi-scale Fourier features [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2021.113938)]\r\n- (physics-informed) deep operator network (DeepONet)\r\n - DeepONet: learning operators [[Nat. Mach. Intell.](https://doi.org/10.1038/s42256-021-00302-5)]\r\n - DeepONet extensions, e.g., POD-DeepONet [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2022.114778)]\r\n - MIONet: learning multiple-input operators [[SIAM J. Sci. Comput.](https://doi.org/10.1137/22M1477751)]\r\n - Fourier-DeepONet [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2023.116300)],\r\n Fourier-MIONet [[arXiv](https://arxiv.org/abs/2303.04778)]\r\n - physics-informed DeepONet [[Sci. Adv.](https://doi.org/10.1126/sciadv.abi8605)]\r\n - multifidelity DeepONet [[Phys. Rev. Research](https://doi.org/10.1103/PhysRevResearch.4.023210)]\r\n - DeepM&Mnet: solving multiphysics and multiscale problems [[J. Comput. Phys.](https://doi.org/10.1016/j.jcp.2021.110296), [J. Comput. Phys.](https://doi.org/10.1016/j.jcp.2021.110698)]\r\n - Reliable extrapolation [[Comput. Methods Appl. Mech. Eng.](https://doi.org/10.1016/j.cma.2023.116064)]\r\n- multifidelity neural network (MFNN)\r\n - learning from multifidelity data [[J. Comput. Phys.](https://doi.org/10.1016/j.jcp.2019.109020), [PNAS](https://doi.org/10.1073/pnas.1922210117)]\r\n\r\n## Installation\r\n\r\n- Install the stable version with `pip`:\r\n\r\n``` sh\r\npip install pinnx --upgrade\r\n```\r\n\r\n\r\n## Documentation\r\n\r\nThe official documentation is hosted on Read the Docs: [https://pinnx.readthedocs.io/](https://pinnx.readthedocs.io/)\r\n\r\n\r\n## See also the BDP ecosystem\r\n\r\nWe are building the Brain Dynamics Programming ecosystem: https://ecosystem-for-brain-dynamics.readthedocs.io/\r\n\r\n",
"bugtrack_url": null,
"license": "Apache-2.0 license",
"summary": "Physics-informed.",
"version": "0.0.1",
"project_urls": {
"Homepage": "https://github.com/chaobrain/pinnx",
"homepage": "http://github.com/chaobrain/pinnx",
"repository": "http://github.com/chaobrain/pinnx"
},
"split_keywords": [
"computational neuroscience",
" brain-inspired computation",
" brain dynamics programming"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "de4a330fe89893bc1da26aa53601d4345e11277ffbfa7bb806162b55d4503b26",
"md5": "30c046f7af41b3fffadf69c76fd87104",
"sha256": "ed7fbe4b8687fe57ba4ed03405989a56e364cda05d3bb05fd8f40a86b88726e4"
},
"downloads": -1,
"filename": "pinnx-0.0.1-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "30c046f7af41b3fffadf69c76fd87104",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.9",
"size": 102301,
"upload_time": "2024-11-20T06:05:51",
"upload_time_iso_8601": "2024-11-20T06:05:51.227929Z",
"url": "https://files.pythonhosted.org/packages/de/4a/330fe89893bc1da26aa53601d4345e11277ffbfa7bb806162b55d4503b26/pinnx-0.0.1-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-20 06:05:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "chaobrain",
"github_project": "pinnx",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "matplotlib",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "scikit-learn",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "brainstate",
"specs": []
},
{
"name": "brainunit",
"specs": []
},
{
"name": "braintools",
"specs": []
}
],
"lcname": "pinnx"
}