loading...
TDPW学习(未完待续...)
Published in:2021-12-30 |

TDPW-study

参考:@https://tdap-help.github.io/TDAPW/

注意事项:

td_ht=2只有TDKS轨道演化的时候提高收敛性的

TDPAW是基于QE(平面波)的含时第一性原理软件

一.理论

  对比TDAP
  @http://tdap.iphy.ac.cn/  ,TDPW是基于平面波基基底`{G}`来应用TDDFT,在平面波基底下,含时的Kohn-Sham(TDKS)态
  基本理论如下:
捕获 2 3

二.输入

1.参数表

para td_ht td_ht1

2.更改占据数

1
cp pwscf.NAnorm.dat pwscf.TDPOP.in

找到要更改的第k个
然后执行 tdpw.x pw.MoS2.scf.in

记得将&CONTROL里面的tddft_is_on设置成true

3.nstep的选择

1)edt:默认10au,精确:20au (看模拟的现象有多长视情况而定) 1 a.u.=4.8378 * 10^-17 s

2)nstep:不用过分考虑,TDAPW可以续算

A.如果是scf/nscf默认是1
B.如果是md默认是50
nstep

3)mstep:默认500,是将edt分成mstep份,按照每一份演化

4)dt:(针对离子)固定原子情况下,dt=0;其他情况下,dt=edt

4.系综

NVT:如果只关心结构不关心时间演化,用NVT随便跑,跑的时间越长越好,采样间隔越大越好

NVE:NVT比NVE多了热浴的影响,采样更快,NVE跑出的构型不多,完全孤立,体系类似平衡位置振荡

三.输出

输出文件 ### 1. out文件如何查看 1

四.注意事项

1.输出磁矩

在ecutrho=4ecutwfc时(默认情况), 输出的pwscf.x.magKS.dat文件,每个能带满足 Sx^2+Sy^2+Sz^2 = 1
当ecutrho不等于4
ecutwfc时,之前tdpw.x输出的pwscf.x.magKS.dat文件,每个能带满足 Sx^2+Sy^2+Sz^2 = 1c, c近似于(4ecutwfc/ecutrho)^3
之前的计算结果可以通过人为归一化得到Sx^2+Sy^2+Sz^2 = 1
本邮件中的版本, ecutrho取任何值时, 每个能带均满足 Sx^2+Sy^2+Sz^2 = 1

bug原因: 密度和波函数的实空间网格点在ecutrho不等于4ecutwfc时不相同,之前的程序采用实空间波函数计算 积分\inf psi(r)^Spsi(r) dr时, 积分时dr用的密度网格点的dr.

2.更正

仅增加在noncolinear时输出各个KS/TDKS波函数的自旋, 输出单位Bohr mag/cell, 乘上占据数和k点权重等于total magnetization.
默认输出td_outputS=T, 关闭输出设置td_outputS=F

输出文件格式同能级文件

1
2
3
4
5
6
pwscf.x.magKS.dat
pwscf.x.magTDKS.dat
pwscf.y.magKS.dat
pwscf.y.magTDKS.dat
pwscf.z.magKS.dat
pwscf.z.magTDKS.dat

3.新功能

新功能:

    1. 新增加了一些参数: https://tdap-help.github.io/TDAPW/20-Input/2020-04-18-Parameter/        
    2. 默认不会输出向0时刻的基矢投影, 设置 cal_pop0 = T 进行计算      
    3. 指定DFT任意k点、能级的占据数: td_constrained = T;  TDDFT的初态占据数反转: pwscf.TDPOP.in或续算     
    4. 输出KS/TDKS波函数到pwscfN.save/pwscfNtdks.save: nwevc = N,  punchks/punchtdks = T, 可使用QE的后处理模块进行额外计算, i.e. wannier中心拟合      
    5. k点电流: td_current_k = T     
    6. 考虑tdks交叉项对电荷密度的贡献: use_tdks = T (同时建议设置td_ht=2 提高收敛性), (如果要得到震荡的Dipole信号此处要设为T)    
    7. 长度规范 tefield = T, GaugeField = F, 电场的空间分布: emaxpos, eopreg, 见QE    
    8. 速度规范(default) GaugeField = T   
    9. 进行BO计算/scf/relax/nscf/..., tddft_is_on = F   
    10. 在考虑SOC时输出电流 current_debug = T   
    11. 磁场 &SYSTEM  B_field(i)=0.1, i=1,3  /   
    12. 让程序保存数据正常结束计算:在运行目录创建TDPWSTOP文件; 让程序暂时休息不停止, 创建TDPWSLEEP, 删除TDPWSLEEP文件后,自动恢复计算   
    13. 续算, 前提是程序正常结束/创建TDPWSTOP让程序结束, 不要删除任何文件, 输入参数restart_mode = 'restart', 程序会续写投影等占据数文件.    
    14. 长度规范: theta(-t)电场: LastDiagonE, kick/delta电场: LastDiagonExp, 同时只设置TDEFIELD.in的第二行(如果设置第三行及以后,则会在模拟过程加光)   
    15. 速度规范: theta(-t)电场: LastDiagonA, 同时只设置TDEFIELD.in的第二行(如果设置第三行及以后,则会在模拟过程加光)    
    16. 计算Dipole td_outputD = T, 计算角动量td_outputL=T   
    17. Dipole/角动量的原点默认由emaxpos, eopreg定义, 也可以通过 use_origin    =   T, originx=0.5, originy=0.5, originz=0.5 指定   
    18. debug性质输出轨道角动量lorbm = T, 参数和计算模块同QE,计算的性质暂时不明朗    
    19. BUG修复: TDEFIELD.in 内容的行数不用设置和nstep一致, 缺少的行会自动补上0, 不再报错终止.   
    20. Image并行计算/RP-TDAP计算,复制tdpw.x为manytdpw.x, 脚本EXEC用manytdpw.x, 以文件名区分是否Image并行. k点并行支持同QE.
    21. 选用不同的磁结构,然后进行固定轨迹演化
    <img width="597" alt="微信图片_20211125120309" src="https://user-images.githubusercontent.com/76439954/143377876-aae9fb91-1730-4271-918b-16af4269f6d5.png">
微信图片_20211125120309

4.常见问题

1)

问: 还有 use_origin 参数设置成 F 的含义是?
答: 默认计算时,光场的V=eEr, Dipole =\int rho(r)rdr, ….等F(r)的计算,需要定义原点,默认use_origin =F
use_origin =F的含义是是使用QE的 emaxpos和eopreg定义原点和r的取值
use_origin =T通过人为输入originx,originy,originz设置原点位置,分数坐标,范围【0-1】
等价的:
使用 emaxpos = 0.95 !max position
eopreg = 0.1 !emaxpos+eopreg min position
或者use_origin=T;originx=0.5
originy=0.5
originz=0.5
微信图片_20210420161914

2)

QE的pp.x可以直接画各个轨道的自旋空间分布,使用:

1
2
3
nwevc        =  N
punchks = F
punchtdks = F

输出各个时刻的ks/tdks即可以自旋的空间分布,积分就是mag.EIG文件

微信图片_20210420162054

3)

TDPW模拟过程中dt的设置

  1. 如果不设置dt,默认dt=20au,显然不适合跑tddft
  2. 设置dt=edt是电子原子一起演化,即Ehrenfest计算
  3. 设置dt=1E-15或0.0,为固定原子位置,只演化电子坐标,为TDDFT计算

5.增加功能(2021/11/25)

微信图片_20211125120148
Prev:
关于constrained-magnetization的一些问题
Next:
利用vesta建模关于MoS2-graphene的异质结
catalog
catalog