一個用Lammps導出熱流計算體系導熱系數(shù)的C++串行小程序
前言:C++菜雞第一個C++后處理程序,希望能對大家有所幫助。同時,大家發(fā)現(xiàn)問題也可以直接指出,極其歡迎文明、友善的交流討論。

程序目的:利用lammps通過EMD計算體系的導熱系數(shù)時,將lammps計算的熱流導出,利用此程序可以對導出的熱流進行處理得到熱流相關函數(shù)以及導熱系數(shù)。

程序動機:lammps軟件有計算自相關函數(shù)的命令(fix ave/correlate),如果只求整體導熱系數(shù)可以使用此命令。但是,對導熱系數(shù)進行分解的過程中需要求部分熱流與整體熱流的相關函數(shù)[1],此時可根據(jù)需要對本文程序進行修改來處理導出的熱流獲得分解的導熱系數(shù)。

程序運行所需文件:lammps產(chǎn)生的熱流文件(提供熱流),lammps運行的日志文件(提供運溫度、體積等參數(shù))

生成熱流文件的Lammps命令:
compute?????????J???all??heat/flux?ke??pe??ss
fix????????????heatflux?all?ave/time?1?1?5?c_J[1]?c_J[2]?c_J[3]?c_J[4]?c_J[5]?c_J[6]?file?heatflux.txt

程序內(nèi)容:
注:經(jīng)測試,此程序與lammps的fix ave/correlate計算結果有差異,其原因是lammps計算不同關聯(lián)時間的hac時采用了不同數(shù)量的數(shù)據(jù)用以平均。同時,本程序基于個人的case,請大家使用前結合自己的case仔細修改程序。

參考文獻:
[1]?H. Matsubara, G. Kikugawa, M. Ishikiriyama, S. Yamashita, T. Ohara, Equivalence of the EMD-and NEMD-based decomposition of thermal conductivity into microscopic building blocks, The Journal of chemical physics, 147 (2017) 114104.