網上有很多關于連接pos機的軟件,VaspCZ軟件詳細介紹的知識,也有很多人為大家解答關于連接pos機的軟件的問題,今天pos機之家(www.www690aa.com)為大家整理了關于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
連接pos機的軟件
一、VaspCZ軟件簡介
VaspCZ(Vasp Check by Zzd)是中科院上海應物所的張正德博士在讀博期間為提高科研效率而開發的Vasp輔助程序。該程序包含軟件部分和API部分。
https://github.com/zhangzhengde0225/VaspCZ(VaspCZ)
軟件部分提供了Linux字符串用戶界面,用于在超算平臺中快捷提交任務和檢查結果。包含三個模塊:結構優化和靜態計算(OS)模塊、過渡態計算(NEB)模塊和測試(Test)模塊。
API部分為軟件部分的底層,是自己寫的一個python庫。為有python基礎的研究者提供了調用相關功能的接口,可以實現自定義計算和編寫上層應用。庫名:VaspCZ.zzdlib,包含三個模塊:shell模塊、File模塊和Vasp模塊。API說明文檔。
https://github.com/zhangzhengde0225/VaspCZ/blob/master/docs/VaspCZ_python_API.md(API說明文檔)
求github star中,如果你覺得本項目不錯,煩請點擊項目右上角Star,感謝!~反饋調試中,如使用中遇到問題,敬請上報到drivener@163.com,再次感謝!~二、VaspCZ軟件安裝1. 安裝和卸載代碼下載:
git clone https://github.com/zhangzhengde0225/VaspCZ.git
或者訪問github VaspCZ 網址下載,下載后解壓:
unzip VaspCZ.zip
進入安裝程序目錄:
cd VaspCZ
默認VaspCZ安裝配置為:
程序安裝路徑說明VaspCZ軟件用戶根目錄/binlinux主程序vtst用戶根目錄/binVTST過渡態工具VaspCZ.zzdlib相應python3的site-packages目錄python API 接口Vasp.sh用戶根目錄超算平臺PBS系統提交任務的腳本,需要自行準備拷貝到該路徑下并命名為Vasp.shPseudoPotential用戶根目錄生成POTCAR所需的贋勢文件的文件夾,需要自行準備并拷貝到該路徑下,命名方式為~/PseudoPotential/[贋勢名]vcz用戶根目錄/bin/VaspCZVaspCZ主程序快捷鍵如需修改安裝配置,請修改install.py第6-10行對應設置再進行安裝。
安裝:
python3 install.py
輸入快捷鍵運行程序:
vcz
程序界面如圖:
出現程序界面,說明安裝成功。
如更新版本,安裝前請先卸載:
python3 uninstall.py
2. 錯誤提示(1) 權限不足
如果安裝時提示:
PermissionError: [Errno 13] Permission denied: \'VaspCZ\'
請使用管理員賬號用以下命令安裝。
sudo python3 install.py
如無管理員賬號,請給當前用戶安裝獨立的python后再安裝VaspCZ
源碼安裝用戶獨立python3教程
(2) 缺少python庫
VaspCZ運行需要的庫有:
numpy
如果提示:
ModuleNotFoundError: No module named \'numpy\'
使用pip3安裝相應庫即可:
pip3 install numpy
三、VaspCZ軟件使用和示例本章主要描述軟件部分的使用方法和示例,Python API接口部分僅描述功能,接口詳細信息參見API說明文檔。
1. VaspCZ 軟件部分 (主程序)軟件部分提供了Linux字符串用戶界面,用于在超算平臺中快捷提交任務和檢查結果。包含三個模塊:結構優化和靜態計算(OS)模塊、過渡態計算(NEB)模塊和截斷能K點測試(Test)模塊。
成功安裝后輸入快捷鍵即可進入用戶界面:
vcz輸入模塊對應的選項即可進入相應模塊。
(1) Opt and Sta 模塊該模塊提供了用于快捷進行結構優化(Optimization)計算和靜態(Static)計算的功能。
用戶界面:
包含功能:
功能標簽功能名稱1.1產生Vasp輸入文件(示例)1.2修改INCAR為靜態計算INCAR1.3產生贋勢文件POTCAR1.4產生網格文件KPOINTS1.5產生提交任務腳本Vasp.sh1.6僅保留Vasp輸入文件1.7前檢查并提交任務1.8后檢查并打印計算結果OS模塊功能示例:進入到項目自帶的examples:(請將"/home/zhangzd/bin"替換你的VaspCZ安裝路徑)
cd /home/zhangzd/bin/VaspCZ/examples/
OS模塊下1.1-1.7功能示例:進入1.1-1.7
cd 1.1-1.7
該文件夾為空文件夾。輸入:
vcz
1
而后輸入1-7數字可以執行相應功能
1.1 產生Vasp輸入文件(示例)會在該目錄下產生Vasp的5個輸入文件的示例:INCAR、POSCAR、POTCAR、KPOINTS和Vasp.sh
注意:生成Vasp.sh文件需要配置:Vasp.sh為PBS系統提交任務的腳本,因不同平臺的腳本內容會有所不同,請將適合該平臺的腳本正確拷貝到安裝目錄下,默認為:用戶根目錄,目錄結構如下所示:
用戶根目錄(或配置的Vasp.sh路徑)
|
| Vasp.sh
| ...(files)
1.2 修改INCAR為靜態計算的INCAR在當前路徑的結構優化INCAR上修改為靜態計算的INCAR。
修改項目:
SYSTEM=Static
IBRION=-1
NSW=1
# EDIFFG=-0.01
1.3 產生POTCAR輸入元素列表和贋勢類型產生POTCAR。
默認產生適配當前目錄下的POSCAR內的元素的POTCAR,默認贋勢類型為PBE。
注意:將從安裝VaspCZ時配置的贋勢路徑下讀取數據,默認為用戶根目錄。使用該功能請將贋勢文件夾命名為PseudoPotential并按如下目錄安裝。
用戶根目錄(或配置贋勢安裝路徑)
|
+---PseudoPotential
|
+---PBE
| |
| +---H
| +---He
| +---...(dirs)
|
+---PW91
+---LDA
+---US_LDA_GGA
+---...(dirs)
1.4 產生KPOINTS輸入網格和方法產生KPOINTS文件。
默認網格為:5 5 5。
默認方法為:Monkhorst 。與Vasp官網一致,方法可只輸入開頭的字母如:M,可選方法有:M(Monkhorst),A(Auto)
1.5 產生Vasp.sh輸入任務所需節點數、核數和任務名產生提交任務腳本Vasp.sh。
默認:節點數:1 核數:12 任務名:jobname
注意:將從VaspCZ安裝時候配置的Vasp.sh路徑下讀取數據,默認為用戶根目錄。使用該功能前請正確安裝Vasp.sh。
1.6 保留Vasp輸入文件刪除其他所有文件和文件夾,僅保留Vasp的5個輸入文件(INCAR、POSCAR、POTCAR、KPOINTS和Vasp.sh),用于計算出現問題,重新算。
選擇該功能后可輸入文件名添加需要額外保留的文件。
1.7 前檢查并提交任務準備好輸入文件后,進行前檢查,檢查INCAR、POSCAR和POTCAR是否匹配,檢查通過后將打印檢查信息,并提示是否提交任務。
OS模塊下1.8功能示例:退出1.1-1.7并進入1.8
cd ..
cd 1.8
該文件夾為計算好的Fe-Te體系不同情形下的結構優化結果。
輸入運行1.8功能:
vcz
1
8
1.8 檢查結果檢查當前目錄及所有子目錄下的結構優化和靜態計算的結果,如OUTCAR或者log中有錯誤(ERROR)或警告(WARNING)或提示所在位置。
輸出如圖所示:
檢查所有路徑計算是否完成,輸出當前路徑、完成狀態、離子步數和電子步數。
檢查完后,輸出當前路徑、能量、離子步數、磁矩、POSCAR和CONTCAR原子之間的距離、原子最大受力。
(2) NEB 模塊該模塊提供了便捷的NEB方法計算過渡態的功能。
用戶界面:
包含功能:
功能標簽功能名稱2.1一鍵結構優化到靜態計算2.2一鍵靜態計算到過渡態計算2.3過渡態振動分析2.4僅保留結構優化輸入文件2.5僅保留過渡態輸入數據2.6檢查過渡態受力情況2.7檢查過渡態各態原子距離2.8檢查過渡態計算結果2.9檢查過渡態振動分析結果過渡態計算的一般過程:先做結構優化,而后靜態計算,最后過渡態計算,如需再振動分析。目錄結果如下:
NEB計算目錄
| ...(files)
+---ini
| | ...(files)
| +---Opt
| | ...(files)
+---fin
| ...(files)
+---Opt
| ...(files)
在準備進行過渡態計算的目錄下,創建文件夾ini和fin分別代表初態和末態,在它們之下再分別創建Opt文件夾。
計算步驟如下:
1、ini/Opt/下進行初態的結構優化。
2、fin/Opt/下進行末態的結構優化。
3、ini/下在結構優化完成后進行靜態計算以獲得更準確的能量。
4、fin/下在結構優化完成后末態靜態計算。
5、當前路徑下在兩個靜態計算完成后進行過渡態計算。
6、如需,過渡態完成后當前路徑下進行振動分析。
NEB模塊功能示例:進入到VaspCZ安裝目錄examples文件夾下:
cd /home/zhangzd/bin/VaspCZ/examples
2.1 一鍵結構優化到靜態計算如前過渡態的一般過程所示,結構優化完成后,自動進行初末態的靜態計算。
進入2.1:
cd 2.1
該文件夾下包含一般性的過渡態計算結構,且ini/Opt和fin/Opt下計算已完成。(可用OS模塊的1.8功能檢查結果)
調用vcz,選擇功能2.1:
vcz
2
1
此時:選擇1為當前文件夾下的靜態計算到結構優化,選擇2為一鍵提交ini/和fin/文件下下的靜態計算。
輸入節點數、核數和文件名提交任務。默認為:
參數默認值節點數ini/Opt/Vasp.sh中讀取核數ini/Opt/Vasp.sh中讀取任務名ini/Opt/Vasp.sh中的最后一位改為S2.2 一鍵靜態計算到過渡態計算如前過渡態的一般過程所示,靜態計算完成后,自動進行過渡態計算。
進入2.2文件夾:
cd 2.2
該文件夾下包含一般性的過渡態計算結構,且ini/Opt、fin/Opt、ini/和fin/下計算已完成。(可用OS模塊的1.8功能檢查結果)
輸入vcz調用程序選擇功能2.2即可實現自動提交過渡態計算任務。
輸入節點數、核數和文件名提交任務。
默認參數為:
參數默認值節點數~初末態結構原子距離和/0.8,取奇數核數ini/Opt/Vasp.sh中讀取任務名ini/Opt/Vasp.sh中的最后一位改為N2.3 過渡態振動分析過渡態完成后,計算遷移原子在初態、過渡態和末態中三個自由度上的嘗試頻率。
使用初態和過渡態的嘗試頻率可以計算該遷移過程的有效率。
計算方法為:該原子在初態時三個自由度上的嘗試頻率之積 比 該原子過渡態時的兩個自由度上(共三個自由度,其中一個是虛頻)的頻率之積。
進入2.3文件夾:
cd 2.3
該文件夾下包含已經計算好的過渡態文件。(可用NEB模塊的2.8功能檢查結果)
調用vcz,并選擇功能2.3
輸入任務節點數、核數和是否包含末態振動提交任務。
默認參數為:
參數默認值節點數1核數8是否包含末態False提交任務后會創建vibanalysis文件夾,內再創建inistate, sadstate和finstate,計算不同結構中遷移原子的振動頻率(嘗試頻率)。
2.4 僅保留結構優化輸入文件刪除當前目錄下的所有文件和文件夾,僅保留ini/Opt/下和fin/Opt下的5個輸入文件(INCAR, POSCAR, POTCAR, KPOINTS和Vasp.sh)。
該功能用于過渡態計算錯誤時回滾到結構優化重新計算。
2.5 僅保留過渡態輸入數據刪除當前目錄下的文件和文件夾,僅保留ini/和fin/文件夾下所有內容。
該功能英語過渡態計算錯誤時回滾到過渡態重新計算。刪除后調用NEB模塊的2.2功能即可重新提交NEB任務。
2.6 檢查過渡態受力情況NEB計算完成或正在計算中,檢查每一離子步,每個IMAGE下的受力狀況。
例如:進入examples/2.6-2.9文件夾,調用vcz 2.6 功能:
cd 2.6-2.9
vcz
2
6
輸出如圖所示:
第一列為離子步,第二到四列為插入態IMAGE01、IMAGE02和IMAGE03在對應離子步下該結構中原子所受的最大力,第五列為前面的二到四列之和。如數據所示,第8步時所有插入態原子最大受力小于0.01 eV/?,達到INCAR中的收斂要求。
該功能用于檢查過渡態計算不收斂時較為合理的結構。例:假如INCAR中設置NSW=100,計算達100步未收斂,通常第100步并非合理的結構。借助此功能可找到最大受力和最小的步數,將該步的結構取出進行進一步分析和計算。
2.7 檢查過渡態各態原子距離NEB計算完成或NEB計算生成插入態后,檢查每個態之間原子的距離和。
例如:進入examples/2.6-2.9文件夾,調用vcz 2.7功能:
cd 2.6-2.9
vcz
2
7
選擇需要檢查的結構,默認為POS,代表POSCAR,可選為CONT,代表CONTCAR。
輸出如圖所示:
第一列是POSCAR或CONTCAR,第二列是IMAGE,第三列是原子距離和。其值來自于vtst工具,如第一行的值為:
dist.pl 00/POSCAR 01/POSCAR
計算前檢查POSCAR,用于確保插入過渡態準備,線性插入時各態距離和應相等。
計算后檢查CONTCAR,用于查看過渡態中是否有某個態弛豫到不可預測的結構導致過渡態不收斂。
2.8 檢查過渡態計算結果NEB計算完成后或計算中,檢查當前目錄及所有子目錄下的NEB計算結果(忽略靜態計算和結構優化),如OUTCAR或者log中有錯誤(ERROR)或警告(WARNING)或提示所在位置,檢查完成后輸出結果。
例如:進入examples/2.6-2.9文件夾,調用vcz 2.8功能:
cd 2.6-2.9
vcz
2
8
輸出如圖所示:
每一個有NEB計算的路徑都會輸出計算結果。第一列為不同的IMAGE,第二列為原子最大受力,第三列為該IMAGE總能,第四列為以IMAGE00作為參考原點是的能量差,最大能量差即為勢壘,對應的IMAGE為鞍點。
如數據所示,該擴散過程(fcc Fe的自擴散)的擴散勢壘為1.39 eV.
2.9 檢查過渡態振動分析結果NEB振動分析結束后,檢查當前目錄及所有子目錄下的原子振動頻率(嘗試頻率)結果并計算有效頻率。
例如:進入examples/2.6-2.9文件夾,調用vcz 2.9功能:
cd 2.6-2.9
vcz
2
9
輸出如圖所示:
如數據所示,[True, True, False] 說明該子目錄下包含初態和鞍點態振動分析,不包含末態。
第一個1f 2f 3f為遷移原子在初態結構中三個方向的振動,振動頻率分別為6.59, 6.17和4.99 THz。第二個1f 2f 3f為遷移原子在鞍點態結構中三個方向的振動,振動頻率分別為6.92, 4.67和5.81 THz,其中f/i表示第三個方向上為虛頻。
該擴散過程原子的有效頻率為:初態三個振動之積比鞍點態兩個振動之積(排除虛頻),結果為: 6.28 THz。
本例是fcc Fe的自擴散,擴散前后結構等價,初態和末態相同,因此無需算末態振動。
通常體系中對稱性不高,如有2個以上缺陷時,初態和末態是不等價的,此時反向方擴散的勢壘就是以末態能量為原點時鞍點的能量,對應的有效頻率為末態三個振動之積比鞍點態兩個振動之積(排除虛頻)。(在NEB模塊2.3功能中輸入參數包含末態時,2.9功能會自動計算反方向擴散的有效頻率。)
(3) Test 模塊通常,一個體系在大規模進行計算和分析之前,需要進行截斷能測試和K點測試確定合適的ENCUT設置和KPOINS設置。
該模塊提供了快捷的Vasp截斷能測試和K點測試功能。
用戶界面:
包含功能:
功能標簽功能名稱3.1截斷能測試3.2K點測試Test模塊功能示例:進入到VaspCZ安裝目錄examples文件夾下:
cd /home/zhangzd/bin/VaspCZ/examples
3.1 截斷能測試做截斷能測試的目的是選取一個合適的截斷能,截斷能決定了Vasp計算過程中被作為贋勢處理的電子波函數的范圍。截斷能太小,計算得到的體系總能不可信,截斷能太大,計算中迭代需要花費大量資源。
準備好輸入文件(INCAR,POSCAR,POTCAR,KPOINTS和Vasp.sh)后,輸入參數即可快捷提交截斷能測試任務。
例如:進入examples/3.1文件夾,調用vcz 3.1功能:
cd 3.1
vcz
3
1
輸入參數有:任務名前綴、節點數、核數和截斷能列表。
默認參數為:
參數默認值任務名前綴ENCUT_節點數1核數8截斷能列表200,250,300,350,400,450,500,550,600,650,700注意:截斷能列表以英文逗號隔開。
提交任務后會以截斷能為名創建文件夾,在每個文件夾內修改INCAR文件中的ENCUT為對應值,而后提交結構優化任務,任務名為任務名前綴+截斷能。
計算完成后,可以使用OS模塊的1.8功能檢查各截斷能時體系的總能,體系總能之差小于0.001 eV時,該截斷能可選為合適的截斷能。
3.2 K點測試做K點測試的目的是選取一個KPOINS設置,K點決定了Vasp計算過程中倒空間的網格分隔點數,體系越大,合適的K點網格一般越小。
準備好輸入文件(INCAR,POSCAR,POTCAR,KPOINTS和Vasp.sh)后,輸入參數即可快捷提交K點測試任務。
例如:進入examples/3.2文件夾,調用vcz 3.2功能:
cd 3.2
vcz
3
2
輸入參數有:任務名前綴、節點數、核數和K點列表。
默認參數為:
參數默認值任務名前綴ktest_節點數1核數8K點列表111,333,555,777,999注意:K點列表以英文逗號隔開。
提交任務后會以K點為名創建文件夾,在每個文件夾內KPOINTS文件中的網格為K點,而后提交結構優化任務,任務名為任務名前綴+K點。
計算完成后,可以使用OS模塊的1.8功能檢查各K點時體系的總能。
2. VaspCZ python APIpython API部分為有python基礎的研究者提供了本項目同通用功能的接口。通過庫便捷調用相關功能,以實現自定義高通量計算。庫名:VaspCZ.zzdlib,包含:shell模塊,File模塊和Vasp模塊
安裝和導入安裝軟件時自動安裝庫,安裝說明見本說明第三章。
導入:進入python3交互界面或在.py文件中導入庫:
import VaspCZ.zzdlib as zzd
此處只列出各模塊功能,詳細接口說明見API文檔
(1) shell模塊標簽代碼功能1.1VaspCZ.zzdlib.getshellResult(code)返回shell命令控制臺輸出的結果,由每一行組成一個元素的列表。(2) File模塊標簽代碼功能2.1VaspCZ.zzdlib.File.openFile(path, [mode=\'r\', data=None])讀取文件或保存文件2.2VaspCZ.zzdlib.File.substitudeData(data, keywords, newline, [mode=\'default\'])傳入文件數據,給出關鍵詞和新行,默認情形搜索出現第一次出現關鍵詞的行并替換,mode不等于default是替換全部出現關鍵字的行,返回替換后的數據。2.3VaspCZ.zzdlib.File.getLine(data,keywords)給出關鍵詞,招傲有關鍵詞的第一行并返回,返回為字符串和所在的行索引。該功能用于獲取特定想信息或者用于判斷。2.4VaspCZ.zzdlib.getAllline(data, keywords)給出關鍵詞,返回所有帶有關鍵詞的所有行,返回為列表。該功能用于選擇性獲得文件特定行。2.5VaspCZ.zzdlib.getline(data)獲取文件數據中是空位的索引。2.6VaspCZ.zzdlib.Vaspsh_path獲取VaspCZ軟件默認的PBS提交任務腳本Vasp.sh所在的文件路徑。(3) Vasp模塊標簽代碼功能3.1VaspCZ.zzdlib.Vasp.decode_POSCAR(POSCAR)解碼POSCAR,返回一個基矢、原子種類、原子數目、每個原子的位置(取前4位)3.2VaspCZ.zzdlib.Vasp.modifyPOSCARele(oldele, new_ele)修改當前路徑下POSCAR的原子種類,適合批量修改。3.3VaspCZ.zzdlib.Vasp.gennerate_POTCAR([elements=None, pseudotype=\'PBE\'])在當前路徑生成POTCAR文件,需要在安裝中正確是指贋勢文件目錄,默認贋勢文件目錄為用戶根目錄。贋勢目錄名為:PseudoPotential。3.4modifyPOSCARSelective_Dynamics(data, indexes)根據輸入的數據和索引修改POSCAR,添加Selective Dynamics, 索引所在的位置設置為T T T, 其他位置設置為 F F F3.5modifyINCARforvibrationanalysis修改當前目錄的INCAR為振動分析的INCAR并保存.3.6VaspCZ.zzdlib.Vasp.checkInputsVasp前檢查。提交計算任務前,檢查當前目錄Vasp的各項輸入文件,將計算信息打印到控制臺,包含:計算路徑、SYSTEM、截斷能、ISIF、離子更新方法、是否有磁性、電子收斂標準、離子收斂標準、原子種類個數、POTCAR原子類型、KPOINTS方法、網格大小、任務名、節點數與核數、是否加急。3.7VaspCZ.zzdlib.Vasp.checkandqsub([need_input=True])檢查前檢查并提交任務。內部集成了上一個檢查輸入文件函數,使用中推薦該函數。3.8VaspCZ.zzdlib.Vasp.keepInputs([addfile=[], workdir=\'./\'])刪除工作目錄下的文件,僅保留輸入文件。默認保留文件為:INCAR,POSCAR,POTCAR, KPOINTS和Vasp.sh3.9VaspCZ.zzdlib.Vasp.checkNEBperiod遍歷當前路徑下的所有文件夾,如果發現有neb計算,判斷ini和fin分別的計算周期,并返回四、其它說明該項目已免費開源,開源許可。
歡迎開發和補充,如用于商業用途請注明出處。
如遇bug,敬請將說明、提示代碼、截圖等信息上報到drivener@163.com。
如對程序有疑問,請聯系drivener@163.com。
作者水平有限,代碼有諸多不足之處,還望斧正。
當前版本: 1.0.1
以上就是關于連接pos機的軟件,VaspCZ軟件詳細介紹的知識,后面我們會繼續為大家整理關于連接pos機的軟件的知識,希望能夠幫助到大家!
