Eigenchannels and current density: Ver. 1.0

Mitsuaki Kawamura, ISSP


Date: February 10, 2016


Definitions

Löwdin orthogonalization

In this section, the Löwdin orthogonalization method is explained; this method is used in the calculations of the Kohn-Sham energy/orbital, the Green's function, the transmission matrix, the eigenchannel, etc. in the non-orthogonal basis representation.

Kohn-Sham equation

In this section, we obtain the Kohn-Sham equation in the orthogonal basis representation [Eq. (2)] from that equation in the non-orthogonal representation [Eq. (5)].

We decompose the overlap matrix $ {\hat S}'$ as

$\displaystyle {\hat S}' = {\hat S}'^{1/2} {\hat S}'^{1/2 \dagger},$ (8)

where $ {\hat S}'^{1/2}$ is a $ N' \times N$ matrix ($ N \leq N'$) as

$\displaystyle {\hat S}'^{1/2} \equiv \left(\sqrt{s_1} \vert s_1 \rangle', \cdots, \sqrt{s_N} \vert s_N \rangle' \right).$ (9)

The Kohn-Sham equation in the non-orthogonal basis representation [Eq. (5)] becomes

$\displaystyle {\hat S}'^{-1/2} {\hat H}' {\hat S}'^{-1/2 \dagger} {\hat S}'^{1/...
...arphi_n\rangle' = \varepsilon_n {\hat S}'^{1/2 \dagger}\vert\varphi_n\rangle' ,$ (10)

where

$\displaystyle {\hat S}'^{-1/2 \dagger} \equiv \left(1/\sqrt{s_1} \vert s_1\rangle', \cdots, 1/\sqrt{s_N} \vert s_N\rangle' \right).$ (11)

Comparing Eq. (10) and the Kohn-Sham equation in the orthogonal basis representation [Eq. (2)], we obtain

$\displaystyle {\hat H}$ $\displaystyle \equiv {\hat S}'^{-1/2} {\hat H}' {\hat S}'^{-1/2 \dagger} ,$ (12)
$\displaystyle \vert\varphi_n\rangle$ $\displaystyle \equiv {\hat S}'^{1/2 \dagger}\vert\varphi_n\rangle' .$ (13)

We can calculate Kohn-Sham orbitals in the non-orthogonal basis representation from those in the orthogonal basis representation as follows:

$\displaystyle \vert\varphi_n\rangle' = {\hat S}'^{-1/2 \dagger} \vert\varphi_n\rangle.$ (14)

Non-orthogonal basis and orthogonal basis

From (14), we can see the orthogonal basis $ \chi_n(r)$ becomes

$\displaystyle \chi_n(r) = \sum_{n'}\chi'_{n'}(r)[{\hat S}'^{-1/2 \dagger}]_{n' n}.$ (15)

If we have a enough number of orthogonal basis, the transformation from a matrix in the real space representation to that in the orthogonal basis representation

$\displaystyle [{\hat X}]_{n n'}$ $\displaystyle \equiv \iint d^3 r d^3 r' \chi^{*}_n(r) X(r,r') \chi_{n'}(r')$ (16)

is considered as a unitary transformation. In this case we can perform the inversion of this matrix in the orthogonal basis space. Therefore the inversion of this matrix in the orthogonal basis space is identical to the orthogonal basis representation of the inversion of this matrix in the real space:

$\displaystyle \left[{\hat X}^{-1}\right]_{n n'}$ $\displaystyle = \iint d^3 r d^3 r' \chi^{*}_n(r) [X(r,r')]^{-1} \chi_{n'}(r').$ (17)

On the other hand, in general, inversion of this matrix in the orthogonal basis space is different from the non-orthogonal basis representation of the inversion of this matrix in the real space:

$\displaystyle \left[{\hat X}'^{-1}\right]_{n n'} \neq \iint d^3 r d^3 r' \chi'^{*}_n(r) [X(r,r')]^{-1} \chi'_{n'}(r').$ (18)

Green's function and self energy

The Green's function of the Kohn-Sham equation in the non-orthogonal basis space [Eq. (5)] is as follows

$\displaystyle {\hat G}'_0(\varepsilon) = (\varepsilon {\hat S}' - {\hat H}')^{-1}$ (19)

According to the discussion in the previous section, this Green's function is different from the non-orthogonal basis representation of the Green function of the real-space Kohn-Sham equation, i.e.

$\displaystyle \left[{\hat G}'\right]_{n n'} \neq \iint d^3 r d^3 r' \chi'^{*}_n(r) G(r,r') \chi'_{n'}(r').$ (20)

We can obtain the Green's function of the orthogonal basis-space Kohn-Sham equation [Eq. (2)] from above $ {\hat G}'_0(\varepsilon)$ as follows:

$\displaystyle {\hat G}_0(\varepsilon)$ $\displaystyle = (\varepsilon - {\hat H} )^{-1}$    
  $\displaystyle = [ \varepsilon - {\hat S}'^{-1/2} {\hat H}' {\hat S}'^{-1/2 \dagger} ]^{-1}$    
  $\displaystyle = {\hat S}'^{1/2 \dagger} [ \varepsilon {\hat S}'^{1/2}{\hat S}'^{1/2 \dagger} - {\hat H}' ]^{-1} {\hat S}'^{1/2}$    
  $\displaystyle = {\hat S}'^{1/2 \dagger} {\hat G}'_0(\varepsilon) {\hat S}'^{1/2}$ (21)

We can obtain the self energy for the orthogonal basis-space Green's function from the self energy for $ {\hat G_0}'^{-1}(\varepsilon)$

$\displaystyle {\hat \Sigma}'(\varepsilon) = {\hat G_0}'^{-1}(\varepsilon) - {\hat G}'^{-1}(\varepsilon),$ (22)

by using the transformation identical to that for the Hamiltonian [Eq. (12)].

The device Green's function and linewidths in the orthogonal basis space ( $ {\hat G}_{\rm C}, {\hat \Gamma}_{\rm L(R)}$ ) can be obtained by using those calculated from the Hamiltonian in the non-orthogonal basis space ( $ {\hat G}'_{\rm C}, {\hat \Gamma}'_{\rm L(R)}$ ) as follows:

$\displaystyle {\hat G}_{\rm C}(\varepsilon)$ $\displaystyle = {\hat S}'^{1/2 \dagger} {\hat G}'_{\rm C}(\varepsilon) {\hat S}'^{1/2},$ (23)
$\displaystyle {\hat \Gamma}_{\rm L(R)}(\varepsilon)$ $\displaystyle = {\hat S}'^{-1/2} {\hat \Gamma}'_{\rm L(R)}(\varepsilon) {\hat S}'^{-1/2 \dagger}.$ (24)

These transformations can be established by using cancellation of intermediate $ {\hat S}'^{1/2}$ and $ {\hat S}'^{-1/2}$.

Transmission matrix

In this section, we obtain the orthogonal basis representation of the transmission matrix

$\displaystyle [{\hat T}]_{n n'}$ $\displaystyle = \iint d^3 r d^3 r' \chi^{*}_n(r) T(r,r') \chi_{n'}(r')$    
  $\displaystyle = \iint d^3 r d^3 r' \chi^{*}_n(r) \iiint d^3 r_1 d^3 r_2 d^3 r_3...
...ma_{\rm L}(r_1,r_2) G_{\rm C}^{*}(r_3,r_2) \Gamma_{\rm R}(r_3,r') \chi_{n'}(r')$    
  $\displaystyle = [{\hat G}_{\rm C} {\hat \Gamma}_{\rm L} {\hat G}^\dagger_{\rm C} {\hat \Gamma}_{\rm R}]_{n n'} \equiv [{\hat A}_{\rm L} \Gamma_{\rm R}]_{n n'}$ (25)

(where $ {\hat A}_{\rm L} \equiv {\hat G}_{\rm C} {\hat \Gamma}_{\rm L} {\hat G}^\dagger_{\rm C}$) by using the device Green's function $ {\hat G}'_{\rm C}$ and linewidths $ {\hat \Gamma}'_{\rm L(R)}$ obtained from the Hamiltonian in the non-orthogonal basis space. It is performed as follows:

$\displaystyle {\hat A}_{\rm L}$ $\displaystyle = {\hat S}'^{1/2 \dagger} {\hat G}'_{\rm C} {\hat S}'^{1/2} {\hat...
...t G}'_{\rm C} {\hat \Gamma}'_{\rm L} {\hat G}'^\dagger_{\rm C} {\hat S}'^{1/2},$ (26)
$\displaystyle {\hat \Gamma}_{\rm R}$ $\displaystyle = {\hat S}'^{-1/2} {\hat \Gamma}'_{\rm R} {\hat S}'^{-1/2 \dagger}.$ (27)

Eigenchannels

In this section, we explain the energy normalized eigenchannel proposed in Ref. [1]. The eigenchannel in the orthogonal basis representation $ \vert t_n \rangle$ and the corresponding eigenvalue $ t_n$ are calculated as follows:

$\displaystyle {\hat T} \vert t_n \rangle$ $\displaystyle = t_n \vert t_n \rangle$    
$\displaystyle {\hat A}_{\rm L} {\hat \Gamma}_{\rm R} \vert t_n\rangle$ $\displaystyle = t_n \vert t_n \rangle$    
$\displaystyle {\hat A}^{1/2}_{\rm L} {\hat A}^{1/2 \dagger}_{\rm L} {\hat \Gamma}_{\rm R} \vert t_n\rangle$ $\displaystyle = t_n \vert t_n \rangle$    
$\displaystyle {\hat A}^{1/2}_{\rm L} {\hat A}^{1/2 \dagger}_{\rm L} {\hat \Gamma}_{\rm R} {\hat A}^{1/2}_{\rm L} {\hat A}^{-1/2}_{\rm L} \vert t_n \rangle$ $\displaystyle = t_n {\hat A}^{1/2}_{\rm L} {\hat A}^{-1/2}_{\rm L} \vert t_n \rangle$    
$\displaystyle {\hat A}^{1/2 \dagger}_{\rm L} {\hat \Gamma}_{\rm R} {\hat A}^{1/2}_{\rm L} {\hat A}^{-1/2}_{\rm L} \vert t_n \rangle$ $\displaystyle = t_n {\hat A}^{-1/2}_{\rm L} \vert t_n \rangle$    
$\displaystyle {\hat A}^{1/2 \dagger}_{\rm L} {\hat \Gamma}_{\rm R} {\hat A}^{1/2}_{\rm L} \vert{\tilde t}_n \rangle$ $\displaystyle = t_n \vert{\tilde t}_n \rangle,$ (28)

where $ {\hat A}^{1/2}$ is obtained as follows:

$\displaystyle {\hat A} _{\rm L}\vert a_n \rangle$ $\displaystyle = a_n \vert a_n \rangle$    
$\displaystyle {\hat A}^{1/2}_{\rm L}$ $\displaystyle = (\sqrt{a_1} \vert a_1 \rangle, \cdots, \sqrt{a_N} \vert a_N \rangle).$ (29)

We defined $ \vert{\tilde t}_n \rangle \equiv {\hat A}^{-1/2}_{\rm L} \vert t_n \rangle$.

The eigenchannel in the non-orthogonal basis representation $ \vert t_n \rangle'$ is obtained in the same way to the Kohn-Sham orbital [Eq. (14)];

$\displaystyle \vert t_n\rangle' = {\hat S}'^{-1/2 \dagger} \vert t_n \rangle = {\hat S}'^{-1/2 \dagger} {\hat A}^{1/2}_{\rm L} \vert{\tilde t}_n \rangle.$ (30)

The eigenchannel in the real space representation $ T_n(r)$ is calculated as follows:

$\displaystyle T_n (r) = \left\{ \chi'_1(r), \cdots, \chi'_{N'}(r) \right\} \vert t_n \rangle'.$ (31)

Because $ {\hat T}$ is not an Hermite matrix, eigenchannels $ \{\vert t_n \rangle\}$ are not orthogonal in each other, i.e. even if $ n \neq n'$,

$\displaystyle \langle t_{n'} \vert t_n \rangle$ $\displaystyle = \langle {\tilde t}_{n'} \vert {\hat A}^{1/2 \dagger}_{\rm L}{\hat A}^{1/2}_{\rm L}\vert {\tilde t}_n \rangle <tex2html_comment_mark>16 \neq 0.$ (32)

On the othe hand, $ \vert{\tilde t}_n \rangle$ are orthogonal in each other,

$\displaystyle \langle {\tilde t}_{n'} \vert {\tilde t}_n \rangle = \delta_{n n'},$ (33)

because $ {\hat A}^{1/2 \dagger}_{\rm L} {\hat \Gamma}_{\rm R}{\hat A}^{1/2}_{\rm L}$ is an Hermite matrix.

Current density

In this section, we explain a method to calculate the current density together with the non-local potential which appears in the Hybrid DFT calculation, non-local pseudopotentials, etc. This method is proposed in Ref. [2]. In this case, we have to consider both the local- and the non-local contributions to the current density as follows [Eqn. (9) in Ref. [2]]:

$\displaystyle {\boldsymbol J}(r)$ $\displaystyle = {\boldsymbol J}_{{\rm Loc}}(r) + {\boldsymbol J}_{{\rm NL}}(r)$ (34)

Local term

The first term in Eq. (34) is the local term; this term is calculated as follows [Eqs. (12) and (22) in Ref. [2]]:

$\displaystyle {\boldsymbol J}_{{\rm Loc}}(r)$ $\displaystyle = \int \frac{d E}{2 \pi} {\boldsymbol J}_{{\rm Loc}}(r,E)$ (35)
$\displaystyle {\boldsymbol J}_{{\rm Loc}}(r,E)$ $\displaystyle \equiv i [(\nabla_r - \nabla_{r'})D_{\rm R}(r,r',E)]_{r'=r} \{f(E - \mu_L) - f(E - \mu_R)\},$ (36)

where $ f(E)=1/\{\exp(E/T_{e})+1\}$ ($ T_e$ is the electronic temperature), and

$\displaystyle D_{\rm R}(r,r',Z) \equiv \iint d^3 r_1 d^3 r_2 G_{\rm C}(r,r_1,Z) \Gamma_{\rm R}(r_1,r_2,Z) G_{\rm C}(r_2,r',Z^*),$ (37)

where $ Z=E+i\eta$, and $ \eta$ is a positive infinitesimal.

In the orthogonal basis representation, $ [(\nabla_r - \nabla_{r'}) D_R(r,r',E)]_{r'=r}$ becomes as follows:

$\displaystyle [(\nabla_r - \nabla_{r'})$ $\displaystyle D_R(r,r',E)]_{r'=r} = \sum_k [(\nabla_r - \nabla_{r'}) e^{ik(r-r')}\sum_{i j} D_{i j}^k \chi_i(r) \chi_j^*(r')]_{r'=r}$    
  $\displaystyle = \left[ \sum_k e^{ik(r-r')}\sum_{i j} D_{i j}^k \chi_j^*(r') (ik + \nabla_{r})\chi_i(r) - \chi_i(r) (-ik + \nabla_{r'})\chi_j^*(r') \right]_{r'=r}$    
  $\displaystyle = \sum_k \sum_{i j} D_{i j}^k \{ 2 i k \chi_j^*(r) \chi_i(r) + \chi_j^*(r) \nabla_{r} \chi_i(r) - \chi_i(r) \nabla_{r} \chi_j^*(r) \},$ (38)

where

$\displaystyle D_{i j}^k$ $\displaystyle \equiv \iint d^3 r d^3 r' e^{-i k r} \chi^{*}_n(r) D_{\rm R}(r,r',E) e^{i k r} \chi_{n'}(r')$ (39)

Finally, we can obtain the following non-orthogonal representation by using Eq. (15).

  $\displaystyle = \sum_k \sum_{i j} [{\hat S}_k'^{1/2 \dagger} D' {\hat S}_k'^{1/...
... k [{\hat S}_k'^{-1/2} \chi'^*(r) ]_j [\chi'(r) {\hat S}_k'^{-1/2\dagger}]_i(r)$    
  $\displaystyle \hspace{2cm} + [S^{-1/2} \chi'(r)]_j \nabla_{r}[\chi' S^{-1/2\dag...
...r){\hat S}_k'^{-1/2^\dagger}]_i \nabla_{r} [{\hat S}_k'^{-1/2} \chi'^*(r)]_j \}$    
  $\displaystyle = \sum_k \sum_{i j} D'^{k}_{i j} \{ 2 i k \chi'^*_j(r) \chi'_i(r) + \chi'^*_j(r) \nabla_{r}\chi'_i(r) - \chi'_i(r) \nabla_{r} \chi'^*_j(r) \},$ (40)

where $ {\hat D}'^k = {\hat G}'^k_{\rm C} {\hat \Gamma}'_{\rm R} {\hat G}'^{k\dagger}_{\rm C} $.

Non-local term

The second term in Eq. (34) is the non-local term; this term is calculated as follows [Eqs. (10) and (11) in Ref. [2]]:

$\displaystyle {\boldsymbol J}_{{\rm NL}}(r)$ $\displaystyle = - \nabla \varphi_n(r),$ (41)
$\displaystyle \nabla^2 \varphi_n(r)$ $\displaystyle = - \rho_n(r),$ (42)

where the source of non-local current ($ \rho_n(r)$) is calculated as follows [Eqn. (23) in Ref. [2]]:

$\displaystyle \rho_n(r)$ $\displaystyle = \int \frac{dE}{2\pi} \rho_n(r,E)$ (43)
$\displaystyle \rho_n(r,E)$ $\displaystyle = i \int d^3r' 2 i {\rm Im}[V(r,r') D(r',r)] [f(E-\mu_R) - f((E-\mu_L)]$ (44)
$\displaystyle V(r,r') D(r',r)$ $\displaystyle = \sum_k \sum_{i j} [V^k D^k]_{i j} \chi_i(r) \chi_j^*(r)$    
  $\displaystyle = \sum_k \sum_{i j} [{\hat S}_k'^{-1/2\dagger} V'^k D'^k {\hat S}...
..._{i j} [\chi'(r) {\hat S}_k'^{-1/2\dagger}]_i [{\hat S}_k'^{-1/2} \chi'^*(r)]_j$    
  $\displaystyle = \sum_k \sum_{i j} [{\hat S}_k'^{-1} V'^k D'^k]_{i j} \chi'_i(r) \chi'^*_j(r),$ (45)

where

$\displaystyle V_{i j}^k$ $\displaystyle \equiv \iint d^3 r d^3 r' e^{-i k r} \chi^{*}_n(r) V(r,r') e^{i k r} \chi_{n'}(r'),$ (46)

and

$\displaystyle V_{i j}'^k$ $\displaystyle \equiv \iint d^3 r d^3 r' e^{-i k r} \chi'^{*}_n(r) V(r,r') e^{i k r} \chi'_{n'}(r'),$ (47)

Boundary conditions of the Poisson equation

The Poisson equation (42) is solved under the following boundary conditions:

Although there is a study in which $ J_{\rm NL, LB}(r)$ and $ J_{\rm NL, RB}(r)$ are assumed to be 0[3], we employ the following method [2] to calculate $ J_{{\rm NL},\rm bound}(r)$ because this method forces the total current to be identical in the boundary.

From the Eq. (34), we obtain

$\displaystyle J_{{\rm NL, LB} \vert\vert}(r)$ $\displaystyle = J_{{\rm LB} \vert\vert}(r) - J_{{\rm Loc}, \vert\vert}(r) \hspace{1cm} \textrm{at the left boundary, and}$ (50)
$\displaystyle J_{{\rm NL, RB} \vert\vert}(r)$ $\displaystyle = J_{{\rm RB} \vert\vert}(r) - J_{{\rm Loc}, \vert\vert}(r) \hspace{1cm} \textrm{at the right boundary,}$ (51)

where we obtain $ J_{{\rm LB} \vert\vert}(r)$ and $ J_{{\rm RB} \vert\vert}(r)$ with the help of the Landauer-Büttiker formula as follows [Eqn. (25) in Ref. [2]]:

Left boundary

$\displaystyle J_{\rm LB}(x_b,x_c)$ $\displaystyle = \int \frac{dE}{2\pi} \{ f(E-\mu_R) - f(E-\mu_L) \} \int d x_a T_L(x_a,x_b,x_c)$ (52)
$\displaystyle T_{\rm L}(r)$ $\displaystyle \equiv \sum_k [G_{{\rm C} k} \Gamma_{{\rm R} k} G_{{\rm C} k}^\dagger \Gamma_{{\rm L} k}](r,r)$    
  $\displaystyle = \sum_k \sum_{i j} \chi_i(r) [G_{{\rm C} k} \Gamma_{{\rm R} k} G_{{\rm C} k}^\dagger \Gamma_{{\rm L} k}]_{i j} \chi^*_j(r)$    
  $\displaystyle = \sum_k \sum_{i j} [\chi'(r) {\hat S}_k'^{-1/2\dagger}]_i [{\hat...
... \Gamma'_{{\rm L} k}{\hat S}_k'^{-1/2}]_{i j} [{\hat S}_k'^{-1/2} \chi'^*(r)]_j$    
  $\displaystyle = \sum_k \sum_{i j} \chi'_i(r) [G'_{{\rm C} k} \Gamma'_{{\rm R} k} G'^\dagger_{{\rm C} k} \Gamma'_{{\rm L} k} {\hat S}_k'^{-1}]_{i j} \chi'^*_j(r)$ (53)

Right Boundary

$\displaystyle J_{\rm RB}(x_b,x_c)$ $\displaystyle = \int \frac{dE}{2\pi} \{ f(E-\mu_R) - f(E-\mu_L) \} \int d x_a T_R(x_a,x_b,x_c)$ (54)
$\displaystyle T_{\rm R}(r)$ $\displaystyle \equiv \sum_k [G_{{\rm C} k} \Gamma_{{\rm L} k} G_{{\rm C} k}^\dagger \Gamma_{{\rm R} k}](r,r)$    
  $\displaystyle = \sum_k \sum_{i j} \chi'_i(r) [G'_{{\rm C} k} \Gamma'_{{\rm L} k} G'^\dagger_{{\rm C} k} \Gamma'_{{\rm R} k} {\hat S}_k'^{-1}]_{i j} \chi'^*_j(r)$ (55)

Spin-current density

We can calculate the spin/charge current density together with a collinear magnetism. In this case, first we calculate separately contributions to $ {\boldsymbol J}$ in Eq. (34) from each spin ($ \uparrow$ and $ \downarrow$)

$\displaystyle {\boldsymbol J}_{\sigma}(r)$ $\displaystyle = {\boldsymbol J}_{{\rm Loc} \sigma}(r) + {\boldsymbol J}_{{\rm NL} \sigma}(r).$ (56)

we calculate the spin/charge current density by using these spin dependent currents as follows

$\displaystyle {\boldsymbol J}_{\rm C}(r)$ $\displaystyle = {\boldsymbol J}_{\uparrow}(r) + {\boldsymbol J}_{\downarrow}(r) \hspace{2cm} \textrm{Charge current density, }$ (57)
$\displaystyle {\boldsymbol J}_{\rm S}(r)$ $\displaystyle = {\boldsymbol J}_{\uparrow}(r) - {\boldsymbol J}_{\downarrow}(r) \hspace{2cm} \textrm{Spin current density}$ (58)

$ k$-inversion symmetry

In these calculations, we can use the following $ k$-inversion symmetries:

$\displaystyle {\hat H}_{-k}$ $\displaystyle = {\hat H}_k^* = {\hat H}_k^{\rm T}$ (59)
$\displaystyle {\hat S}_{-k}$ $\displaystyle = {\hat S}_k^* = {\hat S}_k^{\rm T}$ (60)
$\displaystyle {\hat G}_{-k}(Z)$ $\displaystyle = (Z - {\hat H}_k^*)^{-1} = \{(Z^* - {\hat H}_k)^{-1} \}^* = {\hat G}^*_{k}(Z^*) = {\hat G}^{\rm T}_{k}(Z)$ (61)
$\displaystyle {\hat \Gamma}_{{\rm R} -k}(Z)$ $\displaystyle = {\hat \Gamma}_{{\rm R} k}^*(Z) = {\hat \Gamma}_{{\rm R} k}^{\rm T}(Z)$ (62)

Non-collinear spin-current density

When we consider the non-collinear magnetization, we calculate the diagonal and the off-diagonal part $ {\boldsymbol J}_{\uparrow \uparrow}, {\boldsymbol J}_{\downarrow \downarrow}, {\boldsymbol J}_{\uparrow \downarrow}$ as follows:

$\displaystyle {\boldsymbol J}_{\sigma \sigma'}(r)$ $\displaystyle = {\boldsymbol J}_{{\rm Loc} \sigma \sigma'}(r) + {\boldsymbol J}_{{\rm NL} \sigma \sigma'}(r)$ (63)
$\displaystyle <tex2html_comment_mark>35 {\boldsymbol J}_{{\rm Loc} \sigma \sigma'}(r)$ $\displaystyle = \sum_k \sum_{i j} \int \frac{d E}{2 \pi} [f(E-\mu_L) - f(E-\mu_R)] i D'^k_{i \sigma j \sigma'}$    
  $\displaystyle \hspace{1cm} \times \{2 i k \chi'^*_j(r) \chi'_i(r) + \chi'^*_j(r) \nabla_{r}\chi'_i(r) - \chi'_i(r) \nabla_{r} \chi'^*_j(r) \}$ (64)
$\displaystyle <tex2html_comment_mark>36 {\boldsymbol J}_{{\rm NL} \sigma \sigma'}(r)$ $\displaystyle = - \nabla \varphi_{{\rm NL} \sigma \sigma'}(r)$ (65)
$\displaystyle <tex2html_comment_mark>37 \nabla^2 \varphi_{{\rm NL} \sigma \sigma'}(r)$ $\displaystyle = - \rho_{{\rm NL} \sigma \sigma'}(r)$ (66)
$\displaystyle <tex2html_comment_mark>38 \rho_{{\rm NL} \sigma \sigma'}(r)$ $\displaystyle = \int \frac{dE}{2\pi} i \sum_k \sum_{\sigma_1} \int d^3r' [f(E-\mu_R) - f(E-\mu_L)]$    
  $\displaystyle \hspace{1cm} \times [V_{\sigma \sigma_1}(r,r') D_{\sigma_1 \sigma}(r',r) - V^*_{\sigma' \sigma_1}(r,r') D^*_{\sigma_1 \sigma}(r',r)]$    
  $\displaystyle = \int \frac{dE}{2\pi} i \sum_k [f(E-\mu_R) - f(E-\mu_L)]$    
  $\displaystyle \hspace{1cm} \times \left\{ \sum_{i j} [{\hat S}_k'^{-1} {\hat V}...
...\hat V}'^k {\hat D}'^k]^*_{i \sigma' j \sigma} \chi'^*_i(r) \chi'_j(r) \right\}$    
  $\displaystyle = \sum_{i j} [f(E-\mu_R) - f(E-\mu_L)] \chi'_i(r) \chi'^*_j(r)$    
  $\displaystyle \hspace{1cm} \times \int \frac{dE}{2\pi} i \sum_k \left\{[{\hat S...
...- [{\hat S}_k'^{-1} {\hat V}'^k {\hat D}'^k]^*_{j \sigma' i \sigma} \right\} %
$ (67)

The Poisson equation for $ \varphi_{{\rm NL} \sigma \sigma'}(r)$ is written as follows:

$\displaystyle \nabla \varphi_{{\rm NL} \sigma \sigma'}(r) \cdot {\boldsymbol e}_{\rm B}$ $\displaystyle = J_{{\rm NL}, {\rm L/R B}, \sigma \sigma'}(r)$ (68)
$\displaystyle J_{{\rm LB}, \sigma \sigma'}(x_b,x_c)$ $\displaystyle = \int \frac{dE}{2\pi} \{ f(E-\mu_R) - f(E-\mu_L) \} \int d x_a T_{L \sigma \sigma'}(x_a,x_b,x_c)$ (69)
$\displaystyle T_{{\rm L}, \sigma \sigma'}(r)$ $\displaystyle \equiv \sum_k [{\hat G}_{{\rm C} k} {\hat \Gamma}_{{\rm R} k} {\h...
... {\hat \Gamma}'_{{\rm L} k} {\hat S}_k'^{-1}]_{i \sigma j \sigma'} \chi'^*_j(r)$ (70)
$\displaystyle J_{{\rm RB}, \sigma \sigma'}(x_b,x_c)$ $\displaystyle = \int \frac{dE}{2\pi} \{ f(E-\mu_R) - f(E-\mu_L) \} \int d x_a T_{{\rm R} \sigma \sigma'}(x_a,x_b,x_c)$ (71)
$\displaystyle T_{{\rm R}, \sigma \sigma'}(r)$ $\displaystyle = \sum_k \sum_{i j} \chi'_i(r) [{\hat G}'_{{\rm C} k} {\hat \Gamm...
... {\hat \Gamma}'_{{\rm R} k} {\hat S}_k'^{-1}]_{i \sigma j \sigma'} \chi'^*_j(r)$ (72)

Implementation

These calculations are performed as that represented in Fig. 1.

Figure 1: Flow Chart
\includegraphics[width=15cm]{flow.eps}



Figure 2: Call graph
\includegraphics[width=15cm]{call_graph.eps}

We explain functions in the call graph (Fig. 2) as follows:

Functions in TRAN_Main_Analysis.c

Functions in TRAN_Channel_Functions.c

void TRAN_Calc_Diagonalize(int n, dcomplex evec[n*n], double eval[n],
int lscale)

Diagonalize matrix evec and replace it with its eigenvectors. If lscale=1, eigenvectors are scaled by a fuctor sqrt(eval[i]).

int TRAN_Calc_OrtSpace(int NUM_c, dcomplex SCC[NUM_c * NUM_c],
dcomplex rtS[NUM_c * NUM_c], dcomplex rtSinv[NUM_c * NUM_c])

Compute $ {\hat S}^{1/2}$(rtS) and $ {\hat S}^{-1/2}$(rtSinv) from $ {\hat S}$(SCC). This function returns the number of the orthogonal basis; it becomes smaller that the number of the non-orthogonal basis(NUM_c).

void TRAN_Calc_Linewidth(int NUM_c, dcomplex SigmaL_R[NUM_c * NUM_c], dcomplex SigmaR_R[NUM_c * NUM_c])

Compute $ {\hat \Gamma} = i[{\hat \Sigma} - {\hat \Sigma}^\dagger]$.

void TRAN_Calc_MatTrans(int NUM_c, dcomplex SigmaL_R[NUM_c * NUM_c], dcomplex GC_R[NUM_c * NUM_c], char* trans1, char* trans2)

Compute $ {\hat G}_{\rm C} {\hat \Gamma} {\hat G}_{\rm C}^\dagger$.

void TRAN_Calc_LowdinOrt( int NUM_c, dcomplex SigmaL_R[NUM_c * NUM_c], dcomplex SigmaR_R[NUM_c * NUM_c],
int NUM_cs, dcomplex rtS[NUM_c * NUM_c], dcomplex rtSinv[NUM_c * NUM_c],
dcomplex ALbar[NUM_cs * NUM_cs], dcomplex GamRbar[NUM_cs * NUM_cs])

Perform the Löwdin orthogonalization of $ {\hat A}_{\rm L}$ and $ {\hat \Gamma}_{\rm R}$.

void TRAN_Calc_ChannelLCAO(int NUM_c, int NUM_cs,
dcomplex rtSinv[NUM_c * NUM_c], dcomplex ALbar[NUM_cs * NUM_cs],
dcomplex GamRbar[NUM_cs * NUM_cs], double eval[NUM_cs],
dcomplex GC_R[NUM_c * NUM_c], int TRAN_Channel_Num,
dcomplex EChannel[TRAN_Channel_Num][NUM_c],
double eigentrans[TRAN_Channel_Num])

Transform Eigenchannel in the orthogonalized basis space into that in the non-orthogonalized basis space.

Functions in TRAN_Channel_Output.c

static void Print_CubeTitle_EigenChannel( FILE *fp,
double TRAN_Channel_kpoint[2], double TRAN_Channel_energy, double eigentrans, int ispin)
static void Print_CubeTitle_EigenChannel_Bin( FILE *fp,
double TRAN_Channel_kpoint[2], double TRAN_Channel_energy, double eigentrans, int ispin)

Output the comment, atomic positions, the number of grid, and the grid offset to a .cube or a .cube.bin file.

void TRAN_Output_ChannelLCAO( int myid0, int kloop, int iw, int ispin,
int NUM_c, double TRAN_Channel_kpoint[2], double TRAN_Channel_energy,
double eval[NUM_c], dcomplex GC_R[NUM_c * NUM_c],
double eigentrans_sum[TRAN_Channel_Nenergy][SpinP_switch+1])

Output eigenchannels as a LCAO coefficient.

TRAN_Output_ChannelCube( int kloop, int iw, int ispin, int orbit,
int NUM_c, double *TRAN_Channel_kpoint, dcomplex EChannel[NUM_c],
int MP[atomnum], double eigentrans, double TRAN_Channel_energy)

Output eigenchannels as a real-space .cube format.

void TRAN_Output_eigentrans_sum( int TRAN_Channel_Nkpoint,
int TRAN_Channel_Nenergy,
double eigentrans_sum[TRAN_Channel_Nkpoint][TRAN_Channel_Nenergy])

Output the sum of transmission eigenvalues in each $ k$ and energy.

Functions in TRAN_Calc_CurrentDensity.c

void TRAN_Calc_Sinv( int NUM_c, dcomplex SCC[NUM_c * NUM_c],
dcomplex Sinv[NUM_c * NUM_c])

Compute $ {\hat S}^{-1}$.

void TRAN_Calc_CurrentDensity( int NUM_c, dcomplex GC[NUM_c * NUM_c],
dcomplex GammaL[NUM_c * NUM_c], dcomplex GammaR[NUM_c * NUM_c],
dcomplex VCC[NUM_c * NUM_c], dcomplex Sinv[NUM_c * NUM_c], double kvec[2],
double fL, double fR, double Tran_current_energy_step,
double JLocSym[2][NUM_c][NUM_c], double JLocAsym[NUM_c][NUM_c],
double RhoNL[NUM_c][NUM_c], double Jmat[2] )

void TRAN_Calc_CurrentDensity_NC( int NUM_c, dcomplex GC[NUM_c * NUM_c],
dcomplex GammaL[NUM_c * NUM_c], dcomplex GammaR[NUM_c * NUM_c],
dcomplex VCC[NUM_c * NUM_c], dcomplex Sinv[NUM_c * NUM_c], double kvec[2],
double fL, double fR, double Tran_current_energy_step,
double JLocSym[4][2][NUM_c * NUM_c], double JLocAsym4[4][NUM_c * NUM_c],
double RhoNL[4][NUM_c * NUM_c], double Jmat[4][2][NUM_c * NUM_c] )

Compute the contribution from each $ k$, energy component to the currentdensity.

Functions in TRAN_Cden_Main.c

static double TRAN_Calc_Orb2Real( int NUM_c, int MP[atomnum],
double JOrb[NUM_c][NUM_c], double JReal[TNumGrid], dcomplex SCC[NUM_c * NUM_c])

Compute $ \sum_{i j} A_{i j} \chi_i(r) \chi_j(r)$.

static void TRAN_Current_dOrb(int NUM_c, int *MP, double JSym[2][NUM_c][NUM_c], double JASym[NUM_c][NUM_c], double JReal[3][TNumGrid])

Compute $ \sum_{i j} A_{i j} \chi_j(r) \nabla \chi_i(r)$.

static void TRAN_Integrate1D(double Jmat[2][TNumGrid],
dcomplex Jbound[2][Ngrid2*Ngrid3], double Current[TNumGrid])

Compute partial trace for $ {\hat T}$ for the boundary current.

static void TRAN_Current_Boundary(dcomplex JBound[2][Ngrid2*Ngrid3])

Perform the Fourier transform of the boundary current.

static void FFT2D_CurrentDensity(double ReRhok[My_Max_NumGridB],
double ImRhok[My_Max_NumGridB])

Perform 2D-FFT of $ \rho_{\rm NLoc}(r)$ into the reciplocal space.

static void TRAN_Poisson_Current(double Rho[TNumGrid],
dcomplex Jbound[2][Ngrid2*Ngrid3])

Solve the Poisson equation for $ \varphi_{\rm Nloc}(r)$.

static void TRAN_Current_AddNLoc(double Rho[TNumGrid],
double Current[3][TNumGrid])

Sum the local- and non-local part of the currentdensity.

static void TRAN_Current_Spin(double CDensity[SpinP_switch + 1][3][TNumGrid])

Compute the charge- and the spin currentdensities from the each spin components of the currentdensity.

static void TRAN_Voronoi_CDEN(double CDensity[SpinP_switch + 1][3][TNumGrid], int TRAN_OffDiagonalCurrent)

Perform the Voronoianalysis of the currentdensity and output it.

Bibliography

1
M. Paulsson and M. Brandbyge, Phys. Rev. B 76, 115117 (2007).

2
C. Li, L. Wan, Y. Wei, and J. Wang, Nanotechnology 19, 155401 (2008).

3
L. Zhang, B. Wang, and J. Wang, Phys. Rev. B 84, 115412 (2011).

2016-02-10