Eastsheng's Wiki

Alamode

2020-11-21 23:07:16

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
    or
    mpirun -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_HARMONICxxx.pattern_ANHARM3
    1. 需要注意:NORDER = 2 # 1: harmonic, 2: cubic, ..
    2. 其他信息修改参照官网
  • 用alamode自带的displace.py,生成harm1.lammps和cubic1.lammps
    1. 如果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
2
3
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted (core dumped)
    1. 主要是由于运行内存不足;
    1. 总结两种原因,一种是运行的task太多导致,另一种是一个task的数据量太大了(比如这里选的截断半径太大)

4. Alamode中拟合力常数的时候 Fitting error (%) : 100,找不到原因

  • 截断半径的原因?怎么设置cutoff?
  • 运行lammps的时候,只run了0步,因为例子力也是0步,会不会是这里的原因?
Tags: Alamode