计算化学公社

标题: 使用自洽量子力学/内嵌电荷模拟固相计算极化能错误求助 [打印本页]

作者
Author:
lijiaqi    时间: 2023-10-12 16:14
标题: 使用自洽量子力学/内嵌电荷模拟固相计算极化能错误求助
本帖最后由 lijiaqi 于 2023-10-12 16:16 编辑

(, 下载次数 Times of downloads: 21) 1.图片为计算流程图,自洽量子力学/内嵌电荷模拟固相计算极化能,我根据“[size=1.4em]基于背景电荷计算分子在晶体环境中的吸收光谱”计算晶体的中心分子的IP,EA,发现和单分子气相结构计算的IP和EA很相近,我依次扩大晶体结构,依次选择中心分子计算,极化作用仍然很小,对IP和EA变化不大,是因为使用背景电荷的原因,而不是原子电荷嘛?
2. 如果使用原子电荷,先计算出每个分子原子电荷,然后添加到中心分子和环境分子的原子后面,然后计算是把整体分子做单点嘛,这里怎么区分中心和环境分子?
3. 以上表述有误,请大家提供正确的理解和对于计算过程的描述,谢谢指导。

作者
Author:
wzkchem5    时间: 2023-10-12 17:48
本来就不是所有体系的气相IP/EA都和固相差很多。你确定你的体系实验上确实差得很多吗
作者
Author:
lijiaqi    时间: 2023-10-13 08:56
wzkchem5 发表于 2023-10-12 17:48
本来就不是所有体系的气相IP/EA都和固相差很多。你确定你的体系实验上确实差得很多吗

你好,谢谢回复。我计算的分子,是气相和固相ip 和EA相差明显,极化明显起作用的。我通过迭代计算,我的没起作用,可能我计算迭代有问题,想请教这些过程
作者
Author:
wzkchem5    时间: 2023-10-13 14:03
lijiaqi 发表于 2023-10-13 01:56
你好,谢谢回复。我计算的分子,是气相和固相ip 和EA相差明显,极化明显起作用的。我通过迭代计算,我的 ...

你是不是QM区只放了一个分子
作者
Author:
lijiaqi    时间: 2023-10-13 17:39
wzkchem5 发表于 2023-10-13 14:03
你是不是QM区只放了一个分子

你好,1. 我以一个分子为QM,其他分子用背景电荷表示,做单点能计算;2. 然后选择相邻的另一个分子作为QM,添加背景电荷,做单点能计算;3. 两步单点能做差值,判断是否收敛。谢谢
作者
Author:
wzkchem5    时间: 2023-10-13 20:14
本帖最后由 wzkchem5 于 2023-10-13 13:18 编辑
lijiaqi 发表于 2023-10-13 10:39
你好,1. 我以一个分子为QM,其他分子用背景电荷表示,做单点能计算;2. 然后选择相邻的另一个分子作为QM ...

应该是不断增大QM区直至IP、EA收敛,而不是每次QM区都选一个分子直至单点能收敛,后者得到的结果什么都不是。
背景电荷只能描述固体环境对待研究分子的极化,但不能描述待研究分子对固体的极化(因为背景电荷是不可被极化的),而对于IP、EA计算,后者很可能比前者还要重要。要描述后者,要么用极化力场代替背景电荷,要么把QM区选得比较大,至少让和待研究分子直接相邻的所有分子都进入QM区
作者
Author:
lijiaqi    时间: 2023-10-14 14:39
wzkchem5 发表于 2023-10-13 20:14
应该是不断增大QM区直至IP、EA收敛,而不是每次QM区都选一个分子直至单点能收敛,后者得到的结果什么都不 ...

你好,谢谢回复,你的解释确实和我计算的过程不一致,这个是文献解释,和你的分析一样嘛?

作者
Author:
wzkchem5    时间: 2023-10-14 16:21
lijiaqi 发表于 2023-10-14 07:39
你好,谢谢回复,你的解释确实和我计算的过程不一致,这个是文献解释,和你的分析一样嘛?

明白了,这种做法可以考虑一部分极化,但是不如把QM区选大一些准。
你算IP、EA涉及到阳离子、阴离子计算的时候,是重新把电荷迭代到收敛的对吧,没有直接用中性分子条件下迭代出来的电荷吧?
作者
Author:
lijiaqi    时间: 2023-10-16 08:55
wzkchem5 发表于 2023-10-14 16:21
明白了,这种做法可以考虑一部分极化,但是不如把QM区选大一些准。
你算IP、EA涉及到阳离子、阴离子计算 ...

你好,1. 我用的背景电荷,算的的每个分子的,对于阴阳离子计算,怎么去修改背景电荷呢?
2. 重新把电荷迭代到收敛的,老师这个问题是对于原子电荷嘛?我该怎么去操作。谢谢
作者
Author:
wzkchem5    时间: 2023-10-16 16:01
lijiaqi 发表于 2023-10-16 01:55
你好,1. 我用的背景电荷,算的的每个分子的,对于阴阳离子计算,怎么去修改背景电荷呢?
2. 重新把电荷 ...

1. 因为整个体系只电离掉一个电子或增加一个电子,所以周围其他分子都是中性的,计算电荷的时候按中性分子计算
2. 我说的迭代就是你三楼说“可能我计算迭代有问题”的迭代
作者
Author:
lijiaqi    时间: 2023-10-16 20:16
wzkchem5 发表于 2023-10-16 16:01
1. 因为整个体系只电离掉一个电子或增加一个电子,所以周围其他分子都是中性的,计算电荷的时候按中性分 ...

老师,我是按照这个“1. 以一个分子为QM,其他分子用背景电荷表示,做单点能计算;2. 然后选择相邻的另一个分子作为QM,添加背景电荷,做单点能计算;3. 两步单点能做差值,判断是否收敛”计算,但是极化对计算的IP和EA没起作用,所以我想问的是,我的迭代计算问题出现在哪里?按文献介绍,我的问题在哪里?谢谢老师
作者
Author:
wzkchem5    时间: 2023-10-16 23:30
lijiaqi 发表于 2023-10-16 13:16
老师,我是按照这个“1. 以一个分子为QM,其他分子用背景电荷表示,做单点能计算;2. 然后选择相邻的另一 ...

算IP、EA不仅需要算中性分子,还需要算阳离子和阴离子。计算阳离子和阴离子的时候需要把1里面“以一个分子为QM”的分子替换为阳离子或阴离子,但2里的“相邻的另一个分子”仍取中性分子,而且这里因为相邻的各个分子是不等价的,所以不能只挑一个相邻的分子,而是所有相邻的分子都要挑一遍。最后收敛的判据是那个阳离子/阴离子的单点能减去上一轮迭代的阳离子/阴离子的单点能,而非2的单点能减去1的单点能
作者
Author:
lijiaqi    时间: 2023-10-17 14:17
wzkchem5 发表于 2023-10-16 23:30
算IP、EA不仅需要算中性分子,还需要算阳离子和阴离子。计算阳离子和阴离子的时候需要把1里面“以一个分 ...

你好,我想再问下,1.分子替换为阳离子,我改变的的电荷和自旋多重度,是这样嘛?
2. 最后收敛的判据是那个阳离子/阴离子的单点能减去上一轮迭代的阳离子/阴离子的单点能,这个就是选择中心分子不一样,进行迭代?谢谢
作者
Author:
wzkchem5    时间: 2023-10-17 16:15
lijiaqi 发表于 2023-10-17 07:17
你好,我想再问下,1.分子替换为阳离子,我改变的的电荷和自旋多重度,是这样嘛?
2. 最后收敛的判据是 ...

1. 对
2. 每个分子都选了一遍叫做迭代一轮。第N次选到中间那个阳离子/阴离子和第N+1次选到同一个阳离子/阴离子的时候的单点能一样,视为收敛
作者
Author:
lijiaqi    时间: 2023-10-18 09:15
wzkchem5 发表于 2023-10-17 16:15
1. 对
2. 每个分子都选了一遍叫做迭代一轮。第N次选到中间那个阳离子/阴离子和第N+1次选到同一个阳离子/ ...

了解了,非常感谢。我试试,这种迭代一般需要编辑程序吧,手动计算工作量还是蛮大的
作者
Author:
让你变成回忆    时间: 2023-10-18 09:26
本帖最后由 让你变成回忆 于 2023-10-18 09:30 编辑

具体的流程是:(1)先算单分子的原子电荷,然后赋给cluster中所有的分子;(2)对中心分子进行QM计算,其余分子用背景电荷(坐标+charge),这里会获得中心分子的新的电荷,需要保存下来;(3)依次对cluster中的所有分子重复(2)的计算,即依次把cluster中的每个分子都当做QM、其余部分当做电荷,这里也需要依次更新环境中所有分子的原子电荷(这样认为是迭代完一轮); (4)重复(2)、(3),需要注意的是,此时需要用更新的原子电荷,直至中心QM分子的能量收敛。   

如果你要计算的是IP/EA,就对中心QM分子分别进行charge=0、1、-1的计算,环境分子永远都是charge=0;
如果你要计算的是激发态的极化能,就把中心QM分子计算级别设为TDDFT,环境分子永远都是DFT;

作者
Author:
wzkchem5    时间: 2023-10-18 15:40
lijiaqi 发表于 2023-10-18 02:15
了解了,非常感谢。我试试,这种迭代一般需要编辑程序吧,手动计算工作量还是蛮大的

需要写脚本,或者用其他人已经写好的脚本。
不过说实话,最方便的方法还是把QM区选大一些,把和中心分子直接相邻的分子都选进去。既节省人力,也未必多费机时。如果这样算不动,就用QM/QM2/MM,和中心分子直接相邻的分子用低精度的QM方法描述
作者
Author:
lijiaqi    时间: 2023-10-19 09:15
让你变成回忆 发表于 2023-10-18 09:26
具体的流程是:(1)先算单分子的原子电荷,然后赋给cluster中所有的分子;(2)对中心分子进行QM计算,其 ...

谢谢,学习到了。关于以上过程,我还有几个问题请教一下。1.对于原子电荷计算,是算单分子的电荷,然后赋给所有分子片段吗?2.这里的背景电荷和过程1的原子电荷应该是一样的吧,只是只取环境分子的电荷为背景电荷,中心分子取坐标?3.关于过程2中心分子的新的电荷计算,这里是不是加入高斯关键词,计算原子电荷,和过程1是一样的。4. 中心QM分子能量收敛,是迭代一轮和迭代另一轮计算差值吧?手动进行计算工作量还是很大。以上是我的理解和相关问题,多谢指导。
作者
Author:
lijiaqi    时间: 2023-10-19 09:19
wzkchem5 发表于 2023-10-18 15:40
需要写脚本,或者用其他人已经写好的脚本。
不过说实话,最方便的方法还是把QM区选大一些,把和中心分子 ...

谢谢,对于脚本,确实还需要编程了。
把QM区域扩大进行计算也是一种不错的方法,我试一试,这里我想计算的中心分子,那我怎么取中心分子的能量呢?这个QM扩大区域是一个整体,能量应该也是整体的吧。
QM/QM2/MM方法,这个应该是直接可以得到中心分子的能量,我试试,和迭代的计算结果可以对比来。多谢指导
作者
Author:
让你变成回忆    时间: 2023-10-19 09:37
lijiaqi 发表于 2023-10-19 09:15
谢谢,学习到了。关于以上过程,我还有几个问题请教一下。1.对于原子电荷计算,是算单分子的电荷,然后赋 ...

1. 你一上来计算的电荷是气相的,然后赋给所有分子;
2. 环境分子为背景电荷,中心分子只有坐标; 但是此时需要额外计算一下电荷,并作为中心分子的新电荷(后续所有迭代都是用这个新电荷);
3. 对,计算原子电荷即可,由于背景电荷在时刻发生变化,所以计算出来的原子电荷也不同,需要实时更新每个分子的原子电荷;
4. 对
是的,手动实现不太容易,写程序实现。
作者
Author:
wzkchem5    时间: 2023-10-19 14:33
lijiaqi 发表于 2023-10-19 02:19
谢谢,对于脚本,确实还需要编程了。
把QM区域扩大进行计算也是一种不错的方法,我试一试,这里我想计算 ...

不用单取中心分子的能量。因为你关心的是中性分子和离子的能量差,所以中性分子和离子的能量都取总体系的能量就行了,多余的分子的能量自然会在减的时候抵消掉
作者
Author:
lijiaqi    时间: 2023-10-20 16:20
让你变成回忆 发表于 2023-10-19 09:37
1. 你一上来计算的电荷是气相的,然后赋给所有分子;
2. 环境分子为背景电荷,中心分子只有坐标; 但是 ...

你好,谢谢指导,我想再请教一下,对于IP/EA计算,对中心QM分子分别进行charge=0、1、-1的计算,其中对于1和-1的中心分子再进行电荷计算,迭代到收敛嘛?还有一个问题是,迭代计算模拟固相与分子大小选择相关,可能我选择分子太小,模拟的是不是也是不准确的,和气相大小接近。谢谢
作者
Author:
让你变成回忆    时间: 2023-10-20 16:56
lijiaqi 发表于 2023-10-20 16:20
你好,谢谢指导,我想再请教一下,对于IP/EA计算,对中心QM分子分别进行charge=0、1、-1的计算,其中对于 ...

不管中心QM是什么,都需要迭代到收敛;
从我的经验来看,分子小了类似于相同的cutoff内分子数目多,这样会增加迭代次数;
极化能大不大主要是看你分子本身的性质,假如分子的CT性质(正负电荷中心明显分离)明显,肯定极化能就会很大。
作者
Author:
lijiaqi    时间: 2023-10-23 11:32
让你变成回忆 发表于 2023-10-20 16:56
不管中心QM是什么,都需要迭代到收敛;
从我的经验来看,分子小了类似于相同的cutoff内分子数目多,这样 ...

好的,谢谢指导,我再理解理解
作者
Author:
lijiaqi    时间: 2023-11-1 09:30
让你变成回忆 发表于 2023-10-18 09:26
具体的流程是:(1)先算单分子的原子电荷,然后赋给cluster中所有的分子;(2)对中心分子进行QM计算,其 ...

你好,打扰你了,经过学习,我还有问题需要请教一下,对于(3)依次对cluster中的所有分子重复(2)的计算,即依次把cluster中的每个分子都当做QM,这里取环境分子有要求吗?需要邻近中心分子,依次取周围邻近的嘛?还是只要所有周围分子都当一次中心分子即可?   如果需要邻近的一个一个取,这个怎么去排序,知道每个分子对应的坐标呢?我用sob老师推荐的splitwhole的程序,可以把分子划分成单个片段,但是顺序应该不是中心紧邻分子。 谢谢
作者
Author:
让你变成回忆    时间: 2023-11-1 14:49
lijiaqi 发表于 2023-11-1 09:30
你好,打扰你了,经过学习,我还有问题需要请教一下,对于(3)依次对cluster中的所有分子重复(2)的计 ...

把所有环境分子都当做QM(此时其余分子就变成了环境)依次去更新环境分子的电荷。
作者
Author:
lijiaqi    时间: 2023-11-1 16:25
让你变成回忆 发表于 2023-11-1 14:49
把所有环境分子都当做QM(此时其余分子就变成了环境)依次去更新环境分子的电荷。

好的,也就是取环境分子为中心的时候,并没有顺序之分吧,只要都作为一次中心分子即可吧,这是我的理解,谢谢。另外,对于IP和EA计算,是否需要中心分子电荷为1或-1,然后又进行环境分子原子电荷更新呢,这样我分析的数据有点离谱呢?还是只需要中心分子电荷为0,计算的迭代收敛,然后只修改电荷,再计算一下呢?多谢指导
作者
Author:
让你变成回忆    时间: 2023-11-1 21:56
lijiaqi 发表于 2023-11-1 16:25
好的,也就是取环境分子为中心的时候,并没有顺序之分吧,只要都作为一次中心分子即可吧,这是我的理解, ...

没有顺序之分,只要能够遍历所有分子即可;
需要在中心分子电荷为1/-1时更新环境分子电荷;

所以整体来讲,这个迭代过程其实蛮贵的。
作者
Author:
lijiaqi    时间: 2023-11-2 10:51
让你变成回忆 发表于 2023-11-1 21:56
没有顺序之分,只要能够遍历所有分子即可;
需要在中心分子电荷为1/-1时更新环境分子电荷;

好的 学习到了,我再看看我的问题出在哪里,谢谢指导




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3