CASTEP的Linux 安裝

2021-02-21 學術之友

CASTEP (http://www.castep.org/)是一款電子結構軟體,可以計算Kohn-Sham框架下的平面波DFT,能夠完成VASP能夠完成的大部分計算。相比於VASP有幾個優勢

能夠完成基本所有VASP能實現的功能和一些VASP不能實現的功能,比如path-integral MD

較高的並行效率,支持G-vector parallelism、k-points parallelism和band parallelism

On-the-fly自動生成和泛函配套的贗勢,所以大部分時候只要給元素和泛函就可以,省事

學術免費,這對於新成立的課題組極度友好,代碼可以通過填表獲取http://www.castep.org/CASTEP/GettingCASTEP

劣勢主要是國內的文檔,特別是中文文檔嚴重不足。本文記錄一下CASTEP並行版的安裝過程(CASTEP 19.1 linux學術版本安裝教程)。

本文的linux版本、編譯環境版本如下:

Linux發行版本:Ubuntu20.04

CASTEP版本: 19.11

編譯器:gfortran9.3.0

並行庫:openmpi


安裝前建議閱讀安裝指南,見代碼主目錄下的README.INSTALL

1. 安裝gfortran,g++等編譯器

打開terminal,輸入

sudo apt install gfortransudo apt install g++sudo apt install gccsudo apt install build-essentialsudo apt install python

看一下gfortran的版本

gfortran是9.3.0的,別的版本應該也可以。

2. 安裝intel-mkl數學庫

Intel-mkl的官方網址:

https://software.intel.com/content/www/us/en/develop/articles/installing-intel-free-libs-and-python-apt-repo.html

打開terminal,輸入:

sudo bashcd /tmpwget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUBapt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUBrm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUBexitsudo wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.listsudo apt install intel-mkl

如果出現以下內容,按esc鍵就會繼續裝了…

3. 安裝openmpi並行庫

Openmpi的官方網址:https://www.open-mpi.org/software/ompi/v4.0/

tar -xzvf openmpi-4.0.4.tar.gzcd openmpi-4.0.4./configure --prefix=$HOME/openmpimake allmake install

打開.bashrc添加環境變量

在最後面加上,並保存

export PATH=$PATH:$HOME/openmpi/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openmpi/lib

source一下~/.bashrc

看一下mpirun有沒有裝上


4. 安裝CASTEP

tar -xzvf CASTEP-19.11.tar.gzcd CASTEP-19.11

CASTEP會自動探測默認的編譯環境,輸入

得到

和之前安裝的gfortran9 對得上

設置一下mkl的環境變量

export INCLUDE=/usr/include/mkl/

開始安裝castep

make MATHLIBS=mkl10 FFT=mkl COMMS_ARCH=mpi SUBARCH=mpi

分別輸入mkl的blas和mkl的fftw庫位置

/usr/lib/x86_64-linux-gnu/mkl/usr/include/mkl/fftwmake MATHLIBS=mkl10 FFT=mkl COMMS_ARCH=mpi SUBARCH=mpi installmake MATHLIBS=mkl10 FFT=mkl COMMS_ARCH=mpi SUBARCH=mpi install install-tools

這裡最終得到了一個在bin下面的文件加,叫做bin/linux_x86_64_gfortran9.0--mpi,裡面有castep的可執行文件castep.mpi

把CASTEP和常用工具二進位可執行文件添加到環境變量

添加以下到最後並保存

export PATH=/home/ziheng/Desktop/CASTEP-19.11/bin/linux_x86_64_gfortran9.0--mpi:$PATH

source一下

安裝完成。

5. 安裝驗證

CASTEP準備了一套自帶的安裝檢測,輸入以下執行:

make MATHLIBS=mkl10 FFT=mkl COMMS_ARCH=mpi SUBARCH=mpi check

執行後會顯示如下:

沒有問題。

另外這裡也準備了一個很簡單的例子,大致展示一下castep的使用方法。


不同於VASP,CASTEP運行需要兩個文件:

這裡我們拿Li3PO4晶體做一個簡單的結構優化,首先我們來生成.cell文件,首先下載一個.cif文件保存成LPO.cif,具體文件內容見附錄1。

用自帶的cif2cell工具將cif文件轉換為castep的.cell結構文件,輸入

cif2cell LPO.cif -p CASTEP

得到Li3PO4.cell文件,這裡稍微修改一下,讓它自動識別空間群,並讓它使用on-the-fly生成的norm-conserving贗勢,具體見附件2。

繼續建立Li3PO4 .param文件進行計算參數設置設置,這裡用LBFGS方法進行一個結構優化,具體見附件3。

準備好運行Li3PO4 .param和Li3PO4.cell後開始執行castep計算,用4線程計算,輸入:

mpirun -np 4 castep.mpi Li3PO4

這裡注意castep不會屏幕輸出,而是輸出在.castep文件裡,可以隨時打開查看。

計算結束後得到以下幾個文件:

其中.castep文件給出了scf收斂過程的等信息,類似於VASP的屏幕輸出和vasprun.xml文件,而-out.cell文件給出的是最終的結構,用VESTA打開可以進行可視化。

關於CASTEP的使用,大部分時候可以用程序內置的文檔,輸入castep.mpi –help即可,以後有緣再說。希望這樣的優秀的學術免費軟體在國內能夠有更大用戶群!

6. 附錄:

附件一、LPO.cif的內容

data_Li3PO4_symmetry_space_group_name_H-M   'P 1'_cell_length_a   4.92244800_cell_length_b   5.29640200_cell_length_c   6.17613600_cell_angle_alpha   90.00000000_cell_angle_beta   90.00000000_cell_angle_gamma   90.00000000_symmetry_Int_Tables_number   1_chemical_formula_structural   Li3PO4_chemical_formula_sum   'Li6 P2 O8'_cell_volume   161.01966865_cell_formula_units_Z   2loop_ _symmetry_equiv_pos_site_id _symmetry_equiv_pos_as_xyz  1  'x, y, z'loop_ _atom_site_type_symbol _atom_site_label _atom_site_symmetry_multiplicity _atom_site_fract_x _atom_site_fract_y _atom_site_fract_z _atom_site_occupancy  Li  Li0  1  0.50941700  0.84452000  0.00000000  1  Li  Li1  1  0.00941700  0.15548000  0.50000000  1  Li  Li2  1  0.50836300  0.32643400  0.25287300  1  Li  Li3  1  0.00836300  0.67356600  0.24712700  1  Li  Li4  1  0.00836300  0.67356600  0.75287300  1  Li  Li5  1  0.50836300  0.32643400  0.74712700  1  P  P6  1  0.50142000  0.82426100  0.50000000  1  P  P7  1  0.00142000  0.17573900  0.00000000  1  O  O8  1  0.10701000  0.31350900  0.79286200  1  O  O9  1  0.60212600  0.10350800  0.50000000  1  O  O10  1  0.18519100  0.81839600  0.50000000  1  O  O11  1  0.68519100  0.18160400  0.00000000  1  O  O12  1  0.60701000  0.68649100  0.29286200  1  O  O13  1  0.10701000  0.31350900  0.20713800  1  O  O14  1  0.10212600  0.89649200  0.00000000  1  O  O15  1  0.60701000  0.68649100  0.70713800  1

附件2、Li3PO4.cell

%BLOCK LATTICE_CARTang    # angstrom units   4.922448000000000   0.000000000000000   0.000000000000000   0.000000000000000   5.296402000000000   0.000000000000000   0.000000000000000   0.000000000000000   6.176136000000000%ENDBLOCK LATTICE_CART
%BLOCK POSITIONS_FRACP 0.501420000000000 0.824261000000000 0.500000000000000 P 0.001420000000000 0.175739000000000 0.000000000000000 O 0.107010000000000 0.313509000000000 0.792862000000000 O 0.602126000000000 0.103508000000000 0.500000000000000 O 0.185191000000000 0.818396000000000 0.500000000000000 O 0.685191000000000 0.181604000000000 0.000000000000000 O 0.607010000000000 0.686491000000000 0.292862000000000 O 0.107010000000000 0.313509000000000 0.207138000000000 O 0.102126000000000 0.896492000000000 0.000000000000000 O 0.607010000000000 0.686491000000000 0.707138000000000 Li 0.509417000000000 0.844520000000000 0.000000000000000 Li 0.009417000000000 0.155480000000000 0.500000000000000 Li 0.508363000000000 0.326434000000000 0.252873000000000 Li 0.008363000000000 0.673566000000000 0.247127000000000 Li 0.008363000000000 0.673566000000000 0.752873000000000 Li 0.508363000000000 0.326434000000000 0.747127000000000 %ENDBLOCK POSITIONS_FRAC
%BLOCK SPECIES_POTNCP%ENDBLOCK SPECIES_POT
SNAP_TO_SYMMETRYSYMMETRY_GENERATE
%BLOCK EXTERNAL_PRESSURE0 0 0 0 00%ENDBLOCK EXTERNAL_PRESSURE

附件三、Li3PO4.param文件

task                 : geometryoptimizationxc_functional        : PBE spin_polarized       : false fix_occupancy        : false metals_method        : dm mixing_scheme        : pulay max_scf_cycles       : 1000 cut_off_energy       : 700 eVopt_strategy         : speed page_wvfns           : 0 num_dump_cycles      : 0 backup_interval      : 0 geom_method          : LBFGS geom_max_iter        : 500mix_history_length   : 20 finite_basis_corr    : 0fixed_npw            : truewrite_cell_structure : truewrite_checkpoint     : nonewrite_bib            : falsewrite_otfg           : falsewrite_cst_esp        : falsewrite_bands          : falsewrite_geom           : falsebs_write_eigenvalues : falsecalculate_stress     : true

相關焦點

  • 走進Linux(下)——arch linux的安裝教程
    New走進Linux(下)——arch linux的安裝教程一、為什麼選擇arch Linux?相比Debian/Ubuntu、SUSE、RedHat/Fedora 等其他發行版, Arch Linux 屬於輕量級選手,其簡單的設計讓它容易被輕鬆擴展和配置成為任何想要的系統類型。
  • Linux編譯安裝PaddlePaddle
    ://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz(谷歌有關),故而使用者需要保證電腦可以科學上網。-DWITH_FLUID_ONLY=ON -DWITH_GPU=ON -DWITH_TESTING=ONmake -j$(nproc)通過上面的方式操作後:接著安裝PaddlePaddle並運行線性回歸test_fit_a_line.py程序測試一下PaddlePaddle安裝成功則可pip install build/python/dist/
  • 「linux專欄」linux系統中如何安裝Chrome瀏覽器?
    安裝完Redhat8的作業系統之後,默認只有Mozilla Firefox的火狐瀏覽器,那麼我們該如何安裝其他的瀏覽器,比如說Chorme瀏覽器呢?「linux專欄」linux中yum網絡源與本地源雙配置,總有一個適合你或者是
  • Linux系統安裝部署NodeJS服務
    那麼怎麼部署安裝呢,下面為大家簡單介紹怎麼搭建。下載解壓$ xz -d node-v10.15.0-linux-x64.tar.xz$ tar xf node-v10.15.0-linux-x64.tar配置環境變量
  • 如何在Linux系統安裝Apollo
    安裝Apollo軟體,需要提前準備環境:JDK1.8,mysql5.7安裝資料庫:參照- Linux系統安裝mysql資料庫.docx文件即可,安裝JDK1.8(1)將jdk-8u211-linux-x64.tar.gz文件拷貝到相關目錄,執行解壓命令:tar –zxf jdk-8u211-linux-x64.tar.gz(2)配置環境變量:vim /etc/profile編輯如下內容:
  • Linux常用命令之rpm安裝命令
    Linux 安裝時,除了幾個核心模塊以外,其餘幾乎所有的模塊均通過RPM 完成安裝。RPM 有五種操作模式,分別為:安裝、卸載、升級、查詢和驗證。1)用RPM安裝軟體包,最簡單的命令如下:1 #rpm -i example.rpm 安裝 example.rpm 包;2 #rpm -iv example.rpm 安裝 example.rpm 包並在安裝過程中顯示正在安裝的文件信息;3 #rpm -ivh example.rpm 安裝 example.rpm 包並在安裝過程中顯示正在安裝的文件信息及安裝進度
  • Linux安裝Docker與Docker常用命令
    #Debian or Ubuntu安裝virt-whatapt-get install -y virt-what#查看虛擬化架構virt-what請先確保您的Linux內核大於3.1,並且不是OpenVZ虛擬化架構,下面開始進行安裝DockerCentOS 7安裝Docker先卸載舊版Docker
  • 應用:Linux中安裝Visual Studio Code
    這裡通過國外網站在Linux發行版中安裝Visual Studio Code的步驟進一步幫助大家了解該應用編輯器。  # unzip /tmp/vscode/VSCode-linux-x64.zip -d /opt/  注意:如果沒有安裝unzip,首先需要通過軟體包管理器安裝它。如果運行Ubuntu,使用apt-get,如果運行Fedora、CentOS可以用dnf或yum安裝。
  • Linux下軟體安裝方法
    文件在/usr/local/src目錄解壓縮2、/configure:這個步驟是建立makefile文件,通常開發者會寫一個script來檢查你的linux環境、相關軟體屬性,這個步驟的相關信息應該要參考一下該目錄下的INSTALL或README相關的文件。
  • win10安裝linux子系統(wsl)
    win10安裝linux子系統(wsl)1、打開Microsoft Store方式一:在電腦左下角打開方式二:在電腦左下角的搜索裡>裡輸入Microsoft Store打開Microsoft Store後,搜索Linux即可:然後點擊獲取Linux應用:一般選擇安裝ubuntu:選擇好應用後,按提示安裝,一般都安裝在c盤。
  • windows和linux下安裝conda
    此版本允許您使用任何python安裝創建新的conda環境,然後將新版本的Python安裝到這些環境中。 這些環境仍被認為是「Anaconda安裝」conda命令是管理Anaconda安裝的主要接口。linux:以Ubuntu系統為例,進入到你的終端而後使用cd命令切換至下載文件所在文件夾最後使用如下命令.
  • 另闢蹊徑,老機安裝Linux系統
    因此要讓老機運行起來更流暢,為其安裝低資源佔用的Linux系統也是一個不錯的選擇。現在基於Linx核心的系統有很多,而使用AOSP協議的桌面安卓系統是其中的佼佼者,它不僅和我們使用安卓平板、手機非常類似(可以兼容大多數安卓應用),並且硬體要求極低,因此我們可以在舊電腦上安裝這類系統使之重新煥發活力。
  • Linux 下軟體安裝詳解
    在Windows下安裝軟體時,只需用滑鼠雙擊軟體的安裝程序,或者用Zip等解壓縮軟體解壓縮即可安裝。在Linux下安裝軟體對初學者來說,難度高於Windows下軟體安裝。下面我就詳細講解Linux下如何安裝軟體。     先來看看Linux軟體擴展名。
  • 在Linux系統中安裝使用WPS的方法
    比較其他的linux辦公套件,如 LibreOffice、 OpenOffice,其最大優勢在於,Kingsoft Office能最好的兼容微軟的Office(譯註:版權問題?了解下wps和Office的歷史問題,可以得到一些結論)。因此如果你需要在 windows和linux平臺間交互,Kingsoft office是一個很好的選擇。
  • 在 Linux 上安裝和使用 Docker | Linux 中國
    安裝由於 Ubuntu Server 16.04 缺少圖形界面,我會完全通過命令行來安裝和使用 Docker。在你安裝前,你需要更新 apt 然後進行必要的升級。一定要注意,若系統內核升級了,你會需要重啟系統。因此最好挑個伺服器能重啟的時間進行。
  • RedHat Linux8.0圖形方式安裝入門教程
    聲明:如要轉載請註明轉載自www.linuxcn.org。另外,本教程純粹是給絕對新手看的,老鳥就免了。準備工作:    我這裡介紹的redhat8.0的安裝方法是用光碟,以圖形方式安裝。
  • 百度網盤出linux版本了,ubuntu系統下安裝試用
    現在手頭沒有安裝中標麒麟或者Fedora, CentOS之類的linux系統。就在Ubuntu的系統進行相關的安裝試用。直接在百度網盤官網就可以下載到linux安裝包,安裝包為RPM.打開ubuntu的終端,輸入如下的指令#sudo apt-get install alien安裝上面的軟體完成上面的安裝軟體,進入下載了RPM百度網盤軟體包的目錄,使用下面的命令開始進行百度網盤rpm包轉換為ubuntu系統可安裝的DEB安裝包
  • 全新 Kali Linux 系統安裝指南
    使用 dd 命令創建 USB 啟動工具該文章假設可使用 USB 設備來引導安裝系統。注意儘可能的使用 4GB 或者 8GB 的 USB 設備,並且其上的所有數據將會被刪除。本文作者在使用更大容量的 USB 設備在安裝的過程中遇到了問題,但是別的人應該還是可以的。不管怎麼說,下面的安裝步驟將會清除 USB 設備內的數據。
  • 國產linux發行版本——deepin作業系統安裝方法
    大家好,歡迎回到萬魔寺,前兩期,和大家一起學習了ubuntu系統的安裝,今天我們一起來學習一下國產linux作業系統deepin的安裝方法。deepin系統是由武漢深之度科技有限公司開發,在網絡上口碑比較好的一款linux國產發行版。
  • 使用PXE+Kickstart無人值守批量安裝Linux系統
    我之前都是使用光碟鏡像來安裝Linux系統的方法,坦白講,該方法適用於只安裝少量Linux系統的情況。如果生產環境中有數百臺伺服器都需要安裝系統,這種方式就不合時宜了。這時,我們就需要使用PXE + TFTP +FTP + DHCP + Kickstart服務搭建出一個無人值守安裝系統。