# [Pw_forum] Transmission calculation using PWCOND

Alexander Smogunov smogunov at sissa.it
Fri Apr 3 09:04:14 CEST 2009

Dear Manoj

On Wednesday 01 April 2009 22:57, Manoj Srivastava wrote:
> Dear PWSCF users and developers,
>  I have been trying to understand the PWCOND code for transmission
> calculation, basically 'transmit.f90' file. The wavefunction in the left
>
>        psi_k+sum_{k'}r_{kk'}psi_k'
>   psi= sum_{n} a_n psi_n+ sum_{\alpha l m} C_{\alpha l m}psi_{\alpha l m}
>        sum_{k'}t_{kk'}psi_k'
>
> The above expression is from Choi & Ihm's paper, on which I believe PWCOND
> is based on. Now undetermined coefficients in above expression are
> r_{kk'}, a_n, C_{\alpha,l,m}, t_kk'. I am confused on code evaluates these
> coefficients.  My understanding is you first get the wavefunction in the
> leads and then solve scattering region the same way to get the
> wavefunction in scattering region, so at this point you have already
> determined a_n and C_{\alpha,l,m}. At last do boundary matching condition
> between leads and scattering region to get reflection and transmission
> coefficient. Am I right?
No, the scattering state (SS)  is completely determined by unknown
coefficients which are: {r_kk', a_n, a_alpha, t_kk'}, the first defines the
SS in the left lead, the two next in the scattering region, and the last one
in the right lead. What you have found before are just basis solutions phi_n
and phi_alpha of the Sroedinger eq. in the scattering region over which you
expand the SS with coefficients (unknown yet) a_n and a_alpha.

Hope this helps,
Alexander

> My thinking is based on simple quantum mechanics
> scattering problem where we solve schrodinger's equation in each region
> and then do boundary matching to get reflection and transmission
> coefficients.
>
> Now looking at the subroutine 'transmit.f90', this does not appear to be
> the case. It seems as if we are solving the Schrodinger's equation in the
> scattering region and doing boundary matching at the same time. Using a
> big matrix and solving something like AX=B. Would anybody mind explaing
> what's going on in subroutine transmit.f90?
>
> Regards,
> Manoj Srivastava