{'fraction_non_alphanumeric': 0.033072546230440966, 'fraction_numerical': 0.008771929824561403, 'mean_word_length': 4.5653034300791555, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
An user-friendly software tool for the solution of the time-dependent Schrödinger and Gross-Pitaevskii equations

In this work we present TDStool, a general-purpose easy-to-use software tool for the solution of the time-dependent Schrödinger equation in 2D and 3D domains with arbitrary time-dependent potentials. The numerical algorithms adopted in the code, namely Fourier split-step and box-integration methods, are sketched and the main characteristics of the tool are illustrated. As an example, the dynamics of a single electron in systems of two and three coupled quantum dots is obtained. The code is released as an open-source project and has a build-in graphical interface for the visualization of the results.


Introduction
The astonishing development in semiconductor growth, characterization and processing technologies opened new horizons in the field of carriers control, up to the single electron level [1]. In fact, single-particle quantum interference is routinely achieved in advanced research laboratories and single electrons are not only confined, but also moved by varying electromagnetic fields [2]. The theoretical modeling of such systems is usually tackled with numerical instruments developed on a case-by-case basis. Although this allows for a great specificity, the development work is very expensive.
Here we present a novel software tool for the numerical solution of the time-dependent (TD) Schrödinger equation. We named it TDStool and released it as an open-source project (binaries are available for Windows and Linux systems), free for non-commercial use [3]. The main characteristics of TDStool are: 2D and 3D solution domain; arbitrary TD electric potential landscape; uniform magnetic field; nonuniform (x-y-z separable) discretization grid; clean graphical user interface for input setup and results visualization; comprehensive documentation. Two different numerical algorithms are available, namely Fourier split-step and box-integration method.
In addition to the linear Schrödinger case, the nonlinear system dynamics determined by TD Gross-Pitaevskii equation [4] can be simulated. In fact, many recent experimental results on the manipulation of quantum ultracold condensates exposed the quantum coherence of their dynamics [5] and confirmed the extra potential-like term g|ψ(r)| 2 in their equation of motion, proportional to the local particle density.
In the next section we sketch the numerical algorithms adopted in the code. Then, in the remaining two sections, we present two examples of applications, namely the single-particle dynamics of a carrier confined in a system of three coupled GaAs-based semiconductor quantum dots, and the quantum evolution of the probability density initially in one dot of a two-dot system, and subject to the TD piezoelectric potential of a surface acoustic wave (SAW).

Numerical methods
For the linear TD Schrödinger equation we allow a nonuniform but x-y-z separable grid and use the box integration method [6]. Here, for the sake of brevity, we neglect the magnetic field term and takeh = 1, m = 1. The equation is integrated on each box C of the domain. The kinetic term represents the only non trivial part of the derivation, since it is the only one not diagonal in the real-space representation. By using the Gauss theorem, we can write C ∇ 2 ψ ds = ∂C ∇ψn dl. The latter term, containing the derivatives of ψ on the box edges (n is the versor orthogonal to them), can be easily obtained through a finite-difference approximation. Finally, a Cranck-Nicholson scheme is used for the time derivative and the resulting sparse linear system is solved through a specific library routine [7]. In order to solve the TD Gross-Pitaevskii equation (with a coupling constant g), or the Schrödinger equation on a uniform grid, we use a splitstep Fourier method [8]. The Hamiltonian is split in a linear part L = i 2 ∇ 2 and a nonlinear part N = −i U + g|ψ| 2 , and the evolution operator U is decomposed by using a second-order approximation according It is easy to see that the wave function evolution obtained with the above approximation is equivalent to first perform a step of dt 2 with the nonlinear operator N at time t + dt 2 , then a dt step with L, finally another dt 2 step with N (t + dt 2 ). Now, the problem comes down to compute the separate evolutions generated by N and L. It is clear that the operator N is diagonal in the real-space representation, thus its effect is local on each point of the wave function. On the other hand, the eigenvectors of the operator L are known analytically since they are the set of plane waves. The linear evolution of ψ can be obtained in a straightforward way on the reciprocal k space. In order to do so, after the first nonlinear step the wave function is Fourier transformed through an efficient library routine [9]. Then, the linear evolution is applied directly since its effect is local in k space. Finally, ψ is anti-Fourier transformed before the application of the second nonlinear step.
3. Carrier dynamics in a three-dot system As a first example, we consider a system of three 2D quantum dots [10] with circular Gaussian confinement, as depicted in Fig. 1. We take the electron at the initial time as a Gaussian wave packet with zero kinetic energy, centered and fully contained within the upper dot. As the simulation evolves, the wave function is partially transferred into the other dots, due to their effective coupling. Four steps of the time evolution are shown in the first row of Fig. 4, where the gray shaded background represents the potential (darker means lower) and the foreground red plot represents |ψ| 2 . We stress that the colormap figures are generated directly by TDStool and are reported here as simple screen-shots in order to better illustrate its graphical capabilities.    . Screen-shots at four different time-steps, namely 0, 2ps, 4ps, 6ps, representing the time-evolution of |ψ| 2 (red, in the foreground) and the three-dot static potential (gray, in the background). The first and second rows represent the case with symmetric and non-symmetric (100 nm to the left) position of the upper dot, respectively.
We repeat the simulation with the upper dot moved towards the left in step of 50 nm. Figure 2 shows the time evolution of the dots occupancy when the dot is displaced by 50 nm and the second row of Fig. 4 shows the |ψ| 2 evolution when the displacement is 100 nm. As expected, at a given time, the more the upper dot is moved towards the left, the higher is the left dot occupancy with respect to the right one. This is illustrated in Fig. 3.

Electron in a double dot wit SAW
As an example of a simulation with a time-dependent potential we take a 2D double dot represented by the same confining potential described in the previous section. At the initial time, a Gaussian wave packet is centered in the left dot. A first simulation without the SAW potential confirms that the two dots are essentially decoupled and the electron dynamics is confined in  Figure 5. Screen-shots at four different time steps (0, 2, 4, 6 ps) representing the evolution of |ψ| 2 and of the timedependent potential (see Fig. 4 caption). The latter potential is formed by the sinusoidal SAW moving towards the right (λ = 200nm, amplitude=10 meV and velocity=3× 10 4 m/s)) and the two Gaussian dots. In this case, after 6 ps the electron is transferred, almost entirely, in the right dot. Evolution of right-dot occupancy in the two-dot system. As expected, the SAWinduced transfer of the electron is more efficient for higher SAW amplitudes.
the initial dot (the Gaussian wave packet is not an eigenstate of the single-dot potential). A sinusoidal potential that mimics the piezoelectric potential of a SAW [11] is introduced, with the parameters given in Fig. 5 caption. The latter figure shows |ψ| 2 at four different time steps, together with the SAW and dots potential in the background. In general, for increasing SAW amplitudes a larger amount of the wave function is moved into the right dot by the SAW, this showing how SAWs could effectively induce a coupling between the two dots. However, we do not find a monotonic behavior and at certain times the right dot occupancy is lower for higher SAW amplitudes (crossing at 5 ps in Fig. 6). This can be ascribed to higher-energy components that are excited in the second case and are able to escape the SAW confinement.