pinnx


Namepinnx JSON
Version 0.0.2 PyPI version JSON
download
home_pagehttps://github.com/chaobrain/pinnx
SummaryPhysics-informed.
upload_time2024-12-03 12:59:08
maintainerNone
docs_urlNone
authorPINNx Developers
requires_python>=3.9
licenseApache-2.0 license
keywords computational neuroscience brain-inspired computation brain dynamics programming
VCS
bugtrack_url
requirements matplotlib numpy scikit-learn scipy brainstate brainunit braintools optax
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PINNx: Physics-Informed Neural Networks for Scientific Machine Learning in JAX


<p align="center">
  	<img alt="Header image of pinnx." src="https://github.com/chaobrain/pinnx/blob/main/docs/_static/pinnx.png" width=50%>
</p> 


[![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.


## Algorithms


``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<p align=\"center\">\r\n  \t<img alt=\"Header image of pinnx.\" src=\"https://github.com/chaobrain/pinnx/blob/main/docs/_static/pinnx.png\" width=50%>\r\n</p> \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\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## Algorithms\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.2",
    "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": "640539df231c8a418151f430d630e49f82937ed905a103d3d1d2c64ecb39ec00",
                "md5": "a941fb61266234c8fe52bad74b400ce2",
                "sha256": "8679a859ac6de17b29723bb96090900bf273ab651833ac13cd9037f3520ead23"
            },
            "downloads": -1,
            "filename": "pinnx-0.0.2-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a941fb61266234c8fe52bad74b400ce2",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.9",
            "size": 124399,
            "upload_time": "2024-12-03T12:59:08",
            "upload_time_iso_8601": "2024-12-03T12:59:08.385287Z",
            "url": "https://files.pythonhosted.org/packages/64/05/39df231c8a418151f430d630e49f82937ed905a103d3d1d2c64ecb39ec00/pinnx-0.0.2-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-03 12:59:08",
    "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": [
                [
                    ">=",
                    "0.0.3"
                ]
            ]
        },
        {
            "name": "braintools",
            "specs": []
        },
        {
            "name": "optax",
            "specs": []
        }
    ],
    "lcname": "pinnx"
}
        
Elapsed time: 2.10381s