@泛柏舟 的文章详细介绍了lammps计算声子态密度(PDOS)的几种方法,其中使用lammps输出原子速度轨迹,再采用樊哲勇老师所写matlab代码进行计算是相对可取的一种方法。
泛柏舟:通过lammps输出速度计算VODSzhuanlan.zhihu.com其中比较重要的部分是将lammps速度轨迹文件转换为樊哲勇matlab代码的输入文件,@泛柏舟 博文中也给出了相应的matlab代码,本文基于此版本进行了简化和改进,提升了其运算速度。
1.首先同样在Lammps中输出原子速度轨迹文件v_output.lammpstrj
只需在lammps代码中加入这样一行命令
dump 1 all custom 1 v_output.lammpstrj id type vx vy vz
2.利用matlab代码,将v_output.lammpstrj文件转换为v_out.txt文件,使其可以直接输入到樊哲勇代码中来
matlab代码如下:
function Rebuild_data(Nf,N)
% 将lammps输出的v_output.lammpstrj,转换为樊哲勇plot_pdos.m的输入文件
% Nf: 计算总时间步数
% N: 原子总数
try