Abstract

A Fortran 90 code is provided for calculating the electron reflection and transmission coefficients in semiconductor heterostructures within the 14-band k ⋅ p approximation. The code may easily be adapted for use with any k ⋅ p model, including magnetic field and/or strain effects, for example. Numerical instability, which is problematic in type-II systems due to the simultaneous presence of propagating and evanescent states, is reduced by developing a novel log-derivative R-matrix approach based on the Jost solution to the k ⋅ p equation. Program summary Program title: multiband-kp Catalogue identifier: AEKG_v1_0 Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEKG_v1_0.html Program obtainable from: CPC Program Library, Queenʼs University, Belfast, N. Ireland Licensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.html No. of lines in distributed program, including test data, etc.: 7088 No. of bytes in distributed program, including test data, etc.: 90 237 Distribution format: tar.gz Programming language: Fortran 90 Computer: HP 128-node cluster (8 Intel 3.0 GHz Xeon processors per node) Operating system: RedHat Enterprise Linux 5.1 RAM: 11 MB Classification: 7.3, 7.9 External routines: LAPACK [1], ODE [2] Nature of problem: Calculating the electron transmission (or reflection) coefficient for single, double or multiple semiconductor quantum wells. Solution method: Makes use of a log-derivative reflection matrix approach which is based on obtaining the Jost solution to the multiband envelope function k ⋅ p equation. Restrictions: Accuracy depends on the limitations of the k ⋅ p model. In this implementation a “bare” 14-band model is used. Unusual features: By default Intelʼs math-kernel-library (MKL) [3] runs in serial mode. MKL also has built in parallel matrix algorithms which can be invoked without explicit parallelization in the source code. In this case all of the 8 CPUs in one node are used by the LAPACK subroutines. Running time: The given sample output, for the transmission coefficient at 750 different energies, required 376.51 CPU seconds (less than 7 minutes on a single CPU).

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call