procedure, we first transfer this equation into dimensionless form as
= [~v2 + (%2 + y2 + + gol^r)|2 + (2-9)
where go = ⅛πNa∣ao, gd = μoμ2∕(2πuθ), ar∣ = y∕ħ∕MAa>o is the characteristic length, and ψ
is now normalized to unit, and
0(r) = ʃ ⅛j iι∕cθ∣3 %(r')∣2
is the mean-field due to the dipolar interaction.
The dipolar term has the form of a convolution integral, which can be treated with
Fourier transform as described in Appendix A. Now we are ready to put the whole thing
into a split-step Fourier scheme and propagate the Eq. 2.9 in the imaginary time to seek the
ground state.
In practice,we implement the split-step Fourier method using the FFTW package [5].
FFl W is a very efficient subroutine library for implementing the FFT in one or multi-
dimensional space. By employing FFTW in the code, we can reduce the typical compu-
tation time by nearly half comparing with using the popular subroutine from Numerical
Recipes. FFTW is written in C language and portable to any platform with a C compiler.
Also it has interference for Fortran and several other programming language. Furthermore,
the FFT algorithm are parallelized inside the FFTW code, therefore it will be able to work
in parallel environment. And the code structure is presented in the flow chart as fig. 2.1: