<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/) (^1.26.3),
- 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/81/a5/ee053c7aafa445554c1548c02493f2a9672437210276cab9e43d84adc88f/pygpe-2.0.1.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/) (^1.26.3),\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.1",
"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": "de02e7eaa883dea4d2c66cd8d9a891093c26b111060dfaab3a09f5c28f794d9c",
"md5": "1ea8e9015bb816115a9af1f310ca6e0a",
"sha256": "6f4c9538c301f8fc005e3a2d7eb970447f140cd81504c96660897378f2963a19"
},
"downloads": -1,
"filename": "pygpe-2.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1ea8e9015bb816115a9af1f310ca6e0a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 26099,
"upload_time": "2024-03-23T20:33:17",
"upload_time_iso_8601": "2024-03-23T20:33:17.522179Z",
"url": "https://files.pythonhosted.org/packages/de/02/e7eaa883dea4d2c66cd8d9a891093c26b111060dfaab3a09f5c28f794d9c/pygpe-2.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "81a5ee053c7aafa445554c1548c02493f2a9672437210276cab9e43d84adc88f",
"md5": "0c9dc500b84e56ef6094b0b545316eda",
"sha256": "5a191b20a2f0bd72e8f0f864a1eb053ea781e830ed61b7ef37f7c18df69f205f"
},
"downloads": -1,
"filename": "pygpe-2.0.1.tar.gz",
"has_sig": false,
"md5_digest": "0c9dc500b84e56ef6094b0b545316eda",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 17011,
"upload_time": "2024-03-23T20:33:19",
"upload_time_iso_8601": "2024-03-23T20:33:19.499471Z",
"url": "https://files.pythonhosted.org/packages/81/a5/ee053c7aafa445554c1548c02493f2a9672437210276cab9e43d84adc88f/pygpe-2.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-23 20:33:19",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "wheelerMT",
"github_project": "pygpe",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pygpe"
}