pygpe

Library for numerically solving the Gross-Pitaevskii equations for scalar, two-component, spin-1, and spin-2 Bose-Einstein condensate systems.

https://github.com/wheelermt/pygpe

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 5 committers (20.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.1%) to scientific vocabulary

Keywords

fourier-methods fourier-transform gross-pitaevskii numerical-methods physics physics-simulation quantum-fluids quantum-mechanics
Last synced: 4 months ago · JSON representation ·

Repository

Library for numerically solving the Gross-Pitaevskii equations for scalar, two-component, spin-1, and spin-2 Bose-Einstein condensate systems.

Basic Info
  • Host: GitHub
  • Owner: wheelerMT
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 10.8 MB
Statistics
  • Stars: 10
  • Watchers: 1
  • Forks: 3
  • Open Issues: 3
  • Releases: 5
Topics
fourier-methods fourier-transform gross-pitaevskii numerical-methods physics physics-simulation quantum-fluids quantum-mechanics
Created almost 4 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

logo

A fast and easy to use Gross-Pitaevskii equation solver.

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 (^3.6.0),
  • numpy (^2.0.0),
  • Matplotlib (^3.8.2)

If using a GPU: - CUDA Toolkit (>=11.2) - 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 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.

logo

Owner

  • Name: Matt Wheeler
  • Login: wheelerMT
  • Kind: user
  • Location: Norwich
  • Company: University of East Anglia

Physics PhD student at the University of East Anglia. Studying topological defects in spinor Bose-Einstein condensates.

Citation (CITATION.cff)

cff-version: 1.0.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Wheeler
    given-names: Matthew Thomas
    orcid: https://orcid.org/0000-0002-0405-5805
title: "PyGPE"
version: 2.0.1
identifiers:
  - type: doi
    value: 10.5281/zenodo.10578040
date-released: 2024-01-14
url: https://github.com/wheelerMT/pygpe

GitHub Events

Total
  • Create event: 3
  • Release event: 3
  • Issues event: 6
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 2
  • Push event: 3
  • Pull request event: 1
  • Fork event: 1
Last Year
  • Create event: 3
  • Release event: 3
  • Issues event: 6
  • Watch event: 1
  • Delete event: 1
  • Issue comment event: 2
  • Push event: 3
  • Pull request event: 1
  • Fork event: 1

Committers

Last synced: almost 2 years ago

All Time
  • Total Commits: 322
  • Total Committers: 5
  • Avg Commits per committer: 64.4
  • Development Distribution Score (DDS): 0.289
Past Year
  • Commits: 77
  • Committers: 3
  • Avg Commits per committer: 25.667
  • Development Distribution Score (DDS): 0.584
Top Committers
Name Email Commits
Matt Wheeler m****5@h****k 229
Matt Wheeler m****r@u****k 41
Matt Wheeler w****T@p****e 32
Matt Wheeler w****t@p****e 17
Matt Wheeler 5****T 3
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 3
  • Total pull requests: 7
  • Average time to close issues: 17 days
  • Average time to close pull requests: 2 minutes
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.67
  • Average comments per pull request: 0.0
  • Merged pull requests: 6
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 5
  • Average time to close issues: 6 days
  • Average time to close pull requests: 1 minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • wheelerMT (9)
  • linhz0hz (1)
Pull Request Authors
  • wheelerMT (15)
  • nickkeepfer (1)
Top Labels
Issue Labels
enhancement (3) bug (1)
Pull Request Labels
enhancement (5) documentation (1)

Dependencies

requirements.txt pypi
  • cupy-cuda11x ==11.1.0
  • h5py ==3.6.0
test-requirements.txt pypi
  • cupy-cuda11x ==11.1.0 test
  • h5py ==3.6.0 test
  • pytest ==7.1.3 test
pyproject.toml pypi
  • cupy-cuda11x *
  • h5py *