nextnano.com
 GUI: nextnanomat
 Tool: nextnano++
 Tool: nextnano³
 Tool: nextnano.QCL

 Download | SearchCopyright | News | Publications
 * password protected

 

nextnano³ software

 

  Monte-Carlo

 

 

 
Up
 

 

Monte Carlo transport

Here, the parameters for the Monte Carlo procedure are defined.

!------------------------------------------------------------------!
$Monte-Carlo                                             optional  !
 Monte-Carlo-transport                     character     required  !
 destination-directory                     character     required  !
 grid-position                             double_array  required  ! [nm]
 energy-dispersion                         character     required  !
 charge-carrier-type                       character     required  !
 number-of-simulated-carriers              integer       required  !
 number-of-timesteps                       integer       required  !
 timestep                                  double        required  ! [fs]
 number-of-electric-field-steps            integer       required  !
 electric-field-start-value                double_array  required  ! [V/m]
 electric-field-step                       double        required  ! [V/m]
 electric-field-step-factor                double        required  !
 start-averaging-after-timesteps           integer       required  !
 execute-averaging-after-timesteps         integer       required  !
 impurity-background-doping-concentration  double        required  ! [cm-3]
 doping-concentration                      double        required  ! [cm-3]
 LA-phonon-scattering                      character     optional  !
 LO-phonon-scattering                      character     optional  !
 TA-phonon-scattering                      character     optional  !
 TO-phonon-scattering                      character     optional  !
 acoustic-phonon-scattering                character     optional  !
 polar-optical-phonon-scattering           character     optional  !
 plasmon-scattering                        character     optional  !
 ionized-impurity-scattering               character     optional  !
 surface-roughness-scattering              character     optional  !
 electron-hole-scattering                  character     optional  !
 impact-ionization-scattering              character     optional  !
                                                                   !
 alloy-scattering                          character     optional  !
 alloy-disorder-scattering-potential       double        optional  ! [eV]
                                                                   !
 mass-density                              double        optional  ! [kg/m3]
 sound-velocity                            double        optional  ! [m/s]
 acoustic-deformation-potential            double        optional  ! [eV]
                                                                   !
 quantum-well-width                        double        optional  ! [nm]
 spacer-width                              double_array  optional  ! [nm]
 remote-doping-sheet-density               double_array  optional  ! [cm-2]
 2DEG-sheet-density                        double        optional  ! [cm-2]
 2DEG-sheet-density-number-of-subbands     double        optional  !
$end_Monte-Carlo                                         optional  !
!------------------------------------------------------------------!

 

Syntax

 destination-directory = Monte_Carlo/  ! Name of directory to which the Monte Carlo files should be written.
                                       ! It must exist and directory name has to include the slash (\ for DOS and / for UNIX).

 

 

 Monte-Carlo-transport = yes           ! Monte Carlo transport calculations switched on
                       = no            !
Monte Carlo transport calculations switched off
                       = simple        ! Monte Carlo transport calculations switched off and a simple 2DEG algorithm is employed
 

 

 grid-position         = 10.0d0            ! grid position in units of [nm]
                                           !
take material parameters from the material located at this point
 grid-position         = 10d0              ! x = 10 [nm]                           (1D)
                       = 10d0  20d0        ! x = 10 [nm], y = 20 [nm]              (2D)
                       = 10d0  20d0  20d0  ! x = 10 [nm], y = 10 [nm], z = 20 [nm] (3D)

 

 energy-dispersion = kp        ! use nonparabolic and anisotropic energy dispersion E(k) calculated from k.p theory, i.e.
                               !
take into account k.p           dispersion into scattering rates, overlap factors and selection of final states
                   = parabolic !
use parabolic      and     isotropic energy dispersion E(k) (single-band effective-mass approximation), i.e.
                               !
take into account parabolic dispersion into scattering rates, overlap factors and selection of final states

 

 

 charge-carrier-type = holes           ! Monte Carlo transport calculations for holes
                     = electrons       !
(not implemented yet)

 

 

 number-of-simulated-carriers = 10000  ! number of simulated electrons or holes, respectively
                                       ! (depending on charge-carrier-type = ...)

 

 

 number-of-timesteps = 600             ! number of timesteps
 timestep            = 10.0d0          !
timestep in units of [fs]
                                       !
total time  =  'number-of-timesteps'  *  'timestep'  =  600  *  10 fs  =  6000 fs  =  6 ps

 

 

 number-of-electric-field-steps = 5          ! number of calculated points for increasing electrical field (starting value: 1 kV/cm)
 electric-field-start-value     = 1.0d5  0d0 ! [V/m]
, F = (Fx,Fy), i.e. in this case Fx = 1.0 * 105 V/m = 1 kV/cm,
                                             !                               Fy = 0 V/m
 electric-field-step            = 1.0d3      !
increase electric field strength along the channel by this magnitude (for each electric field step)
                                             ! [V/m]
, i.e. in this case 1.0 * 105 V/m,  Units: 1 kV/cm = 1 * 105 V/m = 1d5 V/m
                                             ! (1.0d3 = 0.01 kV/cm = 1000 V/m = 1 kV/m = 10 V/cm)
 electric-field-step-factor     = 1.1d0      !
increase electric field strength along the channel by this factor        (for each electric field step)
                                = 1.0d0      ! [ ]
linear increase

        Fx,i+1 = Fx,i * 'electric-field-step-factor' + 'electric-field-step' ! Fx =
electric field magnitude along x direction
        Fy,i+1 = Fy,i                                                                          
! Fy = electric field magnitude along y direction

 

 

 start-averaging-after-timesteps   = 400     ! number of timesteps after which the averaging mechanism is started
 execute-averaging-after-timesteps = 1       ! number of timesteps after which the averaging mechanism is executed
                                             ! (= 1: each timestep is used for averaging)

 

 

 impurity-background-doping-concentration = 0.5d15  ! in units of [cm^-3]  ==> 0.5d15 = 0.5 * 1015 cm-3
 
The impurity background doping concentration which is relevant for the impurity scattering mechanism is given in units of [cm^-3].
 Doping with fully ionized dopants is assumed in this case (during the Monte Carlo procedure only).
 The whole simulation region will be covered with this background doping during the Monte Carlo procedure.
 It will contribute additively to the additional doping regions specified inside the input file ($doping-function).
 It also enters the scattering rates for impurity scattering: If it is set to zero, the integral will not converge, so don't do it...

 

 doping-concentration                     = 1d18    ! in units of [cm^-3]  ==> 1d18   = 1   * 1018 cm-3
 
The doping concentration is given in units of [cm^-3].
 This value for the doping concentration is used for the impurity scattering table.
 It is relevant for electron-hole scattering and ionized impurity scattering.
 

 

Flags to switch on/off certain scattering models

 LA-phonon-scattering            = yes  ! include    LA phonon scattering (default)
                                 = no   ! switch off LA phonon scattering
 This affects the subroutines
 - total scattering probability due to LA phonon emission   in 1st conduction band
 - total scattering probability due to LA phonon emission   among hole bands
 - total scattering probability due to LA phonon absorption in 1st conduction band
 - total scattering probability due to LA phonon absorption among hole bands

 

 LO-phonon-scattering            = yes  ! include    LO phonon scattering (default)
                                 = no   ! switch off LO phonon scattering
 This affects the subroutines
 - total scattering probability due to LO phonon emission   in 1st conduction band
 - total scattering probability due to LO phonon emission   among hole bands
 - total scattering probability due to LO phonon emission   among 2D hole subbands
 - total scattering probability due to LO phonon absorption in 1st conduction band
 - total scattering probability due to LO phonon absorption among hole bands
 - total scattering probability due to LO phonon absorption among 2D hole subbands

 

 TA-phonon-scattering            = yes  ! include    TA phonon scattering (default)
                                 = no   ! switch off TA phonon scattering
 This affects the subroutines
 - total scattering probability due to TA phonon emission   in 1st conduction band
 - total scattering probability due to TA phonon emission   among hole bands
 - total scattering probability due to TA phonon absorption in 1st conduction band
 - total scattering probability due to TA phonon absorption among hole bands

 

 TO-phonon-scattering            = yes  ! include    TO phonon scattering (default)
                                 = no   ! switch off TO phonon scattering
 This affects the subroutines
 - total scattering probability due to TO phonon emission   in 1st conduction band
 - total scattering probability due to TO phonon emission   among hole bands
 - total scattering probability due to TO phonon absorption in 1st conduction band
 - total scattering probability due to TO phonon absorption among hole bands

 

 acoustic-phonon-scattering      = yes  ! include    acoustic phonon scattering (default)
                                 = no   ! switch off acoustic phonon scattering
 This affects the subroutines
 - total scattering probability due to acoustic scattering in 1st conduction band
 - total scattering probability due to acoustic scattering among hole bands
 - total scattering probability due to acoustic scattering among 2D hole subbands
The acoustic phonon scattering rates are linear functions of temperature.

 

 polar-optical-phonon-scattering = yes  ! include    polar optical phonon scattering (default)
                                 = no   ! switch off polar optical phonon scattering
 This affects the subroutines
 - total scattering probability due to polar optical phonon emission
 - total scattering probability due to polar optical phonon absorption

 

 plasmon-scattering              = yes  ! include    plasmon scattering (default)
                                 = no   ! switch off plasmon scattering
 This affects the subroutines
 - total scattering probability due to heavy hole - plasmon absorption in 1st conduction band
 - total scattering probability due to Gamma     - plasmon absorption in hole bands
 - total scattering probability due to heavy hole - plasmon emission   in 1st conduction band
 - total scattering probability due to Gamma     - plasmon emission   in hole band

 

ionized-impurity-scattering      = yes  ! include    TO phonon scattering (default)
                                 = no   ! switch off TO phonon scattering
 This affects the subroutines
 - total scattering probability due to ionized impurities
 - total scattering probability due to ionized impurity scattering among 2D hole subbands

 

surface-roughness-scattering     = yes  ! include    surface roughness scattering (default)
                                 = no   ! switch off surface roughness phonon scattering
 This affects the subroutines
 - total scattering probability due to surface roughness scattering among 2D hole subbands

 

electron-hole-scattering         = yes  ! include    electron-hole scattering (default)
                                 = no   ! switch off electron-hole scattering
 This affects the subroutines
 - total scattering probability due to electron-hole scattering in 1st conduction band
 - total scattering probability due to electron-hole scattering in hole bands

 

impact-ionization-scattering     = yes  ! include    impact ionization scattering (Kane model) (default)
                                 = no   ! switch off impact ionization scattering (Kane model)
 This affects the subroutines
 - total scattering probability due to impact ionization scattering (Kane model)

 

alloy-scattering                 = yes  ! include    alloy scattering (default)
                                 = no   ! switch off alloy scattering
 This affects the subroutines
 - total scattering probability due to alloy scattering in 1st conduction band
 - total scattering probability due to alloy scattering among hole bands

alloy-disorder-scattering-potential = 1d0    ! [eV] (optional parameter)
                                    = 1d0    ! [eV]  1    eV for AlGaAs
                                    = 0.6d0  ! [eV] ~0.6 eV for InGaAs
If alloy-disorder-scattering-potential is not present, then this value will be calculated internally from the conduction (or valence) band offset of the two binary end points for each grid point, e.g. AlxGa1-xAs: CBO(AlAs) - CBO(GaAs)
Some more information about the used parameters for each grid point is contained in the file "AlloyScatteringInfo.dat".

 

Material parameters

The following parameters are used for deformation potential acoustic phonon scattering.

 mass-density                   = 5.79d3 ! [kg/m3] (lattice density)

 sound-velocity                 = 3.7d3  ! [m/s]  
(velocity of longitudinal elastic waves)

 acoustic-deformation-potential = 7.2    ! [eV]

 

Material parameters

The following parameters are used for the "simple algorithm" (for delta-doped 2DEGs) to calculate the mobility.

quantum-well-width                    = 10d0      ! [nm]
spacer-width                          = 20d0      ! [nm]
remote-doping-sheet-density           = 1d12      ! [cm-2]
2DEG-sheet-density                    = 0.071d12  ! [cm-2]
2DEG-sheet-density-number-of-subbands = 3         !
(default): 1)

If 2DEG-sheet-density is not present, then the 2DEG density is calculated automatically where the number of subbands that are taken into account can be specified (default: 1).

If two remote doping regions should be taken into account, one can input an array of values.

spacer-width                          = 20d0   10d0   ! [nm]  
spacer width of 1st and 2nd doping region
remote-doping-sheet-density           = 1d12   1d11   ! [cm-2]
 remote doing density of 1st and 2nd doping region

 

 

Monte Carlo

The Monte Carlo algorithm that is used inside nextnano³ is similar to the publication of R. Oberhuber, G. Zandler and P. Vogl:

Subband structure and mobility of two-dimensional holes in strained Si/SiGe MOSFET’s
R. Oberhuber, G. Zandler and P. Vogl,
Physical Review B 58, 9941 (1998)

 

Details

The carrier transport in quantized 2D channels is computed in terms of a momentum space ensemble Monte Carlo procedure for a spatially homogeneous channel with constant electric fields invoking consistently calculated 2D scattering rates (see subroutine 'scattering' for details on scattering).

For electrons and a single conduction band, a similar procedure was carried out previously (M.V. Fischetti, S.E. Laux, PRB 48, 2244 (1993)).

The equations of motion are integrated with the numerically determined, fully nonparabolic subband dispersions E(k) in analogy to full band Monte Carlo methods that have been developed previously for bulk (M.V. Fischetti, S.E. Laux, PRB 38, 9721 (1988)).

Both the hole dispersion relations E(k) and the inverse relation k(E) have been determined by a 2D discretization of k space.

The Monte Carlo method requires both the individual as well as the total scattering rates.
The latter can only be obtained, for each initial state in subband ... with energy E(k), by a numerical integration of Eq. (...) over all final states.
This amounts to integrating over the wavevectors q,q with the numerically determined 2D band structure.

 

Restrictions

So far, this Monte Carlo procedure only makes sense for 1D simulations with quantum confinement.

 

Comments

Don't forget to specify the parameters for the density of states (DOS) calculation. The DOS is used for the calculation of the scattering tables.

$output-kp-data
 ...
 DOS-density-of-states = ...
 DOS-Emin-Emax         = ...
 DOS-points            = ...

 

 

Scattering mechanisms

  • polar optical phonon emission
  • ionized impurities
  • polar optical phonon absorption
  • LO phonon emission in 1st conduction band
  • LO phonon emission among hole bands
  • LO phonon emission among 2D hole subbands
  • LO phonon absorption in 1st conduction band
  • LO phonon absorption among hole bands
  • LO phonon absorption among 2D hole subbands
  • TO phonon emission in 1st conduction band
  • TO phonon emission among hole bands
  • TO phonon absorption in 1st conduction band
  • TO phonon absorption among hole bands
  • LA phonon emission in 1st conduction band
  • LA phonon emission among hole bands
  • LA phonon absorption in 1st conduction band
  • LA phonon absorption among hole bands
  • TA phonon emission in 1st conduction band
  • TA phonon emission among hole bands
  • TA phonon absorption in 1st conduction band
  • TA phonon absorption among hole bands
  • acoustic scattering in 1st conduction band
  • acoustic scattering among hole bands
  • acoustic scattering among 2D hole subbands
  • alloy scattering in 1st conduction band
  • alloy scattering among hole bands
  • electron-hole scattering in 1st conduction band
  • electron-hole scattering in hole bands
  • heavy hole plasmon absorption in 1st conduction band
  • Gamma plasmon absorption in hole bands
  • heavy hole plasmon emission in 1st conduction band
  • Gamma plasmon emission in hole band
  • surface roughness scattering among 2D hole subbands
  • ionized impurity scattering among 2D hole subbands

 

 

Output

Output files for k.p data

  • Density of states (DOS)

    The two-dimensional density of states (DOS) is written to the files 'Schroedinger_kp/DOS_hl_6x6kp.dat' and 'DOS_hl_6x6kp_sum.dat' (and similar for electrons).
    The DOS has been calculated from the energy dispersion E(k) = E(kx,ky) and is used inside the Monte Carlo procedure (e.g. scattering tables).

    For details, see $output-kp-data.

 

Output files for transport data

After the total simulation time is reached, the averaged transport quantities are written to the output files with the subroutine 'write_outputMC'.
This is done for each value of the applied electric field.
The results of the calculated transport quantities are stored in the files:

  • 'mobility10.dat'
  • 'mobility11.dat'
  • 'subband_energy.dat'
  • 'subband_velocity_x.dat'
  • 'subband_density.dat'

The growth direction is along [001], so the carrier channel is perpendicular to this direction.
The electric field is applied in the [100] direction, so the output file 'mobility10.dat' contains the mobility into this direction.
To investigate the anisotropy in the two-dimensional plane, also the mobility calculated from the velocity in [110] direction is stored ('mobility11.dat'.

  • 'mobility10.dat'
    ================
    This file contains the calculated low field mobility, both calculated from the velocity (4th column of the file) and the diffusion constant average (5th column) obtained by the Monte Carlo procedure.
    The value of the electric field in [kV/cm] is given in the 1st column, and the corresponding velocity in x direction, average energy, mobility from velocity and mobility from diffusion constant are listed in the following columns.

    electric field [kV/cm]       vx [cm/s]    Eav [eV]    µv,x [cm2/Vs]    µDiff,x [cm2/Vs]


    µv,x = vx / Fx    where Fx is the 'electric field' denoted in the 1st column.
     
  • 'mobility11.dat'
    ================
    This file contains the mobility along the [11] direction in the two-dimensional k space, and is similar to the file 'mobility10.dat' discussed above.

    electric field [kV/cm]       vxy [cm/s]    Eav [eV]    µv,xy [cm2/Vs]

     
  • 'subband_energy.dat'
    ====================
    This file contains for each electric field value (1st column) the average kinetic energy within each subband (2nd column: subband 1, 3rd column: subband 2, ...) in units of [eV].

    electric field [kV/cm]       Eav,1    Eav,2    Eav,3    Eav,4    Eav,5    Eav,6    ...
     
  • 'subband_velocity_x.dat'
    ========================
    This file contains the average velocity in each subband in units of [cm/s].
    Its structure is similar to the previous file.

    electric field [kV/cm]       vav,1    vav,2    vav,3    vav,4    vav,5    vav,6    ...
     
  • 'subband_density.dat'
    =====================
    This file gives the occupation of each subband. Nav,i is the average number of particles in subband i.
    The sum over all Nav,i must be equal to the number of particles that have been simulated, i.e. 'number-of-simulated-carriers'.

    electric field [kV/cm]       Nav,1    Nav,2    Nav,3    Nav,4    Nav,5    Nav,6    ...