【CP2K学习】-在Ubuntu上安装CP2K的全过程(包括gcc,gfortran,MKL等配置)

在Ubuntu中安装CP2K

  • CP2K的安装
    • 检查系统是否安装gcc,gfortran
    • MKL数学库的安装
    • CP2K安装包下载
    • CP2K的编译
    • CP2K的测试
      • ssmp版本测试
      • popt版本测试

在这里插入图片描述
CP2K是第一性原理计算程序中发展迅速的程序之一,因其开源性、速度性等优点,是广大计算化学研究者的选择。

本文档用于记录安装CP2K的全过程,主要参考来源为卢天老师的博文[CP2K第一性原理程序在CentOS中的简易安装方法],本文在此博文的指导下,将某些安装过程细化。

注:本系统中的Ubuntu版本为20.04.1,本次安装CP2K的版本为2023.2

CP2K的安装

检查系统是否安装gcc,gfortran

在安装CP2K前,需要检查系统中是否安装了gcc,gfortran,以及其版本是否高于5.5版

gcc -v
gfortran -v

如果没有安装,则需要使用root权限安装

sudo apt install gcc
sudo apt install gfortran

MKL数学库的安装

  1. 首先进入MKL的官网
    在这里插入图片描述
  2. 选择linux系统-Offline Installer(离线安装)-2023.2.0(版本号)
    在这里插入图片描述
    在这个页面的下方可以看到下载的链接以及安装指导
    在这里插入图片描述
    这里提示可以通过以下这两行代码在linux系统上分别下载、安装
    在这里插入图片描述
wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/992857b9-624c-45de-9701-f6445d845359/l_BaseKit_p_2023.2.0.49397_offline.sh
#注意需要进入安装包所在目录,在运行以下命令,如果没有权限,也可以用bash运行
sudo sh ./l_BaseKit_p_2023.2.0.49397_offline.sh

注意:此处的安装会使系统页面变成需要自己在系统上选择下一步的样子,注意别选错了。
3. 获取MKL安装所在目录,如:/home/phd-chen.yirong5/intel/oneapi
4. 回到主目录(cd ~),添加以下命令到.bashrc文件中(vi .bashrc):

source /home/phd-chen.yirong5/intel/oneapi/mkl/2023.2.0/env/vars.sh

注:此处要根据自己机子的实际目录进行修改
5. 保存并退出(按Esc停止输入,按shift+:,输入wq),执行:source .bashrc,检查是否安装成功:which mkl_link_tool
6. 结果输出为:/home/phd-chen.yirong5/intel/oneapi/mkl/2023.2.0/bin/intel64/mkl_link_tool因此MKL安装成功

CP2K安装包下载

  1. 进入CP2K官网,点击“download”.
    在这里插入图片描述
  2. 找到github指示入口,下载安装包(以tar.bz2为结尾的包)
    在这里插入图片描述
    在这里插入图片描述
  3. 在linux系统中解压安装包:tar -xf cp2k-2023.2.tar.bz2,解压安装包后的目录为:/home/phd-chen.yirong5/software/cp2k202302,这里每个人的安装目录有所差异,因此要学会改成自己系统的实际目录,这一点适用于本文全部涉及路径的地方。
  4. 进入toolchain所在目录(如,/home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/),并执行下载库的命令(参考来源及解析https://github.com/cp2k/cp2k/blob/master/tools/toolchain/README.md):
cd /home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/
./install_cp2k_toolchain.sh --with-sirius=no --with-openmpi=system --with-plumed=install -j 48

注意:此处48为机子的核数,其他参数的设置需要参考卢天老师博文的解释以及原网站的说明。

CP2K的编译

  1. 以上命令顺利运行后,将/home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/install/arch下的所有文件复制到/home/phd-chen.yirong5/software/cp2k202302/arch
  2. 接着依次运行以下命令:
source /home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/install/setup
cd /home/phd-chen.yirong5/software/cp2k202302
make -j 48 ARCH=local VERSION="ssmp sdbg psmp pdbg"
  1. 编译成功。
    在这里插入图片描述
  2. 回到主目录(cd ~),将以下内容添加到.bashrc文件中(vi .bashrc)
source /home/phd-chen.yirong5/software/cp2k202302/tools/toolchain/install/setup
export PATH=$PATH:/home/phd-chen.yirong5/software/cp2k202302/exe/local
  1. 添加这两行内容到.bashrc文件后,保存并退出(按Esc停止输入,按shift+:,输入wq),执行:source .bashrc
  2. 检查是否安装成功:cp2k.ssmp -v
    在这里插入图片描述

CP2K的测试

使用卢天老师提供的测试文件:http://sobereva.com/attach/586/test.inp
分别测试CP2K的ssmp,popt版本。

ssmp版本测试

进入测试文件所在目录,执行:cp2k.ssmp test.inp |tee test.out
软件正常运行,输出:
在这里插入图片描述

popt版本测试

进入测试文件所在目录,执行:mpirun -np 12 cp2k.popt test.inp |tee test.out
软件正常运行,输出:
在这里插入图片描述
以上便是本次安装CP2K的记录,使用一个晚上专心安装即可安装成功。

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

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

相关文章

Git企业开发控制理论和实操-从入门到深入(三)|分支管理

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

原生web实现不固定列数的表格、随机列、document、querySelector、forEach、hasOwnProperty、call、includes

文章目录 效果图公共样式第一种解决方案(不推荐)第二种解决方案(强烈推荐) 效果图 公共样式 .d_f {display: flex; }.flex_1 {flex: 1; }.jc_sb {justify-content: space-between; }.ai_c {align-items: center; }.bc_ccc {background-color: #cccccc; }/* ------------paddin…

Ribbon:listOfServers ,${variableName:defaultValue}

解释: 配置了address的地址,请求会走address,也就是http://127.0.0.1:8081,通常用户与别的后端服务进行联调设置为其本地服务的ip。 如果address的地址被注释掉,如下面所示,类似这样的占位符${variableName:defaultVa…

Kafka学习笔记

目录 常见术语如何解决数据重复和数据乱序幂等性幂等性的缺陷事务事务原子性事务原理流程图 如何解决数据积压解决方法 Kafka的高水位(HW)和Leader Epoch副本同步机制解析Leader Epoch是如何解决消息丢失和消息不一致的问题的 常见术语 Kafka的三层消息…

Web安全测试(三):SQL注入漏洞

一、前言 结合内部资料,与安全渗透部门同事合力整理的安全测试相关资料教程,全方位涵盖电商、支付、金融、网络、数据库等领域的安全测试,覆盖Web、APP、中间件、内外网、Linux、Windows多个平台。学完后一定能成为安全大佬! 全部…

简述docker映射(Mapping)和挂载(Mounting)

映射的概念: 将容器内的端口映射到主机的端口上,这样就可以通过主机的网络接口与容器内部进行通信。主机上对应端口的请求会被转发到容器内部,从而实现对容器内部程序的通信访问(注意!这里提到的容器内部的端口并不一定…

arcgis的MapServer服务查询出来的结果geometry坐标点带*的问题

不知道小伙伴使用arcgis server服务做查询的时候,有没有遇到下面的问题 原因是查询结果中出现*字符 这个问题一直困扰了我很久:因为从数据库查询的坐标点是没有问题的。 一开始有同事遇到过,说重新插入下就好了,有时候确实能解决…

Qt 获取文件图标、类型 QFileIconProvider

Qt中获取系统图标、类型是通过QFileIconProvider来实现的,具体如下: 一、Qt获取系统文件图标1、获取文件夹图标QFileIconProvider icon_provider;QIcon icon icon_provider.icon(QFileIconProvider::Folder);2、获取指定文件图标QFileInfo file_info(n…

最详细jdk安装以及配置环境(保姆级教程)

一.进入oracle官网,下载jdk oracle官网:Oracle | Cloud Applications and Cloud Platform ps:不同的浏览器,可能进入oracle官网,会只显示部分内容,所以建议使用google Chrome浏览器 在下载之前,首先需要去…

UML四大关系

文章目录 引言UML的定义和作用UML四大关系的重要性和应用场景关联关系继承关系聚合关系组合关系 UML四大关系的进一步讨论UML四大关系的实际应用软件开发中的应用其他领域的应用 总结 引言 在软件开发中,统一建模语言(Unified Modeling Language&#x…

7 集群基本测试

1. 上传小文件到集群 在hadoop路径下执行命令创建一个文件夹用于存放即将上传的文件: [atguiguhadoop102 ~]$ hadoop fs -mkdir /input上传: [atguiguhadoop102 hadoop-3.1.3]$ hadoop fs -put wcinput/work.txt /input2.上传大文件 [atguiguhadoop1…

Mybatis-Plus快速入门

目录 一、基础工程 1、创建一个数据库:mp 2、添加数据 3、创建初始工程 4、添加依赖 二、Mybatis Mybatis-Plus 1、创建子工程:mybatis-plus-simple 2、在子工程下添加配置 2.1Mybatis实现查询User 2.1.1、编写User实体对象 2.1.2、编写UserMa…

pdf.js构建时,报Cannot read property ‘createChildCompiler‘ of undefined #177的解决方法

在本地和CI工具进行构建时,报如下错误。 Cannot read property createChildCompiler of undefined #177解决方法: 找到vue.config.js,在 module.exports {parallel: false, //新增的一行chainWebpack(config) {....config.module.rule(&…

微信小程序 基于Android的美容理发师预约管理系统

,本系统主要根据管理员、用户及理发师的实际需要,方便用户利用互联网实现对商品信息进行立即订购,同时让管理者可以通过这个系统对用户实际需求以及各信息进行管理。设计该系统主要目的是为了方便用户、理发师可以有一个非常好的平台体验&…

Qt/C++编写视频监控系统80-远程回放视频流

一、前言 远程回放NVR或者服务器上的视频文件,一般有三种方式,第一种是调用厂家的SDK,这个功能最全,但是缺点明显就是每个厂家的设备都有自己的SDK,只兼容自家的设备,如果你的软件需要接入多个厂家的&…

利用LLM模型微调的短课程;钉钉宣布开放智能化底座能力

🦉 AI新闻 🚀 钉钉宣布开放智能化底座能力AI PaaS,推动企业数智化转型发展 摘要:钉钉在生态大会上宣布开放智能化底座能力AI PaaS,与生态伙伴探寻企业服务的新发展道路。AI PaaS结合5G、云计算和人工智能技术的普及和…

前端如何走通后端接口

0 写在前面 现在基本都是前后端分离的项目了,那么前端小伙伴如何获取后端小伙伴接口呢? 1 条件 同一WiFi下,让后端小伙伴分享出自己的ip地址: 步骤1:winr调出运行界面 步骤2:cmd调出命令行窗口 步骤3:…

接口多态 面试题及习题

基础题目 第一题:概念辨析 什么是接口,如何定义接口? 接口,是Java语言中一种引用类型,是方法的集合。使用interface关键定义接口,其中可以定义抽象方法,默认方法,私有方法&#xf…

ESP32应用教程(0)— PMW3901MB光流传感器

文章目录 前言 1 传感器介绍 1.1 关键特征 1.2 关键参数 2 硬件概述 2.1 信号引脚 2.2 参考电路图 3 寄存器 3.1 寄存器列表 3.2 性能优化寄存器 4 代码说明 4.1 结构体说明 4.2 编译说明 5 波形分析 前言 本文介绍了在 ESP32 DEVKIT V1 开发板上开发 PMW3901MB…

VR防地质灾害安全教育:增强自然灾害知识,提高自我保护意识

VR防地质灾害安全教育系统是一种虚拟仿真技术,可以通过虚拟现实技术模拟地震、泥石流、滑坡等地质灾害的发生和应对过程,帮助人们提高应对突发自然灾害的能力。这种系统的优势在于可以增强自然灾害知识,提高自我保护意识,锻炼人们…