计算化学公社

标题: 关于vasp计算两态之间的跃迁偶极矩 [打印本页]

作者
Author:
Theor_Comp    时间: 2018-6-6 10:39
标题: 关于vasp计算两态之间的跃迁偶极矩
请问,vasp如何计算两态之间的跃迁偶极矩以及非绝热耦合的大小呢?多谢了
作者
Author:
万里云    时间: 2018-6-6 19:49
参见科大赵瑾老师组郑奇靖博士的程序:
https://github.com/QijingZheng/vaspwfc

作者
Author:
Theor_Comp    时间: 2018-6-14 13:35
万里云 发表于 2018-6-6 19:49
参见科大赵瑾老师组郑奇靖博士的程序:
https://github.com/QijingZheng/vaspwfc

十分感谢您。我试过了,通过该程序可以获得wfc_i.vasp和wfc_r.vasp,那请问,如何得到Hamiltonian的real和imaginary部分呢?
作者
Author:
万里云    时间: 2018-6-15 10:28
Theor_Comp 发表于 2018-6-14 13:35
十分感谢您。我试过了,通过该程序可以获得wfc_i.vasp和wfc_r.vasp,那请问,如何得到Hamiltonian的real ...

哈密顿量的对角元是能级,非对角元是波函数内积(<t,i|t+1,j>-<t+1,i|t,j>)/2dt。

翻一翻他的程序就能找到。
作者
Author:
Theor_Comp    时间: 2018-6-15 14:38
万里云 发表于 2018-6-15 10:28
哈密顿量的对角元是能级,非对角元是波函数内积(-)/2dt。

翻一翻他的程序就能找到。

您好!能否稍微详细介绍下呢,我想分别输出elelctronic hamiltonian的real part和imaginary part,麻烦了。
作者
Author:
万里云    时间: 2018-6-16 10:02
Theor_Comp 发表于 2018-6-15 14:38
您好!能否稍微详细介绍下呢,我想分别输出elelctronic hamiltonian的real part和imaginary part,麻烦了 ...

https://github.com/QijingZheng/VaspBandUnfolding
看那个nac.py。
作者
Author:
Theor_Comp    时间: 2018-6-16 10:36
万里云 发表于 2018-6-16 10:02
https://github.com/QijingZheng/VaspBandUnfolding
看那个nac.py。

谢谢。这个程序我试了,运行之后得到的是eig.txt和nac.txt,不知如何输出hamiltonian矩阵呢?
作者
Author:
万里云    时间: 2018-6-16 15:25
Theor_Comp 发表于 2018-6-16 10:36
谢谢。这个程序我试了,运行之后得到的是eig.txt和nac.txt,不知如何输出hamiltonian矩阵呢?

nac.txt中的数据乘以-ihbar,对角元加上能量,就是哈密顿量了。
作者
Author:
Theor_Comp    时间: 2018-6-16 15:58
万里云 发表于 2018-6-16 15:25
nac.txt中的数据乘以-ihbar,对角元加上能量,就是哈密顿量了。

不太清楚具体如何操作,能否麻烦您再介绍下吗?实在是麻烦您了
另外,怎么单独获得real和imaginary部分的输出呢?
作者
Author:
万里云    时间: 2018-6-16 20:17
本帖最后由 万里云 于 2018-6-16 20:38 编辑
Theor_Comp 发表于 2018-6-16 15:58
不太清楚具体如何操作,能否麻烦您再介绍下吗?实在是麻烦您了
另外,怎么单独获得real和imaginary部分 ...
(, 下载次数 Times of downloads: 39)


操作流程:


  1. &namdpara
  2. bmin = 哈密顿量能带下限
  3. bmax = 哈密顿量能带上限
  4. nbands = WAVECAR中有多少能带
  5. isw = 0
  6. potim = 分子动力学步长
  7. rundir = './wave'
  8. /
复制代码
4. 运行vasp_nac.x。



作者
Author:
Theor_Comp    时间: 2018-6-16 23:54
万里云 发表于 2018-6-16 20:17
操作流程:

十分感谢您!
作者
Author:
Theor_Comp    时间: 2018-6-17 10:15
万里云 发表于 2018-6-16 20:17
操作流程:

十分谢谢。通过使用以上代码后,确实可以输出0与1之间。不知是否存在这样的代码,通过vasp的MD之后得到的xdatcar,里面包含了多个坐标,分别对每个坐标的构型进行计算,可以得到多个wavecar,之后对它们均进行以上处理,同时输出多个_re.dat和多个_im.dat?
作者
Author:
万里云    时间: 2018-6-17 15:06
Theor_Comp 发表于 2018-6-17 10:15
十分谢谢。通过使用以上代码后,确实可以输出0与1之间。不知是否存在这样的代码,通过vasp的MD之后得到的 ...

用shell脚本就能完成,不算很复杂。
作者
Author:
Theor_Comp    时间: 2018-6-17 16:43
万里云 发表于 2018-6-17 15:06
用shell脚本就能完成,不算很复杂。

自己不是太熟悉脚本这块。所有有两个问题:

1. 不知是否有可以参考的脚本,可实现以上目的?

2. 另外,通过您的代码得到的_re.dat和_im.dat 与 通过郑博士nac.py的脚本得到的eig.txt和nac.txt有什么区别呢?
作者
Author:
万里云    时间: 2018-6-17 22:43
Theor_Comp 发表于 2018-6-17 16:43
自己不是太熟悉脚本这块。所有有两个问题:

1. 不知是否有可以参考的脚本,可实现以上目的?

1. PYXAID这个程序中有类似的脚本,可以拿来修改;
2. _re.dat和_im.dat是PYXAID格式,程序本身也是拿郑博士的程序改的。联系就是上面提到的,nac.txt中数据乘以-ihbar,对角元再加上eig.txt,就是_re.dat和_im.dat。
作者
Author:
Theor_Comp    时间: 2018-6-18 17:44
本帖最后由 Theor_Comp 于 2018-6-18 17:46 编辑
万里云 发表于 2018-6-17 22:43
1. PYXAID这个程序中有类似的脚本,可以拿来修改;
2. _re.dat和_im.dat是PYXAID格式,程序本身也是拿郑 ...

谢谢您的耐心解答!
1. 我试过了pyx那个,不知是否存在与vasp接口的pyx? 网上是与qe接的
2. 发现进行scf计算后得到的wavecar非常大,当需要几十或几百个wavecar进行nac时,硬盘不够用怎么办呀?(有的一个wavecar就好几个G)
再次感谢您!
作者
Author:
万里云    时间: 2018-6-18 21:11
Theor_Comp 发表于 2018-6-18 17:44
谢谢您的耐心解答!
1. 我试过了pyx那个,不知是否存在与vasp接口的pyx? 网上是与qe接的
2. 发现进行sc ...

1.与VASP的接口要自己写,算矩阵元的程序就是nac_vasp.x,另外需要一个driver,可以用shell script来写。

2.可以在driver中把不会再用到的波函数删掉。
作者
Author:
Theor_Comp    时间: 2018-6-18 21:41
万里云 发表于 2018-6-18 21:11
1.与VASP的接口要自己写,算矩阵元的程序就是nac_vasp.x,另外需要一个driver,可以用shell script来写。 ...

这个driver是什么呀,怎么学着写呢?自己真是这方面的小白,希望您见谅这么多问题
作者
Author:
万里云    时间: 2018-6-19 15:02
Theor_Comp 发表于 2018-6-18 21:41
这个driver是什么呀,怎么学着写呢?自己真是这方面的小白,希望您见谅这么多问题

driver就是一个程序,负责分割XDATCAR,创建文件夹,准备VASP输入文件,运行VASP,生成nac_vasp.x输入文件,调用nac_vasp.x,清理wavecar。

怎么写,就只能百度+照着葫芦画瓢了。
作者
Author:
Theor_Comp    时间: 2018-6-19 16:29
万里云 发表于 2018-6-19 15:02
driver就是一个程序,负责分割XDATCAR,创建文件夹,准备VASP输入文件,运行VASP,生成nac_vasp.x输入文 ...

可以根据不同语言的葫芦,画另外语言的瓢吗。比如参照pyx的python程序来写这个driver,具有可实施性吗?或者说必须得用shell script呢?python在调用.x那个程序时容易实现吗?
作者
Author:
万里云    时间: 2018-6-19 20:20
Theor_Comp 发表于 2018-6-19 16:29
可以根据不同语言的葫芦,画另外语言的瓢吗。比如参照pyx的python程序来写这个driver,具有可实施性吗?或 ...

算法通用。

python处理文件没有shell方便。
作者
Author:
Theor_Comp    时间: 2018-6-19 21:25
万里云 发表于 2018-6-19 20:20
算法通用。

python处理文件没有shell方便。

多谢多谢!
作者
Author:
Theor_Comp    时间: 2018-6-24 21:16
Theor_Comp 发表于 2018-6-19 21:25
多谢多谢!

作者
Author:
Theor_Comp    时间: 2018-6-24 21:17
Theor_Comp 发表于 2018-6-19 21:25
多谢多谢!



作者
Author:
Theor_Comp    时间: 2018-6-24 21:18
万里云 发表于 2018-6-19 20:20
算法通用。

python处理文件没有shell方便。

您好!还得再请教您下:

bmin = 哈密顿量能带下限
bmax = 哈密顿量能带上限   -------这个能带上下限怎么确定呀??
nbands = WAVECAR中有多少能带  -------WAVECAR不可读,如何确定nbands呀??
isw = 0  --------这个是什么??
potim = 分子动力学步长  ------这个是需要设置成与基态MD时的INCAR中一致吗??

十分感谢!
作者
Author:
万里云    时间: 2018-6-27 09:29
Theor_Comp 发表于 2018-6-24 21:18
您好!还得再请教您下:

bmin = 哈密顿量能带下限
bmin = 哈密顿量能带下限
bmax = 哈密顿量能带上限   -------这个能带上下限怎么确定呀??

看你要研究载流子在哪些带间的运动。

nbands = WAVECAR中有多少能带  -------WAVECAR不可读,如何确定nbands呀??

如果编译VASP时没启用ScaLAPACK,nbands就是INCAR中的NBANDS。启用ScaLAPACK,需要先试着跑一步,查看OUTCAR。

isw = 0  --------这个是什么??

用第0步和第0+1步的波函数计算第0步的耦合系数。以此类推。

potim = 分子动力学步长  ------这个是需要设置成与基态MD时的INCAR中一致吗??

是的。
作者
Author:
Theor_Comp    时间: 2018-6-28 22:28
万里云 发表于 2018-6-27 09:29
看你要研究载流子在哪些带间的运动。

其中,bmin一般是取1,而bmax一般取nbands的数值吗??
十分感谢!
作者
Author:
万里云    时间: 2018-6-29 09:29
Theor_Comp 发表于 2018-6-28 22:28
其中,bmin一般是取1,而bmax一般取nbands的数值吗??
十分感谢!

一般不这么取,太占硬盘了。
作者
Author:
Theor_Comp    时间: 2018-6-29 09:42
万里云 发表于 2018-6-29 09:29
一般不这么取,太占硬盘了。

那您的经验是?
作者
Author:
万里云    时间: 2018-6-29 14:56
Theor_Comp 发表于 2018-6-29 09:42
那您的经验是?

就是上面提到的,要研究载流子在哪些态间的运动,就指定哪些带。


作者
Author:
maoxinxina    时间: 2018-7-3 15:42
万里云 发表于 2018-6-6 19:49
参见科大赵瑾老师组郑奇靖博士的程序:
https://github.com/QijingZheng/vaspwfc

想问下怎么安装这个PYXAID软件?谢谢了。
作者
Author:
万里云    时间: 2018-7-3 19:40
maoxinxina 发表于 2018-7-3 15:42
想问下怎么安装这个PYXAID软件?谢谢了。

这个就麻烦了……系统编译器太旧了也不行。

我自己都没装成功过。
作者
Author:
maoxinxina    时间: 2018-7-4 14:47
万里云 发表于 2018-7-3 19:40
这个就麻烦了……系统编译器太旧了也不行。

我自己都没装成功过。

嗯嗯,谢谢了




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