计算化学公社

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

[GROMACS] 求助有关gromacs求扩散系数

[复制链接 Copy URL]

376

帖子

0

威望

2757

eV
积分
3133

Level 5 (御坂)

尊贵的地三鲜骑士

跳转到指定楼层 Go to specific reply
楼主
请问老师, GROMACS 内部求扩散系数是 通过纵坐标之差与横坐标之差的比来表示的吗?(除以6)
由衷的感谢每一位给与过我帮助的人

222

帖子

5

威望

2591

eV
积分
2913

Level 5 (御坂)

2#
发表于 Post on 2020-10-28 16:55:47 | 只看该作者 Only view this author
本帖最后由 liuyuje714 于 2020-10-28 17:06 编辑

就是用10%~90%这个时间区域内的数据做最小二乘拟合得到斜率a,然后根据体系扩散类型,比如三维自由扩散,就除以2*DIM=6,然后乘1000转换单位,下面给你一段awk代码做拟合直线
  1. #!/bin/bash

  2. DATA=$1
  3. awk -v data=$DATA '
  4.     BEGIN {
  5.         sumxy = 0; sumxx = 0; sumx = 0; sumy = 0; n = 0;
  6.         ss_t = 0; ss_r = 0;
  7.         while(getline<data) {
  8.             if($0!~/#|@/)
  9.             {
  10.                 sumxy += $1 * $2
  11.                 sumxx += $1 * $1
  12.                 sumx  += $1
  13.                 sumy  += $2
  14.                 n++
  15.             }
  16.         }
  17.         close(data)
  18.         k = (sumxy - n * (sumx/n) * (sumy/n))/(sumxx - n * (sumx/n)^2)
  19.         b = (sumy/n) - (k * (sumx/n))
  20.         printf("Evaluation of equation: y = (%.14f) * x + (%.14f)\n", k, b)
  21.     }
  22.    
  23.     {
  24.     ss_t += ($2 - sumy/n)^2
  25.     ss_r += ($2 - (k * $1 + b))^2
  26.     }
  27.    
  28.     END {
  29.         r2 = 1 - (ss_r / ss_t)
  30.         printf("\t\t\tR^2 = %.6f\n", r2)
  31.     }
  32. ' $DATA
复制代码


评分 Rate

参与人数
Participants 1
eV +4 收起 理由
Reason
一条君 + 4 好物!

查看全部评分 View all ratings

376

帖子

0

威望

2757

eV
积分
3133

Level 5 (御坂)

尊贵的地三鲜骑士

3#
 楼主 Author| 发表于 Post on 2020-10-28 21:51:31 | 只看该作者 Only view this author
liuyuje714 发表于 2020-10-28 16:55
就是用10%~90%这个时间区域内的数据做最小二乘拟合得到斜率a,然后根据体系扩散类型,比如三维自由扩散,就 ...

感谢您, 我看一下
由衷的感谢每一位给与过我帮助的人

376

帖子

0

威望

2757

eV
积分
3133

Level 5 (御坂)

尊贵的地三鲜骑士

4#
 楼主 Author| 发表于 Post on 2020-10-28 21:55:25 | 只看该作者 Only view this author
liuyuje714 发表于 2020-10-28 16:55
就是用10%~90%这个时间区域内的数据做最小二乘拟合得到斜率a,然后根据体系扩散类型,比如三维自由扩散,就 ...

您好,我想请教假如我想求扩散系数随着时间的变化情况,这个D 是否可以安装公式,先求某一点的斜率,然后除以6,这个点的斜率 我用相邻两个点的坐标求近似,请问这样是否是可行的?
由衷的感谢每一位给与过我帮助的人

222

帖子

5

威望

2591

eV
积分
2913

Level 5 (御坂)

5#
发表于 Post on 2020-10-28 22:25:23 | 只看该作者 Only view this author
本帖最后由 liuyuje714 于 2020-10-28 22:29 编辑
少年爱吃地三鲜 发表于 2020-10-28 21:55
您好,我想请教假如我想求扩散系数随着时间的变化情况,这个D 是否可以安装公式,先求某一点的斜率,然后 ...

这就涉及到一个拟合区域的选择,一般开头和结尾的数据都不应该选。即计算动扩散系数,就是Msd曲线对关联时间的导数dMSD(t)/6dt,即你所说斜率,一般选择成水平直线的部分。

376

帖子

0

威望

2757

eV
积分
3133

Level 5 (御坂)

尊贵的地三鲜骑士

6#
 楼主 Author| 发表于 Post on 2020-10-29 08:19:36 | 只看该作者 Only view this author
liuyuje714 发表于 2020-10-28 22:25
这就涉及到一个拟合区域的选择,一般开头和结尾的数据都不应该选。即计算动扩散系数,就是Msd曲线对关联 ...

我明白了!感谢您!
由衷的感谢每一位给与过我帮助的人

98

帖子

0

威望

759

eV
积分
857

Level 4 (黑子)

7#
发表于 Post on 2020-12-14 21:40:34 | 只看该作者 Only view this author
liuyuje714 发表于 2020-10-28 22:25
这就涉及到一个拟合区域的选择,一般开头和结尾的数据都不应该选。即计算动扩散系数,就是Msd曲线对关联 ...

你好,请问计算扩散系数选水平直线的部分的话,斜率不应该趋近于0了吗。。

6万

帖子

99

威望

6万

eV
积分
125148

管理员

公社社长

8#
发表于 Post on 2020-12-16 04:51:36 | 只看该作者 Only view this author
ocbrother 发表于 2020-12-14 21:40
你好,请问计算扩散系数选水平直线的部分的话,斜率不应该趋近于0了吗。。

不是水平直线,是直线
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

98

帖子

0

威望

759

eV
积分
857

Level 4 (黑子)

9#
发表于 Post on 2020-12-16 09:00:59 | 只看该作者 Only view this author
sobereva 发表于 2020-12-16 04:51
不是水平直线,是直线

请问sob老师,MSD-t图上有很多斜率不同的直线段时,该取哪一段作为扩散系数呢?

222

帖子

5

威望

2591

eV
积分
2913

Level 5 (御坂)

10#
发表于 Post on 2020-12-16 09:08:14 | 只看该作者 Only view this author
本帖最后由 liuyuje714 于 2020-12-16 09:10 编辑
ocbrother 发表于 2020-12-16 09:00
请问sob老师,MSD-t图上有很多斜率不同的直线段时,该取哪一段作为扩散系数呢?

我说的是msd/6t的水平直线,我也没说是0啊,你自己想啊,msd如果是成线性那他的斜率msd/t必然是水平直线啊,扩散系数就是斜率/6。我没用过MS,所以不知道具体情况。

98

帖子

0

威望

759

eV
积分
857

Level 4 (黑子)

11#
发表于 Post on 2020-12-16 09:29:02 | 只看该作者 Only view this author
liuyuje714 发表于 2020-12-16 09:08
我说的是msd/6t的水平直线,我也没说是0啊,你自己想啊,msd如果是成线性那他的斜率msd/t必然是水平直线 ...

对不起 是我误会你的意思了。不好意思

6万

帖子

99

威望

6万

eV
积分
125148

管理员

公社社长

12#
发表于 Post on 2020-12-17 09:40:28 | 只看该作者 Only view this author
ocbrother 发表于 2020-12-16 09:00
请问sob老师,MSD-t图上有很多斜率不同的直线段时,该取哪一段作为扩散系数呢?

没具体图不好说。一般取相对靠中间的,最长的一段
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办极高质量的各种计算化学类培训:初级量子化学培训班中级量子化学培训班高级量子化学培训班量子化学波函数分析与Multiwfn程序培训班分子动力学与GROMACS培训班CP2K第一性原理计算培训班,内容介绍以及往届资料购买请点击相应链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的高速路!培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入北京科音微信公众号获取北京科音培训的最新消息,并避免错过网上有价值的计算化学文章!
欢迎加入人气极高、专业性特别强的理论与计算化学综合交流群思想家公社QQ群(群号见此链接),合计达一万多人。北京科音培训班的学员在群中可申请VIP头衔,提问将得到群主Sobereva的最优先解答。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(十分强大、极为流行的量子化学波函数分析程序)
Google Scholar:https://scholar.google.com/citations?user=tiKE0qkAAAAJ
ResearchGate:https://www.researchgate.net/profile/Tian_Lu

98

帖子

0

威望

759

eV
积分
857

Level 4 (黑子)

13#
发表于 Post on 2020-12-17 10:56:13 | 只看该作者 Only view this author
sobereva 发表于 2020-12-17 09:40
没具体图不好说。一般取相对靠中间的,最长的一段

好的 谢谢老师

本版积分规则 Credits rule

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

GMT+8, 2026-2-22 19:43 , Processed in 0.298030 second(s), 21 queries , Gzip On.

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