nextnano^{3}  Tutorial
next generation 3D nano device simulator
1D Tutorial
Growth of layers on strained (or stressed) substrates (biaxial and uniaxial)
Authors:
Stefan Birner, Michael
Povolotskyi
> 1D_GaAs_biaxial_on_InAs001.in
> 1D_InAs_on_biaxially_strainedGaAs001.in
> 1D_InAs_on_uniaxially_stressedGaAs001.in
> 1D_InAs_on_uniaxially_stressedGaAs001_input_stress.in
> 1D_InAs_on_biaxially_stressedGaAs001.in
> 1D_InAs_on_biaxially_stressedGaAs001_input_stress.in
These input files are included in the latest version.
Growth of layers on strained (or stressed) substrates (biaxial and uniaxial)
In this tutorial we show how to input a fixed strain tensor for a
semiconductor starting layer in addition to its bulk lattice constants.
All other semiconductor layers that are grown on top are pseudomorphically
strained with respect to the strained substrate layer.
In other words, the strain tensor of one specific layer is kept fixed whereas in
all other layers the elastic energy is going to be minimized.
Material parameters of GaAs and InAs
Lattice constants
GaAs: a = 0.565325 nm
InAs: a = 0.60583 nm
Elastic constants
GaAs: c11 = 122.1 GPa c12 =
56.6 GPa
InAs: c11 = 83.29 GPa c12 = 45.26 GPa
a) Biaxially strained GaAs on InAs(001) substrate
> 1D_GaAs_biaxial_on_InAs001.in
If one assumes that GaAs is grown pseudomorphically with respect to an
unstrained InAs(001) substrate along the z direction, then the following strain
tensor components are obtained:
e_{xx} = e_{yy} = e_{} = ( a_{substrate}
 a_{layer} ) / a_{layer} = 0.071649051
e_{zz} = e_{__ }=  D^{001 }e_{ }
=  2 (c_{12}/c_{11})_{ }e_{ }
=  0.066426474
e_{hydro} = Tr(e) = e_{xx} + e_{yy} + e_{zz}
= 0.076871628
Here, GaAs is biaxially strained and the overall strain is tensile (i.e. the
hydrostatic strain ( Tr(e_{ij}) ) is positive) because GaAs has a
smaller lattice constant than InAs.
b) InAs on biaxially strained GaAs(001) substrate
> 1D_InAs_on_biaxially_strainedGaAs001.in
We now grow InAs pseudomorphically on a strained GaAs substrate
where the GaAs substrate has the following strain tensor components:
$strainminimizationmodel
...
inputsubstratestrain = yes
! 'yes' = read in strain tensor
components of substrate
strainepsilonsubstratexx = 0.071649051d0
! e_{} of a)
strainepsilonsubstrateyy = 0.071649051d0
! e_{ } of a)
strainepsilonsubstratezz = 0.066426474d0 !
e_{__} of a)
strainepsilonsubstratexy = 0d0
! e_{xy}
strainepsilonsubstratexz = 0d0
! e_{xz}
strainepsilonsubstrateyz = 0d0
! e_{yz}
The GaAs strain tensor components have been chosen in such a way, as
if GaAs is biaxially strained with respect to an InAs(001) substrate,
pseudomorphically grown along the z growth direction.
If one minimizes the elastic energy with respect to the strained
GaAs substrate, then InAs is calculated to be unstrained, as one would expect.
Note that the GaAs substrate's lattice constants are kept fixed.
The same result would be obtained if strainepsilonsubstratezz takes an
arbitrary value, as only the inplane strain tensor components e_{}
are relevant.
Obviously, the substrate can have any arbitrary strain tensor components,
e.g. hydrostatic, biaxial, uniaxial or shear strain.
c) InAs on uniaxially and biaxially strained GaAs(001) substrate
Again, the material system is an InAs layer grown on a GaAs(001) substrate
that itself is subject to a variable uniaxial or biaxial stress.
We first apply a tensile uniaxial stress of 1 GPa ( = 10 kbar) on the GaAs
substrate followed by a tensile biaxial stress of 1 GPa ( = 10 kbar).
Since nextnano³ accepts as inputs the strain tensor components of the
substrate (and not the stress), we first have to calculate these components
based on uniaxial and biaxial stresses of 1 GPa.
 Tensile, uniaxial stress of 1 GPa: (sigma_{xx} = 1 GPa,
all other stress tensor components of sigma are zero.)
a) Reading in the strain tensor
> 1D_InAs_on_uniaxially_stressedGaAs001.in
To calculate the strain tensor analytically, we use the following
equation:
sigma_{i} = E_{ij} . epsilon_{j}
(i,j = 1...6) (matrixvector
notation of Hooke's law, Voigt notation, E_{ij} is the elasticity
matrix)
In this particular example (uniaxial for zinblende) it holds for the three
unknows e_{xx}, e_{yy}, e_{zz}:
(Note that all shear components are zero for this case.)
sigma_{x} = sigma_{xx} = c_{11} * epsilon_{1}
+ c_{12} * epsilon_{2} + c_{12} * epsilon_{3}
=
= c_{11} * e_{xx}
+ c_{12} * e_{yy}
+ c_{12} * e_{zz} = 1 GPa
sigma_{y} = sigma_{yy} = c_{12} * epsilon_{1}
+ c_{11} * epsilon_{2} + c_{12} * epsilon_{3}
=
= c_{12} * e_{xx}
+ c_{11} * e_{yy}
+ c_{12} * e_{zz} = 0
sigma_{z} = sigma_{zz} = c_{12} * epsilon_{1}
+ c_{12} * epsilon_{2} + c_{11} * epsilon_{3}
=
= c_{12} * e_{xx}
+ c_{12} * e_{yy}
+ c_{11} * e_{zz} = 0
These are three equations with three unknowns whereas due to symmetry
arguments, it additionally holds: e_{yy} = e_{zz}
==> e_{xx} = sigma_{xx} / [c_{11}
 2 c_{12}^{2} / (c_{11} + c_{12})
] = 0.011594748
==> e_{yy} = e_{zz} =  c_{12}
/ (c_{11} + c_{12}) * e_{xx} =  0.003672427
Thus the following strain tensor corresponds to a strained GaAs substrate
with a uniaxial stress along the x direction of 1 GPa:
inputsubstratestrain = yes
! 'yes' = read in strain tensor
components of substrate
strainepsilonsubstratexx = 0.011594748d0
! e_{xx} strainepsilonsubstrateyy = 0.003672427d0
! e_{yy} strainepsilonsubstratezz =
0.003672427d0 !
e_{zz} strainepsilonsubstratexy =
0d0
! e_{xy} strainepsilonsubstratexz =
0d0
! e_{xz} strainepsilonsubstrateyz =
0d0
! e_{yz}
This corresponds to a tensile, hydrostatic
strain in GaAs of e_{hydro}
= 0.00424989.
Then the InAs will be strained with respect to a uniaxially stressed
GaAs substrate.
Thus the InAs has the following strain tensor components:
e_{xx} =  0.0560392
e_{yy} =  0.0702856
e_{zz} = 0.0686452
This corresponds to a compressive, hydrostatic strain
in InAs of e_{hydro}
=  0.0576795.
b) Reading in the stress tensor
> 1D_InAs_on_uniaxially_stressedGaAs001_input_stress.in
An alternative way to get the same result, is to specify the
stress tensor rather than the strain tensor:
inputsubstratestress = yes
! 'yes' = read in stress tensor
components of substrate
stresssigmasubstratexx = 1d9
! [Pa] ! If GaAs is uniaxially stressed with sigma_{xx}
= 1 GPa along the x direction. stresssigmasubstrateyy = 0d0 !
sigma_{yy} = 0 stresssigmasubstratezz =
0d0 !
sigma_{zz} = 0 stresssigmasubstratexy =
0d0
! sigma_{xy} = 0 stresssigmasubstratexz =
0d0
! sigma_{xz} = 0 stresssigmasubstrateyz =
0d0
! sigma_{yz} = 0
 Tensile, biaxial stress of 1 GPa: (sigma_{xx} = sigma_{yy}
= sigma_{} = 1 GPa = 10 kbar, all other stress tensor components
of sigma are zero.)
> 1D_InAs_on_biaxially_stressedGaAs001.in
The formulas (similar as above) lead to the following analytical equations:
==> e_{xx} = e_{yy} = e_{} = sigma_{}
c_{11} / (2 c_{12}^{2} 
c_{11}^{2}  c_{11}c_{12})
= 0.007922321
==> e_{zz} = e_{__ }=  D^{001
}e_{ }=  2 (c_{12}/c_{11})_{
}e_{ }=  0.007344854
Thus the following strain tensor corresponds to a strained GaAs substrate
with a biaxial stress along the x and y directions of 1 GPa:
inputsubstratestrain = yes
! 'yes' = read in strain tensor
components of substrate
strainepsilonsubstratexx = 0.007922321d0
! e_{xx} = e_{} strainepsilonsubstrateyy = 0.007922321d0
! e_{yy} = e_{} strainepsilonsubstratezz =
0.007344854d0 !
e_{zz} = e_{__} strainepsilonsubstratexy =
0d0
! e_{xy} strainepsilonsubstratexz =
0d0
! e_{xz} strainepsilonsubstrateyz =
0d0
! e_{yz}
This corresponds to a tensile, hydrostatic strain in GaAs of e_{hydro}
= 0.00849979.
Then the InAs will be strained with respect to the biaxially stressed
GaAs substrate.
Thus the InAs has the following strain tensor components:
e_{xx} =  0.0594660
e_{yy} =  0.0594660
e_{zz} = 0.0646280
This corresponds to a compressive, hydrostatic strain in InAs of e_{hydro}
=  0.0543041.
b) Reading in the stress tensor
> 1D_InAs_on_biaxially_stressedGaAs001_input_stress.in
An alternative way to get the same result, is to specify the
stress tensor rather than the strain tensor:
inputsubstratestress = yes
! 'yes' = read in stress tensor
components of substrate
! If GaAs is
biaxially stressed with
stresssigmasubstratexx = 1d9
! [Pa] sigma_{xx} = 1 GPa along the
x direction and with. stresssigmasubstrateyy = 1d9 !
[Pa] sigma_{yy} = 1 GPa along the y
direction (sigma_{xx} = sigma_{yy}). stresssigmasubstratezz =
0d0 ! [Pa]
sigma_{zz} = 0 stresssigmasubstratexy =
0d0
! [Pa] sigma_{xy} = 0 stresssigmasubstratexz =
0d0
! [Pa] sigma_{xz} = 0 stresssigmasubstrateyz =
0d0
! [Pa] sigma_{yz} = 0
The features presented in this tutorial can be used to model stresses that
often occur in the case of thermal expansion mismatches for IIIV films grown on
sapphire or silicon substrates.
The selective growth on prepatterned mesas where local stress/strain variations
obviously play a crucial role in the resulting electronic/optical properties is
another possible application.
