当前位置: 首页 > news >正文

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=2000ORCA="/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电荷。

        

相关文章:

  • 从Midjourney到秒画:探索国产AI绘图的崛起与未来
  • Python Web WebAssembly 与 Python 的协同工作
  • GO语言中make与new的区别
  • 数据库软题1-数据模型+数据库三级模式两级映像
  • 信息安全管理工程师(工信部教育与考试中心)
  • HTTP 与 HTTPS 的三次握手与四次挥手详解
  • android.bp cc_defaults
  • react中的ref三种形式
  • 单细胞miloR分析(基于 KNN 图的细胞差异丰度分析方法)
  • 初始C++模板
  • Solidity智能合约中的异常处理(error、require 和 assert)
  • 【CAM350】使用总结 <一>{ 光绘Gerber 对齐 }
  • 【JavaScript】尾递归优化
  • BaoStock 的安装
  • 内网攻击思路流程与信息收集
  • __proto__ 和 prototype的关系
  • 【mysql】环境安装、服务启动、密码设置
  • 07.Android之多媒体问题
  • classpath对获取配置文件的影响
  • JavaScript函数式编程(一)
  • web标准化(下)
  • 创建一个Struts2项目maven 方式
  • 精彩代码 vue.js
  • 力扣(LeetCode)965
  • 聊聊directory traversal attack
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 小试R空间处理新库sf
  • 在Unity中实现一个简单的消息管理器
  • 大数据全解:定义、价值及挑战
  • 昨天1024程序员节,我故意写了个死循环~
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • #Linux(权限管理)
  • ${ }的特别功能
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (1)虚拟机的安装与使用,linux系统安装
  • (13):Silverlight 2 数据与通信之WebRequest
  • (42)STM32——LCD显示屏实验笔记
  • (C++17) std算法之执行策略 execution
  • (c语言)strcpy函数用法
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)spring boot智能服药提醒app 毕业设计 102151
  • (简单) HDU 2612 Find a way,BFS。
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (一)插入排序
  • (转)甲方乙方——赵民谈找工作
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .NET C# 使用GDAL读取FileGDB要素类
  • .NET Core 2.1路线图
  • .Net mvc总结
  • .net安装_还在用第三方安装.NET?Win10自带.NET3.5安装
  • .net和php怎么连接,php和apache之间如何连接
  • /bin/rm: 参数列表过长"的解决办法