Interface Hamiltonian 8-band Zinc-Blende

The Model

The interface Hamiltonian is used to model the heterostructures with atomic sharp interfaces. This is an extension of the standard 8-band \(\mathbf{k} \cdot \mathbf{p}\) model (described here). The model, originally derived in [Kilpstein2010], includes \(l=2\) perturbation terms, which have been omitted in our implementaion, consistent with the approach in [LivnehPRB2012].

The interface Hamiltonian in the block form is given by:

\[\begin{split}\hat{\mathcal{H}}_{interface} = \delta (z - z_{i}) \begin{bmatrix} D_S & 0 & 0 & \pi \beta \\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0 & D_X & \pi \alpha & 0 \\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0 & \pi \alpha & D_X & 0 \\ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pi \beta & 0 & 0 & D_Z \\ \end{bmatrix}\end{split}\]

where \(\delta\) is the Dirac delta function, \(z_{i}\) is the position of the interface, \(D_S\), \(D_X\), \(D_Z\), \(\alpha\), and \(\beta\) are the interface Hamiltonian parameters, \(\pi\) is the parameter that can take values of \(\pm 1\). Parameter \(\pi\) is used to distinguish different ordering of materials at the interface, for example InaAs/GaSb and GaSb/InAs interfaces would have same interface paramters, but opposite \(\pi\) values.

Implementation and usage

The interface Hamiltonian is available only for 1D simulations. For the best results, ensure that there is a grid point at the interface position, for example like so:

grid{
    xgrid{
        ...
        line{ pos = $x_1          spacing = $x_interface }   # material1
        line{ pos = $x_interface  spacing = $x_2 }           # material2
        ...
    }
}

To add the interface Hamiltonian to the simulation, use the interface keyword in quantum{ region{ kp8_band{} } } section of input file.

Example:

quantum{
    region{
        kp_8band{
            ...
            interface{
                position = $x_interface
                D_S = 1.0
                D_X = 2.0
                D_Z = 1.5
                alpha = 0.1
                beta = 0.1
                reverse = no
            }
            ...
        }
    }
}

reverse=no corresponds to \(\pi = 1\), and reverse=yes corresponds to \(\pi = -1\). Other interface parameters are expressed in \(eV \cdot nm\).

One can add multiple interfaces to the simulation by adding multiple interface blocks to the input file. Example below has 2 interfaces with the same paramters, but different order of materials (common case for modelling of quantum well).

quantum{
    region{
        kp_8band{
            ...
            interface{
                position = $x_interface1
                D_S = 1.0
                D_X = 2.0
                D_Z = 1.5
                alpha = 0.1
                beta = 0.1
                reverse = no
            }
            interface{
                position = $x_interface2
                D_S = 1.0
                D_X = 2.0
                D_Z = 1.5
                alpha = 0.1
                beta = 0.1
                reverse = yes
            }
        }
    }
}

To set up repeating interfaces, one can use the array_x keyword in the interface block.

quantum{
    region{
        kp_8band{
            ...
            interface{
                position = 10.0
                ... # parameters here
                array_x{
                    shift = 2.0
                    min = -2
                    max = 3
                {
            }
        }
    }
}

The above example will create 6 interfaces with the same parameters, at positions 6.0, 8.0, 10.0, 12.0, 14.0 and 16.0 nm.


Last update: 23/01/2025