最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

ShengBTE簡(jiǎn)單介紹、安裝與使用

2022-09-02 14:00 作者:IechoQ  | 我要投稿

ShengBTE





ShengBTE用迭代法求解聲子的完全線性化玻爾茲曼輸運(yùn)方程。這遠(yuǎn)遠(yuǎn)超出了廣泛使用的弛豫時(shí)間近似(relaxation-time ?approximation);在“正?!?準(zhǔn)動(dòng)量守恒)三聲子過(guò)程起相關(guān)作用的材料中,這種差異可能很重要。

通過(guò)使用來(lái)自從頭計(jì)算的輸入,ShengBTE產(chǎn)生具有預(yù)測(cè)能力的結(jié)果,而不需要擬合實(shí)驗(yàn)。

目前可以研究?jī)煞N體系:塊狀晶體材料及其納米線。前者主要的聲子散射機(jī)制是三聲子過(guò)程和同位素?zé)o序。而這些都可以在ShengBTE實(shí)現(xiàn):

同位素散射:使用田村公式(Tamura's formula)實(shí)現(xiàn)。公式中出現(xiàn)的狀態(tài)的投影振動(dòng)密度是用局部自適應(yīng)展寬算法計(jì)算的。

三聲子過(guò)程:從能量的一組三階導(dǎo)數(shù)計(jì)算出三聲子散射振幅。關(guān)鍵的一點(diǎn)是加強(qiáng)能量守恒,以便只考慮允許的過(guò)程。與解決問(wèn)題的其他方法相反,在ShengBTE中,這個(gè)問(wèn)題是使用局部自適應(yīng)的無(wú)參數(shù)方法來(lái)解決的。


作為輸入,ShengBTE需要一組二階和三階原子間力常數(shù),可能還需要固體的介電參數(shù)值。

這組變量通常是計(jì)算出來(lái)的從頭算DFT軟件包,例如VASP或者Quantum Espresso。在某些情況下,這些程序可以直接計(jì)算二階常數(shù);在其他情況下,需要Phonopy等輔助軟件來(lái)促進(jìn)這個(gè)過(guò)程。而ShengBTE的作者同時(shí)開(kāi)發(fā)了軟件thirdorder,在三階計(jì)算中扮演類(lèi)似的角色。


除了熱導(dǎo)率張量,ShengBTE還輸出以下量:

  • 取樣q點(diǎn)的聲子頻率。

  • 聲子群速度。

  • 晶格比熱。

  • 單位平均自由程的納米顆粒熱導(dǎo)率。

  • 能量守恒允許處理的三聲子部分,有時(shí)稱(chēng)為三聲子相空間。

  • 模式對(duì)三聲子相空間的貢獻(xiàn)。

  • 態(tài)的振動(dòng)密度:總量和投影。

  • 每模式對(duì)熱導(dǎo)率的貢獻(xiàn)。

  • 累積熱導(dǎo)率:平均自由程小于閾值的聲子對(duì)此量的貢獻(xiàn)。

  • 散射率:總量、區(qū)域貿(mào)易協(xié)定值、同位素和非諧波貢獻(xiàn)。

  • 沿塊體任意晶向切割的納米線的熱導(dǎo)率。

  • 總計(jì)和模式Grüneisen參數(shù)。


精確描述三聲子散射所需的能量的三階導(dǎo)數(shù)的數(shù)量很容易達(dá)到幾十萬(wàn)。因此,使用真實(shí)空間超級(jí)細(xì)胞方法進(jìn)行的直接計(jì)算會(huì)消耗大量計(jì)算資源。通過(guò)利用系統(tǒng)的對(duì)稱(chēng)性,thirdorder.py通??梢詫?wèn)題減少到幾百次DFT運(yùn)行。這意味著三階計(jì)算仍將是該過(guò)程中計(jì)算成本最高的部分,但對(duì)于單一化合物甚至中等大小的庫(kù)來(lái)說(shuō),這已經(jīng)是可以接受的計(jì)算量了。



在安裝前要檢測(cè)軟件安裝所需安裝環(huán)境,這里我采用自己在虛擬機(jī)上搭建的CentOS7系統(tǒng),在root賬戶(hù)下安裝好了Intel_parallel_studio和Anaconda3,并在此基礎(chǔ)上準(zhǔn)備安裝ShengBTE和thirdorder所需要的基本庫(kù)spglib。


安裝環(huán)境:

  • VMware Workstation Pro -16.0.0-16894299

  • CentOS Linux release 7.9.2009 (Core)

  • Linux version 3.10.0-957.el7.x86_64?

  • gcc version :10.2.0

  • icc ifort icpc mpiifort : Intel_parallel_studio_xe_2019

  • python3:Anaconda3-2021.11-Linux-x86_64



安裝軟件

圖片

spglib-1.9.7

ShengBTE-1.1.1

thirdorder-1.1.1

所需軟件安裝包下載地址:

spglib-1.9.7:

https://sourceforge.net/projects/spglib/

ShengBTE-1.1.1:

https://bitbucket.org/sousaw/shengbte/downloads/

thirdorder-1.1.1:

https://bitbucket.org/sousaw/thirdorder/downloads/




圖片

spglib安裝

首先解壓下載的spglib安裝包,并在解壓后的目錄中新建一個(gè)build目錄用做spglib的安裝目錄。

隨后執(zhí)行主目錄的configure文件,生成Makefile文件,然后對(duì)spglib進(jìn)行編譯安裝。



tar vzxf spglib-1.9.7.tar.gz

cd spglib-1.9.7/

mkdir build && cd build && pwd && cd ../

#建立安裝文件夾,并輸出安裝目錄路徑

./configure –prefix=/opt/ShengBTE/spglib-1.9.7/build

#在安裝目錄中生成Makefile文件,并make編譯

#注:/opt/ShengBTE/spglib-1.9.7/build是我此次安裝時(shí)的目錄,大家在具體安裝時(shí)請(qǐng)適當(dāng)調(diào)整。

make && make install


如果沒(méi)有報(bào)錯(cuò)的話(huà),spglib就編譯完成了,spgib的安裝主要是給ShengBTE準(zhǔn)備一個(gè)libsymspg.a文件,當(dāng)然在thirdorder安裝的時(shí)候還需要?jiǎng)e的文件,這些都可以在build目錄里找到,具體路徑要牢記,我們?cè)诤竺娴陌惭b中會(huì)經(jīng)常用到。



ShengBTE安裝

由于最新下載的ShengBTE安裝包是zip格式的壓縮包,則不再需要tar命令解壓,直接手動(dòng)解壓后拷貝到安裝目錄即可,在安裝前需要先準(zhǔn)備一個(gè)arch.make文件,而ShengBTE自帶一個(gè)arch.make.examp文件,可以在此基礎(chǔ)上修改并另存成arch.make文件再移動(dòng)到Src文件夾下。

在arch.make.example的基礎(chǔ)上,在前面編輯好libsymspg.a文件的路徑,由于當(dāng)前系統(tǒng)里安裝的編譯器為Intel_parallel_studio_xe_2019的mpiifort,所以在文件中也需要將mpif90改為mpiifort。

未修改的arch.make.example文件:

圖片

修改后另存為arch.make文件:


export FFLAGS=-traceback -debug -O2 -static_intel

export LDFLAGS=/opt/ShengBTE/spglib-1.9.7/build/lib/libsymspg.a?

#注:這里的/opt/ShengBTE/spglib-1.9.7/build是我自己安裝時(shí)的文件夾,具體安裝的時(shí)候請(qǐng)調(diào)整。

export MPIFC=mpiifort

#注:我所使用的編譯器為Intel_parallel_studio_xe_2019的mpiifort,具體安裝的時(shí)候如果報(bào)錯(cuò)不能識(shí)別mpiifort請(qǐng)根據(jù)安裝環(huán)境適當(dāng)調(diào)整

MKL=$(MKLROOT)/lib/intel64/libmkl_lapack95_lp64.a -Wl,--start-group \

$(MKLROOT)/lib/intel64/libmkl_intel_lp64.a? ? ? ? ? ?\

$(MKLROOT)/lib/intel64/libmkl_sequential.a? ? ? ? ? ?\

$(MKLROOT)/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm

export LAPACK=$(MKL)

export LIBS=$(LAPACK)


這里主要是補(bǔ)充了我們make編譯出的libsymspg.a文件的路徑,以及更改了編譯器為mpiifort,在下方也調(diào)整了MKL的配置,大家在安裝的時(shí)候可以復(fù)制上方的內(nèi)容,手動(dòng)更改libsymspg.a文件的路徑,然后可以嘗試進(jìn)行安裝。

接下來(lái)直接在Src文件夾內(nèi)執(zhí)行命令make就可以了


make

等待編譯完成后會(huì)在上級(jí)目錄中生成ShengBTE的執(zhí)行文件。

圖片

這里進(jìn)入Test-QE文件夾,按照軟件自帶的測(cè)試文件對(duì)已安裝的ShengBTE軟件進(jìn)行測(cè)試。




cd Test-QE

#which mpirun

mpirun -np 2 ../ShengBTE

這里我檢查了一下mpirun的位置,是因?yàn)樘摂M機(jī)里有著Intel_parallel_studio_xe_2019和openMPI等多版本的mpirun,大家自行測(cè)試的時(shí)候可以跳過(guò)這一段。

圖片

可以看到ShengBTE已經(jīng)可以正常運(yùn)行,并輸出計(jì)算結(jié)果。

圖片

之后我們便可以手動(dòng)修改環(huán)境變量,將編譯好的ShengBTE執(zhí)行文件添加到環(huán)境變量中,在~/.bashrc文件最后添加如下一行,其中$ShengBTE是代表的你安裝ShengBTE的文件路徑也就是ShengBTE執(zhí)行文件所在的目錄



export PATH=/opt/ShengBTE/ShengBTE:$PATH

#注:/opt/ShengBTE/ShengBTE是我此次安裝ShengBTE的路徑,具體安裝時(shí)請(qǐng)適當(dāng)調(diào)整

這樣就可以在提交任務(wù)運(yùn)行ShengBTE的時(shí)候不用再去找執(zhí)行文件的路徑或者把它拷貝到你計(jì)算的文件夾里去啦。當(dāng)你需要執(zhí)行計(jì)算的時(shí)候只需要輸入下面的命令就可以了,其中N代表你所使用的核數(shù)。


mpirun -np N ShengBTE |tee ?BTE.out



thirdorder安裝

我們將解壓后的thirdorder文件夾拷貝到安裝目錄,進(jìn)入目錄首并檢查setup.py文件

圖片

在文件中間提示我們要添加spglib.h文件和spglib的shared library 文件夾路徑到這個(gè)setup.py文件中,這時(shí)我們便根據(jù)之前已經(jīng)安裝好的spglib的安裝路徑補(bǔ)充進(jìn)去。

其中spglib.h文件在/opt/ShengBTE/spglib-1.9.7/build/include/spglib文件夾內(nèi),而shared library文件夾則為上層目錄中的lib文件夾,路徑為/opt/ShengBTE/spglib-1.9.7/build/lib,完善后的setup.py文件如下。

圖片

保存后我們?cè)诎惭b文件夾中執(zhí)行命令運(yùn)行?compile.sh進(jìn)行安裝


sh compile.sh

如果在安裝過(guò)程中出現(xiàn)例如gcc報(bào)錯(cuò)或lapacke.h或python.h等問(wèn)題,需要適安裝環(huán)境處理。這次安裝前已經(jīng)安裝好了Anaconda3包并配置好環(huán)境變量,安裝過(guò)程相對(duì)簡(jiǎn)單,具體安裝請(qǐng)參加其他教程。

安裝完成后文件夾內(nèi)會(huì)出現(xiàn)文件thirdorder_core.cpython-38-x86_64-linux-gnu.so,這個(gè)有和其他安裝教程做對(duì)比,可能會(huì)有一定不同,但接下來(lái)對(duì)所安裝的thirdorder進(jìn)行測(cè)試即可證明安裝是否成功。

首先我們配置一下thirdorder的環(huán)境變量,與ShengBTE類(lèi)似



export PATH=/opt/ShengBTE/thirdorder:$PATH

#注:/opt/ShengBTE/thirdorder是我此次安裝thirdorder的路徑,具體安裝時(shí)請(qǐng)適當(dāng)調(diào)整

我們找一個(gè)測(cè)試文件夾,在文件夾中準(zhǔn)備好一個(gè)VASP計(jì)算所需要的POSCAR文件,例如一個(gè)含有兩個(gè)Si原子的晶胞



cubic diamond

? ?5.5

?0.0? ? 0.5? ? ?0.5

?0.5? ? 0.0? ? ?0.5

?0.5? ? 0.5? ? ?0.0

?Si

? 2

Direct

?-0.125 -0.125 -0.125

? 0.125? 0.125? 0.130?


然后我們?cè)谖募A中執(zhí)行如下命令


thirdorder_vasp.py sow 4 4 4 -3

得到輸出界面如下

圖片

在測(cè)試文件夾內(nèi)同時(shí)也得到了24個(gè)3RD.POSCAR和一個(gè)SPOSCAR。代表我們thirdorder安裝成功并可以直接運(yùn)行。

圖片



4

ShengBTE和thirdorder的使用

在ShengBTE和thirdorder安裝文件中均帶有其“使用說(shuō)明書(shū)”,且都命名為README.md,里面有一些基本的安裝、使用介紹,尤其是一些參數(shù)的介紹,初學(xué)者在使用之前要認(rèn)真閱讀并理解,對(duì)以后遇到問(wèn)題有很大幫助,這也是對(duì)于軟件的最基礎(chǔ)的了解。



ShengBTE簡(jiǎn)單介紹、安裝與使用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
石家庄市| 桓台县| 政和县| 武隆县| 兴仁县| 永州市| 南陵县| 泰和县| 铅山县| 柳江县| 仙居县| 惠安县| 沈丘县| 曲阳县| 三河市| 鄂托克前旗| 凤庆县| 上饶市| 苍南县| 肥城市| 新竹市| 青铜峡市| 金秀| 瓮安县| 龙江县| 靖宇县| 和静县| 营山县| 广灵县| 抚远县| 葵青区| 个旧市| 乳源| 蒙山县| 河北区| 上思县| 襄樊市| 宕昌县| 垦利县| 绩溪县| 育儿|