ShengBTE軟件安裝(自存)
環(huán)境:Ubuntu 20.04 LTS, Python 3.9.16, GCC 9.4.0, intel編譯器oneAPI
注:thirdorder安裝可能需要Python和gcc版本降級,影響已安裝軟件(參考:thirdorder安裝報錯:error: command ‘/usr/bin/gcc‘ failed_DFT計算雜談的博客-CSDN博客),考慮拷貝已經編譯好的來使用,或者在已正常安裝的機器進行數據處理
經測試,可將thirdorder文件夾整體拷貝來使用,使用前將每個文件右鍵→屬性→權限→勾選“允許執(zhí)行文件”,需要的話可進一步把文件夾目錄添加至環(huán)境變量
?
安裝spglib庫(手動,其他如pip3等方法會缺少完整的文件和庫)
參考官網教程:How to install spglib C-API — Spglib v.2.1.0rc2
% sudo apt-get install git
% git clone https://github.com/spglib/spglib.git # 在目標的安裝路徑下進行
注:git自動下載的最新2.1.0版本在cmake安裝時會出現“No patch step for 'gtest-populate'”等報錯
解決辦法:https://github.com/spglib/spglib/archive/master.zip 安裝2.0.0版本
解壓至目標安裝路徑,重命名文件夾spglib
% cd spglib
% mkdir _build
% cd _build
% cmake -DCMAKE_INSTALL_PREFIX=.. .. # 安裝在上一級spglib文件夾
% cmake --build .
% cmake --install . --prefix ..
安裝完畢
添加環(huán)境變量:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/${spglib安裝路徑}/lib:/${spglib安裝路徑}/src?# lib中含libsymspg.a或libsymspg.so等文件,src中含spglib.h等文件
安裝ShengBTE
下載安裝包:ShengBTE - Downloads (翻墻) sousaw / shengbte — Bitbucket?(無需翻墻)
解壓ShengBTE-v1.x.x-xxx.tar.bz至目標路徑,按照README.md步驟安裝,也可參考:
ShengBTE簡單介紹、安裝與使用_shengbte安裝_DFT計算雜談的博客-CSDN博客
% cd ShengBTE
% cd Src
% cp ../arch.make.example arch.make
修改arch.make各路徑:
export FFLAGS=-traceback -debug -O2 -static-intel -qopenmp
(原arch.make.example中-static_intel需要改為-static-intel)
export LDFLAGS=-L/${spglib安裝路徑}/lib
export MPIFC=mpiifort
MKL=/opt/intel/oneapi/mkl/20xx.x.x/lib/intel64/libmkl_lapack95_lp64.a
/opt/intel/oneapi/mkl/20xx.x.x/lib/intel64/libmkl_intel_lp64.a
/opt/intel/oneapi/mkl/20xx.x.x/lib/intel64/libmkl_sequential.a
?/opt/intel/oneapi/mkl/20xx.x.x/lib/intel64/libmkl_core.a
保存arch.make文件
在Src目錄下安裝:
% make
安裝完畢,檢查ShengBTE文件夾的可執(zhí)行文件ShengBTE.x
添加環(huán)境變量:export PATH=$PATH:/home/simple/Cal/ShengBTE