计算化学公社

标题: 如何求取晶体中沿不同方向空穴和电子的有效质量? [打印本页]

作者
Author:
珊珊来迟    时间: 2017-9-20 16:41
标题: 如何求取晶体中沿不同方向空穴和电子的有效质量?
我在用origin处理能带计算的结果,用二次拟合法拟合在导带底和价带顶这两点的有效质量。比如我在G点附近选取几组数据进行拟合得到E对K的二阶导数,从而得到一个有效质量。问题是:1.我看到文献中可以得到在某一点沿各个方向的有效质量
(, 下载次数 Times of downloads: 135)
请问在拟合时怎么可以得到沿各个方向的有效质量?并且怎么确定的这个具体方向?(即表格中的parallel to)?怎么得到特定方向的(比如沿stackinga方向)的有效质量呢?
2.我是用vaspkit处理的能带结果,在数据处理时横坐标K对应的单位应该是Å^(-1)吧? 那是不是应该除以0.529,把单位换算为born^(-1)就可以了?
期待有经验前辈的解答!万分感谢!!

作者
Author:
ggdh    时间: 2017-9-20 18:37
理论上有效质量是个张量,你对角化这个矩阵,得到三个本征值和三个本征方向。应该就是文献中给的三个值。
具体做法见:
https://github.com/afonari/emc
沿特定方向的effective mass你可以把这个方向的能带做出来,然后用这个能带来拟合有效质量。但是这么做得到的effective mass是否有物理意义就不知道了。
作者
Author:
珊珊来迟    时间: 2017-9-20 20:19
ggdh 发表于 2017-9-20 18:37
理论上有效质量是个张量,你对角化这个矩阵,得到三个本征值和三个本征方向。应该就是文献中给的三个值。
...

谢谢您的解答!
我来研究一下这个程序怎么用。
还有一点不太明白,请问您怎么做出特定某个方向的能带呢?我们平常计算出的不直接是晶体的沿特定K点路径的能带吗?
作者
Author:
卡开发发    时间: 2017-9-20 23:52
能带极值附近等能面是一个椭球。上述方法应该是在极值点附近的k网格差分计算到导数,然后对角化到三个本征方向。沿着特定方向得到的应该是特定方向的有效质量,在极值点附近应当满足椭球的关系,应该能导出对应的系数应该是本征方向相对特定方向方向余弦的平方。
作者
Author:
珊珊来迟    时间: 2017-9-21 16:20
ggdh 发表于 2017-9-20 18:37
理论上有效质量是个张量,你对角化这个矩阵,得到三个本征值和三个本征方向。应该就是文献中给的三个值。
...

老师您好,我学习了EMC这个程序来计算有效质量,有几个问题希望老师在百忙中帮忙解答一下~对于这个程序的使用,需要准备两个文件,input和EIGENVAL,下面是官网给出的input文件格式,后续计算步骤以及我计算出的两个体系有效质量的结果文件。
(, 下载次数 Times of downloads: 91) (, 下载次数 Times of downloads: 93)
(, 下载次数 Times of downloads: 113) (, 下载次数 Times of downloads: 110)

1.对于input文件中的第一行:K-POINT in the reciprocal crystal coord.(3 floats) 我没太明白这一行的KPOINTS是需要怎么设置?我设的是0 0 0

2.我是用VASP计算的能带。对于最后一步计算有效质量需要的EIGENVAL是不是用我VASP计算能带时得到的该文件就可以了?
然后直接执行emc.py input_file EIGENVAL_file命令就得到了最后结果
3.用这个程序怎么分别算空穴和电子的有效质量呢?按以上步骤我只得到了一组(3个)有效质量
4.为什么我的第二个结果有效质量得到了负值??
期待您的回复。

作者
Author:
珊珊来迟    时间: 2017-9-21 16:29
卡开发发 发表于 2017-9-20 23:52
能带极值附近等能面是一个椭球。上述方法应该是在极值点附近的k网格差分计算到导数,然后对角化到三个本征 ...

那这个parallel to对应的是一个正空间平面方向吗?
作者
Author:
ggdh    时间: 2017-9-21 20:35
珊珊来迟 发表于 2017-9-21 16:20
老师您好,我学习了EMC这个程序来计算有效质量,有几个问题希望老师在百忙中帮忙解答一下~对于这个程序的 ...

1, 设价带顶,或者导带底部的K点的位置。
2. 是的。
3. 在input_file 里面的band number 那里可以改具体的某条能带。一次只能得到一组有效质量
4. 价带的有效质量都是负值。
作者
Author:
珊珊来迟    时间: 2017-9-23 12:25
ggdh 发表于 2017-9-21 20:35
1, 设价带顶,或者导带底部的K点的位置。
2. 是的。
3. 在input_file 里面的band number 那里可以改具 ...

老师请问1中K点的位置设置的时候是写分数坐标还是笛卡尔坐标?
作者
Author:
ggdh    时间: 2017-9-23 13:33
珊珊来迟 发表于 2017-9-23 12:25
老师请问1中K点的位置设置的时候是写分数坐标还是笛卡尔坐标?

分数
作者
Author:
珊珊来迟    时间: 2017-9-25 10:54
ggdh 发表于 2017-9-23 13:33
分数

谢谢您!
我看文献中写计算有效质量的方法时描述的是:“Sperling's centered difference method with dk=0.01/bohr”. 但并没有写出他的那些数据具体是通过什么程序计算得到的?
我目前知道的方法有两个:1.用origin对能带结构图进行二次拟合;2.用小程序EMC进行计算。但好像只有EMC程序可以给出像文献中表格里列出来的那些信息(具体的三个本征方向)。
我的问题是文献中“Sperling's centered difference method with dk=0.01/bohr”方法的描述是否默认有效质量就是EMC程序计算的?因为我用EMC没有重复出文献结果,不知道问题出在了哪里?
作者
Author:
ggdh    时间: 2017-9-25 13:25
珊珊来迟 发表于 2017-9-25 10:54
谢谢您!
我看文献中写计算有效质量的方法时描述的是:“Sperling's centered difference method with d ...

EMC里面用的是5 point stencil 差分法。大可放心用
Sperling's centered difference method 我google不到这个方法的来源的。
不知道是不是属于CIA机密。还是不管为妙。
不过,如果是普通的3点central difference method,那应该没有5 point stencil 精度高的
作者
Author:
珊珊来迟    时间: 2017-9-28 15:24
ggdh 发表于 2017-9-25 13:25
EMC里面用的是5 point stencil 差分法。大可放心用
Sperling's centered difference method 我google不 ...

老师您好!我想再向您请教一下关于对EMC计算结果分析的困惑。
比如我的计算结果是:electron in U(0, 0.5, 0.5)   0.105m0     a-0.0042b+0.0021c
                                                                           0.016m0      0.0140a-b-0.0023c
                                                                           0.006m0     0.3313a+0.3802b+c
1.从结果来看接近沿c轴方向的有效质量最小。但这个晶体沿a轴是stacking方向,那不应该是沿a轴方向的有效质量最小吗?沿另两个轴向相邻另个分子都处在基本平行的关系,所以我的设想是另两个方向的有效质量会很大,但结果却是三个方向的有效质量都远小于1m0。我对其他晶体的计算也得到了类似的结果。这是怎么回事呢?
2.或者我可以借助什么程序来看结果中给出的方向具体对应于我晶体结构的哪个平面呢?
3.另:我判断导带价带是第几条能带时看的是EIGENVAL文件中各条能带对应的本征值
(, 下载次数 Times of downloads: 90)
得到第221条能带时导带,第220条是价带。这种方法是正确的吗?
期待您的回复!~

作者
Author:
ggdh    时间: 2017-9-29 23:16
1.最好把能带图贴上来。看看emc的给出的信息是否和能带图一致。然后再结合具体的结构分析。
2 你可以用ms,在相应的分数坐标上放置原子,比如你这里的第三个矢量,就在000和 0.3313,0.3802,1 这两个位置分别放两个原子,然后连起来,就可以看到方向了。
3.在outcar里面找到类似下面的话
NELECT =      78.0000    total number of electrons
然后这里的78/3=39,就是最上面的价带,TVB; 40,就是最下面的导带了,BCB
另外 EIGENVAL 文件中每个能带后面应该是有占据数的,我不知道你怎么没有贴出来。占据为0的都是导带。
作者
Author:
珊珊来迟    时间: 2017-9-30 22:58
ggdh 发表于 2017-9-29 23:16
1.最好把能带图贴上来。看看emc的给出的信息是否和能带图一致。然后再结合具体的结构分析。
2 你可以用ms ...

老师,这是我的能带图 (, 下载次数 Times of downloads: 99)

附件是我的EIGENVAL文件,input及output文件。
而且算出来的有效质量太小了,觉得不太对。
感谢您的帮助!真的太麻烦您了老师!

作者
Author:
ggdh    时间: 2017-10-2 19:43
珊珊来迟 发表于 2017-9-30 22:58
老师,这是我的能带图

附件是我的EIGENVAL文件,input及output文件。

94  应该是HOMO把,HOMO的话有效质量应该是负的,结果你算出来是正的。。。
这就肯定有问题
你取的k点是0 0.5 0.5 这对应于你能带图中的哪个点呢?
作者
Author:
maoxinxina    时间: 2018-3-8 09:18
ggdh 发表于 2017-9-21 20:35
1, 设价带顶,或者导带底部的K点的位置。
2. 是的。
3. 在input_file 里面的band number 那里可以改具 ...

我想问下第二个参数step size怎么设置?还有为什么我的不管价带还是导带得到的有效质量都是负值。谢谢楼主。
作者
Author:
珊珊来迟    时间: 2018-3-8 20:08
maoxinxina 发表于 2018-3-8 09:18
我想问下第二个参数step size怎么设置?还有为什么我的不管价带还是导带得到的有效质量都是负值。谢谢楼 ...

我看文献中一般都设的0.01
是不是导带选错了?导带是NELECT/2再加1
作者
Author:
珊珊来迟    时间: 2018-3-26 22:14
ggdh 发表于 2017-9-20 18:37
理论上有效质量是个张量,你对角化这个矩阵,得到三个本征值和三个本征方向。应该就是文献中给的三个值。
...

老师请问这三个本征方向的物理意义是什么呀?
这三个方向与晶格矢量有什么关系吗?

作者
Author:
binganfe    时间: 2018-7-19 23:05
楼主你好,我也是算出来有效质量有正有负,你找到问题在哪了吗?
作者
Author:
代静静    时间: 2019-6-25 11:11
ggdh 发表于 2017-9-21 20:35
1, 设价带顶,或者导带底部的K点的位置。
2. 是的。
3. 在input_file 里面的band number 那里可以改具 ...

您好,请问回答一中,K点的位置时高对称点的坐标还是什么意思,这个位置具体指什么?
作者
Author:
珊珊来迟    时间: 2021-2-27 22:48
ggdh 发表于 2017-9-20 18:37
理论上有效质量是个张量,你对角化这个矩阵,得到三个本征值和三个本征方向。应该就是文献中给的三个值。
...

老师您好,请问emc程序输出的结果文件中给出的三个本征方向,对应的坐标系是什么呀?是晶轴的abc方向吗?比如第一个本征方向对应的就是-0.00307a+0.00029b+c?我如果想把本征方向投影到晶轴方向上,得到沿a b c轴的有效质量,该具体怎么计算啊?研究了半天矩阵的变换,奈何数学基础太差 困扰多时,期待您的解答,谢谢您
(, 下载次数 Times of downloads: 54)

作者
Author:
ggdh    时间: 2021-2-28 20:35
珊珊来迟 发表于 2021-2-27 22:48
老师您好,请问emc程序输出的结果文件中给出的三个本征方向,对应的坐标系是什么呀?是晶轴的abc方向吗? ...

方向是在笛卡尔坐标系中的。
如果要投影到abc方向
首先写出abc在笛卡尔方向上的归一化矢量。写成列向量,然后排成一行如下
[a b c] (这是一个3*3的矩阵)
假设你的第一个本征方向是0.3 0.2 0.1,用这个行向量乘以刚才那个3*3矩阵就行
[0.3 0.2 0.1]*[ a b c]
作者
Author:
珊珊来迟    时间: 2021-2-28 21:44
谢谢您的回复!
您第一行讲到的“方向是在笛卡尔坐标系中的”,是不是和POSCAR给出的晶格矢量在一个坐标系下的,也就是以a轴为x方向,y在ab平面内,垂直于x,然后z垂直于xy平面?
作者
Author:
Marineking    时间: 2021-9-22 11:56
ggdh 发表于 2017-9-20 18:37
理论上有效质量是个张量,你对角化这个矩阵,得到三个本征值和三个本征方向。应该就是文献中给的三个值。
...

我与楼主也有类似的问题,

“怎么做出特定某个方向的能带呢?我们平常计算出的不直接是晶体的沿特定K点路径的能带吗?”

怎么把高对称点的路径联系到具体晶体的方向呢?
作者
Author:
QFF    时间: 2022-3-17 11:26
请问一下,input第二行可以直接取0.01吗?第一行直接用KPOINTS文件里面的reciprocal格式吗?
作者
Author:
珊珊来迟    时间: 2022-4-14 09:35
QFF 发表于 2022-3-17 11:26
请问一下,input第二行可以直接取0.01吗?第一行直接用KPOINTS文件里面的reciprocal格式吗?

1.可以。这个值相当于stepsize,数值越小 考虑进去的k空间的范围越小。因为程序一共计算61个点,kcut=0.01*60
2. 对的




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3