实用split_dos脚本处理DOSCAR会产生几十个DOS文件,下面bash和MATLAB配合即可实现预期功能(sumdos.sh)
list="9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 29 30 31 32 33 34 35 36 38 39 40 41 42 43 44 45 "
rm -rf proc.m
for i in $list
do
cat >>proc.m<<EOF
load DOS$i;
EOF
done
cat >>proc.m<<EOF
total=zeros(301,4);
total(:,1)=DOS9(:,1);
EOF
for i in $list
do
cat >>proc.m<<EOF
total(:,2:4)=total(:,2:4)+DOS$i(:,2:4);
EOF
done
cat >>proc.m<<EOF
total
EOF
/home/yyhxwhd/bin/matlab -nodisplay < proc.m > proc.dat
grep -A 302 total proc.dat | tail -301
红色部分可能需要修改
运行 sh sumdos.sh
https://wap.sciencenet.cn/blog-276702-829651.html
上一篇:
SIESTA结构优化程序修改下一篇:
siesta-NetCDF 编译