当前位置: 首页 > 第一原理 >QE输出的矩阵元有很多的NaN

QE输出的矩阵元有很多的NaN

作者 边城雪
来源: 小木虫 250 5 举报帖子
+关注

大家好,我用qe-6.3里的bands.x执行文件计算matrix elements of the momentum operator p between conduction and valence bands(需设置lp=.true.),
计算步骤是
pw.x <scf.in>scf.out
pw.x <band.in>band.out
bands.x <bands.in>bands.out
在第二步band.in的输入文件中,如果我使用的K点比较密的话,比如:
K_POINTS {crystal_c}
3
0.00    0.00    0.00      0
1.00    0.00    0.00      45
0.00    1.00    0.00      45
输出的matrix elements就会有很多的NaN(not a number);
但如果我用较疏的k-mesh,比如
K_POINTS {crystal_c}
3
0.00    0.00    0.00      0
1.00    0.00    0.00      15
0.00    1.00    0.00      15
输出矩阵元素都可以正常显示,我试了不同的服务器,结果都是如此,我也查询了一些资料,大多认为是数学库对角化的问题。但我不明白为什么会和设置的k点疏密有关?大家有计算这个或者遇到此类问题的吗?希望大家给一些建议,任何指点建议都可以,谢谢~ 返回小木虫查看更多

今日热帖
  • 精华评论
  • 漫天飘雪

    我一般这样用
    K_POINTS {crystal_b}
    2
    0.00    0.00    0.00      101    !Gamma
    0.50    0.00    0.00      1        !X

    你可以看看手册,了解他们的含义。

  • siestafonda

    既然是数学库的问题,那把你的解决方案也贴一个过来,为以后的人提供方便吧!

  • 边城雪

    哈哈,这个问题解决了,刚存够了15个金币,可以回帖了,所以现在才来说一下。。。
    我用的是intel2017+impi编译的
    configure  --prefix=soft/QuantumEspresso/qe-6.3  --with-scalapack=intel CC="icc" FC="ifort"  F77="ifort" MPICC="mpiicc" MPIF90="mpiifort"
    这样设置的话,BLAS会自动链接 BLAS_LIBS=-lmkl_intel_lp64  -lmkl_sequential -lmkl_core
    问题就出在-lmkl_sequential身上,我手动链接BLAS_LIBS=“-L/compilers_and_libraries_2017.4.196/linux/mkl/lib/intel64 -lmkl_intel_lp64  -lmkl_intel_thread -lmkl_core" 就可以了
    不过make.inc有几个地方也需要改动一下:
    将-qopenmp添加到FFLAGS和LDFLAGS,
    FFLAGS="-O2 -assume byterecl -g -traceback -qopenmp"
    LDFLAGS="-static-intel  -qopenmp"

    我是看其他人的make.inc文件这样的设置,不过他告诉我,他的也是qe自动寻找链接到的这些数学库,我在好几个超算中心测试,自动链接到的都是-lmkl_sequential,虽然这样链接对qe大部分计算没有问题,但是lp=.true.时计算matrix elements of the momentum operator p就会出现矩阵元为NaN的情况,所以我需要手动强行链接-lmkl_intel_thread ,

  • 边城雪

    引用回帖:
    2楼: Originally posted by 漫天飘雪 at 2019-01-23 08:20:10
    我一般这样用
    K_POINTS {crystal_b}
    2
    0.00    0.00    0.00      101    !Gamma
    0.50    0.00    0.00      1        !X

    你可以看看手册,了解他们的含义。

    谢谢回复,K_POINTS的不同设置方式对于band.in都可以用,不过我计算的是光电相关的东西,需要全布里渊区计算,所以没有像平时计算能带那样只给出高对称点的设置

  • 边城雪

    引用回帖:
    3楼: Originally posted by siestafonda at 2019-01-24 19:36:20
    既然是数学库的问题,那把你的解决方案也贴一个过来,为以后的人提供方便吧!

    嗯嗯,已整理

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓