Synopsys: MPIze_kt(NEGF_class)

MPIze_kt is a NanoTCAD ViDES function, which solve the NEGF problem by means of MPI,

**parallelizing over the transversal wave-vector**, in the casethe NEGF_class refers to a system with Bloch periodic boundary condition in the transversal direction. As input it requires a NEGF_class (i.e graphene, graphene_bilayer or the generic Hamiltonian class with periodic boundary conditions). The only requirements are that the new class must have the following attributes/methods:

**kmin (double):**the minimum wave-vector for which NEGF is solved and parallelized**kmax (double):**the maximum wave-vector for which NEGF is solved and parallelized**dk (double):**the wave-vector step**gap (function):**returns the energy gap of the material or an estimation.**gap (function):**returns the energy gap of the material or an estimation.**n (int):**the number of atoms in each slice**Nc (int) :**the number of slices**Eupper (double):**the upper energy level for which NEGF is solved**Elower (double):**the lower energy level for which NEGF is solved**dE (double):**the energy step**charge_T**(function): computes the charge and the transmission coefficient**rank (int):**the rank of the process**Temp (double):**the temperature of the material**mu1 (double):**the Fermi level of the left reservoir**mu2 (double):**the Fermi level of the right reservoir**Phi (array of double; dimension n*Nc):**the potential in correspondence of each atom of the material.**E**:**(numpy array)**array of the energies for which the transmission coefficient and the free charge is computed in the nanotube 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 (integrated over all the wave-vector)**charge**:**(numpy array of length n*Nc)**free charge computed in correspondence of each atom of the material.

Have a look at the tutorial on graphene-FET for a complete understanding of the command.