Author Topic: How to calculate upspin/dnspin current of AP/P state?  (Read 5116 times)

0 Members and 1 Guest are viewing this topic.

Offline broadcome

  • Regular QuantumATK user
  • **
  • Posts: 9
  • Country: kr
  • Reputation: 0
    • View Profile
Dear all,

I want to get upspin/dnspin current to calculate spin transfer torque.
(T||(theta) = hbar/2e*sin(theta)*(I_ap*P_ap-I_p*P_p)/2, I=current, P=polarization, ap=anti parallel, p=parallel)

But Below script (from manual) cat not give me upspin/dnspin current of AP/P sates.
=================================================
transmission_spectrum = TransmissionSpectrum(
        configuration=device_configuration,
        energies=numpy.linspace(-0.5,0.5,10)*eV,
        kpoints=MonkhorstPackGrid(30,30)
        )
current = transmission_spectrum.current()
up_current = transmission_spectrum.current(spin=Spin.Up)
dn_current = transmission_spectrum.current(spin=Spin.Down)
==================================================

How to do to get upspin/dnspin current of AP/P, respectively?
Do I have to input Initial spin term?

I would be extremely grateful for your reply.
Best regards,

« Last Edit: August 1, 2011, 09:34 by broadcome »

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: How to calculate upspin/dnspin current of AP/P state?
« Reply #1 on: August 1, 2011, 12:44 »
In the FeMgO tutorial, in particular http://quantumwise.com/documents/tutorials/latest/Fe-MgO-Fe/index.html/chap.mgo.anti.html#sect2.mgo.anti.tmr, is shown how to compute the 4 currents (I_p=I_d^up+I_d^dn, of course). This assumes you have separate calculations for the AP/P configuration, and the earlier chapters in the tutorial show how to perform those.

Note that as a special feature, ATK can initialize the AP calculation from the P converged result, this helps convergence a lot! This is discussed in the beginning of the section http://quantumwise.com/documents/tutorials/latest/Fe-MgO-Fe/index.html/chap.mgo.anti.html

Offline hejun8035

  • Heavy QuantumATK user
  • ***
  • Posts: 47
  • Reputation: 0
    • View Profile
Re: How to calculate upspin/dnspin current of AP/P state?
« Reply #2 on: August 4, 2011, 04:56 »
I have read the tutorial, but still can't get the spin up/down current.(I can only get one current value by using ATK11.2.3)

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: How to calculate upspin/dnspin current of AP/P state?
« Reply #3 on: August 4, 2011, 11:55 »
If you have the 2 NC files for A and AP states, each of which contain the transmission spectrum, then you would use something like this to get the 4 currents:
Code: python
T_ap = nlread("apfile.nc",TransmissionSpectrum)[0]
T_p = nlread("pfile.nc",TransmissionSpectrum)[0]
print "P up current: ", T_p.current(spin=Spin.Up) 
print "P down current: ", T_p.current(spin=Spin.Down) 
print "AP up current: ", T_ap.current(spin=Spin.Up) 
print "AP down current: ", T_ap.current(spin=Spin.Down)