Dear Lorenzo,
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...

Best regards,

Antoine Jay




On Monday, October 23, 2017 11:47 CEST, Lorenzo Paulatto <[email protected]> 
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.
 
hth
 
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...

Best regards,

Antoine Jay
   _______________________________________________
Pw_forum mailing list
[email protected]
http://pwscf.org/mailman/listinfo/pw_forum --
Lorenzo Paulatto - Paris


 
_______________________________________________
Pw_forum mailing list
[email protected]
http://pwscf.org/mailman/listinfo/pw_forum

Reply via email to