Author Topic: Transmission_eigenvalues k_point  (Read 3848 times)

0 Members and 1 Guest are viewing this topic.

Offline mantun

  • Heavy QuantumATK user
  • ***
  • Posts: 31
  • Country: cn
  • Reputation: 0
    • View Profile
Transmission_eigenvalues k_point
« on: June 23, 2014, 09:08 »
I want to calculate the transmission eigenvalue on a set of k_points. The kpoints is a 200*200 mesh on fermi level, so it's not practical to put them one by one. Can you show how to make it in simple Python language?My atk version is 13.8. Thanks

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5538
  • Country: dk
  • Reputation: 90
    • View Profile
    • QuantumATK at Synopsys
Re: Transmission_eigenvalues k_point
« Reply #1 on: June 24, 2014, 05:27 »
Just make a double-loop:
Code: python
for kA in numpy.linspace(-0.5,0.5,200):
    for kB in numpy.linspace(-0.5,0.5,200):
        tr_eig = TransmissionEigenvalues(device_configuration, energy=0*eV, k_point=[kA,kB])
        nlprint("k=(%g,%g)" % (kA,kB))
        nlprint(tr_eig)
Beware however that this may take some time!

Offline mantun

  • Heavy QuantumATK user
  • ***
  • Posts: 31
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Transmission_eigenvalues k_point
« Reply #2 on: June 24, 2014, 15:15 »
Thank you! Its previous version 2008 has this function. It doesn't take much time if i am not mistaken.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5538
  • Country: dk
  • Reputation: 90
    • View Profile
    • QuantumATK at Synopsys
Re: Transmission_eigenvalues k_point
« Reply #3 on: June 25, 2014, 04:23 »
ATK 2008 did not have transmission eigenvalues, so you may be mistaking transmission "eigenvalues" for transmission "coefficients". To get the coefficients, it's a very different approach:
Code: python
t = TransmissionSpectrum(...)
coefficients = t.coefficients()
Here "coefficients" is T(k) for the k-point sampling chosen for the computation of the transmission spectrum.

Offline mantun

  • Heavy QuantumATK user
  • ***
  • Posts: 31
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Transmission_eigenvalues k_point
« Reply #4 on: June 25, 2014, 09:42 »
ATK 2008 did not have transmission eigenvalues, so you may be mistaking transmission "eigenvalues" for transmission "coefficients". To get the coefficients, it's a very different approach:
Code: python
t = TransmissionSpectrum(...)
coefficients = t.coefficients()
Here "coefficients" is T(k) for the k-point sampling chosen for the computation of the transmission spectrum.
yes, i'm mistaken. You mean that in calculating transmission spectrum, the transmission efficients of the kpoints which is a parameter in transmission_spectrum function is computed first and then add up. Additional, there is no such a transmission_coefficient function in 13.8, am i right? What,s the differeence between transmission coefficients and transmission eigenvalues?

Offline mantun

  • Heavy QuantumATK user
  • ***
  • Posts: 31
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Transmission_eigenvalues k_point
« Reply #5 on: June 25, 2014, 10:58 »
I have one more question. there exists several eigenstates that contribute to the transmission coefficients for a paticular E (energy) and K (k point) which correspond to a eigenvalue. That is to say, these eigenvalues add up to transmission coefficient. In the calculation of eigenvalues in ATK 13.8, what we get is the sum of eigenvalue for a particular (E, k) ?

Offline mantun

  • Heavy QuantumATK user
  • ***
  • Posts: 31
  • Country: cn
  • Reputation: 0
    • View Profile
Re: Transmission_eigenvalues k_point
« Reply #6 on: June 25, 2014, 15:22 »
I get all the answer exept "In the calculation of eigenvalues in ATK 13.8, what we get is the sum of eigenvalue for a particular (E, k) ?". Can you respond to this question? Thanks

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5538
  • Country: dk
  • Reputation: 90
    • View Profile
    • QuantumATK at Synopsys
Re: Transmission_eigenvalues k_point
« Reply #7 on: June 25, 2014, 15:34 »
The relation is

T(E) = sum_k T(E,k)

where we call T(E,k) transmission coefficients.

T(E,k) = sum_i T_i(E,k)

where T_i(E,k) are the transmission eigenvalues, which are limited to the range [0,1]. Each transmission eigenvalue corresponds to a particular transmission eigenchannel (and hence eigenstate).