AMBER学习记录--使用Multiwfn计算有机小分子的RESP电荷--问题及解决

1 ORCA+Multiwfn在wsl中的安装

        ORCA的安装参考量子化学程序ORCA的安装方法 - 思想家公社的门口:量子化学·分子模拟·二次元 (sobereva.com)

        Multiwfn的安装 参考保姆级安装Linux版Multiwfn教程_multiwfn安装过程-CSDN博客

2 计算C3G的RESP电荷

2.1从pubchem上下载C3G的结构

        puchem ID号为197081,下载格式为sdf,此时我们使用openbabel工具将其转换为pdb格式.

 sudo obabel -isdf C3G.sdf -O C3G.pdb

2.2运行脚本,计算RESP电荷

        从Multiwfn安装目录下的example/RESP下复制脚本到当前目录,比如RESP2_ORCA.sh,该脚本包括几何优化步骤。接下来,修改脚本中的nprocs和maxcore参数,同时设置ORCA和orca_2mkl两个参数的路径。比如:

nprocs=10
maxcore=2000

ORCA="/home/xxx/software/orca_6_0_0_shared_openmpi416_avx2/orca"
orca_2mkl="/home/xxx/software/orca_6_0_0_shared_openmpi416_avx2/orca_2mkl"

3 报错及解决

3.1报错及描述

        已按照sob老师的安装步骤下载了orca和openmpi,同时配置了环境。但还是显示mpirun not found,而且输入mpiexec -V,也会显示正确的openmpi版本,输入which mpirun也会显示正确的路径。单核版本可以运行,而多核不能运行。

3.2解决

        找不到mpirun,但环境里已经配置了变量。于是,我将该环境写在了RESP2_ORCA.sh脚本中,重启wsl之后,便可以进行多核操作了。

        而且我还发现如果使用当前用户,而不是用root用户时,也会报错,报错内容是权限受阻。于是我加上了sudo,但加上了sudo以后,又有新的错误。

        我按照提示,在脚本中加入了两行便可以运行了

export OMPI_ALLOW_RUN_AS_ROOT=1
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1

        但是运行到最后发现如下报错:

        查看该博客forrtl: severe(174):SIGSEGV,segmentation fault occurred 问题解决 (ulimit -s 设置堆栈最大值)_forrtl: severe (174): sigsegv, segmentation fault -CSDN博客

        发现,这是由于运行程序较大,而Linux系统初始的堆栈大小(stack size)太小的缘故。我们只要将其调大,一般把stack size设置成没有限制,这样就没有错误了! 

        这里我使用的是临时的方法,即在脚本中加入一行代码即可:

ulimit -s unlimited

        结果如图:有两个文件,格式为chg的是RESP电荷。但是没有最终的结果,也就是C3G.chg文件。

        查看输出,最后有报错信息,bad sustitution,

        

        首先,bad substitution的字面意思是“替换错误”。查看博客得到,从 ubuntu 6.10 开始,ubuntu 就将先前默认的bash shell 更换成了dash shell;其表现为 /bin/sh 链接到了/bin/dash而不是传统的/bin/bash。

        参考该文将/bin/sh 指向bash。syntax error: bad substitution是什么问题-CSDN博客

        最后发现,运行成功了,得到了C3G的RESP电荷。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值