“第10届量子化学波函数分析与Multiwfn程序培训班将于5月4-8日于北京举办,这是一次性完整、系统学习波函数分析的各种理论知识和全面掌握强大的Multiwfn波函数分析程序使用的最不可错过的机会!请点击此链接查看详情和报名方式,欢迎参加!

“第18届北京科音分子动力学与GROMACS培训班” 将于5月23-26日于北京举办。这是一次性全面、系统学习分子动力学模拟知识和最流行的分子动力学程序GROMACS的关键机会!报名正在进行中,请点击此链接查看详情,欢迎参加!

计算化学公社

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

[Molcas] 让 openMolcas 输出真正的 Hessian 矩阵

[复制链接 Copy URL]

139

帖子

1

威望

4183

eV
积分
4342

Level 6 (一方通行)

跳转到指定楼层 Go to specific reply
楼主
# 1 - 背景

最近在用多参考方法,尝试了一众量化软件,先后放弃了 Gaussian、Molpro。听闻 Molcas 是业界多参考的标杆,尝试用开源版 openMolcas 做多参考。

由于下一步的工作需要精确 Hessian,在输入文件中加入了
  1. &MCKINLEY
  2. perturbation
  3. hessian
  4. showhessian
复制代码
它的确让程序打印出了许多的 3N*3N 矩阵,可是这些矩阵都与其它量化程序对不上。

openMolcas 做多参考很快,特别是相比 Molpro 惨不忍睹的并行效率。几天后,我又将目光转向了 openMolcas。



# 2 - 解决

经对比,发现其输出的频率、本征向量竟然跟 Gaussian 一模一样(精确到 0.1 厘米波数)。这令人心生激动!如果频率正确,那么 Hessian 矩阵一定也正确。怎么找到正确的 Hessian 矩阵呢?

翻看了 openMolcas 的源码,大致了解了 Hessian 的计算流程。的确如同手册所说,用了某种微扰方法,在微扰之后才有了正确的 Hessian 矩阵,可惜没有关键词可以输出它。

根据输出文件中的文本,定位到了正确的 Hessian 矩阵第一次出现在 src/mclr/output_mclr.f ~530 行,因此只要在调用 FreqAnal 之前输出 Hessian 矩阵即可。
  1. write(6,*) 'Real Hessian by wb'
  2. write(6,'(3E18.10)') Hess
复制代码



与您分享。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
sobereva + 5

查看全部评分 View all ratings

十八介姑娘一蕾花呀,白白介牙齿、红红介嘴唇,得人惜

370

帖子

7

威望

3555

eV
积分
4065

Level 6 (一方通行)

2#
发表于 Post on 2023-2-20 01:33:09 | 只看该作者 Only view this author
用vitables打开频率任务正常结束的输出文件***.slapaf.h5,里面有HESSIAN标签页,格式是https://gaussian.com/external/的FILE FORMATS最后一段所描述的那样。
也可以用python批量读取:
  1. import h5py
  2. import numpy as np
  3. h5=h5py.File('***.slapaf.h5','r')
  4. np.savetxt('hessian.txt',h5['HESSIAN'][:])
  5. h5.close()
复制代码

本版积分规则 Credits rule

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

GMT+8, 2026-4-15 15:32 , Processed in 0.160293 second(s), 21 queries , Gzip On.

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