【VASP学习】在Ubuntu系统安装vasp.5.4.4的全过程(包括VASP官方学习资料、安装过程中相关编辑器的配置、VASP的编译及VASP的测试)

在Ubuntu系统安装vasp.5.4.4的全过程

  • VASP的简介与相关学习资料
  • 安装前的准备工作及说明
  • 安装过程
    • intel编译器的安装
    • VASP的编译
    • VASP的测试
  • 参考来源

VASP的简介与相关学习资料

在这里插入图片描述
VASP(Vienna Ab initio Simulation Package)是基于第一性原理对原子尺度的材料进行模拟计算的软件。比如可以进行原子尺度材料的电子结构计算、分子动力学过程的模拟分析等。
在这里插入图片描述


官方网站提供了软件学习的examples与tutorials:
Examples:https://www.vasp.at/wiki/index.php/Category:Examples
在这里插入图片描述


Tutorials:https://www.vasp.at/wiki/index.php/Category:Tutorials
(从原子、分子到块体结构,再到表面结构)
在这里插入图片描述

安装前的准备工作及说明

【安装所处的环境】:linux环境;Ubuntu系统,版本为20.04.6 LTS
【安装包的准备】:(这部分的文件需要自己去找)

  • intel编译器的安装包及Licenses文件,本文选择的版本是:Intel® Parallel Studio XE 2020 Cluster Edition
  • VASP的安装包,本文选择的版本为:vasp.5.4.4.tar.gz

安装过程

intel编译器的安装


已知VASP的编译需要很多编译器,包括:

  • Compilers for Fortran (at least F2008 compliant), C, and C++.
  • Numerical libraries: FFTW, BLAS, LAPACK, and ScaLAPACK.
  • An implementation of the Message Passing Interface (MPI).

因此我们可以去找已经把以上编译器和相关库组合好的软件,安装软件即可,这就是为什么安装Intel® Parallel Studio XE 2020的原因。


【安装过程】

  1. 解压Intel® Parallel Studio XE 2020的安装包,tar -xzf 安装包名称
  2. 本文选择纯文本环境下安装,因此进入解压后的文件夹,cd 解压后的安装包名称
  3. 进入文件夹后,执行./install.sh,启动安装程序,界面如下:
    在这里插入图片描述
  4. 回车,输入空格到达底部,输入:accept,然后回车
    在这里插入图片描述
  5. 同意软件收集系统的信息,输入:1,然后回车
    在这里插入图片描述
  6. 安装过程识别了系统信息后,弹出以下界面,输入:1,然后回车
    在这里插入图片描述
  7. 软件权限选择识别license file,因此先输入:2,然后回车
    在这里插入图片描述
  8. 选择离线选择license file,输入:1,然后回车,然后输入你的license file所在路径(这里要自己去找这个软件的Licenses文件夹,路径就是这个文件夹所在的路径),回车
    在这里插入图片描述
  9. 识别license成功后,弹出计划安装的配置选择,输入:1,然后回车;进入安装的组件选择,我们这里要选择自定义安装,只选择安装VASP编译所需要的组件,因此输入:2,然后回车
    在这里插入图片描述
  10. 取消勾选“IA-32”,保留“Intel® 64”的选择,因此输入:1,然后回车;继续回车,进入下一步的选择
    在这里插入图片描述
    在这里插入图片描述
  11. 进入具体组件的选择(Change components to install),因此输入:3,然后回车;
    在这里插入图片描述
  12. 分别进入2-16的选项,仅保留以下组件的安装:
  • Intel C++ Compiler 19.1 Update 3

  • Intel Fortran Compiler 19.1 Update 3

  • Intel Math Kernel Library 2020 Update 4 for C/C++下的Intel MKL core libraries for C/C++和Cluster support for C/C++
    在这里插入图片描述

  • Intel Math Kernel Library 2020 Update 4 for Fortran下的Intel MKL core libraries for Fortran、Cluster support for Fortran和Fortran 95 interfaces for BLAS and LAPACK
    在这里插入图片描述

  • Intel Threading Building Blocks 2020 Update 3

  • Intel MPI Library 2019 Update 9下的Intel MPI Library for applications running on Intel® 64 Architecture
    在这里插入图片描述

  1. 其他组件均不选择,最后的选择结果显示见下,选择结束后,进入回车然后进入下一步的安装
    在这里插入图片描述
    在这里插入图片描述
  2. 提示缺少32-bit libraries,选择跳过(Skip prerequisites),继续下一步,开始安装以上选择的组件,需要一点时间。出现以下界面即为安装成功。
    在这里插入图片描述
    在这里插入图片描述
  3. 下面配置Intel® Parallel Studio XE 2020的运行环境,找到安装该软件所在路径下的psxevars.sh,一般在intel文件夹下(如,我的路径是:/home/intel/parallel_studio_xe_2020/psxevars.sh)。接着将代码(source /home/intel/parallel_studio_xe_2020/psxevars.sh)加入到bashrc文件末尾。具体步骤为,先回到主目录下:cd ~,进入bashrc文件,vim .bashrc,输入i进入编辑模式,将代码source /home/intel/parallel_studio_xe_2020/psxevars.sh复制在文件最后,输入Esc进入取消编辑状态,然后按住shift,输入:wq,保存编辑并退出。回到命令行窗口,输入source .bashrc,显示以下界面即可配置环境成功。
    在这里插入图片描述
  4. 使用cd进入/home/intel/compilers_and_libraries_2020.4.304/linux/mkl/interfaces/fftw3xf所在目录,然后在命令行执行make libintel64命令,运行后当前目录下会产生libfftw3xf_intel.a库文件。界面提示见下图。
    在这里插入图片描述
  5. 将以上步骤严格执行后,便完成了intel编译器的安装!

VASP的编译

【安装步骤】

  1. 解压vasp.5.4.4.tar.gz安装包:tar -xzf vasp.5.4.4.tar.gz

  2. 进入解压后的文件夹:cd vasp.5.4.4

  3. 继续进入该目录下的arch文件夹:cd arch

  4. 复制该目录下的makefile.include.linux_intel文件到上一级目录,并改名为makefile.include
    在这里插入图片描述

  5. 使用vim打开文件makefile.includevim makefile.include

  6. 找到OFLAG参数,在其后面添加-xhost,保存并退出(vim的编辑与保存操作参考步骤15)
    在这里插入图片描述

  7. 在此目录下,命令行窗口输入命令make all开始进行VASP的编译。
    在这里插入图片描述
    在这里插入图片描述

  8. 编译成功后,回到home目录cd ~,进入.bashrc文件vim .bashrc,将路径代码(export PATH=$PATH:/home/vasp.5.4.4/bin)加入到.bashrc文件末尾,保存编辑并退出(vim的编辑与保存操作参考步骤15)。在命令行执行source .bashrc,便可使用VASP。

VASP的测试

VASP安装成功后,在bin文件夹下产生三个可执行文件(vasp_gam、vasp_ncl、vasp_std),我们主要使用的是vasp_std。下面将调用vasp_std测试VASP的运行。
在这里插入图片描述

  1. 从VASP官网的Tutorial中找一个案例,比如我找的是Atoms and Molecules模块中的O atom(https://www.vasp.at/wiki/index.php/O_atom)。
    在这里插入图片描述

  2. 下载其输入文件,解压文件夹,并进入该文件夹。在命令行执行mpirun -np 4 vasp_std开始vasp的计算,计算结束后产生一系列文件。
    在这里插入图片描述

  3. 检查结果文件OUTCAR,计算过程完整且正常输出即说明vasp安装成功。
    在这里插入图片描述

参考来源

本文主要是参考了卢天老师的博文:VASP最简单的安装方法(含全程视频演示)。在老师的指导下将过程详细记录,方便以后查阅。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/519370.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习 Git 基础知识 - 日常开发任务手册

欢迎来到我关于 Git 的综合指南,Git 是一种分布式版本控制系统,已经在软件开发中彻底改变了协作和代码管理方式。 无论你是经验丰富的开发者还是刚开始编程之旅的新手,理解 Git 对于正确掌控代码、高效管理项目和与他人合作至关重要。 在本…

LeetCode:1026. 节点与其祖先之间的最大差值(DFS Java)

目录 1026. 节点与其祖先之间的最大差值 题目描述: 实现代码与解析: DFS 原理思路: 1026. 节点与其祖先之间的最大差值 题目描述: 给定二叉树的根节点 root,找出存在于 不同 节点 A 和 B 之间的最大值 V&#xff…

2024 年最新使用 Wechaty 开源框架搭建部署微信机器人(微信群智能客服案例)

读取联系人信息 获取当前机器人账号全部联系人信息 bot.on(ready, async () > {console.log("机器人准备完毕&#xff01;&#xff01;&#xff01;")let contactList await bot.Contact.findAll()for (let index 0; index < contactList.length; index) {…

Redis各个方面入门详解

目录 一、Redis介绍 二、分布式缓存常见的技术选型方案 三、Redis 和 Memcached 的区别和共同点 四、缓存数据的处理流程 五、Redis作为缓存的好处 六、Redis 常见数据结构以及使用场景 七、Redis单线程模型 八、Redis 给缓存数据设置过期时间 九、Redis判断数据过期的…

云服务器ECS租用价格表报价——阿里云

阿里云服务器租用价格表2024年最新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核…

Django环境搭建及测试

Django环境搭建及测试 一、安装 Python二、安装 Django三、终端命令创建 Django 项目四、运行 Django 项目五、访问 Django 网站 一、安装 Python 首先确保你的电脑上安装了 Python。 Python官网点击直达 官网下载后双击即可安装 第一个相当于快速安装&#xff0c;第二个则是…

Linux之shell脚本编辑工具awk

华子目录 概念工作流程工作图流程&#xff08;按行处理&#xff09; awk程序执行方式1.通过命令行执行awk程序实例 2.awk命令调用脚本执行实例 3.直接使用awk脚本文件调用实例 awk命令的基本语法格式BEGIN模式与END模式实例awk的输出 记录和域&#xff08;记录表示数据行&#…

了解强化学习算法 PPO

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 介绍&#xff1a; PPO 算法&#xff0c;即 Proximal Policy Optimization&#xff08;近端策略优化&#xff09;&#xff0c;是一种强化学习算法。它的主要目的是改进策略梯度方法&#xff0c;使得训练…

真--个人收款系统方案

此文主要说明方案&#xff0c;无代码部分 前言: 有个个人项目需要接入vip系统&#xff0c;我们发现微信、支付宝的官方API主要服务商户&#xff0c;而市面上的“个人收款系统”也往往不符合我们的需求。不过&#xff0c;每次支付时通知栏的信息给了我灵感。走投无路&#xff0…

Transformer模型-Normalization归一化的简明介绍

背景 一般而言&#xff0c;Normalization归一化是将特征转换为可比较尺度的过程。有许多方法可以对特征进行归一化 例如&#xff1a;最小-最大特征缩放 最小-最大特征缩放将值转换到[0,1]的范围内。这也被称为基于单位的归一化。可以使用以下方程进行计算&#xff1a; 该方程…

Qt+OpenGL-part5

2-1QT UI调用OpenGL控件功能_哔哩哔哩_bilibili 注意析构问题。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow>namespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(QWidget *parent …

simulink,stm32f103,新建工程实现led闪烁

1. 打开stm32cubeMX&#xff0c;选择单片机型号 2. SYS&#xff0c;选Seral Wire&#xff0c;TIM5 3. GPIO&#xff0c;配置LED驱动管脚为OutPut 3.时钟树选择内部RC&#xff0c;笔者这么做的原因是&#xff0c;在选择外部时钟作为时钟源时候&#xff0c;发现程序总会卡死在Sy…

SQL注入---文件上传+Webshell

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.Web工作原理 Web工作原理详解 HTTP/HTTPS协议会作为浏览器中输入信息的载体&#xff0c;向目标服务器发送请求&#xff0c;目标服务器收到请求后再返回对饮的信息&#xff0c;其中浏览器中…

LangChain-08 Query SQL DB 通过GPT自动查询SQL

我们需要下载一个 LangChain 官方提供的本地小数据库。 安装依赖 SQL: https://raw.githubusercontent.com/lerocha/chinook-database/master/ChinookDatabase/DataSources/Chinook_Sqlite.sql Shell: pip install --upgrade --quiet langchain-core langchain-community la…

MySQL学习记录1(学习笔记)

MySQL学习 一、记录知识点 一、记录知识点 1.默认使用的引擎就是InnoDB。不过&#xff0c;也可以通过指定存储引擎的类型来选择别的引擎&#xff0c;比如在create table语句中使用enginememory, 来指定使用内存引擎创建表。 2.不同的存储引擎共用一个Server层&#xff0c;也就…

第20次修改了可删除可持久保存的前端html备忘录:重新布局

第20次修改了可删除可持久保存的前端html备忘录&#xff1a;重新布局 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

苍穹外卖——项目搭建

一、项目介绍以及环境搭建 1.苍穹外卖项目介绍 1.1项目介绍 本项目&#xff08;苍穹外卖&#xff09;是专门为餐饮企业&#xff08;餐厅、饭店&#xff09;定制的一款软件产品&#xff0c;包括 系统管理后台 和 小程序端应用 两部分。其中系统管理后台主要提供给餐饮企业内部员…

4 万字全面掌握数据库、数据仓库、数据集市、数据湖、数据中台

如今&#xff0c;随着诸如互联网以及物联网等技术的不断发展&#xff0c;越来越多的数据被生产出来-据统计&#xff0c;每天大约有超过2.5亿亿字节的各种各样数据产生。这些数据需要被存储起来并且能够被方便的分析和利用。 随着大数据技术的不断更新和迭代&#xff0c;数据管…

【瑞萨RA6M3】1. 基于 vscode 搭建开发环境

基于 vscode 搭建开发环境 1. 准备2. 安装2.1. 安装瑞萨软件包2.2. 安装编译器2.3. 安装 cmake2.4. 安装 openocd2.5. 安装 ninja2.6. 安装 make 3. 生成初始代码4. 修改 cmake 脚本5. 调试准备6. 仿真 1. 准备 需要瑞萨仓库中的两个软件&#xff1a; MDK_Device_Packs.zipse…

Dockerd的使用

端口映射 存储卷 类似于mount&#xff0c;把真机的某个目录映射都容器里面 -v 选项可以有多个 利用存储卷修改配置文件 容器间网络模式 共享网络为 --networkcontainer&#xff1a;容器名 微服务架构 一种由容器为载体&#xff0c;使用多个小型服务组合来构建复杂的架构为…