pygpe


Namepygpe JSON
Version 2.0.1 PyPI version JSON
download
home_pagehttps://github.com/wheelerMT/pygpe
SummaryA fast Gross-Pitaevskii equation solver for scalar, spin-1 and spin-2 BEC systems.
upload_time2024-03-23 20:33:19
maintainerNone
docs_urlNone
authorMatt Wheeler
requires_python<4.0,>=3.10
licenseMIT
keywords gross-pitaevskii bose-einstein scientific computing numerical methods
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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"
}
        
Elapsed time: 0.20753s