graphene is the NanoTCAD ViDES class for graphene flake. As inputs, it requires the length of the graphene flake L expressed in nanometers.
The picture above shows the simulated graphene flake. Actually, the simulation domain is just a chain of C atoms along the y direction and long L nanometer (in the case shown above, the simulated graphene is the one in the green dashed box, constituted by 2 elementary cell of 8 atoms). The graphene flake is then repeated along the y direction
attaching semi-infinite leads through the definition of the self-energy ∑, while in the transversal direction periodic boundary conditions (Bloch conditions) are imposed. In particular, along the y-direction the flake is periodic with period ∆.
The attributes of the classes are the following:
- Nc : (int) the number of atoms along the longitudinal direction
- n : (int) the number of atoms along the transversal direction.
- acc (double): Carbon to carbon distance expressed in nm.
- Eupper : (double) the upper energy limit for which the NEGF is computed in the graphene
- Elower : (double) the lower energy limit for which the NEGF is computed in the graphene
- dE : (double) the energy step computed when solving the NEGF
- kmin (double): is the minimum value of the transversal wave vector in the Brillouin zone, over which the integral for the T and the charge is computed. By default it is set to 0.
- kmax (double): is the maximum value of the transversal wave vector in the Brillouin zone, over which the integral for the T and the charge is computed. By default it is set to pi/∆.
- dk (double): the wave vector step used for the computation of the charge and the T.
- thop : (double) the hopping parameter of the pz tight-binding Hamiltonian
- eta : (double) the infinitesimal imaginary part used in the NEGF formalism
- mu1 : (double) the Fermi level of the left reservoir
- mu2 : (double) the Fermi level of the right reservoir
- Temp : (double) the temperature of the nanoribbon
- E : (numpy array) array of the energies for which the transmission coefficient and the free charge is computed in the graphene by means of the NEGF formalism
- T : (numpy array) array of the transmission coefficient computed in correspondence of the energies stored in the E array
- charge : (numpy array of length n*Nc) free charge computed in correspondence of each C atom of the graphene.
- x : (numpy array of length n*Nc) the x position of the i-th atom of the graphene: it is set to 0.
- y : (numpy array of length n*Nc) the y position of the i-th atom along the transport direction
- atoms_coordinates : (function) it computes the atoms coordinates in correspondence of each C atoms, filling the x, y vectors of the graphene class
- L : (double) the effective length of the considered graphene domain, which is the length of the graphene composed by a integer number of unit cells, closest to the length specified by the user.
- charge_T : (function) function which computes the free charge and the transmission coefficient in the energy interval specified by Eupper and Elower with an energy step equal to dE in correspondence of each C atoms of the graphene flake. Such a computation is performed in the real space.
- current : (function) it computes the current through the Landuer formula, once filled the T vector.
- gap : (function) it computes the energy gap of the nanoribbon: it is set to zero. This is required by the MPIze_kt command.
- rank : (int) the rank of the process in case the MPIze_kt command is used.
See the tutorial on graphene for a clear undestanding of this class.