Abstract

We present BEC2HPC which is a parallel HPC spectral solver for computing the ground states of the nonlinear Schrödinger equation and the Gross-Pitaevskii equation (GPE) modeling rotating Bose-Einstein condensates (BEC). Considering a standard pseudo-spectral discretization based on Fast Fourier Transforms (FFTs), the method consists in finding the numerical solution of the energy functional minimization problem under normalization constraint by using a preconditioned nonlinear conjugate gradient method. We present some numerical simulations and scalability results for the 2D and 3D problems to obtain the stationary states of BEC with fast rotation and large nonlinearities. The code takes advantage of existing HPC libraries and can itself be leveraged to implement other numerical methods like e.g. for the dynamics of BECs. Program summaryProgram title: BEC2HPCCPC Library link to program files:https://doi.org/10.17632/mdzpw4dr4t.1Licensing provisions: GPLv2Programming language: C++, PythonNature of problem: This software computes the stationary states of rotating Bose–Einstein condensates (BEC) modeled by the Gross–Pitaevskii equation (GPE). It implements a numerical method that is particularly effective for BEC with fast rotation and large nonlinearities. The parallel implementation allows to perform large-scale simulations of 2D or 3D problems on parallel computing platforms.Solution method: The stationary states are computed using an iterative pseudo-spectral method based on Fast Fourier Transforms. The computation takes the form of a constrained minimization problem solved using a preconditioned nonlinear conjugate gradient method. This solver is implemented in distributed memory using MPI and a decomposition of the computational domain.Additional comments including restrictions and unusual features: The algorithms are implemented in C++ and MPI but a Python interface is provided for defining the physics of the problem. Results can be exported to HDF5 files and visualized with external tools such as ParaView. The code can be used to implement other spectral methods in parallel or to solve problems related to the dynamics of BECs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call