CP2K教程系列之變胞結構優化(Pymatflow篇)

本系列CP2K教程是《CP2K菜根譚》的升級版,在舊版基礎上添加了如何結合Pymatflow工具簡化計算流程的內容。話不多說,本文將為您帶來CP2K系列教程中的變胞結構優化計算部分。

簡介

上一篇文章中,我們簡單介紹瞭如何在CP2K中進行幾何結構優化GEO_OPT的計算,我們需要知道的是,該類型的優化只會優化體系的粒子座標,而不會優化晶胞參數。本文便是進一步介紹如何在CP2K中進行體系的變胞結構優化。

在進行幾何結構優化時,我們在靜態計算的基礎上額外增加了一個MOTION輸入模塊。對於變胞幾何結構優化,我們同理需要該模塊來對幾何步參數進行設置,不過需要增加的section是CELL_OPT而不是GEO_OPT(注: 當MOTION/CELL_OPT/TYPE 設置為GEO_OPT時,我們需要同時給出GEO_OPT)。

下面是一個典型的描述變胞幾何結構優化離子運動的相關參數設置模塊的結構。

<code>&MOTION
  &CELL_OPT
      MAX_DR 0.003
      MAX_FORCE 0.00045
      MAX_ITER 200
      RMS_DR 0.0015
      RMS_FORCE 0.0003
      OPTIMIZER BFGS
      TYPE DIRECT_CELL_OPT
  &END CELL_OPT
  &PRINT
      &TRAJECTORY
      &END TRAJECTORY
  &END PRINT
&END MOTION/<code>

這裡CELL_OPT下與GEO_OPT下共有參數的意義是一樣的:

  • MAX_DR:當前和之前優化步的最大幾何改變的收斂判據。
  • MAX_FORCE:當前狀態的最大原子間受力的收斂判據。
  • MAX_ITER:最大的幾何優化步數。
  • RMS_DR:當前和之前優化步的幾何改變的均方根值。
  • RMS_FORCE:當前狀態的原子間受力均方根值。
  • OPTIMIZER:指定幾何優化使用的優化器,如BFGS、LBFGS、CG算法。
  • TYPE:指定幾何優化的類型。不同於GEO_OPT這裡的選擇可以是默認的DIRECT_CELL_OPT、GEO_OPT、MD三種之一。

這裡有必要解釋一下CELL_OPT的TYPE的三種選擇。變胞優化類型默認是DIRECT_CELL_OPT,此時程序會在每個離子步同時對晶胞參數以及原子座標進行優化,並會在 每一步都計算應力張量。

而當變胞優化類型設置為GEO_OPT的時候,離子步分為了兩個層級,頂層為晶胞參數優化層級,底層為原子座標優化層級(GEO_OPT),即在每一步優化晶胞參數時會進行一個GEO_OPT的計算(因此需要在MOTION中同時給出GEO_OPT部分)。應力張量會在每個晶胞優化步得到的優GEO_OPT後的結構上被計算從而給出。

而當CELL_OPT設置為MD類型時,與GEO_OPT類型的變胞優化類似,只不過計算應力張量的步驟不再是一個GEO_OPT過程,而是由一個分子動力學步驟來代替。同理這個時候需要將MD這個模塊在MOTION模塊中給出。

CELL_OPT對晶胞的優化需要根據體系的應力張量來進行處理,而TYPE設置為GEO_OPT和MD兩種類型其根本目的都是一樣的就是將獲取體系應力張量的步驟單獨進行計算,只不過途徑一個是進行一次原子座標優化,而另一個是進行一次分子動力學計算。

完整的輸入文件需要將GLOBAL和FORCE_EVAL模塊加入進來,參考靜態計算部分設置,要注意需要將GLOBAL中的RUN_TYPE設置為CELL_OPT

CP2K教程系列之靜態計算(Pymatflow篇)

使用Pymatflow高效完成任務

為了完成上述計算任務,只需使用Pymatflow一條命令即可:

<code>~$ matflow cp2k -r 2 --cutoff 300 --rel-cutoff 60 --kpoints-scheme "monkhorst-pack 3 3 3" -d nacl-cell-opt/<code>

上述命令會在當前路徑創建nacl-cell-opt目錄,然後在其下自動生成輸入文件並進行作業任務的提交。默認使用PBS作業調度器。

你也可以通過--server指定其它服務器類型,比如呂梁天河二號超算系統請使用--server llhpc參數。如果你只是想在本地單節點運行,請使用一下參數組合: --runopt genrun、--auto 0。

注意這裡使用了300Ry的截斷能,同時建議取60~70得REL_CUTOFF,這對於變胞優化比較重要。

簡單後處理:

<code>~$ pflow cp2k -r 2 -d nacl-cell-opt/<code>

往期文章

CP2K教程系列之變胞結構優化(Pymatflow篇)

Pymatflow是一個用於第一性原理模擬的工作流自動化管理軟件,目前支持的計算程序有VASP、Qutum ESPRESSO、Abinit、SIESTA、CP2K。

項目文檔地址:

此公眾號為Pymatflow開發者所運營,歡迎關注以獲取更多關於Pymatflow和第一性原理計算的精彩內容。


分享到:


相關文章: