发布于: 2024-10-5最后更新: 2024-10-5字数 00 分钟

type
status
date
slug
summary
tags
category
icon
password
Property
Oct 5, 2024 02:56 PM
URL
💡
说明: 系统:Ubuntu 22.04
CPU:AMD EPYC 7k62
VASP版本:6.4.3
openmpi版本:4.1.1
 
以下是安装 VASP 的步骤及其目的
步骤
目的
1. 安装tmux
防止断连和避免关闭窗口的失误
2. 安装 gcc 和 gfortran
提供编译 VASP 所需的 C 和 Fortran编译器
3. 安装 openmpi
提供并行计算支持
4. 安装 OpenBLAS、Scalapack、FFTW
提供VASP所需的数学库支持
5. 编译 VASP
构建 VASP 可执行文件
6. 设置 VASP 环境变量
确保系统能够找到并正确运行 VASP

0. 准备过程

0.1 ssh 终端工具

https://www.xterminal.cn/ 下载这个好用的 ssh 工具,有 ai 提示,系统监控,虽然有些小 bug,我个人认为非常值得推荐
notion image

0.2 tmux 安装

为了我们后续的步骤不断连,以及避免各种关闭窗口的失误什么的,这里先安装 tmux
 
然后使用 tmux 命令建立一个后台窗口,防止断连
 
后续如果遇到断连,误操作关闭窗口等各种不小心的问题,可以 重新打开终端,然后运行
可以进入到之前的安装部分

1. 安装 gcc,gfortran

要安装gcc和gfortran,可以使用以下命令:
 
安装完成后,可以通过以下命令检查版本:
notion image

2. 安装 openmpi 并行

2.1 下载

这篇文章
Ubuntu 20.04 安装 orca 5.03
里面有关于 openmpi 安装部分
notion image
 

2.2 解压

接着解压
注意这里我安装的是 4.1.4 版本,如果是其他版本这里需要修改版本号.

2.3 建立 openmpi 安装文件夹

建立一个 openmpi 的文件夹

2.4 编译安装

进入刚刚解压的 openmpi 的文件夹,然后编译安装
notion image
过程有些长,等待几分钟即可
 
完成后是类似下面的
notion image
 
接着需要用,
这个命令用于编译 OpenMPI。-j 参数后面的部分是用来确定并行编译的线程数,它会统计 CPU 的处理器数量并使用所有可用的核心来加速编译过程。
过程较长,耐心等待
notion image
 
这个命令用于安装编译好的 OpenMPI。它会将编译好的文件复制到指定的安装目录中。

2.5 配置环境变量

 
notion image

4. 安装 OpenBLAS ,Scalapack,FFTW 数学库

这些库是 VASP 所需的数学库,它们提供了线性代数运算和快速傅里叶变换功能,对 VASP 的性能很重要。

4.1 安装 OpenBLAS

OpenBLAS 默认会被安装到 /usr/lib/x86_64-linux-gnu/ 下面
notion image

4.2 安装 ScaLAPACK

 

4.3 安装 FFTW

4.4 验证安装

安装完成后,可以通过以下命令验证安装:
如果安装成功,该命令将显示已安装的库文件。
notion image
 

5.编译 VASP

下载 VASP 安装包 (点我下载),然后上传到服务器上,这里我使用的是 VASP6.4.3 版本,所以下面的操作都是根据这个版本来的
这里假设你的 VASP 下载目录是在 DownLoads 文件夹,如果不是,可以和我一样上传到 DownLoads 文件夹

5.1 解压和重命名

 
 

5.2 拷贝 makefile 文件

首先进入刚刚重命名的文件夹里面
 
然后拷贝 arch 文件夹下面的 makefile 文件,我们在这里因为用了 openmpi 和 gnu 的编辑器,所以需要用 makefile.include.gnu_omp 这个文件
notion image

5.3 修改 makefile.include 文件

makefile.include 文件内容如下
💡
makefile.include 文件
# Default precompiler options CPP_OPTIONS = -DHOST=\"LinuxGNU\" \ -DMPI -DMPI_BLOCK=8000 -Duse_collective \ -DscaLAPACK \ -DCACHE_SIZE=4000 \ -Davoidalloc \ -Dvasp6 \ -Duse_bse_te \ -Dtbdyn \ -Dfock_dblbuf \ -D_OPENMP CPP = gcc -E -C -w $*$(FUFFIX) >$*$(SUFFIX) $(CPP_OPTIONS) FC = mpif90 -fopenmp FCL = mpif90 -fopenmp FREE = -ffree-form -ffree-line-length-none FFLAGS = -w -ffpe-summary=none OFLAG = -O2 OFLAG_IN = $(OFLAG) DEBUG = -O0 OBJECTS = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o OBJECTS_O1 += fftw3d.o fftmpi.o fftmpiw.o OBJECTS_O2 += fft3dlib.o # For what used to be vasp.5.lib CPP_LIB = $(CPP) FC_LIB = $(FC) CC_LIB = gcc CFLAGS_LIB = -O FFLAGS_LIB = -O1 FREE_LIB = $(FREE) OBJECTS_LIB = linpack_double.o # For the parser library CXX_PARS = g++ LLIBS = -lstdc++ ## ## Customize as of this point! Of course you may change the preceding ## part of this file as well if you like, but it should rarely be ## necessary ... ## # When compiling on the target machine itself, change this to the # relevant target when cross-compiling for another architecture VASP_TARGET_CPU ?= -march=native FFLAGS += $(VASP_TARGET_CPU) # For gcc-10 and higher (comment out for older versions) FFLAGS += -fallow-argument-mismatch # BLAS and LAPACK (mandatory) OPENBLAS_ROOT ?= /path/to/your/openblas/installation BLASPACK = -L$(OPENBLAS_ROOT)/lib -lopenblas # scaLAPACK (mandatory) SCALAPACK_ROOT ?= /path/to/your/scalapack/installation SCALAPACK = -L$(SCALAPACK_ROOT)/lib -lscalapack LLIBS += $(SCALAPACK) $(BLASPACK) # FFTW (mandatory) FFTW_ROOT ?= /path/to/your/fftw/installation LLIBS += -L$(FFTW_ROOT)/lib -lfftw3 -lfftw3_omp INCS += -I$(FFTW_ROOT)/include # HDF5-support (optional but strongly recommended) #CPP_OPTIONS+= -DVASP_HDF5 #HDF5_ROOT ?= /path/to/your/hdf5/installation #LLIBS += -L$(HDF5_ROOT)/lib -lhdf5_fortran #INCS += -I$(HDF5_ROOT)/include # For the VASP-2-Wannier90 interface (optional) #CPP_OPTIONS += -DVASP2WANNIER90 #WANNIER90_ROOT ?= /path/to/your/wannier90/installation #LLIBS += -L$(WANNIER90_ROOT)/lib -lwannier # For the fftlib library (recommended) #CPP_OPTIONS+= -Dsysv #FCL += fftlib.o #CXX_FFTLIB = g++ -fopenmp -std=c++11 -DFFTLIB_THREADSAFE #INCS_FFTLIB = -I./include -I$(FFTW_ROOT)/include #LIBS += fftlib #LLIBS += -ldl
 
上列文本当中的 红色部分黄色部分绿色部分 是需要修改的,实际上就是我们在步骤 4 里面的OpenBLAS ,Scalapack,FFTW 的安装路径,下面说明如何修改
红色部分修改
# BLAS and LAPACK (mandatory) OPENBLAS_ROOT ?= /path/to/your/openblas/installation BLASPACK = -L$(OPENBLAS_ROOT)/lib -lopenblas
修改成
# BLAS and LAPACK (mandatory) OPENBLAS_ROOT = /usr/lib/x86_64-linux-gnu/ BLASPACK = -L$(OPENBLAS_ROOT) -lopenblas
黄色部分修改
# scaLAPACK (mandatory) SCALAPACK_ROOT ?= /path/to/your/scalapack/installation SCALAPACK = -L$(SCALAPACK_ROOT)/lib -lscalapack
修改成
# scaLAPACK (mandatory) SCALAPACK_ROOT = /usr/lib/x86_64-linux-gnu/ SCALAPACK = -L$(SCALAPACK_ROOT)/lib -lscalapack-openmpi
绿色部分修改
保险起见,首先看看 fftw3.h 的位置
notion image
这里显示在 /usr/include/ 这个地方
然后将
# FFTW (mandatory) FFTW_ROOT ?= /path/to/your/fftw/installation LLIBS += -L$(FFTW_ROOT)/lib -lfftw3 -lfftw3_omp INCS += -I$(FFTW_ROOT)/include
修改成
# FFTW (mandatory) FFTW_ROOT ?= /path/to/your/fftw/installation LLIBS += -L$(FFTW_ROOT)/lib -lfftw3 -lfftw3_omp INCS += -I/usr/include
notion image
修改好后,ctrl + s 保存就行了

5.4 编译 vasp

时间较长慢慢等待(大概得几十分钟)即可,由于我们使用了 tmux ,所以不必担心断连问题,非常方便。
 
编译完成后,使用
有三个文件
vasp_gam, vasp_ncl, vasp_std
notion image
 

6. 设置 VASP 环境变量

首先来测试下上面的编译是否成功
notion image
出现这些表明我们的编译是成功的
 
然后我们配置环境变量,把下面的代码,放入到 .bashrc 里面去
notion image

6.1 配置库文件查找路径

这个是必须加的,不然后续使用 mpirun 的时候就会报错
notion image

6.2 添加 VASP 可执行文件路径

为了统一管理软件什么的,我在家目录下的 Software 目录下放了各种软件,这次也不例外,将 vasp643文件夹移动到 ~/Software/文件夹下面,因此这个时候我的 VASP 软件的目录为
 
上面代码中的 $HOME/Software/vasp643 是我 VASP 的目录,注意自己修改

7. VASP 运行测试

在 VASP 中,输入文件没有文件扩展名,POSCARINCARKPOINTSPOTCAR 文件名没有 .poscar、.incar、.kpoints 或 .potcar 这样的后缀
所以运行的时候得先建立一个文件夹,例如 h20 文件夹,然后进入 h20 文件夹里面建立POSCARINCARKPOINTSPOTCAR 等文件
 
首先建立任意一个文件夹,然后将下面的文件上传到服务器
到这里下载相关文件
接着进入文件夹运行
notion image

8. 参考资料

  1. https://wxyhgk.com/article/ubuntu-orca
  1. https://www.bilibili.com/video/BV1W24y1N7WK
  1. http://bbs.keinsci.com/thread-37628-1-1.html
  1. https://www.vasp.at/tutorials/latest/
  1. https://www.bilibili.com/video/BV1vu4y1m7us
 

Loading...
超微主板风扇调速指南:IPMI配置与自动化

超微主板风扇调速指南:IPMI配置与自动化


Arc 浏览器 Win 版问题解决指南

Arc 浏览器 Win 版问题解决指南


公告
公告
博客重大更新,更换为matery主题,阅读体验更加好了。
和博主联系
notion image