计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1557|回复 Reply: 7

[Multiwfn资源与经验] Multiwfn 3.8 (dev) on macOS

[复制链接 Copy URL]

18

帖子

2

威望

570

eV
积分
628

Level 4 (黑子)

发表于 Post on 2022-5-4 22:41:42 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 mizu-bai 于 2022-5-22 02:37 编辑

Multiwfn 3.8(dev) on macOS

因为做毕业设计,接触了计算化学有半年了。笔者所做的课题主要使用 Gaussian 和 Multiwfn 这两个计算软件,而笔者的电脑又是 MacBook Pro,OS Version: macOS Catalina 10.15.7,引用 johnshall 帖子中的一句话。

当然 Mac 用户是永远得不到关爱的。

Gaussian 还好说,毕竟有 macOS 的 release,而 Multiwfn 最新的 3.8 版本却只支持 Windows 与 Linux。没有 macOS 版本并不意外,加上 macOS 跨大版本更新的软件兼容性实在是差,就算有了能否坚挺几个大版本还能运行都是问题,事实上 Multiwfn 3.7 就没能成功跑起来,这糟糕的向后兼容性笔者作为顺便的 iOS 开发深有体会。

好在有 Docker 这一工具,可以使用容器将应用及其依赖环境打包起来,比虚拟机更轻量,启动也更快,关于 Docker 的详细资料也可以 Google 一下。笔者便使用 Docker 为 Linux 版的 Multiwfn 提供了一个运行环境,项目的地址 https://github.com/mizu-bai/multiwfn-in-docker。需要注意的是,容器内并未包含 Multiwfn 的可执行文件,原因如下:

1. Multiwfn 的版权属于 sob 老师,将其打包进 Docker 容器担心会存在版权问题;
2. Multiwfn 的可执行文件大小也有百兆有余,若打包进容器,则下载速度是一个问题,尤其是网络环境差的情况下拉取镜像非常令人恼火;
3. Multiwfn 后续也会更新版本,而为每一个版本打包则过于繁琐,而提供一个运行环境更为简便。

所以需要先下载 Linux 版本的 Multiwfn,noGUI 版本与 GUI 版本按需选择,打包的镜像对二者皆有支持,使用时会将 Multiwfn 的可执行文件以读写方式挂载到容器内部,并将终端中当前目录也一并挂载。下面分别对 noGUI 版本与 GUI 版本的使用方法进行阐述。

1. noGUI 版本

noGUI 版本的使用方法较为简单,在确保安装好了 Docker 的前提下,可以先拉取镜像:

  1. $ docker pull mizubai/multiwfn:nogui
复制代码

或直接运行如下命令,即在启动 Multiwfn 时也映射了当前目录进入容器内,让目录内的文件可以被 Multiwfn 识别到。若运行时使用了本地不存在的镜像,则会自动拉取。

  1. $ docker run -it --rm -v "$(pwd)":/source -v /path/to/Multiwfn_noGUI:/opt/Multiwfn_bin mizubai/multiwfn:nogui sh -c 'ulimit -s unlimited && Multiwfn'
复制代码

第 1 个 -v 表示把本机的 $(pwd),即当前目录,映射到容器内的 /source 目录下,第 2 个 -v 表示把本机中 Multiwfn 的目录映射到容器内的 /opt/Multiwfn_bin 目录下,这里要把 /path/to/Multiwfn_noGUI 改成自己下载的 Multiwfn 的位置。启动后会看到熟悉的 Multiwfn 环境,输入当前目录下的文件名,即可被 Multiwfn 读取,正常使用。

2. GUI 版本

以上的 noGUI 版本是没办法运行诸如查看轨道等需要图形界面的功能,对于 GUI 版本则需要安装 XQuartz,这是 macOS 上的 X11,可以让 Docker 容器中的 App 与 X11 通信,显示出图形界面。安装完成后,先要运行如下命令,以让 X11 能允许本机的连接。

  1. $ xhost + localhost
复制代码

之后也可以先拉取镜像:
  1. $ docker pull mizubai/multiwfn:gui
复制代码

或直接运行如下命令:

  1. $ docker run -it --rm -v "$(pwd)":/source -v /path/to/Multiwfn:/opt/Multiwfn_bin -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=host.docker.internal:0 multiwfn:gui sh -c 'ulimit -s unlimited && Multiwfn'
复制代码

第 2 个 -v 改成本机中 Multiwfn 的地址,其余两个 -v 不需要改动,其中最后一个 -v 与 -e 使得 Multiwfn 能连接到 X11。运行命令后,按下回车,即会出现如下界面(截图中的文件只是示例,并非真正有意义的计算):

Screen Shot 2022-05-04 at 22.14.49.png

选择文件后点击 OK,即可加载数据,其余用法与直接运行 Multiwfn 没什么两样,就不再多言了。

为了方便使用的话,可以直接在 .bash_profile 或 .zshrc 中添加 alias,可以先 echo $0 查看自己所用的 shell,macOS 在 Catalina 后使用 zsh 作为默认 shell,之前是 bash。例如笔者就在 .zshrc 中添加了如下的 alias,直接在敲 Multiwfn 命令就能使用支持 GUI 的 Multiwfn 了。

  1. alias Multiwfn='docker run -it --rm -v "$(pwd)":/source -v /path/to/Multiwfn:/opt/Multiwfn_bin -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=host.docker.internal:0 multiwfn:gui sh -c "ulimit -s unlimited && Multiwfn"'
复制代码

最后感谢 sob 老师开发的 Multiwfn,以及 sob 老师的文章与计算化学公社中的贴子,真的给毕业设计带来了很大的帮助,让我能够独立完成一部分工作,与师兄师姐以及导师交流时也能言之有物了。最开始封装这个工具只是为了个人使用便利,后来想想还是写成文章,希望能让使用 Mac 的用户更方便使用 Multiwfn,以及 3.8 版本如果真的不出 macOS 版,也有个折中的办法。对于 Gaussian 和 GaussView 其实也使用了类似的方案封装,等过几天组会工作汇报完成后,有空再整理成文章吧。


评分 Rate

参与人数
Participants 8
威望 +1 eV +28 收起 理由
Reason
社会主义小战士 + 4 精品内容
wuy069 + 5 GJ!
鬼隐 + 1 仰慕您
biogon + 5
sobereva + 1
hebrewsnabla + 3 GJ!
妙角不脆 + 5 赞!
丁越 + 5 赞!

查看全部评分 View all ratings

4万

帖子

99

威望

4万

eV
积分
89888

管理员

公社社长+计算化学玩家

发表于 Post on 2022-5-5 07:27:52 | 显示全部楼层 Show all
Multiwfn 3.8目前没有发布过,我把此帖标题改成了3.8(dev),避免其他人困惑
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

18

帖子

2

威望

570

eV
积分
628

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2022-5-5 10:02:49 | 显示全部楼层 Show all
sobereva 发表于 2022-5-5 07:27
Multiwfn 3.8目前没有发布过,我把此帖标题改成了3.8(dev),避免其他人困惑

明白了,谢谢 sob 老师。

20

帖子

0

威望

1046

eV
积分
1066

Level 4 (黑子)

发表于 Post on 2022-5-5 12:33:05 | 显示全部楼层 Show all
您的笔电应该是x86平台的芯片,那么对于最新的arm芯片适配如何?我听闻docker for m1 有qemu x86,但是似乎模拟的指令集并不多,跑瓜斯 for linux 跑不起,不知摸她芬能否跑起呢?

162

帖子

0

威望

589

eV
积分
751

Level 4 (黑子)

发表于 Post on 2022-5-5 14:03:33 | 显示全部楼层 Show all
试了下Mac(M1的MacMini)下用cossover也可以跑起Multiwfn 3.8 dev
就是显示不怎么正常
截屏2022-05-05 下午2.02.41.png

18

帖子

2

威望

570

eV
积分
628

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2022-5-5 16:28:11 | 显示全部楼层 Show all
关于 M1 chip 的 Mac,由于我周围也借不到机器,也暂不考虑购买,以及没太多时间,等忙完毕设尽量找人借了测试吧,顺便把 Gaussian 也测一测。

7

帖子

0

威望

129

eV
积分
136

Level 2 能力者

发表于 Post on 2022-7-6 13:51:02 | 显示全部楼层 Show all
本帖最后由 tmdzd 于 2022-7-6 16:12 编辑

请问can't open X window display ()要怎么解决啊谢谢!

18

帖子

2

威望

570

eV
积分
628

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2022-7-7 16:44:27 | 显示全部楼层 Show all
tmdzd 发表于 2022-7-6 13:51
请问can't open X window display ()要怎么解决啊谢谢!

先确认是否已经安装好了 XQuartz,如果安装好了,打开 XQuartz 的 Preference 设置,选择 Security,勾选第二个 Allow Connections from network clients。然后再试试看有没有报错信息。

本版积分规则 Credits rule

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

GMT+8, 2023-2-2 22:35 , Processed in 0.423084 second(s), 26 queries .

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