2.1. Zigzag graphene nanoribbon

Zigzag graphene nanoribbons (ZGNRs) can be obtained by cutting the planar honeycomb network of carbon atoms into quasi-one-dimensional structures along a given direction. The edges of graphene nanoribbons need to consider hydrogen passivation to satisfy all carbon valence electron bonding, which is necessary for infinite structures. The ZGNRs have been predicted to be half-metallic, ferromagnetic, and antiferromagnetic with magnetic moments at the edge sites. These edge states have been observed in scanning tunneling microscopy and are full of significance [KFEK06]. For instance, the electronic structure around the Fermi level is generally dominated by edge states, which influence the transport characteristics of ZGNR-based devices [SCL06]. Here we will study the electronic transport through a ZGNR in the FM and AFM configurations.

2.1.1. Building 4ZGNR device

../../_images/4zgnr-device.svg

Fig. 2.1.1 Schematic of the device structure.

The ZGNR can be classified by the number (N) of the carbon chains in the width as NZGNR. For practical purposes of this tutorial, we will consider a pristine 4ZGNR, periodic along the z direction. This device can be built using Device Studio modeling as shown in Fig. 2.1.2:

  1. Open Device Studio software, go to the menu bar and click BuildGr_Nanoribbon;

    • In the Gr_Nanoribbon window, check passivate dangling bonds with hydrogen at option, set n = 2 and m = 2, click Preview and Build the structure.

  2. In the menu bar click BuildRedefine Crystal;

    • Expand the cell 15 times in the c direction, click on Preview and Build the structure.

  3. In the menu bar click BuildConvert to Device, check Left electrode and Right electrode options, click Preview and Build the structure.

Tabs, example output

Fig. 2.1.2 Graphical user interface of Device Studio to build a two-probe system.

2.1.2. SCF for electrode

The proposed device Fig. 2.1.1 can be divided into three regions: two electrodes (left and right) and a central region. The left and right electrodes are semi-infinite with periodic boundary conditions along the \(\pm\) z-direction and don’t differ from each other. The central region is terminated by buffer regions (electrode copies) and a scattering region in between. The calculation of a two-probe system typically consists of the following steps:

  1. SCF calculation for the electrodes;

  2. NEGF-SCF calculation for the scattering region.

The required input files for these steps could be generated using Device Studio with NanoDCAL module simulator, as follows:

  1. In the menu bar of Device Studio, click SimulatorNanoDCALSCF Calculation to pop up the interface shown in Fig. 2.1.3;

    • Users can set calculation parameters related to SCF-NEGF method;

    • In this example the default parameters will be used, except for the Spin type option, which will be set as CollinearSpin.

  2. Click Generate files;

    • The Device Studio will create a new folder that contain the scf.input files of LeftElectrode, RightElectrode and Device.

NanoDcal module simulator

Fig. 2.1.3 NanoDCAL module simulator.

Now, we are ready to start the calculations. But, before doing that we’ll briefly present the simulation parameters specified in the generated files.

Electrode SCF input file

%%What quantities should be calculated
calculation.name = scf

%Basic setting
calculation.occupationFunction.temperature = 100
calculation.realspacegrids.E_cutoff = 80 Hartree
calculation.xcFunctional.Type = LDA_PZ81
calculation.k_spacegrids.number = [ 1 1 100 ]'

system.centralCellVectors = [[31.36 0 0]' [0 20 0]' [0 0 2.4595]']
system.spinType = CollinearSpin

%Iteration control
calculation.SCF.monitoredVariableName = {'rhoMatrix','hMatrix','totalEnergy','bandEnergy','gridCharge','orbitalCharge','spinPolar'}
calculation.SCF.convergenceCriteria = {1e-04,1e-04,[],[],[],[],[]}
calculation.SCF.maximumSteps = 200
calculation.SCF.mixMethod = Pulay
calculation.SCF.mixRate = 0.1
calculation.SCF.mixingMode = H
calculation.SCF.startingMode = H
%calculation.SCF.donatorObject = NanodcalObject.mat

The keywords specify the following:

  • calculation.name This input parameter specifies the task that NanoDCAL should perform.

  • calculation.occupationFunction.temperature Electronic temperature of the system, in the unit of K.

  • calculation.realspacegrids.E_cutoff The equivalent energy cut-off of the grid density.

  • calculation.xcFunctional.Type The type of exchange-correlation functional to be used.

  • calculation.k_spacegrids.number The small k-space grid number in each direction. It is used to divide the Brillouin zone into the input number of small grids.

  • system.centralCellVectors This parameter defines the three base vectors of the central cell, either the primitive or super cell for a periodic system or the central scattering region for an open system, which is with a shape of parallelepiped.

  • system.spinType Determines the spin description.

  • calculation.SCF.monitoredVariableName Name list of variables to be monitored.

  • calculation.SCF.convergenceCriteria The SCF loop will stop when all monitored variables satisfy this criteria.

  • calculation.SCF.maximumSteps Name list of variables to be monitored.

  • calculation.SCF.convergenceCriteria The maximum steps in the SCF cycle.

  • calculation.SCF.monitoredVariableName Name list of variables to be monitored.

  • calculation.SCF.mixMethod With this parameter an user may select a built-in mixer.

  • calculation.SCF.mixRate A parameter to control the mixing rate with the method selected by the parameter calculation.SCF.mixMethod.

  • calculation.SCF.mixingMode In the SCF iterations, the mixing value could be any of Hamiltonian matrix, rho matrix, and real space density.

  • calculation.SCF.startingMode The SCF cycle can start from different physical quantities.

  • calculation.SCF.donatorObject The value of the starting physical quantity will be taken from the donatorObject.

The electrode input file ends with atomic basis set, xyz positions and initial polarization of each atom.

%Basic set
system.neutralAtomDataDirectory = '../'
system.atomBlock = 10
AtomType OrbitalType X Y Z SpinPolarization
C    LDA-DZP 12.12999997     10.00000000     1.84463412      1
C    LDA-DZP 12.83999999     10.00000000     0.61487804      1
C    LDA-DZP 14.25999999     10.00000000     0.61487804      1
C    LDA-DZP 14.96999998     10.00000000     1.84463412      1
C    LDA-DZP 16.39000000     10.00000000     1.84463412      1
C    LDA-DZP 17.10000000     10.00000000     0.61487804      1
C    LDA-DZP 18.51999998     10.00000000     0.61487804      1
C    LDA-DZP 19.23000000     10.00000000     1.84463412      1
H    LDA-DZP 11.03500000     10.00000000     1.84463412      1
H    LDA-DZP 20.32499998     10.00000000     1.84463412      1
end

The keywords specifies the following:

  • system.neutralAtomDataDirectory Directory containing neutral atom (basis) files

  • system.atomBlock This block defines the number, type, orbital, xyz positions and spin polarization state of each atom in the system.

Note

The SpinPolarization column is useful to break the symmetry between spin up and spin down, allowing magnetic solutions. Therefore, in order to obtain the AFM state properties, we set a different SpinPolarization pattern in the electrode and central region input files.

Tip

There is an alternative way to specify system.atomBlock data content. When doing this, the system.atomFile should be included in the electrode scf.input file. Assuming that the atomic data is specified in 4zgnr-FM.xyz file, the following block could be included in the electrode scf.input:

%Basic set
system.neutralAtomDataDirectory = '../'
system.atomBlock = 10
system.atomFile = 4zgnr-FM.xyz

In order to perform the transport calculation, we first have to calculate Hamiltonian from both electrodes. However, as we discussed before, the left and right electrodes are the same in this pristine device. Thus, the next calculations will be performed only with the left electrode.

Running the electrode scf.input

To perform the calculation download the input file 4ZGNR.elec.scf.input, or use Device Studio as following:

On the Device Studio navigate to the Project panel:

  1. Go to the LeftElectrode folder ➟ right click over scf.input file ➟ run to pop up the Run dialog window, as shown in Fig. 2.1.4;

  2. In the Run window, choose the Gateway location, number of cores and press run;

  3. Once the calculation has completed, the results will be returned to the LeftElectrode folder.

../../_images/run1.svg

Fig. 2.1.4 Run dialog window of Device Studio.

Optionally, several ground state properties of the system could also be calculated from the obtained SCF results. In fact, the electronic properties of the electrode could be relevant to further analys of transport properties. In the next step, we’ll show how to calculate the electrode band structure.

2.1.3. The electrode band structure

  1. In the Device Studio navigate to the menu bar, click on SimulatorNanoDCALAnalysis to set physical quantity, as shown in Fig. 2.1.5;

    • In the Analysis window, on the top left choose the LeftElectrode option.

    • Navigate to the Analysis panel (left side) ➟ select BandStructure ➟ click on the Right arrow button to transfer BandStructure calculator to the Calculation Selected panel.

  2. The Symmetry k-points and Number of k-points are show on the right side, click on path to see/edit the K-paths along the high-symmetry points in the Brillouin zone and press Apply. Returning to the Analysis window, click Generate files to create the BandStructure.input file.

../../_images/brillouin-build.svg

Fig. 2.1.5 Band structure interface of Device Studio and Brillouin zone of the 4ZGNR unit cell.

Band structure input file:

%%What quantities should be calculated
system.object = NanodcalObject.mat
calculation.name = bandstructure
calculation.bandStructure.symmetryKPoints = {'G','Z'}
calculation.bandStructure.numberOfKPoints = 200
calculation.bandStructure.plot = true
calculation.control.xml = true

The keywords specifies the following:

  • calculation.bandStructure.symmetryKPoints The k-space fractional coordinates of those high symmetry k-points listed in symmetryKPoints, each column corresponds to one of them.

  • calculation.bandStructure.coordinatesOfTheSymmetryKPoints If an integer, it is the total number of K-points used to represent the entire band structure. If an integer array, the number of k-points used to represent each section of the band structure between those high symmetry points.

  • calculation.bandStructure.plot If true, a plot will be given after the calculation.

  • calculation.control.xml If true, a data file will be given after the calculation.

As we done before, run the BandStructure.input file (4ZGNR.elec.bands.input), once the calculation finish the .xml results will return to the LeftElectrode folder.

Tip

The calculated results from NanoDCAL code will be given in .mat and .xml file format. In this tutorial we’ll be focus in the second one, which can be read using the Device Studio interface. However, the .mat results could also be loaded using MATLAB platform.

Spin-polarized band structure

The band structure of the 4ZGNR system in the AFM and FM spin orientations are presented in Fig. 2.1.6. Important physical insights can be taken from theses results. In the AFM configuration, the edge states of ZGNRs are expected to be spin-polarized owing to their high degeneracy, which can be seen in the flat bands around the Fermi level [KK08]. In addition, in this state, the 4ZGNR present a semiconductor behavior with a direct bandgap of 0.41 eV, while in the FM configuration the nanoribbon becomes metallic.

../../_images/4zgnr-Bands-AF-FM.svg

Fig. 2.1.6 The band structure of pristine 4ZGNR device for AFM and FM configurations, respectively. Spin-up and down states are represented by the blue and red solid lines in the bands.

2.1.4. The electrode charge calculation

  1. In the Device Studio navigate to the menu bar, click on SimulatorNanoDCALAnalysis to set physical quantity, as shown in Fig. 2.1.5;

    • In the Analysis window, near the top left corner, choose the LeftElectrode option.

    • Navigate to the Analysis panel (left side) ➟ select Charge ➟ click on the Right arrow button to transfer Charge calculator to the Calculation Selected panel. Go to the Charge tab ➟ on the Project section choose Atom and click Generate files.

Note

In this example we considered the ferromagnetic (FM) ordering. The user should be able repeat the procedure to explore the AF configuration.

The Device Studio will include the charge.input file in the electrode folder as follow:

Charge input file

calculation.name = charge
system.object = NanodcalObject.mat
calculation.charge.whatProjected = 'Atom'
calculation.control.xml = true

Most of these keywords were already specified here. Thus, we’ll focus on the particular keyword that plays an important role in the analysis of the physical properties of the studied system.

The keywords specify the following:

  • calculation.charge.whatProjected If ‘Ell’, the number of electrons with the given angular momentum will be calculated.

If ‘Orbital’ or ‘Atom’, the number of electrons of the listed orbitals or atoms will be calculated. If ‘Grid’, the charge in the listed grids will be calculated. If ‘None’, the total number of electrons will be calculated.

Run the calculation with the file 4ZGNR.elec-charge.input.

After the calculation is finished, the following output files are generated: CalculatedResults.mat, log.txt, and Charge.mat. The .mat results can be loaded using the MATLAB platform.

Charge analysis

The output file has the following information:

totalCharge  [3.92971689161881; 3.95043395676725; 3.99411113566212; 3.99469680950811; 3.99469680950825; 3.99411113566205; 3.95043395676723; 3.92971689161882; 1.13104120644364; 1.13104120644364]

spinPolarizedCharge_r  [0.18658085; 0.019102275; 0.023152719;       0.005908618; 0.005908618; 0.023152719; 0.019102275; 0.18658085; 0.006002426; 0.006002426]

spinPolarizedCharge_theta  [0; 3.141592654; 0; 3.141592654; 3.141592654; 0; 3.141592654; 0; 0; 0]

spinPolarizedCharge_phi  [0;...;0]

spinMagneticMoment  [1.08E-05; 1.11E-06; 1.34E-06; 3.42E-07; 3.42E-07; 1.34E-06; 1.11E-06; 1.08E-05; 3.47E-07; 3.47E-07]

whatProjected  atom

indexProjected  [1 2 3 4 5 6 7 8 9 10]

The spin-polarized charge is defined as a vector that is along the spin-polarized direction with an amplitude of \(N_{p}\) or \(N_{ap}\), where \(N_{p}\) and \(N_{ap}\) are the numbers of electrons whose spin are parallel or anti-parallel to the spin-polarized direction. In the output file each physical quantities can be analyzed as follow:

  • totalCharge (\(N_{p}\) and \(N_{ap}\)): Represents the total projected charges spin;

  • spinPolarizedCharge_r (\(N_{p}\) and \(N_{ap}\)): Represents the net spin;

  • spinPolarizedCharge_theta and _phi : The results are consider to define the spin polarized direction in the conventional spherical coordinate system;

  • spinMagneticMoment: The calculated results corresponds to spin magnetic moment in unit of “eV/Tesla”;

  • whatProjected: The type to which the charges are projected;

  • indexProjected: The index of those components whose spin-polarized charge is calculated.

It is well established that ZGNRs possess localized electron states arising at their edges and with energies very close to Fermi level. These states have a small magnetic moment with the highest contribution from the carbon atoms at the edges, as we expect [EHFC10].

2.1.5. SCF for two-probe system

Having calculated the electrodes, we move forward to carry out the two-probe transport calculation. Again, we present a briefly description of the scf.input from the central region.

Central region SCF input file

%%What quantities should be calculated
calculation.name = scf

%Basic setting
calculation.occupationFunction.temperature = 100
calculation.realspacegrids.E_cutoff = 80 Hartree
calculation.xcFunctional.Type = LDA_PZ81
calculation.k_spacegrids.number = [ 1 1 1 ]'

%Description of electrode
system.numberOfLeads = 2
system.typeOfLead1 = left
system.voltageOfLead1 = 0
system.objectOfLead1 = ../LeftElectrode/NanodcalObject.mat
system.typeOfLead2 = right
system.voltageOfLead2 = 0
system.objectOfLead2 = ../LeftElectrode/NanodcalObject.mat

%Contour integral
%calculation.complexEcontour.lowestEnergyPoint = 1.5 Hartree
calculation.complexEcontour.numberOfPoints = 40
calculation.realEcontour.interval = 0.0272114
calculation.realEcontour.eta = 0.0272114

system.centralCellVectors = [[31.36 0 0]' [0 20 0]' [0 0 31.9737]']
system.spinType = CollinearSpin

%Iteration control
calculation.SCF.monitoredVariableName = {'rhoMatrix','hMatrix','totalEnergy','bandEnergy','gridCharge','orbitalCharge','spinPolar'}
calculation.SCF.convergenceCriteria = {1e-04,1e-04,[],[],[],[],[]}
calculation.SCF.maximumSteps = 200
calculation.SCF.mixMethod = Pulay
calculation.SCF.mixRate = 0.1
calculation.SCF.mixingMode = H
calculation.SCF.startingMode = H
%calculation.SCF.donatorObject = NanodcalObject.mat

The keywords are specifies the following:

  • system.numberOfLeads The number of leads (probes) in the system.

  • system.typeOfLead1 The value must be given for each of the leads in the system. It describes the relative position of the lead to the central scattering region.

  • system.voltageOfLead1 The bias voltage applied to the lead, in the unit of Volt. The change of chemical potential of the lead due to the bias voltage is -eV.

  • system.objectOfLead1 The calculation of a system with leads can be performed in two steps. The first step is to perform calculation for each lead which is considered equivalently as an infinite periodic system. In the second step, the physical properties (potential, density etc.) of the leads are used as boundary conditions applied to the central scattering region of the device. In this scenario, this input value is normally a filename of the calculated and saved results of the leads.

  • calculation.complexEcontour.lowestEnergyPoint The lowest energy point on the complex energy contour.

  • calculation.complexEcontour.numberOfPoints Number of energy points used on the complex energy contour for integrating the equilibrium part of the lesser Green’s function.

  • calculation.realEcontour.interval Energy interval used to determine the number of energy points for integrating the non-equilibrium part of lesser Green’s function on the real energy axis.

  • calculation.realEcontour.eta the small eta used in the calculation of self-energy and/or Green’s function along the real energy contour.

This input file also ends with atomic basis set, xyz positions and initial polarization of each atom, which can be viewed below:

%Basic set
system.neutralAtomDataDirectory = '../'
system.atomBlock = 130
AtomType OrbitalType X Y Z SpinPolarization
C    LDA-DZP 12.12999997     10.00000000     1.84464625      1
C    LDA-DZP 12.12999997     10.00000000     4.30415840      1
C    LDA-DZP 12.12999997     10.00000000     6.76367053      1
C    LDA-DZP 12.12999997     10.00000000     9.22318268      1
C    LDA-DZP 12.12999997     10.00000000     11.68269483     1
C    LDA-DZP 12.12999997     10.00000000     14.14220699     1
C    LDA-DZP 12.12999997     10.00000000     16.60171911     1
C    LDA-DZP 12.12999997     10.00000000     19.06123128     1
C    LDA-DZP 12.12999997     10.00000000     21.52074341     1
C    LDA-DZP 12.12999997     10.00000000     23.98025557     1
C    LDA-DZP 12.12999997     10.00000000     26.43976771     1
C    LDA-DZP 12.12999997     10.00000000     28.89927987     1
C    LDA-DZP 12.12999997     10.00000000     31.35879200     1
C    LDA-DZP 12.83999999     10.00000000     0.61489017      1
C    LDA-DZP 12.83999999     10.00000000     3.07440231      1
C    LDA-DZP 12.83999999     10.00000000     5.53391447      1
C    LDA-DZP 12.83999999     10.00000000     7.99342662      1
C    LDA-DZP 12.83999999     10.00000000     10.45293876     1
C    LDA-DZP 12.83999999     10.00000000     12.91245091     1
C    LDA-DZP 12.83999999     10.00000000     15.37196306     1
C    LDA-DZP 12.83999999     10.00000000     17.83147521     1
C    LDA-DZP 12.83999999     10.00000000     20.29098735     1
C    LDA-DZP 12.83999999     10.00000000     22.75049950     1
C    LDA-DZP 12.83999999     10.00000000     25.21001164     1
C    LDA-DZP 12.83999999     10.00000000     27.66952377     1
C    LDA-DZP 12.83999999     10.00000000     30.12903594     1
C    LDA-DZP 14.25999999     10.00000000     0.61489017      1
C    LDA-DZP 14.25999999     10.00000000     3.07440231      1
C    LDA-DZP 14.25999999     10.00000000     5.53391447      1
C    LDA-DZP 14.25999999     10.00000000     7.99342662      1
C    LDA-DZP 14.25999999     10.00000000     10.45293876     1
C    LDA-DZP 14.25999999     10.00000000     12.91245091     1
C    LDA-DZP 14.25999999     10.00000000     15.37196306     1
C    LDA-DZP 14.25999999     10.00000000     17.83147521     1
C    LDA-DZP 14.25999999     10.00000000     20.29098735     1
C    LDA-DZP 14.25999999     10.00000000     22.75049950     1
C    LDA-DZP 14.25999999     10.00000000     25.21001164     1
C    LDA-DZP 14.25999999     10.00000000     27.66952377     1
C    LDA-DZP 14.25999999     10.00000000     30.12903594     1
C    LDA-DZP 14.96999998     10.00000000     1.84464625      1
C    LDA-DZP 14.96999998     10.00000000     4.30415840      1
C    LDA-DZP 14.96999998     10.00000000     6.76367053      1
C    LDA-DZP 14.96999998     10.00000000     9.22318268      1
C    LDA-DZP 14.96999998     10.00000000     11.68269483     1
C    LDA-DZP 14.96999998     10.00000000     14.14220699     1
C    LDA-DZP 14.96999998     10.00000000     16.60171911     1
C    LDA-DZP 14.96999998     10.00000000     19.06123128     1
C    LDA-DZP 14.96999998     10.00000000     21.52074341     1
C    LDA-DZP 14.96999998     10.00000000     23.98025557     1
C    LDA-DZP 14.96999998     10.00000000     26.43976771     1
C    LDA-DZP 14.96999998     10.00000000     28.89927987     1
C    LDA-DZP 14.96999998     10.00000000     31.35879200     1
C    LDA-DZP 16.39000000     10.00000000     1.84464625      1
C    LDA-DZP 16.39000000     10.00000000     4.30415840      1
C    LDA-DZP 16.39000000     10.00000000     6.76367053      1
C    LDA-DZP 16.39000000     10.00000000     9.22318268      1
C    LDA-DZP 16.39000000     10.00000000     11.68269483     1
C    LDA-DZP 16.39000000     10.00000000     14.14220699     1
C    LDA-DZP 16.39000000     10.00000000     16.60171911     1
C    LDA-DZP 16.39000000     10.00000000     19.06123128     1
C    LDA-DZP 16.39000000     10.00000000     21.52074341     1
C    LDA-DZP 16.39000000     10.00000000     23.98025557     1
C    LDA-DZP 16.39000000     10.00000000     26.43976771     1
C    LDA-DZP 16.39000000     10.00000000     28.89927987     1
C    LDA-DZP 16.39000000     10.00000000     31.35879200     1
C    LDA-DZP 17.10000000     10.00000000     0.61489017      1
C    LDA-DZP 17.10000000     10.00000000     3.07440231      1
C    LDA-DZP 17.10000000     10.00000000     5.53391447      1
C    LDA-DZP 17.10000000     10.00000000     7.99342662      1
C    LDA-DZP 17.10000000     10.00000000     10.45293876     1
C    LDA-DZP 17.10000000     10.00000000     12.91245091     1
C    LDA-DZP 17.10000000     10.00000000     15.37196306     1
C    LDA-DZP 17.10000000     10.00000000     17.83147521     1
C    LDA-DZP 17.10000000     10.00000000     20.29098735     1
C    LDA-DZP 17.10000000     10.00000000     22.75049950     1
C    LDA-DZP 17.10000000     10.00000000     25.21001164     1
C    LDA-DZP 17.10000000     10.00000000     27.66952377     1
C    LDA-DZP 17.10000000     10.00000000     30.12903594     1
C    LDA-DZP 18.51999998     10.00000000     0.61489017      1
C    LDA-DZP 18.51999998     10.00000000     3.07440231      1
C    LDA-DZP 18.51999998     10.00000000     5.53391447      1
C    LDA-DZP 18.51999998     10.00000000     7.99342662      1
C    LDA-DZP 18.51999998     10.00000000     10.45293876     1
C    LDA-DZP 18.51999998     10.00000000     12.91245091     1
C    LDA-DZP 18.51999998     10.00000000     15.37196306     1
C    LDA-DZP 18.51999998     10.00000000     17.83147521     1
C    LDA-DZP 18.51999998     10.00000000     20.29098735     1
C    LDA-DZP 18.51999998     10.00000000     22.75049950     1
C    LDA-DZP 18.51999998     10.00000000     25.21001164     1
C    LDA-DZP 18.51999998     10.00000000     27.66952377     1
C    LDA-DZP 18.51999998     10.00000000     30.12903594     1
C    LDA-DZP 19.23000000     10.00000000     1.84464625      1
C    LDA-DZP 19.23000000     10.00000000     4.30415840      1
C    LDA-DZP 19.23000000     10.00000000     6.76367053      1
C    LDA-DZP 19.23000000     10.00000000     9.22318268      1
C    LDA-DZP 19.23000000     10.00000000     11.68269483     1
C    LDA-DZP 19.23000000     10.00000000     14.14220699     1
C    LDA-DZP 19.23000000     10.00000000     16.60171911     1
C    LDA-DZP 19.23000000     10.00000000     19.06123128     1
C    LDA-DZP 19.23000000     10.00000000     21.52074341     1
C    LDA-DZP 19.23000000     10.00000000     23.98025557     1
C    LDA-DZP 19.23000000     10.00000000     26.43976771     1
C    LDA-DZP 19.23000000     10.00000000     28.89927987     1
C    LDA-DZP 19.23000000     10.00000000     31.35879200     1
H    LDA-DZP 11.03500000     10.00000000     1.84464625      1
H    LDA-DZP 11.03500000     10.00000000     4.30415840      1
H    LDA-DZP 11.03500000     10.00000000     6.76367053      1
H    LDA-DZP 11.03500000     10.00000000     9.22318268      1
H    LDA-DZP 11.03500000     10.00000000     11.68269483     1
H    LDA-DZP 11.03500000     10.00000000     14.14220699     1
H    LDA-DZP 11.03500000     10.00000000     16.60171911     1
H    LDA-DZP 11.03500000     10.00000000     19.06123128     1
H    LDA-DZP 11.03500000     10.00000000     21.52074341     1
H    LDA-DZP 11.03500000     10.00000000     23.98025557     1
H    LDA-DZP 11.03500000     10.00000000     26.43976771     1
H    LDA-DZP 11.03500000     10.00000000     28.89927987     1
H    LDA-DZP 11.03500000     10.00000000     31.35879200     1
H    LDA-DZP 20.32499998     10.00000000     1.84464625      1
H    LDA-DZP 20.32499998     10.00000000     4.30415840      1
H    LDA-DZP 20.32499998     10.00000000     6.76367053      1
H    LDA-DZP 20.32499998     10.00000000     9.22318268      1
H    LDA-DZP 20.32499998     10.00000000     11.68269483     1
H    LDA-DZP 20.32499998     10.00000000     14.14220699     1
H    LDA-DZP 20.32499998     10.00000000     16.60171911     1
H    LDA-DZP 20.32499998     10.00000000     19.06123128     1
H    LDA-DZP 20.32499998     10.00000000     21.52074341     1
H    LDA-DZP 20.32499998     10.00000000     23.98025557     1
H    LDA-DZP 20.32499998     10.00000000     26.43976771     1
H    LDA-DZP 20.32499998     10.00000000     28.89927987     1
H    LDA-DZP 20.32499998     10.00000000     31.35879200     1
end

Run the scf.input file from the Device (4ZGNR.CentralRegion.scf.input).

2.1.6. Transmission calculation

Once the self-consistent two-probe calculation finish, it is time to compute the most fundamental quantum transport property, the transmission spectrum. The transmission.input file can be created following the steps below:

  1. In menu bar of Device Studio, click on SimulatorNanoDCALAnalysis to set physical quantity, as shown in Fig. 2.1.7;

    • In the Analysis window, on the top left choose the Device option;

    • Navigate to the Analysis panel (left side) ➟ select Transmission ➟ click on the Right arrow button to transfer Transmission calculator to the Calculation Selected panel.

  2. The TransmissionSpectrum options are shown in the right side of the Analysis window. Edit the k-point sampling set to n1 = 1, n2 = 1 and n3 = 100 and click Generate files.

../../_images/transmission-module.svg

Fig. 2.1.7 Transmission spectrum interface of the Device Studio.

Transmission input file

%%What quantities should be calculated
system.object = NanodcalObject.mat
calculation.name = transmission
calculation.transmission.kSpaceGridNumber = [ 1 1 100 ]'
calculation.transmission.energyPoints = [-2.00:0.005:2.00]
calculation.transmission.plot = true
calculation.control.xml = true

The keywords specifies the following:

  • calculation.transmission.kSpaceGridNumber the small k-space grid number in each direction which, together with kSpaceGridShift, are used to produce the parameter kSpacePoints.

  • calculation.transmission.energyPoints The energy points at which the transmission will be calculated. Note that the energy values are measured from chemical potential of a lead having zero applied voltage.

  • calculation.bandStructure.coordinatesOfTheSymmetryKPoints The k-space fractional coordinates of those high symmetry k-points listed in symmetryKPoints, each column corresponds to one of them.

Run the simulation with the transmission input file 4ZGNR.Transmission.input.

Transmission spectrum

Next, you should analyses the results from the produced transmission dataset (.xml and .mat) that can then be plotted using the MATLAB or Device Studio by:

  • In menu bar of Device Studio, click on SimulatorNanoDCALAnalysis Plot ➟ import Transmission.xml file.

As expected for a perfect 1D system, the transmission spectrum in Fig. 2.1.8 exhibits a sequence of steps with several integer steps (conducting channels) and narrow jump points, which is consistent with the band structures (Fig. 2.1.6). The transmission spectrum for both AFM and FM configurations exhibits an enhanced transmission around the Fermi level. Typically, transmission peaks are very high because of edge states.For the AFM configuration exhibit a gap at the Fermi energy of about 0.41 eV for both the spin-up and spin-down with the maximum transmission probability T(E)~2. Meanwhile, the transmission probability for FM configuration is similar for the two spin channels, except for the two narrow peaks with opposite spins contributions around zero (in line with Fig. 2.1.6), with a maximum transmission probability of these peaks of about T(E)~4.

../../_images/4zgnr-Trans-AF-FM.svg

Fig. 2.1.8 The calculated transmission coefficient for the 4ZGNR device in AFM and FM configurations, respectively. Spin-up and down states are represented by the transmission’s blue and red solid lines.

2.1.7. Spin current calculation

After setting up a zero-bias calculation, the spin transmission will demonstrate the probability of the electrons flowing between the left and right electrodes. The NEGF-DFT approach can be employed to calculate the spin-dependent current when a bias is applied between the two 4ZGNR electrodes, allowing us to understand how such devices will behave under finite source (left)-drain (right) bias.

In order to get spin current as a function of voltage (I-V) we should perform SCF calculations considering bias voltage difference between the leads. Thus, we should rerun the SCF calculation (as shown here) for the two-probe system changing the value at the keyword, as shows below:

system.voltageOfLead1 = 0.0
system.voltageOfLead2 = 0.2

Note

Note that in this example we considered a bias voltage of 0.2 V and the user should be able to explore the transport properties for a set of different bias voltages (0.2, 0.4, 0.6, 0.8, and 1.0).

In order calculate the I-V curve the user can generate IVcurve.input file with Device Studio software. The IVcurve.input file can be created following the steps below:

  1. In menu bar of Device Studio, click on SimulatorNanoDCALAnalysis to set parameters, as shown in Fig. 2.1.9:

    • In the Analysis window, on the top left choose the Device option;

    • Navigate to the Analysis panel (left side) ➟ select IVcurve ➟ click on the Right arrow button to transfer IVcurve calculator to the Calculation Selected panel.

  2. The current-voltage options are shown in the right side of the Analysis window. The k-point sampling can be set to n1 = 1, n2 = 1 and n3 = 1 and click Generate files.

../../_images/iv-module.svg

Fig. 2.1.9 The I-V calculation Device Studio module

IV-curve input file

calculation.name = ivc
calculation.control.temporaryDirectory = ./
calculation.IVCurve.systemObjectStatus = 'AllCalculated'
calculation.IVCurve.systemObjectFiles = ../NanodcalObject.mat
calculation.IVCurve.kSpaceGridNumber = [1 1 1]'
calculation.control.xml = true

Warning

Note that the calculation.IVCurve.systemObjectFiles keyword should be used to include the NanodcalObject.mat files related with the different bias voltage calculations. For example, to plot an I-V curve for bias voltage between 0.2 V to 1.0 V the keyword could change to:

calculation.IVCurve.systemObjectFiles = {
'../0.2Vb/NanodcalObject.mat','../0.4Vb/NanodcalObject.mat',
'../0.6Vb/NanodcalObject.mat','../0.8Vb/NanodcalObject.mat',
'../1.0Vb/NanodcalObject.mat'}

After running the IVcurve.input file (IVcurve.input) the I-V dataset will be generated (CalculatedResults.mat, log.txt, and CurrentVoltageCurves.mat) and this .mat results can be loaded using MATLAB platform.

I-V analysis for FM configuration

In the output file (CurrentVoltageCurves.mat), the user will find the following information for spin-current analysis:

V1  [0,0,0,0]

I1  [-1.451751858838228e-05 ,-1.820533556641101e-05, -1.776464654964069e-05, -1.774221231130539e-05, -1.808853635862505e-05]

I1_spinDecomposed(1,:)  [-7.743554393063080e-06, -1.125202100217556e-05, -1.103301116773889e-05, -1.113620148884284e-05, -1.108656493318672e-05]

I1_spinDecomposed(2,:)  [-6.773964195319202e-06, -6.953314564235451e-06, -6.731635381901803e-06, -6.606010822462556e-06, -7.001971425438325e-06]

V2  [0.2, 0.4, 0.6, 0.8, 1]

I2  [1.451751858838228e-05, 1.820533556641098e-05, 1.776464654964070e-05, 1.774221231130537e-05, 1.774221231130537e-05]

I2_spinDecomposed(1,:)  [7.743554393063065e-06, 1.125202100217556e-05, 1.103301116773889e-05, 1.113620148884283e-05, 1.108656493318672e-05]

I2_spinDecomposed(2,:)  [6.773964195319210e-06, 6.953314564235415e-06, 6.731635381901803e-06, 6.606010822462549e-06, 7.001971425438333e-06]

Note

  • V1 and V2: 1D double array with the number of sets of the applied bias voltages.

  • I1 and I2: 1D double array with the length of the number of sets of the applied bias voltages. The currents from lead 1 and 2 under the corresponding applied bias voltages.

  • I1_spinDecomposed and I2_spinDecomposed: Double matrix, with the dimension of the number of spin components by the number of sets of the applied bias voltage. The spin-decomposed currents from lead 1 and lead 2 under the corresponding applied bias voltages.

In order to further analyze the Current-Voltage curves, we plot spin current for various applied biases, as shown in Fig. 2.1.10. Just for convenience, we will label 1 and 2 components as spin-up and spin-down, respectively.

../../_images/IV-fm.svg

Fig. 2.1.10 Spin current for various applied biases at FM configuration.

The current for spin-up (solid blue line) and spin-down (solid red line) increases uniformly until 0.2 V. Beyond this value, there is a great increase in spin-up current compared to the spin-down one. This behavior is expected for a pristine zigzag graphene nanoribbon.

[TGW01]

J. Taylor, H. Guo, and J. Wang. Ab initio modeling of quantum transport properties of molecular electronic devices. Phys. Rev. B 63, (2001), p. 245407.

[BBF88]

M. N. Baibich, J. M. Broto, A. Fert, F. Nguyen Van Dau, F. Petroff, P. Etienne, G. Creuzet, A. Friederich, and J. Chazelas. Giant Magnetoresistance of (001)Fe/(001)Cr Magnetic Superlattices. Phys. Rev. Lett. 61 (1988), p. 2472.

[QYW20]

P. X. Qin, H. Yan, X. N. Wang, Z. X. Feng, H. X. Guo, X. R. Zhou, H. J. Wu, X. Zhang, Z. G. G. Leng, H. Yu Chen, and Z. Q. Liu. Noncollinear spintronics and electric-field control: a review. Rare Met. 39 (2020), p. 95.

[WAB01]

S. A. Wolfd, D. Awschalomr, J. M. Daughton, S. V. Molnar, M. L. Roukes, A. Y. Chtchelkanova, and D. M. Treger. Spintronics: A Spin-Based Electronics Vision for the Future. Science 294 (2001), p. 1488.

[KFEK06]

Y. Kobayashi, K.-I. Fukui, T.i Enoki, and K. Kusakabe. Edge state on hydrogen-terminated graphite edges investigated by scanning tunneling microscopy. Phys. Rev. B 73 (2006), p. 125415.

[KK08]

W. Y. Kim, and K. S. Kim. Prediction of very large values of magnetoresistance in a graphene nanoribbon device. Nat. Nanotechnol. 3 (2008), p. 408.

[EHFC10]

E. Kan, H. Xiang, F. Wu, C. Lee, J. Yang, and M.-H. Whangbo. Ferrimagnetism in zigzag graphene nanoribbons induced by main-group adatoms. AIP Advances 3 (2013), p. 092105.