Electronic transport properties of molecules, nano-wires, and bulks such as superlattice structures can be calculated based on a non-equilibrium Green function (NEGF) method within the collinear and non-collinear DFT methods. The features and capabilities are listed below:
The details of the implementation can be found in Ref. . First the usage of the functionalities for the collinear case is explained in the following subsections. After that, the non-collinear case will be discussed.
System we consider
In the current implementation of OpenMX Ver. 3.9, a system shown in Fig. 39(a) is treated by the NEGF method. The system consists of a central region connected with infinite left and right leads, and the two dimensional periodicity spreads over the bc-plane. Considering the two dimensional periodicity, the system can be cast into an one-dimensional problem depending on the Bloch wave vector shown in Fig. 39(b). Also, the Green function of the 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 . It should be noted that the electronic transport is assumed to be along the a-axis in the current implementation. Thus, users have to keep in mind the specification when the geometrical structure is constructed. See also the subsection 'Step 1: The calculations for leads'.
The NEGF calculation is performed by the following three steps:
Step 1 Step 2 Step 3
Each step consists of
The band structure calculations are performed for the left and right leads using a program code 'openmx'. The calculated results will be used to represent the Hamiltonian of the leads in the NEGF calculation of the step 2.
The NEGF calculation is performed for the structure shown in Fig. 39 under zero or a finite bias voltage using a program code 'openmx', where the result in the step 1 is used for the construction of the leads.
By making use of the result of the step 2, the transmission, charge/spin current density, and the eigenchannel are calculated by a program code 'openmx'.
An example: carbon chain
As a first trial, let us illustrate the three steps by employing a carbon chain.
%./openmx Lead-Chain.dat | tee lead-chain.stdA file 'negf-chain.hks' is generated by the step 1.
%./openmx NEGF-Chain.dat | tee negf-chain.stdA file 'negf-chain.tranb' is generated by the step 2.
openmx starts the step 3 immediately after it finishes the step 2.
If we perform separately the step 2 and the step 3, we run
openmx as follows:
%./openmx NEGF-Chain.dat | tee negf-chain.std
In the step 3,
openmx reads a file 'negf-chain.tranb' and,
calculates the transmission, current, and eigen channels.
After the calculation, the following files:
negf-chain.conductance negf-chain.tranec0_0_0_2_r.cube negf-chain.current negf-chain.tranec0_0_0_3_i.cube negf-chain.tran0_0 negf-chain.tranec0_0_0_3_r.cube negf-chain.tranec0_0_0_0_i.cube negf-chain.tranec0_0_0_4_i.cube negf-chain.tranec0_0_0_0_r.cube negf-chain.tranec0_0_0_4_r.cube negf-chain.tranec0_0_0_1_i.cube negf-chain.traneval0_0_0 negf-chain.tranec0_0_0_1_r.cube negf-chain.tranevec0_0_0 negf-chain.tranec0_0_0_2_i.cubeare generated by the step 3.
The calculations can be traced by using the input files stored in a directory of 'work/negf_example'. By plotting the sixth column in 'negf-chain.tran0_0' as a function of the fourth column, you can see a transmission curve as shown in Fig. 40.