<p align="center"><img src="docs/pygpe.png" alt="logo" ></p>
<h4 align="center">A fast and easy to use Gross-Pitaevskii equation solver.</h4>
## Description
PyGPE is a CUDA-accelerated Python library for solving the Gross-Pitaevskii equations for use in simulating
Bose-Einstein condensate systems.
- Documentation: https://wheelermt.github.io/pygpe-docs/
### Supported features
- Scalar, two-component, spin-1, and spin-2 BEC systems.
- 1D, 2D, and 3D grid lattices.
- GPU support.
- HDF5 data saving system.
- Method for generating vortices within the system.
### Requirements
- Python (3.10 and above),
- [h5py](https://github.com/h5py/h5py) (^3.6.0),
- [numpy](https://numpy.org/) (^2.0.0),
- Matplotlib (^3.8.2)
If using a GPU:
- CUDA Toolkit (>=11.2)
- [CuPy](https://github.com/cupy/cupy) (>=10.2.0).
## Installation
The simplest way to begin using PyGPE is through pip:
pip install pygpe
By default, PyGPE will use the CPU to perform calculations.
However, if a CUDA-capable GPU is detected, PyGPE will automatically utilise it for drastic
speed-ups in computation time.
## Examples
See [examples](examples) folder for various examples on the usage of the library.
Below is an animation of superfluid turbulence in a scalar BEC simulated using PyGPE on a $512^2$ lattice
for $N_t=200000$ time steps taking **~5 minutes** to complete on an RTX 2060.
<p align="center"><img src="docs/animation.gif" alt="logo" > </p>
Raw data
{
"_id": null,
"home_page": "https://github.com/wheelerMT/pygpe",
"name": "pygpe",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "Gross-Pitaevskii, Bose-Einstein, scientific computing, numerical methods",
"author": "Matt Wheeler",
"author_email": "wheelermt@proton.me",
"download_url": "https://files.pythonhosted.org/packages/7d/70/bced6081b88711fec6728486d480edc69c1971ca68a9490ff454bc8c6a32/pygpe-2.0.3.tar.gz",
"platform": null,
"description": "<p align=\"center\"><img src=\"docs/pygpe.png\" alt=\"logo\" ></p>\n\n<h4 align=\"center\">A fast and easy to use Gross-Pitaevskii equation solver.</h4>\n\n## Description\n\nPyGPE is a CUDA-accelerated Python library for solving the Gross-Pitaevskii equations for use in simulating\nBose-Einstein condensate systems.\n\n- Documentation: https://wheelermt.github.io/pygpe-docs/\n\n### Supported features\n\n- Scalar, two-component, spin-1, and spin-2 BEC systems.\n- 1D, 2D, and 3D grid lattices.\n- GPU support.\n- HDF5 data saving system.\n- Method for generating vortices within the system.\n\n### Requirements\n\n- Python (3.10 and above),\n- [h5py](https://github.com/h5py/h5py) (^3.6.0),\n- [numpy](https://numpy.org/) (^2.0.0),\n- Matplotlib (^3.8.2)\n\nIf using a GPU:\n - CUDA Toolkit (>=11.2)\n - [CuPy](https://github.com/cupy/cupy) (>=10.2.0).\n\n## Installation\n\nThe simplest way to begin using PyGPE is through pip:\n\n pip install pygpe\n\nBy default, PyGPE will use the CPU to perform calculations.\nHowever, if a CUDA-capable GPU is detected, PyGPE will automatically utilise it for drastic\nspeed-ups in computation time.\n\n## Examples\n\nSee [examples](examples) folder for various examples on the usage of the library.\nBelow is an animation of superfluid turbulence in a scalar BEC simulated using PyGPE on a $512^2$ lattice\nfor $N_t=200000$ time steps taking **~5 minutes** to complete on an RTX 2060.\n\n<p align=\"center\"><img src=\"docs/animation.gif\" alt=\"logo\" > </p>\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A fast Gross-Pitaevskii equation solver for scalar, spin-1 and spin-2 BEC systems.",
"version": "2.0.3",
"project_urls": {
"Documentation": "https://wheelermt.github.io/pygpe-docs/",
"Homepage": "https://github.com/wheelerMT/pygpe"
},
"split_keywords": [
"gross-pitaevskii",
" bose-einstein",
" scientific computing",
" numerical methods"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3c44f9258741cbe56bcc4db1a3201abb68fabd3d22b0681871af1dc5b67fe15d",
"md5": "0bd07f662f4bad8701dfb603e9ac1b94",
"sha256": "cb73f5f901a17ee60f69882600029261adef9700a744623eca5571688811d1ff"
},
"downloads": -1,
"filename": "pygpe-2.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0bd07f662f4bad8701dfb603e9ac1b94",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 26490,
"upload_time": "2024-11-22T11:52:53",
"upload_time_iso_8601": "2024-11-22T11:52:53.084692Z",
"url": "https://files.pythonhosted.org/packages/3c/44/f9258741cbe56bcc4db1a3201abb68fabd3d22b0681871af1dc5b67fe15d/pygpe-2.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7d70bced6081b88711fec6728486d480edc69c1971ca68a9490ff454bc8c6a32",
"md5": "f404d42c4ced3c1c9e617c98d2d50f94",
"sha256": "7c8869a7784e2d54809494a24a3d2e4d48d694f447a167e70e56c01dc37a3315"
},
"downloads": -1,
"filename": "pygpe-2.0.3.tar.gz",
"has_sig": false,
"md5_digest": "f404d42c4ced3c1c9e617c98d2d50f94",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 16941,
"upload_time": "2024-11-22T11:52:53",
"upload_time_iso_8601": "2024-11-22T11:52:53.938186Z",
"url": "https://files.pythonhosted.org/packages/7d/70/bced6081b88711fec6728486d480edc69c1971ca68a9490ff454bc8c6a32/pygpe-2.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-22 11:52:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wheelerMT",
"github_project": "pygpe",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pygpe"
}