This example performs the simulation of a InGan/GaN Quantum Well (QW) structure by employing the new Empirical Tight Binding (ETB) Module on a relaxed atomic structure.

After defining an atomistic structure corresponding to the quantum cluster where we want to apply ETB calculations, we begin with continuous simulations on the whole device structure.

We first perform elasticity calculations to obtain the strain tensor in the heterostructure and to apply a strain deformation to the defined atomistic structure.
This result provides a reasonable first guess for the valence force field (VFF) solver, which will yield the final relaxed structure.

We then perform the drift-diffusion model to get the equilibrium solution for potentials and band profiles.

Quantum ETB calculations are finally performed on the VFF-relaxed structure, to get the electron and hole states in the QW.

The device structure is defined in the geometry .geo file and is the following:
5 nm InGaN QW with 30% In content
20 nm GaN barriers
50 nm undoped GaN buffer
(Note that in .geo file units are in Angstrom (A) )

In order to execute correctly this example you should have the following files in the same working directory:
ingan_qw.tib: input file for TiberCAD
ingan_qw.msh: mesh file produced by the GMSH script ingan_qw.geo


In the following, some features of the input file will be described. For further details you can refer to the program reference manual.
In the Device section, the QW heterostructure is described: the InGaN quantum well region, the GaN barriers and the two GaN buffer regions.
The crystal directions are defined as following for a wurtzite crystal structure:

y-growth-direction = (1,0,-1,0)
z-growth-direction = (-1,2,-1,0)
x-growth-direction = (0,0,0,1)

The regions are defined in the usual way:

Region QW
 material = InGaN
x = 0.3 }

Region barrier_left { material = GaN }

Region barrier_right { material = GaN }

A cluster named Quantum is declared, to which the QW region and the two lateral barriers belong

Cluster Quantum
 regions = (barrier_left, barrier_right, QW)


An atomistic representation of the above defined Quantum cluster is generated by means of the Atomistic block

Atomistic tb
reference_region = barrier_left
regions = Quantum
random_alloy = true
supercell_size_y = 20
supercell_size_z = 20
passivation = yes
print = (xyb, xyz, gen, tgn) }

The reference region is chosen to provide the lattice parameters with which the crystalline structure is built. In this case the lattice is that of GaN, the material composing the barrier_left region.

reference_region = barrier_left

In the QW region, the InGaN atoms are then substituted in the lattice basis.

By default a 2D periodicity is applied in yz-plane orthogonal to the x growth direction of this 1D QW structure.

In this case, however, we define a custom supercell, with a 20x20 A size.

supercell_size_y = 20
supercell_size_z = 20

Therefore, the appropriate periodicity vectors will be applied to this defined supercell, not to the default minimal cell.
Moreover, instead of the default VCA approach, we select the building of a random alloy structure, with

random_alloy = true

where the atoms of the components species are randomly distributed in the alloy region and their parameters are not averaged.

Passivation is finally performed at the ends of the heterostructure

passivation = yes

A print instruction gives in output the atomic structure for a visualization.



1. Elasticity

Note that it is always highly advisable to solve first elasticity, before a VFF relaxation. This will provide a reasonable first guess for the VFF solver and also will apply the correct deformation to the mesh, assuring that all the atoms are still associated to the correct FEM elements.

We solve elasticity for the lattice-mismatch induced strain

Module elasticity
name = strain
regions = all
plot = (Strain)
mesh_deformation = true
# shape_iterations = 20
strain_atomistic_structure = tb
Physics {
body_force lattice_mismatch { reference_material = GaN
y-growth-direction = (1,0,-1,0)
z-growth-direction = (-1,2,-1,0)
x-growth-direction = (0,0,0,1) }
Contact cathode { type = clamp }


Note that, in order to apply a strain deformation to the defined atomistic structure, it is convenient to define a mesh deformation with the default number of shape_iterations.

mesh_deformation = true

In this way, strain will be computed iteratively until the convergence on the structure deformation is reached.
It is also important to define the name of the atomistic structure to be deformed:

strain_atomistic_structure = tb

2. VFF

Now, based on the displacements obtained from the elasticity solution and projected onto the atomistic structure, we proceed to its relaxation with a valence force field (VFF) approach. We thus solve VFF on the atomic structure

Module vff
atomistic_structure = tb
boundary_conditions = all_around
plot = xyz }

with the b.c.

boundary_conditions =  all_around

that is, all the outer atoms are fixed. Each atom which is not bonded to 4 atoms which belong to the same structure, or each atom bonded to a passivation hydrogen, is considered an outer atom.

3. Drift-diffusion

As for drift-diffusion, as usual we define a simulation

name = driftdiffusion

belonging to the model driftdiffusion and associated to the whole device (deafult choice)

We select a poisson calculation for an equilibrium solution:

coupling = poisson

The Boundary Regions for drift-diffusion are the two contact regions, defined by the two boundary points anode and cathode

4. Empirical Tight-Binding

For the quantum calculations, we define an empirical_tb simulation, named tb:

Module empirical_tb
regions = Quantum
name = tb
atomistic_structure = tb
Harrison_scaling = true
potential_simulation = driftdiffusion
plot = (tbstates)

Solver { num_valence_eigenvalues = 4
num_conduction_eigenvalues = 4

In the Module empirical_tb we define the associated regions, given by

regions = Quantum

ETB Hamiltonian will be created and solved based on the atomistic structure named tb which has been previously built in the Atomistic section and relaxed through the elasticity model and the valence force field one.

atomistic_structure = tb

Information about potential profile to be applied (due to built-in, polarization fields, etc.) is given by

potential_simulation = driftdiffusion

In the Solver block, we define the number of eigenstates to be calculated in valence and conduction band:

num_valence_eigenvalues = 4
num_conduction_eigenvalues = 4

ETB calculations will be applied to a relaxed atomistic structure, where the atomic positions are displaced from the reference ones.
Since we want the TB parameters to be scaled with respect to this displacement, according to Harrison law, we define

Harrison_scaling = true

In this way, the effect of strain relaxation in the heterostructure will be correctly talken into account in ETB calculations.


We may now run tiberCAD to calculate and apply strain deformation first with a macroscopic elasticity model (strain) and then with a valence force field one (vff), we solve then driftdiffusion (dd) for an equilibrium solution and ETB for calculation of eigenvalues of holes and electrons (tb)

solve = (strain ,vff, driftdiffusion, tb)

tibercad ingan_qw.tib


After the execution, the output directory contains, as usual, the results for the simulations performed.

By using jmol, (an open-source Java viewer for chemical structures in 3D, see we can load the atomic structure generated by tiberCAD Atomistic Generator, contained in the file

It is made by a GaN/InGaN/GaN heterostucture grown along the x-axis direction. Note that a supercell with 20 Angstrom size in yz plane has been created. The supercell structure is then periodical in the yz plane.

The InGaN QW has been bult with a random alloy approach and In atom are shown in red.

InGaN QW random alloy

View of the quantum well structure along x direction, together with the left and right GaN barrier regions.

As for tight-binding simulation, the file tb.dat contains a table with the calculated eigenvalues for electrons and holes, together with their occupation index.

The files .cube have been also generated, which contain the information on the electron and hole wavefunction (square module). The format of these data files is supported by the visualization software jmol. Thus we can visualize the isosurface of e.g. the electron ground state, with this command:
isosurface mo1 color green cutoff 0.00005 "mo_cb_01.cube"

Analogously, we can visualize the hole state.

confinement of the two states in the InGaN quantum well

The figure above shows the confinement of the two states in the InGaN quantum well: in green the conduction state and in yellow the valence state. Note the spatial separation of the two states, induced by the strong polarization field occurring in this InGaN QW.

QW yz plane

View of the QW yz plane, which shows the random alloy configuration of InGaN structure (In atoms in red, Ga in grey and N in blue)

isosurface of the electron ground state

We can now visualize the isosurface of the electron ground state on the previous view of the QW yz plane, to show the effect of particle localization due to the random alloy configuration: electron wavefunction is mostly localized close to In atoms.
This may have the effect of reducing the overlapping of electron and hole state, yelding lower optical emission for a given transition.