Quantum Dots

The module contains classes for quantum dots in both one and two dimensions. In two dimensions there is also functionality for adding a constant homogeneous magnetic field.

One-Dimensional Quantum Dot

class quantum_systems.ODQD(l, grid_length, num_grid_points, a=0.25, alpha=1.0, beta=0, potential=None, **kwargs)

Create 1D quantum dot system

Parameters
  • l (int) – Number of basis functions

  • grid_length (int or float) – Space over which to model wavefunction

  • num_grid_points (int or float) – Defines resolution of numerical representation of wavefunction

  • a (float, default 0.25) – Screening parameter in the shielded Coulomb interation.

  • alpha (float, default 1.0) – Strength parameter in the shielded Coulomb interaction.

  • beta (float, default 0.0) – Strength parameter of the non-dipole term in the laser interaction matrix.

h

One-body matrix

Type

np.array

f

Fock matrix

Type

np.array

u

Two-body matrix

Type

np.array

setup_basis()

Must be called to set up quantum system. The method will revert to regular harmonic oscillator potential if no potential is provided. It is also possible to use double well potentials.

construct_position_integrals()

Constructs position matrix elements. This method is called by setup_basis().

Example

>>> odqd = ODQD(20, 11, 201, potential=ODQD.HOPotential(omega=1))
>>> odqd.l == 20
True
>>> abs(0.5 - odqd.h[0, 0]) # doctest.ELLIPSIS
0.0003...
class AsymmetricDWPotential(a=1, b=1, c=- 2.5)

This is a generalization of the asymmetric double-well potential used by Wadehra et. al: https://aip.scitation.org/doi/10.1063/1.1589481

derivative(x)
class DWPotentialSmooth(a=4)

This is the double-well potential used by J. Kryvi and S. Bøe in their thesis work. See Eq. [13.11] in Bøe: https://www.duo.uio.no/handle/10852/37170

derivative(x)
class SymmetricDWPotential(a=0.5, b=1, c=- 7)

This is a generalization of the symmetric double-well potential used by Wadehra et. al: https://aip.scitation.org/doi/10.1063/1.1589481

derivative(x)

Two-Dimensional Quantum Dots

class quantum_systems.TwoDimensionalHarmonicOscillator(l, radius_length, num_grid_points, omega=1, mass=1, verbose=False, **kwargs)

Create 2D harmonic oscillator, using polar coordinates

Parameters
  • l (int) – Number of basis functions

  • radius_length (int or float) – Radius of space over which to model wavefunction

  • num_grid_points (int or float) – Defines resolution of numerical representation of wavefunction

  • omega (float, default 1) – Frequency of harmonic oscillator potential.

  • mass (int of float, default 1) – Mass of electrons

h

One-body matrix

Type

np.array

f

Fock matrix

Type

np.array

u

Two-body matrix

Type

np.array

setup_basis()

Must be called to set up quantum system.

setup_spf()

Constructs single-particle functions. This method is called by setup_basis().

construct_position_integrals()

Constructs position integrals. This method is called by setup_basis().

class quantum_systems.TwoDimensionalDoubleWell(*args, barrier_strength=1, axis=0, **kwargs)

System constructing two-dimensional quantum dots with a double well potential barrier.

Parameters
  • l (int) – Number of spin-orbitals.

  • radius (float) – Length of radial coordinate.

  • num_grid_points (int) – Discretization of spatial coordinates. This includes both the radial and the angular part of the room.

  • barrier_strength (float) – Barrier strength in the double well potential.

  • omega (float) – Frequency of the oscillator potential.

  • mass (float) – Mass of the particles.

  • axis (int) – The axis argument specifies which axis the well barrier is aligned to. (0, 1) = (x, y).

setup_basis()

Function setting up the one- and two-body elements, the single-particle functions, position integrals and other quantities used by second quantization methods.

class quantum_systems.TwoDimHarmonicOscB(*args, omega_c=0, **kwargs)

Create 2D harmonic oscillator under homogenous magnetic field, using polar coordinates

Parameters
  • l (int) – Number of spinorbitals

  • radius_length (int or float) – Radius of space over which to model wavefunction

  • num_grid_points (int or float) – Defines resolution of numerical representation of wavefunction

  • omega_0 (float, default 1) – Frequency of harmonic oscillator potential.

  • mass (int or float, default 1) – Mass of electrons.

  • omega_c (float, default 0) – Frequency corresponding to strength of magnetic field.

h

One-body matrix

Type

np.array

f

Fock matrix

Type

np.array

u

Two-body matrix

Type

np.array

setup_basis()

Must be called to set up quantum system.

construct_position_integrals()

Constructs position integrals. This method is called by setup_basis().