C and Fortran OpenMP programs for rotating Bose-Einstein condensates

C and Fortran OpenMP programs for rotating Bose-Einstein condensates
复制标题

用于旋转玻色-爱因斯坦凝聚态的 C 和 Fortran OpenMP 程序

DOI:
10.1016/j.cpc.2019.03.004
复制
发表时间:
2019
期刊:
Comput. Phys. Commun.
影响因子:
--
通讯作者:
A. Balaž
A. Balaž
中科院分区:
--
文献类型:
--
作者:
Kishor Kumar Ramavarmaraja;V. Loncar;Paulsamy Muruganandam;S. Adhikari;A. Balaž

文献摘要

被引文献

相似文献

我们目前的C和Fortran程序的OpenMP版本的解决Gross-Pitaevskii方程的旋转被困玻色-爱因斯坦凝聚体(BEC)在两个(2D)和三个(3D)的空间维度。该程序可用于生成涡格和研究旋转BEC的动力学。我们使用分裂步骤的Crank-Nicolson算法的虚的和实时的传播计算稳态和BEC动力学,分别。C程序的模拟输入参数是通过输入文件提供的,而Fortran程序的模拟输入参数是在每个程序的开头给出的,因此它们的变化需要重新编译相应的程序。该程序传播凝聚波函数,并计算几个相关的物理量,如能量,化学势,和均方根尺寸。时空传播开始于一个解析波函数,在陷阱中心有一个涡旋,在不同的空间点被随机相位调制。然而,收敛波函数的快速旋转BEC与大量的涡是最有效地计算使用预先计算的收敛波函数的旋转BEC包含一个较小的涡作为初始状态,而不是使用一个解析波函数作为初始状态的涡。这些预先计算的初始状态表现出快速收敛的快速旋转的凝聚态包含多个涡与适当的相结构。这里通过计算2D和3D中多达61个涡流的涡流晶格来说明这一点。程序的输出包括计算的物理量,以及波函数和不同的密度分布(全密度,低维的积分密度和密度截面)。所提供的实时传播程序可用于研究以定常波函数为初始状态的旋转BEC的动力学。程序名称:BEC-GP-ROT-OMP,包括:(1)BEC-GP-ROT-OMP-C程序包,包含(i)bec-gp-rot-2d-th和(ii)bec-gp-rot-3d-th程序;(2)BEC-GP-ROT-OMP-F程序包,包含(i)bec-gp-rot-2d-th和(ii)bec-gp-rot-3d-th程序。http://dx.doi.org/10.17632/cw7tkn22v2.2Licensing C程序用GNU、Intel、PGI、Oracle和Clang编译器进行了测试,Fortran程序用GNU、Intel、PGI和Oracle编译器进行了测试。问题性质:目前的开放多处理(OpenMulti-Processing,OpenMP)C和Fortran程序解决了在两个(2D)和三个(3D)空间维度上被捕获的旋转玻色-爱因斯坦凝聚体的时间相关的非线性偏微分Gross-Pitaevskii(GP)方程。解决方法:我们采用分步Crank-Nicolson算法在空间和时间上离散时间相关的GP方程。离散化方程,然后解决虚或实时传播,采用足够小的空间和时间步长,分别产生固定和非固定问题的解决方案。
We present OpenMP versions of C and Fortran programs for solving the Gross–Pitaevskii equation for a rotating trapped Bose–Einstein condensate (BEC) in two (2D) and three (3D) spatial dimensions. The programs can be used to generate vortex lattices and study dynamics of rotating BECs. We use the split-step Crank–Nicolson algorithm for imaginary- and real-time propagation to calculate stationary states and BEC dynamics, respectively. The simulation input parameters for the C programs are provided via input files, while for the Fortran programs they are given at the beginning of each program and therefore their change requires recompilation of the corresponding program. The programs propagate the condensate wave function and calculate several relevant physical quantities, such as the energy, the chemical potential, and the root-mean-square sizes. The imaginary-time propagation starts with an analytic wave function with one vortex at the trap center, modulated by a random phase at different space points. Nevertheless, the converged wave function for a rapidly rotating BEC with a large number of vortices is most efficiently calculated using the pre-calculated converged wave function of a rotating BEC containing a smaller number of vortices as the initial state rather than using an analytic wave function with one vortex as the initial state. These pre-calculated initial states exhibit rapid convergence for fast-rotating condensates to states containing multiple vortices with an appropriate phase structure. This is illustrated here by calculating vortex lattices with up to 61 vortices in 2D and 3D. Outputs of the programs include calculated physical quantities, as well as the wave function and different density profiles (full density, integrated densities in lower dimensions, and density cross-sections). The provided real-time propagation programs can be used to study the dynamics of a rotating BEC using the imaginary-time stationary wave function as the initial state. We also study the efficiency of parallelization of the present OpenMP C and Fortran programs with different compilers.Program summaryProgram title:BEC-GP-ROT-OMP, consisting of: (1) BEC-GP-ROT-OMP-C package, containing programs (i) bec-gp-rot-2d-th and (ii) bec-gp-rot-3d-th; (2) BEC-GP-ROT-OMP-F package, containing programs (i) bec-gp-rot-2d-th and (ii) bec-gp-rot-3d-th.Program files doi:http://dx.doi.org/10.17632/cw7tkn22v2.2Licensing provisions:Apache License 2.0Programming language:OpenMP C; OpenMP Fortran. The C programs are tested with the GNU, Intel, PGI, Oracle, and Clang compiler, and the Fortran programs are tested with the GNU, Intel, PGI, and Oracle compiler.Nature of problem:The present Open Multi-Processing (OpenMP) C and Fortran programs solve the time-dependent nonlinear partial differential Gross–Pitaevskii (GP) equation for a trapped rotating Bose–Einstein condensate in two (2D) and three (3D) spatial dimensions in a fully anisotropic traps.Solution method:We employ the split-step Crank–Nicolson algorithm to discretize the time-dependent GP equation in space and time. The discretized equation is then solved by imaginary- or real-time propagation, employing adequately small space and time steps, to yield the solution of stationary and non-stationary problems, respectively.