xiaoqiugood的个人博客分享 http://blog.sciencenet.cn/u/xiaoqiugood

博文

Trouble shooting-PWscf计算过程中遇到的错误

已有 19105 次阅读 2013-9-25 04:33 |个人分类:PWSCF|系统分类:科研笔记|关键词:学者| trouble

7.QE中的对称性运用与自洽、声子计算


Author: paulatto Date: 2012-11-20 14:32:05 +0100 (Tue, 20 Nov 2012) New Revision: 9630 Modified: trunk/espresso/PHonon/PH/set_irr_sym.f90 trunk/espresso/PHonon/PH/sgam_ph.f90 Log: Short explanation: minus_q symmetry fixed, for many years it was not really used. Long explanation (read it if you with to know how symmetry works in phonon): The minus_q switch was supposed to reduce by half the number of k points required in a phonon calculation by using time reversal symmetry. I.e. in a pw.x calculation if we have time-reversal symmetry, we can use k .seq. -k (k is symmetry-equivalent to -k) to limit the BZ integrals to half of the k-points. In the phonon code, some integrals are done on the k+q grid, where k+q .not. seq. -k+q, hence we would have to use the full grid. However, when there is a symmetry operation S such as Sq = -q+G [1] we can again use only half the k-point as long as we then symmetrize w.r.t. S + time reversal, i.e. rotate the dynamical matrix D with S and take the complex-conjugate. This operation is actually done at the beginning of symdynph_gq.f90 if minusq_q is true. The problem is that S was only searched inside the small-group of q (SGq), which is wrong, for this reason: if S is in the SGq than Sq = q+G, combine this with eq. q and you'll get q+G = -q+G' [2] i.e. q and -q are equivalent WITHOUT THE NEED OF ANY SYMMETRY. In this case S, the "minus_q" special symmetry, is just the indentity!! And the "minusq_q" special symmetrization is exactly the same as imposing hermiticity, which is done immediately before in symdynph_gq.f90. On the other hand we want Sq to be NOT equivalent to q, i.e. Sq =/= q+G (for any G) [3] this case gives use on more symmetry to exploit. Line 164 of sgam_ph was: if (sym(irot) .and. .not.minus_q) then in principle changing it to if (.not.sym(irot) .and. .not.minus_q) then is sufficient, but I decided to do as the old comment said: ! l'istruzione "originale" in kreductor era la seguente... ! if (.not. minus_q) then which is also correct. If S happens to be in the SGq (in this case the S=Identity will be picked) hermiticity will be applied twice. This does not hurt and keeps the minus_q switch consistent, i.e. minusq_q = .true. will mean that there is a symmetry linking q to -q+G, this symmetry could also be the identity, which happens ate the zone border. Notes: 1. if a crystal has inversion symmetry then minus_q must be true for EVERY q point. 2. if a crystal does NOT have inversion symmetry minus_q can still be true for some specific point, at least Gamma, I'm not sure if S can be anything else than identity in this case. 3. the change to set_irr_sym.f90 is just fix for a bug introduced by having sgam_ph working properly. 4. I tested this fix on the full phonon dispersion of a couple of high-symmetry lattices, without finding any problem, but some other code using the Phonon symmetry routines may do wrong assumptions about what minus_q actually is. thank you for reading, LP




6. Warning: symmetry operation # N not allowed

  This is not an error.

   If a symmetry operation contains a fractional translation that is incompatible with the FFT grid, it is discarded in order to prevent problems with symmetrization.

    Typical fractional translations are 1/2 or 1/3 of a lattice vector. If the FFT grid dimension along that direction is not divisible respectively by 2 or by 3, the symmetry operation will not transform the FFT grid into itself.

   Solution: you can either force your FFT grid to be commensurate with fractional translation (set variables nr1, nr2, nr3 to suitable values), or set variable use_all_frac to .true., in namelist &SYSTEM. Note however that the latter is incompatible with hybrid functionals and with phonon calculations.




4. ph.x这一步错误信息

步骤:


输出错误:

Eigenvectors exchange needed    1   34

Eigenvectors exchange needed    1   35

Eigenvectors exchange needed    1   36


    Calculation of q =    0.0000000   0.0000000   0.0000000


Possibly too few bands at point    1   0.00000   0.00000   0.00000


Possibly too few bands at point    2   0.00000   0.00000   0.09091


Possibly too few bands at point    7   0.00000   0.09091   0.09091

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    Error in routine set_irr_sym_new (122):

    wrong representation


解决方案:



The routine that checks the symmetry of the modes has been partiallyrevised. Now it stops the ph.x run when it does not recognize the symmetry of a modes of the random matrix. You can force continuation by setting search_sym=.false..


改正后输入文件:

&inputph

tr2_ph=1.0d-12,

prefix='$name',

amass(1)=1.008,

amass(2)=44.955910,

search_sym=.false.

outdir='$TMP_DIR',

fildyn='$name.dyn_$a',

/

0.0  0.0  0.0

EOF




3. Possibly too few bands at point    1   0.00000   0.00000   0.00000


nbnd= 30
Just set up manually bands number "nbnd" in  your scf-input  file.  The message means that nbnd used by default is not sufficient. If you use an old version set up nbnd in nscf-file.


nbndINTEGER
Default:for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)
number of electronic states (bands) to be calculated.Note that in spin-polarized calculations the number ofk-point, not the number of bands per k-point, is doubled        



2. 声子异常


Phonon anomalies in metals are related to Fermi surface nesting.You therefore need to describe correctly the Fermi surface. This imply looking for the limit where degauss->0 (mantaininggood convergence with respect BZ sampling) I suggest you keep a reasonable cutoff (35 or less should be OKfor Pt) and  study instead the phonon dispersion behaviour with respect the degaussvalue. Proceed as follow: For each value of degauss you should increase the k point meshuntil frequencies are stable. Look for the behavior of the converged frequency as you reducedegauss. For not anomalous frequencies things should be ratherinsensitive to these details but or the anomalous ones you should see the difference. Have a look to the following two references: S. de Gironcoli, Lattice Dynamics of Metals fromDensity-Functional Perturbation Theory,  Phys. Rev. B 51, 6773 (1995). C. Bungaro, S. de Gironcoli, and S. Baroni, Theory of theanomalous Rayleigh dispersion at H/W(110) surfaces,  Phys. Rev. Lett.77, 2491 (1996). all the best stefano





1.pw.x stops during variable-cell optimization in checkallsym with non orthogonal operation errorVariable-cell optimization may occasionally break the starting symmetry of the cell. When this happens, the run is stopped because the number of k-points calculated for the starting configuration may no longer be suitable. Possible solutions:

  • start with a nonsymmetric cell;

  • use a symmetry-conserving algorithm: the Wentzcovitch algorithm (cell dynamics='damp-w') should not break the symmetry.



cell_dynamicsCHARACTER
Specify the type of dynamics for the cell.For different type of calculation different possibilitiesare allowed and different default values apply:CASE ( calculation = 'vc-relax' )  'none':    no dynamics  'sd':      steepest descent ( not implemented )  'damp-pr': damped (Beeman) dynamics of the Parrinello-Rahman             extended lagrangian  'damp-w':  damped (Beeman) dynamics of the new Wentzcovitch             extended lagrangian  'bfgs':    BFGS quasi-newton algorithm (default)             ion_dynamics must be 'bfgs' tooCASE ( calculation = 'vc-md' )  'none':    no dynamics  'pr':      (Beeman) molecular dynamics of the Parrinello-Rahman             extended lagrangian  'w':       (Beeman) molecular dynamics of the new Wentzcovitch             extended lagrangian





https://m.sciencenet.cn/blog-567091-727591.html

上一篇:PWSCF计算声子谱-gamma点的测试很重要
下一篇:从PWscf声子谱计算中获取零点振动能数据

0

该博文允许注册用户评论 请点击登录 评论 (4 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-10 14:11

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部