Author Topic: Eigenvalues and eigenstates  (Read 1634 times)

0 Members and 1 Guest are viewing this topic.

Offline Jahanzaib

  • QuantumATK Guru
  • ****
  • Posts: 109
  • Country: gb
  • Reputation: 3
    • View Profile
Eigenvalues and eigenstates
« on: December 10, 2024, 18:51 »
Dear Expert,
I am using QuantumATK V-2023.09. I have attached the pics for my Transmission spectra, I am interested to explore the eigenvalue and eigenstate at energy = -0.14 with spin up only. In previous version, if you click on the peak at certain energy, you can eigenvalue and eigenstates.

Any suggestion

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5594
  • Country: dk
  • Reputation: 103
    • View Profile
    • QuantumATK at Synopsys
Re: Eigenvalues and eigenstates
« Reply #1 on: December 13, 2024, 19:57 »
The ability to compute the eigenvalues and eigenstates is still in QuantumATK, but only supported via scripting now, not interactively in the GUI. Not many users appreciated this functionality, so when we redesigned the TransmisionSpectrumAnalyzer to add many other new features, we did not prioritize this functionality. The template script will be
Code: python
device_configuration = nlread("myfile.hdf5", DeviceConfiguration)[-1]
energy = -0.14*eV
k_point = [0.1, 0.1]
spin = Spin.Up
eigenvalues = TransmissionEigenvalues(device_configuration, energy, k_point, spin)
nlprint(eigenvalues)
# Check the printout to see which states you need, then use the line below to set it to 0, 1, 2, etc
quantum_number = 0
eigenstate = TransmissionEigenstate(device_configuration, energy, k_point, quantum_number, spin)
nlsave('eigenstates.hdf5', eigenstate)
See https://docs.quantumatk.com/manual/Types/TransmissionEigenstate/TransmissionEigenstate.html#transmissioneigenstate-c
« Last Edit: December 13, 2024, 19:59 by Anders Blom »

Offline Jahanzaib

  • QuantumATK Guru
  • ****
  • Posts: 109
  • Country: gb
  • Reputation: 3
    • View Profile
Re: Eigenvalues and eigenstates
« Reply #2 on: December 13, 2024, 23:59 »
Many thanks Dr Blom. I tired to use this script and it shows the following error:

TypeError                                 Traceback (most recent call last)
<ipython-input-13-2772cb4c8c17> in <module>
      4 energy_zero_parameter=AverageFermiLevel,
      5 spin = Spin.Up
----> 6 eigenvalues = TransmissionEigenvalues(device_configuration, energy, k_point, spin)
      7 nlprint(eigenvalues)
      8 # Check the printout to see which states you need, then use the line below to set it to 0, 1, 2, etc

TypeError: 'module' object is not callable

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5594
  • Country: dk
  • Reputation: 103
    • View Profile
    • QuantumATK at Synopsys
Re: Eigenvalues and eigenstates
« Reply #3 on: December 16, 2024, 23:30 »
Sorry, I didn't have a test case at hand so I didn't notice that you can't pass the spin keyword to the Eigenvalues, only to the Eigenstates.
So try
eigenvalues = TransmissionEigenvalues(device_configuration, energy, k_point)
and
nlprint(eigenvalues.evaluate(spin=spin))
instead. This should be clear from the manual, btw.