Phonon主循环

https://www.quantum-espresso.org/Doc/developer_man/node5.html
主程序:phonon.f90
控制声子计算的参数:phcom.f90=control_ph
控制电声耦合的参数:elph.f90
trans = .t. 计算声子的指标
elph = .t. 计算电声耦合的指标
输入文件中控制这两个的量:
trans=.true.控制声子计算
electron_phonon=’ ’

  1. 读取输入并设置要计算的量的标志
    1.1) 读取 pw.x 写入的所有量
    1.2) 读取赝势数据

  2. 确定必须计算的内容。
    2.1) 如果还没有在disk上,计算 q 个点的网格和
    所有 q 点的所有modes并保存在disk上 (SD means save on disk)
    2.2) 如果要求image 并行化,则在images之间划分工作

  3. 进行恢复运行检查,检查 .xml 文件中已有的内容,并将以完成的部分设置为TRUE

  4. 开始对于q点的主循环:do_phonon.f90
    4.1) 计算所有不依赖于系统响应的量 initialize_ph()
    4.2)检查是否需要进行能带计算并进行。
    注意:以下几点仅在 q 为 Gamma 时执行。
    4.3) 在频率上开始循环
    4.3.1) 计算极化率作为 iu SD 的函数
    4.4) 计算对电场的响应
    4.5) 计算 epsilon 和 SD
    4.6)计算zeu和SD
    4.7) 计算电光系数和SD
    4.8) 计算 E 的二阶响应
    4.9) 计算拉曼张量和 SD
    结束注

  5. 在不可约表示上开始循环
    5.1) 计算对不可约表示的响应
    代码解析

 phqscf.f90:SUBROUTINE phqscf
 npert(:)每个不可约表示的扰动数
 对于每个不可约表示,我们计算波函数的变化
 5.1.1)积累对电子-声子的贡献
 5.1.2) 累积对动力学矩阵的贡献
 5.1.3)积累对zue的贡献
 5.1.4) SD 这个对动态矩阵的贡献和 zue 继续循环 
  1. 直到当前 q 点的所有表示都被计算出来
  2. 对动力学阵进行对角化(仅当此 q 的所有表示都已计算时)
  3. 对 k 求和,对能带上的电子-声子耦合求和以计算 gamma_mat(仅当此 q 的所有表示都已计算时)
    8)继续步骤4的循环,直到所有q点都计算完全。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值