Author Topic: phonon dispersion, crash  (Read 6717 times)

0 Members and 1 Guest are viewing this topic.

Offline lanheken

  • Regular QuantumATK user
  • **
  • Posts: 10
  • Country: cn
  • Reputation: 0
    • View Profile
phonon dispersion, crash
« on: October 19, 2013, 20:41 »
Hi
I calculated phonon dispersion by DFT, however this would make my computer crash every time after running for a while. And the attach here is my script. Is it a bug of the new version 13.8rc?
Thanks

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: phonon dispersion, crash
« Reply #1 on: October 20, 2013, 02:27 »
How much memory do you have on the computer? Phonon calculations need a LOT of memory because it will create a supercell which may have up to 1000 atoms. It's possible to control the supercell size, but there is a risk of inaccurate results then.

Also, you don't need 5x5x5 k-points. Since the supercell is automatically created, and it will probably be a 5x5x5 or 7x7x7 cell, you will automatically obtain this k-point sampling by specifying only 1x1x1 k-points in the script. The way you do it, you actually get 25x25x25 or 35x35x35 k-points, which costs a huge amount of memory - and time.

But no matter what you do, these calculations need a serious amount of memory - but also parallelize phenomenally well up to 3N nodes where N is the number of atoms. So you could run this calculation on 18 nodes and it will be about 18 times faster. If you do run in parallel, but decide on a smaller number, keep it an integer factor of 3N (so, 3, 6, or 9 for your case).

Of course all these things should and will be explained in a tutorial!

Offline ams_nanolab

  • Supreme QuantumATK Wizard
  • *****
  • Posts: 389
  • Country: in
  • Reputation: 11
    • View Profile
Re: phonon dispersion, crash
« Reply #2 on: October 20, 2013, 08:21 »
Kindly explain how to set up a parallel calculation on ATK in a tutorial as soon as you can. It will benefit many users like us who are having this problem with phonon in particular.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys

Offline lanheken

  • Regular QuantumATK user
  • **
  • Posts: 10
  • Country: cn
  • Reputation: 0
    • View Profile
Re: phonon dispersion, crash
« Reply #4 on: October 20, 2013, 19:33 »
Thank you very much, I see.

Offline njuxyh

  • QuantumATK Guru
  • ****
  • Posts: 163
  • Reputation: 0
    • View Profile
Re: phonon dispersion, crash
« Reply #5 on: June 30, 2014, 19:31 »
How much memory do you have on the computer? Phonon calculations need a LOT of memory because it will create a supercell which may have up to 1000 atoms. It's possible to control the supercell size, but there is a risk of inaccurate results then.

Also, you don't need 5x5x5 k-points. Since the supercell is automatically created, and it will probably be a 5x5x5 or 7x7x7 cell, you will automatically obtain this k-point sampling by specifying only 1x1x1 k-points in the script. The way you do it, you actually get 25x25x25 or 35x35x35 k-points, which costs a huge amount of memory - and time.

But no matter what you do, these calculations need a serious amount of memory - but also parallelize phenomenally well up to 3N nodes where N is the number of atoms. So you could run this calculation on 18 nodes and it will be about 18 times faster. If you do run in parallel, but decide on a smaller number, keep it an integer factor of 3N (so, 3, 6, or 9 for your case).

Of course all these things should and will be explained in a tutorial!




i am puzzled about the bold above, it implies for a bulk system, when you want to calculate the phonon bandstructure and phonon dos, we need not to specify the K sampling, just let it is 1*1*1, because the code will detective automatic for you??

another related question is in the script, the K sampling is set for unit cell not or supper cell (repeat big  cell)?

if it is set for the unit cell, for example in z direction, we set n, and then the code repeats 5 cells in this direction, i.e, the BZ region is reduce to

1/5 of that original size, according to the fold-zone band theory, the k sample is the same with that in the unit cell, only more denser.

but from the green color statement, it seems the the k points in BZ is increasing with the cell size in the real space?

so i am puzzled, please help me make this clear.

Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: phonon dispersion, crash
« Reply #6 on: June 30, 2014, 20:47 »
You are first of all confusing k-point sampling with the necessary physical repetitions of system needed to accurately capture all interactions between pairs of atoms. But it's true that the effective k-point sampling for your unit cell will be larger than what you specify in the script, due to the repetitions. So you could try 1x1x1 and let it expand to something larger due to the repetitions, but whether or not it's enough is - as always - something that needs to be verified case by case. Let's say you repetitions are just 1x1x7 but you know for this material you probably need 21 k-points, then you should start with 3, and so on.

So, as you wisely ask: the k-point sampling you set in the script is for the supercell. Thus, it's not that the k-point sampling is increased, it is indeed the case that the BZ becomes correspondingly smaller.
« Last Edit: June 30, 2014, 20:50 by Anders Blom »

Offline njuxyh

  • QuantumATK Guru
  • ****
  • Posts: 163
  • Reputation: 0
    • View Profile
Re: phonon dispersion, crash
« Reply #7 on: June 30, 2014, 23:58 »
Yes, thank you very much. now the confused issue clearly.

it is better to supply a tool to check the repeat number before the calculation runs, not in the process of run. in such way, we need not wait, and then kill the job, reset the parameter and submit the job again.








Offline Anders Blom

  • QuantumATK Staff
  • Supreme QuantumATK Wizard
  • *****
  • Posts: 5576
  • Country: dk
  • Reputation: 96
    • View Profile
    • QuantumATK at Synopsys
Re: phonon dispersion, crash
« Reply #8 on: July 2, 2014, 22:39 »
This is already possible, although not officially supported:
Code: python
bulk_configuration = ...
calculator = ...
bulk_configuration.setCalculator(calculator)

from NL.Dynamics.DynamicsUtilities import automaticDetectRepeat
print automaticDetectRepeat(bulk_configuration)
Note that this might not work in any future version of ATK, incl. 2014.0. But I agree this would be useful to have as a user-exposed function, so probably we can do that soon.