当前位置: 首页 > news >正文

【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最简单的安装方法(含全程视频演示)。在老师的指导下将过程详细记录,方便以后查阅。

相关文章:

【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)是基于第一性原理对原子尺度的材料进行模拟计算的软件。比…...

PyTorch|Dataset与DataLoader使用、构建自定义数据集

文章目录 一、Dataset与DataLoader二、自定义Dataset类(一)\_\_init\_\_函数(二)\_\_len\_\_函数(三)\_\_getitem\_\函数(四)全部代码 三、将单个样本组成minibatch(Data…...

4.6(信息差)

🌍 山西500千伏及以上输电线路工程首次采用无人机AI自主验收 🌋 中国与泰国将开展国际月球科研站等航天合作 ✨ 网页版微软 PowerPoint 新特性:可直接修剪视频 🍎 特斯拉开始在德国超级工厂生产出口到印度的右舵车 1.马斯克&…...

关于C#操作SQLite数据库的一些函数封装

主要功能:增删改查、自定义SQL执行、批量执行(事务)、防SQL注入、异常处理 1.NuGet中安装System.Data.SQLite 2.SQLiteHelper的封装: using System; using System.Collections.Generic; using System.Data.SQLite; using System.…...

LeetCode-79. 单词搜索【数组 字符串 回溯 矩阵】

LeetCode-79. 单词搜索【数组 字符串 回溯 矩阵】 题目描述:解题思路一:回溯 回溯三部曲。这里比较关键的是给board做标记,防止之后搜索时重复访问。解题思路二:回溯算法 dfs,直接看代码,很容易理解。visited哈希,防止…...

游戏引擎之高级动画技术

一、动画混合 当我们拥有各类动画素材(clips)时,要将它们融合起来成为一套完整的动画。 最经典的例子就是从走的动画自然的过渡到跑的动画。 1.1 线性插值 不同于上节课的LERP(同一个clip内不同pose之间)&#xff…...

Oracle 数据库中的全文搜索

Oracle 数据库中的全文搜索 0. 引言1. 整体流程2. 创建索引2-1. 创建一个简单的表2-2. 创建文本索引2-3. 查看创建的基础表 3. 运行查询3-1. 运行文本查询3-2. CONTAINS 运算符3-3. 混合查询3-4. OR 查询3-5. 通配符3-6. 短语搜索3-7. 模糊搜索(Fuzzy searches&…...

代码随想录阅读笔记-二叉树【二叉搜索树中的众数】

题目 给定一个有相同值的二叉搜索树(BST),找出 BST 中的所有众数(出现频率最高的元素)。 假定 BST 有如下定义: 结点左子树中所含结点的值小于等于当前结点的值结点右子树中所含结点的值大于等于当前结点的…...

AcWing-游戏

1388. 游戏 - AcWing题库 所需知识:博弈论,区间dp 由于双方都采取最优的策略来取数字,所以结果为确定的,有可能会有多个不同的过程,但是我们只需要关注最终结果就行了。 方法一: 定义dp[i][j] 表示区间…...

Mybatis——一对一映射

一对一映射 预置条件 在某网络购物系统中,一个用户只能拥有一个购物车,用户与购物车的关系可以设计为一对一关系 数据库表结构(唯一外键关联) 创建两个实体类和映射接口 package org.example.demo;import lombok.Data;import …...

Web 安全之 SSL 剥离攻击详解

目录 SSL/TLS简介 SSL 剥离攻击原理 SSL 剥离攻击的影响 SSL 剥离攻击的防范措施 小结 SSL 剥离攻击(SSL Stripping Attack)是一种针对安全套接层(SSL)或传输层安全性(TLS)协议的攻击手段,…...

数据结构——顺序表(C语言)

目录 一、顺序表概念 二、顺序表分类 1.静态顺序表 2.动态顺序表 三、顺序表的实现 1.顺序表的结构体定义 2. 顺序表初始化 3.顺序表销毁 4.顺序表的检验 5.顺序表打印 6.顺序表扩容 7.顺序表尾插与头插 8.尾删与头删 9.在pos处插入数据 10.在pos处删除数据 11.查找数据 …...

利用Idea实现Ajax登录(maven工程)

一、新建一个maven工程(不会建的小伙伴可以参考Idea引入maven工程依赖(保姆级)-CSDN博客),工程目录如图 ​​​​​​​ js文件可以上up网盘提取 链接:https://pan.baidu.com/s/1yOFtiZBWGJY64fa2tM9CYg?pwd5555 提取码&…...

环信IM集成教程——Web端UIKit快速集成与消息发送

写在前面: 千呼万唤始出来,环信Web端终于出UIKit了!🎉🎉🎉 文档地址:https://doc.easemob.com/uikit/chatuikit/web/chatuikit_overview.html 环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开…...

Anaconda如何切换国内镜像源

一、anaconda如何切换阿里镜像源 在Anaconda中切换到阿里云镜像源可以通过以下步骤进行: 1、打开终端(Windows)或者命令行界面(macOS/Linux)。 2、执行以下命令来配置阿里云镜像源: conda config --add…...

Android 14.0 添加自定义服务,并生成jar给第三方app调用

1.概述 在14.0系统ROM产品定制化开发中,由于需要新增加自定义的功能,所以要增加自定义服务,而app上层通过调用自定义服务,来调用相应的功能,所以系统需要先生成jar,然后生成jar 给上层app调用,接下来就来分析实现的步骤,然后来实现相关的功能 从而来实现所需要的功能 …...

解决沁恒ch592单片机在tmos中使用USB总线时,接入USB Hub无法枚举频繁Reset的问题

开发产品时采用了沁恒ch592,做USB开发时遇到了一个奇葩的无法枚举问题。 典型症状 使用USB线直连电脑时没有问题,可以正常使用。 如果接入某些特定方案的USB Hub(例如GL3510、GL3520),可能会出现以下2种情况&#xf…...

nvm保姆级安装使用教程

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: 开发环境篇 ✨特色专栏: M…...

大语言模型LLM《提示词工程指南》学习笔记02

文章目录 大语言模型LLM《提示词工程指南》学习笔记02设计提示时需要记住的一些技巧零样本提示少样本提示链式思考(CoT)提示自我一致性生成知识提示 大语言模型LLM《提示词工程指南》学习笔记02 设计提示时需要记住的一些技巧 指令 您可以使用命令来指…...

【realme x2手机解锁BootLoader(简称BL)】

realme手机解锁常识 https://www.realme.com/cn/support/kw/doc/2031665 realme手机解锁支持型号 https://www.realmebbs.com/post-details/1275426081138028544 realme x2手机解锁实践 参考:https://www.realmebbs.com/post-details/1255473809142591488 1 下载apk…...

攻防世界 wife_wife

在这个 JavaScript 示例中,有两个对象:baseUser 和 user。 baseUser 对象定义如下: baseUser { a: 1 } 这个对象有一个属性 a,其值为 1,没有显式指定原型对象,因此它将默认继承 Object.prototype。 …...

Visual Studio安装下载进度为零已解决

因为在安装pytorch3d0.3.0时遇到问题,提示没有cl.exe,VS的C编译组件,可以添加组件也可以重装VS。查了下2019版比2022问题少,选择了安装2019版,下面是下载安装时遇到的问题记录,关于下载进度为零网上有三类解…...

矩阵空间秩1矩阵小世界图

文章目录 1. 矩阵空间2. 微分方程3. 秩为1的矩阵4. 图 1. 矩阵空间 我们以3X3的矩阵空间 M 为例来说明相关情况。目前矩阵空间M中只关心两类计算,矩阵加法和矩阵数乘。 对称矩阵-子空间-有6个3X3的对称矩阵,所以为6维矩阵空间上三角矩阵-子空间-有6个3…...

《QT实用小工具·十三》FlatUI辅助类之各种炫酷的控件集合

1、概述 源码放在文章末尾 FlatUI辅助类之各种炫酷的控件集合 按钮样式设置。文本框样式设置。进度条样式。滑块条样式。单选框样式。滚动条样式。可自由设置对象的高度宽度大小等。自带默认参数值。 下面是demo演示: 项目部分代码如下所示: #ifnd…...

dm8 备份与恢复

dm8 备份与恢复 基础环境 操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本:DM Database Server 64 V8 架构:单实例1 设置bak_path路径 --创建备份文件存放目录 su - dmdba mkdir -p /dm8/backup--修改dm.ini 文件…...

Vue项目中引入html页面(vue.js中引入echarts数据大屏html [静态非数据传递!] )

在项目原有vue(例如首页)基础上引入html页面 1、存放位置 vue3原有public文件夹下 我这边是新建一个static文件夹 专门存放要用到的html文件 复制拖拽过来 index为html的首页 2、更改路径引入到vue中 这里用到的是 iframe 方法 不同于vue的 component…...

ASTM C1186-22 纤维水泥平板

以无石棉类无机矿物纤维、有机合成纤维或纤维素纤维,单独或混合作为增强材料,以普通硅酸盐水泥或水泥中添加硅质、钙质材料代替部分水泥为胶凝材料,经制浆、成型、蒸汽或高压蒸汽养护制成的板材,俗称水泥压力板。 ASTM C1186-22纤…...

NoSQL概述

NoSQL概述 目录 一、为什么用NoSQL 二、什么是NoSQL 三、经典应用分析 四、N o S Q L 数 据 模 型 简 介 五、NoSQL四大分类 六、CAP BASE 一、为什么用NoSQL 1、单机MySQL的美好年代 在90年代,一个网站的访问量一般不大,用单个数据库完全可以轻松应…...

爬虫实战一、Scrapy开发环境(Win10+Anaconda3)搭建

#前言 在这儿推荐使用Anaconda进行安装,并不推荐大家用pythonpip安装,因为pythonpip的坑实在是太多了。 #一、环境中准备: Win10(企业版)Anaconda3-5.0.1-Windows-x86_64,下载地址,如果打不开…...

llama.cpp运行qwen0.5B

编译llama.cp 参考 下载模型 05b模型下载 转化模型 创建虚拟环境 conda create --prefixD:\miniconda3\envs\llamacpp python3.10 conda activate D:\miniconda3\envs\llamacpp安装所需要的包 cd G:\Cpp\llama.cpp-master pip install -r requirements.txt python conver…...

网站开发社区/保定seo建站

目录:现在开始写一个简单公式计算器的parser.expr.g4grammar Expr ;prog: stat ;stat: expr NEWLINE # printExpr| ID expr NEWLINE # assign| NEWLINE # empty;expr: expr op(MUL|DIV) expr # MulDiv| expr op(ADD|SUB) expr # AddSub| INT # int| ID # id| ( expr ) # paren…...

给公司做网站数据分析/如何创建公司网站

文件夹 1、需求 2、框架结构图和步鄹图 3、代码结构 4、代码展现 ———————————————————————- 1、需求 1.1、解析路径,将路径的最后一个字符串作为Appkey; 1.2、数据缓存。当Kafka无法正常訪问时在本地Cache文件夹缓存数据&#x…...

做网站树立品牌形象/网页设计框架

今天有个小伙伴在群里问text为什么长度是0,会不会影响存数据失败,这里就有各个类型的详细说明TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT的区别:储存不区分大小写的字符数据TINYTEXT 最大长度是 255 (2^8 - 1) 个字符。TEXT 最大长度是 65535 (2^16 - 1) 个字…...

手机网站开发报价/宁波外贸网站推广优化

代码来源: 该代码来自:《机器学习实战》第二章K-近邻算法P31页 digits 文件下数据格式分析: 训练数据的手写体数字个数为 1934 测试的手写体数字个数为 946 该目录下的文件按照规则命名,如文件9_45.txt的分类是9,它是数…...

武昌做网站哪家好/指数函数图像

为什么80%的码农都做不了架构师?>>> 一、must override a superclass method 错误 首先我们得知道: override注释在jdk1.5环境下只能用于对继承的类的方法的重写,而不能用于对实现的接口中的方法的实现,在jdk1.6环境下…...

河北邢台沙河疫情最新消息/trinseo公司

1 判断数据库是否存在Sql代码 if exists (select * from sys.databases where name ’数据库名’) drop database [数据库名] if exists (select * from sys.databases where name ’数据库名’) drop database [数据库名]2 判断表是否存在Sql代码 if exists (select * …...