Author Topic: Tutorial of Inelastic electron tunneling spectrum  (Read 6793 times)

0 Members and 1 Guest are viewing this topic.

Offline zhangguangping

  • QuantumATK Guru
  • ****
  • Posts: 187
  • Country: cn
  • Reputation: 2
    • View Profile
Re: Tutorial of Inelastic electron tunneling spectrum
« Reply #15 on: August 18, 2016, 02:57 »
Well, now you have the opposite problem, you have atoms with fractional coordinates > 1. Using wrap would have gotten rid of these also.
Thanks for your reply. Aha, I get your point! Now it seems working. Good to have you in the forum to guide ATK users. I saw for IETS calculation, there are 4 main calculations: (1) a two probe junction calculation: DeviceLCAOCalculator; (2) force constant calculation: DynamicalMatrix; (3) derivative of Hmiltonian: HamiltonianDerivatives; (4) last, the IETS calculation based on (1)-(3): InelasticTransmissionSpectrum. I find the steps (2) and (3) are time demanding.  And I think these two calcuations can share the same SCF consistent results for each displacement of degree. For example, if there are 26 atoms not constrained in the system, there will be 26*3*2=156 SCF consistent steps of electronic structure. For each step, the DynamicalMatrix uses total enegy and HamiltonianDerivatives uses Hamiltonian to do a finite difference. Therefore, they can share the SCF process. But, As I inspect from the out file, I see they do their own  SCF consistent calcuations respectively, which will nearly double the calcuation time. Is there any method or flag to combined them together since they are both needed in IETS calculation? In inelastica code, the code save each Hamiltonian files on the disk, and then do a read in, which is much fast than calculation from scratch. Maybe, ATK can give such flags in DynamicalMatrix Class that indicates the code save Hamiltonian into nc files or so. However, for steps (2) and (3), I can not find entry for k-point sampling. I guess they use the same k-sampling as in (1), that is use the one for the device equivlent bulk.
Code
device_numerical_accuracy_parameters = NumericalAccuracyParameters(
    k_point_sampling=(4, 4, 20),
Is it possible that I use only Gamma point in steps (2) and (3) to save computaional time? Or they must be the exactly same as that in (1) for (2) and (3)? If the answer is yes, I must sepertate the calculation of (2) and (3) from (1), where there is only a Gamma k-point sampling for (1) in the *py file for (2) and (3) since (2) and (3) do not have their own entry for k-point sampling and use the one as in (1). Thanks very much. /Guangping
« Last Edit: August 18, 2016, 18:17 by zhangguangping »

Offline Troels Markussen

  • QuantumATK Staff
  • Regular QuantumATK user
  • *****
  • Posts: 8
  • Country: dk
  • Reputation: 0
    • View Profile
Re: Tutorial of Inelastic electron tunneling spectrum
« Reply #16 on: August 19, 2016, 09:59 »
Hi,

You are right that the HamiltonianDerivatives and DynamicalMatrix calculations could share the same scf results. This is something we have planned to implement, but we have not done it yet.

Regarding the k-point sampling for HamiltonianDerivatives and DynamicalMatrix: This does not have to be the same as for the device calculation, step (1). In fact, if the system is repeated in any direction (either set manually or done automatically) you should always reduce the number of k-point in that direction correspondingly. Otherwise the calculations will become too heavy. So you are right, that you should setup a separate calculator for the HamiltonianDerivatives and DynamicalMatrix calculations.

Note that you can get the automatically detected repetition with the function
(nA,nB,nC) = checkNumberOfRepetitions(configuration)
before you run the HamiltonianDerivatives and DynamicalMatrix calculations.

Troels

Offline zhangguangping

  • QuantumATK Guru
  • ****
  • Posts: 187
  • Country: cn
  • Reputation: 2
    • View Profile
Re: Tutorial of Inelastic electron tunneling spectrum
« Reply #17 on: August 19, 2016, 14:47 »
Hi,

You are right that the HamiltonianDerivatives and DynamicalMatrix calculations could share the same scf results. This is something we have planned to implement, but we have not done it yet.

Regarding the k-point sampling for HamiltonianDerivatives and DynamicalMatrix: This does not have to be the same as for the device calculation, step (1). In fact, if the system is repeated in any direction (either set manually or done automatically) you should always reduce the number of k-point in that direction correspondingly. Otherwise the calculations will become too heavy. So you are right, that you should setup a separate calculator for the HamiltonianDerivatives and DynamicalMatrix calculations.

Note that you can get the automatically detected repetition with the function
(nA,nB,nC) = checkNumberOfRepetitions(configuration)
before you run the HamiltonianDerivatives and DynamicalMatrix calculations.

Troels

Dear Troels,

Thanks for your kind reply.

By the way, I think you should belong to the "QuantumWise Staff" group, not "New ATK user". The explicit indication would make your answer more convincing.

With best.

/Guangping