2.2. Nickel-graphene interface
The field of spintronics, or magneto electronic, utilizes the spin degree of freedom of electrons and their inherent magnetic moment to influence or control the properties of a circuit. Within this field, much effort has focused on developing interfaces, commonly a nonmagnetic or insulator in contact with a ferromagnet (FM), that exhibits a large spin-polarized interface resistance [SCL06]. Ideally, such a spin filter would allow electrons of only a single spin component to conduct. For example, in the field of graphene-based spintronics, a device could be designed to generate and inject a spin-polarized current through a graphene layer.
In this tutorial, we’ll take advantage of the computational scalability of NanoDCAL code to treat large atomic systems, investigating the complex two-probe device shown in Fig. 2.2.1. The system consists of a graphene layer sandwiched between nickel (111) surfaces and was studied in detail in Graphene Spintronics: The Role of Ferromagnetic Electrodes [MJG11].
First we’ll show step-by-step how to build this device using the advanced modeling capabilities of the Device Studio interface. Next, the transport properties will be calculated and discussed.
The transport is along z- axis. The black box represents the central region and the left/right leads. The Ni and C atoms are shown in light blue and dark gray, respectively. The cell parameters a, b and c from the central region are aligned to the x, y, z axis, respectively.
2.2.1. Building Ni-graphene device
First we have to import the nickel and graphene unit cells, as shown in Fig. 2.2.2.
Open Device Studio software ➟ Select Create a new Project ➟ File name Ni-graphene ➟ press Save;
In the menu bar click File ➟ Import ➟ Import Local to pop up the search box:
Go to DeviceStudio folder ➟ material ➟ 2Dmaterials ➟ X-enes ➟ select graphene.hzw ➟ click open.
Back to DeviceStudio folder ➟ material ➟ conductor ➟ Pure_material ➟ select Ni.hzw ➟ click open.
Select Ni.hzw, go to the menu bar and click Build ➟ Surface/Slab;
In the Cleave plane enter Miller indices (h = 1, k = 1, l = 1) ➟ Select slab ➟ change the value in Thickness = 8.14 Å ➟ press Build.
Next we’ll build the interface junction of graphene sandwiched between Ni(111) surface, according Fig. 2.2.3.
In the menu bar click Build ➟ Fill Junction With Atoms to pop up a new window:
In the Structure box click over the plus button two time to include additional structure browser ➟ set the Distance = 0.2 (nm);
Set the Ni(111).hzw, graphene.hzw and Ni(111).hzw from top to bottom in the Structure boxes, respectively;
In the Grid Size box ➟ set n = 1 and m = 1, click Preview and Build the structure.
In the toolbar click alternate coordinate until the graphene zigzag direction points towards the positive z- axis.
Select the graphene atomic layer, go to the toolbar and click over the Move atom button:
In the Move atom dialog window select Translation along the screen view, set Distance = 0.6 Å ➟ click over Move left button. Next, set Distance = 0.4 Å ➟ click over Move in button.
The interface junction cell could be simplified as follows:
In toolbar click over 3D Viewer yz View button to change the viewer to:
show yz plane, select the uppermost right atomic layer and delete;
show the zx plane, select the two uppermost right atomic layers (preserving the nickel periodicity) and delete.
In the toolbar click over Fit cell and delete the top and right atoms in the cell edges, as shown in Fig. 2.2.4
Once the Ni-Gr interface cell has been set up, the user can build the two-probe geometry. However, following the previous example will result in a device with left and right electrodes comprised of Ni-covered graphene. In this case, the nature of the chemical bonding between Ni-Gr might result in a significant modification of the graphene bands [KGK07]. In order to avoid this, the structure will be designed from a source/drain electrode (i.e., the Ni-covered graphene) and a pure graphene channel for spin transport. In summary, to build the graphene-ferromagnet interface some Ni atoms should be removed, as shown in Fig. 2.2.5.
In the menu bar click Build ➟ Redefine Crystal;
Expand the cell 12 times in the c- direction, click on Preview and Build the structure.
In the generated supercell structure, count 6 atomic layers from the left to the right side of the device (following the positive z- axis), beyond these layers, select the Ni atoms and delete them. At this point, the user is free to decide how large the Ni-graphene interface will be considered in the calculation.
Finally, in the menu bar click Build ➟ Convert to Device, check the dialog for Left electrode and Right electrode options ➟ set the extended vectors as (0, 0, -2.4957) and (0, 0, 4.99140) ➟ click Build:
2.2.2. SCF for electrodes
Now, we are ready to start the calculations. The user could generate the NanoDCAL input files for the Left, Right electrodes and Central region following the similar procedure previously described here. However, an additional step should be performed in this system before generate the files. As will be discussed, the left and right electrodes have different spin polarization values and this configuration should be preserved along the central region. Thus, in order to properly assign the spin atom values, go to the Device Studio:
In the two-probe device file ➟ select all the Ni-covered graphene atoms ➟ go to the toolbar and click over Replace Atom button, changing the selected C atoms to O atoms.
In the menu bar of Device Studio, click Simulator ➟ NanoDCAL ➟ SCF Calculation to pop up the interface shown in Fig. 2.2.6 ➟ go the Spin type tab and set 0.05 for the O and Ni elements and Generate Files;
Open the two-probe device and the left electrode file with the text-editor and replace the O atoms for C atoms.
Note
This Ni-graphene device has different left and right electrodes, so it is necessary to carry out the self-consistent calculations for each electrode.
Below we’ll show the generated input files and discuss the relevant simulation parameters.
Left 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 = [ 100 10 100 ]'
system.centralCellVectors = [[4.33201 0 0]' [0 18.2421 0]' [0 0 2.4957]']
system.spinType = CollinearSpin
%Iteration control
calculation.SCF.monitoredVariableName = {'rhoMatrix','hMatrix','totalEnergy','bandEnergy','gridCharge','orbitalCharge','spinPolar'}
calculation.SCF.convergenceCriteria = {1e-06,1e-06,1e-06,[],[],[],[]}
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
%Basic set
system.neutralAtomDataDirectory = '../'
system.atomBlock = 29
AtomType OrbitalType X Y Z SpinPolarization
Ni LDA-DZP 0.04254481 0.00000000 0.00956529 0.05
Ni LDA-DZP 0.04254481 0.00000000 2.48608742 0.05
Ni LDA-DZP 2.18727585 0.00000000 1.24782633 0.05
Ni LDA-DZP 1.47236552 2.03458233 2.48608742 0.05
Ni LDA-DZP 1.47236552 2.03458234 0.00956529 0.05
Ni LDA-DZP 3.61709660 2.03458233 1.24782636 0.05
Ni LDA-DZP 2.90218623 4.06916469 0.00956529 0.05
Ni LDA-DZP 2.90218623 4.06916469 2.48608739 0.05
Ni LDA-DZP 0.75745516 4.06916469 1.24782633 0.05
Ni LDA-DZP 0.04254481 6.10374703 0.00956529 0.05
Ni LDA-DZP 0.04254481 6.10374703 2.48608742 0.05
Ni LDA-DZP 2.18727585 6.10374703 1.24782633 0.05
C LDA-DZP 0.00000000 8.10374704 0.02869581 0.05
C LDA-DZP 4.28946216 8.10374704 0.02869581 0.05
C LDA-DZP 2.14473105 8.10374704 1.26695689 0.05
C LDA-DZP 1.42982070 8.10374704 0.02869581 0.05
C LDA-DZP 3.57455177 8.10374704 1.26695687 0.05
Ni LDA-DZP 0.04254481 10.10374702 0.00956529 0.05
Ni LDA-DZP 0.04254481 10.10374702 2.48608742 0.05
Ni LDA-DZP 2.18727585 10.10374702 1.24782633 0.05
Ni LDA-DZP 1.47236552 12.13832936 2.48608742 0.05
Ni LDA-DZP 1.47236552 12.13832936 0.00956529 0.05
Ni LDA-DZP 3.61709660 12.13832936 1.24782636 0.05
Ni LDA-DZP 2.90218623 14.17291172 0.00956529 0.05
Ni LDA-DZP 2.90218623 14.17291172 2.48608739 0.05
Ni LDA-DZP 0.75745516 14.17291172 1.24782633 0.05
Ni LDA-DZP 0.04254481 16.20749408 0.00956529 0.05
Ni LDA-DZP 0.04254481 16.20749408 2.48608742 0.05
Ni LDA-DZP 2.18727588 16.20749408 1.24782633 0.05
end
Right 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 = [ 100 10 100 ]'
system.centralCellVectors = [[4.33201 0 0]' [0 18.2421 0]' [0 0 4.9914]']
system.spinType = CollinearSpin
%Iteration control
calculation.SCF.monitoredVariableName = {'rhoMatrix','hMatrix','totalEnergy','bandEnergy','gridCharge','orbitalCharge','spinPolar'}
calculation.SCF.convergenceCriteria = {1e-06,1e-06,1e-06,[],[],[],[]}
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
%Basic set
system.neutralAtomDataDirectory = '../'
system.atomBlock = 16
AtomType OrbitalType X Y Z SpinPolarization
C LDA-DZP 0.00000000 8.10374704 0.63835572 0
C LDA-DZP 0.00000000 8.10374704 3.13400839 0
C LDA-DZP 4.28946216 8.10374704 0.63835572 0
C LDA-DZP 4.28946216 8.10374704 3.13400839 0
C LDA-DZP 0.00000000 8.10374704 0.61922520 0
C LDA-DZP 0.00000000 8.10374704 3.11487787 0
C LDA-DZP 4.28946216 8.10374704 0.61922520 0
C LDA-DZP 4.28946216 8.10374704 3.11487787 0
C LDA-DZP 2.14473105 8.10374704 1.87661680 0
C LDA-DZP 2.14473105 8.10374704 4.37226947 0
C LDA-DZP 1.42982070 8.10374704 0.63835572 0
C LDA-DZP 1.42982070 8.10374704 3.13400839 0
C LDA-DZP 1.42982070 8.10374704 0.61922520 0
C LDA-DZP 1.42982070 8.10374704 3.11487787 0
C LDA-DZP 3.57455177 8.10374704 1.87661678 0
C LDA-DZP 3.57455177 8.10374704 4.37226945 0
end
Most of these keywords were already specified here. Thus, we’ll focus in a set of particular keywords that play an important role in physical properties of this system:
system.spinType = CollinearSpin calculation.realspacegrids.E_cutoff = 80 Hartree calculation.k_spacegrids.number = [ 100 10 100 ]'
The Left and Right electrode input files are both set to be calculated with collinear spin configuration.
The energy cutoff of 80 Ha was set for the description of quantities on the real space grids. However, larger values could improve the accuracy of the calculations.
A MonkHorst Pack mesh of 100x10x100 is used to sample the Brillouin zone. This parameter determines how accurate the sum of the electronic states over the Brillouin zone will be. Note that the system is periodic along the a- and b- axis, and semi-periodic along the c-axis. Since transport calculation will be performed along the z direction, increasing the k point along the c-axis could improve the accuracy of the results.
Warning
Note that only the atoms from the left electrode take into account a net spin polarization value, while null spin values were set to the atoms from the right electrode. After preparing the input files, double-check the atomic positions and parameters.
Using the generated files run the scf calculations for the Left (Ni-Gr-LeftElec.scf.input
) and Right (Ni-Gr-RitghElec.scf.input
) electrodes
2.2.3. SCF for two-probe system
Once the Hamiltonian from the left and right electrodes are calculated, we can move to the transport calculation.
Below, we show the generated scf input file for 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 = [ 100 10 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 = ../RightElectrode/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 = [[4.33201 0 0]' [0 18.2421 0]' [0 0 21.8512]']
system.spinType = CollinearSpin
%Iteration control
calculation.SCF.monitoredVariableName = {'rhoMatrix','hMatrix','totalEnergy','bandEnergy','gridCharge','orbitalCharge','spinPolar'}
calculation.SCF.convergenceCriteria = {1e-06,1e-06,1e-06,[],[],[],[]}
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
%Basic set
system.neutralAtomDataDirectory = '../'
system.atomBlock = 112
AtomType OrbitalType X Y Z SpinPolarization
Ni LDA-DZP 0.04254481 0.00000000 0.00951795 0.05
Ni LDA-DZP 0.04254481 0.00000000 2.50517062 0.05
Ni LDA-DZP 0.04254481 0.00000000 2.48604008 0.05
Ni LDA-DZP 2.18727585 0.00000000 1.24777899 0.05
Ni LDA-DZP 2.18727585 0.00000000 3.74343166 0.05
Ni LDA-DZP 1.47236552 2.03458233 2.48604008 0.05
Ni LDA-DZP 1.47236552 2.03458234 0.00951795 0.05
Ni LDA-DZP 1.47236552 2.03458234 2.50517062 0.05
Ni LDA-DZP 3.61709660 2.03458233 1.24777902 0.05
Ni LDA-DZP 3.61709660 2.03458233 3.74343169 0.05
Ni LDA-DZP 2.90218623 4.06916469 0.00951795 0.05
Ni LDA-DZP 2.90218623 4.06916469 2.50517062 0.05
Ni LDA-DZP 2.90218623 4.06916469 2.48604005 0.05
Ni LDA-DZP 0.75745516 4.06916469 1.24777899 0.05
Ni LDA-DZP 0.75745516 4.06916469 3.74343166 0.05
Ni LDA-DZP 0.04254481 6.10374703 0.00951795 0.05
Ni LDA-DZP 0.04254481 6.10374703 2.50517062 0.05
Ni LDA-DZP 0.04254481 6.10374703 2.48604008 0.05
Ni LDA-DZP 2.18727585 6.10374703 1.24777899 0.05
Ni LDA-DZP 2.18727585 6.10374703 3.74343166 0.05
C LDA-DZP 0.00000000 8.10374704 0.02864847 0.05
C LDA-DZP 0.00000000 8.10374704 2.52430114 0.05
C LDA-DZP 0.00000000 8.10374704 5.01995381 0
C LDA-DZP 0.00000000 8.10374704 7.51560648 0
C LDA-DZP 0.00000000 8.10374704 10.01125915 0
C LDA-DZP 0.00000000 8.10374704 12.50691182 0
C LDA-DZP 0.00000000 8.10374704 15.00256449 0
C LDA-DZP 0.00000000 8.10374704 17.49821716 0
C LDA-DZP 0.00000000 8.10374704 19.99386983 0
C LDA-DZP 4.28946216 8.10374704 0.02864847 0.05
C LDA-DZP 4.28946216 8.10374704 2.52430114 0.05
C LDA-DZP 4.28946216 8.10374704 5.01995381 0
C LDA-DZP 4.28946216 8.10374704 7.51560648 0
C LDA-DZP 4.28946216 8.10374704 10.01125915 0
C LDA-DZP 4.28946216 8.10374704 12.50691182 0
C LDA-DZP 4.28946216 8.10374704 15.00256449 0
C LDA-DZP 4.28946216 8.10374704 17.49821716 0
C LDA-DZP 4.28946216 8.10374704 19.99386983 0
C LDA-DZP 0.00000000 8.10374704 0.00951795 0.05
C LDA-DZP 0.00000000 8.10374704 2.50517062 0.05
C LDA-DZP 0.00000000 8.10374704 5.00082329 0
C LDA-DZP 0.00000000 8.10374704 7.49647596 0
C LDA-DZP 0.00000000 8.10374704 9.99212863 0
C LDA-DZP 0.00000000 8.10374704 12.48778130 0
C LDA-DZP 0.00000000 8.10374704 14.98343397 0
C LDA-DZP 0.00000000 8.10374704 17.47908664 0
C LDA-DZP 0.00000000 8.10374704 19.97473931 0
C LDA-DZP 4.28946216 8.10374704 0.00951795 0.05
C LDA-DZP 4.28946216 8.10374704 2.50517062 0.05
C LDA-DZP 4.28946216 8.10374704 5.00082329 0
C LDA-DZP 4.28946216 8.10374704 7.49647596 0
C LDA-DZP 4.28946216 8.10374704 9.99212863 0
C LDA-DZP 4.28946216 8.10374704 12.48778130 0
C LDA-DZP 4.28946216 8.10374704 14.98343397 0
C LDA-DZP 4.28946216 8.10374704 17.47908664 0
C LDA-DZP 4.28946216 8.10374704 19.97473931 0
C LDA-DZP 2.14473105 8.10374704 1.26690955 0.05
C LDA-DZP 2.14473105 8.10374704 3.76256222 0.05
C LDA-DZP 2.14473105 8.10374704 6.25821489 0
C LDA-DZP 2.14473105 8.10374704 8.75386756 0
C LDA-DZP 2.14473105 8.10374704 11.24952023 0
C LDA-DZP 2.14473105 8.10374704 13.74517290 0
C LDA-DZP 2.14473105 8.10374704 16.24082557 0
C LDA-DZP 2.14473105 8.10374704 18.73647824 0
C LDA-DZP 2.14473105 8.10374704 21.23213091 0
C LDA-DZP 1.42982070 8.10374704 0.02864847 0.05
C LDA-DZP 1.42982070 8.10374704 2.52430114 0.05
C LDA-DZP 1.42982070 8.10374704 5.01995381 0
C LDA-DZP 1.42982070 8.10374704 7.51560648 0
C LDA-DZP 1.42982070 8.10374704 10.01125915 0
C LDA-DZP 1.42982070 8.10374704 12.50691182 0
C LDA-DZP 1.42982070 8.10374704 15.00256449 0
C LDA-DZP 1.42982070 8.10374704 17.49821716 0
C LDA-DZP 1.42982070 8.10374704 19.99386983 0
C LDA-DZP 1.42982070 8.10374704 0.00951795 0.05
C LDA-DZP 1.42982070 8.10374704 2.50517062 0.05
C LDA-DZP 1.42982070 8.10374704 5.00082329 0
C LDA-DZP 1.42982070 8.10374704 7.49647596 0
C LDA-DZP 1.42982070 8.10374704 9.99212863 0
C LDA-DZP 1.42982070 8.10374704 12.48778130 0
C LDA-DZP 1.42982070 8.10374704 14.98343397 0
C LDA-DZP 1.42982070 8.10374704 17.47908664 0
C LDA-DZP 1.42982070 8.10374704 19.97473931 0
C LDA-DZP 3.57455177 8.10374704 1.26690953 0.05
C LDA-DZP 3.57455177 8.10374704 3.76256220 0.05
C LDA-DZP 3.57455177 8.10374704 6.25821487 0
C LDA-DZP 3.57455177 8.10374704 8.75386754 0
C LDA-DZP 3.57455177 8.10374704 11.24952021 0
C LDA-DZP 3.57455177 8.10374704 13.74517288 0
C LDA-DZP 3.57455177 8.10374704 16.24082555 0
C LDA-DZP 3.57455177 8.10374704 18.73647822 0
C LDA-DZP 3.57455177 8.10374704 21.23213089 0
Ni LDA-DZP 0.04254481 10.10374702 0.00951795 0.05
Ni LDA-DZP 0.04254481 10.10374702 2.50517062 0.05
Ni LDA-DZP 0.04254481 10.10374702 2.48604008 0.05
Ni LDA-DZP 2.18727585 10.10374702 1.24777899 0.05
Ni LDA-DZP 2.18727585 10.10374702 3.74343166 0.05
Ni LDA-DZP 1.47236552 12.13832936 2.48604008 0.05
Ni LDA-DZP 1.47236552 12.13832936 0.00951795 0.05
Ni LDA-DZP 1.47236552 12.13832936 2.50517062 0.05
Ni LDA-DZP 3.61709660 12.13832936 1.24777902 0.05
Ni LDA-DZP 3.61709660 12.13832936 3.74343169 0.05
Ni LDA-DZP 2.90218623 14.17291172 0.00951795 0.05
Ni LDA-DZP 2.90218623 14.17291172 2.50517062 0.05
Ni LDA-DZP 2.90218623 14.17291172 2.48604005 0.05
Ni LDA-DZP 0.75745516 14.17291172 1.24777899 0.05
Ni LDA-DZP 0.75745516 14.17291172 3.74343166 0.05
Ni LDA-DZP 0.04254481 16.20749408 0.00951795 0.05
Ni LDA-DZP 0.04254481 16.20749408 2.50517062 0.05
Ni LDA-DZP 0.04254481 16.20749408 2.48604008 0.05
Ni LDA-DZP 2.18727588 16.20749408 1.24777899 0.05
Ni LDA-DZP 2.18727588 16.20749408 3.74343166 0.05
end
Run the calculation using the generated Central Region file (Ni-Gr-CentralRegion.scf.input
).
2.2.4. Transmission calculation
The user should be able to set and perform the transmission calculation following the previous example.
Transmission spectrum
In this tutorial we restricted the calculation to positive energies because in the negative energy interval it was found that both \(T_{MAJ}\) (majority transmission) and \(T_{MIN}\) vary roughly linearly, similar to pure graphene (see research article [MJG11]). However, an interesting result is found for positive energy interval, as shown in Fig. 2.2.7. One noticeable feature is that a small \(T_{MIN}\) value appears between 0.43 to 0.8 eV. This transmission value is related with the minority spin state bandgap from the graphene sheet structure.
So far, we have gone into detail through the parameter files used to compute properties of the zigzag nickel/graphene interface. The research article compares these properties with the transport properties along the armchair direction. The user should be able to setup the two-probe device along the armchair direction and run the calculation analogously.
Y. W. Son, M. L. Cohen, and S. G. Louie. Half-metallic graphene nanoribbons. Nature 444 (2006), p. 347.
Maassen, W. Ji, and H. Guo. Graphene Spintronics: The Role of Ferromagnetic Electrodes Nano Lett. 11 (2011) p. 151.
V. M. Karpan, G. Giovannetti, P. A. Khomyakov, M. Talanana, A. A. Starikov, M. Zwierzycki, J. van den Brink, G. Brocks, and P. J. Kelly. Graphite and Graphene as Perfect Spin Filters. Phys. Rev. Lett. 99 (2007) p. 176602.