GPUE represents the culmination of work by myself and James Schloss into developing a high performance quantum dynamics simulator for investigating superfluid dynamics of Bose-Einstein condensates. This solver allows for studies of 2D and 3D dynamics, quantum vortices, arbitrary potential geometries, artificial gauge fields, as well as a variety of additional features. The solver makes use of CUDA libraries and custom kernels to enable GPUE to simulate quantum systems faster than competing suites or libraries, as well as Python routines for post-processing and data analysis. Documentation and example use-cases are available here, with the API available here.
The work has been peer-reviewed and published in the Journal of Open Source Software (JOSS), and is cited as: $\textrm{Schloss and O’Riordan, (2018). GPUE: Graphics Processing Unit Gross–Pitaevskii Equation solver.}$ $\textrm{Journal of Open Source Software, 3(32), 1037,}$ https://doi.org//10.21105/joss.01037.
Below are three sample videos from the 2D simulation code, showcasing a rapidly rotating BEC vortex lattice, subject to a variety of perturbations. Details of these works are available in the papers on Moire superlattices and defect engineering respectively.
GPUE topics
The following pages discuss different aspects of the GPUE functionality. Much of the following can be found in the documentation.
- 2D BEC vortex tracking: This explains the tracking and determination of vortex core positions from 2D complex scalar field data (aka a wavefunction in 2D).
- FFT along n-th dimension: For implementing the angular momentum operators, performing an FFT along individual dimensions of a multidimensional data set is necessary. This discusses our implementation in GPUE.