前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Docker快速实现SAPT能量分解分析

用Docker快速实现SAPT能量分解分析

作者头像
用户7592569
发布2020-07-27 15:29:44
7390
发布2020-07-27 15:29:44
举报
文章被收录于专栏:量子化学

SAPT是个著名的能量分解分析方法。如果有人想做SAPT能量分解,需要安装Psi4程序包。这个软件包需要下载下来编译、连接各种库以及配置环境变量。当然也可以选择二进制版本,不过不是每个程序都提供二进制版本。

现在有了更方便的技术,叫做Docker。简而言之,Docker技术是将应用封装成一个包,封装的时候把应用需要的环境也包进来了。这个打好的包被称为镜像(image),基于镜像可以开启一个容器(container),容器与操作系统底层直接交互并且可以执行。有个这个技术,我们就可以拿过来容器直接用,免去了编译、链接库等等的劳顿。重要的是能快速出结果。


需要满足的前提

  1. 机器上有Docker,并且账户有执行Docker的权限。
  2. 机器能正常速度连接DockerHub。(教育网很快)

快速上手

如果满足上述两点要求,SAPT能量分解分析可以被快速实现。

1. 案例准备

我们先创建一个工作目录SAPT,并在目录中创建输入文件(参考Psi4手册)SAPT_test.dat,以水二聚体SAPT0能量分解分析为例:

代码语言:javascript
复制
molecule water_dimer {
     0 1
     O  -1.551007  -0.114520   0.000000
     H  -1.934259   0.762503   0.000000
     H  -0.599677   0.040712   0.000000
     --
     0 1
     O   1.350625   0.111469   0.000000
     H   1.680398  -0.373741  -0.758561
     H   1.680398  -0.373741   0.758561

     units angstrom
     no_reorient
     symmetry c1
}

set basis aug-cc-pvdz

energy('sapt0')

2. 完成计算

如果满足上述两个条件,一条指令便可完成能量分解计算。

代码语言:javascript
复制
docker run -v $(pwd)/SAPT:/SAPT  paesanilab/psi4conda  psi4 /SAPT/SAPT_test.dat /SAPT/SAPT_test.out

如果第一次使用psi4,电脑会自动从DockerHub拉取paesanilab/psi4conda这个镜像,psi4conda大约1.5G。运行结束后在$(pwd)/SAPT文件夹下输出SAPT_test.out,里面有计算结果。分子相互作用能被分解为:静电、交换、诱导、色散能四个部分。在SAPT_test.out后面的表中。

3. 指令的解读

docker run 基于一个镜像(paesanilab/psi4conda)去创建一个容器,这个容器可以执行Psi4任务。

-v 表示挂载一个目录或文件。-v $(pwd)/SAPT:/SAPT 表示把当前目录下的SAPT文件夹挂载到容器里的根目录下/SAPT。这样SAPT_test.dat就跟随自己的目录挂载到了容器里。

容器创建后,我们要告诉容器执行 psi4 /SAPT/SAPT_test.dat /SAPT/SAPT_test.out这个指令。这是psi4的标准执行命令。


关于Docker的其他说明

  • 需要把非root用户加入Docker组才能让普通用户有Docker权限。
代码语言:javascript
复制
sudo groupadd docker
sudo usermod -aG docker [non-root user]
  • 大陆地区,除了教育网之外的网络,难以链接DockerHub库,需要用国内的镜像库进行加速。推荐用阿里云的。
  • 如果服务器没有网络,或者网络很差。可以用docker load把其他电脑下载好并且压缩成tar包的镜像载入。
  • Docker的缺点是,镜像通常很大,基本到GB级别。
  • 从原理上讲,在容器里运行程序不应该比亲自编译、链接的程序运行慢。这还需要实测。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子化学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SAPT是个著名的能量分解分析方法。如果有人想做SAPT能量分解,需要安装Psi4程序包。这个软件包需要下载下来编译、连接各种库以及配置环境变量。当然也可以选择二进制版本,不过不是每个程序都提供二进制版本。
    • 需要满足的前提
      • 快速上手
        • 关于Docker的其他说明
        相关产品与服务
        容器镜像服务
        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档