[Pw_forum] Lanczos in Phonons to test the dynamical stability
Antoine.JAY at isae-supaero.fr
Tue Oct 24 10:07:25 CEST 2017
Maybe I misunderstand your answer because I misunderstand what is done during the long computationnal time steps of matdyn that begin with plotting "representation #i" in the ph.out file.
Corrige me if I'am wrong, the goal of the step "convergeance for one representation" is to fill the 3*Nat terms of the dynamical matrix d^2E/(dx_i*dy_j) using DFPT and interpolation (sometimes 2or 3*3*Nat terms if the representation is degenerated).
Using Lanczos, we can know the lowest eigen values without the knowledge of all the (3*Nat)^2 terms of the dynamical matrix,
So by choosing correctlly this terms is could be possible to drastically decrease the computationnal time.
For exemple with 400 atoms, if someone wants to know the 4 lowest eigen values (3 acoustics + eventually one with imaginary omega^2),
only 10 to 20 representations are needed instead of 1200. (time/~100: whouaou!)
So I do not understand why you say that I can not perform this algorithm here...
On Monday, October 23, 2017 11:47 CEST, Lorenzo Paulatto <paulatz at gmail.com> wrote:
The algorithm used by matdyn is not done for speed, it can be sped up hundred of times with some little tweaking. You can try using the codes from D3Q which are a bit more optimized: d3_q2r.x (same input as q2r) and d3_r2q.x (check the manual, requires some code editing as phonon dos is not implemented, but is trivial) Or you can try to profile and optimize matdyn.
P.S. I initially misread you question and gave you a very long and completely pointless answer, I leave it here for the records. The point still stand to some extent, because what takes time in matdyn is probably not the matrix diagonalization, but its interpolation.
No, because the Lanczos algorithm (and any other similar algorithm, like Davidson) allows you to compute the lower eigenvalues of a matrix M by applying it repeatedly, instead of diagonalizing it. But you still have to be able to apply the matrix.
This kind of algorithms are useful when the matrix is huge, for example in the electronic problem, the matrix has the dimension of the number of plane waves. By using Davidson, you can reduce it to (twice) the number of bands. Note that the scaling is still N^3, it is just the prefactor that is smaller.
But in the phonon case, the matrix is tiny, only 3 x number of atoms, it only takes a nanosecond to diagonalize it even for hundreds of atoms.On 23/10/17 08:21, JAY Antoine wrote:Dear all,
Is there a way to perform a phonon calculation only for the lowest phonon frequency for exemple by using the Lanczos algorithm?
I mean to test the dynamical stability of a structure, one only need to know that "all the frequencies are positives over the full BZ",
which is the same as "no frequencies are negatives" and in this case, one only need to know the lowest value of all the phonons frequencies.
For the biggest structures with a too big dynamical matrix, the phonon DOS have a too high computationnal cost and this trick should be very usefull...
Pw_forum mailing list
Pw_forum at pwscf.org
Lorenzo Paulatto - Paris
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the users