nextnano.com
 nextnano³
 Download | SearchCopyright | Publications
 * password protected

 

nextnano³ software

 

  output-strain

 

 

 
Up
 

Output-strain

The output of the strain tensor is controlled by this keyword. More information on strain can be found in the FAQ and in the Tutorial "Piezoelectricity and strain".

 

!-------------------------------------------------------------------!
$output-strain                                             optional !
 destination-directory                  character          required !
 strain                                 character          optional ! yes/no
 hydrostatic-strain                     character          optional ! yes/no
 strain-crystal-system                  character          optional ! yes/no
 strain-simulation-system               character          optional ! yes/no
 displacement-tensor-crystal-system     character          optional ! yes/no
 displacement-tensor-simulation-system  character          optional ! yes/no
 displacements                          character          optional ! yes/no
 elastic-energy-density                 character          optional ! yes/no
 
all-tensor-components-in-one-file      character          optional ! yes/no
 
polarization-vector                    character          optional ! yes/no
$end_output-strain                                         optional !
!-------------------------------------------------------------------!

Syntax:

destination-directory = my-directory/
                 e.g. = strain/

Name of directory to which the files should be written. Must exist and directory name has to include the slash (\ for DOS and / for UNIX).

 

strain = yes / no ! (default: no)

Flag whether to put out the strain tensor. The strain tensor will be printed out in the crystal coordinate system.
Output: e_cr_ij...

The crystal coordinate system is defined for zinc blende in the following way:
  x = [1 0 0]
  y = [0 1 0]
  z = [0 0 1]

This output gives you information about the strain tensor with respect to the crystal, i.e. e_cr_xy always refers to x=[1 0 0], y=[0 1 0].

If you specify a nondefault growth direction/orientation of your heterostructure under keyword $domain-coordinates
(e.g. hkl-x-direction-zb = 3 1 1
    hkl-y-direction-zb = 0 -1 1
)
then you should also print out the strain tensor in the simulation coordinate system (see below).

In this case, e_cr_xy  refers to x=[1 0 0], y=[0  1 0] as usual but
                   e_sim_xy refers to x=[3 1 1], y=[0 -1 1].

In case, your growth-direction is [0 0 1] along the z axis (hkl-z-direction-zb = 0 0 1
                                        
hkl-y-direction-zb = 0 1 0
), then your simulation system is equal to the crystal coordinate system and the strain output for e_cr_ij... is the same as e_sim_ij... (i.e. i and j refer to the same x, y and z).

 

hydrostatic-strain = yes
                   = no
(default)

Flag whether to put out the hydrostatic strain (ehydro = exx + eyy + ezz) that is a measure of the volume change and thus shifts the valence and the conduction band edges. For details see FAQ on strain (band shifts and deformation potentials). The hydrostatic strain is the same in the crystal and simulation coordinate system because the trace of a matrix is an invariant under rotation transformations.

 

strain-crystal-system    = yes
                        
= no   !
(default)

Flag whether to put out the strain tensor in the crystal coordinate system.
Output: e_cr_ij...

The crystal system is a cartesian system (x, y, z) which is fixed to the crystal.

This output gives you information about the strain tensor with respect to the crystal system. (For explanation see above.)

If nothing is specified, the strain in the crystal system will be printed out by default.

 

strain-simulation-system = yes ! (default
                        
= no

Flag whether to put out the strain tensor in the simulation coordinate system.
Output: e_sim_ij...

The simulation system is a cartesian system (x, y, z) in which the simulation variables are defined.

This output gives you information about the strain tensor with respect to the simulation system. (For explanation see above.)

 

displacement-tensor-crystal-system = yes
                                  
= no !
(default

Flag whether to put out the displacement tensor in the crystal coordinate system.
Output: u_cr_ij...

The crystal system is a cartesian system (x, y, z) which is fixed to the crystal.

This output gives you information about the displacement tensor with respect to the crystal system. (For explanation see above.)

Note:     strain-tensor  =  1/2    (displacement-tensor + displacement-tensorT )
       epsilonij = 1/2 ( uij + uji)

 

displacement-tensor-simulation-system = yes
                                     
= no !
(default

Flag whether to put out the displacement tensor in the simulation coordinate system.
Output: u_sim_ij...

The simulation system is a cartesian system (x, y, z) in which the simulation variables are defined.

This output gives you information about the displacement tensor with respect to the simulation system. (For explanation see above.)

Note:     strain-tensor  =  1/2    (displacement-tensor + displacement-tensorT )
       epsilonij = 1/2 ( uij + uji)

 

displacements = yes
 
             = no   !
(default)

Flag whether to put out the displacements of the physical grid nodes.
The displacement vector output is with respect to the simulation coordinate system (default) and/or optionally with respect to the crystal coordinate system (if either displacement-tensor-crystal-system = yes or strain-crystal-system = yes).
In 1D (and in 2D/3D for option homogeneous-strain) the output for the displacements u(r) are the displacements from the bulk lattice of a material at point r to the strained lattice.
In 2D/3D the situation is different: u(r) are the displacements from the reference lattice to the strained lattice.

 

elastic-energy-density = yes      ! elastic energy density in units of [eV/nm3 (default)
         
             = yes-GJm3 !
elastic energy density in units of [GJ/m3]
         
             = no

Flag whether to print out the energy density of the elastic deformation.
By default, the output units are [eV/nm3].
Alternatively, the units [GJ/m3] can be chosen.

Filename: ElasticEnergyDensity1D_eV.dat     (in units of [eV/nm3])
        ElasticEnergyDensity1D_GJ.dat   
 (in units of [GJ/m3])

The total elastic energy is calculated and written to the screen output.
 energy of elastic deformation                   = 845.50528403E+00 [eV]
 energy density of elastic deformation (average) =   4.31380247E+24 [eV/m^3]
                                                 = 691.14730718E-06 [GJ/m^3]

 

all-tensor-components-in-one-file = yes   !
                    
             = no    !
(default)

Flag whether to output all strain tensor and displacement tensor components into one file (2D/3D simulations).
For 1D simulations, all components are written to one file in any case.

 

polarization-vector = yes   !
      
             = no    !
(default)

Flag whether to write out the piezoelectric, pyroelectric and the total polarization vector (Ptotal = Ppiezo + Ppyro) in units of [C/m^2].
IF strain-crystal-system = yes   , the polarization vector will be written out with respect to the crystal coordinate system.
IF strain-simulation-system = yes, the polarization vector will be written out with respect to the simulation coordinate system.
The piezoelectric polarization vector depends on strain and it is zero if no strain is present.
For zinc blende materials where spontaneous polarization is not present, only the piezoelectric polarization Ppiezo will be written out.
For wurtzite materials where spontaneous polarization is present, also the total polarization, i.e. Ptotal = Ppiezo + Ppyro, will be written out.
The pyroelectric polarization vector is a material parameter and can also be written out using $output-material.

 


Output in 1D

Strain-tensor:

Filename

strain_cr1D.dat   -   strain tensor components with respect to crystal coordinate system

All six strain tensor components for each gridpoint.

Structure:                          

position[nm] e_cr_xx e_cr_yy e_cr_zz e_cr_xy e_cr_xz e_cr_yz e_hydro (optional) PoissonRatio (optional)
Position in space [l0] 11 component
of strain tensor
22 component
of strain tensor
33 component
of strain tensor
12 component
of strain tensor
13 component
of strain tensor
23 component
of strain tensor
hydrostatic strain
ehy = exx + eyy + ezz
biaxial Poisson ratio
D = - eps_|_ / eps||

Similar for
strain_sim1D.dat   -   strain tensor components with respect to simulation coordinate system
and for 2D and 3D.

If hydrostatic-strain = yes is chosen, then the output for strain_sim1D.dat contains an additional column with the biaxial Poisson ratio D.

    D = - eps_|_ / eps||

For growth direction along [001], D is given by D100 = 2 c12 / c11
where c11 and c12 are elastic constants (zinc blende).
More information on D.

 

Note: The eij components refer to shear strain and not to "engineer shear strain".
Shear strain is the average of two strain tensor components, i.e. eij = 1/2 (dui/dxj + duj/dxi)  whereas engineering shear strain is defined as the total shear strain eij = dui/dxj + duj/dxi.