1. alamode安装参考
https://zhuanlan.zhihu.com/p/145873368
Alamode 运行
- 执行alm
alm alm.in > alm.log
MODE = suggest的时候可以获得一个包含笛卡尔坐标的displacement patterns
MODE = optimize的时候需要一个数据集(DFSET),且得到xx.fcs(力常数),xx.xml(必要的信息) - 执行anphon
anphon anphon.in > anphon.log
ormpirun -np 16 anphon anphon.in > anphon.log
MODE = phonons的时候perform (harmonic) phonon calculations
MODE = RTA的时候conduct thermal conductivity calculations - plot
2. 使用LAMMPS和Alamode计算热导率、PDOS、弛豫时间等流程:
- 运行alm.in,生成
xxx.pattern_HARMONIC
和xxx.pattern_ANHARM3
- 需要注意:
NORDER = 2 # 1: harmonic, 2: cubic, ..
- 其他信息修改参照官网
- 需要注意:
- 用alamode自带的displace.py,生成harm1.lammps和cubic1.lammps
- 如果harm和cubic文件很多的话,几百几千个,这里可能会出现harm0001.lammps这种文件名,会报错。
- 用脚本运行lammps,in.sw,使harm1.lammps和cubic1.lammps 分别生成XFSET.harm1和XFSET.cubic1
- 最后使用alamode自带的extract.py,从XFSET.harm(XFSET.cubic)提取到DESET_harmonic(DFSET_cubic)中
- 修改alm.in中的MODE为optimize并添加一些信息,再次运行alm.in,会得到xxx.fcs和xxx.xml,
- 利用anphon通过xxx.xml会得到xxx.bands文件,然后通过自带的plotband.py可以计算声子色散;
- 同样获得pdos
- 具体参见官网
注意: - cutoff 的值可以从log中查看
3. Alamode在训练的时候出现的错误:
1 | terminate called after throwing an instance of 'std::bad_alloc' |
- 主要是由于运行内存不足;
- 总结两种原因,一种是运行的task太多导致,另一种是一个task的数据量太大了(比如这里选的截断半径太大)
4. Alamode中拟合力常数的时候 Fitting error (%) : 100
,找不到原因
- 截断半径的原因?怎么设置cutoff?
- 运行lammps的时候,只run了0步,因为例子力也是0步,会不会是这里的原因?