CircDot Print
Electronic states
Written by Massimo Macucci   
Saturday, 24 January 2009 15:53

CIRCDOT

 

The program CIRCDOT computes, including Coulomb interaction, the chemical potential in a 2-dimensional circular quantum dot

M. Macucci

This program solves the Schroedinger and Poisson equations in a circular two-dimensional quantum dot defined by a parabolic bare confinement potential. The chemical potential of the quantum dot is computed, for a given number of electrons, using Slater's transition rule. Many-body effects are included in the framework of the local density functional approximation, taking into account exchange and correlation terms [1,2].

The 2-dimensional approximation is reasonable, as long as dots with a thickness in the vertical direction that is less than one tenth of the diameter are considered (as in the case of dots obtained by means of lateral depletion gates in modulation doped heterostructures).

The 2-dimensional Schrödinger equation for the dot reads, in polar coordinates:

\begin{displaymath} -{\frac{\hbar^2}{2 m^*}}\left\lbrace{{\frac{1}{\rho}} {\frac... ... }\right \rbrace + V(\rho)\psi(\rho,\phi) = E \psi(\rho,\phi), \end{displaymath} (1)
where $\hbar$ is the reduced Planck constant, $m^*$ the effective mass of the electron, the radial coordinate and $\phi$ the angular coordinate. The total potential $V(\rho)$ includes[2] the confinement potential, the Coulomb interaction term with the other electrons, and the exchange and correlation terms, evaluated on the basis of the polynomial approximations given by Tanatar and Ceperley[3]. The confinement potential is assumed to be parabolic up to a distance corresponding to the geometric dot radius, where hard walls define the outer boundary. Such a potential landscape is consistent with the experimental results for the charging energy, as shown in [4].

The 2D Schrödinger equation is separable into an azimuthal and a radial equation:

\begin{displaymath} {\frac{d^2\Phi(\phi)}{d \phi^2}}+\nu^2\Phi(\phi)=0 \end{displaymath} (2)


\begin{displaymath} {\frac{d^2 P(\rho)}{d \rho^2}}+{\frac{1}{\rho}} {\frac{dP(\r... ...(\rho) +\left ({k^2-{\frac{\nu^2}{\rho^2}}}\right ) P(\rho)=0, \end{displaymath} (3)

where $\nu^2$ is the separation constant. Enforcing periodic boundary conditions, the azimuthal equation has the standard solution $\Phi=c \exp(\pm i \phi)$. For $\nu^2=0$ we have only one solution, while for $\nu^2 \ne 0$ there are two solutions corresponding to the up and down orientations of the angular momentum.

The radial equation is properly discretized and solved numerically, with a self-consistent iterative procedure[2].

For a dot radius around 100 nm and a number of electrons around 20, convergence is attained with a few tens of iterations, while, for smaller dots, fewer iterations are needed, because the self-consistent solution is very close to that of the single-electron problem, from which it differs only by a small perturbation.

This is the consequence of the fact that the interaction energy scales with $1/R_e$, $R_e$ being the effective radius over which the electron wave function is spread, while the confinement energy scales with $1/R_e^2$. Thus, for increasing dot size, the Coulomb energy becomes more and more important, leading to a very stiff self-consistent problem.

The chemical potential $\mu(N)$, corresponding to the energy needed to add the $N$-th electron to a system with $N-1$ electrons, is computed by means of Slater's transition rule[1,5], avoiding the numerical problems involved with differentiations.

It is then possible to compute the ``capacitive energy''[6] or ``charging energy'' defined as $e^2/C(N)=\mu(N+1)-\mu(N)$: this is the quantity to be compared with experiments such as that in [7].

The code requires only one input file, named data.in (a sample input file is available in datasample.in).

The output files are:

  • mu.out, which contains the chemical potential,
  • barepot.out, containing the bare parabolic confinement potential along the radial coordinate,
  • dens.out, containing the electron density, in arbitrary units,
  • pot.out, containing the self-consistent confinement potential,
  • eiv.out, containing the eigenvalues for the filled orbitals,
  • eigN.out, N being an integer between 1 and 19, which contain the eigenfunctions corresponding to each orbital,
  • errors.out, which includes the errors occurred while running the code,
  • info.out, where information about the current run is available.
All energies are expressed in electronvolts.

Description of the input file data.in
  • The first entry in the input file, smesh, is the radial discretization step, in meters.
  • The second entry of the input file is numro, the number of points to be considered along the radius; therefore the total radius of the dot, up to the hard-wall boundary condition, is given by (numro + 1) * smesh.
  • The third parameter, numcir, is the number of points to be used for the angular discretization of the Coulomb integrals.
  • The fourth entry, thres, is the threshold for convergence of the self-consistent solution. At each iteration, the sum of the mean squared differences between occupied wave functions at the current iteration and those at the previous iteration are computed, and the program is stopped if the result is less than the threshold for convergence.
  • The fifth entry is the underrelaxation parameter, alp: at each iteration a potential corresponding to a weighed average of that due to the electron density at the current iteration and that from the previous iteration is used. The weighing factor for the potential due to the current electron density is 1 - alp, while that for the potential at the previous iteration is alp.
  • The sixth entry, nitall, is the maximum number of iterations: if this number of iterations is reached, execution of the code stops and an error message is included in errors.out and in info.out.
  • The seventh entry, hbar omega, is the value in eV of $\hbar \omega$, from which the value of $\omega$ is computed to evaluate the bare confinement potential $V_p$ with the expression
    \begin{displaymath} V_p=\beta+{\frac {1} {2}}m^* \omega^2 r^2, \end{displaymath} (4)

    where $m^*$ is the effective mass of the electron, $\beta$ is a constant defined in the eighth entry of the input file, and $r$ is the radial distance.
  • The eighth entry, beta, corresponds to the value of $\beta$ (in eV) to be used in the above mentioned equation.
  • The ninth parameter is the number of electrons in the dot for which we want to compute the chemical potential.
  • The tenth parameter corresponds to the effective mass ratio.
  • The eleventh parameter corresponds to the relative permittivity.
  • The twelfth parameter, iflag, is used to activate (if it is at 1) or deactivate (if it is at 0) the inclusion into calculations of the exchange and correlation potentials.
The following is a commented template input file:
  • 10e-10 smesh (the radial discretization step is 1 nm)
  • 89 numro (the radial discretization is over 89 points, therefore the radius is 90 nm)
  • 100 numcir (the number of points used to discretize the Coulomb integrals is 100)
  • 1e-6 thres (the threshold for convergence of the iterative procedure is $10^{-6}$)
  • 0.5 alp (the underrelaxation factor is 0.5)
  • 4000 nitall (the maximum number of allowed iterations is 4000)
  • 3e-3 hbar omega (in eV) ( $\hbar \omega =3 \times 10^{-3}$ eV)
  • -0.5 beta (in eV) (the constant term in the confinement potential is -0.5 eV)
  • 3 number of electrons
  • 0.067 effective mass ratio
  • 12 relative permittivity
  • 1 exchange and correlation flag (exchange and correlation terms are included in the calculations)


Interpretation of the output files

The contents of the output files have already been introduced in the general description. Here we want to focus on interpretation of the info.out and of the errors.out files. If the errors.out file is empty, no errors have taken place and generic information about the run can be found in info.out, which contains the final value of the convergence parameter and the total number of iterations performed. If the allowed maximum number of iterations is reached before achieving convergence, the program is stopped and an error message is included in errors.out. In such a case, calculations must be repeated considering either a smaller dot, fewer electrons or a different underrelaxation parameter. Notice that for values of the underrelaxation parameter very close to 1 the threshold for convergence should be appropriately reduced, otherwise the program will stop before actual convergence is achieved.


Problem size limitations

The code currently available on the computational hub can handle a maximum of 100 discretization points along the dot radius and of 80 electrons.

Bibliography

1
M. Macucci, Karl Hess and G. J. Iafrate, Phys. Rev. B 48, 17354 (1993).

 

2
M. Macucci, Karl Hess, G. J. Iafrate, J. Appl. Phys. 77, 3267 (1995).

 

3
B. Tanatar and D. M. Ceperley, Phys. Rev. B 39, 5005 (1989).

 

4
M. Macucci, Karl Hess, and G. J. Iafrate, Phys. Rev. B 55, R4879 (1997).

 

5
J. P. Perdew and Alex Zunger, Phys. Rev. B 23, 5048 (1981).

 

6
G. J. Iafrate, K. Hess, J. B. Krieger and M. Macucci, Phys. Rev. B 52, 10737 (1995).

 

7
S. Tarucha, D. G. Austing, T. Honda, R. J. van der Hage, L. P. Kouwenhoven, Phys. Rev. Lett 77, 3613 (1996).

Last Updated ( Wednesday, 25 March 2009 19:43 )