24小时热门版块排行榜    

查看: 33  |  回复: 2
【悬赏金币】回答本帖问题,作者潇潇的KK将赠送您 5 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

潇潇的KK

铁虫 (初入文坛)

[求助] QE计算电声耦合的时候报错Error in routine lambda (100)wrong or too many modes 已有1人参与

各位老师,最近用QE用DFPT计算体系的电声耦合的时候发现lambda.x时出现Error in routine lambda (100):wrong # or too many modes。体系的原子数一共有50个,用如下的计算其他的比这个原子少的都没有问题。请各位老师指点指点
50  0.12  1
8
0.000000000   0.000000000   0.000000000  1
0.000002612   0.000000000  -0.203199324  1
0.000000000  -0.286852146   0.000000000  1
0.000002612  -0.286852146  -0.203199324  1
-0.500000000   0.000000000  -0.000005312  1
-0.499997388   0.000000000  -0.203204636  1
-0.500000000  -0.286852146  -0.000005312  1
-0.499997388  -0.286852146  -0.203204636  1
elph_dir/elph.inp_lambda.1
elph_dir/elph.inp_lambda.2
elph_dir/elph.inp_lambda.3
elph_dir/elph.inp_lambda.4
elph_dir/elph.inp_lambda.5
elph_dir/elph.inp_lambda.6
elph_dir/elph.inp_lambda.7
elph_dir/elph.inp_lambda.8
0.10

lambda.in
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rlafite

木虫 (正式写手)

【答案】应助回帖

排查步骤(强烈建议)
Step 1:检查每个 elph 文件的模式数
对每个文件:
grep -i "mode" elph_dir/elph.inp_lambda.1 | wc -l
或者更粗暴一点:
grep -i "omega" elph_dir/elph.inp_lambda.1 | wc -l
必须每个都是 150
如果你看到:
147
144
0
或明显不同, 那就是问题源头。

Step 2:检查 ph.x 输出是否完整
在对应的 ph.out 里搜索:
grep -i "Diagonalizing the dynamical matrix" ph.out
你应该看到 每个 q 点都完成了对角化。
如果某个 q 点:没有这行 或后面没有列出 150 个频率 那个 q 点的 elph 文件 必坏

Step 3:确认没有“混用 elph 文件”
检查时间戳:
ls -l elph_dir/elph.inp_lambda.*
如果发现:某几个文件明显比其他旧, 或来自不同计算
删掉全部 elph 文件,重新跑一遍 ph + elph

Step 4:确认声子计算参数
对大体系,强烈建议:
&inputph
  ldisp = .true.
  elph  = .true.
  tr2_ph = 1.0d-14
  epsil = .false.
/
并且:
不要用过低的 tr2_ph, 确保 ecutwfc / ecutrho 足够
3楼2026-01-14 01:03:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

rlafite

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
这个 Error in routine lambda (100): wrong # or too many modes 在 QE 的 lambda.x 里是一个非常典型、而且和“体系大”强相关的问题。对 50 原子体系,下面任何一条都会触发你这个错误:

(A) 有 q 点 声子计算没有完全结束

ph.x 在某个 q 点:超时, SCF 没收敛, 内存不够被 kill, 但你仍然生成了 elph.inp_lambda.i
结果:该 q 点的模式数 < 150
lambda.x 的 “wrong # or too many modes” 基本可以确定是:某个 q 点的 elph.inp_lambda 文件中声子模式数 ≠ 3×Nat(你的体系是 150),通常由 ph.x 未完整结束、SCF 不收敛或混用 elph 文件导致。逐个检查 elph 文件中的模式数即可定位。
2楼2026-01-14 00:59:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见