请选择 进入手机版 | 继续访问电脑版

计算化学公社

 找回密码
 现在注册!
查看: 3330|回复: 32

[ORCA] 量子化学程序ORCA的安装方法

  [复制链接]

1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

发表于 2018-12-21 04:48:16 | 显示全部楼层 |阅读模式
量子化学程序ORCA的安装方法

文/Sobereva@北京科音
First release 2018-Dec-21  Last update: 2019-Feb-11

0 前言

ORCA是一款对学术用户免费但不开源的量子化学程序,发展迅猛,流行程度越来越高,用户越来越多。虽然ORCA的安装很简单,都不需要编译源代码,但还是有不少量子化学初学者经常问怎么安装,这里就统一说一下。当随着ORCA程序更新,导致最新版安装方法与本文存在较大差异时,本文也将同步更新。目前下文对应的是4.1版。ORCA虽然有也有Mac版,但由于极其小众,安装方法这里就不提了。

ORCA官网是https://orcaforum.kofo.mpg.de,和ORCA论坛是绑定的。进去之后注册个新用户,登陆后就可以进入论坛,页面上方有Download按钮,进去就可以下载了。如果在国内下载太慢,在计算化学公社论坛http://bbs.keinsci.com的“量子化学”版的“资源分享”区里可以找到ORCA的百毒网盘链接。ORCA程序体积颇大(尺寸和版本关系很大),安装前最好保证目录下有至少10GB空间。

为了测试安装后ORCA是否能正常运行,这里提供个简单的测试文件,将之复制到比如test.inp里。此任务要求4核并行:
! BLYP def2-SVP noautostart miniprint pal4
* xyz 0 1
C                  0.00000000    0.00000000   -0.56221066
H                  0.00000000   -0.92444767   -1.10110537
H                 -0.00000000    0.92444767   -1.10110537
O                  0.00000000    0.00000000    0.69618930
*



1 Windows版的安装

ORCA的Windows版只有64bit的,如果你还在坚持使用老掉牙的32bit Windows,就别指望用Windows版了,要么装64bit Windows系统,要么在现有的32bit Windows下用VMware虚拟机装个64bit Linux跑ORCA Linux版。

在ORCA的download页面里有好几种windows版。由于一般肯定是要做并行计算的,所以只能串行计算的serial only不要下载。带着MPI字样的都是并行版,有不同的压缩格式,为了省时间,建议下载尺寸较小的tar.zst后缀的压缩包,比如orca_4_1_0_win64_msmpi100.tar.zst。

.tar.zst中的.tar后缀代表这是个文件包,而.zst代表这个包是通过一种新兴的压缩率很高的名为Zstandard算法压缩后的。解压zst格式需要额外装zstd程序。zstd可以在其官网https://facebook.github.io/zstd/下载,点击上方的latest release,选择后缀为win64的zip包下载即可。然后把zstd的zip包解压,把ORCA的tar.zst压缩包放到这个目录里,进入Windows的命令行模式(按住shift点击右键,选择“在此处打开命令行窗口”或打开powershell窗口),然后输入比如zstd -d orca_4_1_0_win64_msmpi100.tar.zst,就把这个包解压成了.tar后缀的文件,然后用winrar、7zip之类的程序再把.tar包展开,就得到了ORCA文件夹,将之挪到恰当的位置。

ORCA是基于MPI库进行并行运算的程序,目前的版本在Windows下是依赖于Microsoft MPI (MSMPI)库运行的,因此还要给系统安装MSMPI。不同的ORCA版本要求的MSMPI库的版本也不同,比如ORCA程序包的文件名带着msmpi100,就说明需要MSMPI 10.0才能运行。Google一下MSMPI 10.0就可以立刻找到MSMPI的下载地址,下载并安装之即可。

下面测试ORCA能否正常并行运行。将本文开头的测试文件拷到某处,然后进入操作系统的命令行模式,输入比如D:\ORCA\orca H2CO.inp > H2CO.out来执行H2CO.inp并将输出信息输出到H2CO.out。注意输入文件要求并行计算时,必须像这样输入ORCA的绝对路径才行。如果计算中途的输出信息看起来很正常,最后也显示****ORCA TERMINATED NORMALLY****,就说明没问题。(如果并行不正常的话,可能会看到输出信息是混乱交错的,这是由于各个进程没有真正协同工作所致)


2 Linux版的安装

下面的内容涉及到一些最基本的Linux常识性知识,如果你对Linux是零基础,看下面内容之前建议看看《Gaussian的安装方法及运行时的相关问题》(http://sobereva.com/439)的1.1节。

2.1 安装OpenMPI

ORCA在Linux下是通过OpenMPI这种MPI库实现并行的。ORCA文件包的文件名当中直接体现了要求的OpenMPI库版本,比如文件名里有openmpi313就代表需要OpenMPI 3.1.3。所有版本的OpenMPI源代码都包可以在https://www.open-mpi.org上下载,比如3.1.3的下载地址为https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-3.1.3.tar.bz2。并行方式运行ORCA之前需要先编译OpenMPI库。

用诸如tar -xjf openmpi-3.1.3.tar.bz2命令解压之,进入此目录,输入以下命令,程序就会被安装到/sob/openmpi313目录下
./configure --prefix=/sob/openmpi313 --disable-builtin-atomics
make all install -j
注:这里用-j是为了通过并行编译降低编译过程耗时。但如果编译中途出现诡异报错,请去掉-j再试。

如果你的操作系统的shell是bash,就编辑用户目录下的.bashrc文件,比如用vi ~/.bashrc命令,将诸如以下两行加入到文件末尾
export PATH=$PATH:/sob/openmpi313/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/sob/openmpi313/lib
然后重新登录机子或者重新打开命令行,以上设置就生效了,可以输入比如mpiexec -V,如果正常显示出了OpenMPI的版本,说明已经装好了。之前解压出来的openmpi-3.1.3目录现在也可以删掉了。

2.2 安装ORCA

ORCA的Linux版分为静态库(static)版本和动态库(shared)版本。懂一些编程知识的人都知道差别是什么。ORCA包含一大批可执行文件,有很多子程序在多个可执行文件里被使用。如果开发者在编译ORCA时,这些被共用的子程序都被编译进每一个利用了它们的可执行文件里,就叫静态库版本,这种版本体积比较大。如果把将共用的子程序做成一个动态库文件,被各个可执行文件在实际运行的时候调用,就叫动态库或者共享库版本,这种版本体积比静态库版本要小。这两种版本在实际计算速度上没有可察觉的差别,因此建议使用动态库版本,下载耗时少而且省硬盘。动态库版本在文件包的名字里会有shared字样。

建议大家下载带着shared和.tar.xz字样的ORCA包,比如orca_4_1_0_linux_x86-64_shared_openmpi313.tar.xz。然后用
tar -xJf orca_4_1_0_linux_x86-64_shared_openmpi313.tar.xz
命令即可解压之。
注:虽然.tar.zst的ORCA包尺寸更小一点,但还得自己装zstd程序,略麻烦,所以这里不用。

假设ORCA解压后的目录是/sob/orca410/,就在.bashrc文件里加入
export PATH=$PATH:/sob/orca410
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/sob/orca410

重新进入终端令以上语句生效后即可运行ORCA,并行运行时必须写明ORCA的绝对路径,如:
/sob/orca/orca410 test.inp > test.out
如果懒得每次都写绝对路径,可以在.bashrc里加上下面这句
alias orca='/sob/orca410/orca'
这代表令orca命令等价于/sob/orca410/orca。

2.3 相关问题

如果你在编译OpenMPI的时候提示找不到编译器,说明你机子里没装gcc,安装方法一Google就有。对于比如CentOS、Fedora系统,可以用yum install gcc来安装。

如果你是在root用户下使用ORCA,必须每次执行的命令都带着-allow-run-as-root选项才行,这很烦人,但可以通过在编译OpenMPI之前修改OpenMPI的源代码来避免,见《root用户在用openmpi并行计算时避免加--allow-run-as-root的方法》(http://sobereva.com/409)。

如果你的机子里之前装有其它MPI库或OpenMPI的其它版本,且在终端里输入which mpiexec命令的时候指向的是那些库的目录,则ORCA有极大几率会无法正常并行,需要你恰当处理以避免其优先级盖过你自己新装的OpenMPI。具体怎么处理,关键取决于你当前机子里之前具体是怎么装的MPI库。如果你之前是把其它MPI库装到了你自定义的目录下而非默认的/usr/local/bin下面,你就把那个MPI库的目录名随便改一下,或者把那个MPI库在.bashrc里的配置语句注释掉(前面加#号)然后重新登录终端。如果其它MPI被你安装到了默认路径(如/usr/local下),可以把前文的$PATH:/sob/openmpi313/bin改为/sob/openmpi313/bin:$PATH、把$LD_LIBRARY_PATH:/sob/openmpi313/lib改为/sob/openmpi313/lib:$LD_LIBRARY_PATH,然后重新登录终端,之所以这样做会奏效是因为此时openmpi313的路径会先于其它路径出现在这俩环境变量里,会被优先利用。

有些系统如CentOS自带了名为orca的带有图形界面的屏幕阅读器程序,直接输入orca命令启动的是那个程序,和本文的orca毫无联系。应当用rpm -e orca命令将自带的那个orca卸载掉。

如果想用最强大的波函数分析程序Multiwfn(http://sobereva.com/multiwfn)对ORCA的计算结果进行波函数分析和观看轨道图形,运行orca_2mkl xxx -molden,就把ORCA计算时产生的xxx.gbw转化成了xxx.molden.input,此文件可以直接作为Multiwfn的输入文件。orca_2mkl是ORCA目录下自带的某种意义上类似于formchk的工具。

评分

参与人数 10eV +42 收起 理由
meatball1982 + 5 值的一学
yundove + 5 谢谢
wxhwbh + 2 赞!
wangyj + 5 谢谢
ZCSco + 5
huangxc82 + 4 精品内容
长颈鹿先森 + 5 精品内容
chiweijie + 5 赞!
zsu007 + 5 赞!
asdf + 1 精品内容

查看全部评分

北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

170

帖子

0

威望

2081

eV
积分
2251

Level 5 (御坂)

发表于 2018-12-21 09:04:47 | 显示全部楼层
请问老师,以前linux机器里装过旧版本的openmpi,结果导致新装的orca不能并行。请问可以把旧版本的openmpi卸载后再装新版openmpi吗?如何卸载?

80

帖子

0

威望

662

eV
积分
742

Level 4 (黑子)

发表于 2018-12-21 10:01:20 | 显示全部楼层
dingniu2 发表于 2018-12-21 09:04
请问老师,以前linux机器里装过旧版本的openmpi,结果导致新装的orca不能并行。请问可以把旧版本的openmpi ...

重新编译新版本的OpenMPI,修改PATH和LD_LIBRARY_PATH环境变量就可,老的版本可以不用管,实在嫌占磁盘空间,直接rm -r掉即可

11

帖子

0

威望

840

eV
积分
851

Level 4 (黑子)

发表于 2018-12-21 10:55:00 | 显示全部楼层
dingniu2 发表于 2018-12-21 09:04
请问老师,以前linux机器里装过旧版本的openmpi,结果导致新装的orca不能并行。请问可以把旧版本的openmpi ...

需要用老版本可以通过update-alternatives设置,不需要就可以删了直接装新的

4

帖子

0

威望

185

eV
积分
189

Level 3 能力者

发表于 2018-12-21 11:07:37 | 显示全部楼层
本帖最后由 yurainingak 于 2018-12-21 11:09 编辑
dingniu2 发表于 2018-12-21 09:04
请问老师,以前linux机器里装过旧版本的openmpi,结果导致新装的orca不能并行。请问可以把旧版本的openmpi ...

在Linux下多个不同版本的openmpi是可以同时存在的,只需要在运行对应的ORCA版本时调用对应版本的openmpi即可,如下所示:
**********************************************
#!/bin/bash
export PATH=/PARA/pp775/WY/openmpi/openmpi_2.02-gcc/bin:$PATH
export LD_LIBRARY_PATH=/PARA/pp775/WY/openmpi/openmpi_2.02-gcc/lib:/PARA/pp775/WY/work/soft/orca:$LD_LIBRARY_PATH
/PARA/pp775/WY/work/soft/orca/orca dft-opt.inp > out-dft
**********************************************
这样就不需要在.bashrc文件里面选择了

17

帖子

0

威望

464

eV
积分
481

Level 3 能力者

发表于 2018-12-21 11:56:05 | 显示全部楼层
发现ORCA 4.1@openmpi 3.1.3有点问题,跑了一个test job程序在scf开始时就卡住了(但并未终止).换成ORCA 4.1@openmpi 2.1.5就没有这个问题,不知是不是有筒子也遇到过这种状况.

122

帖子

0

威望

1763

eV
积分
1885

Level 5 (御坂)

发表于 2018-12-21 12:38:02 | 显示全部楼层
myzpku 发表于 2018-12-21 11:56
发现ORCA 4.1@openmpi 3.1.3有点问题,跑了一个test job程序在scf开始时就卡住了(但并未终止).换成ORCA 4. ...

见:https://orcaforum.kofo.mpg.de/viewtopic.php?f=8&t=4386

1

帖子

0

威望

191

eV
积分
192

Level 3 能力者

发表于 2019-1-30 08:48:28 | 显示全部楼层
老师,这个安装包在虚拟机下解压老报错呀,在官网上下载的没有?问题在哪呢?

1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

 楼主| 发表于 2019-1-31 01:27:43 | 显示全部楼层
shiqiyuan 发表于 2019-1-30 08:48
老师,这个安装包在虚拟机下解压老报错呀,在官网上下载的没有?问题在哪呢?

看不懂你的叙述,你的表述里存在两个根本不相干的元素
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

21

帖子

0

威望

231

eV
积分
252

Level 3 能力者

发表于 2019-3-9 21:12:38 | 显示全部楼层
yurainingak 发表于 2018-12-21 11:07
在Linux下多个不同版本的openmpi是可以同时存在的,只需要在运行对应的ORCA版本时调用对应版本的openmpi ...

请问你的这个dft-opt.inp > out-dft 是什么意思?

4

帖子

0

威望

185

eV
积分
189

Level 3 能力者

发表于 2019-3-10 18:41:36 | 显示全部楼层
江月照相似 发表于 2019-3-9 21:12
请问你的这个dft-opt.inp > out-dft 是什么意思?

dft-opt.inp是ORCA计算的输入文件;out-dft 是输出文件,可以自己命名的

1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

 楼主| 发表于 2019-3-11 03:52:50 | 显示全部楼层
shiqiyuan 发表于 2019-1-30 08:48
老师,这个安装包在虚拟机下解压老报错呀,在官网上下载的没有?问题在哪呢?

我的网盘上的文件包是绝对完整的
8成是你没下载完整,或者往虚拟机里拷的时候没拷完整
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

140

帖子

0

威望

393

eV
积分
533

Level 4 (黑子)

发表于 2019-3-24 22:56:14 | 显示全部楼层
本帖最后由 xaomidaxue 于 2019-3-24 23:42 编辑

多谢sober老师,请教一个问题 可以把前文的$PATH:/sob/openmpi313/bin改为/sob/openmpi313/bin:$PATH、把$LD_LIBRARY_PATH:/sob/openmpi313/lib改为/sob/openmpi313/lib:$LD_LIBRARY_PATH,然后重新登录终端,之所以这样做会奏效是因为此时openmpi313的路径会先于其它路径出现在这俩环境变量里,会被优先利用。
我里面装了intel mpi和openmpi的话,我如上述操作了后(~/.bashrc),后面我用到impi的程序会不会有影响?是不是我自己做个pbs,在pbs里面直接写上openmpi的路径不知道这样可以么?
谢谢!

1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

 楼主| 发表于 2019-3-25 00:24:55 | 显示全部楼层
xaomidaxue 发表于 2019-3-24 22:56
多谢sober老师,请教一个问题  可以把前文的$PATH:/sob/openmpi313/bin改为/sob/openmpi313/bin:$PATH、把$ ...

对于你当前的终端会有影响。pbs我不熟悉
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

140

帖子

0

威望

393

eV
积分
533

Level 4 (黑子)

发表于 2019-4-1 22:35:24 | 显示全部楼层
sober老师,我把你的输入inp文件中的! BLYP def2-SVP noautostart miniprint pal4中的4改成24就报错。
请问一下这个pal4是4核并行的意思么?我的24核电脑运行后出现如下报错:
  INPUT ERROR
            UNRECOGNIZED OR DUPLICATED KEYWORD(S) IN SIMPLE INPUT LINE
                         PAL24
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
[file orca_main/maininp4.cpp, line 9612]:

请问这是怎么回事,我改成4就可以了。谢谢!
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

手机版|北京科音自然科学研究中心|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949-1号 )

GMT+8, 2019-5-23 18:09 , Processed in 0.168265 second(s), 25 queries .

快速回复 返回顶部 返回列表