Synopsys: graphene(L)

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 p_{z}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.