**A. Setting up LeadDeviceLead**

You can set up the regions , , and in the structural
configuration shown in Fig. 29 in the following way:

The geometrical structure of the central region is specified by the following keywords 'Atoms.Number' and 'Atoms.SpeciesAndCoordinates':

Atoms.Number 18 <Atoms.SpeciesAndCoordinates 1 C 3.000 0.000 0.000 2.0 2.0 ..... 18 C 28.500 0.000 0.000 2.0 2.0 Atoms.SpeciesAndCoordinates>

The geometrical structure of the left lead region is specified by
the following keywords
'LeftLeadAtoms.Number'
and 'LeftLeadAtoms.SpeciesAndCoordinates':

LeftLeadAtoms.Number 2 <LeftLeadAtoms.SpeciesAndCoordinates 1 C 0.000 0.000 0.000 2.0 2.0 2 C 1.500 0.000 0.000 2.0 2.0 LeftLeadAtoms.SpeciesAndCoordinates>

The geometrical structure of the right lead region is specified by
the following keywords
'RightLeadAtoms.Number'
and 'RightLeadAtoms.SpeciesAndCoordinates'

RightLeadAtoms.Number 2 <RightLeadAtoms.SpeciesAndCoordinates 1 C 30.000 0.000 0.000 2.0 2.0 2 C 31.500 0.000 0.000 2.0 2.0 RightLeadAtoms.SpeciesAndCoordinates>This is the case of carbon chain which is demonstrated in the previous subsection. The central region is formed by 18 carbon atoms, and the left and right regions and contains two carbon atoms, respectively, where every bond length is 1.5 Å. Following the geometrical specification of device and leads, OpenMX will construct an extended central region as shown in Fig. 29. The Green function for the extended central region is self-consistently determined in order to take account of relaxation of electronic structure around the interface between the central region and the region . In addition, we impose two conditions so that the central Green function can be calculated in the NEGF method [43]:

- The localized basis orbitals
in the region overlap with those in the regions and ,
but do not overlap with those in the regions and .
- The localized basis orbitals in the () region
has no overlap with basis orbitals in the cells beyond the nearest
neighboring cells () and ().

Although the specification of unit cells for the regions , ,
and is not required, it should be noted that some periodicity is
implicitly assumed. The construction of infinite leads is made by
employing the unit cells used in the band structure calculations by the step 1,
and the informations are stored in a file '*.hks'. Also, due to the structural
configuration shown in Fig. 29, the unit vectors on the **bc**-plane
for the left and right leads should be consistent. Thus, the unit vector
on the **bc**-plane for the extended central region is implicitly assumed
to be same as that of the leads. Within the structural limitation, you can
set up the structural configuration.

The unit in the specification of the geometrical structure can be given by

Atoms.SpeciesAndCoordinates.Unit Ang # Ang|AU

In the NEGF calculation, either 'Ang' or 'AU' for 'Atoms.SpeciesAndCoordinates.Unit' is supported, but 'FRAC' is not.

How OpenMX analyzes the geometrical structure can be confirmed by the standard output as shown below:

<TRAN_Calc_GridBound> ******************************************************* The extended cell consists of Left0-Center-Right0. The cells of left and right reads are connected as. ...|Left2|Left1|Left0-Center-Right0|Right1|Right2... Each atom in the extended cell is assigned as follows: where '12' and '2' mean that they are in 'Left0', and '12' has overlap with atoms in the Left1, and '13' and '3' mean that they are in 'Right0', and '13' has overlap with atoms in the 'Right1', and also '1' means atom in the 'Center'. ******************************************************** Atom1 = 12 Atom2 = 2 Atom3 = 1 Atom4 = 1 Atom5 = 1 Atom6 = 1 Atom7 = 1 Atom8 = 1 Atom9 = 1 Atom10 = 1 Atom11 = 1 Atom12 = 1 Atom13 = 1 Atom14 = 1 Atom15 = 1 Atom16 = 1 Atom17 = 1 Atom18 = 1 Atom19 = 1 Atom20 = 1 Atom21 = 3 Atom22 = 13

The atoms in the extended cell consisting of are assigned by the numbers, where '12' and '2' mean that they are in , and '12' has overlap with atoms in , and '13' and '3' mean that they are in , and '13' has overlap with atoms in , and also '1' means atom in . By checking the analysis you may confirm whether the structure is properly constructed or not.

**B. Keywords**

The NEGF calculation of the step 2 is performed by the keyword 'scf.EigenvalueSolver'

scf.EigenvalueSolver NEGF

For the NEGF calculation the following keywords are newly added.

NEGF.filename.hks.l lead-chain.hks NEGF.filename.hks.r lead-chain.hks NEGF.Num.Poles 100 # defalut=150 NEGF.scf.Kgrid 1 1 # defalut=1 1 NEGF.bias.voltage 0.0 # default=0.0 (eV) NEGF.bias.neq.im.energy 0.01 # default=0.01 (eV) NEGF.bias.neq.energy.step 0.02 # default=0.02 (eV)

An explanation for each keyword is given below.

NEGF.filename.hks.l lead-chain.hks NEGF.filename.hks.r lead-chain.hks

The files containing information of leads are specified by the above two keywords, where 'NEGF.filename.hks.l' and 'NEGF.filename.hks.r' are for the left and right leads, respectively.

NEGF.Num.Poles 100 # defalut=150

The equilibrium density matrix is evaluated by a contour integration method [43,44]. The number of poles used in the method is specified by the keyword 'NEGF.Num.Poles'.

NEGF.scf.Kgrid 1 1 # defalut=1 1

The numbers of

NEGF.bias.voltage 0.0 # default=0.0 (eV)

The source-drain bias voltage applied to the left and right leads is specified by the keyword 'NEGF.bias.voltage' in units of eV, corresponding to Volt. Noting that only the difference between applied bias voltages has meaning, you only have to give a single value as the source-drain bias voltage.

NEGF.bias.neq.im.energy 0.01 # default=0.01 (eV) NEGF.bias.neq.energy.step 0.02 # default=0.02 (eV)

When a finite source-drain bias voltage is applied, a part of the density matrix is contributed by the non-equilibrium Green function. Since the non-equilibrium Green function is not analytic in general in the complex plane, the contour integration method used for the equilibrium Green function cannot be applied. Thus, in the current implementation the non-equilibrium Green function is evaluated on the real axis with a small imaginary part using a simple rectangular quadrature scheme. Then, the imaginary part is given by the keyword 'NEGF.bias.neq.im.energy' and the step width is given by the keyword 'NEGF.bias.neq.energy.step' in units of eV. In most cases, the default values are sufficient, while the detailed analysis of the convergence property can be found in Ref. [43]. How many energy points on the real axis are used for the evaluation of the non-equilibrium Green function can be confirmed in the standard output and the file '*.out'. In case of 'NEGF-Chain.dat', if the bias voltage of 0.5 V is applied, you will see in the standard output that the energy points of 120 are allocated for the calculation as follows:

Intrinsic chemical potential (eV) of the leads Left lead: -3.940690039841 Right lead: -3.940690039841 add voltage = 0.0000 (eV) to the left lead: new ChemP (eV): -3.9407 add voltage = 0.5000 (eV) to the right lead: new ChemP (eV): -3.4407 Parameters for the integration of the non-equilibrium part lower bound: -4.894690039841 (eV) upper bound: -2.486690039841 (eV) energy step: 0.020000000000 (eV) number of steps: 120The total number of energy points where the Green function is evaluated is given by the sum of the number of poles and the number of energy points on the real axis determined by the two keywords 'NEGF.bias.neq.im.energy' and 'NEGF.bias.neq.energy.step', and you should notice that the computational time is proportional to the total number of energy points.

**C. SCF criterion**

In the NEGF method, the SCF criterion given by the keyword
'scf.criterion' is applied to the residual norm
between the input and output charge densities 'NormRD', while in the other
cases 'dUele' is monitored.

**D. Gate bias voltage**

In our implementation, the gate voltage is treated by adding
an electric potential defined by

where is a constant value corresponding to the gate voltage, and is specified by the keyword 'NEGF.gate.voltage' as follows:

NEGF.gate.voltage 1.0 # default=0.0 (in eV)

the center of the region , and the length of the unit vector along

**E. Density of States (DOS)**

In the NEGF calculation, the density of states can be calculated by setting the following keywords:

Dos.fileout on # on|off, default=off NEGF.Dos.energyrange -15.0 25.0 5.0e-3 #default=-10.0 10.0 5.0e-3 (eV) NEGF.Dos.energy.div 200 # default=200 NEGF.Dos.Kgrid 1 1 # default=1 1

When you want to calculate DOS, the keyword 'Dos.fileout' should be set 'on' as usual. Also, the energy range where DOS is calculated is given by the keyword 'NEGF.Dos.energyrange', where the first and second numbers correspond to the lower and upper bounds, and the third number is an imaginary number used for smearing out DOS. The energy range specified by 'NEGF.Dos.energyrange' is divided by the number specified by the keyword 'NEGF.Dos.energy.div'. The numbers of