[ Home ] [ News ] [ Contact ] [ Search ] quantum-model-electrons

 About us
 Useful Links
 Publications
 Copyright notice
 nextnano³ documentation

 -> Download Software
 * password protected

 

 
Up
 

Quantum model electrons

Please also refer to the database section of $quantum-model-electrons.

!------------------------------------------------------------------!
$quantum-model-electrons                                 optional  !
 model-number                            integer         required  !
 model-name                              character       required  !
 cluster-numbers                         integer_array   required  !
 conduction-band-numbers                 integer_array   required  !
 separation-model                        character       required  !
 number-of-eigenvalues-per-band          integer_array   required  !
 occupy-exactly-min-eigenvalues-per-band double_array    optional  !
Note: double_array and not integer_array to allow for partial occupation.
 occupy-exactly-max-eigenvalues-per-band double_array    optional  !
Note: double_array and not integer_array to allow for partial occupation.
 maximum-energy-for-eigenstates          double_array    required  !
 quantization-along-axes                 integer_array   required  !
 boundary-condition-100                  character       optional  !
 boundary-condition-010                  character       optional  !
 boundary-condition-001                  character       optional  !
 method-of-brillouin-zone-integration    character       optional  ! 1D/2D (k.p only)
 k-range-determination-method            character       optional  ! 1D/2D (k.p only)
 k-range                                 double          optional  ! 1D/2D (k.p only)
 num-kp-parallel                         integer         optional  ! 1D/2D (k.p only)
 num-ks-100                              integer         optional  ! superlattice only
 num-ks-010                              integer         optional  ! superlattice only
 num-ks-001                              integer         optional  ! superlattice only
 max-eigenvalue                          integer_array   optional  !
not used (for separation-model = eigenvalue)
 max-energy                              double_array    optional  !
not used (for separation-model = energy)
$end_quantum-model-electrons                             optional  !
!------------------------------------------------------------------!

 

  quantum-model-
holes
valence-band-
numbers
  quantum-model-
electrons
conduction-band-
numbers
  classical
(=not specified)
any combination   classical
(=not specified)
any combination
effective-mass effective-mass any combination   effective-mass any combination
4x4kp 4x4kp 1 2   doesn't make sense -
6x6kp 6x6kp 1 2 3   doesn't make sense -
8x8kp 8x8kp 1 2 3   8x8kp
(hole mustn't be 6x6kp/4x4kp in this case)
1
tight-binding          

If electrons are 8x8kp, holes cannot be 6x6kp (or 4x4kp). Can they be effective-mass in this case?

 

Syntax

model-number = 1

 

model-name   = 8x8kp
             =
effective-mass
             =
tight-binding
(not implemented yet)
8x8kp
(for conduction-band-number 1 only) or effective-mass or tight-binding

 

cluster-numbers = 1
cluster numbers to which this model applies

 

conduction-band-numbers = 1
to select bands (minima) handled in Schrödinger equation
- 8x8kp:
  can be 1 (only Gamma band, this is the only option for 8x8kp)
- effective mass:
  can be  1     (only Gamma band)
       2    
(only L band)
       3    
(only X band)
       1 2
       1 3
       2 3
       1 2 3
(Gamma, L and X band for effective-mass)

 

separation-model = eigenvalue   !  -> specify number-of-eigenvalues-per-band
               
 = energy       !  ->
specify maximum-energy-for-eigenstates
                 = edge-model   !  ->
Only localized states are considered for the quantum mechanical density.
To determine separation between classical and quantum mechanical density ('eigenvalue','energy','edge-model').
More information ...

 

number-of-eigenvalues-per-band = 3     ! If only one band is specified, then calculate 3 eigenvalues for this band.
                             
 = 6 3   ! If two bands are specified, then calculate 6 eigenvalues for the first band
                                       ! and 3 eigenvalues for the second band.
                               = 3 3 3 ! If Gamma, L and X bands are specified, then calculate 3 eigenvalues for each.
Here one has to specify how many eigenstates have to be calculated in each conduction band minimum. This is also relevant for the quantum mechanical density unless maximum-energy-for-eigenstates is specified in combination with separation-model = energy. However, in this case also number-of-eigenvalues-per-band has to be present in order to determine the maximum number of eigenstates to be calculated (although not all contribute to the density).

 

maximum-energy-for-eigenstates = 0.5d0             ! [eV]  If one conduction band is specified.
                              
= 0.5d0 0.5d0       ! [eV]  If two conduction bands are specified.
                              
= 0.5d0 0.5d0 0.5d0 ! [eV]  If three conduction bands are specified.
Upper limit for energy of bound states.
Calculate eigenvalus up to this energy (relative to bulk band edge).
Use continuum model above this energy (relative to bulk band edge).
Relevant for specifier separation-model = energy.
For separation-model = eigenvalue this specifier is ignored.

 

quantization-along-axes        = 1 1 1  ! 3D
                      
        = 1 1 0  ! 2D
                      
        = 1 0 1  ! 2D
                      
        = 0 1 1  ! 2D
                      
        = 0 0 1  ! 1D
                      
        = 0 1 0  ! 1D
                      
        = 1 0 0  ! 1D
Zeros and ones: to select quantization direction (1D) / plane (2D) / volume (3D).
At present the entries must be identical to specifier orientation in keyword $simulation-dimension.
In 3D input like '0 1 1'  is not possible so far.
Currently no features are attributed to this specifier. A possible extension for the future would be to use a 2D simulation where only a 1D quantization is used or a 3D simulation with a 1D quantization direction or a 2D quantized plane.

 

boundary-condition-100  =  Neumann          ! neumann   or NEUMANN
                      
 =  Dirichlet        ! dirichlet or DIRICHLET
                        Mixed            ! mixed     or MIXED
                        = 
Periodic         ! periodic  
or PERIODIC  (for superlattice)
boundary-condition-010  =  [ as above ]
boundary-condition-001  = 
[ as above ]

"Boundary conditions for [100]" means boundary conditions for Schrödinger equation in x-direction of simulation system and similar for [010 and [001].
Default is
Neumann.

Remarks:
It is possible to specify something like this:
   boundary-condition-100  =  periodic
   boundary-condition-010  =  periodic
   boundary-condition-001  =  Dirichlet
This makes sense if one has a quantum well extending over the whole (x,y) plane and which is perpendicular to the z direction.

Restrictions:
If one specifies
periodic boundary conditions, the quantum cluster must extend over the whole device in that direction.

 

Occupy a fixed number of eigenstates for each band

 occupy-exactly-min-eigenvalues-per-band = 0d0 0d0 0d0 ! Note: double_array and not integer_array to allow for partial occupation.
 occupy-exactly-max-eigenvalues-per-band = 1d0 1d0 1d0 !
Note: double_array and not integer_array to allow for partial occupation.

A negative number indicates that the default should be used for this particular band.

Sometimes one does not want to take into account the (automatically calculated) temperature dependent occupation of the eigenstates (energy levels) via the Fermi-Dirac distribution function.

If any of the entries in occupy-exactly-max-eigenvalues-per-band is nonzero (and positive), then the number of occupied and empty eigenstates is set by the user,
e.g. if one wants to have exactly 2 electrons in a quantum dot.

It is not necessary to specify:
 occupy-exactly-min-eigenvalues-per-band = ...
By default occupy-exactly-min-eigenvalues-per-band is assumed to be zero.

Examples (Note: Usually each eigenstate is assumed to be two-fold spin degenerate.)

 occupy-exactly-max-eigenvalues-per-band = 0.5d0 ! Occupy the ground state with 1 electron   (occupancy of two-fold spin degenerate ground state = 0.5).

 occupy-exactly-max-eigenvalues-per-band = 1.0d0 ! Occupy the ground state with 2 electrons  (occupancy of two-fold spin degenerate ground state = 1.0).

 occupy-exactly-max-eigenvalues-per-band = 1.5d0 ! Occupy the ground state with 2 electrons   (occupancy of two-fold spin degenerate ground state = 1.0).
                                                 ! Occupy the 2nd eigenstate with 1 electron  (occupancy of two-fold spin degenerate 2nd state = 0.5).

 occupy-exactly-max-eigenvalues-per-band = 0.7d0 ! Occupy the ground state with 0.7 electrons (occupancy of two-fold spin degenerate ground state = 0.7).

 

One can also specify a range, e.g. leave the ground state empty and occupy only the second eigenstate with 1 electron.

 occupy-exactly-min-eigenvalues-per-band = 1.0d0 ! Occupy the ground state with 0.0 electrons (occupancy of two-fold spin degenerate ground state = 0.0).
 occupy-exactly-max-eigenvalues-per-band = 1.5d0 ! Occupy the 2nd eigenstate with 1 electron   (occupancy of two-fold spin degenerate 2nd state = 0.5).

 

Results

One can also specify a partial occupation, e.g. having 1.4 electrons in the ground state and occupy the second, third and fourth eigenstate with two electrons each.

 occupy-exactly-min-eigenvalues-per-band = 0.3d0 ! Occupy the ground state with 0.6 electrons (occupancy of two-fold spin degenerate ground state = 0.3).
 occupy-exactly-max-eigenvalues-per-band = 4.0d0 ! Occupy the 2nd , 3rd and 4th eigenstate with 2 electrons each  (occupancy of each of these two-fold spin degenerate excited states = 1.0).

densities\subband3D_el_qc001_sg001_deg001_integrated.dat

  num_ev   IntegratedSublevelDensity[electrons] ! (including spin)
    1       1.4000000E+00   ! 
1.4 electrons in 1st eigenstate  [ = (1 - 0.3d0) * 2 = 0.7 * 2 = 1.4 ]
    2       2.0000000E+00   !
2.0 electrons in 2nd eigenstate
    3       2.0000000E+00   !
2.0 electrons in 3rd eigenstate
    4       2.0000000E+00   !
2.0 electrons in 4th eigenstate
    5       0.0000000E+00   !
0.0 electrons in 5th eigenstate
   ...

 

Note: This feature is very artificial.
So the user should use it with care and should check if it makes sense from a physics points of view for the user's particular application in mind.
Convergence of the self-consistent Schrödinger-Poisson equation might be difficult if the specified number of electrons does not fit to the symmetry of the device.

This feature currently works only for the single-band case (effective-mass).

 

 

k.p only

method-of-brillouin-zone-integration = special-axis
                                   
 = simple-integration
                                   
 = gen-dos
  'special-axis'       
Only for [0001] quantization direction in wurzite or
                        for isotropic energy dispersion E(k||) which is in general not the case.
  'simple-integration
Discretization of 2D Brillouin zone (only applicable to a 1D simulation).
  'gen-dos'            
Evaluation of the density by integration over the density of states (DOS).
                       
Not implemented yet for 2D simulations.
Only necessary for 1D and 2D k.p simulations.
More information ...

 

k-range-determination-method = bulk-dispersion-analysis  ! 1D/2D
                             = k-max-input               ! 1D/2D

k-range                      = 1.0d0                     ! 1D/2D
(Units: [1/Angstrom])
Required if k-range-determination-method = k-max-input.
This also works for 2D (kz) but does not make sense for 3D.
More information ...

 

num-kp-parallel = 100
              
 = 0    !
For kx=ky=0 only; if no k|| should be considered (works only if one doesn't output densities).
Total number of k|| points for Brillouin zone discretization.
Only necessary for 1D (kx,ky) and 2D (kz) k.p simulations and optical absorption.
This also works for 2D (kz) but does not make sense for 3D.
1D:
It always refers to the total number of k|| points in the whole 2D Brillouin zone.
2D: It always refers to the total number of kz points in the whole 1D Brillouin zone.
More information ...

 

Superlattice only

num-ks-100 =
Number of k points in superlattice direction x.

num-ks-010 =
Number of k points in superlattice direction y.

num-ks-001 =
Number of k points in superlattice direction z.

 

Not used:

max-eigenvalue   = 8      ! If one conduction band is specified.
                
= 5 5    ! If two conduction bands are specified.
                 = 5 5 5  !
If three conduction bands are specified.
This is for
separation-model = eigenvalue.
Calculate quantum density up to this eigenvalue then use classical model.
(Has to be present if
separation-model = eigenvalue, otherwise it is ignored.)
 

max-energy       = 2d0          ! [eV]  If one conduction band is specified.
                   
       = 2d0 2d0      ! [eV]  If two conduction bands are specified.
                 = 2d0 2d0 2d0  ! [eV]  If three conduction bands are specified.
This is for
separation-model = energy.
Calculate quantum density up to this energy (relative to bulk band edge).
(Has to be present if
separation-model = energy, otherwise it is ignored.)

 

Please also refer to the database section of $quantum-model-electrons.

   
Last modified: 23-Dec-2009   -   optimised for Microsoft Internet Explorer 7®