超算小站 超算小站
首页
  • 注册账号
  • 登录系统
  • 熟悉系统
  • 配置环境
  • 数据管理
  • 作业管理
  • 集群软件环境:

    • 01.编译环境
    • 02.基础库
    • 03.应用软件
    • 04.工具软件
    • 05.常用语言环境
    • 06.使用进阶
  • 入门课程

    • 01.超算历史
    • 02.VPN登录
    • 03.Mobaxterm工具
    • 04.Linux基本命令
    • 05.Module环境变量管理工具
    • 06.Vim文本编辑器使用
    • 07.Slurm作业管理系统
HPC&AI
  • 01.登录问题
  • 02.编译问题
  • 03.作业问题
  • 04.存储和数据问题
  • 05.GPU问题
资料下载
归档
关于我
🚀试用
首页
  • 注册账号
  • 登录系统
  • 熟悉系统
  • 配置环境
  • 数据管理
  • 作业管理
  • 集群软件环境:

    • 01.编译环境
    • 02.基础库
    • 03.应用软件
    • 04.工具软件
    • 05.常用语言环境
    • 06.使用进阶
  • 入门课程

    • 01.超算历史
    • 02.VPN登录
    • 03.Mobaxterm工具
    • 04.Linux基本命令
    • 05.Module环境变量管理工具
    • 06.Vim文本编辑器使用
    • 07.Slurm作业管理系统
HPC&AI
  • 01.登录问题
  • 02.编译问题
  • 03.作业问题
  • 04.存储和数据问题
  • 05.GPU问题
资料下载
归档
关于我
🚀试用
  • 编译环境

  • 基础库

  • 应用软件

    • alamode 编译安装教程
    • ANGSD 编译安装教程
    • BEAST安装使用教程
    • BerkeleyGW-2.1 安装教程
    • COMSOL安装教程
    • CP2K编译安装教程
    • gromacs编译安装教程
    • jfeff安装说明
    • LAMMPS编译安装教程
    • MIgcm编译安装教程
    • MOLPRO安装使用说明
    • nciplot安装说明
    • ovito安装说明(windows+linux)
    • swash编译安装教程
    • UV-CDAT 安装教程
    • VASP编译安装教程
    • 如何使用WRF
    • VASP6.x编译安装教程
      • 1 简介
      • 2 编译环境
      • 3 编译方法(针对 VASP 6.x 版本)
        • 3.1 加载编译环境
        • 3.2 安装包配置
        • 3.3 修改makefile文件
        • 3.4 编译make
  • 工具软件

  • 常用语言环境

  • 使用进阶

  • 软件中心
  • 应用软件
mrzhenggang
2024-09-18
目录

VASP6.x编译安装教程

# 1 简介

VASP 全称 Vienna Ab-initio Simulation Package。它是维也纳大学 Hafner 小组开发的进行电子结构计算和量子力学-分子动力学模拟软件包。它是目前材料模拟和计算物质科学研究中最流行的商用软件之一。

官网地址:传送门 (opens new window)。

下载:商业软件,需要购买版权。

# 2 编译环境

VASP是FOTRAN语言编写的程序,需要先编译,然后才能运行可执行程序。

因此,需要安装编译器:

  • GNU Compiler (opens new window)
  • INTEL Compiler (opens new window)

以及MPI编译器(如果需要并行计算):

  • MPICH (opens new window)
  • OPENMPI (opens new window)

以及CUDA编译环境(如果需要GPU加速):

  • CUDA (opens new window)

安装neb版本需要下载额外的vtstcode:

  • Transition State Tools for VASP (opens new window)

# 3 编译方法(针对 VASP 6.x 版本)

我们购买VASP后会得到它的源码包,例如vasp.6.3.0.tgz。在此我们介绍在linux平台下使用 Intel compiler 及 OpenMPI 编译VASP的方法。

# 3.1 加载编译环境

不同的平台,编译器的安装及加载方式不同,在此给出最常见的加载方式:

# TH-eX
module add Intel_compiler/19.0.4
module add MPI/openmpi/4.1.2-mpi-x-icc19.0
module add MKL/19.1.2
1
2
3
4

# 3.2 安装包配置

假设安装包 vasp.6.3.0.tgz 存放在用户根目录下,我们进入根目录,解压缩安装包,并进入解压后的目录:

cd ~ 
tar zxvf vasp.6.3.0.tgz
cd vasp.6.3.0
1
2
3

# 3.3 修改makefile文件

我们从arch文件夹拷贝一个配置文件到当前目录,然后根据当前系统环境进行适当修改。

cp arch/makefile.include.intel_ompi_mkl_omp makefile.include
1

这个 arch 文件,从名字可以看出,它是 intel 编译器的配置文件,使用 ompi(OpenMPI) 编译,使用了 MKL 数学库,并开启了 omp (OpenMP)多线程并行

简要分析makefile.include,说几个我们可能会修改的部分吧:

# 3.3.1 预处理配置参数CPP_OPTIONS

CPP_OPTIONS = -DHOST=\"LinuxIFC\" \
              -DMPI -DMPI_BLOCK=8000 -Duse_collective \
              -DscaLAPACK \
              -DCACHE_SIZE=4000 \
              -Davoidalloc \
              -Dvasp6 \
              -Duse_bse_te \
              -Dtbdyn \
              -Dfock_dblbuf \
              -D_OPENMP

CPP         = fpp -f_com=no -free -w0  $*$(FUFFIX) $*$(SUFFIX) $(CPP_OPTIONS)
1
2
3
4
5
6
7
8
9
10
11
12

说明:

  • CPP_OPTIONS:定义了一些选项和宏开关,例如 -DMPI 是开启 MPI 版本支持, -D_OPENMP 是开启 OpenMP 支持等
  • CPP: 一个常用的内置变量,定义了进行编译预处理时候的命令,这里面使用的是 fpp 命令进行预处理

# 3.3.2 编译和链接命令参数

FC          = mpif90 -qopenmp
FCL         = mpif90 -qopenmp # 此行添加了 -qopenmp 参数

FREE        = -free -names lowercase

FFLAGS      = -assume byterecl -w

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      = icc
CFLAGS_LIB  = -O
FFLAGS_LIB  = -O1
FREE_LIB    = $(FREE)

OBJECTS_LIB = linpack_double.o

# For the parser library
CXX_PARS    = icpc
LLIBS       = -lstdc++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

说明:

  • 这部分是用来设定编译时候的编译器及链接参数,最主要的是 FC 变量,表示调用的为 mpif90 编译命令,并且添加了 -qopenmp 编译选项,使编译器对 OpenMP 进行支持,FCL 是链接过程时用到的命令。
  • 其他的为一些常用编译参数:
    • -free:Fortran编译器选项,启用自由格式源代码。
    • -names lowercase:Fortran编译器选项,将所有变量名转换为小写。
    • -assume byterecl:Fortran编译器选项,假设字节可回收,这通常用于确保程序在不同平台上的可移植性。
    • -w:Fortran编译器选项,关闭所有警告信息。

# 3.3.3 数学库参数

# Intel MKL (FFTW, BLAS, LAPACK, and scaLAPACK)
# (Note: for Intel Parallel Studio's MKL use -mkl instead of -qmkl)
FCL        += -mkl  # 此行从 -qmkl 替换为了 -mkl
MKLROOT    ?= /path/to/your/mkl/installation
LLIBS      += -L$(MKLROOT)/lib/intel64 -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 
LLIBS      += -lmkl_intel_lp64 -lmkl_core -lmkl_sequential  # 此行为新增,添加 MKL 库
INCS        =-I$(MKLROOT)/include/fftw
1
2
3
4
5
6
7

说明:

  • 这部分是用来定义一些数学库的,我们使用的是 MKL 数学库,并且通过 module add MKL 命令设置了 MKLROOT 路径,因此 ?= 表示如果没定义时则设置为后面的值,我们定义了,所以就会用系统上的了。

# 3.4 编译make

直接执行make即可。

make
1

编译成功后会在bin文件夹下生成三个可执行文件 vasp_std、vasp_ncl 及 vasp_gam。

如何使用WRF
citrix 安装记录及报错记录

← 如何使用WRF citrix 安装记录及报错记录→

Theme by Vdoing | Copyright © 2015-2024 Zheng Gang | MIT License | 津ICP备2021008634号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×