本帖最后由 qlyfe 于 2022-11-17 23:40 编辑
最近因课题需要转做第一性原理计算了,想着在自己的笔记本电脑上面安装VASP和CP2K来练习,就干脆写个帖子做个记录。由于对计算机和Linux系统比较小白,有问题还望各位老师同学批评指正。笔者的笔记本是联想小新air14plus,cpu是amd的6800hs,系统为win11 22h2,用的是wsl下的Ubuntu 22.04。安装过程参考了sob老师的两个帖子和vasp wiki上的安装指南:
VASP的最简单的安装方法:http://sobereva.com/455
CP2K第一性原理程序在CentOS中的简易安装方法:http://sobereva.com/586
VASP wiki-Personal computer installation:https://www.vasp.at/wiki/index.php/Personal_computer_installation
1. 在win11中安装Ubuntu 22.04
首先以管理员身份运行win11的终端,在终端中输入
系统就会自动下载安装wsl和Ubuntu 22.04,安装好后需要重启电脑,重启过后会弹出Ubuntu的界面让用户设置Linux系统下的用户名和密码,再执行
- sudo apt update
- sudo apt upgrade
复制代码 之后就可以愉快的使用Ubuntu了,一个技巧是可以将终端的默认配置文件改为Ubuntu(企鹅图标的那个),这样以后在文件夹下先点右键再点击“在终端中打开”就会自动在当前路径下打开Linux的命令窗口,这样就很方便。
可以在Ubuntu系统内创建一个bin文件夹,方便把软件都安装在里面
2 编译VASP 6.3.2
根据VASP wiki网页中的说明,在Ubuntu 22.04下编译VASP 6.3.X的版本需要以下几个库
可以使用apt直接安装这些库,命令如下。相比官方的命令这里增加了libfftw3-mpi-dev cmake pkg-config,是为了方便后续编译cp2k,如果只编译vasp就不需要后三个了。
- sudo apt install build-essential gfortran libopenblas-dev libopenmpi-dev libscalapack-openmpi-dev libfftw3-dev libhdf5-openmpi-dev libfftw3-mpi-dev cmake pkg-config
复制代码 在win11系统下vasp源码所在的文件夹里右键打开Linux终端,将vasp.6.3.2.tgz复制到Ubuntu系统内并解压,再将vasp.6.3.2/arch/makefile.include.gnu_omp拷贝出来到vasp.6.3.2中改名为makefile.include- cp vasp.6.3.2.tgz ~/bin/
- cd ~/bin
- tar zxvf vasp.6.3.2.tgz
- cp vasp.6.3.2/arch/makefile.include.gnu_omp makefile.include
复制代码 接下来对makefile.include中## Customize as of this point!之后的部分进行修改,按照wiki上https://www.vasp.at/wiki/index.php/Personal_computer_installation一步一步修改即可
- # BLAS and LAPACK (mandatory)
- #OPENBLAS_ROOT ?= /path/to/your/openblas/installation
- BLASPACK = -lopenblas
- # scaLAPACK (mandatory)
- #SCALAPACK_ROOT ?= /path/to/your/scalapack/installation
- SCALAPACK = -lscalapack-openmpi
- # FFTW (mandatory)
- #FFTW_ROOT ?= /path/to/your/fftw/installation
- LLIBS += -lfftw3 -lfftw3_omp
- INCS += -I/usr/include
- # HDF5-support (optional but strongly recommended)
- CPP_OPTIONS+= -DVASP_HDF5
- #HDF5_ROOT ?= /path/to/your/hdf5/installation
- LLIBS += -L/usr/lib/x86_64-linux-gnu/hdf5/openmpi/ -lhdf5_fortran
- INCS += -I/usr/include/hdf5/openmpi/
复制代码 修改完以后保存makefile.include,就可以编译VASP了
- cd ~/bin/vasp.6.3.2
- make DEPS=1 -j
复制代码 并行编译的速度是很快的,在笔者的笔记本电脑上编译的过程中也没有出现错误,编译完成后在vasp.6.3.2/bin目录下出现了vasp_gam、vasp_ncl、vasp_std,再在~/.bashrc末尾设置一下,VASP就可以使用了。
- export PATH=$PATH:~/bin/vasp.6.3.2/bin
- ulimit -s unlimited
- export OMP_NUM_THREADS=1
复制代码
3 编译CP2K v2022.2
在GitHub https://github.com/cp2k/cp2k/releases/上下载cp2k-2022.2.tar.bz2,复制到Ubuntu系统中并解压,之后进入cp2k-2022.2/tools/toolchain/下
- cp cp2k-2022.2.tar.bz2 ~/bin/
- cd ~/bin
- tar jxvf cp2k-2022.2.tar.bz2
- cd cp2k-2022.2/tools/toolchain/
复制代码 再执行以下命令运行toolchain,这里gcc和openmpi会默认使用编译vasp前用apt安装好的,cmake、openblas、fftw也都可以使用系统中已经安装的。
- ./install_cp2k_toolchain.sh --with-sirius=no --with-plumed=install --with-cmake=system --with-openblas=system --with-fftw=system
复制代码 经过漫长的等待后toolchain运行完成,会显示Done!并告诉用户接下来该怎么做,首先将cp2k-2022.2/tools/toolchain/install/arch/下的所有文件拷贝到cp2k-2022.2/arch/中
- cp ~/bin/cp2k-2022.2/tools/toolchain/install/arch/* ~/bin/cp2k-2022.2/arch/
复制代码 然后source一下toolchain/install/下的setup
- source ~/bin/cp2k-2022.2/tools/toolchain/install/setup
复制代码 之后就可以编译CP2K了
- cd ~/bin/cp2k-2022.2/
- make -j 8 ARCH=local VERSION="ssmp psmp"
复制代码再经过一段漫长的编译过程后,cp2k-2022.2/exe/local/下出现了cp2k.ssmp、cp2k.sopt、cp2k.psmp、cp2k.popt,再在~/.bashrc末尾设置一下,CP2K就也可以使用了。 - source ~/bin/cp2k-2022.2/tools/toolchain/install/setup
- export PATH=$PATH:~/bin/cp2k-2022.2/exe/local
复制代码
|