计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1945|回复 Reply: 4
打印 Print 上一主题 Last thread 下一主题 Next thread

[MOPAC] MOPAC v22.1.0 编译安装教程

[复制链接 Copy URL]

69

帖子

7

威望

1910

eV
积分
2119

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 mizu-bai 于 2023-12-9 17:35 编辑

MOPAC v22.1.0 编译安装教程
mizu-bai
2023-11-16

1. 前言

MOPAC 是半经验领域里比较著名的一个软件。sob 老师以前写过安装教程,现在 MOPAC 官方说 2016 那些老版本已经不管了,要用就用开源的新版本。前段时间想装个玩玩,看了一下官方 GitHub 教程自己编译了一下,顺便写个教程。

2. 安装

MOPAC 现在以 LGPL 协议开源在 GitHub 上,地址 https://github.com/openmopac/mopac 。如果不想自己编译可以直接去 Release 里下载做好的安装包,跟着教程安装。如果想要从源码编译安装的话,可以从 Release 里下载对应版本打包好的源码,也可以 clone 下载整个仓库后 check out 到对应的版本。本文主要讲源码编译安装。

MOPAC 是用 cmake 构建的,所以无论用 GNU 编译器还是 Intel oneAPI 套件编译都得先装 cmake。首先得保证 cmake 可以找到对应的编译器和 BLAS 库,如果想图方法可以直接加载整套 Intel oneAPI 套件。把源码解包之后,进入并创建一个 build 文件夹,再进入 build 目录后,运行如下命令:

  1. $ FC=gfortran cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/path/to/mopac # 用 gfortran
复制代码

注意这里的 /path/to/MOPAC 改成自己想安装的位置。如果 cmake 没有问题的话,就可以敲下面的命令编译安装了:

  1. $ make -j 16
复制代码

这里的 16 视自己的机器修改,要小于等于物理核数。最后把环境变量设置一下,写到 shell profile 里。如果是用 Intel oneAPI 套件编译的,记得加载。

  1. export PATH=/path/to/mopac/bin:$PATH
复制代码

3. 算个东西看看

这里算了一下 sob 老师 PM7、PM6-DH+半经验方法在优化碱基对儿时的失败 一文中的例子,先用 GaussView 画了一下 GC Pair 的结构,然后用 Multiwfn 转成 MOPAC 输入文件,把前三行的关键词改成这样:

  1. PM6-D3H4 EF PRNT=2 CHARGE=0
  2. GC Pair
  3. All coordinates are Cartesian
复制代码

在命令行运行下面的命令,一下子就跑完了。

  1. $ mopac GC-Pair.mop
复制代码

然后用 sob 老师的 mopac2xyz 转成多帧 xyz 文件可视化,在 VMD 里可以看到优化出来是平面结果,大成功!

上面计算的文件都在附件里,可以自己打开看看。

GC-Pair.zip (83.32 KB, 下载次数 Times of downloads: 36)

评分 Rate

参与人数
Participants 6
威望 +1 eV +21 收起 理由
Reason
Medivan + 5 GJ!
妙角不脆 + 5 GJ!
LittlePupil + 3 GJ!
sobereva + 1
hebrewsnabla + 3 精品内容
anson + 5 谢谢分享

查看全部评分 View all ratings

1096

帖子

6

威望

6273

eV
积分
7489

Level 6 (一方通行)

2#
发表于 Post on 2023-12-11 17:36:04 | 只看该作者 Only view this author
Mopac居然也开源了

101

帖子

0

威望

1266

eV
积分
1367

Level 4 (黑子)

3#
发表于 Post on 2024-1-2 22:47:38 | 只看该作者 Only view this author
本帖最后由 不想飞的猫头鹰 于 2024-1-2 23:17 编辑

感谢楼主提供的方法,想问一下,自己编译的和预编译版有什么性能差别吗?我编译出来的lib库只有一个文件和软链接,下载的预编译版是有三个文件,两个版本按您提供的例子也成功运行了。另外,mopac生成的aux文件怎么转换成fch这样的文件方便做波函数分析呢?我用Multiwfn尝试转换失败,显示Error: This function works only when input file contains basis function information。第一次用mopac,十分感谢

69

帖子

7

威望

1910

eV
积分
2119

Level 5 (御坂)

4#
 楼主 Author| 发表于 Post on 2024-1-3 16:28:31 | 只看该作者 Only view this author
不想飞的猫头鹰 发表于 2024-1-2 22:47
感谢楼主提供的方法,想问一下,自己编译的和预编译版有什么性能差别吗?我编译出来的lib库只有一个文件和 ...

不同版本间性能差异没有专门关注过,不过 MOPAC 本来就算得很快,应该影响不大。至于波函数分析,MOPAC 里的半经验方法如 PMx 系列用的是 Slater 型基函数,Multiwfn 只支持 Gaussian 型的,况且半经验级别的波函数质量并不高,如果确实要用半经验才算得动的话,用 xTB 算再把 molden 文件喂给 Multiwfn 更好。

101

帖子

0

威望

1266

eV
积分
1367

Level 4 (黑子)

5#
发表于 Post on 2024-1-3 17:20:09 | 只看该作者 Only view this author
mizu-bai 发表于 2024-1-3 16:28
不同版本间性能差异没有专门关注过,不过 MOPAC 本来就算得很快,应该影响不大。至于波函数分析,MOPAC  ...

好的,谢啦

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2024-11-27 15:11 , Processed in 0.188807 second(s), 28 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list