Author Topic: Kinetic energy per unit lenght  (Read 5043 times)

0 Members and 1 Guest are viewing this topic.

Offline serhan

  • Heavy QuantumATK user
  • ***
  • Posts: 98
  • Reputation: 1
    • View Profile
Kinetic energy per unit lenght
« on: March 23, 2009, 10:55 »
Is it possible to calculate the kinetic energy per unit lenght in ATK? Or indirectly, is it possible to calculate Fermi velocity?

Cheers,
Serhan

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Kinetic energy per unit lenght
« Reply #1 on: March 23, 2009, 15:23 »
Do you have a reference for this type of calculation? I guess with the scattering states (transmission eigenstates) one could somehow do it, although it is probably not easily doable from NanoLanguage for a user.

Offline serhan

  • Heavy QuantumATK user
  • ***
  • Posts: 98
  • Reputation: 1
    • View Profile
Re: Kinetic energy per unit lenght
« Reply #2 on: March 23, 2009, 16:49 »
Hi,

In the last chapter, while calculating the inductance, the author used kinetic energy of electrons in this reference: http://www.lassp.cornell.edu/lassp_data/mceuen/homepage/Publications/bockraththesis.pdf

I had to give the reference at first post, sorry: a 1-D system. I think, maybe we can calculate kinetic energy with Nanolanguage  ???

Cheers,
Serhan

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Kinetic energy per unit lenght
« Reply #3 on: March 23, 2009, 17:23 »
It seems to me the whole discussion in that chapter is about how to set up a phenomenological method to compute the conductance and current (or the scaling of these quantities) for strongly correlated systems or Luttinger liquids. This is not what ATK is about; for strongly correlated system you need much more sophisticated methods, and hence you either can do only very few atoms, in some GW/many-body calculation, or you resort to a more phenomenological description. In such, you often employ "effective" parameters, such as various coupling strengths and correlation lengths, Fermi velocities, etc, without ever really worrying about how to compute them for "real" systems; just be assuming some values, you can still do interesting physics :) ATK is sort of the opposite of this; by using a bit simpler models, it can handle real systems, without effective parameters, and compute the real current and conductance (as real as it can be considered to be within the model framework). Nevertheless, ATK computes the kinetic Kohn-Sham energy; it is printed to the screen if you run calculateTotalEnergy() under verbosity 10, so:
Code
import ATK
ATK.setVerbosityLevel(10)
E = calculateTotalEnergy(scf)
I'm not at all sure if this is the same "kinetic energy" as used in the Luttinger liquid vocabulary, however... And I'm even less sure if it makes any sense to couple to two approaches this way :)

Offline serhan

  • Heavy QuantumATK user
  • ***
  • Posts: 98
  • Reputation: 1
    • View Profile
Re: Kinetic energy per unit lenght
« Reply #4 on: March 23, 2009, 22:32 »
Thank you very much Anders. If I did not understand wrong, can we compute the "effective" Fermi velocity? Of course as you pointed, combining or mixing these terminology with Lüttinger fluid's may be dangerous  ::)

Cheers,
Serhan

Offline Nordland

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 812
  • Reputation: 18
    • View Profile
Re: Kinetic energy per unit lenght
« Reply #5 on: March 24, 2009, 08:43 »
Hey Serhan.

I think the following code snippet should calculate the fermi velocity, but I am not sure the validity of the results
obtained by such a properties using abinitio methods.

Quote
######################################################################
# Calculate physical properties
######################################################################
fermi_energy = calculateFermiEnergy(self_consistent_calculation = scf)
from NL.ScienceUtilities.Units.PhysicalQuantity import PhysicalUnit
from NL.ScienceUtilities.Units.PhysicalQuantity import second
me = PhysicalUnit('me')
m = PhysicalUnit('m')
fermi_velocity = (abs(((2.0*fermi_energy*Units.eV / me)._value()))**0.5 * Units.eV**0.5 * me**-0.5).convertTo(m / second)
print 'Fermi energy   = ', fermi_energy
print 'Fermi velocity = ', fermi_velocity

But you can try it out and see what kind of values you get - but I am not getting my hopes up to high since I think that the fermi level has to be relative to absolute zero energy, and fermi energy is relative to the vacuum level.

However I found a table value, that I compared with:
Fermi Velocity (Table Li): 1.29e6 m/s
Fermi Velocity (ATK   Li):  1.36e6 m/s

So perhaps it might work :)

Best of luck....

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Kinetic energy per unit lenght
« Reply #6 on: March 24, 2009, 11:35 »
Even if that expression matches "by units", it seems quite pointless to me, since there is no possible way to set a universal energy zero point, esp. for an infinite periodic system! Shift the energy by an arbitrary amount and you get obtain any value of "vF". In some sense it's a bit like phase velocity vs. group velocity. Actually it's very much like that case; the Fermi velocity is the group velocity of electrons at the Fermi level!

The way I've seen the Fermi velocity used is in oversimplified models (like relating the radius of the free electron Fermi sphere to the electron density and from there to the velocity) or for simple cases like graphite/graphene, where the Fermi surface is a single point and the linear dispersion around that point easily allows you to extract vF as the slope (first derivative) of the energy vs. k (not how the energy zero points vanishes when you take the first derivative!). And, a few cases, for metals, where you average of the Fermi surface in a complicated way.

See http://dx.doi.org/10.1155/2008/769250 for some useful information on nanotubes, however.


Offline serhan

  • Heavy QuantumATK user
  • ***
  • Posts: 98
  • Reputation: 1
    • View Profile
Re: Kinetic energy per unit lenght
« Reply #7 on: March 24, 2009, 20:28 »
Quote
Actually it's very much like that case; the Fermi velocity is the group velocity of electrons at the Fermi level!

Yes, it's the most important point, I think. So, under those assumptions, I will write some code to calculate kinetic energy or equivalently kinetic inductance of a nanotube.  :-X If I can, I'll post here...

Thanks again Anders.

Cheers,
Serhan

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5405
  • Country: dk
  • Reputation: 89
    • View Profile
    • QuantumATK at Synopsys
Re: Kinetic energy per unit lenght
« Reply #8 on: March 24, 2009, 23:04 »
Actually, when I think about it, it might be quite trivial for nanotubes... Obviously the system has to be metallic, so we're talking about (n,n) tubes. In this case, there is a "universal" Fermi point at kz=2pi/3a, "a" being the period length, at least in the simplest tight-binding model. Around that point the E(k) relation can easily be expanded an approximated by a linear dispersion, and from this you immediately obtain the Fermi velocity, that is,

vF = (m/hbar) * (dE/dk)

It should be quite straightforward to do the same thing for the DFT results.

For a more general structure, in particular in 3D, it would not be as easy...