CASTEP的Linux 安装

CASTEP的Linux 安装较高的并行效率 支持 G vector parallelism k points parallelism 和 band parallelism

欢迎大家来到IT世界,在知识的湖畔探索吧!

CASTEP (http://www.castep.org/)是一款电子结构软件,可以计算Kohn-Sham框架下的平面波DFT,能够完成VASP能够完成的大部分计算。相比于VASP有几个优势

  1. 能够完成基本所有VASP能实现的功能和一些VASP不能实现的功能,比如path-integral MD
  2. 较高的并行效率,支持G-vector parallelism、k-points parallelism和band parallelism
  3. On-the-fly自动生成和泛函配套的赝势,所以大部分时候只要给元素和泛函就可以,省事
  4. 学术免费,这对于新成立的课题组极度友好,代码可以通过填表获取
    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

欢迎大家来到IT世界,在知识的湖畔探索吧!

看一下gfortran的版本

欢迎大家来到IT世界,在知识的湖畔探索吧!gfortran --version

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键就会继续装了…

CASTEP的Linux 安装

欢迎大家来到IT世界,在知识的湖畔探索吧!

3. 安装openmpi并行库

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

CASTEP的Linux 安装

欢迎大家来到IT世界,在知识的湖畔探索吧!tar -xzvf openmpi-4.0.4.tar.gzcd openmpi-4.0.4./configure --prefix=$HOME/openmpimake allmake install

打开.bashrc添加环境变量

gedit ~/.bashrc

在最后面加上,并保存

欢迎大家来到IT世界,在知识的湖畔探索吧!export PATH=$PATH:$HOME/openmpi/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/openmpi/lib

source一下~/.bashrc

source ~/.bashrc

看一下mpirun有没有装上

欢迎大家来到IT世界,在知识的湖畔探索吧!mpirun --version

CASTEP的Linux 安装

4. 安装CASTEP

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

CASTEP会自动探测默认的编译环境,输入

欢迎大家来到IT世界,在知识的湖畔探索吧!bin/arch

得到

CASTEP的Linux 安装

和之前安装的gfortran9 对得上

设置一下mkl的环境变量

export INCLUDE=/usr/include/mkl/

开始安装castep

欢迎大家来到IT世界,在知识的湖畔探索吧!make MATHLIBS=mkl10 FFT=mkl COMMS_ARCH=mpi SUBARCH=mpi

CASTEP的Linux 安装

分别输入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和常用工具二进制可执行文件添加到环境变量

欢迎大家来到IT世界,在知识的湖畔探索吧!gedit ~/.bashrc

添加以下到最后并保存

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

source一下

欢迎大家来到IT世界,在知识的湖畔探索吧!source ~/.bashrc

安装完成。

5. 安装验证

CASTEP准备了一套自带的安装检测,输入以下执行:

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

执行后会显示如下:

CASTEP的Linux 安装

没有问题。

另外这里也准备了一个很简单的例子,大致展示一下castep的使用方法。

不同于VASP,CASTEP运行需要两个文件:

  • .cell文件:记录结构、symmetry、k点等,对于VASP用户来说类似于POSCAR和KPOINT的综合
  • .param文件:设置DFT参数,比如泛函的选择、截断能、收敛精度等等,对于VASP的用户来说类似于INCAR。这里没有和POTCAR对等的文件因为CASTEP的赝势是on-the-fly自动生成的。

这里我们拿Li3PO4晶体做一个简单的结构优化,首先我们来生成.cell文件,首先下载一个.cif文件保存成LPO.cif,具体文件内容见附录1。

用自带的cif2cell工具将cif文件转换为castep的.cell结构文件,输入

欢迎大家来到IT世界,在知识的湖畔探索吧!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的Linux 安装

其中.castep文件给出了scf收敛过程的等信息,类似于VASP的屏幕输出和vasprun.xml文件,而-out.cell文件给出的是最终的结构,用VESTA打开可以进行可视化。

CASTEP的Linux 安装

关于CASTEP的使用,大部分时候可以用程序内置的文档,输入castep.mpi –help即可,以后有缘再说。希望这样的优秀的学术免费软件在国内能够有更大用户群!

6. 附录:

附件一、LPO.cif的内容

欢迎大家来到IT世界,在知识的湖畔探索吧!# generated using pymatgendata_Li3PO4_symmetry_space_group_name_H-M 'P 1'_cell_length_a 4._cell_length_b 5._cell_length_c 6._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.0_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. 0. 0.00000000 1 Li Li1 1 0.00 0. 0. 1 Li Li2 1 0. 0. 0. 1 Li Li3 1 0.00 0. 0. 1 Li Li4 1 0.00 0. 0. 1 Li Li5 1 0. 0. 0. 1 P P6 1 0. 0. 0. 1 P P7 1 0.00 0. 0.00000000 1 O O8 1 0. 0. 0. 1 O O9 1 0. 0. 0. 1 O O10 1 0. 0. 0. 1 O O11 1 0. 0. 0.00000000 1 O O12 1 0. 0. 0. 1 O O13 1 0. 0. 0. 1 O O14 1 0. 0. 0.00000000 1 O O15 1 0. 0. 0. 1

附件2、Li3PO4.cell

%BLOCK LATTICE_CARTang # angstrom units 4.0000 0.000000000000000 0.000000000000000 0.000000000000000 5.0000 0.000000000000000 0.000000000000000 0.000000000000000 6.0000%ENDBLOCK LATTICE_CART
%BLOCK POSITIONS_FRACP 0.0000 0.0000 0.0000 P 0.0000 0.0000 0.000000000000000 O 0.0000 0.0000 0.0000 O 0.0000 0.0000 0.0000 O 0.0000 0.0000 0.0000 O 0.0000 0.0000 0.000000000000000 O 0.0000 0.0000 0.0000 O 0.0000 0.0000 0.0000 O 0.0000 0.0000 0.000000000000000 O 0.0000 0.0000 0.0000 Li 0.0000 0.0000 0.000000000000000 Li 0.0000 0.0000 0.0000 Li 0.0000 0.0000 0.0000 Li 0.0000 0.0000 0.0000 Li 0.0000 0.0000 0.0000 Li 0.0000 0.0000 0.0000 %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文件

欢迎大家来到IT世界,在知识的湖畔探索吧!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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/120645.html

(0)
上一篇 17分钟前
下一篇 2025年 1月 7日 上午10:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信